xref: /rk3399_rockchip-uboot/arch/powerpc/cpu/mpc85xx/t4240_ids.c (revision 9809ccdd4c25a068aa8bef883ab66e61ec5fa18b)
19e758758SYork Sun /*
29e758758SYork Sun  * Copyright 2012 Freescale Semiconductor, Inc.
39e758758SYork Sun  *
41a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
59e758758SYork Sun  */
69e758758SYork Sun 
79e758758SYork Sun #include <common.h>
89e758758SYork Sun #include <asm/fsl_portals.h>
99e758758SYork Sun #include <asm/fsl_liodn.h>
109e758758SYork Sun 
119e758758SYork Sun #ifdef CONFIG_SYS_DPAA_QBMAN
129e758758SYork Sun struct qportal_info qp_info[CONFIG_SYS_QMAN_NUM_PORTALS] = {
139e758758SYork Sun 	/* dqrr liodn, frame data liodn, liodn off, sdest */
149e758758SYork Sun 	SET_QP_INFO(1, 27, 1, 0),
159e758758SYork Sun 	SET_QP_INFO(2, 28, 1, 0),
169e758758SYork Sun 	SET_QP_INFO(3, 29, 1, 1),
179e758758SYork Sun 	SET_QP_INFO(4, 30, 1, 1),
189e758758SYork Sun 	SET_QP_INFO(5, 31, 1, 2),
199e758758SYork Sun 	SET_QP_INFO(6, 32, 1, 2),
209e758758SYork Sun 	SET_QP_INFO(7, 33, 1, 3),
219e758758SYork Sun 	SET_QP_INFO(8, 34, 1, 3),
229e758758SYork Sun 	SET_QP_INFO(9, 35, 1, 4),
239e758758SYork Sun 	SET_QP_INFO(10, 36, 1, 4),
249e758758SYork Sun 	SET_QP_INFO(11, 37, 1, 5),
259e758758SYork Sun 	SET_QP_INFO(12, 38, 1, 5),
269e758758SYork Sun 	SET_QP_INFO(13, 39, 1, 6),
279e758758SYork Sun 	SET_QP_INFO(14, 40, 1, 6),
289e758758SYork Sun 	SET_QP_INFO(15, 41, 1, 7),
299e758758SYork Sun 	SET_QP_INFO(16, 42, 1, 7),
309e758758SYork Sun 	SET_QP_INFO(17, 43, 1, 8),
319e758758SYork Sun 	SET_QP_INFO(18, 44, 1, 8),
329e758758SYork Sun 	SET_QP_INFO(19, 45, 1, 9),
339e758758SYork Sun 	SET_QP_INFO(20, 46, 1, 9),
349e758758SYork Sun 	SET_QP_INFO(21, 47, 1, 10),
359e758758SYork Sun 	SET_QP_INFO(22, 48, 1, 10),
369e758758SYork Sun 	SET_QP_INFO(23, 49, 1, 11),
379e758758SYork Sun 	SET_QP_INFO(24, 50, 1, 11),
389e758758SYork Sun 	SET_QP_INFO(65, 89, 1, 0),
399e758758SYork Sun 	SET_QP_INFO(66, 90, 1, 0),
409e758758SYork Sun 	SET_QP_INFO(67, 91, 1, 1),
419e758758SYork Sun 	SET_QP_INFO(68, 92, 1, 1),
429e758758SYork Sun 	SET_QP_INFO(69, 93, 1, 2),
439e758758SYork Sun 	SET_QP_INFO(70, 94, 1, 2),
449e758758SYork Sun 	SET_QP_INFO(71, 95, 1, 3),
459e758758SYork Sun 	SET_QP_INFO(72, 96, 1, 3),
469e758758SYork Sun 	SET_QP_INFO(73, 97, 1, 4),
479e758758SYork Sun 	SET_QP_INFO(74, 98, 1, 4),
489e758758SYork Sun 	SET_QP_INFO(75, 99, 1, 5),
499e758758SYork Sun 	SET_QP_INFO(76, 100, 1, 5),
509e758758SYork Sun 	SET_QP_INFO(77, 101, 1, 6),
519e758758SYork Sun 	SET_QP_INFO(78, 102, 1, 6),
529e758758SYork Sun 	SET_QP_INFO(79, 103, 1, 7),
539e758758SYork Sun 	SET_QP_INFO(80, 104, 1, 7),
549e758758SYork Sun 	SET_QP_INFO(81, 105, 1, 8),
559e758758SYork Sun 	SET_QP_INFO(82, 106, 1, 8),
569e758758SYork Sun 	SET_QP_INFO(83, 107, 1, 9),
579e758758SYork Sun 	SET_QP_INFO(84, 108, 1, 9),
589e758758SYork Sun 	SET_QP_INFO(85, 109, 1, 10),
599e758758SYork Sun 	SET_QP_INFO(86, 110, 1, 10),
609e758758SYork Sun 	SET_QP_INFO(87, 111, 1, 11),
619e758758SYork Sun 	SET_QP_INFO(88, 112, 1, 11),
629e758758SYork Sun 	SET_QP_INFO(25, 51, 1, 0),
639e758758SYork Sun 	SET_QP_INFO(26, 52, 1, 0),
649e758758SYork Sun };
659e758758SYork Sun #endif
669e758758SYork Sun 
670b2e13d9SChunhe Lan #ifdef CONFIG_SYS_SRIO
689e758758SYork Sun struct srio_liodn_id_table srio_liodn_tbl[] = {
6908047937SLiu Gang 	SET_SRIO_LIODN_BASE(1, 307),
7008047937SLiu Gang 	SET_SRIO_LIODN_BASE(2, 387),
719e758758SYork Sun };
729e758758SYork Sun int srio_liodn_tbl_sz = ARRAY_SIZE(srio_liodn_tbl);
730b2e13d9SChunhe Lan #endif
749e758758SYork Sun 
759e758758SYork Sun struct liodn_id_table liodn_tbl[] = {
769e758758SYork Sun #ifdef CONFIG_SYS_DPAA_QBMAN
779e758758SYork Sun 	SET_QMAN_LIODN(62),
789e758758SYork Sun 	SET_BMAN_LIODN(63),
799e758758SYork Sun #endif
809e758758SYork Sun 
819e758758SYork Sun 	SET_SDHC_LIODN(1, 552),
829e758758SYork Sun 
839e758758SYork Sun 	SET_PME_LIODN(117),
849e758758SYork Sun 
859e758758SYork Sun 	SET_USB_LIODN(1, "fsl-usb2-mph", 553),
869e758758SYork Sun 	SET_USB_LIODN(2, "fsl-usb2-dr", 554),
879e758758SYork Sun 
889e758758SYork Sun 	SET_SATA_LIODN(1, 555),
899e758758SYork Sun 	SET_SATA_LIODN(2, 556),
909e758758SYork Sun 
91b4125a23SLaurentiu TUDOR 	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 1, 148),
92b4125a23SLaurentiu TUDOR 	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 2, 228),
93b4125a23SLaurentiu TUDOR 	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 3, 308),
94b4125a23SLaurentiu TUDOR 	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 4, 388),
959e758758SYork Sun 
968d3eaa97STudor Laurentiu 	SET_DMA_LIODN(1, "fsl,elo3-dma", 147),
978d3eaa97STudor Laurentiu 	SET_DMA_LIODN(2, "fsl,elo3-dma", 227),
989e758758SYork Sun 
999e758758SYork Sun 	SET_GUTS_LIODN("fsl,rapidio-delta", 199, rio1liodnr, 0),
1009e758758SYork Sun 	SET_GUTS_LIODN(NULL, 200, rio2liodnr, 0),
1019e758758SYork Sun 	SET_GUTS_LIODN(NULL, 201, rio1maintliodnr, 0),
1029e758758SYork Sun 	SET_GUTS_LIODN(NULL, 202, rio2maintliodnr, 0),
1039e758758SYork Sun 
1049e758758SYork Sun #ifdef CONFIG_SYS_PMAN
1059e758758SYork Sun 	SET_PMAN_LIODN(1, 513),
1069e758758SYork Sun 	SET_PMAN_LIODN(2, 514),
1079e758758SYork Sun 	SET_PMAN_LIODN(3, 515),
1089e758758SYork Sun #endif
1099e758758SYork Sun 
1109e758758SYork Sun 	/* SET_NEXUS_LIODN(557), -- not yet implemented */
1119e758758SYork Sun };
1129e758758SYork Sun int liodn_tbl_sz = ARRAY_SIZE(liodn_tbl);
1139e758758SYork Sun 
1149e758758SYork Sun #ifdef CONFIG_SYS_DPAA_FMAN
115*97a8d010SIgal Liberman struct fman_liodn_id_table fman1_liodn_tbl[] = {
1169e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(1, 0, 88),
1179e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(1, 1, 89),
1189e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(1, 2, 90),
1199e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(1, 3, 91),
1209e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(1, 4, 92),
1219e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(1, 5, 93),
1229e758758SYork Sun 	SET_FMAN_RX_10G_LIODN(1, 0, 94),
1239e758758SYork Sun 	SET_FMAN_RX_10G_LIODN(1, 1, 95),
1249e758758SYork Sun };
1259e758758SYork Sun int fman1_liodn_tbl_sz = ARRAY_SIZE(fman1_liodn_tbl);
1269e758758SYork Sun #if (CONFIG_SYS_NUM_FMAN == 2)
127*97a8d010SIgal Liberman struct fman_liodn_id_table fman2_liodn_tbl[] = {
1289e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(2, 0, 88),
1299e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(2, 1, 89),
1309e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(2, 2, 90),
1319e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(2, 3, 91),
1329e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(2, 4, 92),
1339e758758SYork Sun 	SET_FMAN_RX_1G_LIODN(2, 5, 93),
1349e758758SYork Sun 	SET_FMAN_RX_10G_LIODN(2, 0, 94),
1359e758758SYork Sun 	SET_FMAN_RX_10G_LIODN(2, 1, 95),
1369e758758SYork Sun };
1379e758758SYork Sun int fman2_liodn_tbl_sz = ARRAY_SIZE(fman2_liodn_tbl);
1389e758758SYork Sun #endif
1399e758758SYork Sun #endif
1409e758758SYork Sun 
1419e758758SYork Sun struct liodn_id_table sec_liodn_tbl[] = {
1429e758758SYork Sun 	SET_SEC_JR_LIODN_ENTRY(0, 454, 458),
1439e758758SYork Sun 	SET_SEC_JR_LIODN_ENTRY(1, 455, 459),
1449e758758SYork Sun 	SET_SEC_JR_LIODN_ENTRY(2, 456, 460),
1459e758758SYork Sun 	SET_SEC_JR_LIODN_ENTRY(3, 457, 461),
1469e758758SYork Sun 	SET_SEC_RTIC_LIODN_ENTRY(a, 453),
1479e758758SYork Sun 	SET_SEC_RTIC_LIODN_ENTRY(b, 549),
1489e758758SYork Sun 	SET_SEC_RTIC_LIODN_ENTRY(c, 550),
1499e758758SYork Sun 	SET_SEC_RTIC_LIODN_ENTRY(d, 551),
1509e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(0, 541, 610),
1519e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(1, 542, 611),
1529e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(2, 543, 612),
1539e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(3, 544, 613),
1549e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(4, 545, 614),
1559e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(5, 546, 615),
1569e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(6, 547, 616),
1579e758758SYork Sun 	SET_SEC_DECO_LIODN_ENTRY(7, 548, 617),
1589e758758SYork Sun };
1599e758758SYork Sun int sec_liodn_tbl_sz = ARRAY_SIZE(sec_liodn_tbl);
1609e758758SYork Sun 
1619e758758SYork Sun #ifdef CONFIG_SYS_DPAA_RMAN
1629e758758SYork Sun struct liodn_id_table rman_liodn_tbl[] = {
1639e758758SYork Sun 	/* Set RMan block 0-3 liodn offset */
1640795eff3SMinghuan Lian 	SET_RMAN_LIODN(0, 6),
1650795eff3SMinghuan Lian 	SET_RMAN_LIODN(1, 7),
1660795eff3SMinghuan Lian 	SET_RMAN_LIODN(2, 8),
1670795eff3SMinghuan Lian 	SET_RMAN_LIODN(3, 9),
1689e758758SYork Sun };
1699e758758SYork Sun int rman_liodn_tbl_sz = ARRAY_SIZE(rman_liodn_tbl);
1709e758758SYork Sun #endif
1719e758758SYork Sun 
1729e758758SYork Sun struct liodn_id_table liodn_bases[] = {
1739e758758SYork Sun #ifdef CONFIG_SYS_DPAA_DCE
1749e758758SYork Sun 	[FSL_HW_PORTAL_DCE]  = SET_LIODN_BASE_2(618, 694),
1759e758758SYork Sun #endif
1769e758758SYork Sun 	[FSL_HW_PORTAL_SEC]  = SET_LIODN_BASE_2(462, 558),
1779e758758SYork Sun #ifdef CONFIG_SYS_DPAA_FMAN
1789e758758SYork Sun 	[FSL_HW_PORTAL_FMAN1] = SET_LIODN_BASE_1(973),
1799e758758SYork Sun #if (CONFIG_SYS_NUM_FMAN == 2)
1809e758758SYork Sun 	[FSL_HW_PORTAL_FMAN2] = SET_LIODN_BASE_1(1069),
1819e758758SYork Sun #endif
1829e758758SYork Sun #endif
1839e758758SYork Sun #ifdef CONFIG_SYS_DPAA_PME
1849e758758SYork Sun 	[FSL_HW_PORTAL_PME]   = SET_LIODN_BASE_2(770, 846),
1859e758758SYork Sun #endif
1869e758758SYork Sun #ifdef CONFIG_SYS_DPAA_RMAN
1879e758758SYork Sun 	[FSL_HW_PORTAL_RMAN] = SET_LIODN_BASE_1(922),
1889e758758SYork Sun #endif
1899e758758SYork Sun };
190