13cb4fe65SLaurentiu Tudor // SPDX-License-Identifier: GPL-2.0+
23cb4fe65SLaurentiu Tudor /*
33cb4fe65SLaurentiu Tudor  * Copyright 2018 NXP
43cb4fe65SLaurentiu Tudor  */
53cb4fe65SLaurentiu Tudor 
63cb4fe65SLaurentiu Tudor #include <common.h>
73cb4fe65SLaurentiu Tudor #include <asm/arch-fsl-layerscape/immap_lsch2.h>
83cb4fe65SLaurentiu Tudor #include <asm/arch-fsl-layerscape/fsl_icid.h>
9599a97d4SLaurentiu Tudor #include <asm/arch-fsl-layerscape/fsl_portals.h>
10599a97d4SLaurentiu Tudor 
11599a97d4SLaurentiu Tudor #ifdef CONFIG_SYS_DPAA_QBMAN
12599a97d4SLaurentiu Tudor struct qportal_info qp_info[CONFIG_SYS_QMAN_NUM_PORTALS] = {
13599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
14599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
15599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
16599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
17599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
18599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
19599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
20599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
21599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
22599a97d4SLaurentiu Tudor 	SET_QP_INFO(FSL_DPAA1_STREAM_ID_END, 0),
23599a97d4SLaurentiu Tudor };
24599a97d4SLaurentiu Tudor #endif
253cb4fe65SLaurentiu Tudor 
263cb4fe65SLaurentiu Tudor struct icid_id_table icid_tbl[] = {
273cb4fe65SLaurentiu Tudor #ifdef CONFIG_SYS_DPAA_QBMAN
283cb4fe65SLaurentiu Tudor 	SET_QMAN_ICID(FSL_DPAA1_STREAM_ID_START),
293cb4fe65SLaurentiu Tudor 	SET_BMAN_ICID(FSL_DPAA1_STREAM_ID_START + 1),
303cb4fe65SLaurentiu Tudor #endif
313cb4fe65SLaurentiu Tudor 
323cb4fe65SLaurentiu Tudor 	SET_SDHC_ICID(FSL_SDHC_STREAM_ID),
333cb4fe65SLaurentiu Tudor 
343cb4fe65SLaurentiu Tudor 	SET_USB_ICID(1, "snps,dwc3", FSL_USB1_STREAM_ID),
353cb4fe65SLaurentiu Tudor 	SET_USB_ICID(2, "snps,dwc3", FSL_USB2_STREAM_ID),
363cb4fe65SLaurentiu Tudor 	SET_USB_ICID(3, "snps,dwc3", FSL_USB3_STREAM_ID),
373cb4fe65SLaurentiu Tudor 
383cb4fe65SLaurentiu Tudor 	SET_SATA_ICID("fsl,ls1046a-ahci", FSL_SATA_STREAM_ID),
393cb4fe65SLaurentiu Tudor 	SET_QDMA_ICID("fsl,ls1046a-qdma", FSL_QDMA_STREAM_ID),
403cb4fe65SLaurentiu Tudor 	SET_EDMA_ICID(FSL_EDMA_STREAM_ID),
413cb4fe65SLaurentiu Tudor 	SET_ETR_ICID(FSL_ETR_STREAM_ID),
423cb4fe65SLaurentiu Tudor 	SET_DEBUG_ICID(FSL_DEBUG_STREAM_ID),
435651f438SLaurentiu Tudor #ifdef CONFIG_FSL_CAAM
44*e82d9ee7SLaurentiu Tudor 	SET_SEC_QI_ICID(FSL_DPAA1_STREAM_ID_END),
455651f438SLaurentiu Tudor 	SET_SEC_JR_ICID_ENTRY(0, FSL_DPAA1_STREAM_ID_START + 3),
465651f438SLaurentiu Tudor 	SET_SEC_JR_ICID_ENTRY(1, FSL_DPAA1_STREAM_ID_START + 4),
475651f438SLaurentiu Tudor 	SET_SEC_JR_ICID_ENTRY(2, FSL_DPAA1_STREAM_ID_START + 5),
485651f438SLaurentiu Tudor 	SET_SEC_JR_ICID_ENTRY(3, FSL_DPAA1_STREAM_ID_START + 6),
495651f438SLaurentiu Tudor 	SET_SEC_RTIC_ICID_ENTRY(0, FSL_DPAA1_STREAM_ID_START + 7),
505651f438SLaurentiu Tudor 	SET_SEC_RTIC_ICID_ENTRY(1, FSL_DPAA1_STREAM_ID_START + 8),
515651f438SLaurentiu Tudor 	SET_SEC_RTIC_ICID_ENTRY(2, FSL_DPAA1_STREAM_ID_START + 9),
525651f438SLaurentiu Tudor 	SET_SEC_RTIC_ICID_ENTRY(3, FSL_DPAA1_STREAM_ID_START + 10),
535651f438SLaurentiu Tudor 	SET_SEC_DECO_ICID_ENTRY(0, FSL_DPAA1_STREAM_ID_START + 11),
545651f438SLaurentiu Tudor 	SET_SEC_DECO_ICID_ENTRY(1, FSL_DPAA1_STREAM_ID_START + 12),
555651f438SLaurentiu Tudor 	SET_SEC_DECO_ICID_ENTRY(2, FSL_DPAA1_STREAM_ID_START + 13),
565651f438SLaurentiu Tudor #endif
573cb4fe65SLaurentiu Tudor };
583cb4fe65SLaurentiu Tudor 
593cb4fe65SLaurentiu Tudor int icid_tbl_sz = ARRAY_SIZE(icid_tbl);
60b50ff5e1SLaurentiu Tudor 
61b50ff5e1SLaurentiu Tudor #ifdef CONFIG_SYS_DPAA_FMAN
62b50ff5e1SLaurentiu Tudor struct fman_icid_id_table fman_icid_tbl[] = {
63b50ff5e1SLaurentiu Tudor 	/* port id, icid */
64b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x02, FSL_DPAA1_STREAM_ID_END),
65b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x03, FSL_DPAA1_STREAM_ID_END),
66b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x04, FSL_DPAA1_STREAM_ID_END),
67b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x05, FSL_DPAA1_STREAM_ID_END),
68b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x06, FSL_DPAA1_STREAM_ID_END),
69b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x07, FSL_DPAA1_STREAM_ID_END),
70b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x08, FSL_DPAA1_STREAM_ID_END),
71b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x09, FSL_DPAA1_STREAM_ID_END),
72b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x0a, FSL_DPAA1_STREAM_ID_END),
73b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x0b, FSL_DPAA1_STREAM_ID_END),
74b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x0c, FSL_DPAA1_STREAM_ID_END),
75b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x0d, FSL_DPAA1_STREAM_ID_END),
76b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x28, FSL_DPAA1_STREAM_ID_END),
77b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x29, FSL_DPAA1_STREAM_ID_END),
78b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x2a, FSL_DPAA1_STREAM_ID_END),
79b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x2b, FSL_DPAA1_STREAM_ID_END),
80b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x2c, FSL_DPAA1_STREAM_ID_END),
81b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x2d, FSL_DPAA1_STREAM_ID_END),
82b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x10, FSL_DPAA1_STREAM_ID_END),
83b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x11, FSL_DPAA1_STREAM_ID_END),
84b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x30, FSL_DPAA1_STREAM_ID_END),
85b50ff5e1SLaurentiu Tudor 	SET_FMAN_ICID_ENTRY(0x31, FSL_DPAA1_STREAM_ID_END),
86b50ff5e1SLaurentiu Tudor };
87b50ff5e1SLaurentiu Tudor 
88b50ff5e1SLaurentiu Tudor int fman_icid_tbl_sz = ARRAY_SIZE(fman_icid_tbl);
89b50ff5e1SLaurentiu Tudor #endif
90