.. | .. |
---|
290 | 290 | #endif |
---|
291 | 291 | }; |
---|
292 | 292 | |
---|
| 293 | +struct usba_ep_config { |
---|
| 294 | + u8 nr_banks; |
---|
| 295 | + unsigned int can_dma:1; |
---|
| 296 | + unsigned int can_isoc:1; |
---|
| 297 | +}; |
---|
| 298 | + |
---|
293 | 299 | struct usba_request { |
---|
294 | 300 | struct usb_request req; |
---|
295 | 301 | struct list_head queue; |
---|
.. | .. |
---|
305 | 311 | struct usba_udc_errata { |
---|
306 | 312 | void (*toggle_bias)(struct usba_udc *udc, int is_on); |
---|
307 | 313 | void (*pulse_bias)(struct usba_udc *udc); |
---|
| 314 | +}; |
---|
| 315 | + |
---|
| 316 | +struct usba_udc_config { |
---|
| 317 | + const struct usba_udc_errata *errata; |
---|
| 318 | + const struct usba_ep_config *config; |
---|
| 319 | + const int num_ep; |
---|
| 320 | + const bool ep_prealloc; |
---|
308 | 321 | }; |
---|
309 | 322 | |
---|
310 | 323 | struct usba_udc { |
---|
.. | .. |
---|
324 | 337 | int irq; |
---|
325 | 338 | struct gpio_desc *vbus_pin; |
---|
326 | 339 | int num_ep; |
---|
327 | | - int configured_ep; |
---|
328 | 340 | struct usba_fifo_cfg *fifo_cfg; |
---|
329 | 341 | struct clk *pclk; |
---|
330 | 342 | struct clk *hclk; |
---|
331 | 343 | struct usba_ep *usba_ep; |
---|
332 | 344 | bool bias_pulse_needed; |
---|
333 | 345 | bool clocked; |
---|
| 346 | + bool suspended; |
---|
| 347 | + bool ep_prealloc; |
---|
334 | 348 | |
---|
335 | 349 | u16 devstatus; |
---|
336 | 350 | |
---|