k3-psil-am654.c 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com
  4. * Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
  5. */
  6. #include <linux/kernel.h>
  7. #include "k3-psil-priv.h"
  8. #define PSIL_ETHERNET(x) \
  9. { \
  10. .thread_id = x, \
  11. .ep_config = { \
  12. .ep_type = PSIL_EP_NATIVE, \
  13. .pkt_mode = 1, \
  14. .needs_epib = 1, \
  15. .psd_size = 16, \
  16. }, \
  17. }
  18. /* PSI-L source thread IDs, used for RX (DMA_DEV_TO_MEM) */
  19. static struct psil_ep am654_src_ep_map[] = {
  20. /* PRU_ICSSG0 */
  21. PSIL_ETHERNET(0x4100),
  22. PSIL_ETHERNET(0x4101),
  23. PSIL_ETHERNET(0x4102),
  24. PSIL_ETHERNET(0x4103),
  25. /* PRU_ICSSG1 */
  26. PSIL_ETHERNET(0x4200),
  27. PSIL_ETHERNET(0x4201),
  28. PSIL_ETHERNET(0x4202),
  29. PSIL_ETHERNET(0x4203),
  30. /* PRU_ICSSG2 */
  31. PSIL_ETHERNET(0x4300),
  32. PSIL_ETHERNET(0x4301),
  33. PSIL_ETHERNET(0x4302),
  34. PSIL_ETHERNET(0x4303),
  35. /* CPSW0 */
  36. PSIL_ETHERNET(0x7000),
  37. };
  38. /* PSI-L destination thread IDs, used for TX (DMA_MEM_TO_DEV) */
  39. static struct psil_ep am654_dst_ep_map[] = {
  40. /* PRU_ICSSG0 */
  41. PSIL_ETHERNET(0xc100),
  42. /* PSIL: 0xc101 - 0xc103 unused */
  43. PSIL_ETHERNET(0xc104),
  44. /* PSIL: 0xc105 - 0xc107 unused */
  45. /* PRU_ICSSG1 */
  46. PSIL_ETHERNET(0xc200),
  47. /* PSIL: 0xc201 - 0xc203 unused */
  48. PSIL_ETHERNET(0xc204),
  49. /* PSIL: 0xc205 - 0xc207 unused */
  50. /* PRU_ICSSG2 */
  51. PSIL_ETHERNET(0xc300),
  52. /* PSIL: 0xc301 - 0xc303 unused */
  53. PSIL_ETHERNET(0xc304),
  54. /* PSIL: 0xc305 - 0xc307 unused */
  55. /* CPSW0 */
  56. PSIL_ETHERNET(0xf000),
  57. /* PSIL: 0xf001 - 0xf007 unused */
  58. };
  59. struct psil_ep_map am654_ep_map = {
  60. .name = "am654",
  61. .src = am654_src_ep_map,
  62. .src_count = ARRAY_SIZE(am654_src_ep_map),
  63. .dst = am654_dst_ep_map,
  64. .dst_count = ARRAY_SIZE(am654_dst_ep_map),
  65. };