blob: 15ab4ac93852d10e999ec17cd2b8f478508fe7c4 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Kumar Gala38449a42009-09-10 03:02:13 -05002/*
Laurentiu TUDOR960f87f2011-03-15 16:37:36 +02003 * Copyright 2010-2011 Freescale Semiconductor, Inc.
Kumar Gala38449a42009-09-10 03:02:13 -05004 */
5
Tom Rinib01c75d2024-04-27 08:10:57 -06006#include <config.h>
Tom Rinidee15a92024-04-30 20:40:48 -06007#include <linux/kernel.h>
Kumar Gala38449a42009-09-10 03:02:13 -05008#include <asm/fsl_portals.h>
9#include <asm/fsl_liodn.h>
10
Kumar Gala9edb2412011-05-19 16:15:11 -050011#ifdef CONFIG_SYS_DPAA_QBMAN
Tom Rini6a5dccc2022-11-16 13:10:41 -050012struct qportal_info qp_info[CFG_SYS_QMAN_NUM_PORTALS] = {
Kumar Gala38449a42009-09-10 03:02:13 -050013 /* dqrr liodn, frame data liodn, liodn off, sdest */
14 SET_QP_INFO( 1, 2, 1, 0),
15 SET_QP_INFO( 3, 4, 2, 1),
16 SET_QP_INFO( 5, 6, 3, 2),
17 SET_QP_INFO( 7, 8, 4, 3),
18 SET_QP_INFO( 9, 10, 5, 4),
19 SET_QP_INFO(11, 12, 6, 5),
20 SET_QP_INFO(13, 14, 7, 6),
21 SET_QP_INFO(15, 16, 8, 7),
22 SET_QP_INFO(17, 18, 9, 0), /* for now sdest to 0 */
23 SET_QP_INFO(19, 20, 10, 0), /* for now sdest to 0 */
24};
Kumar Gala9edb2412011-05-19 16:15:11 -050025#endif
Kumar Gala38449a42009-09-10 03:02:13 -050026
Kumar Gala2b2b6962011-10-14 00:01:23 -050027struct srio_liodn_id_table srio_liodn_tbl[] = {
28 SET_SRIO_LIODN_1(1, 198),
29 SET_SRIO_LIODN_1(2, 199),
30};
31int srio_liodn_tbl_sz = ARRAY_SIZE(srio_liodn_tbl);
32
Kumar Gala38449a42009-09-10 03:02:13 -050033struct liodn_id_table liodn_tbl[] = {
34 SET_USB_LIODN(1, "fsl-usb2-mph", 127),
35 SET_USB_LIODN(2, "fsl-usb2-dr", 157),
36
37 SET_SDHC_LIODN(1, 156),
38
Timur Tabi913b6e62012-07-25 11:03:34 +000039 SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 1, 193),
40 SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 2, 194),
41 SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 3, 195),
Kumar Gala38449a42009-09-10 03:02:13 -050042
Tudor Laurentiu7210d9a2014-11-20 12:09:31 +020043 SET_DMA_LIODN(1, "fsl,eloplus-dma", 196),
44 SET_DMA_LIODN(2, "fsl,eloplus-dma", 197),
Kumar Gala38449a42009-09-10 03:02:13 -050045
Kumar Gala2b2b6962011-10-14 00:01:23 -050046 SET_GUTS_LIODN("fsl,srio-rmu", 200, rmuliodnr, 0xd3000),
Kumar Gala38449a42009-09-10 03:02:13 -050047
Kumar Gala9edb2412011-05-19 16:15:11 -050048#ifdef CONFIG_SYS_DPAA_QBMAN
Kumar Gala38449a42009-09-10 03:02:13 -050049 SET_QMAN_LIODN(31),
50 SET_BMAN_LIODN(32),
Kumar Gala9edb2412011-05-19 16:15:11 -050051#endif
Kumar Gala38449a42009-09-10 03:02:13 -050052 SET_PME_LIODN(128),
53};
Kumar Gala9edb2412011-05-19 16:15:11 -050054int liodn_tbl_sz = ARRAY_SIZE(liodn_tbl);
Kumar Gala38449a42009-09-10 03:02:13 -050055
56#ifdef CONFIG_SYS_DPAA_FMAN
Igal Libermane14ec992015-08-18 14:47:05 +030057struct fman_liodn_id_table fman1_liodn_tbl[] = {
Kumar Gala38449a42009-09-10 03:02:13 -050058 SET_FMAN_RX_1G_LIODN(1, 0, 11),
59 SET_FMAN_RX_1G_LIODN(1, 1, 12),
60 SET_FMAN_RX_1G_LIODN(1, 2, 13),
61 SET_FMAN_RX_1G_LIODN(1, 3, 14),
62 SET_FMAN_RX_10G_LIODN(1, 0, 15),
63};
Kumar Gala9edb2412011-05-19 16:15:11 -050064int fman1_liodn_tbl_sz = ARRAY_SIZE(fman1_liodn_tbl);
Kumar Gala38449a42009-09-10 03:02:13 -050065
Tom Rini0a2bac72022-11-16 13:10:29 -050066#if (CFG_SYS_NUM_FMAN == 2)
Igal Libermane14ec992015-08-18 14:47:05 +030067struct fman_liodn_id_table fman2_liodn_tbl[] = {
Kumar Gala38449a42009-09-10 03:02:13 -050068 SET_FMAN_RX_1G_LIODN(2, 0, 16),
69 SET_FMAN_RX_1G_LIODN(2, 1, 17),
70 SET_FMAN_RX_1G_LIODN(2, 2, 18),
71 SET_FMAN_RX_1G_LIODN(2, 3, 19),
72 SET_FMAN_RX_10G_LIODN(2, 0, 20),
73};
Kumar Gala9edb2412011-05-19 16:15:11 -050074int fman2_liodn_tbl_sz = ARRAY_SIZE(fman2_liodn_tbl);
Kumar Gala38449a42009-09-10 03:02:13 -050075#endif
76#endif
77
78struct liodn_id_table sec_liodn_tbl[] = {
Kim Phillips4baa1f12010-09-03 10:57:31 -050079 /*
80 * We assume currently that all JR are in the same partition
81 * and as such they need to represent the same LIODN due to
82 * a 4080 rev.2 h/w requirement that DECOs sharing from themselves
83 * or from another DECO have the two Non-SEQ LIODN values equal
84 */
85 SET_SEC_JR_LIODN_ENTRY(0, 146, 154), /* (0, 146, 154), */
86 SET_SEC_JR_LIODN_ENTRY(1, 146, 154), /* (1, 147, 155), */
87 SET_SEC_JR_LIODN_ENTRY(2, 146, 154), /* (2, 178, 186), */
88 SET_SEC_JR_LIODN_ENTRY(3, 146, 154), /* (3, 179, 187), */
Kumar Gala38449a42009-09-10 03:02:13 -050089 SET_SEC_RTIC_LIODN_ENTRY(a, 144),
90 SET_SEC_RTIC_LIODN_ENTRY(b, 145),
91 SET_SEC_RTIC_LIODN_ENTRY(c, 176),
92 SET_SEC_RTIC_LIODN_ENTRY(d, 177),
93 SET_SEC_DECO_LIODN_ENTRY(0, 129, 161),
94 SET_SEC_DECO_LIODN_ENTRY(1, 130, 162),
95 SET_SEC_DECO_LIODN_ENTRY(2, 131, 163),
96 SET_SEC_DECO_LIODN_ENTRY(3, 132, 164),
97 SET_SEC_DECO_LIODN_ENTRY(4, 133, 165),
98};
Kumar Gala9edb2412011-05-19 16:15:11 -050099int sec_liodn_tbl_sz = ARRAY_SIZE(sec_liodn_tbl);
Kumar Gala38449a42009-09-10 03:02:13 -0500100
101struct liodn_id_table liodn_bases[] = {
102 [FSL_HW_PORTAL_SEC] = SET_LIODN_BASE_2(96, 106),
103#ifdef CONFIG_SYS_DPAA_FMAN
104 [FSL_HW_PORTAL_FMAN1] = SET_LIODN_BASE_1(32),
Tom Rini0a2bac72022-11-16 13:10:29 -0500105#if (CFG_SYS_NUM_FMAN == 2)
Kumar Gala38449a42009-09-10 03:02:13 -0500106 [FSL_HW_PORTAL_FMAN2] = SET_LIODN_BASE_1(64),
107#endif
108#endif
109#ifdef CONFIG_SYS_DPAA_PME
110 [FSL_HW_PORTAL_PME] = SET_LIODN_BASE_2(116, 133),
111#endif
112};