atmel_usba_udc.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2005-2013 Atmel Corporation
  4. * Bo Shen <voice.shen@atmel.com>
  5. */
  6. #ifndef __ATMEL_USBA_UDC_H__
  7. #define __ATMEL_USBA_UDC_H__
  8. #include <linux/usb/atmel_usba_udc.h>
  9. #define EP(nam, idx, maxpkt, maxbk, dma, isoc) \
  10. [idx] = { \
  11. .name = nam, \
  12. .index = idx, \
  13. .fifo_size = maxpkt, \
  14. .nr_banks = maxbk, \
  15. .can_dma = dma, \
  16. .can_isoc = isoc, \
  17. }
  18. #if defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) || \
  19. defined(CONFIG_AT91SAM9X5)
  20. static struct usba_ep_data usba_udc_ep[] = {
  21. EP("ep0", 0, 64, 1, 0, 0),
  22. EP("ep1", 1, 1024, 2, 1, 1),
  23. EP("ep2", 2, 1024, 2, 1, 1),
  24. EP("ep3", 3, 1024, 3, 1, 0),
  25. EP("ep4", 4, 1024, 3, 1, 0),
  26. EP("ep5", 5, 1024, 3, 1, 1),
  27. EP("ep6", 6, 1024, 3, 1, 1),
  28. };
  29. #elif defined(CONFIG_SAMA5D2) || defined(CONFIG_SAMA5D3) || \
  30. defined(CONFIG_SAMA5D4)
  31. static struct usba_ep_data usba_udc_ep[] = {
  32. EP("ep0", 0, 64, 1, 0, 0),
  33. EP("ep1", 1, 1024, 3, 1, 0),
  34. EP("ep2", 2, 1024, 3, 1, 0),
  35. EP("ep3", 3, 1024, 2, 1, 0),
  36. EP("ep4", 4, 1024, 2, 1, 0),
  37. EP("ep5", 5, 1024, 2, 1, 0),
  38. EP("ep6", 6, 1024, 2, 1, 0),
  39. EP("ep7", 7, 1024, 2, 1, 0),
  40. EP("ep8", 8, 1024, 2, 0, 0),
  41. EP("ep9", 9, 1024, 2, 0, 0),
  42. EP("ep10", 10, 1024, 2, 0, 0),
  43. EP("ep11", 11, 1024, 2, 0, 0),
  44. EP("ep12", 12, 1024, 2, 0, 0),
  45. EP("ep13", 13, 1024, 2, 0, 0),
  46. EP("ep14", 14, 1024, 2, 0, 0),
  47. EP("ep15", 15, 1024, 2, 0, 0),
  48. };
  49. #else
  50. # error "NO usba_udc_ep defined"
  51. #endif
  52. #undef EP
  53. struct usba_platform_data pdata = {
  54. .num_ep = ARRAY_SIZE(usba_udc_ep),
  55. .ep = usba_udc_ep,
  56. };
  57. #endif