1b5d2f741SDavid Dai // SPDX-License-Identifier: GPL-2.0
2b5d2f741SDavid Dai /*
3aae57773SDavid Dai  * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
4b5d2f741SDavid Dai  */
5b5d2f741SDavid Dai 
6b5d2f741SDavid Dai #include <linux/device.h>
7b5d2f741SDavid Dai #include <linux/interconnect.h>
8b5d2f741SDavid Dai #include <linux/interconnect-provider.h>
9b5d2f741SDavid Dai #include <linux/module.h>
10cff66aceSRob Herring #include <linux/mod_devicetable.h>
11cff66aceSRob Herring #include <linux/platform_device.h>
12b5d2f741SDavid Dai 
13aae57773SDavid Dai #include <dt-bindings/interconnect/qcom,sdm845.h>
14b5d2f741SDavid Dai 
15aae57773SDavid Dai #include "bcm-voter.h"
16aae57773SDavid Dai #include "icc-rpmh.h"
1778465b0dSSibi Sankar #include "sdm845.h"
18b5d2f741SDavid Dai 
19664e8087SKonrad Dybcio static struct qcom_icc_node qhm_a1noc_cfg = {
20664e8087SKonrad Dybcio 	.name = "qhm_a1noc_cfg",
21664e8087SKonrad Dybcio 	.id = SDM845_MASTER_A1NOC_CFG,
22664e8087SKonrad Dybcio 	.channels = 1,
23664e8087SKonrad Dybcio 	.buswidth = 4,
24664e8087SKonrad Dybcio 	.num_links = 1,
25664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SERVICE_A1NOC },
26664e8087SKonrad Dybcio };
27664e8087SKonrad Dybcio 
28664e8087SKonrad Dybcio static struct qcom_icc_node qhm_qup1 = {
29664e8087SKonrad Dybcio 	.name = "qhm_qup1",
30664e8087SKonrad Dybcio 	.id = SDM845_MASTER_BLSP_1,
31664e8087SKonrad Dybcio 	.channels = 1,
32664e8087SKonrad Dybcio 	.buswidth = 4,
33664e8087SKonrad Dybcio 	.num_links = 1,
34664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_SNOC },
35664e8087SKonrad Dybcio };
36664e8087SKonrad Dybcio 
37664e8087SKonrad Dybcio static struct qcom_icc_node qhm_tsif = {
38664e8087SKonrad Dybcio 	.name = "qhm_tsif",
39664e8087SKonrad Dybcio 	.id = SDM845_MASTER_TSIF,
40664e8087SKonrad Dybcio 	.channels = 1,
41664e8087SKonrad Dybcio 	.buswidth = 4,
42664e8087SKonrad Dybcio 	.num_links = 1,
43664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_SNOC },
44664e8087SKonrad Dybcio };
45664e8087SKonrad Dybcio 
46664e8087SKonrad Dybcio static struct qcom_icc_node xm_sdc2 = {
47664e8087SKonrad Dybcio 	.name = "xm_sdc2",
48664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SDCC_2,
49664e8087SKonrad Dybcio 	.channels = 1,
50664e8087SKonrad Dybcio 	.buswidth = 8,
51664e8087SKonrad Dybcio 	.num_links = 1,
52664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_SNOC },
53664e8087SKonrad Dybcio };
54664e8087SKonrad Dybcio 
55664e8087SKonrad Dybcio static struct qcom_icc_node xm_sdc4 = {
56664e8087SKonrad Dybcio 	.name = "xm_sdc4",
57664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SDCC_4,
58664e8087SKonrad Dybcio 	.channels = 1,
59664e8087SKonrad Dybcio 	.buswidth = 8,
60664e8087SKonrad Dybcio 	.num_links = 1,
61664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_SNOC },
62664e8087SKonrad Dybcio };
63664e8087SKonrad Dybcio 
64664e8087SKonrad Dybcio static struct qcom_icc_node xm_ufs_card = {
65664e8087SKonrad Dybcio 	.name = "xm_ufs_card",
66664e8087SKonrad Dybcio 	.id = SDM845_MASTER_UFS_CARD,
67664e8087SKonrad Dybcio 	.channels = 1,
68664e8087SKonrad Dybcio 	.buswidth = 8,
69664e8087SKonrad Dybcio 	.num_links = 1,
70664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_SNOC },
71664e8087SKonrad Dybcio };
72664e8087SKonrad Dybcio 
73664e8087SKonrad Dybcio static struct qcom_icc_node xm_ufs_mem = {
74664e8087SKonrad Dybcio 	.name = "xm_ufs_mem",
75664e8087SKonrad Dybcio 	.id = SDM845_MASTER_UFS_MEM,
76664e8087SKonrad Dybcio 	.channels = 1,
77664e8087SKonrad Dybcio 	.buswidth = 8,
78664e8087SKonrad Dybcio 	.num_links = 1,
79664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_SNOC },
80664e8087SKonrad Dybcio };
81664e8087SKonrad Dybcio 
82664e8087SKonrad Dybcio static struct qcom_icc_node xm_pcie_0 = {
83664e8087SKonrad Dybcio 	.name = "xm_pcie_0",
84664e8087SKonrad Dybcio 	.id = SDM845_MASTER_PCIE_0,
85664e8087SKonrad Dybcio 	.channels = 1,
86664e8087SKonrad Dybcio 	.buswidth = 8,
87664e8087SKonrad Dybcio 	.num_links = 1,
88664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC },
89664e8087SKonrad Dybcio };
90664e8087SKonrad Dybcio 
91664e8087SKonrad Dybcio static struct qcom_icc_node qhm_a2noc_cfg = {
92664e8087SKonrad Dybcio 	.name = "qhm_a2noc_cfg",
93664e8087SKonrad Dybcio 	.id = SDM845_MASTER_A2NOC_CFG,
94664e8087SKonrad Dybcio 	.channels = 1,
95664e8087SKonrad Dybcio 	.buswidth = 4,
96664e8087SKonrad Dybcio 	.num_links = 1,
97664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SERVICE_A2NOC },
98664e8087SKonrad Dybcio };
99664e8087SKonrad Dybcio 
100664e8087SKonrad Dybcio static struct qcom_icc_node qhm_qdss_bam = {
101664e8087SKonrad Dybcio 	.name = "qhm_qdss_bam",
102664e8087SKonrad Dybcio 	.id = SDM845_MASTER_QDSS_BAM,
103664e8087SKonrad Dybcio 	.channels = 1,
104664e8087SKonrad Dybcio 	.buswidth = 4,
105664e8087SKonrad Dybcio 	.num_links = 1,
106664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
107664e8087SKonrad Dybcio };
108664e8087SKonrad Dybcio 
109664e8087SKonrad Dybcio static struct qcom_icc_node qhm_qup2 = {
110664e8087SKonrad Dybcio 	.name = "qhm_qup2",
111664e8087SKonrad Dybcio 	.id = SDM845_MASTER_BLSP_2,
112664e8087SKonrad Dybcio 	.channels = 1,
113664e8087SKonrad Dybcio 	.buswidth = 4,
114664e8087SKonrad Dybcio 	.num_links = 1,
115664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
116664e8087SKonrad Dybcio };
117664e8087SKonrad Dybcio 
118664e8087SKonrad Dybcio static struct qcom_icc_node qnm_cnoc = {
119664e8087SKonrad Dybcio 	.name = "qnm_cnoc",
120664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CNOC_A2NOC,
121664e8087SKonrad Dybcio 	.channels = 1,
122664e8087SKonrad Dybcio 	.buswidth = 8,
123664e8087SKonrad Dybcio 	.num_links = 1,
124664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
125664e8087SKonrad Dybcio };
126664e8087SKonrad Dybcio 
127664e8087SKonrad Dybcio static struct qcom_icc_node qxm_crypto = {
128664e8087SKonrad Dybcio 	.name = "qxm_crypto",
129664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CRYPTO,
130664e8087SKonrad Dybcio 	.channels = 1,
131664e8087SKonrad Dybcio 	.buswidth = 8,
132664e8087SKonrad Dybcio 	.num_links = 1,
133664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
134664e8087SKonrad Dybcio };
135664e8087SKonrad Dybcio 
136664e8087SKonrad Dybcio static struct qcom_icc_node qxm_ipa = {
137664e8087SKonrad Dybcio 	.name = "qxm_ipa",
138664e8087SKonrad Dybcio 	.id = SDM845_MASTER_IPA,
139664e8087SKonrad Dybcio 	.channels = 1,
140664e8087SKonrad Dybcio 	.buswidth = 8,
141664e8087SKonrad Dybcio 	.num_links = 1,
142664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
143664e8087SKonrad Dybcio };
144664e8087SKonrad Dybcio 
145664e8087SKonrad Dybcio static struct qcom_icc_node xm_pcie3_1 = {
146664e8087SKonrad Dybcio 	.name = "xm_pcie3_1",
147664e8087SKonrad Dybcio 	.id = SDM845_MASTER_PCIE_1,
148664e8087SKonrad Dybcio 	.channels = 1,
149664e8087SKonrad Dybcio 	.buswidth = 8,
150664e8087SKonrad Dybcio 	.num_links = 1,
151664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_ANOC_PCIE_SNOC },
152664e8087SKonrad Dybcio };
153664e8087SKonrad Dybcio 
154664e8087SKonrad Dybcio static struct qcom_icc_node xm_qdss_etr = {
155664e8087SKonrad Dybcio 	.name = "xm_qdss_etr",
156664e8087SKonrad Dybcio 	.id = SDM845_MASTER_QDSS_ETR,
157664e8087SKonrad Dybcio 	.channels = 1,
158664e8087SKonrad Dybcio 	.buswidth = 8,
159664e8087SKonrad Dybcio 	.num_links = 1,
160664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
161664e8087SKonrad Dybcio };
162664e8087SKonrad Dybcio 
163664e8087SKonrad Dybcio static struct qcom_icc_node xm_usb3_0 = {
164664e8087SKonrad Dybcio 	.name = "xm_usb3_0",
165664e8087SKonrad Dybcio 	.id = SDM845_MASTER_USB3_0,
166664e8087SKonrad Dybcio 	.channels = 1,
167664e8087SKonrad Dybcio 	.buswidth = 8,
168664e8087SKonrad Dybcio 	.num_links = 1,
169664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
170664e8087SKonrad Dybcio };
171664e8087SKonrad Dybcio 
172664e8087SKonrad Dybcio static struct qcom_icc_node xm_usb3_1 = {
173664e8087SKonrad Dybcio 	.name = "xm_usb3_1",
174664e8087SKonrad Dybcio 	.id = SDM845_MASTER_USB3_1,
175664e8087SKonrad Dybcio 	.channels = 1,
176664e8087SKonrad Dybcio 	.buswidth = 8,
177664e8087SKonrad Dybcio 	.num_links = 1,
178664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A2NOC_SNOC },
179664e8087SKonrad Dybcio };
180664e8087SKonrad Dybcio 
181664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0_uncomp = {
182664e8087SKonrad Dybcio 	.name = "qxm_camnoc_hf0_uncomp",
183664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CAMNOC_HF0_UNCOMP,
184664e8087SKonrad Dybcio 	.channels = 1,
185664e8087SKonrad Dybcio 	.buswidth = 32,
186664e8087SKonrad Dybcio 	.num_links = 1,
187664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_CAMNOC_UNCOMP },
188664e8087SKonrad Dybcio };
189664e8087SKonrad Dybcio 
190664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1_uncomp = {
191664e8087SKonrad Dybcio 	.name = "qxm_camnoc_hf1_uncomp",
192664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CAMNOC_HF1_UNCOMP,
193664e8087SKonrad Dybcio 	.channels = 1,
194664e8087SKonrad Dybcio 	.buswidth = 32,
195664e8087SKonrad Dybcio 	.num_links = 1,
196664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_CAMNOC_UNCOMP },
197664e8087SKonrad Dybcio };
198664e8087SKonrad Dybcio 
199664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf_uncomp = {
200664e8087SKonrad Dybcio 	.name = "qxm_camnoc_sf_uncomp",
201664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CAMNOC_SF_UNCOMP,
202664e8087SKonrad Dybcio 	.channels = 1,
203664e8087SKonrad Dybcio 	.buswidth = 32,
204664e8087SKonrad Dybcio 	.num_links = 1,
205664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_CAMNOC_UNCOMP },
206664e8087SKonrad Dybcio };
207664e8087SKonrad Dybcio 
208664e8087SKonrad Dybcio static struct qcom_icc_node qhm_spdm = {
209664e8087SKonrad Dybcio 	.name = "qhm_spdm",
210664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SPDM,
211664e8087SKonrad Dybcio 	.channels = 1,
212664e8087SKonrad Dybcio 	.buswidth = 4,
213664e8087SKonrad Dybcio 	.num_links = 1,
214664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_CNOC_A2NOC },
215664e8087SKonrad Dybcio };
216664e8087SKonrad Dybcio 
217664e8087SKonrad Dybcio static struct qcom_icc_node qhm_tic = {
218664e8087SKonrad Dybcio 	.name = "qhm_tic",
219664e8087SKonrad Dybcio 	.id = SDM845_MASTER_TIC,
220664e8087SKonrad Dybcio 	.channels = 1,
221664e8087SKonrad Dybcio 	.buswidth = 4,
222664e8087SKonrad Dybcio 	.num_links = 43,
223664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_CFG,
224664e8087SKonrad Dybcio 		   SDM845_SLAVE_A2NOC_CFG,
225664e8087SKonrad Dybcio 		   SDM845_SLAVE_AOP,
226664e8087SKonrad Dybcio 		   SDM845_SLAVE_AOSS,
227664e8087SKonrad Dybcio 		   SDM845_SLAVE_CAMERA_CFG,
228664e8087SKonrad Dybcio 		   SDM845_SLAVE_CLK_CTL,
229664e8087SKonrad Dybcio 		   SDM845_SLAVE_CDSP_CFG,
230664e8087SKonrad Dybcio 		   SDM845_SLAVE_RBCPR_CX_CFG,
231664e8087SKonrad Dybcio 		   SDM845_SLAVE_CRYPTO_0_CFG,
232664e8087SKonrad Dybcio 		   SDM845_SLAVE_DCC_CFG,
233664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_DDRSS,
234664e8087SKonrad Dybcio 		   SDM845_SLAVE_DISPLAY_CFG,
235664e8087SKonrad Dybcio 		   SDM845_SLAVE_GLM,
236664e8087SKonrad Dybcio 		   SDM845_SLAVE_GFX3D_CFG,
237664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM_CFG,
238664e8087SKonrad Dybcio 		   SDM845_SLAVE_IPA_CFG,
239664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_MNOC_CFG,
240664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_0_CFG,
241664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_1_CFG,
242664e8087SKonrad Dybcio 		   SDM845_SLAVE_PDM,
243664e8087SKonrad Dybcio 		   SDM845_SLAVE_SOUTH_PHY_CFG,
244664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM_CFG,
245664e8087SKonrad Dybcio 		   SDM845_SLAVE_PRNG,
246664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_CFG,
247664e8087SKonrad Dybcio 		   SDM845_SLAVE_BLSP_2,
248664e8087SKonrad Dybcio 		   SDM845_SLAVE_BLSP_1,
249664e8087SKonrad Dybcio 		   SDM845_SLAVE_SDCC_2,
250664e8087SKonrad Dybcio 		   SDM845_SLAVE_SDCC_4,
251664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CFG,
252664e8087SKonrad Dybcio 		   SDM845_SLAVE_SPDM_WRAPPER,
253664e8087SKonrad Dybcio 		   SDM845_SLAVE_SPSS_CFG,
254664e8087SKonrad Dybcio 		   SDM845_SLAVE_TCSR,
255664e8087SKonrad Dybcio 		   SDM845_SLAVE_TLMM_NORTH,
256664e8087SKonrad Dybcio 		   SDM845_SLAVE_TLMM_SOUTH,
257664e8087SKonrad Dybcio 		   SDM845_SLAVE_TSIF,
258664e8087SKonrad Dybcio 		   SDM845_SLAVE_UFS_CARD_CFG,
259664e8087SKonrad Dybcio 		   SDM845_SLAVE_UFS_MEM_CFG,
260664e8087SKonrad Dybcio 		   SDM845_SLAVE_USB3_0,
261664e8087SKonrad Dybcio 		   SDM845_SLAVE_USB3_1,
262664e8087SKonrad Dybcio 		   SDM845_SLAVE_VENUS_CFG,
263664e8087SKonrad Dybcio 		   SDM845_SLAVE_VSENSE_CTRL_CFG,
264664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_A2NOC,
265664e8087SKonrad Dybcio 		   SDM845_SLAVE_SERVICE_CNOC
266664e8087SKonrad Dybcio 	},
267664e8087SKonrad Dybcio };
268664e8087SKonrad Dybcio 
269664e8087SKonrad Dybcio static struct qcom_icc_node qnm_snoc = {
270664e8087SKonrad Dybcio 	.name = "qnm_snoc",
271664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SNOC_CNOC,
272664e8087SKonrad Dybcio 	.channels = 1,
273664e8087SKonrad Dybcio 	.buswidth = 8,
274664e8087SKonrad Dybcio 	.num_links = 42,
275664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_CFG,
276664e8087SKonrad Dybcio 		   SDM845_SLAVE_A2NOC_CFG,
277664e8087SKonrad Dybcio 		   SDM845_SLAVE_AOP,
278664e8087SKonrad Dybcio 		   SDM845_SLAVE_AOSS,
279664e8087SKonrad Dybcio 		   SDM845_SLAVE_CAMERA_CFG,
280664e8087SKonrad Dybcio 		   SDM845_SLAVE_CLK_CTL,
281664e8087SKonrad Dybcio 		   SDM845_SLAVE_CDSP_CFG,
282664e8087SKonrad Dybcio 		   SDM845_SLAVE_RBCPR_CX_CFG,
283664e8087SKonrad Dybcio 		   SDM845_SLAVE_CRYPTO_0_CFG,
284664e8087SKonrad Dybcio 		   SDM845_SLAVE_DCC_CFG,
285664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_DDRSS,
286664e8087SKonrad Dybcio 		   SDM845_SLAVE_DISPLAY_CFG,
287664e8087SKonrad Dybcio 		   SDM845_SLAVE_GLM,
288664e8087SKonrad Dybcio 		   SDM845_SLAVE_GFX3D_CFG,
289664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM_CFG,
290664e8087SKonrad Dybcio 		   SDM845_SLAVE_IPA_CFG,
291664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_MNOC_CFG,
292664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_0_CFG,
293664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_1_CFG,
294664e8087SKonrad Dybcio 		   SDM845_SLAVE_PDM,
295664e8087SKonrad Dybcio 		   SDM845_SLAVE_SOUTH_PHY_CFG,
296664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM_CFG,
297664e8087SKonrad Dybcio 		   SDM845_SLAVE_PRNG,
298664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_CFG,
299664e8087SKonrad Dybcio 		   SDM845_SLAVE_BLSP_2,
300664e8087SKonrad Dybcio 		   SDM845_SLAVE_BLSP_1,
301664e8087SKonrad Dybcio 		   SDM845_SLAVE_SDCC_2,
302664e8087SKonrad Dybcio 		   SDM845_SLAVE_SDCC_4,
303664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CFG,
304664e8087SKonrad Dybcio 		   SDM845_SLAVE_SPDM_WRAPPER,
305664e8087SKonrad Dybcio 		   SDM845_SLAVE_SPSS_CFG,
306664e8087SKonrad Dybcio 		   SDM845_SLAVE_TCSR,
307664e8087SKonrad Dybcio 		   SDM845_SLAVE_TLMM_NORTH,
308664e8087SKonrad Dybcio 		   SDM845_SLAVE_TLMM_SOUTH,
309664e8087SKonrad Dybcio 		   SDM845_SLAVE_TSIF,
310664e8087SKonrad Dybcio 		   SDM845_SLAVE_UFS_CARD_CFG,
311664e8087SKonrad Dybcio 		   SDM845_SLAVE_UFS_MEM_CFG,
312664e8087SKonrad Dybcio 		   SDM845_SLAVE_USB3_0,
313664e8087SKonrad Dybcio 		   SDM845_SLAVE_USB3_1,
314664e8087SKonrad Dybcio 		   SDM845_SLAVE_VENUS_CFG,
315664e8087SKonrad Dybcio 		   SDM845_SLAVE_VSENSE_CTRL_CFG,
316664e8087SKonrad Dybcio 		   SDM845_SLAVE_SERVICE_CNOC
317664e8087SKonrad Dybcio 	},
318664e8087SKonrad Dybcio };
319664e8087SKonrad Dybcio 
320664e8087SKonrad Dybcio static struct qcom_icc_node xm_qdss_dap = {
321664e8087SKonrad Dybcio 	.name = "xm_qdss_dap",
322664e8087SKonrad Dybcio 	.id = SDM845_MASTER_QDSS_DAP,
323664e8087SKonrad Dybcio 	.channels = 1,
324664e8087SKonrad Dybcio 	.buswidth = 8,
325664e8087SKonrad Dybcio 	.num_links = 43,
326664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_A1NOC_CFG,
327664e8087SKonrad Dybcio 		   SDM845_SLAVE_A2NOC_CFG,
328664e8087SKonrad Dybcio 		   SDM845_SLAVE_AOP,
329664e8087SKonrad Dybcio 		   SDM845_SLAVE_AOSS,
330664e8087SKonrad Dybcio 		   SDM845_SLAVE_CAMERA_CFG,
331664e8087SKonrad Dybcio 		   SDM845_SLAVE_CLK_CTL,
332664e8087SKonrad Dybcio 		   SDM845_SLAVE_CDSP_CFG,
333664e8087SKonrad Dybcio 		   SDM845_SLAVE_RBCPR_CX_CFG,
334664e8087SKonrad Dybcio 		   SDM845_SLAVE_CRYPTO_0_CFG,
335664e8087SKonrad Dybcio 		   SDM845_SLAVE_DCC_CFG,
336664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_DDRSS,
337664e8087SKonrad Dybcio 		   SDM845_SLAVE_DISPLAY_CFG,
338664e8087SKonrad Dybcio 		   SDM845_SLAVE_GLM,
339664e8087SKonrad Dybcio 		   SDM845_SLAVE_GFX3D_CFG,
340664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM_CFG,
341664e8087SKonrad Dybcio 		   SDM845_SLAVE_IPA_CFG,
342664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_MNOC_CFG,
343664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_0_CFG,
344664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_1_CFG,
345664e8087SKonrad Dybcio 		   SDM845_SLAVE_PDM,
346664e8087SKonrad Dybcio 		   SDM845_SLAVE_SOUTH_PHY_CFG,
347664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM_CFG,
348664e8087SKonrad Dybcio 		   SDM845_SLAVE_PRNG,
349664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_CFG,
350664e8087SKonrad Dybcio 		   SDM845_SLAVE_BLSP_2,
351664e8087SKonrad Dybcio 		   SDM845_SLAVE_BLSP_1,
352664e8087SKonrad Dybcio 		   SDM845_SLAVE_SDCC_2,
353664e8087SKonrad Dybcio 		   SDM845_SLAVE_SDCC_4,
354664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CFG,
355664e8087SKonrad Dybcio 		   SDM845_SLAVE_SPDM_WRAPPER,
356664e8087SKonrad Dybcio 		   SDM845_SLAVE_SPSS_CFG,
357664e8087SKonrad Dybcio 		   SDM845_SLAVE_TCSR,
358664e8087SKonrad Dybcio 		   SDM845_SLAVE_TLMM_NORTH,
359664e8087SKonrad Dybcio 		   SDM845_SLAVE_TLMM_SOUTH,
360664e8087SKonrad Dybcio 		   SDM845_SLAVE_TSIF,
361664e8087SKonrad Dybcio 		   SDM845_SLAVE_UFS_CARD_CFG,
362664e8087SKonrad Dybcio 		   SDM845_SLAVE_UFS_MEM_CFG,
363664e8087SKonrad Dybcio 		   SDM845_SLAVE_USB3_0,
364664e8087SKonrad Dybcio 		   SDM845_SLAVE_USB3_1,
365664e8087SKonrad Dybcio 		   SDM845_SLAVE_VENUS_CFG,
366664e8087SKonrad Dybcio 		   SDM845_SLAVE_VSENSE_CTRL_CFG,
367664e8087SKonrad Dybcio 		   SDM845_SLAVE_CNOC_A2NOC,
368664e8087SKonrad Dybcio 		   SDM845_SLAVE_SERVICE_CNOC
369664e8087SKonrad Dybcio 	},
370664e8087SKonrad Dybcio };
371664e8087SKonrad Dybcio 
372664e8087SKonrad Dybcio static struct qcom_icc_node qhm_cnoc = {
373664e8087SKonrad Dybcio 	.name = "qhm_cnoc",
374664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CNOC_DC_NOC,
375664e8087SKonrad Dybcio 	.channels = 1,
376664e8087SKonrad Dybcio 	.buswidth = 4,
377664e8087SKonrad Dybcio 	.num_links = 2,
378664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_LLCC_CFG,
379664e8087SKonrad Dybcio 		   SDM845_SLAVE_MEM_NOC_CFG
380664e8087SKonrad Dybcio 	},
381664e8087SKonrad Dybcio };
382664e8087SKonrad Dybcio 
383664e8087SKonrad Dybcio static struct qcom_icc_node acm_l3 = {
384664e8087SKonrad Dybcio 	.name = "acm_l3",
385664e8087SKonrad Dybcio 	.id = SDM845_MASTER_APPSS_PROC,
386664e8087SKonrad Dybcio 	.channels = 1,
387664e8087SKonrad Dybcio 	.buswidth = 16,
388664e8087SKonrad Dybcio 	.num_links = 3,
389664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_GNOC_SNOC,
390664e8087SKonrad Dybcio 		   SDM845_SLAVE_GNOC_MEM_NOC,
391664e8087SKonrad Dybcio 		   SDM845_SLAVE_SERVICE_GNOC
392664e8087SKonrad Dybcio 	},
393664e8087SKonrad Dybcio };
394664e8087SKonrad Dybcio 
395664e8087SKonrad Dybcio static struct qcom_icc_node pm_gnoc_cfg = {
396664e8087SKonrad Dybcio 	.name = "pm_gnoc_cfg",
397664e8087SKonrad Dybcio 	.id = SDM845_MASTER_GNOC_CFG,
398664e8087SKonrad Dybcio 	.channels = 1,
399664e8087SKonrad Dybcio 	.buswidth = 4,
400664e8087SKonrad Dybcio 	.num_links = 1,
401664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SERVICE_GNOC },
402664e8087SKonrad Dybcio };
403664e8087SKonrad Dybcio 
404664e8087SKonrad Dybcio static struct qcom_icc_node llcc_mc = {
405664e8087SKonrad Dybcio 	.name = "llcc_mc",
406664e8087SKonrad Dybcio 	.id = SDM845_MASTER_LLCC,
407664e8087SKonrad Dybcio 	.channels = 4,
408664e8087SKonrad Dybcio 	.buswidth = 4,
409664e8087SKonrad Dybcio 	.num_links = 1,
410664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_EBI1 },
411664e8087SKonrad Dybcio };
412664e8087SKonrad Dybcio 
413664e8087SKonrad Dybcio static struct qcom_icc_node acm_tcu = {
414664e8087SKonrad Dybcio 	.name = "acm_tcu",
415664e8087SKonrad Dybcio 	.id = SDM845_MASTER_TCU_0,
416664e8087SKonrad Dybcio 	.channels = 1,
417664e8087SKonrad Dybcio 	.buswidth = 8,
418664e8087SKonrad Dybcio 	.num_links = 3,
419664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MEM_NOC_GNOC,
420664e8087SKonrad Dybcio 		   SDM845_SLAVE_LLCC,
421664e8087SKonrad Dybcio 		   SDM845_SLAVE_MEM_NOC_SNOC
422664e8087SKonrad Dybcio 	},
423664e8087SKonrad Dybcio };
424664e8087SKonrad Dybcio 
425664e8087SKonrad Dybcio static struct qcom_icc_node qhm_memnoc_cfg = {
426664e8087SKonrad Dybcio 	.name = "qhm_memnoc_cfg",
427664e8087SKonrad Dybcio 	.id = SDM845_MASTER_MEM_NOC_CFG,
428664e8087SKonrad Dybcio 	.channels = 1,
429664e8087SKonrad Dybcio 	.buswidth = 4,
430664e8087SKonrad Dybcio 	.num_links = 2,
431664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MSS_PROC_MS_MPU_CFG,
432664e8087SKonrad Dybcio 		   SDM845_SLAVE_SERVICE_MEM_NOC
433664e8087SKonrad Dybcio 	},
434664e8087SKonrad Dybcio };
435664e8087SKonrad Dybcio 
436664e8087SKonrad Dybcio static struct qcom_icc_node qnm_apps = {
437664e8087SKonrad Dybcio 	.name = "qnm_apps",
438664e8087SKonrad Dybcio 	.id = SDM845_MASTER_GNOC_MEM_NOC,
439664e8087SKonrad Dybcio 	.channels = 2,
440664e8087SKonrad Dybcio 	.buswidth = 32,
441664e8087SKonrad Dybcio 	.num_links = 1,
442664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_LLCC },
443664e8087SKonrad Dybcio };
444664e8087SKonrad Dybcio 
445664e8087SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_hf = {
446664e8087SKonrad Dybcio 	.name = "qnm_mnoc_hf",
447664e8087SKonrad Dybcio 	.id = SDM845_MASTER_MNOC_HF_MEM_NOC,
448664e8087SKonrad Dybcio 	.channels = 2,
449664e8087SKonrad Dybcio 	.buswidth = 32,
450664e8087SKonrad Dybcio 	.num_links = 2,
451664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MEM_NOC_GNOC,
452664e8087SKonrad Dybcio 		   SDM845_SLAVE_LLCC
453664e8087SKonrad Dybcio 	},
454664e8087SKonrad Dybcio };
455664e8087SKonrad Dybcio 
456664e8087SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_sf = {
457664e8087SKonrad Dybcio 	.name = "qnm_mnoc_sf",
458664e8087SKonrad Dybcio 	.id = SDM845_MASTER_MNOC_SF_MEM_NOC,
459664e8087SKonrad Dybcio 	.channels = 1,
460664e8087SKonrad Dybcio 	.buswidth = 32,
461664e8087SKonrad Dybcio 	.num_links = 3,
462664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MEM_NOC_GNOC,
463664e8087SKonrad Dybcio 		   SDM845_SLAVE_LLCC,
464664e8087SKonrad Dybcio 		   SDM845_SLAVE_MEM_NOC_SNOC
465664e8087SKonrad Dybcio 	},
466664e8087SKonrad Dybcio };
467664e8087SKonrad Dybcio 
468664e8087SKonrad Dybcio static struct qcom_icc_node qnm_snoc_gc = {
469664e8087SKonrad Dybcio 	.name = "qnm_snoc_gc",
470664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SNOC_GC_MEM_NOC,
471664e8087SKonrad Dybcio 	.channels = 1,
472664e8087SKonrad Dybcio 	.buswidth = 8,
473664e8087SKonrad Dybcio 	.num_links = 1,
474664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_LLCC },
475664e8087SKonrad Dybcio };
476664e8087SKonrad Dybcio 
477664e8087SKonrad Dybcio static struct qcom_icc_node qnm_snoc_sf = {
478664e8087SKonrad Dybcio 	.name = "qnm_snoc_sf",
479664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SNOC_SF_MEM_NOC,
480664e8087SKonrad Dybcio 	.channels = 1,
481664e8087SKonrad Dybcio 	.buswidth = 16,
482664e8087SKonrad Dybcio 	.num_links = 2,
483664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MEM_NOC_GNOC,
484664e8087SKonrad Dybcio 		   SDM845_SLAVE_LLCC
485664e8087SKonrad Dybcio 	},
486664e8087SKonrad Dybcio };
487664e8087SKonrad Dybcio 
488664e8087SKonrad Dybcio static struct qcom_icc_node qxm_gpu = {
489664e8087SKonrad Dybcio 	.name = "qxm_gpu",
490664e8087SKonrad Dybcio 	.id = SDM845_MASTER_GFX3D,
491664e8087SKonrad Dybcio 	.channels = 2,
492664e8087SKonrad Dybcio 	.buswidth = 32,
493664e8087SKonrad Dybcio 	.num_links = 3,
494664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MEM_NOC_GNOC,
495664e8087SKonrad Dybcio 		   SDM845_SLAVE_LLCC,
496664e8087SKonrad Dybcio 		   SDM845_SLAVE_MEM_NOC_SNOC
497664e8087SKonrad Dybcio 	},
498664e8087SKonrad Dybcio };
499664e8087SKonrad Dybcio 
500664e8087SKonrad Dybcio static struct qcom_icc_node qhm_mnoc_cfg = {
501664e8087SKonrad Dybcio 	.name = "qhm_mnoc_cfg",
502664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CNOC_MNOC_CFG,
503664e8087SKonrad Dybcio 	.channels = 1,
504664e8087SKonrad Dybcio 	.buswidth = 4,
505664e8087SKonrad Dybcio 	.num_links = 1,
506664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SERVICE_MNOC },
507664e8087SKonrad Dybcio };
508664e8087SKonrad Dybcio 
509664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0 = {
510664e8087SKonrad Dybcio 	.name = "qxm_camnoc_hf0",
511664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CAMNOC_HF0,
512664e8087SKonrad Dybcio 	.channels = 1,
513664e8087SKonrad Dybcio 	.buswidth = 32,
514664e8087SKonrad Dybcio 	.num_links = 1,
515664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_HF_MEM_NOC },
516664e8087SKonrad Dybcio };
517664e8087SKonrad Dybcio 
518664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1 = {
519664e8087SKonrad Dybcio 	.name = "qxm_camnoc_hf1",
520664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CAMNOC_HF1,
521664e8087SKonrad Dybcio 	.channels = 1,
522664e8087SKonrad Dybcio 	.buswidth = 32,
523664e8087SKonrad Dybcio 	.num_links = 1,
524664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_HF_MEM_NOC },
525664e8087SKonrad Dybcio };
526664e8087SKonrad Dybcio 
527664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf = {
528664e8087SKonrad Dybcio 	.name = "qxm_camnoc_sf",
529664e8087SKonrad Dybcio 	.id = SDM845_MASTER_CAMNOC_SF,
530664e8087SKonrad Dybcio 	.channels = 1,
531664e8087SKonrad Dybcio 	.buswidth = 32,
532664e8087SKonrad Dybcio 	.num_links = 1,
533664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_SF_MEM_NOC },
534664e8087SKonrad Dybcio };
535664e8087SKonrad Dybcio 
536664e8087SKonrad Dybcio static struct qcom_icc_node qxm_mdp0 = {
537664e8087SKonrad Dybcio 	.name = "qxm_mdp0",
538664e8087SKonrad Dybcio 	.id = SDM845_MASTER_MDP0,
539664e8087SKonrad Dybcio 	.channels = 1,
540664e8087SKonrad Dybcio 	.buswidth = 32,
541664e8087SKonrad Dybcio 	.num_links = 1,
542664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_HF_MEM_NOC },
543664e8087SKonrad Dybcio };
544664e8087SKonrad Dybcio 
545664e8087SKonrad Dybcio static struct qcom_icc_node qxm_mdp1 = {
546664e8087SKonrad Dybcio 	.name = "qxm_mdp1",
547664e8087SKonrad Dybcio 	.id = SDM845_MASTER_MDP1,
548664e8087SKonrad Dybcio 	.channels = 1,
549664e8087SKonrad Dybcio 	.buswidth = 32,
550664e8087SKonrad Dybcio 	.num_links = 1,
551664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_HF_MEM_NOC },
552664e8087SKonrad Dybcio };
553664e8087SKonrad Dybcio 
554664e8087SKonrad Dybcio static struct qcom_icc_node qxm_rot = {
555664e8087SKonrad Dybcio 	.name = "qxm_rot",
556664e8087SKonrad Dybcio 	.id = SDM845_MASTER_ROTATOR,
557664e8087SKonrad Dybcio 	.channels = 1,
558664e8087SKonrad Dybcio 	.buswidth = 32,
559664e8087SKonrad Dybcio 	.num_links = 1,
560664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_SF_MEM_NOC },
561664e8087SKonrad Dybcio };
562664e8087SKonrad Dybcio 
563664e8087SKonrad Dybcio static struct qcom_icc_node qxm_venus0 = {
564664e8087SKonrad Dybcio 	.name = "qxm_venus0",
565664e8087SKonrad Dybcio 	.id = SDM845_MASTER_VIDEO_P0,
566664e8087SKonrad Dybcio 	.channels = 1,
567664e8087SKonrad Dybcio 	.buswidth = 32,
568664e8087SKonrad Dybcio 	.num_links = 1,
569664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_SF_MEM_NOC },
570664e8087SKonrad Dybcio };
571664e8087SKonrad Dybcio 
572664e8087SKonrad Dybcio static struct qcom_icc_node qxm_venus1 = {
573664e8087SKonrad Dybcio 	.name = "qxm_venus1",
574664e8087SKonrad Dybcio 	.id = SDM845_MASTER_VIDEO_P1,
575664e8087SKonrad Dybcio 	.channels = 1,
576664e8087SKonrad Dybcio 	.buswidth = 32,
577664e8087SKonrad Dybcio 	.num_links = 1,
578664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_SF_MEM_NOC },
579664e8087SKonrad Dybcio };
580664e8087SKonrad Dybcio 
581664e8087SKonrad Dybcio static struct qcom_icc_node qxm_venus_arm9 = {
582664e8087SKonrad Dybcio 	.name = "qxm_venus_arm9",
583664e8087SKonrad Dybcio 	.id = SDM845_MASTER_VIDEO_PROC,
584664e8087SKonrad Dybcio 	.channels = 1,
585664e8087SKonrad Dybcio 	.buswidth = 8,
586664e8087SKonrad Dybcio 	.num_links = 1,
587664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_MNOC_SF_MEM_NOC },
588664e8087SKonrad Dybcio };
589664e8087SKonrad Dybcio 
590664e8087SKonrad Dybcio static struct qcom_icc_node qhm_snoc_cfg = {
591664e8087SKonrad Dybcio 	.name = "qhm_snoc_cfg",
592664e8087SKonrad Dybcio 	.id = SDM845_MASTER_SNOC_CFG,
593664e8087SKonrad Dybcio 	.channels = 1,
594664e8087SKonrad Dybcio 	.buswidth = 4,
595664e8087SKonrad Dybcio 	.num_links = 1,
596664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SERVICE_SNOC },
597664e8087SKonrad Dybcio };
598664e8087SKonrad Dybcio 
599664e8087SKonrad Dybcio static struct qcom_icc_node qnm_aggre1_noc = {
600664e8087SKonrad Dybcio 	.name = "qnm_aggre1_noc",
601664e8087SKonrad Dybcio 	.id = SDM845_MASTER_A1NOC_SNOC,
602664e8087SKonrad Dybcio 	.channels = 1,
603664e8087SKonrad Dybcio 	.buswidth = 16,
604664e8087SKonrad Dybcio 	.num_links = 6,
605664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_APPSS,
606664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CNOC,
607664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_MEM_NOC_SF,
608664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM,
609664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM,
610664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_STM
611664e8087SKonrad Dybcio 	},
612664e8087SKonrad Dybcio };
613664e8087SKonrad Dybcio 
614664e8087SKonrad Dybcio static struct qcom_icc_node qnm_aggre2_noc = {
615664e8087SKonrad Dybcio 	.name = "qnm_aggre2_noc",
616664e8087SKonrad Dybcio 	.id = SDM845_MASTER_A2NOC_SNOC,
617664e8087SKonrad Dybcio 	.channels = 1,
618664e8087SKonrad Dybcio 	.buswidth = 16,
619664e8087SKonrad Dybcio 	.num_links = 9,
620664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_APPSS,
621664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CNOC,
622664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_MEM_NOC_SF,
623664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM,
624664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_0,
625664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_1,
626664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM,
627664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_STM,
628664e8087SKonrad Dybcio 		   SDM845_SLAVE_TCU
629664e8087SKonrad Dybcio 	},
630664e8087SKonrad Dybcio };
631664e8087SKonrad Dybcio 
632664e8087SKonrad Dybcio static struct qcom_icc_node qnm_gladiator_sodv = {
633664e8087SKonrad Dybcio 	.name = "qnm_gladiator_sodv",
634664e8087SKonrad Dybcio 	.id = SDM845_MASTER_GNOC_SNOC,
635664e8087SKonrad Dybcio 	.channels = 1,
636664e8087SKonrad Dybcio 	.buswidth = 8,
637664e8087SKonrad Dybcio 	.num_links = 8,
638664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_APPSS,
639664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CNOC,
640664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM,
641664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_0,
642664e8087SKonrad Dybcio 		   SDM845_SLAVE_PCIE_1,
643664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM,
644664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_STM,
645664e8087SKonrad Dybcio 		   SDM845_SLAVE_TCU
646664e8087SKonrad Dybcio 	},
647664e8087SKonrad Dybcio };
648664e8087SKonrad Dybcio 
649664e8087SKonrad Dybcio static struct qcom_icc_node qnm_memnoc = {
650664e8087SKonrad Dybcio 	.name = "qnm_memnoc",
651664e8087SKonrad Dybcio 	.id = SDM845_MASTER_MEM_NOC_SNOC,
652664e8087SKonrad Dybcio 	.channels = 1,
653664e8087SKonrad Dybcio 	.buswidth = 8,
654664e8087SKonrad Dybcio 	.num_links = 5,
655664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_APPSS,
656664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CNOC,
657664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM,
658664e8087SKonrad Dybcio 		   SDM845_SLAVE_PIMEM,
659664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_STM
660664e8087SKonrad Dybcio 	},
661664e8087SKonrad Dybcio };
662664e8087SKonrad Dybcio 
663664e8087SKonrad Dybcio static struct qcom_icc_node qnm_pcie_anoc = {
664664e8087SKonrad Dybcio 	.name = "qnm_pcie_anoc",
665664e8087SKonrad Dybcio 	.id = SDM845_MASTER_ANOC_PCIE_SNOC,
666664e8087SKonrad Dybcio 	.channels = 1,
667664e8087SKonrad Dybcio 	.buswidth = 16,
668664e8087SKonrad Dybcio 	.num_links = 5,
669664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_APPSS,
670664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_CNOC,
671664e8087SKonrad Dybcio 		   SDM845_SLAVE_SNOC_MEM_NOC_SF,
672664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM,
673664e8087SKonrad Dybcio 		   SDM845_SLAVE_QDSS_STM
674664e8087SKonrad Dybcio 	},
675664e8087SKonrad Dybcio };
676664e8087SKonrad Dybcio 
677664e8087SKonrad Dybcio static struct qcom_icc_node qxm_pimem = {
678664e8087SKonrad Dybcio 	.name = "qxm_pimem",
679664e8087SKonrad Dybcio 	.id = SDM845_MASTER_PIMEM,
680664e8087SKonrad Dybcio 	.channels = 1,
681664e8087SKonrad Dybcio 	.buswidth = 8,
682664e8087SKonrad Dybcio 	.num_links = 2,
683664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SNOC_MEM_NOC_GC,
684664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM
685664e8087SKonrad Dybcio 	},
686664e8087SKonrad Dybcio };
687664e8087SKonrad Dybcio 
688664e8087SKonrad Dybcio static struct qcom_icc_node xm_gic = {
689664e8087SKonrad Dybcio 	.name = "xm_gic",
690664e8087SKonrad Dybcio 	.id = SDM845_MASTER_GIC,
691664e8087SKonrad Dybcio 	.channels = 1,
692664e8087SKonrad Dybcio 	.buswidth = 8,
693664e8087SKonrad Dybcio 	.num_links = 2,
694664e8087SKonrad Dybcio 	.links = { SDM845_SLAVE_SNOC_MEM_NOC_GC,
695664e8087SKonrad Dybcio 		   SDM845_SLAVE_IMEM
696664e8087SKonrad Dybcio 	},
697664e8087SKonrad Dybcio };
698664e8087SKonrad Dybcio 
699664e8087SKonrad Dybcio static struct qcom_icc_node qns_a1noc_snoc = {
700664e8087SKonrad Dybcio 	.name = "qns_a1noc_snoc",
701664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_A1NOC_SNOC,
702664e8087SKonrad Dybcio 	.channels = 1,
703664e8087SKonrad Dybcio 	.buswidth = 16,
704664e8087SKonrad Dybcio 	.num_links = 1,
705664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_A1NOC_SNOC },
706664e8087SKonrad Dybcio };
707664e8087SKonrad Dybcio 
708664e8087SKonrad Dybcio static struct qcom_icc_node srvc_aggre1_noc = {
709664e8087SKonrad Dybcio 	.name = "srvc_aggre1_noc",
710664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_A1NOC,
711664e8087SKonrad Dybcio 	.channels = 1,
712664e8087SKonrad Dybcio 	.buswidth = 4,
713664e8087SKonrad Dybcio 	.num_links = 1,
714664e8087SKonrad Dybcio 	.links = { 0 },
715664e8087SKonrad Dybcio };
716664e8087SKonrad Dybcio 
717664e8087SKonrad Dybcio static struct qcom_icc_node qns_pcie_a1noc_snoc = {
718664e8087SKonrad Dybcio 	.name = "qns_pcie_a1noc_snoc",
719664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC,
720664e8087SKonrad Dybcio 	.channels = 1,
721664e8087SKonrad Dybcio 	.buswidth = 16,
722664e8087SKonrad Dybcio 	.num_links = 1,
723664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_ANOC_PCIE_SNOC },
724664e8087SKonrad Dybcio };
725664e8087SKonrad Dybcio 
726664e8087SKonrad Dybcio static struct qcom_icc_node qns_a2noc_snoc = {
727664e8087SKonrad Dybcio 	.name = "qns_a2noc_snoc",
728664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_A2NOC_SNOC,
729664e8087SKonrad Dybcio 	.channels = 1,
730664e8087SKonrad Dybcio 	.buswidth = 16,
731664e8087SKonrad Dybcio 	.num_links = 1,
732664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_A2NOC_SNOC },
733664e8087SKonrad Dybcio };
734664e8087SKonrad Dybcio 
735664e8087SKonrad Dybcio static struct qcom_icc_node qns_pcie_snoc = {
736664e8087SKonrad Dybcio 	.name = "qns_pcie_snoc",
737664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_ANOC_PCIE_SNOC,
738664e8087SKonrad Dybcio 	.channels = 1,
739664e8087SKonrad Dybcio 	.buswidth = 16,
740664e8087SKonrad Dybcio 	.num_links = 1,
741664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_ANOC_PCIE_SNOC },
742664e8087SKonrad Dybcio };
743664e8087SKonrad Dybcio 
744664e8087SKonrad Dybcio static struct qcom_icc_node srvc_aggre2_noc = {
745664e8087SKonrad Dybcio 	.name = "srvc_aggre2_noc",
746664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_A2NOC,
747664e8087SKonrad Dybcio 	.channels = 1,
748664e8087SKonrad Dybcio 	.buswidth = 4,
749664e8087SKonrad Dybcio };
750664e8087SKonrad Dybcio 
751664e8087SKonrad Dybcio static struct qcom_icc_node qns_camnoc_uncomp = {
752664e8087SKonrad Dybcio 	.name = "qns_camnoc_uncomp",
753664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CAMNOC_UNCOMP,
754664e8087SKonrad Dybcio 	.channels = 1,
755664e8087SKonrad Dybcio 	.buswidth = 32,
756664e8087SKonrad Dybcio };
757664e8087SKonrad Dybcio 
758664e8087SKonrad Dybcio static struct qcom_icc_node qhs_a1_noc_cfg = {
759664e8087SKonrad Dybcio 	.name = "qhs_a1_noc_cfg",
760664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_A1NOC_CFG,
761664e8087SKonrad Dybcio 	.channels = 1,
762664e8087SKonrad Dybcio 	.buswidth = 4,
763664e8087SKonrad Dybcio 	.num_links = 1,
764664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_A1NOC_CFG },
765664e8087SKonrad Dybcio };
766664e8087SKonrad Dybcio 
767664e8087SKonrad Dybcio static struct qcom_icc_node qhs_a2_noc_cfg = {
768664e8087SKonrad Dybcio 	.name = "qhs_a2_noc_cfg",
769664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_A2NOC_CFG,
770664e8087SKonrad Dybcio 	.channels = 1,
771664e8087SKonrad Dybcio 	.buswidth = 4,
772664e8087SKonrad Dybcio 	.num_links = 1,
773664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_A2NOC_CFG },
774664e8087SKonrad Dybcio };
775664e8087SKonrad Dybcio 
776664e8087SKonrad Dybcio static struct qcom_icc_node qhs_aop = {
777664e8087SKonrad Dybcio 	.name = "qhs_aop",
778664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_AOP,
779664e8087SKonrad Dybcio 	.channels = 1,
780664e8087SKonrad Dybcio 	.buswidth = 4,
781664e8087SKonrad Dybcio };
782664e8087SKonrad Dybcio 
783664e8087SKonrad Dybcio static struct qcom_icc_node qhs_aoss = {
784664e8087SKonrad Dybcio 	.name = "qhs_aoss",
785664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_AOSS,
786664e8087SKonrad Dybcio 	.channels = 1,
787664e8087SKonrad Dybcio 	.buswidth = 4,
788664e8087SKonrad Dybcio };
789664e8087SKonrad Dybcio 
790664e8087SKonrad Dybcio static struct qcom_icc_node qhs_camera_cfg = {
791664e8087SKonrad Dybcio 	.name = "qhs_camera_cfg",
792664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CAMERA_CFG,
793664e8087SKonrad Dybcio 	.channels = 1,
794664e8087SKonrad Dybcio 	.buswidth = 4,
795664e8087SKonrad Dybcio };
796664e8087SKonrad Dybcio 
797664e8087SKonrad Dybcio static struct qcom_icc_node qhs_clk_ctl = {
798664e8087SKonrad Dybcio 	.name = "qhs_clk_ctl",
799664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CLK_CTL,
800664e8087SKonrad Dybcio 	.channels = 1,
801664e8087SKonrad Dybcio 	.buswidth = 4,
802664e8087SKonrad Dybcio };
803664e8087SKonrad Dybcio 
804664e8087SKonrad Dybcio static struct qcom_icc_node qhs_compute_dsp_cfg = {
805664e8087SKonrad Dybcio 	.name = "qhs_compute_dsp_cfg",
806664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CDSP_CFG,
807664e8087SKonrad Dybcio 	.channels = 1,
808664e8087SKonrad Dybcio 	.buswidth = 4,
809664e8087SKonrad Dybcio };
810664e8087SKonrad Dybcio 
811664e8087SKonrad Dybcio static struct qcom_icc_node qhs_cpr_cx = {
812664e8087SKonrad Dybcio 	.name = "qhs_cpr_cx",
813664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_RBCPR_CX_CFG,
814664e8087SKonrad Dybcio 	.channels = 1,
815664e8087SKonrad Dybcio 	.buswidth = 4,
816664e8087SKonrad Dybcio };
817664e8087SKonrad Dybcio 
818664e8087SKonrad Dybcio static struct qcom_icc_node qhs_crypto0_cfg = {
819664e8087SKonrad Dybcio 	.name = "qhs_crypto0_cfg",
820664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CRYPTO_0_CFG,
821664e8087SKonrad Dybcio 	.channels = 1,
822664e8087SKonrad Dybcio 	.buswidth = 4,
823664e8087SKonrad Dybcio };
824664e8087SKonrad Dybcio 
825664e8087SKonrad Dybcio static struct qcom_icc_node qhs_dcc_cfg = {
826664e8087SKonrad Dybcio 	.name = "qhs_dcc_cfg",
827664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_DCC_CFG,
828664e8087SKonrad Dybcio 	.channels = 1,
829664e8087SKonrad Dybcio 	.buswidth = 4,
830664e8087SKonrad Dybcio 	.num_links = 1,
831664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_CNOC_DC_NOC },
832664e8087SKonrad Dybcio };
833664e8087SKonrad Dybcio 
834664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ddrss_cfg = {
835664e8087SKonrad Dybcio 	.name = "qhs_ddrss_cfg",
836664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CNOC_DDRSS,
837664e8087SKonrad Dybcio 	.channels = 1,
838664e8087SKonrad Dybcio 	.buswidth = 4,
839664e8087SKonrad Dybcio };
840664e8087SKonrad Dybcio 
841664e8087SKonrad Dybcio static struct qcom_icc_node qhs_display_cfg = {
842664e8087SKonrad Dybcio 	.name = "qhs_display_cfg",
843664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_DISPLAY_CFG,
844664e8087SKonrad Dybcio 	.channels = 1,
845664e8087SKonrad Dybcio 	.buswidth = 4,
846664e8087SKonrad Dybcio };
847664e8087SKonrad Dybcio 
848664e8087SKonrad Dybcio static struct qcom_icc_node qhs_glm = {
849664e8087SKonrad Dybcio 	.name = "qhs_glm",
850664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_GLM,
851664e8087SKonrad Dybcio 	.channels = 1,
852664e8087SKonrad Dybcio 	.buswidth = 4,
853664e8087SKonrad Dybcio };
854664e8087SKonrad Dybcio 
855664e8087SKonrad Dybcio static struct qcom_icc_node qhs_gpuss_cfg = {
856664e8087SKonrad Dybcio 	.name = "qhs_gpuss_cfg",
857664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_GFX3D_CFG,
858664e8087SKonrad Dybcio 	.channels = 1,
859664e8087SKonrad Dybcio 	.buswidth = 8,
860664e8087SKonrad Dybcio };
861664e8087SKonrad Dybcio 
862664e8087SKonrad Dybcio static struct qcom_icc_node qhs_imem_cfg = {
863664e8087SKonrad Dybcio 	.name = "qhs_imem_cfg",
864664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_IMEM_CFG,
865664e8087SKonrad Dybcio 	.channels = 1,
866664e8087SKonrad Dybcio 	.buswidth = 4,
867664e8087SKonrad Dybcio };
868664e8087SKonrad Dybcio 
869664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ipa = {
870664e8087SKonrad Dybcio 	.name = "qhs_ipa",
871664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_IPA_CFG,
872664e8087SKonrad Dybcio 	.channels = 1,
873664e8087SKonrad Dybcio 	.buswidth = 4,
874664e8087SKonrad Dybcio };
875664e8087SKonrad Dybcio 
876664e8087SKonrad Dybcio static struct qcom_icc_node qhs_mnoc_cfg = {
877664e8087SKonrad Dybcio 	.name = "qhs_mnoc_cfg",
878664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CNOC_MNOC_CFG,
879664e8087SKonrad Dybcio 	.channels = 1,
880664e8087SKonrad Dybcio 	.buswidth = 4,
881664e8087SKonrad Dybcio 	.num_links = 1,
882664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_CNOC_MNOC_CFG },
883664e8087SKonrad Dybcio };
884664e8087SKonrad Dybcio 
885664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pcie0_cfg = {
886664e8087SKonrad Dybcio 	.name = "qhs_pcie0_cfg",
887664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PCIE_0_CFG,
888664e8087SKonrad Dybcio 	.channels = 1,
889664e8087SKonrad Dybcio 	.buswidth = 4,
890664e8087SKonrad Dybcio };
891664e8087SKonrad Dybcio 
892664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pcie_gen3_cfg = {
893664e8087SKonrad Dybcio 	.name = "qhs_pcie_gen3_cfg",
894664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PCIE_1_CFG,
895664e8087SKonrad Dybcio 	.channels = 1,
896664e8087SKonrad Dybcio 	.buswidth = 4,
897664e8087SKonrad Dybcio };
898664e8087SKonrad Dybcio 
899664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pdm = {
900664e8087SKonrad Dybcio 	.name = "qhs_pdm",
901664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PDM,
902664e8087SKonrad Dybcio 	.channels = 1,
903664e8087SKonrad Dybcio 	.buswidth = 4,
904664e8087SKonrad Dybcio };
905664e8087SKonrad Dybcio 
906664e8087SKonrad Dybcio static struct qcom_icc_node qhs_phy_refgen_south = {
907664e8087SKonrad Dybcio 	.name = "qhs_phy_refgen_south",
908664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SOUTH_PHY_CFG,
909664e8087SKonrad Dybcio 	.channels = 1,
910664e8087SKonrad Dybcio 	.buswidth = 4,
911664e8087SKonrad Dybcio };
912664e8087SKonrad Dybcio 
913664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pimem_cfg = {
914664e8087SKonrad Dybcio 	.name = "qhs_pimem_cfg",
915664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PIMEM_CFG,
916664e8087SKonrad Dybcio 	.channels = 1,
917664e8087SKonrad Dybcio 	.buswidth = 4,
918664e8087SKonrad Dybcio };
919664e8087SKonrad Dybcio 
920664e8087SKonrad Dybcio static struct qcom_icc_node qhs_prng = {
921664e8087SKonrad Dybcio 	.name = "qhs_prng",
922664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PRNG,
923664e8087SKonrad Dybcio 	.channels = 1,
924664e8087SKonrad Dybcio 	.buswidth = 4,
925664e8087SKonrad Dybcio };
926664e8087SKonrad Dybcio 
927664e8087SKonrad Dybcio static struct qcom_icc_node qhs_qdss_cfg = {
928664e8087SKonrad Dybcio 	.name = "qhs_qdss_cfg",
929664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_QDSS_CFG,
930664e8087SKonrad Dybcio 	.channels = 1,
931664e8087SKonrad Dybcio 	.buswidth = 4,
932664e8087SKonrad Dybcio };
933664e8087SKonrad Dybcio 
934664e8087SKonrad Dybcio static struct qcom_icc_node qhs_qupv3_north = {
935664e8087SKonrad Dybcio 	.name = "qhs_qupv3_north",
936664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_BLSP_2,
937664e8087SKonrad Dybcio 	.channels = 1,
938664e8087SKonrad Dybcio 	.buswidth = 4,
939664e8087SKonrad Dybcio };
940664e8087SKonrad Dybcio 
941664e8087SKonrad Dybcio static struct qcom_icc_node qhs_qupv3_south = {
942664e8087SKonrad Dybcio 	.name = "qhs_qupv3_south",
943664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_BLSP_1,
944664e8087SKonrad Dybcio 	.channels = 1,
945664e8087SKonrad Dybcio 	.buswidth = 4,
946664e8087SKonrad Dybcio };
947664e8087SKonrad Dybcio 
948664e8087SKonrad Dybcio static struct qcom_icc_node qhs_sdc2 = {
949664e8087SKonrad Dybcio 	.name = "qhs_sdc2",
950664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SDCC_2,
951664e8087SKonrad Dybcio 	.channels = 1,
952664e8087SKonrad Dybcio 	.buswidth = 4,
953664e8087SKonrad Dybcio };
954664e8087SKonrad Dybcio 
955664e8087SKonrad Dybcio static struct qcom_icc_node qhs_sdc4 = {
956664e8087SKonrad Dybcio 	.name = "qhs_sdc4",
957664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SDCC_4,
958664e8087SKonrad Dybcio 	.channels = 1,
959664e8087SKonrad Dybcio 	.buswidth = 4,
960664e8087SKonrad Dybcio };
961664e8087SKonrad Dybcio 
962664e8087SKonrad Dybcio static struct qcom_icc_node qhs_snoc_cfg = {
963664e8087SKonrad Dybcio 	.name = "qhs_snoc_cfg",
964664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SNOC_CFG,
965664e8087SKonrad Dybcio 	.channels = 1,
966664e8087SKonrad Dybcio 	.buswidth = 4,
967664e8087SKonrad Dybcio 	.num_links = 1,
968664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_SNOC_CFG },
969664e8087SKonrad Dybcio };
970664e8087SKonrad Dybcio 
971664e8087SKonrad Dybcio static struct qcom_icc_node qhs_spdm = {
972664e8087SKonrad Dybcio 	.name = "qhs_spdm",
973664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SPDM_WRAPPER,
974664e8087SKonrad Dybcio 	.channels = 1,
975664e8087SKonrad Dybcio 	.buswidth = 4,
976664e8087SKonrad Dybcio };
977664e8087SKonrad Dybcio 
978664e8087SKonrad Dybcio static struct qcom_icc_node qhs_spss_cfg = {
979664e8087SKonrad Dybcio 	.name = "qhs_spss_cfg",
980664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SPSS_CFG,
981664e8087SKonrad Dybcio 	.channels = 1,
982664e8087SKonrad Dybcio 	.buswidth = 4,
983664e8087SKonrad Dybcio };
984664e8087SKonrad Dybcio 
985664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tcsr = {
986664e8087SKonrad Dybcio 	.name = "qhs_tcsr",
987664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_TCSR,
988664e8087SKonrad Dybcio 	.channels = 1,
989664e8087SKonrad Dybcio 	.buswidth = 4,
990664e8087SKonrad Dybcio };
991664e8087SKonrad Dybcio 
992664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_north = {
993664e8087SKonrad Dybcio 	.name = "qhs_tlmm_north",
994664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_TLMM_NORTH,
995664e8087SKonrad Dybcio 	.channels = 1,
996664e8087SKonrad Dybcio 	.buswidth = 4,
997664e8087SKonrad Dybcio };
998664e8087SKonrad Dybcio 
999664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_south = {
1000664e8087SKonrad Dybcio 	.name = "qhs_tlmm_south",
1001664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_TLMM_SOUTH,
1002664e8087SKonrad Dybcio 	.channels = 1,
1003664e8087SKonrad Dybcio 	.buswidth = 4,
1004664e8087SKonrad Dybcio };
1005664e8087SKonrad Dybcio 
1006664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tsif = {
1007664e8087SKonrad Dybcio 	.name = "qhs_tsif",
1008664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_TSIF,
1009664e8087SKonrad Dybcio 	.channels = 1,
1010664e8087SKonrad Dybcio 	.buswidth = 4,
1011664e8087SKonrad Dybcio };
1012664e8087SKonrad Dybcio 
1013664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ufs_card_cfg = {
1014664e8087SKonrad Dybcio 	.name = "qhs_ufs_card_cfg",
1015664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_UFS_CARD_CFG,
1016664e8087SKonrad Dybcio 	.channels = 1,
1017664e8087SKonrad Dybcio 	.buswidth = 4,
1018664e8087SKonrad Dybcio };
1019664e8087SKonrad Dybcio 
1020664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ufs_mem_cfg = {
1021664e8087SKonrad Dybcio 	.name = "qhs_ufs_mem_cfg",
1022664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_UFS_MEM_CFG,
1023664e8087SKonrad Dybcio 	.channels = 1,
1024664e8087SKonrad Dybcio 	.buswidth = 4,
1025664e8087SKonrad Dybcio };
1026664e8087SKonrad Dybcio 
1027664e8087SKonrad Dybcio static struct qcom_icc_node qhs_usb3_0 = {
1028664e8087SKonrad Dybcio 	.name = "qhs_usb3_0",
1029664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_USB3_0,
1030664e8087SKonrad Dybcio 	.channels = 1,
1031664e8087SKonrad Dybcio 	.buswidth = 4,
1032664e8087SKonrad Dybcio };
1033664e8087SKonrad Dybcio 
1034664e8087SKonrad Dybcio static struct qcom_icc_node qhs_usb3_1 = {
1035664e8087SKonrad Dybcio 	.name = "qhs_usb3_1",
1036664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_USB3_1,
1037664e8087SKonrad Dybcio 	.channels = 1,
1038664e8087SKonrad Dybcio 	.buswidth = 4,
1039664e8087SKonrad Dybcio };
1040664e8087SKonrad Dybcio 
1041664e8087SKonrad Dybcio static struct qcom_icc_node qhs_venus_cfg = {
1042664e8087SKonrad Dybcio 	.name = "qhs_venus_cfg",
1043664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_VENUS_CFG,
1044664e8087SKonrad Dybcio 	.channels = 1,
1045664e8087SKonrad Dybcio 	.buswidth = 4,
1046664e8087SKonrad Dybcio };
1047664e8087SKonrad Dybcio 
1048664e8087SKonrad Dybcio static struct qcom_icc_node qhs_vsense_ctrl_cfg = {
1049664e8087SKonrad Dybcio 	.name = "qhs_vsense_ctrl_cfg",
1050664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_VSENSE_CTRL_CFG,
1051664e8087SKonrad Dybcio 	.channels = 1,
1052664e8087SKonrad Dybcio 	.buswidth = 4,
1053664e8087SKonrad Dybcio };
1054664e8087SKonrad Dybcio 
1055664e8087SKonrad Dybcio static struct qcom_icc_node qns_cnoc_a2noc = {
1056664e8087SKonrad Dybcio 	.name = "qns_cnoc_a2noc",
1057664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_CNOC_A2NOC,
1058664e8087SKonrad Dybcio 	.channels = 1,
1059664e8087SKonrad Dybcio 	.buswidth = 8,
1060664e8087SKonrad Dybcio 	.num_links = 1,
1061664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_CNOC_A2NOC },
1062664e8087SKonrad Dybcio };
1063664e8087SKonrad Dybcio 
1064664e8087SKonrad Dybcio static struct qcom_icc_node srvc_cnoc = {
1065664e8087SKonrad Dybcio 	.name = "srvc_cnoc",
1066664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_CNOC,
1067664e8087SKonrad Dybcio 	.channels = 1,
1068664e8087SKonrad Dybcio 	.buswidth = 4,
1069664e8087SKonrad Dybcio };
1070664e8087SKonrad Dybcio 
1071664e8087SKonrad Dybcio static struct qcom_icc_node qhs_llcc = {
1072664e8087SKonrad Dybcio 	.name = "qhs_llcc",
1073664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_LLCC_CFG,
1074664e8087SKonrad Dybcio 	.channels = 1,
1075664e8087SKonrad Dybcio 	.buswidth = 4,
1076664e8087SKonrad Dybcio };
1077664e8087SKonrad Dybcio 
1078664e8087SKonrad Dybcio static struct qcom_icc_node qhs_memnoc = {
1079664e8087SKonrad Dybcio 	.name = "qhs_memnoc",
1080664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_MEM_NOC_CFG,
1081664e8087SKonrad Dybcio 	.channels = 1,
1082664e8087SKonrad Dybcio 	.buswidth = 4,
1083664e8087SKonrad Dybcio 	.num_links = 1,
1084664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_MEM_NOC_CFG },
1085664e8087SKonrad Dybcio };
1086664e8087SKonrad Dybcio 
1087664e8087SKonrad Dybcio static struct qcom_icc_node qns_gladiator_sodv = {
1088664e8087SKonrad Dybcio 	.name = "qns_gladiator_sodv",
1089664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_GNOC_SNOC,
1090664e8087SKonrad Dybcio 	.channels = 1,
1091664e8087SKonrad Dybcio 	.buswidth = 8,
1092664e8087SKonrad Dybcio 	.num_links = 1,
1093664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_GNOC_SNOC },
1094664e8087SKonrad Dybcio };
1095664e8087SKonrad Dybcio 
1096664e8087SKonrad Dybcio static struct qcom_icc_node qns_gnoc_memnoc = {
1097664e8087SKonrad Dybcio 	.name = "qns_gnoc_memnoc",
1098664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_GNOC_MEM_NOC,
1099664e8087SKonrad Dybcio 	.channels = 2,
1100664e8087SKonrad Dybcio 	.buswidth = 32,
1101664e8087SKonrad Dybcio 	.num_links = 1,
1102664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_GNOC_MEM_NOC },
1103664e8087SKonrad Dybcio };
1104664e8087SKonrad Dybcio 
1105664e8087SKonrad Dybcio static struct qcom_icc_node srvc_gnoc = {
1106664e8087SKonrad Dybcio 	.name = "srvc_gnoc",
1107664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_GNOC,
1108664e8087SKonrad Dybcio 	.channels = 1,
1109664e8087SKonrad Dybcio 	.buswidth = 4,
1110664e8087SKonrad Dybcio };
1111664e8087SKonrad Dybcio 
1112664e8087SKonrad Dybcio static struct qcom_icc_node ebi = {
1113664e8087SKonrad Dybcio 	.name = "ebi",
1114664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_EBI1,
1115664e8087SKonrad Dybcio 	.channels = 4,
1116664e8087SKonrad Dybcio 	.buswidth = 4,
1117664e8087SKonrad Dybcio };
1118664e8087SKonrad Dybcio 
1119664e8087SKonrad Dybcio static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = {
1120664e8087SKonrad Dybcio 	.name = "qhs_mdsp_ms_mpu_cfg",
1121664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_MSS_PROC_MS_MPU_CFG,
1122664e8087SKonrad Dybcio 	.channels = 1,
1123664e8087SKonrad Dybcio 	.buswidth = 4,
1124664e8087SKonrad Dybcio };
1125664e8087SKonrad Dybcio 
1126664e8087SKonrad Dybcio static struct qcom_icc_node qns_apps_io = {
1127664e8087SKonrad Dybcio 	.name = "qns_apps_io",
1128664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_MEM_NOC_GNOC,
1129664e8087SKonrad Dybcio 	.channels = 1,
1130664e8087SKonrad Dybcio 	.buswidth = 32,
1131664e8087SKonrad Dybcio };
1132664e8087SKonrad Dybcio 
1133664e8087SKonrad Dybcio static struct qcom_icc_node qns_llcc = {
1134664e8087SKonrad Dybcio 	.name = "qns_llcc",
1135664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_LLCC,
1136664e8087SKonrad Dybcio 	.channels = 4,
1137664e8087SKonrad Dybcio 	.buswidth = 16,
1138664e8087SKonrad Dybcio 	.num_links = 1,
1139664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_LLCC },
1140664e8087SKonrad Dybcio };
1141664e8087SKonrad Dybcio 
1142664e8087SKonrad Dybcio static struct qcom_icc_node qns_memnoc_snoc = {
1143664e8087SKonrad Dybcio 	.name = "qns_memnoc_snoc",
1144664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_MEM_NOC_SNOC,
1145664e8087SKonrad Dybcio 	.channels = 1,
1146664e8087SKonrad Dybcio 	.buswidth = 8,
1147664e8087SKonrad Dybcio 	.num_links = 1,
1148664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_MEM_NOC_SNOC },
1149664e8087SKonrad Dybcio };
1150664e8087SKonrad Dybcio 
1151664e8087SKonrad Dybcio static struct qcom_icc_node srvc_memnoc = {
1152664e8087SKonrad Dybcio 	.name = "srvc_memnoc",
1153664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_MEM_NOC,
1154664e8087SKonrad Dybcio 	.channels = 1,
1155664e8087SKonrad Dybcio 	.buswidth = 4,
1156664e8087SKonrad Dybcio };
1157664e8087SKonrad Dybcio 
1158664e8087SKonrad Dybcio static struct qcom_icc_node qns2_mem_noc = {
1159664e8087SKonrad Dybcio 	.name = "qns2_mem_noc",
1160664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_MNOC_SF_MEM_NOC,
1161664e8087SKonrad Dybcio 	.channels = 1,
1162664e8087SKonrad Dybcio 	.buswidth = 32,
1163664e8087SKonrad Dybcio 	.num_links = 1,
1164664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_MNOC_SF_MEM_NOC },
1165664e8087SKonrad Dybcio };
1166664e8087SKonrad Dybcio 
1167664e8087SKonrad Dybcio static struct qcom_icc_node qns_mem_noc_hf = {
1168664e8087SKonrad Dybcio 	.name = "qns_mem_noc_hf",
1169664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_MNOC_HF_MEM_NOC,
1170664e8087SKonrad Dybcio 	.channels = 2,
1171664e8087SKonrad Dybcio 	.buswidth = 32,
1172664e8087SKonrad Dybcio 	.num_links = 1,
1173664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_MNOC_HF_MEM_NOC },
1174664e8087SKonrad Dybcio };
1175664e8087SKonrad Dybcio 
1176664e8087SKonrad Dybcio static struct qcom_icc_node srvc_mnoc = {
1177664e8087SKonrad Dybcio 	.name = "srvc_mnoc",
1178664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_MNOC,
1179664e8087SKonrad Dybcio 	.channels = 1,
1180664e8087SKonrad Dybcio 	.buswidth = 4,
1181664e8087SKonrad Dybcio };
1182664e8087SKonrad Dybcio 
1183664e8087SKonrad Dybcio static struct qcom_icc_node qhs_apss = {
1184664e8087SKonrad Dybcio 	.name = "qhs_apss",
1185664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_APPSS,
1186664e8087SKonrad Dybcio 	.channels = 1,
1187664e8087SKonrad Dybcio 	.buswidth = 8,
1188664e8087SKonrad Dybcio };
1189664e8087SKonrad Dybcio 
1190664e8087SKonrad Dybcio static struct qcom_icc_node qns_cnoc = {
1191664e8087SKonrad Dybcio 	.name = "qns_cnoc",
1192664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SNOC_CNOC,
1193664e8087SKonrad Dybcio 	.channels = 1,
1194664e8087SKonrad Dybcio 	.buswidth = 8,
1195664e8087SKonrad Dybcio 	.num_links = 1,
1196664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_SNOC_CNOC },
1197664e8087SKonrad Dybcio };
1198664e8087SKonrad Dybcio 
1199664e8087SKonrad Dybcio static struct qcom_icc_node qns_memnoc_gc = {
1200664e8087SKonrad Dybcio 	.name = "qns_memnoc_gc",
1201664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SNOC_MEM_NOC_GC,
1202664e8087SKonrad Dybcio 	.channels = 1,
1203664e8087SKonrad Dybcio 	.buswidth = 8,
1204664e8087SKonrad Dybcio 	.num_links = 1,
1205664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_SNOC_GC_MEM_NOC },
1206664e8087SKonrad Dybcio };
1207664e8087SKonrad Dybcio 
1208664e8087SKonrad Dybcio static struct qcom_icc_node qns_memnoc_sf = {
1209664e8087SKonrad Dybcio 	.name = "qns_memnoc_sf",
1210664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SNOC_MEM_NOC_SF,
1211664e8087SKonrad Dybcio 	.channels = 1,
1212664e8087SKonrad Dybcio 	.buswidth = 16,
1213664e8087SKonrad Dybcio 	.num_links = 1,
1214664e8087SKonrad Dybcio 	.links = { SDM845_MASTER_SNOC_SF_MEM_NOC },
1215664e8087SKonrad Dybcio };
1216664e8087SKonrad Dybcio 
1217664e8087SKonrad Dybcio static struct qcom_icc_node qxs_imem = {
1218664e8087SKonrad Dybcio 	.name = "qxs_imem",
1219664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_IMEM,
1220664e8087SKonrad Dybcio 	.channels = 1,
1221664e8087SKonrad Dybcio 	.buswidth = 8,
1222664e8087SKonrad Dybcio };
1223664e8087SKonrad Dybcio 
1224664e8087SKonrad Dybcio static struct qcom_icc_node qxs_pcie = {
1225664e8087SKonrad Dybcio 	.name = "qxs_pcie",
1226664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PCIE_0,
1227664e8087SKonrad Dybcio 	.channels = 1,
1228664e8087SKonrad Dybcio 	.buswidth = 8,
1229664e8087SKonrad Dybcio };
1230664e8087SKonrad Dybcio 
1231664e8087SKonrad Dybcio static struct qcom_icc_node qxs_pcie_gen3 = {
1232664e8087SKonrad Dybcio 	.name = "qxs_pcie_gen3",
1233664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PCIE_1,
1234664e8087SKonrad Dybcio 	.channels = 1,
1235664e8087SKonrad Dybcio 	.buswidth = 8,
1236664e8087SKonrad Dybcio };
1237664e8087SKonrad Dybcio 
1238664e8087SKonrad Dybcio static struct qcom_icc_node qxs_pimem = {
1239664e8087SKonrad Dybcio 	.name = "qxs_pimem",
1240664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_PIMEM,
1241664e8087SKonrad Dybcio 	.channels = 1,
1242664e8087SKonrad Dybcio 	.buswidth = 8,
1243664e8087SKonrad Dybcio };
1244664e8087SKonrad Dybcio 
1245664e8087SKonrad Dybcio static struct qcom_icc_node srvc_snoc = {
1246664e8087SKonrad Dybcio 	.name = "srvc_snoc",
1247664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_SERVICE_SNOC,
1248664e8087SKonrad Dybcio 	.channels = 1,
1249664e8087SKonrad Dybcio 	.buswidth = 4,
1250664e8087SKonrad Dybcio };
1251664e8087SKonrad Dybcio 
1252664e8087SKonrad Dybcio static struct qcom_icc_node xs_qdss_stm = {
1253664e8087SKonrad Dybcio 	.name = "xs_qdss_stm",
1254664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_QDSS_STM,
1255664e8087SKonrad Dybcio 	.channels = 1,
1256664e8087SKonrad Dybcio 	.buswidth = 4,
1257664e8087SKonrad Dybcio };
1258664e8087SKonrad Dybcio 
1259664e8087SKonrad Dybcio static struct qcom_icc_node xs_sys_tcu_cfg = {
1260664e8087SKonrad Dybcio 	.name = "xs_sys_tcu_cfg",
1261664e8087SKonrad Dybcio 	.id = SDM845_SLAVE_TCU,
1262664e8087SKonrad Dybcio 	.channels = 1,
1263664e8087SKonrad Dybcio 	.buswidth = 8,
1264664e8087SKonrad Dybcio };
1265aae57773SDavid Dai 
126635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_acv = {
126735f490c5SKonrad Dybcio 	.name = "ACV",
1268*a6fe6665SKonrad Dybcio 	.enable_mask = BIT(3),
126935f490c5SKonrad Dybcio 	.keepalive = false,
127035f490c5SKonrad Dybcio 	.num_nodes = 1,
127135f490c5SKonrad Dybcio 	.nodes = { &ebi },
127235f490c5SKonrad Dybcio };
127335f490c5SKonrad Dybcio 
127435f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mc0 = {
127535f490c5SKonrad Dybcio 	.name = "MC0",
127635f490c5SKonrad Dybcio 	.keepalive = true,
127735f490c5SKonrad Dybcio 	.num_nodes = 1,
127835f490c5SKonrad Dybcio 	.nodes = { &ebi },
127935f490c5SKonrad Dybcio };
128035f490c5SKonrad Dybcio 
128135f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh0 = {
128235f490c5SKonrad Dybcio 	.name = "SH0",
128335f490c5SKonrad Dybcio 	.keepalive = true,
128435f490c5SKonrad Dybcio 	.num_nodes = 1,
128535f490c5SKonrad Dybcio 	.nodes = { &qns_llcc },
128635f490c5SKonrad Dybcio };
128735f490c5SKonrad Dybcio 
128835f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm0 = {
128935f490c5SKonrad Dybcio 	.name = "MM0",
129035f490c5SKonrad Dybcio 	.keepalive = false,
129135f490c5SKonrad Dybcio 	.num_nodes = 1,
129235f490c5SKonrad Dybcio 	.nodes = { &qns_mem_noc_hf },
129335f490c5SKonrad Dybcio };
129435f490c5SKonrad Dybcio 
129535f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh1 = {
129635f490c5SKonrad Dybcio 	.name = "SH1",
129735f490c5SKonrad Dybcio 	.keepalive = false,
129835f490c5SKonrad Dybcio 	.num_nodes = 1,
129935f490c5SKonrad Dybcio 	.nodes = { &qns_apps_io },
130035f490c5SKonrad Dybcio };
130135f490c5SKonrad Dybcio 
130235f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm1 = {
130335f490c5SKonrad Dybcio 	.name = "MM1",
130435f490c5SKonrad Dybcio 	.keepalive = true,
130535f490c5SKonrad Dybcio 	.num_nodes = 7,
130635f490c5SKonrad Dybcio 	.nodes = { &qxm_camnoc_hf0_uncomp,
130735f490c5SKonrad Dybcio 		   &qxm_camnoc_hf1_uncomp,
130835f490c5SKonrad Dybcio 		   &qxm_camnoc_sf_uncomp,
130935f490c5SKonrad Dybcio 		   &qxm_camnoc_hf0,
131035f490c5SKonrad Dybcio 		   &qxm_camnoc_hf1,
131135f490c5SKonrad Dybcio 		   &qxm_mdp0,
131235f490c5SKonrad Dybcio 		   &qxm_mdp1
131335f490c5SKonrad Dybcio 	},
131435f490c5SKonrad Dybcio };
131535f490c5SKonrad Dybcio 
131635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh2 = {
131735f490c5SKonrad Dybcio 	.name = "SH2",
131835f490c5SKonrad Dybcio 	.keepalive = false,
131935f490c5SKonrad Dybcio 	.num_nodes = 1,
132035f490c5SKonrad Dybcio 	.nodes = { &qns_memnoc_snoc },
132135f490c5SKonrad Dybcio };
132235f490c5SKonrad Dybcio 
132335f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm2 = {
132435f490c5SKonrad Dybcio 	.name = "MM2",
132535f490c5SKonrad Dybcio 	.keepalive = false,
132635f490c5SKonrad Dybcio 	.num_nodes = 1,
132735f490c5SKonrad Dybcio 	.nodes = { &qns2_mem_noc },
132835f490c5SKonrad Dybcio };
132935f490c5SKonrad Dybcio 
133035f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh3 = {
133135f490c5SKonrad Dybcio 	.name = "SH3",
133235f490c5SKonrad Dybcio 	.keepalive = false,
133335f490c5SKonrad Dybcio 	.num_nodes = 1,
133435f490c5SKonrad Dybcio 	.nodes = { &acm_tcu },
133535f490c5SKonrad Dybcio };
133635f490c5SKonrad Dybcio 
133735f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm3 = {
133835f490c5SKonrad Dybcio 	.name = "MM3",
133935f490c5SKonrad Dybcio 	.keepalive = false,
134035f490c5SKonrad Dybcio 	.num_nodes = 5,
134135f490c5SKonrad Dybcio 	.nodes = { &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9 },
134235f490c5SKonrad Dybcio };
134335f490c5SKonrad Dybcio 
134435f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh5 = {
134535f490c5SKonrad Dybcio 	.name = "SH5",
134635f490c5SKonrad Dybcio 	.keepalive = false,
134735f490c5SKonrad Dybcio 	.num_nodes = 1,
134835f490c5SKonrad Dybcio 	.nodes = { &qnm_apps },
134935f490c5SKonrad Dybcio };
135035f490c5SKonrad Dybcio 
135135f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn0 = {
135235f490c5SKonrad Dybcio 	.name = "SN0",
135335f490c5SKonrad Dybcio 	.keepalive = true,
135435f490c5SKonrad Dybcio 	.num_nodes = 1,
135535f490c5SKonrad Dybcio 	.nodes = { &qns_memnoc_sf },
135635f490c5SKonrad Dybcio };
135735f490c5SKonrad Dybcio 
135835f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_ce0 = {
135935f490c5SKonrad Dybcio 	.name = "CE0",
136035f490c5SKonrad Dybcio 	.keepalive = false,
136135f490c5SKonrad Dybcio 	.num_nodes = 1,
136235f490c5SKonrad Dybcio 	.nodes = { &qxm_crypto },
136335f490c5SKonrad Dybcio };
136435f490c5SKonrad Dybcio 
136535f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_cn0 = {
136635f490c5SKonrad Dybcio 	.name = "CN0",
136735f490c5SKonrad Dybcio 	.keepalive = false,
136835f490c5SKonrad Dybcio 	.num_nodes = 47,
136935f490c5SKonrad Dybcio 	.nodes = { &qhm_spdm,
137035f490c5SKonrad Dybcio 		   &qhm_tic,
137135f490c5SKonrad Dybcio 		   &qnm_snoc,
137235f490c5SKonrad Dybcio 		   &xm_qdss_dap,
137335f490c5SKonrad Dybcio 		   &qhs_a1_noc_cfg,
137435f490c5SKonrad Dybcio 		   &qhs_a2_noc_cfg,
137535f490c5SKonrad Dybcio 		   &qhs_aop,
137635f490c5SKonrad Dybcio 		   &qhs_aoss,
137735f490c5SKonrad Dybcio 		   &qhs_camera_cfg,
137835f490c5SKonrad Dybcio 		   &qhs_clk_ctl,
137935f490c5SKonrad Dybcio 		   &qhs_compute_dsp_cfg,
138035f490c5SKonrad Dybcio 		   &qhs_cpr_cx,
138135f490c5SKonrad Dybcio 		   &qhs_crypto0_cfg,
138235f490c5SKonrad Dybcio 		   &qhs_dcc_cfg,
138335f490c5SKonrad Dybcio 		   &qhs_ddrss_cfg,
138435f490c5SKonrad Dybcio 		   &qhs_display_cfg,
138535f490c5SKonrad Dybcio 		   &qhs_glm,
138635f490c5SKonrad Dybcio 		   &qhs_gpuss_cfg,
138735f490c5SKonrad Dybcio 		   &qhs_imem_cfg,
138835f490c5SKonrad Dybcio 		   &qhs_ipa,
138935f490c5SKonrad Dybcio 		   &qhs_mnoc_cfg,
139035f490c5SKonrad Dybcio 		   &qhs_pcie0_cfg,
139135f490c5SKonrad Dybcio 		   &qhs_pcie_gen3_cfg,
139235f490c5SKonrad Dybcio 		   &qhs_pdm,
139335f490c5SKonrad Dybcio 		   &qhs_phy_refgen_south,
139435f490c5SKonrad Dybcio 		   &qhs_pimem_cfg,
139535f490c5SKonrad Dybcio 		   &qhs_prng,
139635f490c5SKonrad Dybcio 		   &qhs_qdss_cfg,
139735f490c5SKonrad Dybcio 		   &qhs_qupv3_north,
139835f490c5SKonrad Dybcio 		   &qhs_qupv3_south,
139935f490c5SKonrad Dybcio 		   &qhs_sdc2,
140035f490c5SKonrad Dybcio 		   &qhs_sdc4,
140135f490c5SKonrad Dybcio 		   &qhs_snoc_cfg,
140235f490c5SKonrad Dybcio 		   &qhs_spdm,
140335f490c5SKonrad Dybcio 		   &qhs_spss_cfg,
140435f490c5SKonrad Dybcio 		   &qhs_tcsr,
140535f490c5SKonrad Dybcio 		   &qhs_tlmm_north,
140635f490c5SKonrad Dybcio 		   &qhs_tlmm_south,
140735f490c5SKonrad Dybcio 		   &qhs_tsif,
140835f490c5SKonrad Dybcio 		   &qhs_ufs_card_cfg,
140935f490c5SKonrad Dybcio 		   &qhs_ufs_mem_cfg,
141035f490c5SKonrad Dybcio 		   &qhs_usb3_0,
141135f490c5SKonrad Dybcio 		   &qhs_usb3_1,
141235f490c5SKonrad Dybcio 		   &qhs_venus_cfg,
141335f490c5SKonrad Dybcio 		   &qhs_vsense_ctrl_cfg,
141435f490c5SKonrad Dybcio 		   &qns_cnoc_a2noc,
141535f490c5SKonrad Dybcio 		   &srvc_cnoc
141635f490c5SKonrad Dybcio 	},
141735f490c5SKonrad Dybcio };
141835f490c5SKonrad Dybcio 
141935f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_qup0 = {
142035f490c5SKonrad Dybcio 	.name = "QUP0",
142135f490c5SKonrad Dybcio 	.keepalive = false,
142235f490c5SKonrad Dybcio 	.num_nodes = 2,
142335f490c5SKonrad Dybcio 	.nodes = { &qhm_qup1, &qhm_qup2 },
142435f490c5SKonrad Dybcio };
142535f490c5SKonrad Dybcio 
142635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn1 = {
142735f490c5SKonrad Dybcio 	.name = "SN1",
142835f490c5SKonrad Dybcio 	.keepalive = false,
142935f490c5SKonrad Dybcio 	.num_nodes = 1,
143035f490c5SKonrad Dybcio 	.nodes = { &qxs_imem },
143135f490c5SKonrad Dybcio };
143235f490c5SKonrad Dybcio 
143335f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn2 = {
143435f490c5SKonrad Dybcio 	.name = "SN2",
143535f490c5SKonrad Dybcio 	.keepalive = false,
143635f490c5SKonrad Dybcio 	.num_nodes = 1,
143735f490c5SKonrad Dybcio 	.nodes = { &qns_memnoc_gc },
143835f490c5SKonrad Dybcio };
143935f490c5SKonrad Dybcio 
144035f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn3 = {
144135f490c5SKonrad Dybcio 	.name = "SN3",
144235f490c5SKonrad Dybcio 	.keepalive = false,
144335f490c5SKonrad Dybcio 	.num_nodes = 1,
144435f490c5SKonrad Dybcio 	.nodes = { &qns_cnoc },
144535f490c5SKonrad Dybcio };
144635f490c5SKonrad Dybcio 
144735f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn4 = {
144835f490c5SKonrad Dybcio 	.name = "SN4",
144935f490c5SKonrad Dybcio 	.keepalive = false,
145035f490c5SKonrad Dybcio 	.num_nodes = 1,
145135f490c5SKonrad Dybcio 	.nodes = { &qxm_pimem },
145235f490c5SKonrad Dybcio };
145335f490c5SKonrad Dybcio 
145435f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn5 = {
145535f490c5SKonrad Dybcio 	.name = "SN5",
145635f490c5SKonrad Dybcio 	.keepalive = false,
145735f490c5SKonrad Dybcio 	.num_nodes = 1,
145835f490c5SKonrad Dybcio 	.nodes = { &xs_qdss_stm },
145935f490c5SKonrad Dybcio };
146035f490c5SKonrad Dybcio 
146135f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn6 = {
146235f490c5SKonrad Dybcio 	.name = "SN6",
146335f490c5SKonrad Dybcio 	.keepalive = false,
146435f490c5SKonrad Dybcio 	.num_nodes = 3,
146535f490c5SKonrad Dybcio 	.nodes = { &qhs_apss, &srvc_snoc, &xs_sys_tcu_cfg },
146635f490c5SKonrad Dybcio };
146735f490c5SKonrad Dybcio 
146835f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn7 = {
146935f490c5SKonrad Dybcio 	.name = "SN7",
147035f490c5SKonrad Dybcio 	.keepalive = false,
147135f490c5SKonrad Dybcio 	.num_nodes = 1,
147235f490c5SKonrad Dybcio 	.nodes = { &qxs_pcie },
147335f490c5SKonrad Dybcio };
147435f490c5SKonrad Dybcio 
147535f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn8 = {
147635f490c5SKonrad Dybcio 	.name = "SN8",
147735f490c5SKonrad Dybcio 	.keepalive = false,
147835f490c5SKonrad Dybcio 	.num_nodes = 1,
147935f490c5SKonrad Dybcio 	.nodes = { &qxs_pcie_gen3 },
148035f490c5SKonrad Dybcio };
148135f490c5SKonrad Dybcio 
148235f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn9 = {
148335f490c5SKonrad Dybcio 	.name = "SN9",
148435f490c5SKonrad Dybcio 	.keepalive = false,
148535f490c5SKonrad Dybcio 	.num_nodes = 2,
148635f490c5SKonrad Dybcio 	.nodes = { &srvc_aggre1_noc, &qnm_aggre1_noc },
148735f490c5SKonrad Dybcio };
148835f490c5SKonrad Dybcio 
148935f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn11 = {
149035f490c5SKonrad Dybcio 	.name = "SN11",
149135f490c5SKonrad Dybcio 	.keepalive = false,
149235f490c5SKonrad Dybcio 	.num_nodes = 2,
149335f490c5SKonrad Dybcio 	.nodes = { &srvc_aggre2_noc, &qnm_aggre2_noc },
149435f490c5SKonrad Dybcio };
149535f490c5SKonrad Dybcio 
149635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn12 = {
149735f490c5SKonrad Dybcio 	.name = "SN12",
149835f490c5SKonrad Dybcio 	.keepalive = false,
149935f490c5SKonrad Dybcio 	.num_nodes = 2,
150035f490c5SKonrad Dybcio 	.nodes = { &qnm_gladiator_sodv, &xm_gic },
150135f490c5SKonrad Dybcio };
150235f490c5SKonrad Dybcio 
150335f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn14 = {
150435f490c5SKonrad Dybcio 	.name = "SN14",
150535f490c5SKonrad Dybcio 	.keepalive = false,
150635f490c5SKonrad Dybcio 	.num_nodes = 1,
150735f490c5SKonrad Dybcio 	.nodes = { &qnm_pcie_anoc },
150835f490c5SKonrad Dybcio };
150935f490c5SKonrad Dybcio 
151035f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn15 = {
151135f490c5SKonrad Dybcio 	.name = "SN15",
151235f490c5SKonrad Dybcio 	.keepalive = false,
151335f490c5SKonrad Dybcio 	.num_nodes = 1,
151435f490c5SKonrad Dybcio 	.nodes = { &qnm_memnoc },
151535f490c5SKonrad Dybcio };
1516aae57773SDavid Dai 
15177123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
1518aae57773SDavid Dai 	&bcm_sn9,
1519cd5fc457SGeorgi Djakov 	&bcm_qup0,
1520b5d2f741SDavid Dai };
1521b5d2f741SDavid Dai 
15222ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = {
1523b5d2f741SDavid Dai 	[MASTER_A1NOC_CFG] = &qhm_a1noc_cfg,
1524b5d2f741SDavid Dai 	[MASTER_TSIF] = &qhm_tsif,
1525b5d2f741SDavid Dai 	[MASTER_SDCC_2] = &xm_sdc2,
1526b5d2f741SDavid Dai 	[MASTER_SDCC_4] = &xm_sdc4,
1527b5d2f741SDavid Dai 	[MASTER_UFS_CARD] = &xm_ufs_card,
1528b5d2f741SDavid Dai 	[MASTER_UFS_MEM] = &xm_ufs_mem,
1529aae57773SDavid Dai 	[MASTER_PCIE_0] = &xm_pcie_0,
1530aae57773SDavid Dai 	[SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc,
1531aae57773SDavid Dai 	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
1532aae57773SDavid Dai 	[SLAVE_ANOC_PCIE_A1NOC_SNOC] = &qns_pcie_a1noc_snoc,
1533cd5fc457SGeorgi Djakov 	[MASTER_QUP_1] = &qhm_qup1,
1534aae57773SDavid Dai };
1535aae57773SDavid Dai 
15365409e0ccSChenTao static const struct qcom_icc_desc sdm845_aggre1_noc = {
1537aae57773SDavid Dai 	.nodes = aggre1_noc_nodes,
1538aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
1539aae57773SDavid Dai 	.bcms = aggre1_noc_bcms,
1540aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
1541aae57773SDavid Dai };
1542aae57773SDavid Dai 
15437123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
1544aae57773SDavid Dai 	&bcm_ce0,
1545aae57773SDavid Dai 	&bcm_sn11,
1546aae57773SDavid Dai 	&bcm_qup0,
1547aae57773SDavid Dai };
1548aae57773SDavid Dai 
15492ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = {
1550aae57773SDavid Dai 	[MASTER_A2NOC_CFG] = &qhm_a2noc_cfg,
1551aae57773SDavid Dai 	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
1552aae57773SDavid Dai 	[MASTER_CNOC_A2NOC] = &qnm_cnoc,
1553aae57773SDavid Dai 	[MASTER_CRYPTO] = &qxm_crypto,
1554aae57773SDavid Dai 	[MASTER_IPA] = &qxm_ipa,
1555aae57773SDavid Dai 	[MASTER_PCIE_1] = &xm_pcie3_1,
1556aae57773SDavid Dai 	[MASTER_QDSS_ETR] = &xm_qdss_etr,
1557b5d2f741SDavid Dai 	[MASTER_USB3_0] = &xm_usb3_0,
1558b5d2f741SDavid Dai 	[MASTER_USB3_1] = &xm_usb3_1,
1559aae57773SDavid Dai 	[SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc,
1560aae57773SDavid Dai 	[SLAVE_ANOC_PCIE_SNOC] = &qns_pcie_snoc,
1561aae57773SDavid Dai 	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
1562cd5fc457SGeorgi Djakov 	[MASTER_QUP_2] = &qhm_qup2,
1563aae57773SDavid Dai };
1564aae57773SDavid Dai 
15655409e0ccSChenTao static const struct qcom_icc_desc sdm845_aggre2_noc = {
1566aae57773SDavid Dai 	.nodes = aggre2_noc_nodes,
1567aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
1568aae57773SDavid Dai 	.bcms = aggre2_noc_bcms,
1569aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
1570aae57773SDavid Dai };
1571aae57773SDavid Dai 
15727123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = {
1573aae57773SDavid Dai 	&bcm_cn0,
1574aae57773SDavid Dai };
1575aae57773SDavid Dai 
15762ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = {
1577aae57773SDavid Dai 	[MASTER_SPDM] = &qhm_spdm,
1578aae57773SDavid Dai 	[MASTER_TIC] = &qhm_tic,
1579aae57773SDavid Dai 	[MASTER_SNOC_CNOC] = &qnm_snoc,
1580aae57773SDavid Dai 	[MASTER_QDSS_DAP] = &xm_qdss_dap,
1581b5d2f741SDavid Dai 	[SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg,
1582b5d2f741SDavid Dai 	[SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg,
1583b5d2f741SDavid Dai 	[SLAVE_AOP] = &qhs_aop,
1584b5d2f741SDavid Dai 	[SLAVE_AOSS] = &qhs_aoss,
1585b5d2f741SDavid Dai 	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
1586b5d2f741SDavid Dai 	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
1587b5d2f741SDavid Dai 	[SLAVE_CDSP_CFG] = &qhs_compute_dsp_cfg,
1588b5d2f741SDavid Dai 	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
1589b5d2f741SDavid Dai 	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
1590b5d2f741SDavid Dai 	[SLAVE_DCC_CFG] = &qhs_dcc_cfg,
1591b5d2f741SDavid Dai 	[SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg,
1592b5d2f741SDavid Dai 	[SLAVE_DISPLAY_CFG] = &qhs_display_cfg,
1593b5d2f741SDavid Dai 	[SLAVE_GLM] = &qhs_glm,
1594b5d2f741SDavid Dai 	[SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg,
1595b5d2f741SDavid Dai 	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
1596b5d2f741SDavid Dai 	[SLAVE_IPA_CFG] = &qhs_ipa,
1597b5d2f741SDavid Dai 	[SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg,
1598b5d2f741SDavid Dai 	[SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg,
1599b5d2f741SDavid Dai 	[SLAVE_PCIE_1_CFG] = &qhs_pcie_gen3_cfg,
1600b5d2f741SDavid Dai 	[SLAVE_PDM] = &qhs_pdm,
1601b5d2f741SDavid Dai 	[SLAVE_SOUTH_PHY_CFG] = &qhs_phy_refgen_south,
1602b5d2f741SDavid Dai 	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
1603b5d2f741SDavid Dai 	[SLAVE_PRNG] = &qhs_prng,
1604b5d2f741SDavid Dai 	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
1605b5d2f741SDavid Dai 	[SLAVE_BLSP_2] = &qhs_qupv3_north,
1606b5d2f741SDavid Dai 	[SLAVE_BLSP_1] = &qhs_qupv3_south,
1607b5d2f741SDavid Dai 	[SLAVE_SDCC_2] = &qhs_sdc2,
1608b5d2f741SDavid Dai 	[SLAVE_SDCC_4] = &qhs_sdc4,
1609b5d2f741SDavid Dai 	[SLAVE_SNOC_CFG] = &qhs_snoc_cfg,
1610b5d2f741SDavid Dai 	[SLAVE_SPDM_WRAPPER] = &qhs_spdm,
1611b5d2f741SDavid Dai 	[SLAVE_SPSS_CFG] = &qhs_spss_cfg,
1612b5d2f741SDavid Dai 	[SLAVE_TCSR] = &qhs_tcsr,
1613b5d2f741SDavid Dai 	[SLAVE_TLMM_NORTH] = &qhs_tlmm_north,
1614b5d2f741SDavid Dai 	[SLAVE_TLMM_SOUTH] = &qhs_tlmm_south,
1615b5d2f741SDavid Dai 	[SLAVE_TSIF] = &qhs_tsif,
1616b5d2f741SDavid Dai 	[SLAVE_UFS_CARD_CFG] = &qhs_ufs_card_cfg,
1617b5d2f741SDavid Dai 	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
1618b5d2f741SDavid Dai 	[SLAVE_USB3_0] = &qhs_usb3_0,
1619b5d2f741SDavid Dai 	[SLAVE_USB3_1] = &qhs_usb3_1,
1620b5d2f741SDavid Dai 	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
1621b5d2f741SDavid Dai 	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
1622b5d2f741SDavid Dai 	[SLAVE_CNOC_A2NOC] = &qns_cnoc_a2noc,
1623b5d2f741SDavid Dai 	[SLAVE_SERVICE_CNOC] = &srvc_cnoc,
1624b5d2f741SDavid Dai };
1625b5d2f741SDavid Dai 
16265409e0ccSChenTao static const struct qcom_icc_desc sdm845_config_noc = {
1627aae57773SDavid Dai 	.nodes = config_noc_nodes,
1628aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(config_noc_nodes),
1629aae57773SDavid Dai 	.bcms = config_noc_bcms,
1630aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(config_noc_bcms),
1631aae57773SDavid Dai };
1632aae57773SDavid Dai 
16337123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const dc_noc_bcms[] = {
1634aae57773SDavid Dai };
1635aae57773SDavid Dai 
16362ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = {
1637aae57773SDavid Dai 	[MASTER_CNOC_DC_NOC] = &qhm_cnoc,
1638aae57773SDavid Dai 	[SLAVE_LLCC_CFG] = &qhs_llcc,
1639aae57773SDavid Dai 	[SLAVE_MEM_NOC_CFG] = &qhs_memnoc,
1640aae57773SDavid Dai };
1641aae57773SDavid Dai 
16425409e0ccSChenTao static const struct qcom_icc_desc sdm845_dc_noc = {
1643aae57773SDavid Dai 	.nodes = dc_noc_nodes,
1644aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
1645aae57773SDavid Dai 	.bcms = dc_noc_bcms,
1646aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(dc_noc_bcms),
1647aae57773SDavid Dai };
1648aae57773SDavid Dai 
16497123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gladiator_noc_bcms[] = {
1650aae57773SDavid Dai };
1651aae57773SDavid Dai 
16522ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gladiator_noc_nodes[] = {
1653aae57773SDavid Dai 	[MASTER_APPSS_PROC] = &acm_l3,
1654aae57773SDavid Dai 	[MASTER_GNOC_CFG] = &pm_gnoc_cfg,
1655aae57773SDavid Dai 	[SLAVE_GNOC_SNOC] = &qns_gladiator_sodv,
1656aae57773SDavid Dai 	[SLAVE_GNOC_MEM_NOC] = &qns_gnoc_memnoc,
1657aae57773SDavid Dai 	[SLAVE_SERVICE_GNOC] = &srvc_gnoc,
1658aae57773SDavid Dai };
1659aae57773SDavid Dai 
16605409e0ccSChenTao static const struct qcom_icc_desc sdm845_gladiator_noc = {
1661aae57773SDavid Dai 	.nodes = gladiator_noc_nodes,
1662aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(gladiator_noc_nodes),
1663aae57773SDavid Dai 	.bcms = gladiator_noc_bcms,
1664aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(gladiator_noc_bcms),
1665aae57773SDavid Dai };
1666aae57773SDavid Dai 
16677123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mem_noc_bcms[] = {
1668b5d2f741SDavid Dai 	&bcm_mc0,
1669aae57773SDavid Dai 	&bcm_acv,
1670b5d2f741SDavid Dai 	&bcm_sh0,
1671b5d2f741SDavid Dai 	&bcm_sh1,
1672b5d2f741SDavid Dai 	&bcm_sh2,
1673b5d2f741SDavid Dai 	&bcm_sh3,
1674b5d2f741SDavid Dai 	&bcm_sh5,
1675aae57773SDavid Dai };
1676aae57773SDavid Dai 
16772ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mem_noc_nodes[] = {
1678aae57773SDavid Dai 	[MASTER_TCU_0] = &acm_tcu,
1679aae57773SDavid Dai 	[MASTER_MEM_NOC_CFG] = &qhm_memnoc_cfg,
1680aae57773SDavid Dai 	[MASTER_GNOC_MEM_NOC] = &qnm_apps,
1681aae57773SDavid Dai 	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
1682aae57773SDavid Dai 	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
1683aae57773SDavid Dai 	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
1684aae57773SDavid Dai 	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
1685aae57773SDavid Dai 	[MASTER_GFX3D] = &qxm_gpu,
1686aae57773SDavid Dai 	[SLAVE_MSS_PROC_MS_MPU_CFG] = &qhs_mdsp_ms_mpu_cfg,
1687aae57773SDavid Dai 	[SLAVE_MEM_NOC_GNOC] = &qns_apps_io,
1688aae57773SDavid Dai 	[SLAVE_LLCC] = &qns_llcc,
1689aae57773SDavid Dai 	[SLAVE_MEM_NOC_SNOC] = &qns_memnoc_snoc,
1690aae57773SDavid Dai 	[SLAVE_SERVICE_MEM_NOC] = &srvc_memnoc,
1691aae57773SDavid Dai 	[MASTER_LLCC] = &llcc_mc,
1692aae57773SDavid Dai 	[SLAVE_EBI1] = &ebi,
1693aae57773SDavid Dai };
1694aae57773SDavid Dai 
16955409e0ccSChenTao static const struct qcom_icc_desc sdm845_mem_noc = {
1696aae57773SDavid Dai 	.nodes = mem_noc_nodes,
1697aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(mem_noc_nodes),
1698aae57773SDavid Dai 	.bcms = mem_noc_bcms,
1699aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(mem_noc_bcms),
1700aae57773SDavid Dai };
1701aae57773SDavid Dai 
17027123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
1703aae57773SDavid Dai 	&bcm_mm0,
1704aae57773SDavid Dai 	&bcm_mm1,
1705aae57773SDavid Dai 	&bcm_mm2,
1706aae57773SDavid Dai 	&bcm_mm3,
1707aae57773SDavid Dai };
1708aae57773SDavid Dai 
17092ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = {
1710aae57773SDavid Dai 	[MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg,
1711aae57773SDavid Dai 	[MASTER_CAMNOC_HF0] = &qxm_camnoc_hf0,
1712aae57773SDavid Dai 	[MASTER_CAMNOC_HF1] = &qxm_camnoc_hf1,
1713aae57773SDavid Dai 	[MASTER_CAMNOC_SF] = &qxm_camnoc_sf,
1714aae57773SDavid Dai 	[MASTER_MDP0] = &qxm_mdp0,
1715aae57773SDavid Dai 	[MASTER_MDP1] = &qxm_mdp1,
1716aae57773SDavid Dai 	[MASTER_ROTATOR] = &qxm_rot,
1717aae57773SDavid Dai 	[MASTER_VIDEO_P0] = &qxm_venus0,
1718aae57773SDavid Dai 	[MASTER_VIDEO_P1] = &qxm_venus1,
1719aae57773SDavid Dai 	[MASTER_VIDEO_PROC] = &qxm_venus_arm9,
1720aae57773SDavid Dai 	[SLAVE_MNOC_SF_MEM_NOC] = &qns2_mem_noc,
1721aae57773SDavid Dai 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
1722aae57773SDavid Dai 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
1723aae57773SDavid Dai 	[MASTER_CAMNOC_HF0_UNCOMP] = &qxm_camnoc_hf0_uncomp,
1724aae57773SDavid Dai 	[MASTER_CAMNOC_HF1_UNCOMP] = &qxm_camnoc_hf1_uncomp,
1725aae57773SDavid Dai 	[MASTER_CAMNOC_SF_UNCOMP] = &qxm_camnoc_sf_uncomp,
1726aae57773SDavid Dai 	[SLAVE_CAMNOC_UNCOMP] = &qns_camnoc_uncomp,
1727aae57773SDavid Dai };
1728aae57773SDavid Dai 
17295409e0ccSChenTao static const struct qcom_icc_desc sdm845_mmss_noc = {
1730aae57773SDavid Dai 	.nodes = mmss_noc_nodes,
1731aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
1732aae57773SDavid Dai 	.bcms = mmss_noc_bcms,
1733aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
1734aae57773SDavid Dai };
1735aae57773SDavid Dai 
17367123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = {
1737b5d2f741SDavid Dai 	&bcm_sn0,
1738b5d2f741SDavid Dai 	&bcm_sn1,
1739b5d2f741SDavid Dai 	&bcm_sn2,
1740b5d2f741SDavid Dai 	&bcm_sn3,
1741b5d2f741SDavid Dai 	&bcm_sn4,
1742b5d2f741SDavid Dai 	&bcm_sn5,
1743b5d2f741SDavid Dai 	&bcm_sn6,
1744b5d2f741SDavid Dai 	&bcm_sn7,
1745b5d2f741SDavid Dai 	&bcm_sn8,
1746b5d2f741SDavid Dai 	&bcm_sn9,
1747b5d2f741SDavid Dai 	&bcm_sn11,
1748b5d2f741SDavid Dai 	&bcm_sn12,
1749b5d2f741SDavid Dai 	&bcm_sn14,
1750b5d2f741SDavid Dai 	&bcm_sn15,
1751b5d2f741SDavid Dai };
1752b5d2f741SDavid Dai 
17532ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = {
1754aae57773SDavid Dai 	[MASTER_SNOC_CFG] = &qhm_snoc_cfg,
1755aae57773SDavid Dai 	[MASTER_A1NOC_SNOC] = &qnm_aggre1_noc,
1756aae57773SDavid Dai 	[MASTER_A2NOC_SNOC] = &qnm_aggre2_noc,
1757aae57773SDavid Dai 	[MASTER_GNOC_SNOC] = &qnm_gladiator_sodv,
1758aae57773SDavid Dai 	[MASTER_MEM_NOC_SNOC] = &qnm_memnoc,
1759aae57773SDavid Dai 	[MASTER_ANOC_PCIE_SNOC] = &qnm_pcie_anoc,
1760aae57773SDavid Dai 	[MASTER_PIMEM] = &qxm_pimem,
1761aae57773SDavid Dai 	[MASTER_GIC] = &xm_gic,
1762aae57773SDavid Dai 	[SLAVE_APPSS] = &qhs_apss,
1763aae57773SDavid Dai 	[SLAVE_SNOC_CNOC] = &qns_cnoc,
1764aae57773SDavid Dai 	[SLAVE_SNOC_MEM_NOC_GC] = &qns_memnoc_gc,
1765aae57773SDavid Dai 	[SLAVE_SNOC_MEM_NOC_SF] = &qns_memnoc_sf,
1766aae57773SDavid Dai 	[SLAVE_IMEM] = &qxs_imem,
1767aae57773SDavid Dai 	[SLAVE_PCIE_0] = &qxs_pcie,
1768aae57773SDavid Dai 	[SLAVE_PCIE_1] = &qxs_pcie_gen3,
1769aae57773SDavid Dai 	[SLAVE_PIMEM] = &qxs_pimem,
1770aae57773SDavid Dai 	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
1771aae57773SDavid Dai 	[SLAVE_QDSS_STM] = &xs_qdss_stm,
1772aae57773SDavid Dai 	[SLAVE_TCU] = &xs_sys_tcu_cfg,
1773b5d2f741SDavid Dai };
1774b5d2f741SDavid Dai 
17755409e0ccSChenTao static const struct qcom_icc_desc sdm845_system_noc = {
1776aae57773SDavid Dai 	.nodes = system_noc_nodes,
1777aae57773SDavid Dai 	.num_nodes = ARRAY_SIZE(system_noc_nodes),
1778aae57773SDavid Dai 	.bcms = system_noc_bcms,
1779aae57773SDavid Dai 	.num_bcms = ARRAY_SIZE(system_noc_bcms),
1780aae57773SDavid Dai };
1781b5d2f741SDavid Dai 
1782b5d2f741SDavid Dai static const struct of_device_id qnoc_of_match[] = {
1783aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-aggre1-noc",
1784aae57773SDavid Dai 	  .data = &sdm845_aggre1_noc},
1785aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-aggre2-noc",
1786aae57773SDavid Dai 	  .data = &sdm845_aggre2_noc},
1787aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-config-noc",
1788aae57773SDavid Dai 	  .data = &sdm845_config_noc},
1789aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-dc-noc",
1790aae57773SDavid Dai 	  .data = &sdm845_dc_noc},
1791aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-gladiator-noc",
1792aae57773SDavid Dai 	  .data = &sdm845_gladiator_noc},
1793aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-mem-noc",
1794aae57773SDavid Dai 	  .data = &sdm845_mem_noc},
1795aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-mmss-noc",
1796aae57773SDavid Dai 	  .data = &sdm845_mmss_noc},
1797aae57773SDavid Dai 	{ .compatible = "qcom,sdm845-system-noc",
1798aae57773SDavid Dai 	  .data = &sdm845_system_noc},
1799aae57773SDavid Dai 	{ }
1800b5d2f741SDavid Dai };
1801b5d2f741SDavid Dai MODULE_DEVICE_TABLE(of, qnoc_of_match);
1802b5d2f741SDavid Dai 
1803b5d2f741SDavid Dai static struct platform_driver qnoc_driver = {
1804789a39adSMike Tipton 	.probe = qcom_icc_rpmh_probe,
1805789a39adSMike Tipton 	.remove = qcom_icc_rpmh_remove,
1806b5d2f741SDavid Dai 	.driver = {
1807b5d2f741SDavid Dai 		.name = "qnoc-sdm845",
1808b5d2f741SDavid Dai 		.of_match_table = qnoc_of_match,
18097d3b0b0dSGeorgi Djakov 		.sync_state = icc_sync_state,
1810b5d2f741SDavid Dai 	},
1811b5d2f741SDavid Dai };
1812b5d2f741SDavid Dai module_platform_driver(qnoc_driver);
1813b5d2f741SDavid Dai 
1814b5d2f741SDavid Dai MODULE_AUTHOR("David Dai <daidavid1@codeaurora.org>");
1815b5d2f741SDavid Dai MODULE_DESCRIPTION("Qualcomm sdm845 NoC driver");
1816b5d2f741SDavid Dai MODULE_LICENSE("GPL v2");
1817