p4080_ids.c 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright 2010-2011 Freescale Semiconductor, Inc.
  4. */
  5. #include <common.h>
  6. #include <asm/fsl_portals.h>
  7. #include <asm/fsl_liodn.h>
  8. #ifdef CONFIG_SYS_DPAA_QBMAN
  9. struct qportal_info qp_info[CONFIG_SYS_QMAN_NUM_PORTALS] = {
  10. /* dqrr liodn, frame data liodn, liodn off, sdest */
  11. SET_QP_INFO( 1, 2, 1, 0),
  12. SET_QP_INFO( 3, 4, 2, 1),
  13. SET_QP_INFO( 5, 6, 3, 2),
  14. SET_QP_INFO( 7, 8, 4, 3),
  15. SET_QP_INFO( 9, 10, 5, 4),
  16. SET_QP_INFO(11, 12, 6, 5),
  17. SET_QP_INFO(13, 14, 7, 6),
  18. SET_QP_INFO(15, 16, 8, 7),
  19. SET_QP_INFO(17, 18, 9, 0), /* for now sdest to 0 */
  20. SET_QP_INFO(19, 20, 10, 0), /* for now sdest to 0 */
  21. };
  22. #endif
  23. struct srio_liodn_id_table srio_liodn_tbl[] = {
  24. SET_SRIO_LIODN_1(1, 198),
  25. SET_SRIO_LIODN_1(2, 199),
  26. };
  27. int srio_liodn_tbl_sz = ARRAY_SIZE(srio_liodn_tbl);
  28. struct liodn_id_table liodn_tbl[] = {
  29. SET_USB_LIODN(1, "fsl-usb2-mph", 127),
  30. SET_USB_LIODN(2, "fsl-usb2-dr", 157),
  31. SET_SDHC_LIODN(1, 156),
  32. SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 1, 193),
  33. SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 2, 194),
  34. SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 3, 195),
  35. SET_DMA_LIODN(1, "fsl,eloplus-dma", 196),
  36. SET_DMA_LIODN(2, "fsl,eloplus-dma", 197),
  37. SET_GUTS_LIODN("fsl,srio-rmu", 200, rmuliodnr, 0xd3000),
  38. #ifdef CONFIG_SYS_DPAA_QBMAN
  39. SET_QMAN_LIODN(31),
  40. SET_BMAN_LIODN(32),
  41. #endif
  42. SET_PME_LIODN(128),
  43. };
  44. int liodn_tbl_sz = ARRAY_SIZE(liodn_tbl);
  45. #ifdef CONFIG_SYS_DPAA_FMAN
  46. struct fman_liodn_id_table fman1_liodn_tbl[] = {
  47. SET_FMAN_RX_1G_LIODN(1, 0, 11),
  48. SET_FMAN_RX_1G_LIODN(1, 1, 12),
  49. SET_FMAN_RX_1G_LIODN(1, 2, 13),
  50. SET_FMAN_RX_1G_LIODN(1, 3, 14),
  51. SET_FMAN_RX_10G_LIODN(1, 0, 15),
  52. };
  53. int fman1_liodn_tbl_sz = ARRAY_SIZE(fman1_liodn_tbl);
  54. #if (CONFIG_SYS_NUM_FMAN == 2)
  55. struct fman_liodn_id_table fman2_liodn_tbl[] = {
  56. SET_FMAN_RX_1G_LIODN(2, 0, 16),
  57. SET_FMAN_RX_1G_LIODN(2, 1, 17),
  58. SET_FMAN_RX_1G_LIODN(2, 2, 18),
  59. SET_FMAN_RX_1G_LIODN(2, 3, 19),
  60. SET_FMAN_RX_10G_LIODN(2, 0, 20),
  61. };
  62. int fman2_liodn_tbl_sz = ARRAY_SIZE(fman2_liodn_tbl);
  63. #endif
  64. #endif
  65. struct liodn_id_table sec_liodn_tbl[] = {
  66. /*
  67. * We assume currently that all JR are in the same partition
  68. * and as such they need to represent the same LIODN due to
  69. * a 4080 rev.2 h/w requirement that DECOs sharing from themselves
  70. * or from another DECO have the two Non-SEQ LIODN values equal
  71. */
  72. SET_SEC_JR_LIODN_ENTRY(0, 146, 154), /* (0, 146, 154), */
  73. SET_SEC_JR_LIODN_ENTRY(1, 146, 154), /* (1, 147, 155), */
  74. SET_SEC_JR_LIODN_ENTRY(2, 146, 154), /* (2, 178, 186), */
  75. SET_SEC_JR_LIODN_ENTRY(3, 146, 154), /* (3, 179, 187), */
  76. SET_SEC_RTIC_LIODN_ENTRY(a, 144),
  77. SET_SEC_RTIC_LIODN_ENTRY(b, 145),
  78. SET_SEC_RTIC_LIODN_ENTRY(c, 176),
  79. SET_SEC_RTIC_LIODN_ENTRY(d, 177),
  80. SET_SEC_DECO_LIODN_ENTRY(0, 129, 161),
  81. SET_SEC_DECO_LIODN_ENTRY(1, 130, 162),
  82. SET_SEC_DECO_LIODN_ENTRY(2, 131, 163),
  83. SET_SEC_DECO_LIODN_ENTRY(3, 132, 164),
  84. SET_SEC_DECO_LIODN_ENTRY(4, 133, 165),
  85. };
  86. int sec_liodn_tbl_sz = ARRAY_SIZE(sec_liodn_tbl);
  87. struct liodn_id_table liodn_bases[] = {
  88. [FSL_HW_PORTAL_SEC] = SET_LIODN_BASE_2(96, 106),
  89. #ifdef CONFIG_SYS_DPAA_FMAN
  90. [FSL_HW_PORTAL_FMAN1] = SET_LIODN_BASE_1(32),
  91. #if (CONFIG_SYS_NUM_FMAN == 2)
  92. [FSL_HW_PORTAL_FMAN2] = SET_LIODN_BASE_1(64),
  93. #endif
  94. #endif
  95. #ifdef CONFIG_SYS_DPAA_PME
  96. [FSL_HW_PORTAL_PME] = SET_LIODN_BASE_2(116, 133),
  97. #endif
  98. };