| .. | .. |
|---|
| 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 | |
|---|