xref: /openbmc/linux/drivers/interconnect/qcom/sc7180.c (revision b97d6790d03b763eca08847a9a5869a4291b9f9a)
12d1f95abSOdelu Kukatla // SPDX-License-Identifier: GPL-2.0
22d1f95abSOdelu Kukatla /*
32d1f95abSOdelu Kukatla  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
42d1f95abSOdelu Kukatla  *
52d1f95abSOdelu Kukatla  */
62d1f95abSOdelu Kukatla 
72d1f95abSOdelu Kukatla #include <linux/device.h>
82d1f95abSOdelu Kukatla #include <linux/interconnect.h>
92d1f95abSOdelu Kukatla #include <linux/interconnect-provider.h>
10cff66aceSRob Herring #include <linux/mod_devicetable.h>
112d1f95abSOdelu Kukatla #include <linux/module.h>
12cff66aceSRob Herring #include <linux/platform_device.h>
132d1f95abSOdelu Kukatla #include <dt-bindings/interconnect/qcom,sc7180.h>
142d1f95abSOdelu Kukatla 
152d1f95abSOdelu Kukatla #include "bcm-voter.h"
162d1f95abSOdelu Kukatla #include "icc-rpmh.h"
172d1f95abSOdelu Kukatla #include "sc7180.h"
182d1f95abSOdelu Kukatla 
19ea168170SKonrad Dybcio static struct qcom_icc_node qhm_a1noc_cfg = {
20ea168170SKonrad Dybcio 	.name = "qhm_a1noc_cfg",
21ea168170SKonrad Dybcio 	.id = SC7180_MASTER_A1NOC_CFG,
22ea168170SKonrad Dybcio 	.channels = 1,
23ea168170SKonrad Dybcio 	.buswidth = 4,
24ea168170SKonrad Dybcio 	.num_links = 1,
25ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_SERVICE_A1NOC },
26ea168170SKonrad Dybcio };
27ea168170SKonrad Dybcio 
28ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qspi = {
29ea168170SKonrad Dybcio 	.name = "qhm_qspi",
30ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QSPI,
31ea168170SKonrad Dybcio 	.channels = 1,
32ea168170SKonrad Dybcio 	.buswidth = 4,
33ea168170SKonrad Dybcio 	.num_links = 1,
34ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_SNOC },
35ea168170SKonrad Dybcio };
36ea168170SKonrad Dybcio 
37ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qup_0 = {
38ea168170SKonrad Dybcio 	.name = "qhm_qup_0",
39ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QUP_0,
40ea168170SKonrad Dybcio 	.channels = 1,
41ea168170SKonrad Dybcio 	.buswidth = 4,
42ea168170SKonrad Dybcio 	.num_links = 1,
43ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_SNOC },
44ea168170SKonrad Dybcio };
45ea168170SKonrad Dybcio 
46ea168170SKonrad Dybcio static struct qcom_icc_node xm_sdc2 = {
47ea168170SKonrad Dybcio 	.name = "xm_sdc2",
48ea168170SKonrad Dybcio 	.id = SC7180_MASTER_SDCC_2,
49ea168170SKonrad Dybcio 	.channels = 1,
50ea168170SKonrad Dybcio 	.buswidth = 8,
51ea168170SKonrad Dybcio 	.num_links = 1,
52ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_SNOC },
53ea168170SKonrad Dybcio };
54ea168170SKonrad Dybcio 
55ea168170SKonrad Dybcio static struct qcom_icc_node xm_emmc = {
56ea168170SKonrad Dybcio 	.name = "xm_emmc",
57ea168170SKonrad Dybcio 	.id = SC7180_MASTER_EMMC,
58ea168170SKonrad Dybcio 	.channels = 1,
59ea168170SKonrad Dybcio 	.buswidth = 8,
60ea168170SKonrad Dybcio 	.num_links = 1,
61ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_SNOC },
62ea168170SKonrad Dybcio };
63ea168170SKonrad Dybcio 
64ea168170SKonrad Dybcio static struct qcom_icc_node xm_ufs_mem = {
65ea168170SKonrad Dybcio 	.name = "xm_ufs_mem",
66ea168170SKonrad Dybcio 	.id = SC7180_MASTER_UFS_MEM,
67ea168170SKonrad Dybcio 	.channels = 1,
68ea168170SKonrad Dybcio 	.buswidth = 8,
69ea168170SKonrad Dybcio 	.num_links = 1,
70ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_SNOC },
71ea168170SKonrad Dybcio };
72ea168170SKonrad Dybcio 
73ea168170SKonrad Dybcio static struct qcom_icc_node qhm_a2noc_cfg = {
74ea168170SKonrad Dybcio 	.name = "qhm_a2noc_cfg",
75ea168170SKonrad Dybcio 	.id = SC7180_MASTER_A2NOC_CFG,
76ea168170SKonrad Dybcio 	.channels = 1,
77ea168170SKonrad Dybcio 	.buswidth = 4,
78ea168170SKonrad Dybcio 	.num_links = 1,
79ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_SERVICE_A2NOC },
80ea168170SKonrad Dybcio };
81ea168170SKonrad Dybcio 
82ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qdss_bam = {
83ea168170SKonrad Dybcio 	.name = "qhm_qdss_bam",
84ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QDSS_BAM,
85ea168170SKonrad Dybcio 	.channels = 1,
86ea168170SKonrad Dybcio 	.buswidth = 4,
87ea168170SKonrad Dybcio 	.num_links = 1,
88ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A2NOC_SNOC },
89ea168170SKonrad Dybcio };
90ea168170SKonrad Dybcio 
91ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qup_1 = {
92ea168170SKonrad Dybcio 	.name = "qhm_qup_1",
93ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QUP_1,
94ea168170SKonrad Dybcio 	.channels = 1,
95ea168170SKonrad Dybcio 	.buswidth = 4,
96ea168170SKonrad Dybcio 	.num_links = 1,
97ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A2NOC_SNOC },
98ea168170SKonrad Dybcio };
99ea168170SKonrad Dybcio 
100ea168170SKonrad Dybcio static struct qcom_icc_node qxm_crypto = {
101ea168170SKonrad Dybcio 	.name = "qxm_crypto",
102ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CRYPTO,
103ea168170SKonrad Dybcio 	.channels = 1,
104ea168170SKonrad Dybcio 	.buswidth = 8,
105ea168170SKonrad Dybcio 	.num_links = 1,
106ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A2NOC_SNOC },
107ea168170SKonrad Dybcio };
108ea168170SKonrad Dybcio 
109ea168170SKonrad Dybcio static struct qcom_icc_node qxm_ipa = {
110ea168170SKonrad Dybcio 	.name = "qxm_ipa",
111ea168170SKonrad Dybcio 	.id = SC7180_MASTER_IPA,
112ea168170SKonrad Dybcio 	.channels = 1,
113ea168170SKonrad Dybcio 	.buswidth = 8,
114ea168170SKonrad Dybcio 	.num_links = 1,
115ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A2NOC_SNOC },
116ea168170SKonrad Dybcio };
117ea168170SKonrad Dybcio 
118ea168170SKonrad Dybcio static struct qcom_icc_node xm_qdss_etr = {
119ea168170SKonrad Dybcio 	.name = "xm_qdss_etr",
120ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QDSS_ETR,
121ea168170SKonrad Dybcio 	.channels = 1,
122ea168170SKonrad Dybcio 	.buswidth = 8,
123ea168170SKonrad Dybcio 	.num_links = 1,
124ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A2NOC_SNOC },
125ea168170SKonrad Dybcio };
126ea168170SKonrad Dybcio 
127ea168170SKonrad Dybcio static struct qcom_icc_node qhm_usb3 = {
128ea168170SKonrad Dybcio 	.name = "qhm_usb3",
129ea168170SKonrad Dybcio 	.id = SC7180_MASTER_USB3,
130ea168170SKonrad Dybcio 	.channels = 1,
131ea168170SKonrad Dybcio 	.buswidth = 8,
132ea168170SKonrad Dybcio 	.num_links = 1,
133ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A2NOC_SNOC },
134ea168170SKonrad Dybcio };
135ea168170SKonrad Dybcio 
136ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0_uncomp = {
137ea168170SKonrad Dybcio 	.name = "qxm_camnoc_hf0_uncomp",
138ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CAMNOC_HF0_UNCOMP,
139ea168170SKonrad Dybcio 	.channels = 1,
140ea168170SKonrad Dybcio 	.buswidth = 32,
141ea168170SKonrad Dybcio 	.num_links = 1,
142ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_CAMNOC_UNCOMP },
143ea168170SKonrad Dybcio };
144ea168170SKonrad Dybcio 
145ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1_uncomp = {
146ea168170SKonrad Dybcio 	.name = "qxm_camnoc_hf1_uncomp",
147ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CAMNOC_HF1_UNCOMP,
148ea168170SKonrad Dybcio 	.channels = 1,
149ea168170SKonrad Dybcio 	.buswidth = 32,
150ea168170SKonrad Dybcio 	.num_links = 1,
151ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_CAMNOC_UNCOMP },
152ea168170SKonrad Dybcio };
153ea168170SKonrad Dybcio 
154ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf_uncomp = {
155ea168170SKonrad Dybcio 	.name = "qxm_camnoc_sf_uncomp",
156ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CAMNOC_SF_UNCOMP,
157ea168170SKonrad Dybcio 	.channels = 1,
158ea168170SKonrad Dybcio 	.buswidth = 32,
159ea168170SKonrad Dybcio 	.num_links = 1,
160ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_CAMNOC_UNCOMP },
161ea168170SKonrad Dybcio };
162ea168170SKonrad Dybcio 
163ea168170SKonrad Dybcio static struct qcom_icc_node qnm_npu = {
164ea168170SKonrad Dybcio 	.name = "qnm_npu",
165ea168170SKonrad Dybcio 	.id = SC7180_MASTER_NPU,
166ea168170SKonrad Dybcio 	.channels = 2,
167ea168170SKonrad Dybcio 	.buswidth = 32,
168ea168170SKonrad Dybcio 	.num_links = 1,
169ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_CDSP_GEM_NOC },
170ea168170SKonrad Dybcio };
171ea168170SKonrad Dybcio 
172ea168170SKonrad Dybcio static struct qcom_icc_node qxm_npu_dsp = {
173ea168170SKonrad Dybcio 	.name = "qxm_npu_dsp",
174ea168170SKonrad Dybcio 	.id = SC7180_MASTER_NPU_PROC,
175ea168170SKonrad Dybcio 	.channels = 1,
176ea168170SKonrad Dybcio 	.buswidth = 8,
177ea168170SKonrad Dybcio 	.num_links = 1,
178ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_CDSP_GEM_NOC },
179ea168170SKonrad Dybcio };
180ea168170SKonrad Dybcio 
181ea168170SKonrad Dybcio static struct qcom_icc_node qnm_snoc = {
182ea168170SKonrad Dybcio 	.name = "qnm_snoc",
183ea168170SKonrad Dybcio 	.id = SC7180_MASTER_SNOC_CNOC,
184ea168170SKonrad Dybcio 	.channels = 1,
185ea168170SKonrad Dybcio 	.buswidth = 8,
186ea168170SKonrad Dybcio 	.num_links = 51,
187ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_CFG,
188ea168170SKonrad Dybcio 		   SC7180_SLAVE_A2NOC_CFG,
189ea168170SKonrad Dybcio 		   SC7180_SLAVE_AHB2PHY_SOUTH,
190ea168170SKonrad Dybcio 		   SC7180_SLAVE_AHB2PHY_CENTER,
191ea168170SKonrad Dybcio 		   SC7180_SLAVE_AOP,
192ea168170SKonrad Dybcio 		   SC7180_SLAVE_AOSS,
193ea168170SKonrad Dybcio 		   SC7180_SLAVE_BOOT_ROM,
194ea168170SKonrad Dybcio 		   SC7180_SLAVE_CAMERA_CFG,
195ea168170SKonrad Dybcio 		   SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG,
196ea168170SKonrad Dybcio 		   SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG,
197ea168170SKonrad Dybcio 		   SC7180_SLAVE_CLK_CTL,
198ea168170SKonrad Dybcio 		   SC7180_SLAVE_RBCPR_CX_CFG,
199ea168170SKonrad Dybcio 		   SC7180_SLAVE_RBCPR_MX_CFG,
200ea168170SKonrad Dybcio 		   SC7180_SLAVE_CRYPTO_0_CFG,
201ea168170SKonrad Dybcio 		   SC7180_SLAVE_DCC_CFG,
202ea168170SKonrad Dybcio 		   SC7180_SLAVE_CNOC_DDRSS,
203ea168170SKonrad Dybcio 		   SC7180_SLAVE_DISPLAY_CFG,
204ea168170SKonrad Dybcio 		   SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG,
205ea168170SKonrad Dybcio 		   SC7180_SLAVE_DISPLAY_THROTTLE_CFG,
206ea168170SKonrad Dybcio 		   SC7180_SLAVE_EMMC_CFG,
207ea168170SKonrad Dybcio 		   SC7180_SLAVE_GLM,
208ea168170SKonrad Dybcio 		   SC7180_SLAVE_GFX3D_CFG,
209ea168170SKonrad Dybcio 		   SC7180_SLAVE_IMEM_CFG,
210ea168170SKonrad Dybcio 		   SC7180_SLAVE_IPA_CFG,
211ea168170SKonrad Dybcio 		   SC7180_SLAVE_CNOC_MNOC_CFG,
212ea168170SKonrad Dybcio 		   SC7180_SLAVE_CNOC_MSS,
213ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_CFG,
214ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_DMA_BWMON_CFG,
215ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_PROC_BWMON_CFG,
216ea168170SKonrad Dybcio 		   SC7180_SLAVE_PDM,
217ea168170SKonrad Dybcio 		   SC7180_SLAVE_PIMEM_CFG,
218ea168170SKonrad Dybcio 		   SC7180_SLAVE_PRNG,
219ea168170SKonrad Dybcio 		   SC7180_SLAVE_QDSS_CFG,
220ea168170SKonrad Dybcio 		   SC7180_SLAVE_QM_CFG,
221ea168170SKonrad Dybcio 		   SC7180_SLAVE_QM_MPU_CFG,
222ea168170SKonrad Dybcio 		   SC7180_SLAVE_QSPI_0,
223ea168170SKonrad Dybcio 		   SC7180_SLAVE_QUP_0,
224ea168170SKonrad Dybcio 		   SC7180_SLAVE_QUP_1,
225ea168170SKonrad Dybcio 		   SC7180_SLAVE_SDCC_2,
226ea168170SKonrad Dybcio 		   SC7180_SLAVE_SECURITY,
227ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_CFG,
228ea168170SKonrad Dybcio 		   SC7180_SLAVE_TCSR,
229ea168170SKonrad Dybcio 		   SC7180_SLAVE_TLMM_WEST,
230ea168170SKonrad Dybcio 		   SC7180_SLAVE_TLMM_NORTH,
231ea168170SKonrad Dybcio 		   SC7180_SLAVE_TLMM_SOUTH,
232ea168170SKonrad Dybcio 		   SC7180_SLAVE_UFS_MEM_CFG,
233ea168170SKonrad Dybcio 		   SC7180_SLAVE_USB3,
234ea168170SKonrad Dybcio 		   SC7180_SLAVE_VENUS_CFG,
235ea168170SKonrad Dybcio 		   SC7180_SLAVE_VENUS_THROTTLE_CFG,
236ea168170SKonrad Dybcio 		   SC7180_SLAVE_VSENSE_CTRL_CFG,
237ea168170SKonrad Dybcio 		   SC7180_SLAVE_SERVICE_CNOC
238ea168170SKonrad Dybcio 	},
239ea168170SKonrad Dybcio };
240ea168170SKonrad Dybcio 
241ea168170SKonrad Dybcio static struct qcom_icc_node xm_qdss_dap = {
242ea168170SKonrad Dybcio 	.name = "xm_qdss_dap",
243ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QDSS_DAP,
244ea168170SKonrad Dybcio 	.channels = 1,
245ea168170SKonrad Dybcio 	.buswidth = 8,
246ea168170SKonrad Dybcio 	.num_links = 51,
247ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_A1NOC_CFG,
248ea168170SKonrad Dybcio 		   SC7180_SLAVE_A2NOC_CFG,
249ea168170SKonrad Dybcio 		   SC7180_SLAVE_AHB2PHY_SOUTH,
250ea168170SKonrad Dybcio 		   SC7180_SLAVE_AHB2PHY_CENTER,
251ea168170SKonrad Dybcio 		   SC7180_SLAVE_AOP,
252ea168170SKonrad Dybcio 		   SC7180_SLAVE_AOSS,
253ea168170SKonrad Dybcio 		   SC7180_SLAVE_BOOT_ROM,
254ea168170SKonrad Dybcio 		   SC7180_SLAVE_CAMERA_CFG,
255ea168170SKonrad Dybcio 		   SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG,
256ea168170SKonrad Dybcio 		   SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG,
257ea168170SKonrad Dybcio 		   SC7180_SLAVE_CLK_CTL,
258ea168170SKonrad Dybcio 		   SC7180_SLAVE_RBCPR_CX_CFG,
259ea168170SKonrad Dybcio 		   SC7180_SLAVE_RBCPR_MX_CFG,
260ea168170SKonrad Dybcio 		   SC7180_SLAVE_CRYPTO_0_CFG,
261ea168170SKonrad Dybcio 		   SC7180_SLAVE_DCC_CFG,
262ea168170SKonrad Dybcio 		   SC7180_SLAVE_CNOC_DDRSS,
263ea168170SKonrad Dybcio 		   SC7180_SLAVE_DISPLAY_CFG,
264ea168170SKonrad Dybcio 		   SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG,
265ea168170SKonrad Dybcio 		   SC7180_SLAVE_DISPLAY_THROTTLE_CFG,
266ea168170SKonrad Dybcio 		   SC7180_SLAVE_EMMC_CFG,
267ea168170SKonrad Dybcio 		   SC7180_SLAVE_GLM,
268ea168170SKonrad Dybcio 		   SC7180_SLAVE_GFX3D_CFG,
269ea168170SKonrad Dybcio 		   SC7180_SLAVE_IMEM_CFG,
270ea168170SKonrad Dybcio 		   SC7180_SLAVE_IPA_CFG,
271ea168170SKonrad Dybcio 		   SC7180_SLAVE_CNOC_MNOC_CFG,
272ea168170SKonrad Dybcio 		   SC7180_SLAVE_CNOC_MSS,
273ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_CFG,
274ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_DMA_BWMON_CFG,
275ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_PROC_BWMON_CFG,
276ea168170SKonrad Dybcio 		   SC7180_SLAVE_PDM,
277ea168170SKonrad Dybcio 		   SC7180_SLAVE_PIMEM_CFG,
278ea168170SKonrad Dybcio 		   SC7180_SLAVE_PRNG,
279ea168170SKonrad Dybcio 		   SC7180_SLAVE_QDSS_CFG,
280ea168170SKonrad Dybcio 		   SC7180_SLAVE_QM_CFG,
281ea168170SKonrad Dybcio 		   SC7180_SLAVE_QM_MPU_CFG,
282ea168170SKonrad Dybcio 		   SC7180_SLAVE_QSPI_0,
283ea168170SKonrad Dybcio 		   SC7180_SLAVE_QUP_0,
284ea168170SKonrad Dybcio 		   SC7180_SLAVE_QUP_1,
285ea168170SKonrad Dybcio 		   SC7180_SLAVE_SDCC_2,
286ea168170SKonrad Dybcio 		   SC7180_SLAVE_SECURITY,
287ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_CFG,
288ea168170SKonrad Dybcio 		   SC7180_SLAVE_TCSR,
289ea168170SKonrad Dybcio 		   SC7180_SLAVE_TLMM_WEST,
290ea168170SKonrad Dybcio 		   SC7180_SLAVE_TLMM_NORTH,
291ea168170SKonrad Dybcio 		   SC7180_SLAVE_TLMM_SOUTH,
292ea168170SKonrad Dybcio 		   SC7180_SLAVE_UFS_MEM_CFG,
293ea168170SKonrad Dybcio 		   SC7180_SLAVE_USB3,
294ea168170SKonrad Dybcio 		   SC7180_SLAVE_VENUS_CFG,
295ea168170SKonrad Dybcio 		   SC7180_SLAVE_VENUS_THROTTLE_CFG,
296ea168170SKonrad Dybcio 		   SC7180_SLAVE_VSENSE_CTRL_CFG,
297ea168170SKonrad Dybcio 		   SC7180_SLAVE_SERVICE_CNOC
298ea168170SKonrad Dybcio 	},
299ea168170SKonrad Dybcio };
300ea168170SKonrad Dybcio 
301ea168170SKonrad Dybcio static struct qcom_icc_node qhm_cnoc_dc_noc = {
302ea168170SKonrad Dybcio 	.name = "qhm_cnoc_dc_noc",
303ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CNOC_DC_NOC,
304ea168170SKonrad Dybcio 	.channels = 1,
305ea168170SKonrad Dybcio 	.buswidth = 4,
306ea168170SKonrad Dybcio 	.num_links = 2,
307ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_GEM_NOC_CFG,
308ea168170SKonrad Dybcio 		   SC7180_SLAVE_LLCC_CFG
309ea168170SKonrad Dybcio 	},
310ea168170SKonrad Dybcio };
311ea168170SKonrad Dybcio 
312ea168170SKonrad Dybcio static struct qcom_icc_node acm_apps0 = {
313ea168170SKonrad Dybcio 	.name = "acm_apps0",
314ea168170SKonrad Dybcio 	.id = SC7180_MASTER_APPSS_PROC,
315ea168170SKonrad Dybcio 	.channels = 1,
316ea168170SKonrad Dybcio 	.buswidth = 16,
317ea168170SKonrad Dybcio 	.num_links = 2,
318ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_GEM_NOC_SNOC,
319ea168170SKonrad Dybcio 		   SC7180_SLAVE_LLCC
320ea168170SKonrad Dybcio 	},
321ea168170SKonrad Dybcio };
322ea168170SKonrad Dybcio 
323ea168170SKonrad Dybcio static struct qcom_icc_node acm_sys_tcu = {
324ea168170SKonrad Dybcio 	.name = "acm_sys_tcu",
325ea168170SKonrad Dybcio 	.id = SC7180_MASTER_SYS_TCU,
326ea168170SKonrad Dybcio 	.channels = 1,
327ea168170SKonrad Dybcio 	.buswidth = 8,
328ea168170SKonrad Dybcio 	.num_links = 2,
329ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_GEM_NOC_SNOC,
330ea168170SKonrad Dybcio 		   SC7180_SLAVE_LLCC
331ea168170SKonrad Dybcio 	},
332ea168170SKonrad Dybcio };
333ea168170SKonrad Dybcio 
334ea168170SKonrad Dybcio static struct qcom_icc_node qhm_gemnoc_cfg = {
335ea168170SKonrad Dybcio 	.name = "qhm_gemnoc_cfg",
336ea168170SKonrad Dybcio 	.id = SC7180_MASTER_GEM_NOC_CFG,
337ea168170SKonrad Dybcio 	.channels = 1,
338ea168170SKonrad Dybcio 	.buswidth = 4,
339ea168170SKonrad Dybcio 	.num_links = 2,
340ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MSS_PROC_MS_MPU_CFG,
341ea168170SKonrad Dybcio 		   SC7180_SLAVE_SERVICE_GEM_NOC
342ea168170SKonrad Dybcio 	},
343ea168170SKonrad Dybcio };
344ea168170SKonrad Dybcio 
345ea168170SKonrad Dybcio static struct qcom_icc_node qnm_cmpnoc = {
346ea168170SKonrad Dybcio 	.name = "qnm_cmpnoc",
347ea168170SKonrad Dybcio 	.id = SC7180_MASTER_COMPUTE_NOC,
348ea168170SKonrad Dybcio 	.channels = 1,
349ea168170SKonrad Dybcio 	.buswidth = 32,
350ea168170SKonrad Dybcio 	.num_links = 2,
351ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_GEM_NOC_SNOC,
352ea168170SKonrad Dybcio 		   SC7180_SLAVE_LLCC
353ea168170SKonrad Dybcio 	},
354ea168170SKonrad Dybcio };
355ea168170SKonrad Dybcio 
356ea168170SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_hf = {
357ea168170SKonrad Dybcio 	.name = "qnm_mnoc_hf",
358ea168170SKonrad Dybcio 	.id = SC7180_MASTER_MNOC_HF_MEM_NOC,
359ea168170SKonrad Dybcio 	.channels = 1,
360ea168170SKonrad Dybcio 	.buswidth = 32,
361ea168170SKonrad Dybcio 	.num_links = 1,
362ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_LLCC },
363ea168170SKonrad Dybcio };
364ea168170SKonrad Dybcio 
365ea168170SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_sf = {
366ea168170SKonrad Dybcio 	.name = "qnm_mnoc_sf",
367ea168170SKonrad Dybcio 	.id = SC7180_MASTER_MNOC_SF_MEM_NOC,
368ea168170SKonrad Dybcio 	.channels = 1,
369ea168170SKonrad Dybcio 	.buswidth = 32,
370ea168170SKonrad Dybcio 	.num_links = 2,
371ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_GEM_NOC_SNOC,
372ea168170SKonrad Dybcio 		   SC7180_SLAVE_LLCC
373ea168170SKonrad Dybcio 	},
374ea168170SKonrad Dybcio };
375ea168170SKonrad Dybcio 
376ea168170SKonrad Dybcio static struct qcom_icc_node qnm_snoc_gc = {
377ea168170SKonrad Dybcio 	.name = "qnm_snoc_gc",
378ea168170SKonrad Dybcio 	.id = SC7180_MASTER_SNOC_GC_MEM_NOC,
379ea168170SKonrad Dybcio 	.channels = 1,
380ea168170SKonrad Dybcio 	.buswidth = 8,
381ea168170SKonrad Dybcio 	.num_links = 1,
382ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_LLCC },
383ea168170SKonrad Dybcio };
384ea168170SKonrad Dybcio 
385ea168170SKonrad Dybcio static struct qcom_icc_node qnm_snoc_sf = {
386ea168170SKonrad Dybcio 	.name = "qnm_snoc_sf",
387ea168170SKonrad Dybcio 	.id = SC7180_MASTER_SNOC_SF_MEM_NOC,
388ea168170SKonrad Dybcio 	.channels = 1,
389ea168170SKonrad Dybcio 	.buswidth = 16,
390ea168170SKonrad Dybcio 	.num_links = 1,
391ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_LLCC },
392ea168170SKonrad Dybcio };
393ea168170SKonrad Dybcio 
394ea168170SKonrad Dybcio static struct qcom_icc_node qxm_gpu = {
395ea168170SKonrad Dybcio 	.name = "qxm_gpu",
396ea168170SKonrad Dybcio 	.id = SC7180_MASTER_GFX3D,
397ea168170SKonrad Dybcio 	.channels = 2,
398ea168170SKonrad Dybcio 	.buswidth = 32,
399ea168170SKonrad Dybcio 	.num_links = 2,
400ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_GEM_NOC_SNOC,
401ea168170SKonrad Dybcio 		   SC7180_SLAVE_LLCC
402ea168170SKonrad Dybcio 	},
403ea168170SKonrad Dybcio };
404ea168170SKonrad Dybcio 
405ea168170SKonrad Dybcio static struct qcom_icc_node llcc_mc = {
406ea168170SKonrad Dybcio 	.name = "llcc_mc",
407ea168170SKonrad Dybcio 	.id = SC7180_MASTER_LLCC,
408ea168170SKonrad Dybcio 	.channels = 2,
409ea168170SKonrad Dybcio 	.buswidth = 4,
410ea168170SKonrad Dybcio 	.num_links = 1,
411ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_EBI1 },
412ea168170SKonrad Dybcio };
413ea168170SKonrad Dybcio 
414ea168170SKonrad Dybcio static struct qcom_icc_node qhm_mnoc_cfg = {
415ea168170SKonrad Dybcio 	.name = "qhm_mnoc_cfg",
416ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CNOC_MNOC_CFG,
417ea168170SKonrad Dybcio 	.channels = 1,
418ea168170SKonrad Dybcio 	.buswidth = 4,
419ea168170SKonrad Dybcio 	.num_links = 1,
420ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_SERVICE_MNOC },
421ea168170SKonrad Dybcio };
422ea168170SKonrad Dybcio 
423ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0 = {
424ea168170SKonrad Dybcio 	.name = "qxm_camnoc_hf0",
425ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CAMNOC_HF0,
426ea168170SKonrad Dybcio 	.channels = 2,
427ea168170SKonrad Dybcio 	.buswidth = 32,
428ea168170SKonrad Dybcio 	.num_links = 1,
429ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_HF_MEM_NOC },
430ea168170SKonrad Dybcio };
431ea168170SKonrad Dybcio 
432ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1 = {
433ea168170SKonrad Dybcio 	.name = "qxm_camnoc_hf1",
434ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CAMNOC_HF1,
435ea168170SKonrad Dybcio 	.channels = 2,
436ea168170SKonrad Dybcio 	.buswidth = 32,
437ea168170SKonrad Dybcio 	.num_links = 1,
438ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_HF_MEM_NOC },
439ea168170SKonrad Dybcio };
440ea168170SKonrad Dybcio 
441ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf = {
442ea168170SKonrad Dybcio 	.name = "qxm_camnoc_sf",
443ea168170SKonrad Dybcio 	.id = SC7180_MASTER_CAMNOC_SF,
444ea168170SKonrad Dybcio 	.channels = 1,
445ea168170SKonrad Dybcio 	.buswidth = 32,
446ea168170SKonrad Dybcio 	.num_links = 1,
447ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_SF_MEM_NOC },
448ea168170SKonrad Dybcio };
449ea168170SKonrad Dybcio 
450ea168170SKonrad Dybcio static struct qcom_icc_node qxm_mdp0 = {
451ea168170SKonrad Dybcio 	.name = "qxm_mdp0",
452ea168170SKonrad Dybcio 	.id = SC7180_MASTER_MDP0,
453ea168170SKonrad Dybcio 	.channels = 1,
454ea168170SKonrad Dybcio 	.buswidth = 32,
455ea168170SKonrad Dybcio 	.num_links = 1,
456ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_HF_MEM_NOC },
457ea168170SKonrad Dybcio };
458ea168170SKonrad Dybcio 
459ea168170SKonrad Dybcio static struct qcom_icc_node qxm_rot = {
460ea168170SKonrad Dybcio 	.name = "qxm_rot",
461ea168170SKonrad Dybcio 	.id = SC7180_MASTER_ROTATOR,
462ea168170SKonrad Dybcio 	.channels = 1,
463ea168170SKonrad Dybcio 	.buswidth = 16,
464ea168170SKonrad Dybcio 	.num_links = 1,
465ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_SF_MEM_NOC },
466ea168170SKonrad Dybcio };
467ea168170SKonrad Dybcio 
468ea168170SKonrad Dybcio static struct qcom_icc_node qxm_venus0 = {
469ea168170SKonrad Dybcio 	.name = "qxm_venus0",
470ea168170SKonrad Dybcio 	.id = SC7180_MASTER_VIDEO_P0,
471ea168170SKonrad Dybcio 	.channels = 1,
472ea168170SKonrad Dybcio 	.buswidth = 32,
473ea168170SKonrad Dybcio 	.num_links = 1,
474ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_SF_MEM_NOC },
475ea168170SKonrad Dybcio };
476ea168170SKonrad Dybcio 
477ea168170SKonrad Dybcio static struct qcom_icc_node qxm_venus_arm9 = {
478ea168170SKonrad Dybcio 	.name = "qxm_venus_arm9",
479ea168170SKonrad Dybcio 	.id = SC7180_MASTER_VIDEO_PROC,
480ea168170SKonrad Dybcio 	.channels = 1,
481ea168170SKonrad Dybcio 	.buswidth = 8,
482ea168170SKonrad Dybcio 	.num_links = 1,
483ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_MNOC_SF_MEM_NOC },
484ea168170SKonrad Dybcio };
485ea168170SKonrad Dybcio 
486ea168170SKonrad Dybcio static struct qcom_icc_node amm_npu_sys = {
487ea168170SKonrad Dybcio 	.name = "amm_npu_sys",
488ea168170SKonrad Dybcio 	.id = SC7180_MASTER_NPU_SYS,
489ea168170SKonrad Dybcio 	.channels = 2,
490ea168170SKonrad Dybcio 	.buswidth = 32,
491ea168170SKonrad Dybcio 	.num_links = 1,
492ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_NPU_COMPUTE_NOC },
493ea168170SKonrad Dybcio };
494ea168170SKonrad Dybcio 
495ea168170SKonrad Dybcio static struct qcom_icc_node qhm_npu_cfg = {
496ea168170SKonrad Dybcio 	.name = "qhm_npu_cfg",
497ea168170SKonrad Dybcio 	.id = SC7180_MASTER_NPU_NOC_CFG,
498ea168170SKonrad Dybcio 	.channels = 1,
499ea168170SKonrad Dybcio 	.buswidth = 4,
500ea168170SKonrad Dybcio 	.num_links = 8,
501ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_NPU_CAL_DP0,
502ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_CP,
503ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG,
504ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_DPM,
505ea168170SKonrad Dybcio 		   SC7180_SLAVE_ISENSE_CFG,
506ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_LLM_CFG,
507ea168170SKonrad Dybcio 		   SC7180_SLAVE_NPU_TCM,
508ea168170SKonrad Dybcio 		   SC7180_SLAVE_SERVICE_NPU_NOC
509ea168170SKonrad Dybcio 	},
510ea168170SKonrad Dybcio };
511ea168170SKonrad Dybcio 
512ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_master_1 = {
513ea168170SKonrad Dybcio 	.name = "qup_core_master_1",
514ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QUP_CORE_0,
515ea168170SKonrad Dybcio 	.channels = 1,
516ea168170SKonrad Dybcio 	.buswidth = 4,
517ea168170SKonrad Dybcio 	.num_links = 1,
518ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_QUP_CORE_0 },
519ea168170SKonrad Dybcio };
520ea168170SKonrad Dybcio 
521ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_master_2 = {
522ea168170SKonrad Dybcio 	.name = "qup_core_master_2",
523ea168170SKonrad Dybcio 	.id = SC7180_MASTER_QUP_CORE_1,
524ea168170SKonrad Dybcio 	.channels = 1,
525ea168170SKonrad Dybcio 	.buswidth = 4,
526ea168170SKonrad Dybcio 	.num_links = 1,
527ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_QUP_CORE_1 },
528ea168170SKonrad Dybcio };
529ea168170SKonrad Dybcio 
530ea168170SKonrad Dybcio static struct qcom_icc_node qhm_snoc_cfg = {
531ea168170SKonrad Dybcio 	.name = "qhm_snoc_cfg",
532ea168170SKonrad Dybcio 	.id = SC7180_MASTER_SNOC_CFG,
533ea168170SKonrad Dybcio 	.channels = 1,
534ea168170SKonrad Dybcio 	.buswidth = 4,
535ea168170SKonrad Dybcio 	.num_links = 1,
536ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_SERVICE_SNOC },
537ea168170SKonrad Dybcio };
538ea168170SKonrad Dybcio 
539ea168170SKonrad Dybcio static struct qcom_icc_node qnm_aggre1_noc = {
540ea168170SKonrad Dybcio 	.name = "qnm_aggre1_noc",
541ea168170SKonrad Dybcio 	.id = SC7180_MASTER_A1NOC_SNOC,
542ea168170SKonrad Dybcio 	.channels = 1,
543ea168170SKonrad Dybcio 	.buswidth = 16,
544ea168170SKonrad Dybcio 	.num_links = 6,
545ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_APPSS,
546ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_CNOC,
547ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_GEM_NOC_SF,
548ea168170SKonrad Dybcio 		   SC7180_SLAVE_IMEM,
549ea168170SKonrad Dybcio 		   SC7180_SLAVE_PIMEM,
550ea168170SKonrad Dybcio 		   SC7180_SLAVE_QDSS_STM
551ea168170SKonrad Dybcio 	},
552ea168170SKonrad Dybcio };
553ea168170SKonrad Dybcio 
554ea168170SKonrad Dybcio static struct qcom_icc_node qnm_aggre2_noc = {
555ea168170SKonrad Dybcio 	.name = "qnm_aggre2_noc",
556ea168170SKonrad Dybcio 	.id = SC7180_MASTER_A2NOC_SNOC,
557ea168170SKonrad Dybcio 	.channels = 1,
558ea168170SKonrad Dybcio 	.buswidth = 16,
559ea168170SKonrad Dybcio 	.num_links = 7,
560ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_APPSS,
561ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_CNOC,
562ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_GEM_NOC_SF,
563ea168170SKonrad Dybcio 		   SC7180_SLAVE_IMEM,
564ea168170SKonrad Dybcio 		   SC7180_SLAVE_PIMEM,
565ea168170SKonrad Dybcio 		   SC7180_SLAVE_QDSS_STM,
566ea168170SKonrad Dybcio 		   SC7180_SLAVE_TCU
567ea168170SKonrad Dybcio 	},
568ea168170SKonrad Dybcio };
569ea168170SKonrad Dybcio 
570ea168170SKonrad Dybcio static struct qcom_icc_node qnm_gemnoc = {
571ea168170SKonrad Dybcio 	.name = "qnm_gemnoc",
572ea168170SKonrad Dybcio 	.id = SC7180_MASTER_GEM_NOC_SNOC,
573ea168170SKonrad Dybcio 	.channels = 1,
574ea168170SKonrad Dybcio 	.buswidth = 8,
575ea168170SKonrad Dybcio 	.num_links = 6,
576ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_APPSS,
577ea168170SKonrad Dybcio 		   SC7180_SLAVE_SNOC_CNOC,
578ea168170SKonrad Dybcio 		   SC7180_SLAVE_IMEM,
579ea168170SKonrad Dybcio 		   SC7180_SLAVE_PIMEM,
580ea168170SKonrad Dybcio 		   SC7180_SLAVE_QDSS_STM,
581ea168170SKonrad Dybcio 		   SC7180_SLAVE_TCU
582ea168170SKonrad Dybcio 	},
583ea168170SKonrad Dybcio };
584ea168170SKonrad Dybcio 
585ea168170SKonrad Dybcio static struct qcom_icc_node qxm_pimem = {
586ea168170SKonrad Dybcio 	.name = "qxm_pimem",
587ea168170SKonrad Dybcio 	.id = SC7180_MASTER_PIMEM,
588ea168170SKonrad Dybcio 	.channels = 1,
589ea168170SKonrad Dybcio 	.buswidth = 8,
590ea168170SKonrad Dybcio 	.num_links = 2,
591ea168170SKonrad Dybcio 	.links = { SC7180_SLAVE_SNOC_GEM_NOC_GC,
592ea168170SKonrad Dybcio 		   SC7180_SLAVE_IMEM
593ea168170SKonrad Dybcio 	},
594ea168170SKonrad Dybcio };
595ea168170SKonrad Dybcio 
596ea168170SKonrad Dybcio static struct qcom_icc_node qns_a1noc_snoc = {
597ea168170SKonrad Dybcio 	.name = "qns_a1noc_snoc",
598ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_A1NOC_SNOC,
599ea168170SKonrad Dybcio 	.channels = 1,
600ea168170SKonrad Dybcio 	.buswidth = 16,
601ea168170SKonrad Dybcio 	.num_links = 1,
602ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_A1NOC_SNOC },
603ea168170SKonrad Dybcio };
604ea168170SKonrad Dybcio 
605ea168170SKonrad Dybcio static struct qcom_icc_node srvc_aggre1_noc = {
606ea168170SKonrad Dybcio 	.name = "srvc_aggre1_noc",
607ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_A1NOC,
608ea168170SKonrad Dybcio 	.channels = 1,
609ea168170SKonrad Dybcio 	.buswidth = 4,
610ea168170SKonrad Dybcio };
611ea168170SKonrad Dybcio 
612ea168170SKonrad Dybcio static struct qcom_icc_node qns_a2noc_snoc = {
613ea168170SKonrad Dybcio 	.name = "qns_a2noc_snoc",
614ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_A2NOC_SNOC,
615ea168170SKonrad Dybcio 	.channels = 1,
616ea168170SKonrad Dybcio 	.buswidth = 16,
617ea168170SKonrad Dybcio 	.num_links = 1,
618ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_A2NOC_SNOC },
619ea168170SKonrad Dybcio };
620ea168170SKonrad Dybcio 
621ea168170SKonrad Dybcio static struct qcom_icc_node srvc_aggre2_noc = {
622ea168170SKonrad Dybcio 	.name = "srvc_aggre2_noc",
623ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_A2NOC,
624ea168170SKonrad Dybcio 	.channels = 1,
625ea168170SKonrad Dybcio 	.buswidth = 4,
626ea168170SKonrad Dybcio };
627ea168170SKonrad Dybcio 
628ea168170SKonrad Dybcio static struct qcom_icc_node qns_camnoc_uncomp = {
629ea168170SKonrad Dybcio 	.name = "qns_camnoc_uncomp",
630ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CAMNOC_UNCOMP,
631ea168170SKonrad Dybcio 	.channels = 1,
632ea168170SKonrad Dybcio 	.buswidth = 32,
633ea168170SKonrad Dybcio };
634ea168170SKonrad Dybcio 
635ea168170SKonrad Dybcio static struct qcom_icc_node qns_cdsp_gemnoc = {
636ea168170SKonrad Dybcio 	.name = "qns_cdsp_gemnoc",
637ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CDSP_GEM_NOC,
638ea168170SKonrad Dybcio 	.channels = 1,
639ea168170SKonrad Dybcio 	.buswidth = 32,
640ea168170SKonrad Dybcio 	.num_links = 1,
641ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_COMPUTE_NOC },
642ea168170SKonrad Dybcio };
643ea168170SKonrad Dybcio 
644ea168170SKonrad Dybcio static struct qcom_icc_node qhs_a1_noc_cfg = {
645ea168170SKonrad Dybcio 	.name = "qhs_a1_noc_cfg",
646ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_A1NOC_CFG,
647ea168170SKonrad Dybcio 	.channels = 1,
648ea168170SKonrad Dybcio 	.buswidth = 4,
649ea168170SKonrad Dybcio 	.num_links = 1,
650ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_A1NOC_CFG },
651ea168170SKonrad Dybcio };
652ea168170SKonrad Dybcio 
653ea168170SKonrad Dybcio static struct qcom_icc_node qhs_a2_noc_cfg = {
654ea168170SKonrad Dybcio 	.name = "qhs_a2_noc_cfg",
655ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_A2NOC_CFG,
656ea168170SKonrad Dybcio 	.channels = 1,
657ea168170SKonrad Dybcio 	.buswidth = 4,
658ea168170SKonrad Dybcio 	.num_links = 1,
659ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_A2NOC_CFG },
660ea168170SKonrad Dybcio };
661ea168170SKonrad Dybcio 
662ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy0 = {
663ea168170SKonrad Dybcio 	.name = "qhs_ahb2phy0",
664ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_AHB2PHY_SOUTH,
665ea168170SKonrad Dybcio 	.channels = 1,
666ea168170SKonrad Dybcio 	.buswidth = 4,
667ea168170SKonrad Dybcio };
668ea168170SKonrad Dybcio 
669ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy2 = {
670ea168170SKonrad Dybcio 	.name = "qhs_ahb2phy2",
671ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_AHB2PHY_CENTER,
672ea168170SKonrad Dybcio 	.channels = 1,
673ea168170SKonrad Dybcio 	.buswidth = 4,
674ea168170SKonrad Dybcio };
675ea168170SKonrad Dybcio 
676ea168170SKonrad Dybcio static struct qcom_icc_node qhs_aop = {
677ea168170SKonrad Dybcio 	.name = "qhs_aop",
678ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_AOP,
679ea168170SKonrad Dybcio 	.channels = 1,
680ea168170SKonrad Dybcio 	.buswidth = 4,
681ea168170SKonrad Dybcio };
682ea168170SKonrad Dybcio 
683ea168170SKonrad Dybcio static struct qcom_icc_node qhs_aoss = {
684ea168170SKonrad Dybcio 	.name = "qhs_aoss",
685ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_AOSS,
686ea168170SKonrad Dybcio 	.channels = 1,
687ea168170SKonrad Dybcio 	.buswidth = 4,
688ea168170SKonrad Dybcio };
689ea168170SKonrad Dybcio 
690ea168170SKonrad Dybcio static struct qcom_icc_node qhs_boot_rom = {
691ea168170SKonrad Dybcio 	.name = "qhs_boot_rom",
692ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_BOOT_ROM,
693ea168170SKonrad Dybcio 	.channels = 1,
694ea168170SKonrad Dybcio 	.buswidth = 4,
695ea168170SKonrad Dybcio };
696ea168170SKonrad Dybcio 
697ea168170SKonrad Dybcio static struct qcom_icc_node qhs_camera_cfg = {
698ea168170SKonrad Dybcio 	.name = "qhs_camera_cfg",
699ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CAMERA_CFG,
700ea168170SKonrad Dybcio 	.channels = 1,
701ea168170SKonrad Dybcio 	.buswidth = 4,
702ea168170SKonrad Dybcio };
703ea168170SKonrad Dybcio 
704ea168170SKonrad Dybcio static struct qcom_icc_node qhs_camera_nrt_throttle_cfg = {
705ea168170SKonrad Dybcio 	.name = "qhs_camera_nrt_throttle_cfg",
706ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG,
707ea168170SKonrad Dybcio 	.channels = 1,
708ea168170SKonrad Dybcio 	.buswidth = 4,
709ea168170SKonrad Dybcio };
710ea168170SKonrad Dybcio 
711ea168170SKonrad Dybcio static struct qcom_icc_node qhs_camera_rt_throttle_cfg = {
712ea168170SKonrad Dybcio 	.name = "qhs_camera_rt_throttle_cfg",
713ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG,
714ea168170SKonrad Dybcio 	.channels = 1,
715ea168170SKonrad Dybcio 	.buswidth = 4,
716ea168170SKonrad Dybcio };
717ea168170SKonrad Dybcio 
718ea168170SKonrad Dybcio static struct qcom_icc_node qhs_clk_ctl = {
719ea168170SKonrad Dybcio 	.name = "qhs_clk_ctl",
720ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CLK_CTL,
721ea168170SKonrad Dybcio 	.channels = 1,
722ea168170SKonrad Dybcio 	.buswidth = 4,
723ea168170SKonrad Dybcio };
724ea168170SKonrad Dybcio 
725ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cpr_cx = {
726ea168170SKonrad Dybcio 	.name = "qhs_cpr_cx",
727ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_RBCPR_CX_CFG,
728ea168170SKonrad Dybcio 	.channels = 1,
729ea168170SKonrad Dybcio 	.buswidth = 4,
730ea168170SKonrad Dybcio };
731ea168170SKonrad Dybcio 
732ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cpr_mx = {
733ea168170SKonrad Dybcio 	.name = "qhs_cpr_mx",
734ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_RBCPR_MX_CFG,
735ea168170SKonrad Dybcio 	.channels = 1,
736ea168170SKonrad Dybcio 	.buswidth = 4,
737ea168170SKonrad Dybcio };
738ea168170SKonrad Dybcio 
739ea168170SKonrad Dybcio static struct qcom_icc_node qhs_crypto0_cfg = {
740ea168170SKonrad Dybcio 	.name = "qhs_crypto0_cfg",
741ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CRYPTO_0_CFG,
742ea168170SKonrad Dybcio 	.channels = 1,
743ea168170SKonrad Dybcio 	.buswidth = 4,
744ea168170SKonrad Dybcio };
745ea168170SKonrad Dybcio 
746ea168170SKonrad Dybcio static struct qcom_icc_node qhs_dcc_cfg = {
747ea168170SKonrad Dybcio 	.name = "qhs_dcc_cfg",
748ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_DCC_CFG,
749ea168170SKonrad Dybcio 	.channels = 1,
750ea168170SKonrad Dybcio 	.buswidth = 4,
751ea168170SKonrad Dybcio };
752ea168170SKonrad Dybcio 
753ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ddrss_cfg = {
754ea168170SKonrad Dybcio 	.name = "qhs_ddrss_cfg",
755ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CNOC_DDRSS,
756ea168170SKonrad Dybcio 	.channels = 1,
757ea168170SKonrad Dybcio 	.buswidth = 4,
758ea168170SKonrad Dybcio 	.num_links = 1,
759ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_CNOC_DC_NOC },
760ea168170SKonrad Dybcio };
761ea168170SKonrad Dybcio 
762ea168170SKonrad Dybcio static struct qcom_icc_node qhs_display_cfg = {
763ea168170SKonrad Dybcio 	.name = "qhs_display_cfg",
764ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_DISPLAY_CFG,
765ea168170SKonrad Dybcio 	.channels = 1,
766ea168170SKonrad Dybcio 	.buswidth = 4,
767ea168170SKonrad Dybcio };
768ea168170SKonrad Dybcio 
769ea168170SKonrad Dybcio static struct qcom_icc_node qhs_display_rt_throttle_cfg = {
770ea168170SKonrad Dybcio 	.name = "qhs_display_rt_throttle_cfg",
771ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG,
772ea168170SKonrad Dybcio 	.channels = 1,
773ea168170SKonrad Dybcio 	.buswidth = 4,
774ea168170SKonrad Dybcio };
775ea168170SKonrad Dybcio 
776ea168170SKonrad Dybcio static struct qcom_icc_node qhs_display_throttle_cfg = {
777ea168170SKonrad Dybcio 	.name = "qhs_display_throttle_cfg",
778ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_DISPLAY_THROTTLE_CFG,
779ea168170SKonrad Dybcio 	.channels = 1,
780ea168170SKonrad Dybcio 	.buswidth = 4,
781ea168170SKonrad Dybcio };
782ea168170SKonrad Dybcio 
783ea168170SKonrad Dybcio static struct qcom_icc_node qhs_emmc_cfg = {
784ea168170SKonrad Dybcio 	.name = "qhs_emmc_cfg",
785ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_EMMC_CFG,
786ea168170SKonrad Dybcio 	.channels = 1,
787ea168170SKonrad Dybcio 	.buswidth = 4,
788ea168170SKonrad Dybcio };
789ea168170SKonrad Dybcio 
790ea168170SKonrad Dybcio static struct qcom_icc_node qhs_glm = {
791ea168170SKonrad Dybcio 	.name = "qhs_glm",
792ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_GLM,
793ea168170SKonrad Dybcio 	.channels = 1,
794ea168170SKonrad Dybcio 	.buswidth = 4,
795ea168170SKonrad Dybcio };
796ea168170SKonrad Dybcio 
797ea168170SKonrad Dybcio static struct qcom_icc_node qhs_gpuss_cfg = {
798ea168170SKonrad Dybcio 	.name = "qhs_gpuss_cfg",
799ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_GFX3D_CFG,
800ea168170SKonrad Dybcio 	.channels = 1,
801ea168170SKonrad Dybcio 	.buswidth = 8,
802ea168170SKonrad Dybcio };
803ea168170SKonrad Dybcio 
804ea168170SKonrad Dybcio static struct qcom_icc_node qhs_imem_cfg = {
805ea168170SKonrad Dybcio 	.name = "qhs_imem_cfg",
806ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_IMEM_CFG,
807ea168170SKonrad Dybcio 	.channels = 1,
808ea168170SKonrad Dybcio 	.buswidth = 4,
809ea168170SKonrad Dybcio };
810ea168170SKonrad Dybcio 
811ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ipa = {
812ea168170SKonrad Dybcio 	.name = "qhs_ipa",
813ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_IPA_CFG,
814ea168170SKonrad Dybcio 	.channels = 1,
815ea168170SKonrad Dybcio 	.buswidth = 4,
816ea168170SKonrad Dybcio };
817ea168170SKonrad Dybcio 
818ea168170SKonrad Dybcio static struct qcom_icc_node qhs_mnoc_cfg = {
819ea168170SKonrad Dybcio 	.name = "qhs_mnoc_cfg",
820ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CNOC_MNOC_CFG,
821ea168170SKonrad Dybcio 	.channels = 1,
822ea168170SKonrad Dybcio 	.buswidth = 4,
823ea168170SKonrad Dybcio 	.num_links = 1,
824ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_CNOC_MNOC_CFG },
825ea168170SKonrad Dybcio };
826ea168170SKonrad Dybcio 
827ea168170SKonrad Dybcio static struct qcom_icc_node qhs_mss_cfg = {
828ea168170SKonrad Dybcio 	.name = "qhs_mss_cfg",
829ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_CNOC_MSS,
830ea168170SKonrad Dybcio 	.channels = 1,
831ea168170SKonrad Dybcio 	.buswidth = 4,
832ea168170SKonrad Dybcio };
833ea168170SKonrad Dybcio 
834ea168170SKonrad Dybcio static struct qcom_icc_node qhs_npu_cfg = {
835ea168170SKonrad Dybcio 	.name = "qhs_npu_cfg",
836ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_CFG,
837ea168170SKonrad Dybcio 	.channels = 1,
838ea168170SKonrad Dybcio 	.buswidth = 4,
839ea168170SKonrad Dybcio 	.num_links = 1,
840ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_NPU_NOC_CFG },
841ea168170SKonrad Dybcio };
842ea168170SKonrad Dybcio 
843ea168170SKonrad Dybcio static struct qcom_icc_node qhs_npu_dma_throttle_cfg = {
844ea168170SKonrad Dybcio 	.name = "qhs_npu_dma_throttle_cfg",
845ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_DMA_BWMON_CFG,
846ea168170SKonrad Dybcio 	.channels = 1,
847ea168170SKonrad Dybcio 	.buswidth = 4,
848ea168170SKonrad Dybcio };
849ea168170SKonrad Dybcio 
850ea168170SKonrad Dybcio static struct qcom_icc_node qhs_npu_dsp_throttle_cfg = {
851ea168170SKonrad Dybcio 	.name = "qhs_npu_dsp_throttle_cfg",
852ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_PROC_BWMON_CFG,
853ea168170SKonrad Dybcio 	.channels = 1,
854ea168170SKonrad Dybcio 	.buswidth = 4,
855ea168170SKonrad Dybcio };
856ea168170SKonrad Dybcio 
857ea168170SKonrad Dybcio static struct qcom_icc_node qhs_pdm = {
858ea168170SKonrad Dybcio 	.name = "qhs_pdm",
859ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_PDM,
860ea168170SKonrad Dybcio 	.channels = 1,
861ea168170SKonrad Dybcio 	.buswidth = 4,
862ea168170SKonrad Dybcio };
863ea168170SKonrad Dybcio 
864ea168170SKonrad Dybcio static struct qcom_icc_node qhs_pimem_cfg = {
865ea168170SKonrad Dybcio 	.name = "qhs_pimem_cfg",
866ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_PIMEM_CFG,
867ea168170SKonrad Dybcio 	.channels = 1,
868ea168170SKonrad Dybcio 	.buswidth = 4,
869ea168170SKonrad Dybcio };
870ea168170SKonrad Dybcio 
871ea168170SKonrad Dybcio static struct qcom_icc_node qhs_prng = {
872ea168170SKonrad Dybcio 	.name = "qhs_prng",
873ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_PRNG,
874ea168170SKonrad Dybcio 	.channels = 1,
875ea168170SKonrad Dybcio 	.buswidth = 4,
876ea168170SKonrad Dybcio };
877ea168170SKonrad Dybcio 
878ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qdss_cfg = {
879ea168170SKonrad Dybcio 	.name = "qhs_qdss_cfg",
880ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QDSS_CFG,
881ea168170SKonrad Dybcio 	.channels = 1,
882ea168170SKonrad Dybcio 	.buswidth = 4,
883ea168170SKonrad Dybcio };
884ea168170SKonrad Dybcio 
885ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qm_cfg = {
886ea168170SKonrad Dybcio 	.name = "qhs_qm_cfg",
887ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QM_CFG,
888ea168170SKonrad Dybcio 	.channels = 1,
889ea168170SKonrad Dybcio 	.buswidth = 4,
890ea168170SKonrad Dybcio };
891ea168170SKonrad Dybcio 
892ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qm_mpu_cfg = {
893ea168170SKonrad Dybcio 	.name = "qhs_qm_mpu_cfg",
894ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QM_MPU_CFG,
895ea168170SKonrad Dybcio 	.channels = 1,
896ea168170SKonrad Dybcio 	.buswidth = 4,
897ea168170SKonrad Dybcio };
898ea168170SKonrad Dybcio 
899ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qspi = {
900ea168170SKonrad Dybcio 	.name = "qhs_qspi",
901ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QSPI_0,
902ea168170SKonrad Dybcio 	.channels = 1,
903ea168170SKonrad Dybcio 	.buswidth = 4,
904ea168170SKonrad Dybcio };
905ea168170SKonrad Dybcio 
906ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qup0 = {
907ea168170SKonrad Dybcio 	.name = "qhs_qup0",
908ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QUP_0,
909ea168170SKonrad Dybcio 	.channels = 1,
910ea168170SKonrad Dybcio 	.buswidth = 4,
911ea168170SKonrad Dybcio };
912ea168170SKonrad Dybcio 
913ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qup1 = {
914ea168170SKonrad Dybcio 	.name = "qhs_qup1",
915ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QUP_1,
916ea168170SKonrad Dybcio 	.channels = 1,
917ea168170SKonrad Dybcio 	.buswidth = 4,
918ea168170SKonrad Dybcio };
919ea168170SKonrad Dybcio 
920ea168170SKonrad Dybcio static struct qcom_icc_node qhs_sdc2 = {
921ea168170SKonrad Dybcio 	.name = "qhs_sdc2",
922ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SDCC_2,
923ea168170SKonrad Dybcio 	.channels = 1,
924ea168170SKonrad Dybcio 	.buswidth = 4,
925ea168170SKonrad Dybcio };
926ea168170SKonrad Dybcio 
927ea168170SKonrad Dybcio static struct qcom_icc_node qhs_security = {
928ea168170SKonrad Dybcio 	.name = "qhs_security",
929ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SECURITY,
930ea168170SKonrad Dybcio 	.channels = 1,
931ea168170SKonrad Dybcio 	.buswidth = 4,
932ea168170SKonrad Dybcio };
933ea168170SKonrad Dybcio 
934ea168170SKonrad Dybcio static struct qcom_icc_node qhs_snoc_cfg = {
935ea168170SKonrad Dybcio 	.name = "qhs_snoc_cfg",
936ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SNOC_CFG,
937ea168170SKonrad Dybcio 	.channels = 1,
938ea168170SKonrad Dybcio 	.buswidth = 4,
939ea168170SKonrad Dybcio 	.num_links = 1,
940ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_SNOC_CFG },
941ea168170SKonrad Dybcio };
942ea168170SKonrad Dybcio 
943ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tcsr = {
944ea168170SKonrad Dybcio 	.name = "qhs_tcsr",
945ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_TCSR,
946ea168170SKonrad Dybcio 	.channels = 1,
947ea168170SKonrad Dybcio 	.buswidth = 4,
948ea168170SKonrad Dybcio };
949ea168170SKonrad Dybcio 
950ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_1 = {
951ea168170SKonrad Dybcio 	.name = "qhs_tlmm_1",
952ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_TLMM_WEST,
953ea168170SKonrad Dybcio 	.channels = 1,
954ea168170SKonrad Dybcio 	.buswidth = 4,
955ea168170SKonrad Dybcio };
956ea168170SKonrad Dybcio 
957ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_2 = {
958ea168170SKonrad Dybcio 	.name = "qhs_tlmm_2",
959ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_TLMM_NORTH,
960ea168170SKonrad Dybcio 	.channels = 1,
961ea168170SKonrad Dybcio 	.buswidth = 4,
962ea168170SKonrad Dybcio };
963ea168170SKonrad Dybcio 
964ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_3 = {
965ea168170SKonrad Dybcio 	.name = "qhs_tlmm_3",
966ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_TLMM_SOUTH,
967ea168170SKonrad Dybcio 	.channels = 1,
968ea168170SKonrad Dybcio 	.buswidth = 4,
969ea168170SKonrad Dybcio };
970ea168170SKonrad Dybcio 
971ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ufs_mem_cfg = {
972ea168170SKonrad Dybcio 	.name = "qhs_ufs_mem_cfg",
973ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_UFS_MEM_CFG,
974ea168170SKonrad Dybcio 	.channels = 1,
975ea168170SKonrad Dybcio 	.buswidth = 4,
976ea168170SKonrad Dybcio };
977ea168170SKonrad Dybcio 
978ea168170SKonrad Dybcio static struct qcom_icc_node qhs_usb3 = {
979ea168170SKonrad Dybcio 	.name = "qhs_usb3",
980ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_USB3,
981ea168170SKonrad Dybcio 	.channels = 1,
982ea168170SKonrad Dybcio 	.buswidth = 4,
983ea168170SKonrad Dybcio };
984ea168170SKonrad Dybcio 
985ea168170SKonrad Dybcio static struct qcom_icc_node qhs_venus_cfg = {
986ea168170SKonrad Dybcio 	.name = "qhs_venus_cfg",
987ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_VENUS_CFG,
988ea168170SKonrad Dybcio 	.channels = 1,
989ea168170SKonrad Dybcio 	.buswidth = 4,
990ea168170SKonrad Dybcio };
991ea168170SKonrad Dybcio 
992ea168170SKonrad Dybcio static struct qcom_icc_node qhs_venus_throttle_cfg = {
993ea168170SKonrad Dybcio 	.name = "qhs_venus_throttle_cfg",
994ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_VENUS_THROTTLE_CFG,
995ea168170SKonrad Dybcio 	.channels = 1,
996ea168170SKonrad Dybcio 	.buswidth = 4,
997ea168170SKonrad Dybcio };
998ea168170SKonrad Dybcio 
999ea168170SKonrad Dybcio static struct qcom_icc_node qhs_vsense_ctrl_cfg = {
1000ea168170SKonrad Dybcio 	.name = "qhs_vsense_ctrl_cfg",
1001ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_VSENSE_CTRL_CFG,
1002ea168170SKonrad Dybcio 	.channels = 1,
1003ea168170SKonrad Dybcio 	.buswidth = 4,
1004ea168170SKonrad Dybcio };
1005ea168170SKonrad Dybcio 
1006ea168170SKonrad Dybcio static struct qcom_icc_node srvc_cnoc = {
1007ea168170SKonrad Dybcio 	.name = "srvc_cnoc",
1008ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_CNOC,
1009ea168170SKonrad Dybcio 	.channels = 1,
1010ea168170SKonrad Dybcio 	.buswidth = 4,
1011ea168170SKonrad Dybcio };
1012ea168170SKonrad Dybcio 
1013ea168170SKonrad Dybcio static struct qcom_icc_node qhs_gemnoc = {
1014ea168170SKonrad Dybcio 	.name = "qhs_gemnoc",
1015ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_GEM_NOC_CFG,
1016ea168170SKonrad Dybcio 	.channels = 1,
1017ea168170SKonrad Dybcio 	.buswidth = 4,
1018ea168170SKonrad Dybcio 	.num_links = 1,
1019ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_GEM_NOC_CFG },
1020ea168170SKonrad Dybcio };
1021ea168170SKonrad Dybcio 
1022ea168170SKonrad Dybcio static struct qcom_icc_node qhs_llcc = {
1023ea168170SKonrad Dybcio 	.name = "qhs_llcc",
1024ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_LLCC_CFG,
1025ea168170SKonrad Dybcio 	.channels = 1,
1026ea168170SKonrad Dybcio 	.buswidth = 4,
1027ea168170SKonrad Dybcio };
1028ea168170SKonrad Dybcio 
1029ea168170SKonrad Dybcio static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = {
1030ea168170SKonrad Dybcio 	.name = "qhs_mdsp_ms_mpu_cfg",
1031ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_MSS_PROC_MS_MPU_CFG,
1032ea168170SKonrad Dybcio 	.channels = 1,
1033ea168170SKonrad Dybcio 	.buswidth = 4,
1034ea168170SKonrad Dybcio };
1035ea168170SKonrad Dybcio 
1036ea168170SKonrad Dybcio static struct qcom_icc_node qns_gem_noc_snoc = {
1037ea168170SKonrad Dybcio 	.name = "qns_gem_noc_snoc",
1038ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_GEM_NOC_SNOC,
1039ea168170SKonrad Dybcio 	.channels = 1,
1040ea168170SKonrad Dybcio 	.buswidth = 8,
1041ea168170SKonrad Dybcio 	.num_links = 1,
1042ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_GEM_NOC_SNOC },
1043ea168170SKonrad Dybcio };
1044ea168170SKonrad Dybcio 
1045ea168170SKonrad Dybcio static struct qcom_icc_node qns_llcc = {
1046ea168170SKonrad Dybcio 	.name = "qns_llcc",
1047ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_LLCC,
1048ea168170SKonrad Dybcio 	.channels = 1,
1049ea168170SKonrad Dybcio 	.buswidth = 16,
1050ea168170SKonrad Dybcio 	.num_links = 1,
1051ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_LLCC },
1052ea168170SKonrad Dybcio };
1053ea168170SKonrad Dybcio 
1054ea168170SKonrad Dybcio static struct qcom_icc_node srvc_gemnoc = {
1055ea168170SKonrad Dybcio 	.name = "srvc_gemnoc",
1056ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_GEM_NOC,
1057ea168170SKonrad Dybcio 	.channels = 1,
1058ea168170SKonrad Dybcio 	.buswidth = 4,
1059ea168170SKonrad Dybcio };
1060ea168170SKonrad Dybcio 
1061ea168170SKonrad Dybcio static struct qcom_icc_node ebi = {
1062ea168170SKonrad Dybcio 	.name = "ebi",
1063ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_EBI1,
1064ea168170SKonrad Dybcio 	.channels = 2,
1065ea168170SKonrad Dybcio 	.buswidth = 4,
1066ea168170SKonrad Dybcio };
1067ea168170SKonrad Dybcio 
1068ea168170SKonrad Dybcio static struct qcom_icc_node qns_mem_noc_hf = {
1069ea168170SKonrad Dybcio 	.name = "qns_mem_noc_hf",
1070ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_MNOC_HF_MEM_NOC,
1071ea168170SKonrad Dybcio 	.channels = 1,
1072ea168170SKonrad Dybcio 	.buswidth = 32,
1073ea168170SKonrad Dybcio 	.num_links = 1,
1074ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_MNOC_HF_MEM_NOC },
1075ea168170SKonrad Dybcio };
1076ea168170SKonrad Dybcio 
1077ea168170SKonrad Dybcio static struct qcom_icc_node qns_mem_noc_sf = {
1078ea168170SKonrad Dybcio 	.name = "qns_mem_noc_sf",
1079ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_MNOC_SF_MEM_NOC,
1080ea168170SKonrad Dybcio 	.channels = 1,
1081ea168170SKonrad Dybcio 	.buswidth = 32,
1082ea168170SKonrad Dybcio 	.num_links = 1,
1083ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_MNOC_SF_MEM_NOC },
1084ea168170SKonrad Dybcio };
1085ea168170SKonrad Dybcio 
1086ea168170SKonrad Dybcio static struct qcom_icc_node srvc_mnoc = {
1087ea168170SKonrad Dybcio 	.name = "srvc_mnoc",
1088ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_MNOC,
1089ea168170SKonrad Dybcio 	.channels = 1,
1090ea168170SKonrad Dybcio 	.buswidth = 4,
1091ea168170SKonrad Dybcio };
1092ea168170SKonrad Dybcio 
1093ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cal_dp0 = {
1094ea168170SKonrad Dybcio 	.name = "qhs_cal_dp0",
1095ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_CAL_DP0,
1096ea168170SKonrad Dybcio 	.channels = 1,
1097ea168170SKonrad Dybcio 	.buswidth = 4,
1098ea168170SKonrad Dybcio };
1099ea168170SKonrad Dybcio 
1100ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cp = {
1101ea168170SKonrad Dybcio 	.name = "qhs_cp",
1102ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_CP,
1103ea168170SKonrad Dybcio 	.channels = 1,
1104ea168170SKonrad Dybcio 	.buswidth = 4,
1105ea168170SKonrad Dybcio };
1106ea168170SKonrad Dybcio 
1107ea168170SKonrad Dybcio static struct qcom_icc_node qhs_dma_bwmon = {
1108ea168170SKonrad Dybcio 	.name = "qhs_dma_bwmon",
1109ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG,
1110ea168170SKonrad Dybcio 	.channels = 1,
1111ea168170SKonrad Dybcio 	.buswidth = 4,
1112ea168170SKonrad Dybcio };
1113ea168170SKonrad Dybcio 
1114ea168170SKonrad Dybcio static struct qcom_icc_node qhs_dpm = {
1115ea168170SKonrad Dybcio 	.name = "qhs_dpm",
1116ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_DPM,
1117ea168170SKonrad Dybcio 	.channels = 1,
1118ea168170SKonrad Dybcio 	.buswidth = 4,
1119ea168170SKonrad Dybcio };
1120ea168170SKonrad Dybcio 
1121ea168170SKonrad Dybcio static struct qcom_icc_node qhs_isense = {
1122ea168170SKonrad Dybcio 	.name = "qhs_isense",
1123ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_ISENSE_CFG,
1124ea168170SKonrad Dybcio 	.channels = 1,
1125ea168170SKonrad Dybcio 	.buswidth = 4,
1126ea168170SKonrad Dybcio };
1127ea168170SKonrad Dybcio 
1128ea168170SKonrad Dybcio static struct qcom_icc_node qhs_llm = {
1129ea168170SKonrad Dybcio 	.name = "qhs_llm",
1130ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_LLM_CFG,
1131ea168170SKonrad Dybcio 	.channels = 1,
1132ea168170SKonrad Dybcio 	.buswidth = 4,
1133ea168170SKonrad Dybcio };
1134ea168170SKonrad Dybcio 
1135ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tcm = {
1136ea168170SKonrad Dybcio 	.name = "qhs_tcm",
1137ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_TCM,
1138ea168170SKonrad Dybcio 	.channels = 1,
1139ea168170SKonrad Dybcio 	.buswidth = 4,
1140ea168170SKonrad Dybcio };
1141ea168170SKonrad Dybcio 
1142ea168170SKonrad Dybcio static struct qcom_icc_node qns_npu_sys = {
1143ea168170SKonrad Dybcio 	.name = "qns_npu_sys",
1144ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_NPU_COMPUTE_NOC,
1145ea168170SKonrad Dybcio 	.channels = 2,
1146ea168170SKonrad Dybcio 	.buswidth = 32,
1147ea168170SKonrad Dybcio };
1148ea168170SKonrad Dybcio 
1149ea168170SKonrad Dybcio static struct qcom_icc_node srvc_noc = {
1150ea168170SKonrad Dybcio 	.name = "srvc_noc",
1151ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_NPU_NOC,
1152ea168170SKonrad Dybcio 	.channels = 1,
1153ea168170SKonrad Dybcio 	.buswidth = 4,
1154ea168170SKonrad Dybcio };
1155ea168170SKonrad Dybcio 
1156ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_slave_1 = {
1157ea168170SKonrad Dybcio 	.name = "qup_core_slave_1",
1158ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QUP_CORE_0,
1159ea168170SKonrad Dybcio 	.channels = 1,
1160ea168170SKonrad Dybcio 	.buswidth = 4,
1161ea168170SKonrad Dybcio };
1162ea168170SKonrad Dybcio 
1163ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_slave_2 = {
1164ea168170SKonrad Dybcio 	.name = "qup_core_slave_2",
1165ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QUP_CORE_1,
1166ea168170SKonrad Dybcio 	.channels = 1,
1167ea168170SKonrad Dybcio 	.buswidth = 4,
1168ea168170SKonrad Dybcio };
1169ea168170SKonrad Dybcio 
1170ea168170SKonrad Dybcio static struct qcom_icc_node qhs_apss = {
1171ea168170SKonrad Dybcio 	.name = "qhs_apss",
1172ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_APPSS,
1173ea168170SKonrad Dybcio 	.channels = 1,
1174ea168170SKonrad Dybcio 	.buswidth = 8,
1175ea168170SKonrad Dybcio };
1176ea168170SKonrad Dybcio 
1177ea168170SKonrad Dybcio static struct qcom_icc_node qns_cnoc = {
1178ea168170SKonrad Dybcio 	.name = "qns_cnoc",
1179ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SNOC_CNOC,
1180ea168170SKonrad Dybcio 	.channels = 1,
1181ea168170SKonrad Dybcio 	.buswidth = 8,
1182ea168170SKonrad Dybcio 	.num_links = 1,
1183ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_SNOC_CNOC },
1184ea168170SKonrad Dybcio };
1185ea168170SKonrad Dybcio 
1186ea168170SKonrad Dybcio static struct qcom_icc_node qns_gemnoc_gc = {
1187ea168170SKonrad Dybcio 	.name = "qns_gemnoc_gc",
1188ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SNOC_GEM_NOC_GC,
1189ea168170SKonrad Dybcio 	.channels = 1,
1190ea168170SKonrad Dybcio 	.buswidth = 8,
1191ea168170SKonrad Dybcio 	.num_links = 1,
1192ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_SNOC_GC_MEM_NOC },
1193ea168170SKonrad Dybcio };
1194ea168170SKonrad Dybcio 
1195ea168170SKonrad Dybcio static struct qcom_icc_node qns_gemnoc_sf = {
1196ea168170SKonrad Dybcio 	.name = "qns_gemnoc_sf",
1197ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SNOC_GEM_NOC_SF,
1198ea168170SKonrad Dybcio 	.channels = 1,
1199ea168170SKonrad Dybcio 	.buswidth = 16,
1200ea168170SKonrad Dybcio 	.num_links = 1,
1201ea168170SKonrad Dybcio 	.links = { SC7180_MASTER_SNOC_SF_MEM_NOC },
1202ea168170SKonrad Dybcio };
1203ea168170SKonrad Dybcio 
1204ea168170SKonrad Dybcio static struct qcom_icc_node qxs_imem = {
1205ea168170SKonrad Dybcio 	.name = "qxs_imem",
1206ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_IMEM,
1207ea168170SKonrad Dybcio 	.channels = 1,
1208ea168170SKonrad Dybcio 	.buswidth = 8,
1209ea168170SKonrad Dybcio };
1210ea168170SKonrad Dybcio 
1211ea168170SKonrad Dybcio static struct qcom_icc_node qxs_pimem = {
1212ea168170SKonrad Dybcio 	.name = "qxs_pimem",
1213ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_PIMEM,
1214ea168170SKonrad Dybcio 	.channels = 1,
1215ea168170SKonrad Dybcio 	.buswidth = 8,
1216ea168170SKonrad Dybcio };
1217ea168170SKonrad Dybcio 
1218ea168170SKonrad Dybcio static struct qcom_icc_node srvc_snoc = {
1219ea168170SKonrad Dybcio 	.name = "srvc_snoc",
1220ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_SERVICE_SNOC,
1221ea168170SKonrad Dybcio 	.channels = 1,
1222ea168170SKonrad Dybcio 	.buswidth = 4,
1223ea168170SKonrad Dybcio };
1224ea168170SKonrad Dybcio 
1225ea168170SKonrad Dybcio static struct qcom_icc_node xs_qdss_stm = {
1226ea168170SKonrad Dybcio 	.name = "xs_qdss_stm",
1227ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_QDSS_STM,
1228ea168170SKonrad Dybcio 	.channels = 1,
1229ea168170SKonrad Dybcio 	.buswidth = 4,
1230ea168170SKonrad Dybcio };
1231ea168170SKonrad Dybcio 
1232ea168170SKonrad Dybcio static struct qcom_icc_node xs_sys_tcu_cfg = {
1233ea168170SKonrad Dybcio 	.name = "xs_sys_tcu_cfg",
1234ea168170SKonrad Dybcio 	.id = SC7180_SLAVE_TCU,
1235ea168170SKonrad Dybcio 	.channels = 1,
1236ea168170SKonrad Dybcio 	.buswidth = 8,
1237ea168170SKonrad Dybcio };
12382d1f95abSOdelu Kukatla 
1239e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_acv = {
1240e451b2eaSKonrad Dybcio 	.name = "ACV",
1241*5eb5d9c4SKonrad Dybcio 	.enable_mask = BIT(3),
1242e451b2eaSKonrad Dybcio 	.keepalive = false,
1243e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1244e451b2eaSKonrad Dybcio 	.nodes = { &ebi },
1245e451b2eaSKonrad Dybcio };
1246e451b2eaSKonrad Dybcio 
1247e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mc0 = {
1248e451b2eaSKonrad Dybcio 	.name = "MC0",
1249e451b2eaSKonrad Dybcio 	.keepalive = true,
1250e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1251e451b2eaSKonrad Dybcio 	.nodes = { &ebi },
1252e451b2eaSKonrad Dybcio };
1253e451b2eaSKonrad Dybcio 
1254e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh0 = {
1255e451b2eaSKonrad Dybcio 	.name = "SH0",
1256e451b2eaSKonrad Dybcio 	.keepalive = true,
1257e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1258e451b2eaSKonrad Dybcio 	.nodes = { &qns_llcc },
1259e451b2eaSKonrad Dybcio };
1260e451b2eaSKonrad Dybcio 
1261e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mm0 = {
1262e451b2eaSKonrad Dybcio 	.name = "MM0",
1263e451b2eaSKonrad Dybcio 	.keepalive = false,
1264e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1265e451b2eaSKonrad Dybcio 	.nodes = { &qns_mem_noc_hf },
1266e451b2eaSKonrad Dybcio };
1267e451b2eaSKonrad Dybcio 
1268e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_ce0 = {
1269e451b2eaSKonrad Dybcio 	.name = "CE0",
1270e451b2eaSKonrad Dybcio 	.keepalive = false,
1271e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1272e451b2eaSKonrad Dybcio 	.nodes = { &qxm_crypto },
1273e451b2eaSKonrad Dybcio };
1274e451b2eaSKonrad Dybcio 
1275e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_cn0 = {
1276e451b2eaSKonrad Dybcio 	.name = "CN0",
1277e451b2eaSKonrad Dybcio 	.keepalive = true,
1278e451b2eaSKonrad Dybcio 	.num_nodes = 48,
1279e451b2eaSKonrad Dybcio 	.nodes = { &qnm_snoc,
1280e451b2eaSKonrad Dybcio 		   &xm_qdss_dap,
1281e451b2eaSKonrad Dybcio 		   &qhs_a1_noc_cfg,
1282e451b2eaSKonrad Dybcio 		   &qhs_a2_noc_cfg,
1283e451b2eaSKonrad Dybcio 		   &qhs_ahb2phy0,
1284e451b2eaSKonrad Dybcio 		   &qhs_aop,
1285e451b2eaSKonrad Dybcio 		   &qhs_aoss,
1286e451b2eaSKonrad Dybcio 		   &qhs_boot_rom,
1287e451b2eaSKonrad Dybcio 		   &qhs_camera_cfg,
1288e451b2eaSKonrad Dybcio 		   &qhs_camera_nrt_throttle_cfg,
1289e451b2eaSKonrad Dybcio 		   &qhs_camera_rt_throttle_cfg,
1290e451b2eaSKonrad Dybcio 		   &qhs_clk_ctl,
1291e451b2eaSKonrad Dybcio 		   &qhs_cpr_cx,
1292e451b2eaSKonrad Dybcio 		   &qhs_cpr_mx,
1293e451b2eaSKonrad Dybcio 		   &qhs_crypto0_cfg,
1294e451b2eaSKonrad Dybcio 		   &qhs_dcc_cfg,
1295e451b2eaSKonrad Dybcio 		   &qhs_ddrss_cfg,
1296e451b2eaSKonrad Dybcio 		   &qhs_display_cfg,
1297e451b2eaSKonrad Dybcio 		   &qhs_display_rt_throttle_cfg,
1298e451b2eaSKonrad Dybcio 		   &qhs_display_throttle_cfg,
1299e451b2eaSKonrad Dybcio 		   &qhs_glm,
1300e451b2eaSKonrad Dybcio 		   &qhs_gpuss_cfg,
1301e451b2eaSKonrad Dybcio 		   &qhs_imem_cfg,
1302e451b2eaSKonrad Dybcio 		   &qhs_ipa,
1303e451b2eaSKonrad Dybcio 		   &qhs_mnoc_cfg,
1304e451b2eaSKonrad Dybcio 		   &qhs_mss_cfg,
1305e451b2eaSKonrad Dybcio 		   &qhs_npu_cfg,
1306e451b2eaSKonrad Dybcio 		   &qhs_npu_dma_throttle_cfg,
1307e451b2eaSKonrad Dybcio 		   &qhs_npu_dsp_throttle_cfg,
1308e451b2eaSKonrad Dybcio 		   &qhs_pimem_cfg,
1309e451b2eaSKonrad Dybcio 		   &qhs_prng,
1310e451b2eaSKonrad Dybcio 		   &qhs_qdss_cfg,
1311e451b2eaSKonrad Dybcio 		   &qhs_qm_cfg,
1312e451b2eaSKonrad Dybcio 		   &qhs_qm_mpu_cfg,
1313e451b2eaSKonrad Dybcio 		   &qhs_qup0,
1314e451b2eaSKonrad Dybcio 		   &qhs_qup1,
1315e451b2eaSKonrad Dybcio 		   &qhs_security,
1316e451b2eaSKonrad Dybcio 		   &qhs_snoc_cfg,
1317e451b2eaSKonrad Dybcio 		   &qhs_tcsr,
1318e451b2eaSKonrad Dybcio 		   &qhs_tlmm_1,
1319e451b2eaSKonrad Dybcio 		   &qhs_tlmm_2,
1320e451b2eaSKonrad Dybcio 		   &qhs_tlmm_3,
1321e451b2eaSKonrad Dybcio 		   &qhs_ufs_mem_cfg,
1322e451b2eaSKonrad Dybcio 		   &qhs_usb3,
1323e451b2eaSKonrad Dybcio 		   &qhs_venus_cfg,
1324e451b2eaSKonrad Dybcio 		   &qhs_venus_throttle_cfg,
1325e451b2eaSKonrad Dybcio 		   &qhs_vsense_ctrl_cfg,
1326e451b2eaSKonrad Dybcio 		   &srvc_cnoc
1327e451b2eaSKonrad Dybcio 	},
1328e451b2eaSKonrad Dybcio };
1329e451b2eaSKonrad Dybcio 
1330e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mm1 = {
1331e451b2eaSKonrad Dybcio 	.name = "MM1",
1332e451b2eaSKonrad Dybcio 	.keepalive = false,
1333e451b2eaSKonrad Dybcio 	.num_nodes = 8,
1334e451b2eaSKonrad Dybcio 	.nodes = { &qxm_camnoc_hf0_uncomp,
1335e451b2eaSKonrad Dybcio 		   &qxm_camnoc_hf1_uncomp,
1336e451b2eaSKonrad Dybcio 		   &qxm_camnoc_sf_uncomp,
1337e451b2eaSKonrad Dybcio 		   &qhm_mnoc_cfg,
1338e451b2eaSKonrad Dybcio 		   &qxm_mdp0,
1339e451b2eaSKonrad Dybcio 		   &qxm_rot,
1340e451b2eaSKonrad Dybcio 		   &qxm_venus0,
1341e451b2eaSKonrad Dybcio 		   &qxm_venus_arm9
1342e451b2eaSKonrad Dybcio 	},
1343e451b2eaSKonrad Dybcio };
1344e451b2eaSKonrad Dybcio 
1345e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh2 = {
1346e451b2eaSKonrad Dybcio 	.name = "SH2",
1347e451b2eaSKonrad Dybcio 	.keepalive = false,
1348e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1349e451b2eaSKonrad Dybcio 	.nodes = { &acm_sys_tcu },
1350e451b2eaSKonrad Dybcio };
1351e451b2eaSKonrad Dybcio 
1352e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mm2 = {
1353e451b2eaSKonrad Dybcio 	.name = "MM2",
1354e451b2eaSKonrad Dybcio 	.keepalive = false,
1355e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1356e451b2eaSKonrad Dybcio 	.nodes = { &qns_mem_noc_sf },
1357e451b2eaSKonrad Dybcio };
1358e451b2eaSKonrad Dybcio 
1359e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_qup0 = {
1360e451b2eaSKonrad Dybcio 	.name = "QUP0",
1361e451b2eaSKonrad Dybcio 	.keepalive = false,
1362e451b2eaSKonrad Dybcio 	.num_nodes = 2,
1363e451b2eaSKonrad Dybcio 	.nodes = { &qup_core_master_1, &qup_core_master_2 },
1364e451b2eaSKonrad Dybcio };
1365e451b2eaSKonrad Dybcio 
1366e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh3 = {
1367e451b2eaSKonrad Dybcio 	.name = "SH3",
1368e451b2eaSKonrad Dybcio 	.keepalive = false,
1369e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1370e451b2eaSKonrad Dybcio 	.nodes = { &qnm_cmpnoc },
1371e451b2eaSKonrad Dybcio };
1372e451b2eaSKonrad Dybcio 
1373e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh4 = {
1374e451b2eaSKonrad Dybcio 	.name = "SH4",
1375e451b2eaSKonrad Dybcio 	.keepalive = false,
1376e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1377e451b2eaSKonrad Dybcio 	.nodes = { &acm_apps0 },
1378e451b2eaSKonrad Dybcio };
1379e451b2eaSKonrad Dybcio 
1380e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn0 = {
1381e451b2eaSKonrad Dybcio 	.name = "SN0",
1382e451b2eaSKonrad Dybcio 	.keepalive = true,
1383e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1384e451b2eaSKonrad Dybcio 	.nodes = { &qns_gemnoc_sf },
1385e451b2eaSKonrad Dybcio };
1386e451b2eaSKonrad Dybcio 
1387e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_co0 = {
1388e451b2eaSKonrad Dybcio 	.name = "CO0",
1389e451b2eaSKonrad Dybcio 	.keepalive = false,
1390e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1391e451b2eaSKonrad Dybcio 	.nodes = { &qns_cdsp_gemnoc },
1392e451b2eaSKonrad Dybcio };
1393e451b2eaSKonrad Dybcio 
1394e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn1 = {
1395e451b2eaSKonrad Dybcio 	.name = "SN1",
1396e451b2eaSKonrad Dybcio 	.keepalive = false,
1397e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1398e451b2eaSKonrad Dybcio 	.nodes = { &qxs_imem },
1399e451b2eaSKonrad Dybcio };
1400e451b2eaSKonrad Dybcio 
1401e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_cn1 = {
1402e451b2eaSKonrad Dybcio 	.name = "CN1",
1403e451b2eaSKonrad Dybcio 	.keepalive = false,
1404e451b2eaSKonrad Dybcio 	.num_nodes = 8,
1405e451b2eaSKonrad Dybcio 	.nodes = { &qhm_qspi,
1406e451b2eaSKonrad Dybcio 		   &xm_sdc2,
1407e451b2eaSKonrad Dybcio 		   &xm_emmc,
1408e451b2eaSKonrad Dybcio 		   &qhs_ahb2phy2,
1409e451b2eaSKonrad Dybcio 		   &qhs_emmc_cfg,
1410e451b2eaSKonrad Dybcio 		   &qhs_pdm,
1411e451b2eaSKonrad Dybcio 		   &qhs_qspi,
1412e451b2eaSKonrad Dybcio 		   &qhs_sdc2
1413e451b2eaSKonrad Dybcio 	},
1414e451b2eaSKonrad Dybcio };
1415e451b2eaSKonrad Dybcio 
1416e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn2 = {
1417e451b2eaSKonrad Dybcio 	.name = "SN2",
1418e451b2eaSKonrad Dybcio 	.keepalive = false,
1419e451b2eaSKonrad Dybcio 	.num_nodes = 2,
1420e451b2eaSKonrad Dybcio 	.nodes = { &qxm_pimem, &qns_gemnoc_gc },
1421e451b2eaSKonrad Dybcio };
1422e451b2eaSKonrad Dybcio 
1423e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_co2 = {
1424e451b2eaSKonrad Dybcio 	.name = "CO2",
1425e451b2eaSKonrad Dybcio 	.keepalive = false,
1426e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1427e451b2eaSKonrad Dybcio 	.nodes = { &qnm_npu },
1428e451b2eaSKonrad Dybcio };
1429e451b2eaSKonrad Dybcio 
1430e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn3 = {
1431e451b2eaSKonrad Dybcio 	.name = "SN3",
1432e451b2eaSKonrad Dybcio 	.keepalive = false,
1433e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1434e451b2eaSKonrad Dybcio 	.nodes = { &qxs_pimem },
1435e451b2eaSKonrad Dybcio };
1436e451b2eaSKonrad Dybcio 
1437e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_co3 = {
1438e451b2eaSKonrad Dybcio 	.name = "CO3",
1439e451b2eaSKonrad Dybcio 	.keepalive = false,
1440e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1441e451b2eaSKonrad Dybcio 	.nodes = { &qxm_npu_dsp },
1442e451b2eaSKonrad Dybcio };
1443e451b2eaSKonrad Dybcio 
1444e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn4 = {
1445e451b2eaSKonrad Dybcio 	.name = "SN4",
1446e451b2eaSKonrad Dybcio 	.keepalive = false,
1447e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1448e451b2eaSKonrad Dybcio 	.nodes = { &xs_qdss_stm },
1449e451b2eaSKonrad Dybcio };
1450e451b2eaSKonrad Dybcio 
1451e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn7 = {
1452e451b2eaSKonrad Dybcio 	.name = "SN7",
1453e451b2eaSKonrad Dybcio 	.keepalive = false,
1454e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1455e451b2eaSKonrad Dybcio 	.nodes = { &qnm_aggre1_noc },
1456e451b2eaSKonrad Dybcio };
1457e451b2eaSKonrad Dybcio 
1458e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn9 = {
1459e451b2eaSKonrad Dybcio 	.name = "SN9",
1460e451b2eaSKonrad Dybcio 	.keepalive = false,
1461e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1462e451b2eaSKonrad Dybcio 	.nodes = { &qnm_aggre2_noc },
1463e451b2eaSKonrad Dybcio };
1464e451b2eaSKonrad Dybcio 
1465e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn12 = {
1466e451b2eaSKonrad Dybcio 	.name = "SN12",
1467e451b2eaSKonrad Dybcio 	.keepalive = false,
1468e451b2eaSKonrad Dybcio 	.num_nodes = 1,
1469e451b2eaSKonrad Dybcio 	.nodes = { &qnm_gemnoc },
1470e451b2eaSKonrad Dybcio };
14712d1f95abSOdelu Kukatla 
14727123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
14732d1f95abSOdelu Kukatla 	&bcm_cn1,
14742d1f95abSOdelu Kukatla };
14752d1f95abSOdelu Kukatla 
14762ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = {
14772d1f95abSOdelu Kukatla 	[MASTER_A1NOC_CFG] = &qhm_a1noc_cfg,
14782d1f95abSOdelu Kukatla 	[MASTER_QSPI] = &qhm_qspi,
14792d1f95abSOdelu Kukatla 	[MASTER_QUP_0] = &qhm_qup_0,
14802d1f95abSOdelu Kukatla 	[MASTER_SDCC_2] = &xm_sdc2,
14812d1f95abSOdelu Kukatla 	[MASTER_EMMC] = &xm_emmc,
14822d1f95abSOdelu Kukatla 	[MASTER_UFS_MEM] = &xm_ufs_mem,
14832d1f95abSOdelu Kukatla 	[SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc,
14842d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
14852d1f95abSOdelu Kukatla };
14862d1f95abSOdelu Kukatla 
14871625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_aggre1_noc = {
14882d1f95abSOdelu Kukatla 	.nodes = aggre1_noc_nodes,
14892d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
14902d1f95abSOdelu Kukatla 	.bcms = aggre1_noc_bcms,
14912d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
14922d1f95abSOdelu Kukatla };
14932d1f95abSOdelu Kukatla 
14947123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
14952d1f95abSOdelu Kukatla 	&bcm_ce0,
14962d1f95abSOdelu Kukatla };
14972d1f95abSOdelu Kukatla 
14982ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = {
14992d1f95abSOdelu Kukatla 	[MASTER_A2NOC_CFG] = &qhm_a2noc_cfg,
15002d1f95abSOdelu Kukatla 	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
15012d1f95abSOdelu Kukatla 	[MASTER_QUP_1] = &qhm_qup_1,
15022d1f95abSOdelu Kukatla 	[MASTER_USB3] = &qhm_usb3,
15032d1f95abSOdelu Kukatla 	[MASTER_CRYPTO] = &qxm_crypto,
15042d1f95abSOdelu Kukatla 	[MASTER_IPA] = &qxm_ipa,
15052d1f95abSOdelu Kukatla 	[MASTER_QDSS_ETR] = &xm_qdss_etr,
15062d1f95abSOdelu Kukatla 	[SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc,
15072d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
15082d1f95abSOdelu Kukatla };
15092d1f95abSOdelu Kukatla 
15101625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_aggre2_noc = {
15112d1f95abSOdelu Kukatla 	.nodes = aggre2_noc_nodes,
15122d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
15132d1f95abSOdelu Kukatla 	.bcms = aggre2_noc_bcms,
15142d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
15152d1f95abSOdelu Kukatla };
15162d1f95abSOdelu Kukatla 
15177123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const camnoc_virt_bcms[] = {
15182d1f95abSOdelu Kukatla 	&bcm_mm1,
15192d1f95abSOdelu Kukatla };
15202d1f95abSOdelu Kukatla 
15212ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const camnoc_virt_nodes[] = {
15222d1f95abSOdelu Kukatla 	[MASTER_CAMNOC_HF0_UNCOMP] = &qxm_camnoc_hf0_uncomp,
15232d1f95abSOdelu Kukatla 	[MASTER_CAMNOC_HF1_UNCOMP] = &qxm_camnoc_hf1_uncomp,
15242d1f95abSOdelu Kukatla 	[MASTER_CAMNOC_SF_UNCOMP] = &qxm_camnoc_sf_uncomp,
15252d1f95abSOdelu Kukatla 	[SLAVE_CAMNOC_UNCOMP] = &qns_camnoc_uncomp,
15262d1f95abSOdelu Kukatla };
15272d1f95abSOdelu Kukatla 
15281625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_camnoc_virt = {
15292d1f95abSOdelu Kukatla 	.nodes = camnoc_virt_nodes,
15302d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(camnoc_virt_nodes),
15312d1f95abSOdelu Kukatla 	.bcms = camnoc_virt_bcms,
15322d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(camnoc_virt_bcms),
15332d1f95abSOdelu Kukatla };
15342d1f95abSOdelu Kukatla 
15357123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const compute_noc_bcms[] = {
15362d1f95abSOdelu Kukatla 	&bcm_co0,
15372d1f95abSOdelu Kukatla 	&bcm_co2,
15382d1f95abSOdelu Kukatla 	&bcm_co3,
15392d1f95abSOdelu Kukatla };
15402d1f95abSOdelu Kukatla 
15412ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const compute_noc_nodes[] = {
15422d1f95abSOdelu Kukatla 	[MASTER_NPU] = &qnm_npu,
15432d1f95abSOdelu Kukatla 	[MASTER_NPU_PROC] = &qxm_npu_dsp,
15442d1f95abSOdelu Kukatla 	[SLAVE_CDSP_GEM_NOC] = &qns_cdsp_gemnoc,
15452d1f95abSOdelu Kukatla };
15462d1f95abSOdelu Kukatla 
15471625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_compute_noc = {
15482d1f95abSOdelu Kukatla 	.nodes = compute_noc_nodes,
15492d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(compute_noc_nodes),
15502d1f95abSOdelu Kukatla 	.bcms = compute_noc_bcms,
15512d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(compute_noc_bcms),
15522d1f95abSOdelu Kukatla };
15532d1f95abSOdelu Kukatla 
15547123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = {
15552d1f95abSOdelu Kukatla 	&bcm_cn0,
15562d1f95abSOdelu Kukatla 	&bcm_cn1,
15572d1f95abSOdelu Kukatla };
15582d1f95abSOdelu Kukatla 
15592ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = {
15602d1f95abSOdelu Kukatla 	[MASTER_SNOC_CNOC] = &qnm_snoc,
15612d1f95abSOdelu Kukatla 	[MASTER_QDSS_DAP] = &xm_qdss_dap,
15622d1f95abSOdelu Kukatla 	[SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg,
15632d1f95abSOdelu Kukatla 	[SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg,
15642d1f95abSOdelu Kukatla 	[SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0,
15652d1f95abSOdelu Kukatla 	[SLAVE_AHB2PHY_CENTER] = &qhs_ahb2phy2,
15662d1f95abSOdelu Kukatla 	[SLAVE_AOP] = &qhs_aop,
15672d1f95abSOdelu Kukatla 	[SLAVE_AOSS] = &qhs_aoss,
15682d1f95abSOdelu Kukatla 	[SLAVE_BOOT_ROM] = &qhs_boot_rom,
15692d1f95abSOdelu Kukatla 	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
15702d1f95abSOdelu Kukatla 	[SLAVE_CAMERA_NRT_THROTTLE_CFG] = &qhs_camera_nrt_throttle_cfg,
15712d1f95abSOdelu Kukatla 	[SLAVE_CAMERA_RT_THROTTLE_CFG] = &qhs_camera_rt_throttle_cfg,
15722d1f95abSOdelu Kukatla 	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
15732d1f95abSOdelu Kukatla 	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
15742d1f95abSOdelu Kukatla 	[SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx,
15752d1f95abSOdelu Kukatla 	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
15762d1f95abSOdelu Kukatla 	[SLAVE_DCC_CFG] = &qhs_dcc_cfg,
15772d1f95abSOdelu Kukatla 	[SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg,
15782d1f95abSOdelu Kukatla 	[SLAVE_DISPLAY_CFG] = &qhs_display_cfg,
15792d1f95abSOdelu Kukatla 	[SLAVE_DISPLAY_RT_THROTTLE_CFG] = &qhs_display_rt_throttle_cfg,
15802d1f95abSOdelu Kukatla 	[SLAVE_DISPLAY_THROTTLE_CFG] = &qhs_display_throttle_cfg,
15812d1f95abSOdelu Kukatla 	[SLAVE_EMMC_CFG] = &qhs_emmc_cfg,
15822d1f95abSOdelu Kukatla 	[SLAVE_GLM] = &qhs_glm,
15832d1f95abSOdelu Kukatla 	[SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg,
15842d1f95abSOdelu Kukatla 	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
15852d1f95abSOdelu Kukatla 	[SLAVE_IPA_CFG] = &qhs_ipa,
15862d1f95abSOdelu Kukatla 	[SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg,
15872d1f95abSOdelu Kukatla 	[SLAVE_CNOC_MSS] = &qhs_mss_cfg,
15882d1f95abSOdelu Kukatla 	[SLAVE_NPU_CFG] = &qhs_npu_cfg,
15892d1f95abSOdelu Kukatla 	[SLAVE_NPU_DMA_BWMON_CFG] = &qhs_npu_dma_throttle_cfg,
15902d1f95abSOdelu Kukatla 	[SLAVE_NPU_PROC_BWMON_CFG] = &qhs_npu_dsp_throttle_cfg,
15912d1f95abSOdelu Kukatla 	[SLAVE_PDM] = &qhs_pdm,
15922d1f95abSOdelu Kukatla 	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
15932d1f95abSOdelu Kukatla 	[SLAVE_PRNG] = &qhs_prng,
15942d1f95abSOdelu Kukatla 	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
15952d1f95abSOdelu Kukatla 	[SLAVE_QM_CFG] = &qhs_qm_cfg,
15962d1f95abSOdelu Kukatla 	[SLAVE_QM_MPU_CFG] = &qhs_qm_mpu_cfg,
15972d1f95abSOdelu Kukatla 	[SLAVE_QSPI_0] = &qhs_qspi,
15982d1f95abSOdelu Kukatla 	[SLAVE_QUP_0] = &qhs_qup0,
15992d1f95abSOdelu Kukatla 	[SLAVE_QUP_1] = &qhs_qup1,
16002d1f95abSOdelu Kukatla 	[SLAVE_SDCC_2] = &qhs_sdc2,
16012d1f95abSOdelu Kukatla 	[SLAVE_SECURITY] = &qhs_security,
16022d1f95abSOdelu Kukatla 	[SLAVE_SNOC_CFG] = &qhs_snoc_cfg,
16032d1f95abSOdelu Kukatla 	[SLAVE_TCSR] = &qhs_tcsr,
16042d1f95abSOdelu Kukatla 	[SLAVE_TLMM_WEST] = &qhs_tlmm_1,
16052d1f95abSOdelu Kukatla 	[SLAVE_TLMM_NORTH] = &qhs_tlmm_2,
16062d1f95abSOdelu Kukatla 	[SLAVE_TLMM_SOUTH] = &qhs_tlmm_3,
16072d1f95abSOdelu Kukatla 	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
16082d1f95abSOdelu Kukatla 	[SLAVE_USB3] = &qhs_usb3,
16092d1f95abSOdelu Kukatla 	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
16102d1f95abSOdelu Kukatla 	[SLAVE_VENUS_THROTTLE_CFG] = &qhs_venus_throttle_cfg,
16112d1f95abSOdelu Kukatla 	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
16122d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_CNOC] = &srvc_cnoc,
16132d1f95abSOdelu Kukatla };
16142d1f95abSOdelu Kukatla 
16151625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_config_noc = {
16162d1f95abSOdelu Kukatla 	.nodes = config_noc_nodes,
16172d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(config_noc_nodes),
16182d1f95abSOdelu Kukatla 	.bcms = config_noc_bcms,
16192d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(config_noc_bcms),
16202d1f95abSOdelu Kukatla };
16212d1f95abSOdelu Kukatla 
16222ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = {
16232d1f95abSOdelu Kukatla 	[MASTER_CNOC_DC_NOC] = &qhm_cnoc_dc_noc,
16242d1f95abSOdelu Kukatla 	[SLAVE_GEM_NOC_CFG] = &qhs_gemnoc,
16252d1f95abSOdelu Kukatla 	[SLAVE_LLCC_CFG] = &qhs_llcc,
16262d1f95abSOdelu Kukatla };
16272d1f95abSOdelu Kukatla 
16281625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_dc_noc = {
16292d1f95abSOdelu Kukatla 	.nodes = dc_noc_nodes,
16302d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
16312d1f95abSOdelu Kukatla };
16322d1f95abSOdelu Kukatla 
16337123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gem_noc_bcms[] = {
16342d1f95abSOdelu Kukatla 	&bcm_sh0,
16352d1f95abSOdelu Kukatla 	&bcm_sh2,
16362d1f95abSOdelu Kukatla 	&bcm_sh3,
16372d1f95abSOdelu Kukatla 	&bcm_sh4,
16382d1f95abSOdelu Kukatla };
16392d1f95abSOdelu Kukatla 
16402ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gem_noc_nodes[] = {
16412d1f95abSOdelu Kukatla 	[MASTER_APPSS_PROC] = &acm_apps0,
16422d1f95abSOdelu Kukatla 	[MASTER_SYS_TCU] = &acm_sys_tcu,
16432d1f95abSOdelu Kukatla 	[MASTER_GEM_NOC_CFG] = &qhm_gemnoc_cfg,
16442d1f95abSOdelu Kukatla 	[MASTER_COMPUTE_NOC] = &qnm_cmpnoc,
16452d1f95abSOdelu Kukatla 	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
16462d1f95abSOdelu Kukatla 	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
16472d1f95abSOdelu Kukatla 	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
16482d1f95abSOdelu Kukatla 	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
16492d1f95abSOdelu Kukatla 	[MASTER_GFX3D] = &qxm_gpu,
16502d1f95abSOdelu Kukatla 	[SLAVE_MSS_PROC_MS_MPU_CFG] = &qhs_mdsp_ms_mpu_cfg,
16512d1f95abSOdelu Kukatla 	[SLAVE_GEM_NOC_SNOC] = &qns_gem_noc_snoc,
16522d1f95abSOdelu Kukatla 	[SLAVE_LLCC] = &qns_llcc,
16532d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_GEM_NOC] = &srvc_gemnoc,
16542d1f95abSOdelu Kukatla };
16552d1f95abSOdelu Kukatla 
16561625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_gem_noc = {
16572d1f95abSOdelu Kukatla 	.nodes = gem_noc_nodes,
16582d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(gem_noc_nodes),
16592d1f95abSOdelu Kukatla 	.bcms = gem_noc_bcms,
16602d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
16612d1f95abSOdelu Kukatla };
16622d1f95abSOdelu Kukatla 
1663f24227a6SKrzysztof Kozlowski static struct qcom_icc_bcm * const mc_virt_bcms[] = {
16642d1f95abSOdelu Kukatla 	&bcm_acv,
16652d1f95abSOdelu Kukatla 	&bcm_mc0,
16662d1f95abSOdelu Kukatla };
16672d1f95abSOdelu Kukatla 
16682ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mc_virt_nodes[] = {
16692d1f95abSOdelu Kukatla 	[MASTER_LLCC] = &llcc_mc,
16702d1f95abSOdelu Kukatla 	[SLAVE_EBI1] = &ebi,
16712d1f95abSOdelu Kukatla };
16722d1f95abSOdelu Kukatla 
16731625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_mc_virt = {
16742d1f95abSOdelu Kukatla 	.nodes = mc_virt_nodes,
16752d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(mc_virt_nodes),
16762d1f95abSOdelu Kukatla 	.bcms = mc_virt_bcms,
16772d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(mc_virt_bcms),
16782d1f95abSOdelu Kukatla };
16792d1f95abSOdelu Kukatla 
16807123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
16812d1f95abSOdelu Kukatla 	&bcm_mm0,
16822d1f95abSOdelu Kukatla 	&bcm_mm1,
16832d1f95abSOdelu Kukatla 	&bcm_mm2,
16842d1f95abSOdelu Kukatla };
16852d1f95abSOdelu Kukatla 
16862ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = {
16872d1f95abSOdelu Kukatla 	[MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg,
16882d1f95abSOdelu Kukatla 	[MASTER_CAMNOC_HF0] = &qxm_camnoc_hf0,
16892d1f95abSOdelu Kukatla 	[MASTER_CAMNOC_HF1] = &qxm_camnoc_hf1,
16902d1f95abSOdelu Kukatla 	[MASTER_CAMNOC_SF] = &qxm_camnoc_sf,
16912d1f95abSOdelu Kukatla 	[MASTER_MDP0] = &qxm_mdp0,
16922d1f95abSOdelu Kukatla 	[MASTER_ROTATOR] = &qxm_rot,
16932d1f95abSOdelu Kukatla 	[MASTER_VIDEO_P0] = &qxm_venus0,
16942d1f95abSOdelu Kukatla 	[MASTER_VIDEO_PROC] = &qxm_venus_arm9,
16952d1f95abSOdelu Kukatla 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
16962d1f95abSOdelu Kukatla 	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
16972d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
16982d1f95abSOdelu Kukatla };
16992d1f95abSOdelu Kukatla 
17001625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_mmss_noc = {
17012d1f95abSOdelu Kukatla 	.nodes = mmss_noc_nodes,
17022d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
17032d1f95abSOdelu Kukatla 	.bcms = mmss_noc_bcms,
17042d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
17052d1f95abSOdelu Kukatla };
17062d1f95abSOdelu Kukatla 
17072ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const npu_noc_nodes[] = {
17082d1f95abSOdelu Kukatla 	[MASTER_NPU_SYS] = &amm_npu_sys,
17092d1f95abSOdelu Kukatla 	[MASTER_NPU_NOC_CFG] = &qhm_npu_cfg,
17102d1f95abSOdelu Kukatla 	[SLAVE_NPU_CAL_DP0] = &qhs_cal_dp0,
17112d1f95abSOdelu Kukatla 	[SLAVE_NPU_CP] = &qhs_cp,
17122d1f95abSOdelu Kukatla 	[SLAVE_NPU_INT_DMA_BWMON_CFG] = &qhs_dma_bwmon,
17132d1f95abSOdelu Kukatla 	[SLAVE_NPU_DPM] = &qhs_dpm,
17142d1f95abSOdelu Kukatla 	[SLAVE_ISENSE_CFG] = &qhs_isense,
17152d1f95abSOdelu Kukatla 	[SLAVE_NPU_LLM_CFG] = &qhs_llm,
17162d1f95abSOdelu Kukatla 	[SLAVE_NPU_TCM] = &qhs_tcm,
17172d1f95abSOdelu Kukatla 	[SLAVE_NPU_COMPUTE_NOC] = &qns_npu_sys,
17182d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_NPU_NOC] = &srvc_noc,
17192d1f95abSOdelu Kukatla };
17202d1f95abSOdelu Kukatla 
17211625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_npu_noc = {
17222d1f95abSOdelu Kukatla 	.nodes = npu_noc_nodes,
17232d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(npu_noc_nodes),
17242d1f95abSOdelu Kukatla };
17252d1f95abSOdelu Kukatla 
17267123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const qup_virt_bcms[] = {
17272d1f95abSOdelu Kukatla 	&bcm_qup0,
17282d1f95abSOdelu Kukatla };
17292d1f95abSOdelu Kukatla 
17302ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const qup_virt_nodes[] = {
17312d1f95abSOdelu Kukatla 	[MASTER_QUP_CORE_0] = &qup_core_master_1,
17322d1f95abSOdelu Kukatla 	[MASTER_QUP_CORE_1] = &qup_core_master_2,
17332d1f95abSOdelu Kukatla 	[SLAVE_QUP_CORE_0] = &qup_core_slave_1,
17342d1f95abSOdelu Kukatla 	[SLAVE_QUP_CORE_1] = &qup_core_slave_2,
17352d1f95abSOdelu Kukatla };
17362d1f95abSOdelu Kukatla 
17371625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_qup_virt = {
17382d1f95abSOdelu Kukatla 	.nodes = qup_virt_nodes,
17392d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(qup_virt_nodes),
17402d1f95abSOdelu Kukatla 	.bcms = qup_virt_bcms,
17412d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(qup_virt_bcms),
17422d1f95abSOdelu Kukatla };
17432d1f95abSOdelu Kukatla 
17447123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = {
17452d1f95abSOdelu Kukatla 	&bcm_sn0,
17462d1f95abSOdelu Kukatla 	&bcm_sn1,
17472d1f95abSOdelu Kukatla 	&bcm_sn2,
17482d1f95abSOdelu Kukatla 	&bcm_sn3,
17492d1f95abSOdelu Kukatla 	&bcm_sn4,
17502d1f95abSOdelu Kukatla 	&bcm_sn7,
17512d1f95abSOdelu Kukatla 	&bcm_sn9,
17522d1f95abSOdelu Kukatla 	&bcm_sn12,
17532d1f95abSOdelu Kukatla };
17542d1f95abSOdelu Kukatla 
17552ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = {
17562d1f95abSOdelu Kukatla 	[MASTER_SNOC_CFG] = &qhm_snoc_cfg,
17572d1f95abSOdelu Kukatla 	[MASTER_A1NOC_SNOC] = &qnm_aggre1_noc,
17582d1f95abSOdelu Kukatla 	[MASTER_A2NOC_SNOC] = &qnm_aggre2_noc,
17592d1f95abSOdelu Kukatla 	[MASTER_GEM_NOC_SNOC] = &qnm_gemnoc,
17602d1f95abSOdelu Kukatla 	[MASTER_PIMEM] = &qxm_pimem,
17612d1f95abSOdelu Kukatla 	[SLAVE_APPSS] = &qhs_apss,
17622d1f95abSOdelu Kukatla 	[SLAVE_SNOC_CNOC] = &qns_cnoc,
17632d1f95abSOdelu Kukatla 	[SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc,
17642d1f95abSOdelu Kukatla 	[SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf,
17652d1f95abSOdelu Kukatla 	[SLAVE_IMEM] = &qxs_imem,
17662d1f95abSOdelu Kukatla 	[SLAVE_PIMEM] = &qxs_pimem,
17672d1f95abSOdelu Kukatla 	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
17682d1f95abSOdelu Kukatla 	[SLAVE_QDSS_STM] = &xs_qdss_stm,
17692d1f95abSOdelu Kukatla 	[SLAVE_TCU] = &xs_sys_tcu_cfg,
17702d1f95abSOdelu Kukatla };
17712d1f95abSOdelu Kukatla 
17721625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_system_noc = {
17732d1f95abSOdelu Kukatla 	.nodes = system_noc_nodes,
17742d1f95abSOdelu Kukatla 	.num_nodes = ARRAY_SIZE(system_noc_nodes),
17752d1f95abSOdelu Kukatla 	.bcms = system_noc_bcms,
17762d1f95abSOdelu Kukatla 	.num_bcms = ARRAY_SIZE(system_noc_bcms),
17772d1f95abSOdelu Kukatla };
17782d1f95abSOdelu Kukatla 
17792d1f95abSOdelu Kukatla static const struct of_device_id qnoc_of_match[] = {
17802d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-aggre1-noc",
17812d1f95abSOdelu Kukatla 	  .data = &sc7180_aggre1_noc},
17822d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-aggre2-noc",
17832d1f95abSOdelu Kukatla 	  .data = &sc7180_aggre2_noc},
17842d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-camnoc-virt",
17852d1f95abSOdelu Kukatla 	  .data = &sc7180_camnoc_virt},
17862d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-compute-noc",
17872d1f95abSOdelu Kukatla 	  .data = &sc7180_compute_noc},
17882d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-config-noc",
17892d1f95abSOdelu Kukatla 	  .data = &sc7180_config_noc},
17902d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-dc-noc",
17912d1f95abSOdelu Kukatla 	  .data = &sc7180_dc_noc},
17922d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-gem-noc",
17932d1f95abSOdelu Kukatla 	  .data = &sc7180_gem_noc},
17942d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-mc-virt",
17952d1f95abSOdelu Kukatla 	  .data = &sc7180_mc_virt},
17962d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-mmss-noc",
17972d1f95abSOdelu Kukatla 	  .data = &sc7180_mmss_noc},
17982d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-npu-noc",
17992d1f95abSOdelu Kukatla 	  .data = &sc7180_npu_noc},
18002d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-qup-virt",
18012d1f95abSOdelu Kukatla 	  .data = &sc7180_qup_virt},
18022d1f95abSOdelu Kukatla 	{ .compatible = "qcom,sc7180-system-noc",
18032d1f95abSOdelu Kukatla 	  .data = &sc7180_system_noc},
18042d1f95abSOdelu Kukatla 	{ }
18052d1f95abSOdelu Kukatla };
18062d1f95abSOdelu Kukatla MODULE_DEVICE_TABLE(of, qnoc_of_match);
18072d1f95abSOdelu Kukatla 
18082d1f95abSOdelu Kukatla static struct platform_driver qnoc_driver = {
1809789a39adSMike Tipton 	.probe = qcom_icc_rpmh_probe,
1810789a39adSMike Tipton 	.remove = qcom_icc_rpmh_remove,
18112d1f95abSOdelu Kukatla 	.driver = {
18122d1f95abSOdelu Kukatla 		.name = "qnoc-sc7180",
18132d1f95abSOdelu Kukatla 		.of_match_table = qnoc_of_match,
18147d3b0b0dSGeorgi Djakov 		.sync_state = icc_sync_state,
18152d1f95abSOdelu Kukatla 	},
18162d1f95abSOdelu Kukatla };
18172d1f95abSOdelu Kukatla module_platform_driver(qnoc_driver);
18182d1f95abSOdelu Kukatla 
18192d1f95abSOdelu Kukatla MODULE_DESCRIPTION("Qualcomm SC7180 NoC driver");
18202d1f95abSOdelu Kukatla MODULE_LICENSE("GPL v2");
1821