1*46bdcac5SOdelu Kukatla // SPDX-License-Identifier: GPL-2.0
2*46bdcac5SOdelu Kukatla /*
3*46bdcac5SOdelu Kukatla  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4*46bdcac5SOdelu Kukatla  *
5*46bdcac5SOdelu Kukatla  */
6*46bdcac5SOdelu Kukatla 
7*46bdcac5SOdelu Kukatla #include <linux/device.h>
8*46bdcac5SOdelu Kukatla #include <linux/interconnect.h>
9*46bdcac5SOdelu Kukatla #include <linux/interconnect-provider.h>
10*46bdcac5SOdelu Kukatla #include <linux/module.h>
11*46bdcac5SOdelu Kukatla #include <linux/of_platform.h>
12*46bdcac5SOdelu Kukatla #include <dt-bindings/interconnect/qcom,sc7280.h>
13*46bdcac5SOdelu Kukatla 
14*46bdcac5SOdelu Kukatla #include "bcm-voter.h"
15*46bdcac5SOdelu Kukatla #include "icc-rpmh.h"
16*46bdcac5SOdelu Kukatla #include "sc7280.h"
17*46bdcac5SOdelu Kukatla 
18*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhm_qspi = {
19*46bdcac5SOdelu Kukatla 	.name = "qhm_qspi",
20*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QSPI_0,
21*46bdcac5SOdelu Kukatla 	.channels = 1,
22*46bdcac5SOdelu Kukatla 	.buswidth = 4,
23*46bdcac5SOdelu Kukatla 	.num_links = 1,
24*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
25*46bdcac5SOdelu Kukatla };
26*46bdcac5SOdelu Kukatla 
27*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhm_qup0 = {
28*46bdcac5SOdelu Kukatla 	.name = "qhm_qup0",
29*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QUP_0,
30*46bdcac5SOdelu Kukatla 	.channels = 1,
31*46bdcac5SOdelu Kukatla 	.buswidth = 4,
32*46bdcac5SOdelu Kukatla 	.num_links = 1,
33*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
34*46bdcac5SOdelu Kukatla };
35*46bdcac5SOdelu Kukatla 
36*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhm_qup1 = {
37*46bdcac5SOdelu Kukatla 	.name = "qhm_qup1",
38*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QUP_1,
39*46bdcac5SOdelu Kukatla 	.channels = 1,
40*46bdcac5SOdelu Kukatla 	.buswidth = 4,
41*46bdcac5SOdelu Kukatla 	.num_links = 1,
42*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
43*46bdcac5SOdelu Kukatla };
44*46bdcac5SOdelu Kukatla 
45*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_a1noc_cfg = {
46*46bdcac5SOdelu Kukatla 	.name = "qnm_a1noc_cfg",
47*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_A1NOC_CFG,
48*46bdcac5SOdelu Kukatla 	.channels = 1,
49*46bdcac5SOdelu Kukatla 	.buswidth = 4,
50*46bdcac5SOdelu Kukatla 	.num_links = 1,
51*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SERVICE_A1NOC },
52*46bdcac5SOdelu Kukatla };
53*46bdcac5SOdelu Kukatla 
54*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_sdc1 = {
55*46bdcac5SOdelu Kukatla 	.name = "xm_sdc1",
56*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SDCC_1,
57*46bdcac5SOdelu Kukatla 	.channels = 1,
58*46bdcac5SOdelu Kukatla 	.buswidth = 8,
59*46bdcac5SOdelu Kukatla 	.num_links = 1,
60*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
61*46bdcac5SOdelu Kukatla };
62*46bdcac5SOdelu Kukatla 
63*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_sdc2 = {
64*46bdcac5SOdelu Kukatla 	.name = "xm_sdc2",
65*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SDCC_2,
66*46bdcac5SOdelu Kukatla 	.channels = 1,
67*46bdcac5SOdelu Kukatla 	.buswidth = 8,
68*46bdcac5SOdelu Kukatla 	.num_links = 1,
69*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
70*46bdcac5SOdelu Kukatla };
71*46bdcac5SOdelu Kukatla 
72*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_sdc4 = {
73*46bdcac5SOdelu Kukatla 	.name = "xm_sdc4",
74*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SDCC_4,
75*46bdcac5SOdelu Kukatla 	.channels = 1,
76*46bdcac5SOdelu Kukatla 	.buswidth = 8,
77*46bdcac5SOdelu Kukatla 	.num_links = 1,
78*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
79*46bdcac5SOdelu Kukatla };
80*46bdcac5SOdelu Kukatla 
81*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_ufs_mem = {
82*46bdcac5SOdelu Kukatla 	.name = "xm_ufs_mem",
83*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_UFS_MEM,
84*46bdcac5SOdelu Kukatla 	.channels = 1,
85*46bdcac5SOdelu Kukatla 	.buswidth = 8,
86*46bdcac5SOdelu Kukatla 	.num_links = 1,
87*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
88*46bdcac5SOdelu Kukatla };
89*46bdcac5SOdelu Kukatla 
90*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_usb2 = {
91*46bdcac5SOdelu Kukatla 	.name = "xm_usb2",
92*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_USB2,
93*46bdcac5SOdelu Kukatla 	.channels = 1,
94*46bdcac5SOdelu Kukatla 	.buswidth = 8,
95*46bdcac5SOdelu Kukatla 	.num_links = 1,
96*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
97*46bdcac5SOdelu Kukatla };
98*46bdcac5SOdelu Kukatla 
99*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_usb3_0 = {
100*46bdcac5SOdelu Kukatla 	.name = "xm_usb3_0",
101*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_USB3_0,
102*46bdcac5SOdelu Kukatla 	.channels = 1,
103*46bdcac5SOdelu Kukatla 	.buswidth = 8,
104*46bdcac5SOdelu Kukatla 	.num_links = 1,
105*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A1NOC_SNOC },
106*46bdcac5SOdelu Kukatla };
107*46bdcac5SOdelu Kukatla 
108*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhm_qdss_bam = {
109*46bdcac5SOdelu Kukatla 	.name = "qhm_qdss_bam",
110*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QDSS_BAM,
111*46bdcac5SOdelu Kukatla 	.channels = 1,
112*46bdcac5SOdelu Kukatla 	.buswidth = 4,
113*46bdcac5SOdelu Kukatla 	.num_links = 1,
114*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A2NOC_SNOC },
115*46bdcac5SOdelu Kukatla };
116*46bdcac5SOdelu Kukatla 
117*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_a2noc_cfg = {
118*46bdcac5SOdelu Kukatla 	.name = "qnm_a2noc_cfg",
119*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_A2NOC_CFG,
120*46bdcac5SOdelu Kukatla 	.channels = 1,
121*46bdcac5SOdelu Kukatla 	.buswidth = 4,
122*46bdcac5SOdelu Kukatla 	.num_links = 1,
123*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SERVICE_A2NOC },
124*46bdcac5SOdelu Kukatla };
125*46bdcac5SOdelu Kukatla 
126*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_cnoc_datapath = {
127*46bdcac5SOdelu Kukatla 	.name = "qnm_cnoc_datapath",
128*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CNOC_A2NOC,
129*46bdcac5SOdelu Kukatla 	.channels = 1,
130*46bdcac5SOdelu Kukatla 	.buswidth = 8,
131*46bdcac5SOdelu Kukatla 	.num_links = 1,
132*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A2NOC_SNOC },
133*46bdcac5SOdelu Kukatla };
134*46bdcac5SOdelu Kukatla 
135*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_crypto = {
136*46bdcac5SOdelu Kukatla 	.name = "qxm_crypto",
137*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CRYPTO,
138*46bdcac5SOdelu Kukatla 	.channels = 1,
139*46bdcac5SOdelu Kukatla 	.buswidth = 8,
140*46bdcac5SOdelu Kukatla 	.num_links = 1,
141*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A2NOC_SNOC },
142*46bdcac5SOdelu Kukatla };
143*46bdcac5SOdelu Kukatla 
144*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_ipa = {
145*46bdcac5SOdelu Kukatla 	.name = "qxm_ipa",
146*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_IPA,
147*46bdcac5SOdelu Kukatla 	.channels = 1,
148*46bdcac5SOdelu Kukatla 	.buswidth = 8,
149*46bdcac5SOdelu Kukatla 	.num_links = 1,
150*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A2NOC_SNOC },
151*46bdcac5SOdelu Kukatla };
152*46bdcac5SOdelu Kukatla 
153*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_pcie3_0 = {
154*46bdcac5SOdelu Kukatla 	.name = "xm_pcie3_0",
155*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_PCIE_0,
156*46bdcac5SOdelu Kukatla 	.channels = 1,
157*46bdcac5SOdelu Kukatla 	.buswidth = 8,
158*46bdcac5SOdelu Kukatla 	.num_links = 1,
159*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_ANOC_PCIE_GEM_NOC },
160*46bdcac5SOdelu Kukatla };
161*46bdcac5SOdelu Kukatla 
162*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_pcie3_1 = {
163*46bdcac5SOdelu Kukatla 	.name = "xm_pcie3_1",
164*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_PCIE_1,
165*46bdcac5SOdelu Kukatla 	.channels = 1,
166*46bdcac5SOdelu Kukatla 	.buswidth = 8,
167*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_ANOC_PCIE_GEM_NOC },
168*46bdcac5SOdelu Kukatla };
169*46bdcac5SOdelu Kukatla 
170*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_qdss_etr = {
171*46bdcac5SOdelu Kukatla 	.name = "xm_qdss_etr",
172*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QDSS_ETR,
173*46bdcac5SOdelu Kukatla 	.channels = 1,
174*46bdcac5SOdelu Kukatla 	.buswidth = 8,
175*46bdcac5SOdelu Kukatla 	.num_links = 1,
176*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_A2NOC_SNOC },
177*46bdcac5SOdelu Kukatla };
178*46bdcac5SOdelu Kukatla 
179*46bdcac5SOdelu Kukatla static struct qcom_icc_node qup0_core_master = {
180*46bdcac5SOdelu Kukatla 	.name = "qup0_core_master",
181*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QUP_CORE_0,
182*46bdcac5SOdelu Kukatla 	.channels = 1,
183*46bdcac5SOdelu Kukatla 	.buswidth = 4,
184*46bdcac5SOdelu Kukatla 	.num_links = 1,
185*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_QUP_CORE_0 },
186*46bdcac5SOdelu Kukatla };
187*46bdcac5SOdelu Kukatla 
188*46bdcac5SOdelu Kukatla static struct qcom_icc_node qup1_core_master = {
189*46bdcac5SOdelu Kukatla 	.name = "qup1_core_master",
190*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QUP_CORE_1,
191*46bdcac5SOdelu Kukatla 	.channels = 1,
192*46bdcac5SOdelu Kukatla 	.buswidth = 4,
193*46bdcac5SOdelu Kukatla 	.num_links = 1,
194*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_QUP_CORE_1 },
195*46bdcac5SOdelu Kukatla };
196*46bdcac5SOdelu Kukatla 
197*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_cnoc3_cnoc2 = {
198*46bdcac5SOdelu Kukatla 	.name = "qnm_cnoc3_cnoc2",
199*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CNOC3_CNOC2,
200*46bdcac5SOdelu Kukatla 	.channels = 1,
201*46bdcac5SOdelu Kukatla 	.buswidth = 8,
202*46bdcac5SOdelu Kukatla 	.num_links = 44,
203*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_AHB2PHY_SOUTH, SC7280_SLAVE_AHB2PHY_NORTH,
204*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CAMERA_CFG, SC7280_SLAVE_CLK_CTL,
205*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CDSP_CFG, SC7280_SLAVE_RBCPR_CX_CFG,
206*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_RBCPR_MX_CFG, SC7280_SLAVE_CRYPTO_0_CFG,
207*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CX_RDPM, SC7280_SLAVE_DCC_CFG,
208*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_DISPLAY_CFG, SC7280_SLAVE_GFX3D_CFG,
209*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_HWKM, SC7280_SLAVE_IMEM_CFG,
210*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_IPA_CFG, SC7280_SLAVE_IPC_ROUTER_CFG,
211*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_LPASS, SC7280_SLAVE_CNOC_MSS,
212*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_MX_RDPM, SC7280_SLAVE_PCIE_0_CFG,
213*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PCIE_1_CFG, SC7280_SLAVE_PDM,
214*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PIMEM_CFG, SC7280_SLAVE_PKA_WRAPPER_CFG,
215*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PMU_WRAPPER_CFG, SC7280_SLAVE_QDSS_CFG,
216*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_QSPI_0, SC7280_SLAVE_QUP_0,
217*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_QUP_1, SC7280_SLAVE_SDCC_1,
218*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SDCC_2, SC7280_SLAVE_SDCC_4,
219*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SECURITY, SC7280_SLAVE_TCSR,
220*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_TLMM, SC7280_SLAVE_UFS_MEM_CFG,
221*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_USB2, SC7280_SLAVE_USB3_0,
222*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_VENUS_CFG, SC7280_SLAVE_VSENSE_CTRL_CFG,
223*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_A1NOC_CFG, SC7280_SLAVE_A2NOC_CFG,
224*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CNOC_MNOC_CFG, SC7280_SLAVE_SNOC_CFG },
225*46bdcac5SOdelu Kukatla };
226*46bdcac5SOdelu Kukatla 
227*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_qdss_dap = {
228*46bdcac5SOdelu Kukatla 	.name = "xm_qdss_dap",
229*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_QDSS_DAP,
230*46bdcac5SOdelu Kukatla 	.channels = 1,
231*46bdcac5SOdelu Kukatla 	.buswidth = 8,
232*46bdcac5SOdelu Kukatla 	.num_links = 45,
233*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_AHB2PHY_SOUTH, SC7280_SLAVE_AHB2PHY_NORTH,
234*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CAMERA_CFG, SC7280_SLAVE_CLK_CTL,
235*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CDSP_CFG, SC7280_SLAVE_RBCPR_CX_CFG,
236*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_RBCPR_MX_CFG, SC7280_SLAVE_CRYPTO_0_CFG,
237*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CX_RDPM, SC7280_SLAVE_DCC_CFG,
238*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_DISPLAY_CFG, SC7280_SLAVE_GFX3D_CFG,
239*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_HWKM, SC7280_SLAVE_IMEM_CFG,
240*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_IPA_CFG, SC7280_SLAVE_IPC_ROUTER_CFG,
241*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_LPASS, SC7280_SLAVE_CNOC_MSS,
242*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_MX_RDPM, SC7280_SLAVE_PCIE_0_CFG,
243*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PCIE_1_CFG, SC7280_SLAVE_PDM,
244*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PIMEM_CFG, SC7280_SLAVE_PKA_WRAPPER_CFG,
245*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PMU_WRAPPER_CFG, SC7280_SLAVE_QDSS_CFG,
246*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_QSPI_0, SC7280_SLAVE_QUP_0,
247*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_QUP_1, SC7280_SLAVE_SDCC_1,
248*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SDCC_2, SC7280_SLAVE_SDCC_4,
249*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SECURITY, SC7280_SLAVE_TCSR,
250*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_TLMM, SC7280_SLAVE_UFS_MEM_CFG,
251*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_USB2, SC7280_SLAVE_USB3_0,
252*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_VENUS_CFG, SC7280_SLAVE_VSENSE_CTRL_CFG,
253*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_A1NOC_CFG, SC7280_SLAVE_A2NOC_CFG,
254*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CNOC2_CNOC3, SC7280_SLAVE_CNOC_MNOC_CFG,
255*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SNOC_CFG },
256*46bdcac5SOdelu Kukatla };
257*46bdcac5SOdelu Kukatla 
258*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_cnoc2_cnoc3 = {
259*46bdcac5SOdelu Kukatla 	.name = "qnm_cnoc2_cnoc3",
260*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CNOC2_CNOC3,
261*46bdcac5SOdelu Kukatla 	.channels = 1,
262*46bdcac5SOdelu Kukatla 	.buswidth = 8,
263*46bdcac5SOdelu Kukatla 	.num_links = 9,
264*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_AOSS, SC7280_SLAVE_APPSS,
265*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CNOC_A2NOC, SC7280_SLAVE_DDRSS_CFG,
266*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_BOOT_IMEM, SC7280_SLAVE_IMEM,
267*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PIMEM, SC7280_SLAVE_QDSS_STM,
268*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_TCU },
269*46bdcac5SOdelu Kukatla };
270*46bdcac5SOdelu Kukatla 
271*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_gemnoc_cnoc = {
272*46bdcac5SOdelu Kukatla 	.name = "qnm_gemnoc_cnoc",
273*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_GEM_NOC_CNOC,
274*46bdcac5SOdelu Kukatla 	.channels = 1,
275*46bdcac5SOdelu Kukatla 	.buswidth = 16,
276*46bdcac5SOdelu Kukatla 	.num_links = 9,
277*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_AOSS, SC7280_SLAVE_APPSS,
278*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_CNOC3_CNOC2, SC7280_SLAVE_DDRSS_CFG,
279*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_BOOT_IMEM, SC7280_SLAVE_IMEM,
280*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_PIMEM, SC7280_SLAVE_QDSS_STM,
281*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_TCU },
282*46bdcac5SOdelu Kukatla };
283*46bdcac5SOdelu Kukatla 
284*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_gemnoc_pcie = {
285*46bdcac5SOdelu Kukatla 	.name = "qnm_gemnoc_pcie",
286*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_GEM_NOC_PCIE_SNOC,
287*46bdcac5SOdelu Kukatla 	.channels = 1,
288*46bdcac5SOdelu Kukatla 	.buswidth = 8,
289*46bdcac5SOdelu Kukatla 	.num_links = 2,
290*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_PCIE_0, SC7280_SLAVE_PCIE_1 },
291*46bdcac5SOdelu Kukatla };
292*46bdcac5SOdelu Kukatla 
293*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_cnoc_dc_noc = {
294*46bdcac5SOdelu Kukatla 	.name = "qnm_cnoc_dc_noc",
295*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CNOC_DC_NOC,
296*46bdcac5SOdelu Kukatla 	.channels = 1,
297*46bdcac5SOdelu Kukatla 	.buswidth = 4,
298*46bdcac5SOdelu Kukatla 	.num_links = 2,
299*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_LLCC_CFG, SC7280_SLAVE_GEM_NOC_CFG },
300*46bdcac5SOdelu Kukatla };
301*46bdcac5SOdelu Kukatla 
302*46bdcac5SOdelu Kukatla static struct qcom_icc_node alm_gpu_tcu = {
303*46bdcac5SOdelu Kukatla 	.name = "alm_gpu_tcu",
304*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_GPU_TCU,
305*46bdcac5SOdelu Kukatla 	.channels = 1,
306*46bdcac5SOdelu Kukatla 	.buswidth = 8,
307*46bdcac5SOdelu Kukatla 	.num_links = 2,
308*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC },
309*46bdcac5SOdelu Kukatla };
310*46bdcac5SOdelu Kukatla 
311*46bdcac5SOdelu Kukatla static struct qcom_icc_node alm_sys_tcu = {
312*46bdcac5SOdelu Kukatla 	.name = "alm_sys_tcu",
313*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SYS_TCU,
314*46bdcac5SOdelu Kukatla 	.channels = 1,
315*46bdcac5SOdelu Kukatla 	.buswidth = 8,
316*46bdcac5SOdelu Kukatla 	.num_links = 2,
317*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC },
318*46bdcac5SOdelu Kukatla };
319*46bdcac5SOdelu Kukatla 
320*46bdcac5SOdelu Kukatla static struct qcom_icc_node chm_apps = {
321*46bdcac5SOdelu Kukatla 	.name = "chm_apps",
322*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_APPSS_PROC,
323*46bdcac5SOdelu Kukatla 	.channels = 1,
324*46bdcac5SOdelu Kukatla 	.buswidth = 32,
325*46bdcac5SOdelu Kukatla 	.num_links = 3,
326*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC,
327*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_MEM_NOC_PCIE_SNOC },
328*46bdcac5SOdelu Kukatla };
329*46bdcac5SOdelu Kukatla 
330*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_cmpnoc = {
331*46bdcac5SOdelu Kukatla 	.name = "qnm_cmpnoc",
332*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_COMPUTE_NOC,
333*46bdcac5SOdelu Kukatla 	.channels = 2,
334*46bdcac5SOdelu Kukatla 	.buswidth = 32,
335*46bdcac5SOdelu Kukatla 	.num_links = 2,
336*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC },
337*46bdcac5SOdelu Kukatla };
338*46bdcac5SOdelu Kukatla 
339*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_gemnoc_cfg = {
340*46bdcac5SOdelu Kukatla 	.name = "qnm_gemnoc_cfg",
341*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_GEM_NOC_CFG,
342*46bdcac5SOdelu Kukatla 	.channels = 1,
343*46bdcac5SOdelu Kukatla 	.buswidth = 4,
344*46bdcac5SOdelu Kukatla 	.num_links = 5,
345*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MSS_PROC_MS_MPU_CFG, SC7280_SLAVE_MCDMA_MS_MPU_CFG,
346*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SERVICE_GEM_NOC_1, SC7280_SLAVE_SERVICE_GEM_NOC_2,
347*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SERVICE_GEM_NOC },
348*46bdcac5SOdelu Kukatla };
349*46bdcac5SOdelu Kukatla 
350*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_gpu = {
351*46bdcac5SOdelu Kukatla 	.name = "qnm_gpu",
352*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_GFX3D,
353*46bdcac5SOdelu Kukatla 	.channels = 2,
354*46bdcac5SOdelu Kukatla 	.buswidth = 32,
355*46bdcac5SOdelu Kukatla 	.num_links = 2,
356*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC },
357*46bdcac5SOdelu Kukatla };
358*46bdcac5SOdelu Kukatla 
359*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_mnoc_hf = {
360*46bdcac5SOdelu Kukatla 	.name = "qnm_mnoc_hf",
361*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_MNOC_HF_MEM_NOC,
362*46bdcac5SOdelu Kukatla 	.channels = 2,
363*46bdcac5SOdelu Kukatla 	.buswidth = 32,
364*46bdcac5SOdelu Kukatla 	.num_links = 1,
365*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_LLCC },
366*46bdcac5SOdelu Kukatla };
367*46bdcac5SOdelu Kukatla 
368*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_mnoc_sf = {
369*46bdcac5SOdelu Kukatla 	.name = "qnm_mnoc_sf",
370*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_MNOC_SF_MEM_NOC,
371*46bdcac5SOdelu Kukatla 	.channels = 1,
372*46bdcac5SOdelu Kukatla 	.buswidth = 32,
373*46bdcac5SOdelu Kukatla 	.num_links = 2,
374*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC },
375*46bdcac5SOdelu Kukatla };
376*46bdcac5SOdelu Kukatla 
377*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_pcie = {
378*46bdcac5SOdelu Kukatla 	.name = "qnm_pcie",
379*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_ANOC_PCIE_GEM_NOC,
380*46bdcac5SOdelu Kukatla 	.channels = 1,
381*46bdcac5SOdelu Kukatla 	.buswidth = 16,
382*46bdcac5SOdelu Kukatla 	.num_links = 2,
383*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC },
384*46bdcac5SOdelu Kukatla };
385*46bdcac5SOdelu Kukatla 
386*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_snoc_gc = {
387*46bdcac5SOdelu Kukatla 	.name = "qnm_snoc_gc",
388*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SNOC_GC_MEM_NOC,
389*46bdcac5SOdelu Kukatla 	.channels = 1,
390*46bdcac5SOdelu Kukatla 	.buswidth = 8,
391*46bdcac5SOdelu Kukatla 	.num_links = 1,
392*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_LLCC },
393*46bdcac5SOdelu Kukatla };
394*46bdcac5SOdelu Kukatla 
395*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_snoc_sf = {
396*46bdcac5SOdelu Kukatla 	.name = "qnm_snoc_sf",
397*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SNOC_SF_MEM_NOC,
398*46bdcac5SOdelu Kukatla 	.channels = 1,
399*46bdcac5SOdelu Kukatla 	.buswidth = 16,
400*46bdcac5SOdelu Kukatla 	.num_links = 3,
401*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_GEM_NOC_CNOC, SC7280_SLAVE_LLCC,
402*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_MEM_NOC_PCIE_SNOC },
403*46bdcac5SOdelu Kukatla };
404*46bdcac5SOdelu Kukatla 
405*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhm_config_noc = {
406*46bdcac5SOdelu Kukatla 	.name = "qhm_config_noc",
407*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CNOC_LPASS_AG_NOC,
408*46bdcac5SOdelu Kukatla 	.channels = 1,
409*46bdcac5SOdelu Kukatla 	.buswidth = 4,
410*46bdcac5SOdelu Kukatla 	.num_links = 6,
411*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_LPASS_CORE_CFG, SC7280_SLAVE_LPASS_LPI_CFG,
412*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_LPASS_MPU_CFG, SC7280_SLAVE_LPASS_TOP_CFG,
413*46bdcac5SOdelu Kukatla 		   SC7280_SLAVE_SERVICES_LPASS_AML_NOC, SC7280_SLAVE_SERVICE_LPASS_AG_NOC },
414*46bdcac5SOdelu Kukatla };
415*46bdcac5SOdelu Kukatla 
416*46bdcac5SOdelu Kukatla static struct qcom_icc_node llcc_mc = {
417*46bdcac5SOdelu Kukatla 	.name = "llcc_mc",
418*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_LLCC,
419*46bdcac5SOdelu Kukatla 	.channels = 2,
420*46bdcac5SOdelu Kukatla 	.buswidth = 4,
421*46bdcac5SOdelu Kukatla 	.num_links = 1,
422*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_EBI1 },
423*46bdcac5SOdelu Kukatla };
424*46bdcac5SOdelu Kukatla 
425*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_mnoc_cfg = {
426*46bdcac5SOdelu Kukatla 	.name = "qnm_mnoc_cfg",
427*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CNOC_MNOC_CFG,
428*46bdcac5SOdelu Kukatla 	.channels = 1,
429*46bdcac5SOdelu Kukatla 	.buswidth = 4,
430*46bdcac5SOdelu Kukatla 	.num_links = 1,
431*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SERVICE_MNOC },
432*46bdcac5SOdelu Kukatla };
433*46bdcac5SOdelu Kukatla 
434*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_video0 = {
435*46bdcac5SOdelu Kukatla 	.name = "qnm_video0",
436*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_VIDEO_P0,
437*46bdcac5SOdelu Kukatla 	.channels = 1,
438*46bdcac5SOdelu Kukatla 	.buswidth = 32,
439*46bdcac5SOdelu Kukatla 	.num_links = 1,
440*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MNOC_SF_MEM_NOC },
441*46bdcac5SOdelu Kukatla };
442*46bdcac5SOdelu Kukatla 
443*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_video_cpu = {
444*46bdcac5SOdelu Kukatla 	.name = "qnm_video_cpu",
445*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_VIDEO_PROC,
446*46bdcac5SOdelu Kukatla 	.channels = 1,
447*46bdcac5SOdelu Kukatla 	.buswidth = 8,
448*46bdcac5SOdelu Kukatla 	.num_links = 1,
449*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MNOC_SF_MEM_NOC },
450*46bdcac5SOdelu Kukatla };
451*46bdcac5SOdelu Kukatla 
452*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_camnoc_hf = {
453*46bdcac5SOdelu Kukatla 	.name = "qxm_camnoc_hf",
454*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CAMNOC_HF,
455*46bdcac5SOdelu Kukatla 	.channels = 2,
456*46bdcac5SOdelu Kukatla 	.buswidth = 32,
457*46bdcac5SOdelu Kukatla 	.num_links = 1,
458*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MNOC_HF_MEM_NOC },
459*46bdcac5SOdelu Kukatla };
460*46bdcac5SOdelu Kukatla 
461*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_camnoc_icp = {
462*46bdcac5SOdelu Kukatla 	.name = "qxm_camnoc_icp",
463*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CAMNOC_ICP,
464*46bdcac5SOdelu Kukatla 	.channels = 1,
465*46bdcac5SOdelu Kukatla 	.buswidth = 8,
466*46bdcac5SOdelu Kukatla 	.num_links = 1,
467*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MNOC_SF_MEM_NOC },
468*46bdcac5SOdelu Kukatla };
469*46bdcac5SOdelu Kukatla 
470*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_camnoc_sf = {
471*46bdcac5SOdelu Kukatla 	.name = "qxm_camnoc_sf",
472*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CAMNOC_SF,
473*46bdcac5SOdelu Kukatla 	.channels = 1,
474*46bdcac5SOdelu Kukatla 	.buswidth = 32,
475*46bdcac5SOdelu Kukatla 	.num_links = 1,
476*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MNOC_SF_MEM_NOC },
477*46bdcac5SOdelu Kukatla };
478*46bdcac5SOdelu Kukatla 
479*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_mdp0 = {
480*46bdcac5SOdelu Kukatla 	.name = "qxm_mdp0",
481*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_MDP0,
482*46bdcac5SOdelu Kukatla 	.channels = 1,
483*46bdcac5SOdelu Kukatla 	.buswidth = 32,
484*46bdcac5SOdelu Kukatla 	.num_links = 1,
485*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_MNOC_HF_MEM_NOC },
486*46bdcac5SOdelu Kukatla };
487*46bdcac5SOdelu Kukatla 
488*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhm_nsp_noc_config = {
489*46bdcac5SOdelu Kukatla 	.name = "qhm_nsp_noc_config",
490*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CDSP_NOC_CFG,
491*46bdcac5SOdelu Kukatla 	.channels = 1,
492*46bdcac5SOdelu Kukatla 	.buswidth = 4,
493*46bdcac5SOdelu Kukatla 	.num_links = 1,
494*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SERVICE_NSP_NOC },
495*46bdcac5SOdelu Kukatla };
496*46bdcac5SOdelu Kukatla 
497*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_nsp = {
498*46bdcac5SOdelu Kukatla 	.name = "qxm_nsp",
499*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_CDSP_PROC,
500*46bdcac5SOdelu Kukatla 	.channels = 2,
501*46bdcac5SOdelu Kukatla 	.buswidth = 32,
502*46bdcac5SOdelu Kukatla 	.num_links = 1,
503*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_CDSP_MEM_NOC },
504*46bdcac5SOdelu Kukatla };
505*46bdcac5SOdelu Kukatla 
506*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_aggre1_noc = {
507*46bdcac5SOdelu Kukatla 	.name = "qnm_aggre1_noc",
508*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_A1NOC_SNOC,
509*46bdcac5SOdelu Kukatla 	.channels = 1,
510*46bdcac5SOdelu Kukatla 	.buswidth = 16,
511*46bdcac5SOdelu Kukatla 	.num_links = 1,
512*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SNOC_GEM_NOC_SF },
513*46bdcac5SOdelu Kukatla };
514*46bdcac5SOdelu Kukatla 
515*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_aggre2_noc = {
516*46bdcac5SOdelu Kukatla 	.name = "qnm_aggre2_noc",
517*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_A2NOC_SNOC,
518*46bdcac5SOdelu Kukatla 	.channels = 1,
519*46bdcac5SOdelu Kukatla 	.buswidth = 16,
520*46bdcac5SOdelu Kukatla 	.num_links = 1,
521*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SNOC_GEM_NOC_SF },
522*46bdcac5SOdelu Kukatla };
523*46bdcac5SOdelu Kukatla 
524*46bdcac5SOdelu Kukatla static struct qcom_icc_node qnm_snoc_cfg = {
525*46bdcac5SOdelu Kukatla 	.name = "qnm_snoc_cfg",
526*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_SNOC_CFG,
527*46bdcac5SOdelu Kukatla 	.channels = 1,
528*46bdcac5SOdelu Kukatla 	.buswidth = 4,
529*46bdcac5SOdelu Kukatla 	.num_links = 1,
530*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SERVICE_SNOC },
531*46bdcac5SOdelu Kukatla };
532*46bdcac5SOdelu Kukatla 
533*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxm_pimem = {
534*46bdcac5SOdelu Kukatla 	.name = "qxm_pimem",
535*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_PIMEM,
536*46bdcac5SOdelu Kukatla 	.channels = 1,
537*46bdcac5SOdelu Kukatla 	.buswidth = 8,
538*46bdcac5SOdelu Kukatla 	.num_links = 1,
539*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SNOC_GEM_NOC_GC },
540*46bdcac5SOdelu Kukatla };
541*46bdcac5SOdelu Kukatla 
542*46bdcac5SOdelu Kukatla static struct qcom_icc_node xm_gic = {
543*46bdcac5SOdelu Kukatla 	.name = "xm_gic",
544*46bdcac5SOdelu Kukatla 	.id = SC7280_MASTER_GIC,
545*46bdcac5SOdelu Kukatla 	.channels = 1,
546*46bdcac5SOdelu Kukatla 	.buswidth = 8,
547*46bdcac5SOdelu Kukatla 	.num_links = 1,
548*46bdcac5SOdelu Kukatla 	.links = { SC7280_SLAVE_SNOC_GEM_NOC_GC },
549*46bdcac5SOdelu Kukatla };
550*46bdcac5SOdelu Kukatla 
551*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_a1noc_snoc = {
552*46bdcac5SOdelu Kukatla 	.name = "qns_a1noc_snoc",
553*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_A1NOC_SNOC,
554*46bdcac5SOdelu Kukatla 	.channels = 1,
555*46bdcac5SOdelu Kukatla 	.buswidth = 16,
556*46bdcac5SOdelu Kukatla 	.num_links = 1,
557*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_A1NOC_SNOC },
558*46bdcac5SOdelu Kukatla };
559*46bdcac5SOdelu Kukatla 
560*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_aggre1_noc = {
561*46bdcac5SOdelu Kukatla 	.name = "srvc_aggre1_noc",
562*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_A1NOC,
563*46bdcac5SOdelu Kukatla 	.channels = 1,
564*46bdcac5SOdelu Kukatla 	.buswidth = 4,
565*46bdcac5SOdelu Kukatla 	.num_links = 0,
566*46bdcac5SOdelu Kukatla };
567*46bdcac5SOdelu Kukatla 
568*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_a2noc_snoc = {
569*46bdcac5SOdelu Kukatla 	.name = "qns_a2noc_snoc",
570*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_A2NOC_SNOC,
571*46bdcac5SOdelu Kukatla 	.channels = 1,
572*46bdcac5SOdelu Kukatla 	.buswidth = 16,
573*46bdcac5SOdelu Kukatla 	.num_links = 1,
574*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_A2NOC_SNOC },
575*46bdcac5SOdelu Kukatla };
576*46bdcac5SOdelu Kukatla 
577*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_pcie_mem_noc = {
578*46bdcac5SOdelu Kukatla 	.name = "qns_pcie_mem_noc",
579*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_ANOC_PCIE_GEM_NOC,
580*46bdcac5SOdelu Kukatla 	.channels = 1,
581*46bdcac5SOdelu Kukatla 	.buswidth = 16,
582*46bdcac5SOdelu Kukatla 	.num_links = 1,
583*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_ANOC_PCIE_GEM_NOC },
584*46bdcac5SOdelu Kukatla };
585*46bdcac5SOdelu Kukatla 
586*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_aggre2_noc = {
587*46bdcac5SOdelu Kukatla 	.name = "srvc_aggre2_noc",
588*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_A2NOC,
589*46bdcac5SOdelu Kukatla 	.channels = 1,
590*46bdcac5SOdelu Kukatla 	.buswidth = 4,
591*46bdcac5SOdelu Kukatla 	.num_links = 0,
592*46bdcac5SOdelu Kukatla };
593*46bdcac5SOdelu Kukatla 
594*46bdcac5SOdelu Kukatla static struct qcom_icc_node qup0_core_slave = {
595*46bdcac5SOdelu Kukatla 	.name = "qup0_core_slave",
596*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QUP_CORE_0,
597*46bdcac5SOdelu Kukatla 	.channels = 1,
598*46bdcac5SOdelu Kukatla 	.buswidth = 4,
599*46bdcac5SOdelu Kukatla 	.num_links = 0,
600*46bdcac5SOdelu Kukatla };
601*46bdcac5SOdelu Kukatla 
602*46bdcac5SOdelu Kukatla static struct qcom_icc_node qup1_core_slave = {
603*46bdcac5SOdelu Kukatla 	.name = "qup1_core_slave",
604*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QUP_CORE_1,
605*46bdcac5SOdelu Kukatla 	.channels = 1,
606*46bdcac5SOdelu Kukatla 	.buswidth = 4,
607*46bdcac5SOdelu Kukatla 	.num_links = 0,
608*46bdcac5SOdelu Kukatla };
609*46bdcac5SOdelu Kukatla 
610*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy0 = {
611*46bdcac5SOdelu Kukatla 	.name = "qhs_ahb2phy0",
612*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_AHB2PHY_SOUTH,
613*46bdcac5SOdelu Kukatla 	.channels = 1,
614*46bdcac5SOdelu Kukatla 	.buswidth = 4,
615*46bdcac5SOdelu Kukatla 	.num_links = 0,
616*46bdcac5SOdelu Kukatla };
617*46bdcac5SOdelu Kukatla 
618*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy1 = {
619*46bdcac5SOdelu Kukatla 	.name = "qhs_ahb2phy1",
620*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_AHB2PHY_NORTH,
621*46bdcac5SOdelu Kukatla 	.channels = 1,
622*46bdcac5SOdelu Kukatla 	.buswidth = 4,
623*46bdcac5SOdelu Kukatla 	.num_links = 0,
624*46bdcac5SOdelu Kukatla };
625*46bdcac5SOdelu Kukatla 
626*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_camera_cfg = {
627*46bdcac5SOdelu Kukatla 	.name = "qhs_camera_cfg",
628*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CAMERA_CFG,
629*46bdcac5SOdelu Kukatla 	.channels = 1,
630*46bdcac5SOdelu Kukatla 	.buswidth = 4,
631*46bdcac5SOdelu Kukatla 	.num_links = 0,
632*46bdcac5SOdelu Kukatla };
633*46bdcac5SOdelu Kukatla 
634*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_clk_ctl = {
635*46bdcac5SOdelu Kukatla 	.name = "qhs_clk_ctl",
636*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CLK_CTL,
637*46bdcac5SOdelu Kukatla 	.channels = 1,
638*46bdcac5SOdelu Kukatla 	.buswidth = 4,
639*46bdcac5SOdelu Kukatla 	.num_links = 0,
640*46bdcac5SOdelu Kukatla };
641*46bdcac5SOdelu Kukatla 
642*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_compute_cfg = {
643*46bdcac5SOdelu Kukatla 	.name = "qhs_compute_cfg",
644*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CDSP_CFG,
645*46bdcac5SOdelu Kukatla 	.channels = 1,
646*46bdcac5SOdelu Kukatla 	.buswidth = 4,
647*46bdcac5SOdelu Kukatla 	.num_links = 1,
648*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CDSP_NOC_CFG },
649*46bdcac5SOdelu Kukatla };
650*46bdcac5SOdelu Kukatla 
651*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_cpr_cx = {
652*46bdcac5SOdelu Kukatla 	.name = "qhs_cpr_cx",
653*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_RBCPR_CX_CFG,
654*46bdcac5SOdelu Kukatla 	.channels = 1,
655*46bdcac5SOdelu Kukatla 	.buswidth = 4,
656*46bdcac5SOdelu Kukatla 	.num_links = 0,
657*46bdcac5SOdelu Kukatla };
658*46bdcac5SOdelu Kukatla 
659*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_cpr_mx = {
660*46bdcac5SOdelu Kukatla 	.name = "qhs_cpr_mx",
661*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_RBCPR_MX_CFG,
662*46bdcac5SOdelu Kukatla 	.channels = 1,
663*46bdcac5SOdelu Kukatla 	.buswidth = 4,
664*46bdcac5SOdelu Kukatla 	.num_links = 0,
665*46bdcac5SOdelu Kukatla };
666*46bdcac5SOdelu Kukatla 
667*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_crypto0_cfg = {
668*46bdcac5SOdelu Kukatla 	.name = "qhs_crypto0_cfg",
669*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CRYPTO_0_CFG,
670*46bdcac5SOdelu Kukatla 	.channels = 1,
671*46bdcac5SOdelu Kukatla 	.buswidth = 4,
672*46bdcac5SOdelu Kukatla 	.num_links = 0,
673*46bdcac5SOdelu Kukatla };
674*46bdcac5SOdelu Kukatla 
675*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_cx_rdpm = {
676*46bdcac5SOdelu Kukatla 	.name = "qhs_cx_rdpm",
677*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CX_RDPM,
678*46bdcac5SOdelu Kukatla 	.channels = 1,
679*46bdcac5SOdelu Kukatla 	.buswidth = 4,
680*46bdcac5SOdelu Kukatla 	.num_links = 0,
681*46bdcac5SOdelu Kukatla };
682*46bdcac5SOdelu Kukatla 
683*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_dcc_cfg = {
684*46bdcac5SOdelu Kukatla 	.name = "qhs_dcc_cfg",
685*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_DCC_CFG,
686*46bdcac5SOdelu Kukatla 	.channels = 1,
687*46bdcac5SOdelu Kukatla 	.buswidth = 4,
688*46bdcac5SOdelu Kukatla 	.num_links = 0,
689*46bdcac5SOdelu Kukatla };
690*46bdcac5SOdelu Kukatla 
691*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_display_cfg = {
692*46bdcac5SOdelu Kukatla 	.name = "qhs_display_cfg",
693*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_DISPLAY_CFG,
694*46bdcac5SOdelu Kukatla 	.channels = 1,
695*46bdcac5SOdelu Kukatla 	.buswidth = 4,
696*46bdcac5SOdelu Kukatla 	.num_links = 0,
697*46bdcac5SOdelu Kukatla };
698*46bdcac5SOdelu Kukatla 
699*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_gpuss_cfg = {
700*46bdcac5SOdelu Kukatla 	.name = "qhs_gpuss_cfg",
701*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_GFX3D_CFG,
702*46bdcac5SOdelu Kukatla 	.channels = 1,
703*46bdcac5SOdelu Kukatla 	.buswidth = 8,
704*46bdcac5SOdelu Kukatla 	.num_links = 0,
705*46bdcac5SOdelu Kukatla };
706*46bdcac5SOdelu Kukatla 
707*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_hwkm = {
708*46bdcac5SOdelu Kukatla 	.name = "qhs_hwkm",
709*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_HWKM,
710*46bdcac5SOdelu Kukatla 	.channels = 1,
711*46bdcac5SOdelu Kukatla 	.buswidth = 4,
712*46bdcac5SOdelu Kukatla 	.num_links = 0,
713*46bdcac5SOdelu Kukatla };
714*46bdcac5SOdelu Kukatla 
715*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_imem_cfg = {
716*46bdcac5SOdelu Kukatla 	.name = "qhs_imem_cfg",
717*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_IMEM_CFG,
718*46bdcac5SOdelu Kukatla 	.channels = 1,
719*46bdcac5SOdelu Kukatla 	.buswidth = 4,
720*46bdcac5SOdelu Kukatla 	.num_links = 0,
721*46bdcac5SOdelu Kukatla };
722*46bdcac5SOdelu Kukatla 
723*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_ipa = {
724*46bdcac5SOdelu Kukatla 	.name = "qhs_ipa",
725*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_IPA_CFG,
726*46bdcac5SOdelu Kukatla 	.channels = 1,
727*46bdcac5SOdelu Kukatla 	.buswidth = 4,
728*46bdcac5SOdelu Kukatla 	.num_links = 0,
729*46bdcac5SOdelu Kukatla };
730*46bdcac5SOdelu Kukatla 
731*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_ipc_router = {
732*46bdcac5SOdelu Kukatla 	.name = "qhs_ipc_router",
733*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_IPC_ROUTER_CFG,
734*46bdcac5SOdelu Kukatla 	.channels = 1,
735*46bdcac5SOdelu Kukatla 	.buswidth = 4,
736*46bdcac5SOdelu Kukatla 	.num_links = 0,
737*46bdcac5SOdelu Kukatla };
738*46bdcac5SOdelu Kukatla 
739*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_lpass_cfg = {
740*46bdcac5SOdelu Kukatla 	.name = "qhs_lpass_cfg",
741*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LPASS,
742*46bdcac5SOdelu Kukatla 	.channels = 1,
743*46bdcac5SOdelu Kukatla 	.buswidth = 4,
744*46bdcac5SOdelu Kukatla 	.num_links = 1,
745*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CNOC_LPASS_AG_NOC },
746*46bdcac5SOdelu Kukatla };
747*46bdcac5SOdelu Kukatla 
748*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_mss_cfg = {
749*46bdcac5SOdelu Kukatla 	.name = "qhs_mss_cfg",
750*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CNOC_MSS,
751*46bdcac5SOdelu Kukatla 	.channels = 1,
752*46bdcac5SOdelu Kukatla 	.buswidth = 4,
753*46bdcac5SOdelu Kukatla 	.num_links = 0,
754*46bdcac5SOdelu Kukatla };
755*46bdcac5SOdelu Kukatla 
756*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_mx_rdpm = {
757*46bdcac5SOdelu Kukatla 	.name = "qhs_mx_rdpm",
758*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_MX_RDPM,
759*46bdcac5SOdelu Kukatla 	.channels = 1,
760*46bdcac5SOdelu Kukatla 	.buswidth = 4,
761*46bdcac5SOdelu Kukatla 	.num_links = 0,
762*46bdcac5SOdelu Kukatla };
763*46bdcac5SOdelu Kukatla 
764*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_pcie0_cfg = {
765*46bdcac5SOdelu Kukatla 	.name = "qhs_pcie0_cfg",
766*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PCIE_0_CFG,
767*46bdcac5SOdelu Kukatla 	.channels = 1,
768*46bdcac5SOdelu Kukatla 	.buswidth = 4,
769*46bdcac5SOdelu Kukatla 	.num_links = 0,
770*46bdcac5SOdelu Kukatla };
771*46bdcac5SOdelu Kukatla 
772*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_pcie1_cfg = {
773*46bdcac5SOdelu Kukatla 	.name = "qhs_pcie1_cfg",
774*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PCIE_1_CFG,
775*46bdcac5SOdelu Kukatla 	.channels = 1,
776*46bdcac5SOdelu Kukatla 	.buswidth = 4,
777*46bdcac5SOdelu Kukatla 	.num_links = 0,
778*46bdcac5SOdelu Kukatla };
779*46bdcac5SOdelu Kukatla 
780*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_pdm = {
781*46bdcac5SOdelu Kukatla 	.name = "qhs_pdm",
782*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PDM,
783*46bdcac5SOdelu Kukatla 	.channels = 1,
784*46bdcac5SOdelu Kukatla 	.buswidth = 4,
785*46bdcac5SOdelu Kukatla 	.num_links = 0,
786*46bdcac5SOdelu Kukatla };
787*46bdcac5SOdelu Kukatla 
788*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_pimem_cfg = {
789*46bdcac5SOdelu Kukatla 	.name = "qhs_pimem_cfg",
790*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PIMEM_CFG,
791*46bdcac5SOdelu Kukatla 	.channels = 1,
792*46bdcac5SOdelu Kukatla 	.buswidth = 4,
793*46bdcac5SOdelu Kukatla 	.num_links = 0,
794*46bdcac5SOdelu Kukatla };
795*46bdcac5SOdelu Kukatla 
796*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_pka_wrapper_cfg = {
797*46bdcac5SOdelu Kukatla 	.name = "qhs_pka_wrapper_cfg",
798*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PKA_WRAPPER_CFG,
799*46bdcac5SOdelu Kukatla 	.channels = 1,
800*46bdcac5SOdelu Kukatla 	.buswidth = 4,
801*46bdcac5SOdelu Kukatla 	.num_links = 0,
802*46bdcac5SOdelu Kukatla };
803*46bdcac5SOdelu Kukatla 
804*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_pmu_wrapper_cfg = {
805*46bdcac5SOdelu Kukatla 	.name = "qhs_pmu_wrapper_cfg",
806*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PMU_WRAPPER_CFG,
807*46bdcac5SOdelu Kukatla 	.channels = 1,
808*46bdcac5SOdelu Kukatla 	.buswidth = 4,
809*46bdcac5SOdelu Kukatla 	.num_links = 0,
810*46bdcac5SOdelu Kukatla };
811*46bdcac5SOdelu Kukatla 
812*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_qdss_cfg = {
813*46bdcac5SOdelu Kukatla 	.name = "qhs_qdss_cfg",
814*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QDSS_CFG,
815*46bdcac5SOdelu Kukatla 	.channels = 1,
816*46bdcac5SOdelu Kukatla 	.buswidth = 4,
817*46bdcac5SOdelu Kukatla 	.num_links = 0,
818*46bdcac5SOdelu Kukatla };
819*46bdcac5SOdelu Kukatla 
820*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_qspi = {
821*46bdcac5SOdelu Kukatla 	.name = "qhs_qspi",
822*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QSPI_0,
823*46bdcac5SOdelu Kukatla 	.channels = 1,
824*46bdcac5SOdelu Kukatla 	.buswidth = 4,
825*46bdcac5SOdelu Kukatla 	.num_links = 0,
826*46bdcac5SOdelu Kukatla };
827*46bdcac5SOdelu Kukatla 
828*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_qup0 = {
829*46bdcac5SOdelu Kukatla 	.name = "qhs_qup0",
830*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QUP_0,
831*46bdcac5SOdelu Kukatla 	.channels = 1,
832*46bdcac5SOdelu Kukatla 	.buswidth = 4,
833*46bdcac5SOdelu Kukatla 	.num_links = 0,
834*46bdcac5SOdelu Kukatla };
835*46bdcac5SOdelu Kukatla 
836*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_qup1 = {
837*46bdcac5SOdelu Kukatla 	.name = "qhs_qup1",
838*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QUP_1,
839*46bdcac5SOdelu Kukatla 	.channels = 1,
840*46bdcac5SOdelu Kukatla 	.buswidth = 4,
841*46bdcac5SOdelu Kukatla 	.num_links = 0,
842*46bdcac5SOdelu Kukatla };
843*46bdcac5SOdelu Kukatla 
844*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_sdc1 = {
845*46bdcac5SOdelu Kukatla 	.name = "qhs_sdc1",
846*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SDCC_1,
847*46bdcac5SOdelu Kukatla 	.channels = 1,
848*46bdcac5SOdelu Kukatla 	.buswidth = 4,
849*46bdcac5SOdelu Kukatla 	.num_links = 0,
850*46bdcac5SOdelu Kukatla };
851*46bdcac5SOdelu Kukatla 
852*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_sdc2 = {
853*46bdcac5SOdelu Kukatla 	.name = "qhs_sdc2",
854*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SDCC_2,
855*46bdcac5SOdelu Kukatla 	.channels = 1,
856*46bdcac5SOdelu Kukatla 	.buswidth = 4,
857*46bdcac5SOdelu Kukatla 	.num_links = 0,
858*46bdcac5SOdelu Kukatla };
859*46bdcac5SOdelu Kukatla 
860*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_sdc4 = {
861*46bdcac5SOdelu Kukatla 	.name = "qhs_sdc4",
862*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SDCC_4,
863*46bdcac5SOdelu Kukatla 	.channels = 1,
864*46bdcac5SOdelu Kukatla 	.buswidth = 4,
865*46bdcac5SOdelu Kukatla 	.num_links = 0,
866*46bdcac5SOdelu Kukatla };
867*46bdcac5SOdelu Kukatla 
868*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_security = {
869*46bdcac5SOdelu Kukatla 	.name = "qhs_security",
870*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SECURITY,
871*46bdcac5SOdelu Kukatla 	.channels = 1,
872*46bdcac5SOdelu Kukatla 	.buswidth = 4,
873*46bdcac5SOdelu Kukatla 	.num_links = 0,
874*46bdcac5SOdelu Kukatla };
875*46bdcac5SOdelu Kukatla 
876*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_tcsr = {
877*46bdcac5SOdelu Kukatla 	.name = "qhs_tcsr",
878*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_TCSR,
879*46bdcac5SOdelu Kukatla 	.channels = 1,
880*46bdcac5SOdelu Kukatla 	.buswidth = 4,
881*46bdcac5SOdelu Kukatla 	.num_links = 0,
882*46bdcac5SOdelu Kukatla };
883*46bdcac5SOdelu Kukatla 
884*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_tlmm = {
885*46bdcac5SOdelu Kukatla 	.name = "qhs_tlmm",
886*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_TLMM,
887*46bdcac5SOdelu Kukatla 	.channels = 1,
888*46bdcac5SOdelu Kukatla 	.buswidth = 4,
889*46bdcac5SOdelu Kukatla 	.num_links = 0,
890*46bdcac5SOdelu Kukatla };
891*46bdcac5SOdelu Kukatla 
892*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_ufs_mem_cfg = {
893*46bdcac5SOdelu Kukatla 	.name = "qhs_ufs_mem_cfg",
894*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_UFS_MEM_CFG,
895*46bdcac5SOdelu Kukatla 	.channels = 1,
896*46bdcac5SOdelu Kukatla 	.buswidth = 4,
897*46bdcac5SOdelu Kukatla 	.num_links = 0,
898*46bdcac5SOdelu Kukatla };
899*46bdcac5SOdelu Kukatla 
900*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_usb2 = {
901*46bdcac5SOdelu Kukatla 	.name = "qhs_usb2",
902*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_USB2,
903*46bdcac5SOdelu Kukatla 	.channels = 1,
904*46bdcac5SOdelu Kukatla 	.buswidth = 4,
905*46bdcac5SOdelu Kukatla 	.num_links = 0,
906*46bdcac5SOdelu Kukatla };
907*46bdcac5SOdelu Kukatla 
908*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_usb3_0 = {
909*46bdcac5SOdelu Kukatla 	.name = "qhs_usb3_0",
910*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_USB3_0,
911*46bdcac5SOdelu Kukatla 	.channels = 1,
912*46bdcac5SOdelu Kukatla 	.buswidth = 4,
913*46bdcac5SOdelu Kukatla 	.num_links = 0,
914*46bdcac5SOdelu Kukatla };
915*46bdcac5SOdelu Kukatla 
916*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_venus_cfg = {
917*46bdcac5SOdelu Kukatla 	.name = "qhs_venus_cfg",
918*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_VENUS_CFG,
919*46bdcac5SOdelu Kukatla 	.channels = 1,
920*46bdcac5SOdelu Kukatla 	.buswidth = 4,
921*46bdcac5SOdelu Kukatla 	.num_links = 0,
922*46bdcac5SOdelu Kukatla };
923*46bdcac5SOdelu Kukatla 
924*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_vsense_ctrl_cfg = {
925*46bdcac5SOdelu Kukatla 	.name = "qhs_vsense_ctrl_cfg",
926*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_VSENSE_CTRL_CFG,
927*46bdcac5SOdelu Kukatla 	.channels = 1,
928*46bdcac5SOdelu Kukatla 	.buswidth = 4,
929*46bdcac5SOdelu Kukatla 	.num_links = 0,
930*46bdcac5SOdelu Kukatla };
931*46bdcac5SOdelu Kukatla 
932*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_a1_noc_cfg = {
933*46bdcac5SOdelu Kukatla 	.name = "qns_a1_noc_cfg",
934*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_A1NOC_CFG,
935*46bdcac5SOdelu Kukatla 	.channels = 1,
936*46bdcac5SOdelu Kukatla 	.buswidth = 4,
937*46bdcac5SOdelu Kukatla 	.num_links = 1,
938*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_A1NOC_CFG },
939*46bdcac5SOdelu Kukatla };
940*46bdcac5SOdelu Kukatla 
941*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_a2_noc_cfg = {
942*46bdcac5SOdelu Kukatla 	.name = "qns_a2_noc_cfg",
943*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_A2NOC_CFG,
944*46bdcac5SOdelu Kukatla 	.channels = 1,
945*46bdcac5SOdelu Kukatla 	.buswidth = 4,
946*46bdcac5SOdelu Kukatla 	.num_links = 1,
947*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_A2NOC_CFG },
948*46bdcac5SOdelu Kukatla };
949*46bdcac5SOdelu Kukatla 
950*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_cnoc2_cnoc3 = {
951*46bdcac5SOdelu Kukatla 	.name = "qns_cnoc2_cnoc3",
952*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CNOC2_CNOC3,
953*46bdcac5SOdelu Kukatla 	.channels = 1,
954*46bdcac5SOdelu Kukatla 	.buswidth = 8,
955*46bdcac5SOdelu Kukatla 	.num_links = 1,
956*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CNOC2_CNOC3 },
957*46bdcac5SOdelu Kukatla };
958*46bdcac5SOdelu Kukatla 
959*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_mnoc_cfg = {
960*46bdcac5SOdelu Kukatla 	.name = "qns_mnoc_cfg",
961*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CNOC_MNOC_CFG,
962*46bdcac5SOdelu Kukatla 	.channels = 1,
963*46bdcac5SOdelu Kukatla 	.buswidth = 4,
964*46bdcac5SOdelu Kukatla 	.num_links = 1,
965*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CNOC_MNOC_CFG },
966*46bdcac5SOdelu Kukatla };
967*46bdcac5SOdelu Kukatla 
968*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_snoc_cfg = {
969*46bdcac5SOdelu Kukatla 	.name = "qns_snoc_cfg",
970*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SNOC_CFG,
971*46bdcac5SOdelu Kukatla 	.channels = 1,
972*46bdcac5SOdelu Kukatla 	.buswidth = 4,
973*46bdcac5SOdelu Kukatla 	.num_links = 1,
974*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_SNOC_CFG },
975*46bdcac5SOdelu Kukatla };
976*46bdcac5SOdelu Kukatla 
977*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_aoss = {
978*46bdcac5SOdelu Kukatla 	.name = "qhs_aoss",
979*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_AOSS,
980*46bdcac5SOdelu Kukatla 	.channels = 1,
981*46bdcac5SOdelu Kukatla 	.buswidth = 4,
982*46bdcac5SOdelu Kukatla 	.num_links = 0,
983*46bdcac5SOdelu Kukatla };
984*46bdcac5SOdelu Kukatla 
985*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_apss = {
986*46bdcac5SOdelu Kukatla 	.name = "qhs_apss",
987*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_APPSS,
988*46bdcac5SOdelu Kukatla 	.channels = 1,
989*46bdcac5SOdelu Kukatla 	.buswidth = 8,
990*46bdcac5SOdelu Kukatla 	.num_links = 0,
991*46bdcac5SOdelu Kukatla };
992*46bdcac5SOdelu Kukatla 
993*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_cnoc3_cnoc2 = {
994*46bdcac5SOdelu Kukatla 	.name = "qns_cnoc3_cnoc2",
995*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CNOC3_CNOC2,
996*46bdcac5SOdelu Kukatla 	.channels = 1,
997*46bdcac5SOdelu Kukatla 	.buswidth = 8,
998*46bdcac5SOdelu Kukatla 	.num_links = 1,
999*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CNOC3_CNOC2 },
1000*46bdcac5SOdelu Kukatla };
1001*46bdcac5SOdelu Kukatla 
1002*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_cnoc_a2noc = {
1003*46bdcac5SOdelu Kukatla 	.name = "qns_cnoc_a2noc",
1004*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CNOC_A2NOC,
1005*46bdcac5SOdelu Kukatla 	.channels = 1,
1006*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1007*46bdcac5SOdelu Kukatla 	.num_links = 1,
1008*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CNOC_A2NOC },
1009*46bdcac5SOdelu Kukatla };
1010*46bdcac5SOdelu Kukatla 
1011*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_ddrss_cfg = {
1012*46bdcac5SOdelu Kukatla 	.name = "qns_ddrss_cfg",
1013*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_DDRSS_CFG,
1014*46bdcac5SOdelu Kukatla 	.channels = 1,
1015*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1016*46bdcac5SOdelu Kukatla 	.num_links = 1,
1017*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_CNOC_DC_NOC },
1018*46bdcac5SOdelu Kukatla };
1019*46bdcac5SOdelu Kukatla 
1020*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxs_boot_imem = {
1021*46bdcac5SOdelu Kukatla 	.name = "qxs_boot_imem",
1022*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_BOOT_IMEM,
1023*46bdcac5SOdelu Kukatla 	.channels = 1,
1024*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1025*46bdcac5SOdelu Kukatla 	.num_links = 0,
1026*46bdcac5SOdelu Kukatla };
1027*46bdcac5SOdelu Kukatla 
1028*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxs_imem = {
1029*46bdcac5SOdelu Kukatla 	.name = "qxs_imem",
1030*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_IMEM,
1031*46bdcac5SOdelu Kukatla 	.channels = 1,
1032*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1033*46bdcac5SOdelu Kukatla 	.num_links = 0,
1034*46bdcac5SOdelu Kukatla };
1035*46bdcac5SOdelu Kukatla 
1036*46bdcac5SOdelu Kukatla static struct qcom_icc_node qxs_pimem = {
1037*46bdcac5SOdelu Kukatla 	.name = "qxs_pimem",
1038*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PIMEM,
1039*46bdcac5SOdelu Kukatla 	.channels = 1,
1040*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1041*46bdcac5SOdelu Kukatla 	.num_links = 0,
1042*46bdcac5SOdelu Kukatla };
1043*46bdcac5SOdelu Kukatla 
1044*46bdcac5SOdelu Kukatla static struct qcom_icc_node xs_pcie_0 = {
1045*46bdcac5SOdelu Kukatla 	.name = "xs_pcie_0",
1046*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PCIE_0,
1047*46bdcac5SOdelu Kukatla 	.channels = 1,
1048*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1049*46bdcac5SOdelu Kukatla 	.num_links = 0,
1050*46bdcac5SOdelu Kukatla };
1051*46bdcac5SOdelu Kukatla 
1052*46bdcac5SOdelu Kukatla static struct qcom_icc_node xs_pcie_1 = {
1053*46bdcac5SOdelu Kukatla 	.name = "xs_pcie_1",
1054*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_PCIE_1,
1055*46bdcac5SOdelu Kukatla 	.channels = 1,
1056*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1057*46bdcac5SOdelu Kukatla 	.num_links = 0,
1058*46bdcac5SOdelu Kukatla };
1059*46bdcac5SOdelu Kukatla 
1060*46bdcac5SOdelu Kukatla static struct qcom_icc_node xs_qdss_stm = {
1061*46bdcac5SOdelu Kukatla 	.name = "xs_qdss_stm",
1062*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_QDSS_STM,
1063*46bdcac5SOdelu Kukatla 	.channels = 1,
1064*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1065*46bdcac5SOdelu Kukatla 	.num_links = 0,
1066*46bdcac5SOdelu Kukatla };
1067*46bdcac5SOdelu Kukatla 
1068*46bdcac5SOdelu Kukatla static struct qcom_icc_node xs_sys_tcu_cfg = {
1069*46bdcac5SOdelu Kukatla 	.name = "xs_sys_tcu_cfg",
1070*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_TCU,
1071*46bdcac5SOdelu Kukatla 	.channels = 1,
1072*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1073*46bdcac5SOdelu Kukatla 	.num_links = 0,
1074*46bdcac5SOdelu Kukatla };
1075*46bdcac5SOdelu Kukatla 
1076*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_llcc = {
1077*46bdcac5SOdelu Kukatla 	.name = "qhs_llcc",
1078*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LLCC_CFG,
1079*46bdcac5SOdelu Kukatla 	.channels = 1,
1080*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1081*46bdcac5SOdelu Kukatla 	.num_links = 0,
1082*46bdcac5SOdelu Kukatla };
1083*46bdcac5SOdelu Kukatla 
1084*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_gemnoc = {
1085*46bdcac5SOdelu Kukatla 	.name = "qns_gemnoc",
1086*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_GEM_NOC_CFG,
1087*46bdcac5SOdelu Kukatla 	.channels = 1,
1088*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1089*46bdcac5SOdelu Kukatla 	.num_links = 1,
1090*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_GEM_NOC_CFG },
1091*46bdcac5SOdelu Kukatla };
1092*46bdcac5SOdelu Kukatla 
1093*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = {
1094*46bdcac5SOdelu Kukatla 	.name = "qhs_mdsp_ms_mpu_cfg",
1095*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_MSS_PROC_MS_MPU_CFG,
1096*46bdcac5SOdelu Kukatla 	.channels = 1,
1097*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1098*46bdcac5SOdelu Kukatla 	.num_links = 0,
1099*46bdcac5SOdelu Kukatla };
1100*46bdcac5SOdelu Kukatla 
1101*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_modem_ms_mpu_cfg = {
1102*46bdcac5SOdelu Kukatla 	.name = "qhs_modem_ms_mpu_cfg",
1103*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_MCDMA_MS_MPU_CFG,
1104*46bdcac5SOdelu Kukatla 	.channels = 1,
1105*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1106*46bdcac5SOdelu Kukatla 	.num_links = 0,
1107*46bdcac5SOdelu Kukatla };
1108*46bdcac5SOdelu Kukatla 
1109*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_gem_noc_cnoc = {
1110*46bdcac5SOdelu Kukatla 	.name = "qns_gem_noc_cnoc",
1111*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_GEM_NOC_CNOC,
1112*46bdcac5SOdelu Kukatla 	.channels = 1,
1113*46bdcac5SOdelu Kukatla 	.buswidth = 16,
1114*46bdcac5SOdelu Kukatla 	.num_links = 1,
1115*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_GEM_NOC_CNOC },
1116*46bdcac5SOdelu Kukatla };
1117*46bdcac5SOdelu Kukatla 
1118*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_llcc = {
1119*46bdcac5SOdelu Kukatla 	.name = "qns_llcc",
1120*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LLCC,
1121*46bdcac5SOdelu Kukatla 	.channels = 2,
1122*46bdcac5SOdelu Kukatla 	.buswidth = 16,
1123*46bdcac5SOdelu Kukatla 	.num_links = 1,
1124*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_LLCC },
1125*46bdcac5SOdelu Kukatla };
1126*46bdcac5SOdelu Kukatla 
1127*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_pcie = {
1128*46bdcac5SOdelu Kukatla 	.name = "qns_pcie",
1129*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_MEM_NOC_PCIE_SNOC,
1130*46bdcac5SOdelu Kukatla 	.channels = 1,
1131*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1132*46bdcac5SOdelu Kukatla 	.num_links = 1,
1133*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_GEM_NOC_PCIE_SNOC },
1134*46bdcac5SOdelu Kukatla };
1135*46bdcac5SOdelu Kukatla 
1136*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_even_gemnoc = {
1137*46bdcac5SOdelu Kukatla 	.name = "srvc_even_gemnoc",
1138*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_GEM_NOC_1,
1139*46bdcac5SOdelu Kukatla 	.channels = 1,
1140*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1141*46bdcac5SOdelu Kukatla 	.num_links = 0,
1142*46bdcac5SOdelu Kukatla };
1143*46bdcac5SOdelu Kukatla 
1144*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_odd_gemnoc = {
1145*46bdcac5SOdelu Kukatla 	.name = "srvc_odd_gemnoc",
1146*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_GEM_NOC_2,
1147*46bdcac5SOdelu Kukatla 	.channels = 1,
1148*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1149*46bdcac5SOdelu Kukatla 	.num_links = 0,
1150*46bdcac5SOdelu Kukatla };
1151*46bdcac5SOdelu Kukatla 
1152*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_sys_gemnoc = {
1153*46bdcac5SOdelu Kukatla 	.name = "srvc_sys_gemnoc",
1154*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_GEM_NOC,
1155*46bdcac5SOdelu Kukatla 	.channels = 1,
1156*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1157*46bdcac5SOdelu Kukatla 	.num_links = 0,
1158*46bdcac5SOdelu Kukatla };
1159*46bdcac5SOdelu Kukatla 
1160*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_lpass_core = {
1161*46bdcac5SOdelu Kukatla 	.name = "qhs_lpass_core",
1162*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LPASS_CORE_CFG,
1163*46bdcac5SOdelu Kukatla 	.channels = 1,
1164*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1165*46bdcac5SOdelu Kukatla 	.num_links = 0,
1166*46bdcac5SOdelu Kukatla };
1167*46bdcac5SOdelu Kukatla 
1168*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_lpass_lpi = {
1169*46bdcac5SOdelu Kukatla 	.name = "qhs_lpass_lpi",
1170*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LPASS_LPI_CFG,
1171*46bdcac5SOdelu Kukatla 	.channels = 1,
1172*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1173*46bdcac5SOdelu Kukatla 	.num_links = 0,
1174*46bdcac5SOdelu Kukatla };
1175*46bdcac5SOdelu Kukatla 
1176*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_lpass_mpu = {
1177*46bdcac5SOdelu Kukatla 	.name = "qhs_lpass_mpu",
1178*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LPASS_MPU_CFG,
1179*46bdcac5SOdelu Kukatla 	.channels = 1,
1180*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1181*46bdcac5SOdelu Kukatla 	.num_links = 0,
1182*46bdcac5SOdelu Kukatla };
1183*46bdcac5SOdelu Kukatla 
1184*46bdcac5SOdelu Kukatla static struct qcom_icc_node qhs_lpass_top = {
1185*46bdcac5SOdelu Kukatla 	.name = "qhs_lpass_top",
1186*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_LPASS_TOP_CFG,
1187*46bdcac5SOdelu Kukatla 	.channels = 1,
1188*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1189*46bdcac5SOdelu Kukatla 	.num_links = 0,
1190*46bdcac5SOdelu Kukatla };
1191*46bdcac5SOdelu Kukatla 
1192*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_niu_aml_noc = {
1193*46bdcac5SOdelu Kukatla 	.name = "srvc_niu_aml_noc",
1194*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICES_LPASS_AML_NOC,
1195*46bdcac5SOdelu Kukatla 	.channels = 1,
1196*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1197*46bdcac5SOdelu Kukatla 	.num_links = 0,
1198*46bdcac5SOdelu Kukatla };
1199*46bdcac5SOdelu Kukatla 
1200*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_niu_lpass_agnoc = {
1201*46bdcac5SOdelu Kukatla 	.name = "srvc_niu_lpass_agnoc",
1202*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_LPASS_AG_NOC,
1203*46bdcac5SOdelu Kukatla 	.channels = 1,
1204*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1205*46bdcac5SOdelu Kukatla 	.num_links = 0,
1206*46bdcac5SOdelu Kukatla };
1207*46bdcac5SOdelu Kukatla 
1208*46bdcac5SOdelu Kukatla static struct qcom_icc_node ebi = {
1209*46bdcac5SOdelu Kukatla 	.name = "ebi",
1210*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_EBI1,
1211*46bdcac5SOdelu Kukatla 	.channels = 2,
1212*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1213*46bdcac5SOdelu Kukatla 	.num_links = 0,
1214*46bdcac5SOdelu Kukatla };
1215*46bdcac5SOdelu Kukatla 
1216*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_mem_noc_hf = {
1217*46bdcac5SOdelu Kukatla 	.name = "qns_mem_noc_hf",
1218*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_MNOC_HF_MEM_NOC,
1219*46bdcac5SOdelu Kukatla 	.channels = 2,
1220*46bdcac5SOdelu Kukatla 	.buswidth = 32,
1221*46bdcac5SOdelu Kukatla 	.num_links = 1,
1222*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_MNOC_HF_MEM_NOC },
1223*46bdcac5SOdelu Kukatla };
1224*46bdcac5SOdelu Kukatla 
1225*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_mem_noc_sf = {
1226*46bdcac5SOdelu Kukatla 	.name = "qns_mem_noc_sf",
1227*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_MNOC_SF_MEM_NOC,
1228*46bdcac5SOdelu Kukatla 	.channels = 1,
1229*46bdcac5SOdelu Kukatla 	.buswidth = 32,
1230*46bdcac5SOdelu Kukatla 	.num_links = 1,
1231*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_MNOC_SF_MEM_NOC },
1232*46bdcac5SOdelu Kukatla };
1233*46bdcac5SOdelu Kukatla 
1234*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_mnoc = {
1235*46bdcac5SOdelu Kukatla 	.name = "srvc_mnoc",
1236*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_MNOC,
1237*46bdcac5SOdelu Kukatla 	.channels = 1,
1238*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1239*46bdcac5SOdelu Kukatla 	.num_links = 0,
1240*46bdcac5SOdelu Kukatla };
1241*46bdcac5SOdelu Kukatla 
1242*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_nsp_gemnoc = {
1243*46bdcac5SOdelu Kukatla 	.name = "qns_nsp_gemnoc",
1244*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_CDSP_MEM_NOC,
1245*46bdcac5SOdelu Kukatla 	.channels = 2,
1246*46bdcac5SOdelu Kukatla 	.buswidth = 32,
1247*46bdcac5SOdelu Kukatla 	.num_links = 1,
1248*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_COMPUTE_NOC },
1249*46bdcac5SOdelu Kukatla };
1250*46bdcac5SOdelu Kukatla 
1251*46bdcac5SOdelu Kukatla static struct qcom_icc_node service_nsp_noc = {
1252*46bdcac5SOdelu Kukatla 	.name = "service_nsp_noc",
1253*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_NSP_NOC,
1254*46bdcac5SOdelu Kukatla 	.channels = 1,
1255*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1256*46bdcac5SOdelu Kukatla 	.num_links = 0,
1257*46bdcac5SOdelu Kukatla };
1258*46bdcac5SOdelu Kukatla 
1259*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_gemnoc_gc = {
1260*46bdcac5SOdelu Kukatla 	.name = "qns_gemnoc_gc",
1261*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SNOC_GEM_NOC_GC,
1262*46bdcac5SOdelu Kukatla 	.channels = 1,
1263*46bdcac5SOdelu Kukatla 	.buswidth = 8,
1264*46bdcac5SOdelu Kukatla 	.num_links = 1,
1265*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_SNOC_GC_MEM_NOC },
1266*46bdcac5SOdelu Kukatla };
1267*46bdcac5SOdelu Kukatla 
1268*46bdcac5SOdelu Kukatla static struct qcom_icc_node qns_gemnoc_sf = {
1269*46bdcac5SOdelu Kukatla 	.name = "qns_gemnoc_sf",
1270*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SNOC_GEM_NOC_SF,
1271*46bdcac5SOdelu Kukatla 	.channels = 1,
1272*46bdcac5SOdelu Kukatla 	.buswidth = 16,
1273*46bdcac5SOdelu Kukatla 	.num_links = 1,
1274*46bdcac5SOdelu Kukatla 	.links = { SC7280_MASTER_SNOC_SF_MEM_NOC },
1275*46bdcac5SOdelu Kukatla };
1276*46bdcac5SOdelu Kukatla 
1277*46bdcac5SOdelu Kukatla static struct qcom_icc_node srvc_snoc = {
1278*46bdcac5SOdelu Kukatla 	.name = "srvc_snoc",
1279*46bdcac5SOdelu Kukatla 	.id = SC7280_SLAVE_SERVICE_SNOC,
1280*46bdcac5SOdelu Kukatla 	.channels = 1,
1281*46bdcac5SOdelu Kukatla 	.buswidth = 4,
1282*46bdcac5SOdelu Kukatla 	.num_links = 0,
1283*46bdcac5SOdelu Kukatla };
1284*46bdcac5SOdelu Kukatla 
1285*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_acv = {
1286*46bdcac5SOdelu Kukatla 	.name = "ACV",
1287*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1288*46bdcac5SOdelu Kukatla 	.nodes = { &ebi },
1289*46bdcac5SOdelu Kukatla };
1290*46bdcac5SOdelu Kukatla 
1291*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_ce0 = {
1292*46bdcac5SOdelu Kukatla 	.name = "CE0",
1293*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1294*46bdcac5SOdelu Kukatla 	.nodes = { &qxm_crypto },
1295*46bdcac5SOdelu Kukatla };
1296*46bdcac5SOdelu Kukatla 
1297*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_cn0 = {
1298*46bdcac5SOdelu Kukatla 	.name = "CN0",
1299*46bdcac5SOdelu Kukatla 	.keepalive = true,
1300*46bdcac5SOdelu Kukatla 	.num_nodes = 2,
1301*46bdcac5SOdelu Kukatla 	.nodes = { &qnm_gemnoc_cnoc, &qnm_gemnoc_pcie },
1302*46bdcac5SOdelu Kukatla };
1303*46bdcac5SOdelu Kukatla 
1304*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_cn1 = {
1305*46bdcac5SOdelu Kukatla 	.name = "CN1",
1306*46bdcac5SOdelu Kukatla 	.num_nodes = 47,
1307*46bdcac5SOdelu Kukatla 	.nodes = { &qnm_cnoc3_cnoc2, &xm_qdss_dap,
1308*46bdcac5SOdelu Kukatla 		   &qhs_ahb2phy0, &qhs_ahb2phy1,
1309*46bdcac5SOdelu Kukatla 		   &qhs_camera_cfg, &qhs_clk_ctl,
1310*46bdcac5SOdelu Kukatla 		   &qhs_compute_cfg, &qhs_cpr_cx,
1311*46bdcac5SOdelu Kukatla 		   &qhs_cpr_mx, &qhs_crypto0_cfg,
1312*46bdcac5SOdelu Kukatla 		   &qhs_cx_rdpm, &qhs_dcc_cfg,
1313*46bdcac5SOdelu Kukatla 		   &qhs_display_cfg, &qhs_gpuss_cfg,
1314*46bdcac5SOdelu Kukatla 		   &qhs_hwkm, &qhs_imem_cfg,
1315*46bdcac5SOdelu Kukatla 		   &qhs_ipa, &qhs_ipc_router,
1316*46bdcac5SOdelu Kukatla 		   &qhs_mss_cfg, &qhs_mx_rdpm,
1317*46bdcac5SOdelu Kukatla 		   &qhs_pcie0_cfg, &qhs_pcie1_cfg,
1318*46bdcac5SOdelu Kukatla 		   &qhs_pimem_cfg, &qhs_pka_wrapper_cfg,
1319*46bdcac5SOdelu Kukatla 		   &qhs_pmu_wrapper_cfg, &qhs_qdss_cfg,
1320*46bdcac5SOdelu Kukatla 		   &qhs_qup0, &qhs_qup1,
1321*46bdcac5SOdelu Kukatla 		   &qhs_security, &qhs_tcsr,
1322*46bdcac5SOdelu Kukatla 		   &qhs_tlmm, &qhs_ufs_mem_cfg, &qhs_usb2,
1323*46bdcac5SOdelu Kukatla 		   &qhs_usb3_0, &qhs_venus_cfg,
1324*46bdcac5SOdelu Kukatla 		   &qhs_vsense_ctrl_cfg, &qns_a1_noc_cfg,
1325*46bdcac5SOdelu Kukatla 		   &qns_a2_noc_cfg, &qns_cnoc2_cnoc3,
1326*46bdcac5SOdelu Kukatla 		   &qns_mnoc_cfg, &qns_snoc_cfg,
1327*46bdcac5SOdelu Kukatla 		   &qnm_cnoc2_cnoc3, &qhs_aoss,
1328*46bdcac5SOdelu Kukatla 		   &qhs_apss, &qns_cnoc3_cnoc2,
1329*46bdcac5SOdelu Kukatla 		   &qns_cnoc_a2noc, &qns_ddrss_cfg },
1330*46bdcac5SOdelu Kukatla };
1331*46bdcac5SOdelu Kukatla 
1332*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_cn2 = {
1333*46bdcac5SOdelu Kukatla 	.name = "CN2",
1334*46bdcac5SOdelu Kukatla 	.num_nodes = 6,
1335*46bdcac5SOdelu Kukatla 	.nodes = { &qhs_lpass_cfg, &qhs_pdm,
1336*46bdcac5SOdelu Kukatla 		   &qhs_qspi, &qhs_sdc1,
1337*46bdcac5SOdelu Kukatla 		   &qhs_sdc2, &qhs_sdc4 },
1338*46bdcac5SOdelu Kukatla };
1339*46bdcac5SOdelu Kukatla 
1340*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_co0 = {
1341*46bdcac5SOdelu Kukatla 	.name = "CO0",
1342*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1343*46bdcac5SOdelu Kukatla 	.nodes = { &qns_nsp_gemnoc },
1344*46bdcac5SOdelu Kukatla };
1345*46bdcac5SOdelu Kukatla 
1346*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_co3 = {
1347*46bdcac5SOdelu Kukatla 	.name = "CO3",
1348*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1349*46bdcac5SOdelu Kukatla 	.nodes = { &qxm_nsp },
1350*46bdcac5SOdelu Kukatla };
1351*46bdcac5SOdelu Kukatla 
1352*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_mc0 = {
1353*46bdcac5SOdelu Kukatla 	.name = "MC0",
1354*46bdcac5SOdelu Kukatla 	.keepalive = true,
1355*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1356*46bdcac5SOdelu Kukatla 	.nodes = { &ebi },
1357*46bdcac5SOdelu Kukatla };
1358*46bdcac5SOdelu Kukatla 
1359*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_mm0 = {
1360*46bdcac5SOdelu Kukatla 	.name = "MM0",
1361*46bdcac5SOdelu Kukatla 	.keepalive = true,
1362*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1363*46bdcac5SOdelu Kukatla 	.nodes = { &qns_mem_noc_hf },
1364*46bdcac5SOdelu Kukatla };
1365*46bdcac5SOdelu Kukatla 
1366*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_mm1 = {
1367*46bdcac5SOdelu Kukatla 	.name = "MM1",
1368*46bdcac5SOdelu Kukatla 	.num_nodes = 2,
1369*46bdcac5SOdelu Kukatla 	.nodes = { &qxm_camnoc_hf, &qxm_mdp0 },
1370*46bdcac5SOdelu Kukatla };
1371*46bdcac5SOdelu Kukatla 
1372*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_mm4 = {
1373*46bdcac5SOdelu Kukatla 	.name = "MM4",
1374*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1375*46bdcac5SOdelu Kukatla 	.nodes = { &qns_mem_noc_sf },
1376*46bdcac5SOdelu Kukatla };
1377*46bdcac5SOdelu Kukatla 
1378*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_mm5 = {
1379*46bdcac5SOdelu Kukatla 	.name = "MM5",
1380*46bdcac5SOdelu Kukatla 	.num_nodes = 3,
1381*46bdcac5SOdelu Kukatla 	.nodes = { &qnm_video0, &qxm_camnoc_icp,
1382*46bdcac5SOdelu Kukatla 		   &qxm_camnoc_sf },
1383*46bdcac5SOdelu Kukatla };
1384*46bdcac5SOdelu Kukatla 
1385*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_qup0 = {
1386*46bdcac5SOdelu Kukatla 	.name = "QUP0",
1387*46bdcac5SOdelu Kukatla 	.vote_scale = 1,
1388*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1389*46bdcac5SOdelu Kukatla 	.nodes = { &qup0_core_slave },
1390*46bdcac5SOdelu Kukatla };
1391*46bdcac5SOdelu Kukatla 
1392*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_qup1 = {
1393*46bdcac5SOdelu Kukatla 	.name = "QUP1",
1394*46bdcac5SOdelu Kukatla 	.vote_scale = 1,
1395*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1396*46bdcac5SOdelu Kukatla 	.nodes = { &qup1_core_slave },
1397*46bdcac5SOdelu Kukatla };
1398*46bdcac5SOdelu Kukatla 
1399*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sh0 = {
1400*46bdcac5SOdelu Kukatla 	.name = "SH0",
1401*46bdcac5SOdelu Kukatla 	.keepalive = true,
1402*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1403*46bdcac5SOdelu Kukatla 	.nodes = { &qns_llcc },
1404*46bdcac5SOdelu Kukatla };
1405*46bdcac5SOdelu Kukatla 
1406*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sh2 = {
1407*46bdcac5SOdelu Kukatla 	.name = "SH2",
1408*46bdcac5SOdelu Kukatla 	.num_nodes = 2,
1409*46bdcac5SOdelu Kukatla 	.nodes = { &alm_gpu_tcu, &alm_sys_tcu },
1410*46bdcac5SOdelu Kukatla };
1411*46bdcac5SOdelu Kukatla 
1412*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sh3 = {
1413*46bdcac5SOdelu Kukatla 	.name = "SH3",
1414*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1415*46bdcac5SOdelu Kukatla 	.nodes = { &qnm_cmpnoc },
1416*46bdcac5SOdelu Kukatla };
1417*46bdcac5SOdelu Kukatla 
1418*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sh4 = {
1419*46bdcac5SOdelu Kukatla 	.name = "SH4",
1420*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1421*46bdcac5SOdelu Kukatla 	.nodes = { &chm_apps },
1422*46bdcac5SOdelu Kukatla };
1423*46bdcac5SOdelu Kukatla 
1424*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn0 = {
1425*46bdcac5SOdelu Kukatla 	.name = "SN0",
1426*46bdcac5SOdelu Kukatla 	.keepalive = true,
1427*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1428*46bdcac5SOdelu Kukatla 	.nodes = { &qns_gemnoc_sf },
1429*46bdcac5SOdelu Kukatla };
1430*46bdcac5SOdelu Kukatla 
1431*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn2 = {
1432*46bdcac5SOdelu Kukatla 	.name = "SN2",
1433*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1434*46bdcac5SOdelu Kukatla 	.nodes = { &qns_gemnoc_gc },
1435*46bdcac5SOdelu Kukatla };
1436*46bdcac5SOdelu Kukatla 
1437*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn3 = {
1438*46bdcac5SOdelu Kukatla 	.name = "SN3",
1439*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1440*46bdcac5SOdelu Kukatla 	.nodes = { &qxs_pimem },
1441*46bdcac5SOdelu Kukatla };
1442*46bdcac5SOdelu Kukatla 
1443*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn4 = {
1444*46bdcac5SOdelu Kukatla 	.name = "SN4",
1445*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1446*46bdcac5SOdelu Kukatla 	.nodes = { &xs_qdss_stm },
1447*46bdcac5SOdelu Kukatla };
1448*46bdcac5SOdelu Kukatla 
1449*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn5 = {
1450*46bdcac5SOdelu Kukatla 	.name = "SN5",
1451*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1452*46bdcac5SOdelu Kukatla 	.nodes = { &xm_pcie3_0 },
1453*46bdcac5SOdelu Kukatla };
1454*46bdcac5SOdelu Kukatla 
1455*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn6 = {
1456*46bdcac5SOdelu Kukatla 	.name = "SN6",
1457*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1458*46bdcac5SOdelu Kukatla 	.nodes = { &xm_pcie3_1 },
1459*46bdcac5SOdelu Kukatla };
1460*46bdcac5SOdelu Kukatla 
1461*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn7 = {
1462*46bdcac5SOdelu Kukatla 	.name = "SN7",
1463*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1464*46bdcac5SOdelu Kukatla 	.nodes = { &qnm_aggre1_noc },
1465*46bdcac5SOdelu Kukatla };
1466*46bdcac5SOdelu Kukatla 
1467*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn8 = {
1468*46bdcac5SOdelu Kukatla 	.name = "SN8",
1469*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1470*46bdcac5SOdelu Kukatla 	.nodes = { &qnm_aggre2_noc },
1471*46bdcac5SOdelu Kukatla };
1472*46bdcac5SOdelu Kukatla 
1473*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm bcm_sn14 = {
1474*46bdcac5SOdelu Kukatla 	.name = "SN14",
1475*46bdcac5SOdelu Kukatla 	.num_nodes = 1,
1476*46bdcac5SOdelu Kukatla 	.nodes = { &qns_pcie_mem_noc },
1477*46bdcac5SOdelu Kukatla };
1478*46bdcac5SOdelu Kukatla 
1479*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *aggre1_noc_bcms[] = {
1480*46bdcac5SOdelu Kukatla 	&bcm_sn5,
1481*46bdcac5SOdelu Kukatla 	&bcm_sn6,
1482*46bdcac5SOdelu Kukatla 	&bcm_sn14,
1483*46bdcac5SOdelu Kukatla };
1484*46bdcac5SOdelu Kukatla 
1485*46bdcac5SOdelu Kukatla static struct qcom_icc_node *aggre1_noc_nodes[] = {
1486*46bdcac5SOdelu Kukatla 	[MASTER_QSPI_0] = &qhm_qspi,
1487*46bdcac5SOdelu Kukatla 	[MASTER_QUP_0] = &qhm_qup0,
1488*46bdcac5SOdelu Kukatla 	[MASTER_QUP_1] = &qhm_qup1,
1489*46bdcac5SOdelu Kukatla 	[MASTER_A1NOC_CFG] = &qnm_a1noc_cfg,
1490*46bdcac5SOdelu Kukatla 	[MASTER_PCIE_0] = &xm_pcie3_0,
1491*46bdcac5SOdelu Kukatla 	[MASTER_PCIE_1] = &xm_pcie3_1,
1492*46bdcac5SOdelu Kukatla 	[MASTER_SDCC_1] = &xm_sdc1,
1493*46bdcac5SOdelu Kukatla 	[MASTER_SDCC_2] = &xm_sdc2,
1494*46bdcac5SOdelu Kukatla 	[MASTER_SDCC_4] = &xm_sdc4,
1495*46bdcac5SOdelu Kukatla 	[MASTER_UFS_MEM] = &xm_ufs_mem,
1496*46bdcac5SOdelu Kukatla 	[MASTER_USB2] = &xm_usb2,
1497*46bdcac5SOdelu Kukatla 	[MASTER_USB3_0] = &xm_usb3_0,
1498*46bdcac5SOdelu Kukatla 	[SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc,
1499*46bdcac5SOdelu Kukatla 	[SLAVE_ANOC_PCIE_GEM_NOC] = &qns_pcie_mem_noc,
1500*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
1501*46bdcac5SOdelu Kukatla };
1502*46bdcac5SOdelu Kukatla 
1503*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_aggre1_noc = {
1504*46bdcac5SOdelu Kukatla 	.nodes = aggre1_noc_nodes,
1505*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
1506*46bdcac5SOdelu Kukatla 	.bcms = aggre1_noc_bcms,
1507*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
1508*46bdcac5SOdelu Kukatla };
1509*46bdcac5SOdelu Kukatla 
1510*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *aggre2_noc_bcms[] = {
1511*46bdcac5SOdelu Kukatla 	&bcm_ce0,
1512*46bdcac5SOdelu Kukatla };
1513*46bdcac5SOdelu Kukatla 
1514*46bdcac5SOdelu Kukatla static struct qcom_icc_node *aggre2_noc_nodes[] = {
1515*46bdcac5SOdelu Kukatla 	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
1516*46bdcac5SOdelu Kukatla 	[MASTER_A2NOC_CFG] = &qnm_a2noc_cfg,
1517*46bdcac5SOdelu Kukatla 	[MASTER_CNOC_A2NOC] = &qnm_cnoc_datapath,
1518*46bdcac5SOdelu Kukatla 	[MASTER_CRYPTO] = &qxm_crypto,
1519*46bdcac5SOdelu Kukatla 	[MASTER_IPA] = &qxm_ipa,
1520*46bdcac5SOdelu Kukatla 	[MASTER_QDSS_ETR] = &xm_qdss_etr,
1521*46bdcac5SOdelu Kukatla 	[SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc,
1522*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
1523*46bdcac5SOdelu Kukatla };
1524*46bdcac5SOdelu Kukatla 
1525*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_aggre2_noc = {
1526*46bdcac5SOdelu Kukatla 	.nodes = aggre2_noc_nodes,
1527*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
1528*46bdcac5SOdelu Kukatla 	.bcms = aggre2_noc_bcms,
1529*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
1530*46bdcac5SOdelu Kukatla };
1531*46bdcac5SOdelu Kukatla 
1532*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *clk_virt_bcms[] = {
1533*46bdcac5SOdelu Kukatla 	&bcm_qup0,
1534*46bdcac5SOdelu Kukatla 	&bcm_qup1,
1535*46bdcac5SOdelu Kukatla };
1536*46bdcac5SOdelu Kukatla 
1537*46bdcac5SOdelu Kukatla static struct qcom_icc_node *clk_virt_nodes[] = {
1538*46bdcac5SOdelu Kukatla 	[MASTER_QUP_CORE_0] = &qup0_core_master,
1539*46bdcac5SOdelu Kukatla 	[MASTER_QUP_CORE_1] = &qup1_core_master,
1540*46bdcac5SOdelu Kukatla 	[SLAVE_QUP_CORE_0] = &qup0_core_slave,
1541*46bdcac5SOdelu Kukatla 	[SLAVE_QUP_CORE_1] = &qup1_core_slave,
1542*46bdcac5SOdelu Kukatla };
1543*46bdcac5SOdelu Kukatla 
1544*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_clk_virt = {
1545*46bdcac5SOdelu Kukatla 	.nodes = clk_virt_nodes,
1546*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(clk_virt_nodes),
1547*46bdcac5SOdelu Kukatla 	.bcms = clk_virt_bcms,
1548*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(clk_virt_bcms),
1549*46bdcac5SOdelu Kukatla };
1550*46bdcac5SOdelu Kukatla 
1551*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *cnoc2_bcms[] = {
1552*46bdcac5SOdelu Kukatla 	&bcm_cn1,
1553*46bdcac5SOdelu Kukatla 	&bcm_cn2,
1554*46bdcac5SOdelu Kukatla };
1555*46bdcac5SOdelu Kukatla 
1556*46bdcac5SOdelu Kukatla static struct qcom_icc_node *cnoc2_nodes[] = {
1557*46bdcac5SOdelu Kukatla 	[MASTER_CNOC3_CNOC2] = &qnm_cnoc3_cnoc2,
1558*46bdcac5SOdelu Kukatla 	[MASTER_QDSS_DAP] = &xm_qdss_dap,
1559*46bdcac5SOdelu Kukatla 	[SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0,
1560*46bdcac5SOdelu Kukatla 	[SLAVE_AHB2PHY_NORTH] = &qhs_ahb2phy1,
1561*46bdcac5SOdelu Kukatla 	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
1562*46bdcac5SOdelu Kukatla 	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
1563*46bdcac5SOdelu Kukatla 	[SLAVE_CDSP_CFG] = &qhs_compute_cfg,
1564*46bdcac5SOdelu Kukatla 	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
1565*46bdcac5SOdelu Kukatla 	[SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx,
1566*46bdcac5SOdelu Kukatla 	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
1567*46bdcac5SOdelu Kukatla 	[SLAVE_CX_RDPM] = &qhs_cx_rdpm,
1568*46bdcac5SOdelu Kukatla 	[SLAVE_DCC_CFG] = &qhs_dcc_cfg,
1569*46bdcac5SOdelu Kukatla 	[SLAVE_DISPLAY_CFG] = &qhs_display_cfg,
1570*46bdcac5SOdelu Kukatla 	[SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg,
1571*46bdcac5SOdelu Kukatla 	[SLAVE_HWKM] = &qhs_hwkm,
1572*46bdcac5SOdelu Kukatla 	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
1573*46bdcac5SOdelu Kukatla 	[SLAVE_IPA_CFG] = &qhs_ipa,
1574*46bdcac5SOdelu Kukatla 	[SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router,
1575*46bdcac5SOdelu Kukatla 	[SLAVE_LPASS] = &qhs_lpass_cfg,
1576*46bdcac5SOdelu Kukatla 	[SLAVE_CNOC_MSS] = &qhs_mss_cfg,
1577*46bdcac5SOdelu Kukatla 	[SLAVE_MX_RDPM] = &qhs_mx_rdpm,
1578*46bdcac5SOdelu Kukatla 	[SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg,
1579*46bdcac5SOdelu Kukatla 	[SLAVE_PCIE_1_CFG] = &qhs_pcie1_cfg,
1580*46bdcac5SOdelu Kukatla 	[SLAVE_PDM] = &qhs_pdm,
1581*46bdcac5SOdelu Kukatla 	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
1582*46bdcac5SOdelu Kukatla 	[SLAVE_PKA_WRAPPER_CFG] = &qhs_pka_wrapper_cfg,
1583*46bdcac5SOdelu Kukatla 	[SLAVE_PMU_WRAPPER_CFG] = &qhs_pmu_wrapper_cfg,
1584*46bdcac5SOdelu Kukatla 	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
1585*46bdcac5SOdelu Kukatla 	[SLAVE_QSPI_0] = &qhs_qspi,
1586*46bdcac5SOdelu Kukatla 	[SLAVE_QUP_0] = &qhs_qup0,
1587*46bdcac5SOdelu Kukatla 	[SLAVE_QUP_1] = &qhs_qup1,
1588*46bdcac5SOdelu Kukatla 	[SLAVE_SDCC_1] = &qhs_sdc1,
1589*46bdcac5SOdelu Kukatla 	[SLAVE_SDCC_2] = &qhs_sdc2,
1590*46bdcac5SOdelu Kukatla 	[SLAVE_SDCC_4] = &qhs_sdc4,
1591*46bdcac5SOdelu Kukatla 	[SLAVE_SECURITY] = &qhs_security,
1592*46bdcac5SOdelu Kukatla 	[SLAVE_TCSR] = &qhs_tcsr,
1593*46bdcac5SOdelu Kukatla 	[SLAVE_TLMM] = &qhs_tlmm,
1594*46bdcac5SOdelu Kukatla 	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
1595*46bdcac5SOdelu Kukatla 	[SLAVE_USB2] = &qhs_usb2,
1596*46bdcac5SOdelu Kukatla 	[SLAVE_USB3_0] = &qhs_usb3_0,
1597*46bdcac5SOdelu Kukatla 	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
1598*46bdcac5SOdelu Kukatla 	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
1599*46bdcac5SOdelu Kukatla 	[SLAVE_A1NOC_CFG] = &qns_a1_noc_cfg,
1600*46bdcac5SOdelu Kukatla 	[SLAVE_A2NOC_CFG] = &qns_a2_noc_cfg,
1601*46bdcac5SOdelu Kukatla 	[SLAVE_CNOC2_CNOC3] = &qns_cnoc2_cnoc3,
1602*46bdcac5SOdelu Kukatla 	[SLAVE_CNOC_MNOC_CFG] = &qns_mnoc_cfg,
1603*46bdcac5SOdelu Kukatla 	[SLAVE_SNOC_CFG] = &qns_snoc_cfg,
1604*46bdcac5SOdelu Kukatla };
1605*46bdcac5SOdelu Kukatla 
1606*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_cnoc2 = {
1607*46bdcac5SOdelu Kukatla 	.nodes = cnoc2_nodes,
1608*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(cnoc2_nodes),
1609*46bdcac5SOdelu Kukatla 	.bcms = cnoc2_bcms,
1610*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(cnoc2_bcms),
1611*46bdcac5SOdelu Kukatla };
1612*46bdcac5SOdelu Kukatla 
1613*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *cnoc3_bcms[] = {
1614*46bdcac5SOdelu Kukatla 	&bcm_cn0,
1615*46bdcac5SOdelu Kukatla 	&bcm_cn1,
1616*46bdcac5SOdelu Kukatla 	&bcm_sn3,
1617*46bdcac5SOdelu Kukatla 	&bcm_sn4,
1618*46bdcac5SOdelu Kukatla };
1619*46bdcac5SOdelu Kukatla 
1620*46bdcac5SOdelu Kukatla static struct qcom_icc_node *cnoc3_nodes[] = {
1621*46bdcac5SOdelu Kukatla 	[MASTER_CNOC2_CNOC3] = &qnm_cnoc2_cnoc3,
1622*46bdcac5SOdelu Kukatla 	[MASTER_GEM_NOC_CNOC] = &qnm_gemnoc_cnoc,
1623*46bdcac5SOdelu Kukatla 	[MASTER_GEM_NOC_PCIE_SNOC] = &qnm_gemnoc_pcie,
1624*46bdcac5SOdelu Kukatla 	[SLAVE_AOSS] = &qhs_aoss,
1625*46bdcac5SOdelu Kukatla 	[SLAVE_APPSS] = &qhs_apss,
1626*46bdcac5SOdelu Kukatla 	[SLAVE_CNOC3_CNOC2] = &qns_cnoc3_cnoc2,
1627*46bdcac5SOdelu Kukatla 	[SLAVE_CNOC_A2NOC] = &qns_cnoc_a2noc,
1628*46bdcac5SOdelu Kukatla 	[SLAVE_DDRSS_CFG] = &qns_ddrss_cfg,
1629*46bdcac5SOdelu Kukatla 	[SLAVE_BOOT_IMEM] = &qxs_boot_imem,
1630*46bdcac5SOdelu Kukatla 	[SLAVE_IMEM] = &qxs_imem,
1631*46bdcac5SOdelu Kukatla 	[SLAVE_PIMEM] = &qxs_pimem,
1632*46bdcac5SOdelu Kukatla 	[SLAVE_PCIE_0] = &xs_pcie_0,
1633*46bdcac5SOdelu Kukatla 	[SLAVE_PCIE_1] = &xs_pcie_1,
1634*46bdcac5SOdelu Kukatla 	[SLAVE_QDSS_STM] = &xs_qdss_stm,
1635*46bdcac5SOdelu Kukatla 	[SLAVE_TCU] = &xs_sys_tcu_cfg,
1636*46bdcac5SOdelu Kukatla };
1637*46bdcac5SOdelu Kukatla 
1638*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_cnoc3 = {
1639*46bdcac5SOdelu Kukatla 	.nodes = cnoc3_nodes,
1640*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(cnoc3_nodes),
1641*46bdcac5SOdelu Kukatla 	.bcms = cnoc3_bcms,
1642*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(cnoc3_bcms),
1643*46bdcac5SOdelu Kukatla };
1644*46bdcac5SOdelu Kukatla 
1645*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *dc_noc_bcms[] = {
1646*46bdcac5SOdelu Kukatla };
1647*46bdcac5SOdelu Kukatla 
1648*46bdcac5SOdelu Kukatla static struct qcom_icc_node *dc_noc_nodes[] = {
1649*46bdcac5SOdelu Kukatla 	[MASTER_CNOC_DC_NOC] = &qnm_cnoc_dc_noc,
1650*46bdcac5SOdelu Kukatla 	[SLAVE_LLCC_CFG] = &qhs_llcc,
1651*46bdcac5SOdelu Kukatla 	[SLAVE_GEM_NOC_CFG] = &qns_gemnoc,
1652*46bdcac5SOdelu Kukatla };
1653*46bdcac5SOdelu Kukatla 
1654*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_dc_noc = {
1655*46bdcac5SOdelu Kukatla 	.nodes = dc_noc_nodes,
1656*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
1657*46bdcac5SOdelu Kukatla 	.bcms = dc_noc_bcms,
1658*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(dc_noc_bcms),
1659*46bdcac5SOdelu Kukatla };
1660*46bdcac5SOdelu Kukatla 
1661*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *gem_noc_bcms[] = {
1662*46bdcac5SOdelu Kukatla 	&bcm_sh0,
1663*46bdcac5SOdelu Kukatla 	&bcm_sh2,
1664*46bdcac5SOdelu Kukatla 	&bcm_sh3,
1665*46bdcac5SOdelu Kukatla 	&bcm_sh4,
1666*46bdcac5SOdelu Kukatla };
1667*46bdcac5SOdelu Kukatla 
1668*46bdcac5SOdelu Kukatla static struct qcom_icc_node *gem_noc_nodes[] = {
1669*46bdcac5SOdelu Kukatla 	[MASTER_GPU_TCU] = &alm_gpu_tcu,
1670*46bdcac5SOdelu Kukatla 	[MASTER_SYS_TCU] = &alm_sys_tcu,
1671*46bdcac5SOdelu Kukatla 	[MASTER_APPSS_PROC] = &chm_apps,
1672*46bdcac5SOdelu Kukatla 	[MASTER_COMPUTE_NOC] = &qnm_cmpnoc,
1673*46bdcac5SOdelu Kukatla 	[MASTER_GEM_NOC_CFG] = &qnm_gemnoc_cfg,
1674*46bdcac5SOdelu Kukatla 	[MASTER_GFX3D] = &qnm_gpu,
1675*46bdcac5SOdelu Kukatla 	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
1676*46bdcac5SOdelu Kukatla 	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
1677*46bdcac5SOdelu Kukatla 	[MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie,
1678*46bdcac5SOdelu Kukatla 	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
1679*46bdcac5SOdelu Kukatla 	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
1680*46bdcac5SOdelu Kukatla 	[SLAVE_MSS_PROC_MS_MPU_CFG] = &qhs_mdsp_ms_mpu_cfg,
1681*46bdcac5SOdelu Kukatla 	[SLAVE_MCDMA_MS_MPU_CFG] = &qhs_modem_ms_mpu_cfg,
1682*46bdcac5SOdelu Kukatla 	[SLAVE_GEM_NOC_CNOC] = &qns_gem_noc_cnoc,
1683*46bdcac5SOdelu Kukatla 	[SLAVE_LLCC] = &qns_llcc,
1684*46bdcac5SOdelu Kukatla 	[SLAVE_MEM_NOC_PCIE_SNOC] = &qns_pcie,
1685*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_GEM_NOC_1] = &srvc_even_gemnoc,
1686*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_GEM_NOC_2] = &srvc_odd_gemnoc,
1687*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_GEM_NOC] = &srvc_sys_gemnoc,
1688*46bdcac5SOdelu Kukatla };
1689*46bdcac5SOdelu Kukatla 
1690*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_gem_noc = {
1691*46bdcac5SOdelu Kukatla 	.nodes = gem_noc_nodes,
1692*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(gem_noc_nodes),
1693*46bdcac5SOdelu Kukatla 	.bcms = gem_noc_bcms,
1694*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
1695*46bdcac5SOdelu Kukatla };
1696*46bdcac5SOdelu Kukatla 
1697*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *lpass_ag_noc_bcms[] = {
1698*46bdcac5SOdelu Kukatla };
1699*46bdcac5SOdelu Kukatla 
1700*46bdcac5SOdelu Kukatla static struct qcom_icc_node *lpass_ag_noc_nodes[] = {
1701*46bdcac5SOdelu Kukatla 	[MASTER_CNOC_LPASS_AG_NOC] = &qhm_config_noc,
1702*46bdcac5SOdelu Kukatla 	[SLAVE_LPASS_CORE_CFG] = &qhs_lpass_core,
1703*46bdcac5SOdelu Kukatla 	[SLAVE_LPASS_LPI_CFG] = &qhs_lpass_lpi,
1704*46bdcac5SOdelu Kukatla 	[SLAVE_LPASS_MPU_CFG] = &qhs_lpass_mpu,
1705*46bdcac5SOdelu Kukatla 	[SLAVE_LPASS_TOP_CFG] = &qhs_lpass_top,
1706*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICES_LPASS_AML_NOC] = &srvc_niu_aml_noc,
1707*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_LPASS_AG_NOC] = &srvc_niu_lpass_agnoc,
1708*46bdcac5SOdelu Kukatla };
1709*46bdcac5SOdelu Kukatla 
1710*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_lpass_ag_noc = {
1711*46bdcac5SOdelu Kukatla 	.nodes = lpass_ag_noc_nodes,
1712*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(lpass_ag_noc_nodes),
1713*46bdcac5SOdelu Kukatla 	.bcms = lpass_ag_noc_bcms,
1714*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(lpass_ag_noc_bcms),
1715*46bdcac5SOdelu Kukatla };
1716*46bdcac5SOdelu Kukatla 
1717*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *mc_virt_bcms[] = {
1718*46bdcac5SOdelu Kukatla 	&bcm_acv,
1719*46bdcac5SOdelu Kukatla 	&bcm_mc0,
1720*46bdcac5SOdelu Kukatla };
1721*46bdcac5SOdelu Kukatla 
1722*46bdcac5SOdelu Kukatla static struct qcom_icc_node *mc_virt_nodes[] = {
1723*46bdcac5SOdelu Kukatla 	[MASTER_LLCC] = &llcc_mc,
1724*46bdcac5SOdelu Kukatla 	[SLAVE_EBI1] = &ebi,
1725*46bdcac5SOdelu Kukatla };
1726*46bdcac5SOdelu Kukatla 
1727*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_mc_virt = {
1728*46bdcac5SOdelu Kukatla 	.nodes = mc_virt_nodes,
1729*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(mc_virt_nodes),
1730*46bdcac5SOdelu Kukatla 	.bcms = mc_virt_bcms,
1731*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(mc_virt_bcms),
1732*46bdcac5SOdelu Kukatla };
1733*46bdcac5SOdelu Kukatla 
1734*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *mmss_noc_bcms[] = {
1735*46bdcac5SOdelu Kukatla 	&bcm_mm0,
1736*46bdcac5SOdelu Kukatla 	&bcm_mm1,
1737*46bdcac5SOdelu Kukatla 	&bcm_mm4,
1738*46bdcac5SOdelu Kukatla 	&bcm_mm5,
1739*46bdcac5SOdelu Kukatla };
1740*46bdcac5SOdelu Kukatla 
1741*46bdcac5SOdelu Kukatla static struct qcom_icc_node *mmss_noc_nodes[] = {
1742*46bdcac5SOdelu Kukatla 	[MASTER_CNOC_MNOC_CFG] = &qnm_mnoc_cfg,
1743*46bdcac5SOdelu Kukatla 	[MASTER_VIDEO_P0] = &qnm_video0,
1744*46bdcac5SOdelu Kukatla 	[MASTER_VIDEO_PROC] = &qnm_video_cpu,
1745*46bdcac5SOdelu Kukatla 	[MASTER_CAMNOC_HF] = &qxm_camnoc_hf,
1746*46bdcac5SOdelu Kukatla 	[MASTER_CAMNOC_ICP] = &qxm_camnoc_icp,
1747*46bdcac5SOdelu Kukatla 	[MASTER_CAMNOC_SF] = &qxm_camnoc_sf,
1748*46bdcac5SOdelu Kukatla 	[MASTER_MDP0] = &qxm_mdp0,
1749*46bdcac5SOdelu Kukatla 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
1750*46bdcac5SOdelu Kukatla 	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
1751*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
1752*46bdcac5SOdelu Kukatla };
1753*46bdcac5SOdelu Kukatla 
1754*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_mmss_noc = {
1755*46bdcac5SOdelu Kukatla 	.nodes = mmss_noc_nodes,
1756*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
1757*46bdcac5SOdelu Kukatla 	.bcms = mmss_noc_bcms,
1758*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
1759*46bdcac5SOdelu Kukatla };
1760*46bdcac5SOdelu Kukatla 
1761*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *nsp_noc_bcms[] = {
1762*46bdcac5SOdelu Kukatla 	&bcm_co0,
1763*46bdcac5SOdelu Kukatla 	&bcm_co3,
1764*46bdcac5SOdelu Kukatla };
1765*46bdcac5SOdelu Kukatla 
1766*46bdcac5SOdelu Kukatla static struct qcom_icc_node *nsp_noc_nodes[] = {
1767*46bdcac5SOdelu Kukatla 	[MASTER_CDSP_NOC_CFG] = &qhm_nsp_noc_config,
1768*46bdcac5SOdelu Kukatla 	[MASTER_CDSP_PROC] = &qxm_nsp,
1769*46bdcac5SOdelu Kukatla 	[SLAVE_CDSP_MEM_NOC] = &qns_nsp_gemnoc,
1770*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_NSP_NOC] = &service_nsp_noc,
1771*46bdcac5SOdelu Kukatla };
1772*46bdcac5SOdelu Kukatla 
1773*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_nsp_noc = {
1774*46bdcac5SOdelu Kukatla 	.nodes = nsp_noc_nodes,
1775*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(nsp_noc_nodes),
1776*46bdcac5SOdelu Kukatla 	.bcms = nsp_noc_bcms,
1777*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(nsp_noc_bcms),
1778*46bdcac5SOdelu Kukatla };
1779*46bdcac5SOdelu Kukatla 
1780*46bdcac5SOdelu Kukatla static struct qcom_icc_bcm *system_noc_bcms[] = {
1781*46bdcac5SOdelu Kukatla 	&bcm_sn0,
1782*46bdcac5SOdelu Kukatla 	&bcm_sn2,
1783*46bdcac5SOdelu Kukatla 	&bcm_sn7,
1784*46bdcac5SOdelu Kukatla 	&bcm_sn8,
1785*46bdcac5SOdelu Kukatla };
1786*46bdcac5SOdelu Kukatla 
1787*46bdcac5SOdelu Kukatla static struct qcom_icc_node *system_noc_nodes[] = {
1788*46bdcac5SOdelu Kukatla 	[MASTER_A1NOC_SNOC] = &qnm_aggre1_noc,
1789*46bdcac5SOdelu Kukatla 	[MASTER_A2NOC_SNOC] = &qnm_aggre2_noc,
1790*46bdcac5SOdelu Kukatla 	[MASTER_SNOC_CFG] = &qnm_snoc_cfg,
1791*46bdcac5SOdelu Kukatla 	[MASTER_PIMEM] = &qxm_pimem,
1792*46bdcac5SOdelu Kukatla 	[MASTER_GIC] = &xm_gic,
1793*46bdcac5SOdelu Kukatla 	[SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc,
1794*46bdcac5SOdelu Kukatla 	[SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf,
1795*46bdcac5SOdelu Kukatla 	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
1796*46bdcac5SOdelu Kukatla };
1797*46bdcac5SOdelu Kukatla 
1798*46bdcac5SOdelu Kukatla static struct qcom_icc_desc sc7280_system_noc = {
1799*46bdcac5SOdelu Kukatla 	.nodes = system_noc_nodes,
1800*46bdcac5SOdelu Kukatla 	.num_nodes = ARRAY_SIZE(system_noc_nodes),
1801*46bdcac5SOdelu Kukatla 	.bcms = system_noc_bcms,
1802*46bdcac5SOdelu Kukatla 	.num_bcms = ARRAY_SIZE(system_noc_bcms),
1803*46bdcac5SOdelu Kukatla };
1804*46bdcac5SOdelu Kukatla 
1805*46bdcac5SOdelu Kukatla static int qnoc_probe(struct platform_device *pdev)
1806*46bdcac5SOdelu Kukatla {
1807*46bdcac5SOdelu Kukatla 	const struct qcom_icc_desc *desc;
1808*46bdcac5SOdelu Kukatla 	struct icc_onecell_data *data;
1809*46bdcac5SOdelu Kukatla 	struct icc_provider *provider;
1810*46bdcac5SOdelu Kukatla 	struct qcom_icc_node **qnodes;
1811*46bdcac5SOdelu Kukatla 	struct qcom_icc_provider *qp;
1812*46bdcac5SOdelu Kukatla 	struct icc_node *node;
1813*46bdcac5SOdelu Kukatla 	size_t num_nodes, i;
1814*46bdcac5SOdelu Kukatla 	int ret;
1815*46bdcac5SOdelu Kukatla 
1816*46bdcac5SOdelu Kukatla 	desc = device_get_match_data(&pdev->dev);
1817*46bdcac5SOdelu Kukatla 	if (!desc)
1818*46bdcac5SOdelu Kukatla 		return -EINVAL;
1819*46bdcac5SOdelu Kukatla 
1820*46bdcac5SOdelu Kukatla 	qnodes = desc->nodes;
1821*46bdcac5SOdelu Kukatla 	num_nodes = desc->num_nodes;
1822*46bdcac5SOdelu Kukatla 
1823*46bdcac5SOdelu Kukatla 	qp = devm_kzalloc(&pdev->dev, sizeof(*qp), GFP_KERNEL);
1824*46bdcac5SOdelu Kukatla 	if (!qp)
1825*46bdcac5SOdelu Kukatla 		return -ENOMEM;
1826*46bdcac5SOdelu Kukatla 
1827*46bdcac5SOdelu Kukatla 	data = devm_kcalloc(&pdev->dev, num_nodes, sizeof(*node), GFP_KERNEL);
1828*46bdcac5SOdelu Kukatla 	if (!data)
1829*46bdcac5SOdelu Kukatla 		return -ENOMEM;
1830*46bdcac5SOdelu Kukatla 
1831*46bdcac5SOdelu Kukatla 	provider = &qp->provider;
1832*46bdcac5SOdelu Kukatla 	provider->dev = &pdev->dev;
1833*46bdcac5SOdelu Kukatla 	provider->set = qcom_icc_set;
1834*46bdcac5SOdelu Kukatla 	provider->pre_aggregate = qcom_icc_pre_aggregate;
1835*46bdcac5SOdelu Kukatla 	provider->aggregate = qcom_icc_aggregate;
1836*46bdcac5SOdelu Kukatla 	provider->xlate_extended = qcom_icc_xlate_extended;
1837*46bdcac5SOdelu Kukatla 	INIT_LIST_HEAD(&provider->nodes);
1838*46bdcac5SOdelu Kukatla 	provider->data = data;
1839*46bdcac5SOdelu Kukatla 
1840*46bdcac5SOdelu Kukatla 	qp->dev = &pdev->dev;
1841*46bdcac5SOdelu Kukatla 	qp->bcms = desc->bcms;
1842*46bdcac5SOdelu Kukatla 	qp->num_bcms = desc->num_bcms;
1843*46bdcac5SOdelu Kukatla 
1844*46bdcac5SOdelu Kukatla 	qp->voter = of_bcm_voter_get(qp->dev, NULL);
1845*46bdcac5SOdelu Kukatla 	if (IS_ERR(qp->voter))
1846*46bdcac5SOdelu Kukatla 		return PTR_ERR(qp->voter);
1847*46bdcac5SOdelu Kukatla 
1848*46bdcac5SOdelu Kukatla 	ret = icc_provider_add(provider);
1849*46bdcac5SOdelu Kukatla 	if (ret) {
1850*46bdcac5SOdelu Kukatla 		dev_err(&pdev->dev, "error adding interconnect provider\n");
1851*46bdcac5SOdelu Kukatla 		return ret;
1852*46bdcac5SOdelu Kukatla 	}
1853*46bdcac5SOdelu Kukatla 
1854*46bdcac5SOdelu Kukatla 	for (i = 0; i < qp->num_bcms; i++)
1855*46bdcac5SOdelu Kukatla 		qcom_icc_bcm_init(qp->bcms[i], &pdev->dev);
1856*46bdcac5SOdelu Kukatla 
1857*46bdcac5SOdelu Kukatla 	for (i = 0; i < num_nodes; i++) {
1858*46bdcac5SOdelu Kukatla 		size_t j;
1859*46bdcac5SOdelu Kukatla 
1860*46bdcac5SOdelu Kukatla 		if (!qnodes[i])
1861*46bdcac5SOdelu Kukatla 			continue;
1862*46bdcac5SOdelu Kukatla 
1863*46bdcac5SOdelu Kukatla 		node = icc_node_create(qnodes[i]->id);
1864*46bdcac5SOdelu Kukatla 		if (IS_ERR(node)) {
1865*46bdcac5SOdelu Kukatla 			ret = PTR_ERR(node);
1866*46bdcac5SOdelu Kukatla 			goto err;
1867*46bdcac5SOdelu Kukatla 		}
1868*46bdcac5SOdelu Kukatla 
1869*46bdcac5SOdelu Kukatla 		node->name = qnodes[i]->name;
1870*46bdcac5SOdelu Kukatla 		node->data = qnodes[i];
1871*46bdcac5SOdelu Kukatla 		icc_node_add(node, provider);
1872*46bdcac5SOdelu Kukatla 
1873*46bdcac5SOdelu Kukatla 		for (j = 0; j < qnodes[i]->num_links; j++)
1874*46bdcac5SOdelu Kukatla 			icc_link_create(node, qnodes[i]->links[j]);
1875*46bdcac5SOdelu Kukatla 
1876*46bdcac5SOdelu Kukatla 		data->nodes[i] = node;
1877*46bdcac5SOdelu Kukatla 	}
1878*46bdcac5SOdelu Kukatla 	data->num_nodes = num_nodes;
1879*46bdcac5SOdelu Kukatla 
1880*46bdcac5SOdelu Kukatla 	platform_set_drvdata(pdev, qp);
1881*46bdcac5SOdelu Kukatla 
1882*46bdcac5SOdelu Kukatla 	return 0;
1883*46bdcac5SOdelu Kukatla err:
1884*46bdcac5SOdelu Kukatla 	icc_nodes_remove(provider);
1885*46bdcac5SOdelu Kukatla 	icc_provider_del(provider);
1886*46bdcac5SOdelu Kukatla 	return ret;
1887*46bdcac5SOdelu Kukatla }
1888*46bdcac5SOdelu Kukatla 
1889*46bdcac5SOdelu Kukatla static int qnoc_remove(struct platform_device *pdev)
1890*46bdcac5SOdelu Kukatla {
1891*46bdcac5SOdelu Kukatla 	struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
1892*46bdcac5SOdelu Kukatla 
1893*46bdcac5SOdelu Kukatla 	icc_nodes_remove(&qp->provider);
1894*46bdcac5SOdelu Kukatla 	return icc_provider_del(&qp->provider);
1895*46bdcac5SOdelu Kukatla }
1896*46bdcac5SOdelu Kukatla 
1897*46bdcac5SOdelu Kukatla static const struct of_device_id qnoc_of_match[] = {
1898*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-aggre1-noc",
1899*46bdcac5SOdelu Kukatla 	  .data = &sc7280_aggre1_noc},
1900*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-aggre2-noc",
1901*46bdcac5SOdelu Kukatla 	  .data = &sc7280_aggre2_noc},
1902*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-clk-virt",
1903*46bdcac5SOdelu Kukatla 	  .data = &sc7280_clk_virt},
1904*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-cnoc2",
1905*46bdcac5SOdelu Kukatla 	  .data = &sc7280_cnoc2},
1906*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-cnoc3",
1907*46bdcac5SOdelu Kukatla 	  .data = &sc7280_cnoc3},
1908*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-dc-noc",
1909*46bdcac5SOdelu Kukatla 	  .data = &sc7280_dc_noc},
1910*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-gem-noc",
1911*46bdcac5SOdelu Kukatla 	  .data = &sc7280_gem_noc},
1912*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-lpass-ag-noc",
1913*46bdcac5SOdelu Kukatla 	  .data = &sc7280_lpass_ag_noc},
1914*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-mc-virt",
1915*46bdcac5SOdelu Kukatla 	  .data = &sc7280_mc_virt},
1916*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-mmss-noc",
1917*46bdcac5SOdelu Kukatla 	  .data = &sc7280_mmss_noc},
1918*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-nsp-noc",
1919*46bdcac5SOdelu Kukatla 	  .data = &sc7280_nsp_noc},
1920*46bdcac5SOdelu Kukatla 	{ .compatible = "qcom,sc7280-system-noc",
1921*46bdcac5SOdelu Kukatla 	  .data = &sc7280_system_noc},
1922*46bdcac5SOdelu Kukatla 	{ }
1923*46bdcac5SOdelu Kukatla };
1924*46bdcac5SOdelu Kukatla MODULE_DEVICE_TABLE(of, qnoc_of_match);
1925*46bdcac5SOdelu Kukatla 
1926*46bdcac5SOdelu Kukatla static struct platform_driver qnoc_driver = {
1927*46bdcac5SOdelu Kukatla 	.probe = qnoc_probe,
1928*46bdcac5SOdelu Kukatla 	.remove = qnoc_remove,
1929*46bdcac5SOdelu Kukatla 	.driver = {
1930*46bdcac5SOdelu Kukatla 		.name = "qnoc-sc7280",
1931*46bdcac5SOdelu Kukatla 		.of_match_table = qnoc_of_match,
1932*46bdcac5SOdelu Kukatla 		.sync_state = icc_sync_state,
1933*46bdcac5SOdelu Kukatla 	},
1934*46bdcac5SOdelu Kukatla };
1935*46bdcac5SOdelu Kukatla module_platform_driver(qnoc_driver);
1936*46bdcac5SOdelu Kukatla 
1937*46bdcac5SOdelu Kukatla MODULE_DESCRIPTION("SC7280 NoC driver");
1938*46bdcac5SOdelu Kukatla MODULE_LICENSE("GPL v2");
1939