xref: /openbmc/linux/drivers/interconnect/qcom/sc8280xp.c (revision b97d6790d03b763eca08847a9a5869a4291b9f9a)
1f29dabdaSBjorn Andersson // SPDX-License-Identifier: GPL-2.0-only
2f29dabdaSBjorn Andersson /*
3f29dabdaSBjorn Andersson  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4f29dabdaSBjorn Andersson  * Copyright (c) 2022, Linaro Ltd
5f29dabdaSBjorn Andersson  */
6f29dabdaSBjorn Andersson 
7f29dabdaSBjorn Andersson #include <linux/device.h>
8f29dabdaSBjorn Andersson #include <linux/interconnect.h>
9f29dabdaSBjorn Andersson #include <linux/interconnect-provider.h>
10cff66aceSRob Herring #include <linux/mod_devicetable.h>
11f29dabdaSBjorn Andersson #include <linux/module.h>
12cff66aceSRob Herring #include <linux/platform_device.h>
13f29dabdaSBjorn Andersson #include <dt-bindings/interconnect/qcom,sc8280xp.h>
14f29dabdaSBjorn Andersson 
15f29dabdaSBjorn Andersson #include "bcm-voter.h"
16f29dabdaSBjorn Andersson #include "icc-rpmh.h"
17f29dabdaSBjorn Andersson #include "sc8280xp.h"
18f29dabdaSBjorn Andersson 
19f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_qspi = {
20f29dabdaSBjorn Andersson 	.name = "qhm_qspi",
21f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QSPI_0,
22f29dabdaSBjorn Andersson 	.channels = 1,
23f29dabdaSBjorn Andersson 	.buswidth = 4,
24f29dabdaSBjorn Andersson 	.num_links = 1,
25f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
26f29dabdaSBjorn Andersson };
27f29dabdaSBjorn Andersson 
28f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_qup1 = {
29f29dabdaSBjorn Andersson 	.name = "qhm_qup1",
30f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QUP_1,
31f29dabdaSBjorn Andersson 	.channels = 1,
32f29dabdaSBjorn Andersson 	.buswidth = 4,
33f29dabdaSBjorn Andersson 	.num_links = 1,
34f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
35f29dabdaSBjorn Andersson };
36f29dabdaSBjorn Andersson 
37f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_qup2 = {
38f29dabdaSBjorn Andersson 	.name = "qhm_qup2",
39f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QUP_2,
40f29dabdaSBjorn Andersson 	.channels = 1,
41f29dabdaSBjorn Andersson 	.buswidth = 4,
42f29dabdaSBjorn Andersson 	.num_links = 1,
43f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
44f29dabdaSBjorn Andersson };
45f29dabdaSBjorn Andersson 
46f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_a1noc_cfg = {
47f29dabdaSBjorn Andersson 	.name = "qnm_a1noc_cfg",
48f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_A1NOC_CFG,
49f29dabdaSBjorn Andersson 	.channels = 1,
50f29dabdaSBjorn Andersson 	.buswidth = 4,
51f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_A1NOC },
52f29dabdaSBjorn Andersson };
53f29dabdaSBjorn Andersson 
54f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_ipa = {
55f29dabdaSBjorn Andersson 	.name = "qxm_ipa",
56f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_IPA,
57f29dabdaSBjorn Andersson 	.channels = 1,
58f29dabdaSBjorn Andersson 	.buswidth = 8,
59f29dabdaSBjorn Andersson 	.num_links = 1,
60f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
61f29dabdaSBjorn Andersson };
62f29dabdaSBjorn Andersson 
63f29dabdaSBjorn Andersson static struct qcom_icc_node xm_emac_1 = {
64f29dabdaSBjorn Andersson 	.name = "xm_emac_1",
65f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_EMAC_1,
66f29dabdaSBjorn Andersson 	.channels = 1,
67f29dabdaSBjorn Andersson 	.buswidth = 8,
68f29dabdaSBjorn Andersson 	.num_links = 1,
69f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
70f29dabdaSBjorn Andersson };
71f29dabdaSBjorn Andersson 
72f29dabdaSBjorn Andersson static struct qcom_icc_node xm_sdc4 = {
73f29dabdaSBjorn Andersson 	.name = "xm_sdc4",
74f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SDCC_4,
75f29dabdaSBjorn Andersson 	.channels = 1,
76f29dabdaSBjorn Andersson 	.buswidth = 8,
77f29dabdaSBjorn Andersson 	.num_links = 1,
78f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
79f29dabdaSBjorn Andersson };
80f29dabdaSBjorn Andersson 
81f29dabdaSBjorn Andersson static struct qcom_icc_node xm_ufs_mem = {
82f29dabdaSBjorn Andersson 	.name = "xm_ufs_mem",
83f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_UFS_MEM,
84f29dabdaSBjorn Andersson 	.channels = 1,
85f29dabdaSBjorn Andersson 	.buswidth = 8,
86f29dabdaSBjorn Andersson 	.num_links = 1,
87f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A1NOC_SNOC },
88f29dabdaSBjorn Andersson };
89f29dabdaSBjorn Andersson 
90f29dabdaSBjorn Andersson static struct qcom_icc_node xm_usb3_0 = {
91f29dabdaSBjorn Andersson 	.name = "xm_usb3_0",
92f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_USB3_0,
93f29dabdaSBjorn Andersson 	.channels = 1,
94f29dabdaSBjorn Andersson 	.buswidth = 8,
95f29dabdaSBjorn Andersson 	.num_links = 1,
96f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_USB_NOC_SNOC },
97f29dabdaSBjorn Andersson };
98f29dabdaSBjorn Andersson 
99f29dabdaSBjorn Andersson static struct qcom_icc_node xm_usb3_1 = {
100f29dabdaSBjorn Andersson 	.name = "xm_usb3_1",
101f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_USB3_1,
102f29dabdaSBjorn Andersson 	.channels = 1,
103f29dabdaSBjorn Andersson 	.buswidth = 8,
104f29dabdaSBjorn Andersson 	.num_links = 1,
105f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_USB_NOC_SNOC },
106f29dabdaSBjorn Andersson };
107f29dabdaSBjorn Andersson 
108f29dabdaSBjorn Andersson static struct qcom_icc_node xm_usb3_mp = {
109f29dabdaSBjorn Andersson 	.name = "xm_usb3_mp",
110f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_USB3_MP,
111f29dabdaSBjorn Andersson 	.channels = 1,
112f29dabdaSBjorn Andersson 	.buswidth = 16,
113f29dabdaSBjorn Andersson 	.num_links = 1,
114f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_USB_NOC_SNOC },
115f29dabdaSBjorn Andersson };
116f29dabdaSBjorn Andersson 
117f29dabdaSBjorn Andersson static struct qcom_icc_node xm_usb4_host0 = {
118f29dabdaSBjorn Andersson 	.name = "xm_usb4_host0",
119f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_USB4_0,
120f29dabdaSBjorn Andersson 	.channels = 1,
121f29dabdaSBjorn Andersson 	.buswidth = 16,
122f29dabdaSBjorn Andersson 	.num_links = 1,
123f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_USB_NOC_SNOC },
124f29dabdaSBjorn Andersson };
125f29dabdaSBjorn Andersson 
126f29dabdaSBjorn Andersson static struct qcom_icc_node xm_usb4_host1 = {
127f29dabdaSBjorn Andersson 	.name = "xm_usb4_host1",
128f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_USB4_1,
129f29dabdaSBjorn Andersson 	.channels = 1,
130f29dabdaSBjorn Andersson 	.buswidth = 16,
131f29dabdaSBjorn Andersson 	.num_links = 1,
132f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_USB_NOC_SNOC },
133f29dabdaSBjorn Andersson };
134f29dabdaSBjorn Andersson 
135f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_qdss_bam = {
136f29dabdaSBjorn Andersson 	.name = "qhm_qdss_bam",
137f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QDSS_BAM,
138f29dabdaSBjorn Andersson 	.channels = 1,
139f29dabdaSBjorn Andersson 	.buswidth = 4,
140f29dabdaSBjorn Andersson 	.num_links = 1,
141f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
142f29dabdaSBjorn Andersson };
143f29dabdaSBjorn Andersson 
144f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_qup0 = {
145f29dabdaSBjorn Andersson 	.name = "qhm_qup0",
146f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QUP_0,
147f29dabdaSBjorn Andersson 	.channels = 1,
148f29dabdaSBjorn Andersson 	.buswidth = 4,
149f29dabdaSBjorn Andersson 	.num_links = 1,
150f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
151f29dabdaSBjorn Andersson };
152f29dabdaSBjorn Andersson 
153f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_a2noc_cfg = {
154f29dabdaSBjorn Andersson 	.name = "qnm_a2noc_cfg",
155f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_A2NOC_CFG,
156f29dabdaSBjorn Andersson 	.channels = 1,
157f29dabdaSBjorn Andersson 	.buswidth = 4,
158f29dabdaSBjorn Andersson 	.num_links = 1,
159f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_A2NOC },
160f29dabdaSBjorn Andersson };
161f29dabdaSBjorn Andersson 
162f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_crypto = {
163f29dabdaSBjorn Andersson 	.name = "qxm_crypto",
164f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CRYPTO,
165f29dabdaSBjorn Andersson 	.channels = 1,
166f29dabdaSBjorn Andersson 	.buswidth = 8,
167f29dabdaSBjorn Andersson 	.num_links = 1,
168f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
169f29dabdaSBjorn Andersson };
170f29dabdaSBjorn Andersson 
171f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_sensorss_q6 = {
172f29dabdaSBjorn Andersson 	.name = "qxm_sensorss_q6",
173f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SENSORS_PROC,
174f29dabdaSBjorn Andersson 	.channels = 1,
175f29dabdaSBjorn Andersson 	.buswidth = 8,
176f29dabdaSBjorn Andersson 	.num_links = 1,
177f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
178f29dabdaSBjorn Andersson };
179f29dabdaSBjorn Andersson 
180f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_sp = {
181f29dabdaSBjorn Andersson 	.name = "qxm_sp",
182f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SP,
183f29dabdaSBjorn Andersson 	.channels = 1,
184f29dabdaSBjorn Andersson 	.buswidth = 8,
185f29dabdaSBjorn Andersson 	.num_links = 1,
186f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
187f29dabdaSBjorn Andersson };
188f29dabdaSBjorn Andersson 
189f29dabdaSBjorn Andersson static struct qcom_icc_node xm_emac_0 = {
190f29dabdaSBjorn Andersson 	.name = "xm_emac_0",
191f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_EMAC,
192f29dabdaSBjorn Andersson 	.channels = 1,
193f29dabdaSBjorn Andersson 	.buswidth = 8,
194f29dabdaSBjorn Andersson 	.num_links = 1,
195f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
196f29dabdaSBjorn Andersson };
197f29dabdaSBjorn Andersson 
198f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_0 = {
199f29dabdaSBjorn Andersson 	.name = "xm_pcie3_0",
200f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_0,
201f29dabdaSBjorn Andersson 	.channels = 1,
202f29dabdaSBjorn Andersson 	.buswidth = 16,
203f29dabdaSBjorn Andersson 	.num_links = 1,
204f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
205f29dabdaSBjorn Andersson };
206f29dabdaSBjorn Andersson 
207f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_1 = {
208f29dabdaSBjorn Andersson 	.name = "xm_pcie3_1",
209f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_1,
210f29dabdaSBjorn Andersson 	.channels = 1,
211f29dabdaSBjorn Andersson 	.buswidth = 16,
212f29dabdaSBjorn Andersson 	.num_links = 1,
213f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
214f29dabdaSBjorn Andersson };
215f29dabdaSBjorn Andersson 
216f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_2a = {
217f29dabdaSBjorn Andersson 	.name = "xm_pcie3_2a",
218f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_2A,
219f29dabdaSBjorn Andersson 	.channels = 1,
220f29dabdaSBjorn Andersson 	.buswidth = 16,
221f29dabdaSBjorn Andersson 	.num_links = 1,
222f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
223f29dabdaSBjorn Andersson };
224f29dabdaSBjorn Andersson 
225f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_2b = {
226f29dabdaSBjorn Andersson 	.name = "xm_pcie3_2b",
227f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_2B,
228f29dabdaSBjorn Andersson 	.channels = 1,
229f29dabdaSBjorn Andersson 	.buswidth = 8,
230f29dabdaSBjorn Andersson 	.num_links = 1,
231f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
232f29dabdaSBjorn Andersson };
233f29dabdaSBjorn Andersson 
234f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_3a = {
235f29dabdaSBjorn Andersson 	.name = "xm_pcie3_3a",
236f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_3A,
237f29dabdaSBjorn Andersson 	.channels = 1,
238f29dabdaSBjorn Andersson 	.buswidth = 16,
239f29dabdaSBjorn Andersson 	.num_links = 1,
240f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
241f29dabdaSBjorn Andersson };
242f29dabdaSBjorn Andersson 
243f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_3b = {
244f29dabdaSBjorn Andersson 	.name = "xm_pcie3_3b",
245f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_3B,
246f29dabdaSBjorn Andersson 	.channels = 1,
247f29dabdaSBjorn Andersson 	.buswidth = 8,
248f29dabdaSBjorn Andersson 	.num_links = 1,
249f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
250f29dabdaSBjorn Andersson };
251f29dabdaSBjorn Andersson 
252f29dabdaSBjorn Andersson static struct qcom_icc_node xm_pcie3_4 = {
253f29dabdaSBjorn Andersson 	.name = "xm_pcie3_4",
254f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_4,
255f29dabdaSBjorn Andersson 	.channels = 1,
256f29dabdaSBjorn Andersson 	.buswidth = 8,
257f29dabdaSBjorn Andersson 	.num_links = 1,
258f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC },
259f29dabdaSBjorn Andersson };
260f29dabdaSBjorn Andersson 
261f29dabdaSBjorn Andersson static struct qcom_icc_node xm_qdss_etr = {
262f29dabdaSBjorn Andersson 	.name = "xm_qdss_etr",
263f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QDSS_ETR,
264f29dabdaSBjorn Andersson 	.channels = 1,
265f29dabdaSBjorn Andersson 	.buswidth = 8,
266f29dabdaSBjorn Andersson 	.num_links = 1,
267f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
268f29dabdaSBjorn Andersson };
269f29dabdaSBjorn Andersson 
270f29dabdaSBjorn Andersson static struct qcom_icc_node xm_sdc2 = {
271f29dabdaSBjorn Andersson 	.name = "xm_sdc2",
272f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SDCC_2,
273f29dabdaSBjorn Andersson 	.channels = 1,
274f29dabdaSBjorn Andersson 	.buswidth = 8,
275f29dabdaSBjorn Andersson 	.num_links = 1,
276f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
277f29dabdaSBjorn Andersson };
278f29dabdaSBjorn Andersson 
279f29dabdaSBjorn Andersson static struct qcom_icc_node xm_ufs_card = {
280f29dabdaSBjorn Andersson 	.name = "xm_ufs_card",
281f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_UFS_CARD,
282f29dabdaSBjorn Andersson 	.channels = 1,
283f29dabdaSBjorn Andersson 	.buswidth = 8,
284f29dabdaSBjorn Andersson 	.num_links = 1,
285f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_A2NOC_SNOC },
286f29dabdaSBjorn Andersson };
287f29dabdaSBjorn Andersson 
288f29dabdaSBjorn Andersson static struct qcom_icc_node qup0_core_master = {
289f29dabdaSBjorn Andersson 	.name = "qup0_core_master",
290f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QUP_CORE_0,
291f29dabdaSBjorn Andersson 	.channels = 1,
292f29dabdaSBjorn Andersson 	.buswidth = 4,
293f29dabdaSBjorn Andersson 	.num_links = 1,
294f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_QUP_CORE_0 },
295f29dabdaSBjorn Andersson };
296f29dabdaSBjorn Andersson 
297f29dabdaSBjorn Andersson static struct qcom_icc_node qup1_core_master = {
298f29dabdaSBjorn Andersson 	.name = "qup1_core_master",
299f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QUP_CORE_1,
300f29dabdaSBjorn Andersson 	.channels = 1,
301f29dabdaSBjorn Andersson 	.buswidth = 4,
302f29dabdaSBjorn Andersson 	.num_links = 1,
303f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_QUP_CORE_1 },
304f29dabdaSBjorn Andersson };
305f29dabdaSBjorn Andersson 
306f29dabdaSBjorn Andersson static struct qcom_icc_node qup2_core_master = {
307f29dabdaSBjorn Andersson 	.name = "qup2_core_master",
308f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_QUP_CORE_2,
309f29dabdaSBjorn Andersson 	.channels = 1,
310f29dabdaSBjorn Andersson 	.buswidth = 4,
311f29dabdaSBjorn Andersson 	.num_links = 1,
312f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_QUP_CORE_2 },
313f29dabdaSBjorn Andersson };
314f29dabdaSBjorn Andersson 
315f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_gemnoc_cnoc = {
316f29dabdaSBjorn Andersson 	.name = "qnm_gemnoc_cnoc",
317f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_GEM_NOC_CNOC,
318f29dabdaSBjorn Andersson 	.channels = 1,
319f29dabdaSBjorn Andersson 	.buswidth = 16,
320f29dabdaSBjorn Andersson 	.num_links = 76,
321f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_AHB2PHY_0,
322f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_AHB2PHY_1,
323f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_AHB2PHY_2,
324f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_AOSS,
325f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_APPSS,
326f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CAMERA_CFG,
327f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CLK_CTL,
328f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CDSP_CFG,
329f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CDSP1_CFG,
330f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_RBCPR_CX_CFG,
331f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_RBCPR_MMCX_CFG,
332f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_RBCPR_MX_CFG,
333f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CPR_NSPCX,
334f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CRYPTO_0_CFG,
335f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CX_RDPM,
336f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_DCC_CFG,
337f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_DISPLAY_CFG,
338f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_DISPLAY1_CFG,
339f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_EMAC_CFG,
340f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_EMAC1_CFG,
341f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_GFX3D_CFG,
342f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_HWKM,
343f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_IMEM_CFG,
344f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_IPA_CFG,
345f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_IPC_ROUTER_CFG,
346f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LPASS,
347f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_MX_RDPM,
348f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_MXC_RDPM,
349f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_0_CFG,
350f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_1_CFG,
351f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_2A_CFG,
352f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_2B_CFG,
353f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_3A_CFG,
354f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_3B_CFG,
355f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_4_CFG,
356f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_RSC_CFG,
357f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PDM,
358f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PIMEM_CFG,
359f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PKA_WRAPPER_CFG,
360f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PMU_WRAPPER_CFG,
361f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_QDSS_CFG,
362f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_QSPI_0,
363f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_QUP_0,
364f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_QUP_1,
365f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_QUP_2,
366f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SDCC_2,
367f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SDCC_4,
368f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SECURITY,
369f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SMMUV3_CFG,
370f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SMSS_CFG,
371f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SPSS_CFG,
372f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_TCSR,
373f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_TLMM,
374f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_UFS_CARD_CFG,
375f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_UFS_MEM_CFG,
376f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_USB3_0,
377f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_USB3_1,
378f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_USB3_MP,
379f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_USB4_0,
380f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_USB4_1,
381f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_VENUS_CFG,
382f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_VSENSE_CTRL_CFG,
383f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_VSENSE_CTRL_R_CFG,
384f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_A1NOC_CFG,
385f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_A2NOC_CFG,
386f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_ANOC_PCIE_BRIDGE_CFG,
387f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_DDRSS_CFG,
388f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_CNOC_MNOC_CFG,
389f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SNOC_CFG,
390f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SNOC_SF_BRIDGE_CFG,
391f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_IMEM,
392f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PIMEM,
393f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICE_CNOC,
394f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_QDSS_STM,
395f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SMSS,
396f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_TCU
397f29dabdaSBjorn Andersson 	},
398f29dabdaSBjorn Andersson };
399f29dabdaSBjorn Andersson 
400f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_gemnoc_pcie = {
401f29dabdaSBjorn Andersson 	.name = "qnm_gemnoc_pcie",
402f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_GEM_NOC_PCIE_SNOC,
403f29dabdaSBjorn Andersson 	.channels = 1,
404f29dabdaSBjorn Andersson 	.buswidth = 16,
405f29dabdaSBjorn Andersson 	.num_links = 7,
406f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_PCIE_0,
407f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_1,
408f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_2A,
409f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_2B,
410f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_3A,
411f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_3B,
412f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_PCIE_4
413f29dabdaSBjorn Andersson 	},
414f29dabdaSBjorn Andersson };
415f29dabdaSBjorn Andersson 
416f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_cnoc_dc_noc = {
417f29dabdaSBjorn Andersson 	.name = "qnm_cnoc_dc_noc",
418f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CNOC_DC_NOC,
419f29dabdaSBjorn Andersson 	.channels = 1,
420f29dabdaSBjorn Andersson 	.buswidth = 4,
421f29dabdaSBjorn Andersson 	.num_links = 2,
422f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_LLCC_CFG,
423f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_GEM_NOC_CFG
424f29dabdaSBjorn Andersson 	},
425f29dabdaSBjorn Andersson };
426f29dabdaSBjorn Andersson 
427f29dabdaSBjorn Andersson static struct qcom_icc_node alm_gpu_tcu = {
428f29dabdaSBjorn Andersson 	.name = "alm_gpu_tcu",
429f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_GPU_TCU,
430f29dabdaSBjorn Andersson 	.channels = 1,
431f29dabdaSBjorn Andersson 	.buswidth = 8,
432f29dabdaSBjorn Andersson 	.num_links = 2,
433f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
434f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
435f29dabdaSBjorn Andersson 	},
436f29dabdaSBjorn Andersson };
437f29dabdaSBjorn Andersson 
438f29dabdaSBjorn Andersson static struct qcom_icc_node alm_pcie_tcu = {
439f29dabdaSBjorn Andersson 	.name = "alm_pcie_tcu",
440f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PCIE_TCU,
441f29dabdaSBjorn Andersson 	.channels = 1,
442f29dabdaSBjorn Andersson 	.buswidth = 8,
443f29dabdaSBjorn Andersson 	.num_links = 2,
444f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
445f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
446f29dabdaSBjorn Andersson 	},
447f29dabdaSBjorn Andersson };
448f29dabdaSBjorn Andersson 
449f29dabdaSBjorn Andersson static struct qcom_icc_node alm_sys_tcu = {
450f29dabdaSBjorn Andersson 	.name = "alm_sys_tcu",
451f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SYS_TCU,
452f29dabdaSBjorn Andersson 	.channels = 1,
453f29dabdaSBjorn Andersson 	.buswidth = 8,
454f29dabdaSBjorn Andersson 	.num_links = 2,
455f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
456f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
457f29dabdaSBjorn Andersson 	},
458f29dabdaSBjorn Andersson };
459f29dabdaSBjorn Andersson 
460f29dabdaSBjorn Andersson static struct qcom_icc_node chm_apps = {
461f29dabdaSBjorn Andersson 	.name = "chm_apps",
462f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_APPSS_PROC,
463f29dabdaSBjorn Andersson 	.channels = 2,
464f29dabdaSBjorn Andersson 	.buswidth = 32,
465f29dabdaSBjorn Andersson 	.num_links = 3,
466f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
467f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC,
468f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_GEM_NOC_PCIE_CNOC
469f29dabdaSBjorn Andersson 	},
470f29dabdaSBjorn Andersson };
471f29dabdaSBjorn Andersson 
472f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_cmpnoc0 = {
473f29dabdaSBjorn Andersson 	.name = "qnm_cmpnoc0",
474f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_COMPUTE_NOC,
475f29dabdaSBjorn Andersson 	.channels = 2,
476f29dabdaSBjorn Andersson 	.buswidth = 32,
477f29dabdaSBjorn Andersson 	.num_links = 2,
478f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
479f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
480f29dabdaSBjorn Andersson 	},
481f29dabdaSBjorn Andersson };
482f29dabdaSBjorn Andersson 
483f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_cmpnoc1 = {
484f29dabdaSBjorn Andersson 	.name = "qnm_cmpnoc1",
485f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_COMPUTE_NOC_1,
486f29dabdaSBjorn Andersson 	.channels = 2,
487f29dabdaSBjorn Andersson 	.buswidth = 32,
488f29dabdaSBjorn Andersson 	.num_links = 2,
489f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
490f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
491f29dabdaSBjorn Andersson 	},
492f29dabdaSBjorn Andersson };
493f29dabdaSBjorn Andersson 
494f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_gemnoc_cfg = {
495f29dabdaSBjorn Andersson 	.name = "qnm_gemnoc_cfg",
496f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_GEM_NOC_CFG,
497f29dabdaSBjorn Andersson 	.channels = 1,
498f29dabdaSBjorn Andersson 	.buswidth = 4,
499f29dabdaSBjorn Andersson 	.num_links = 3,
500f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_GEM_NOC_1,
501f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICE_GEM_NOC_2,
502f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICE_GEM_NOC
503f29dabdaSBjorn Andersson 	},
504f29dabdaSBjorn Andersson };
505f29dabdaSBjorn Andersson 
506f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_gpu = {
507f29dabdaSBjorn Andersson 	.name = "qnm_gpu",
508f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_GFX3D,
509f29dabdaSBjorn Andersson 	.channels = 4,
510f29dabdaSBjorn Andersson 	.buswidth = 32,
511f29dabdaSBjorn Andersson 	.num_links = 2,
512f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
513f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
514f29dabdaSBjorn Andersson 	},
515f29dabdaSBjorn Andersson };
516f29dabdaSBjorn Andersson 
517f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mnoc_hf = {
518f29dabdaSBjorn Andersson 	.name = "qnm_mnoc_hf",
519f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_MNOC_HF_MEM_NOC,
520f29dabdaSBjorn Andersson 	.channels = 2,
521f29dabdaSBjorn Andersson 	.buswidth = 32,
522f29dabdaSBjorn Andersson 	.num_links = 2,
523f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_LLCC,
524f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_GEM_NOC_PCIE_CNOC
525f29dabdaSBjorn Andersson 	},
526f29dabdaSBjorn Andersson };
527f29dabdaSBjorn Andersson 
528f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mnoc_sf = {
529f29dabdaSBjorn Andersson 	.name = "qnm_mnoc_sf",
530f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_MNOC_SF_MEM_NOC,
531f29dabdaSBjorn Andersson 	.channels = 2,
532f29dabdaSBjorn Andersson 	.buswidth = 32,
533f29dabdaSBjorn Andersson 	.num_links = 2,
534f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
535f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
536f29dabdaSBjorn Andersson 	},
537f29dabdaSBjorn Andersson };
538f29dabdaSBjorn Andersson 
539f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_pcie = {
540f29dabdaSBjorn Andersson 	.name = "qnm_pcie",
541f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_ANOC_PCIE_GEM_NOC,
542f29dabdaSBjorn Andersson 	.channels = 1,
543f29dabdaSBjorn Andersson 	.buswidth = 32,
544f29dabdaSBjorn Andersson 	.num_links = 2,
545f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
546f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC
547f29dabdaSBjorn Andersson 	},
548f29dabdaSBjorn Andersson };
549f29dabdaSBjorn Andersson 
550f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_snoc_gc = {
551f29dabdaSBjorn Andersson 	.name = "qnm_snoc_gc",
552f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SNOC_GC_MEM_NOC,
553f29dabdaSBjorn Andersson 	.channels = 1,
554f29dabdaSBjorn Andersson 	.buswidth = 8,
555f29dabdaSBjorn Andersson 	.num_links = 1,
556f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_LLCC },
557f29dabdaSBjorn Andersson };
558f29dabdaSBjorn Andersson 
559f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_snoc_sf = {
560f29dabdaSBjorn Andersson 	.name = "qnm_snoc_sf",
561f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SNOC_SF_MEM_NOC,
562f29dabdaSBjorn Andersson 	.channels = 1,
563f29dabdaSBjorn Andersson 	.buswidth = 16,
564f29dabdaSBjorn Andersson 	.num_links = 3,
565f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_GEM_NOC_CNOC,
566f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LLCC,
567f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_GEM_NOC_PCIE_CNOC },
568f29dabdaSBjorn Andersson };
569f29dabdaSBjorn Andersson 
570f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_config_noc = {
571f29dabdaSBjorn Andersson 	.name = "qhm_config_noc",
572f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CNOC_LPASS_AG_NOC,
573f29dabdaSBjorn Andersson 	.channels = 1,
574f29dabdaSBjorn Andersson 	.buswidth = 4,
575f29dabdaSBjorn Andersson 	.num_links = 6,
576f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_LPASS_CORE_CFG,
577f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LPASS_LPI_CFG,
578f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LPASS_MPU_CFG,
579f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LPASS_TOP_CFG,
580f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICES_LPASS_AML_NOC,
581f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICE_LPASS_AG_NOC
582f29dabdaSBjorn Andersson 	},
583f29dabdaSBjorn Andersson };
584f29dabdaSBjorn Andersson 
585f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_lpass_dsp = {
586f29dabdaSBjorn Andersson 	.name = "qxm_lpass_dsp",
587f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_LPASS_PROC,
588f29dabdaSBjorn Andersson 	.channels = 1,
589f29dabdaSBjorn Andersson 	.buswidth = 8,
590f29dabdaSBjorn Andersson 	.num_links = 4,
591f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_LPASS_TOP_CFG,
592f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_LPASS_SNOC,
593f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICES_LPASS_AML_NOC,
594f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_SERVICE_LPASS_AG_NOC
595f29dabdaSBjorn Andersson 	},
596f29dabdaSBjorn Andersson };
597f29dabdaSBjorn Andersson 
598f29dabdaSBjorn Andersson static struct qcom_icc_node llcc_mc = {
599f29dabdaSBjorn Andersson 	.name = "llcc_mc",
600f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_LLCC,
601f29dabdaSBjorn Andersson 	.channels = 8,
602f29dabdaSBjorn Andersson 	.buswidth = 4,
603f29dabdaSBjorn Andersson 	.num_links = 1,
604f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_EBI1 },
605f29dabdaSBjorn Andersson };
606f29dabdaSBjorn Andersson 
607f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_camnoc_hf = {
608f29dabdaSBjorn Andersson 	.name = "qnm_camnoc_hf",
609f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CAMNOC_HF,
610f29dabdaSBjorn Andersson 	.channels = 2,
611f29dabdaSBjorn Andersson 	.buswidth = 32,
612f29dabdaSBjorn Andersson 	.num_links = 1,
613f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_HF_MEM_NOC },
614f29dabdaSBjorn Andersson };
615f29dabdaSBjorn Andersson 
616f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mdp0_0 = {
617f29dabdaSBjorn Andersson 	.name = "qnm_mdp0_0",
618f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_MDP0,
619f29dabdaSBjorn Andersson 	.channels = 1,
620f29dabdaSBjorn Andersson 	.buswidth = 32,
621f29dabdaSBjorn Andersson 	.num_links = 1,
622f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_HF_MEM_NOC },
623f29dabdaSBjorn Andersson };
624f29dabdaSBjorn Andersson 
625f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mdp0_1 = {
626f29dabdaSBjorn Andersson 	.name = "qnm_mdp0_1",
627f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_MDP1,
628f29dabdaSBjorn Andersson 	.channels = 1,
629f29dabdaSBjorn Andersson 	.buswidth = 32,
630f29dabdaSBjorn Andersson 	.num_links = 1,
631f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_HF_MEM_NOC },
632f29dabdaSBjorn Andersson };
633f29dabdaSBjorn Andersson 
634f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mdp1_0 = {
635f29dabdaSBjorn Andersson 	.name = "qnm_mdp1_0",
636f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_MDP_CORE1_0,
637f29dabdaSBjorn Andersson 	.channels = 1,
638f29dabdaSBjorn Andersson 	.buswidth = 32,
639f29dabdaSBjorn Andersson 	.num_links = 1,
640f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_HF_MEM_NOC },
641f29dabdaSBjorn Andersson };
642f29dabdaSBjorn Andersson 
643f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mdp1_1 = {
644f29dabdaSBjorn Andersson 	.name = "qnm_mdp1_1",
645f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_MDP_CORE1_1,
646f29dabdaSBjorn Andersson 	.channels = 1,
647f29dabdaSBjorn Andersson 	.buswidth = 32,
648f29dabdaSBjorn Andersson 	.num_links = 1,
649f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_HF_MEM_NOC },
650f29dabdaSBjorn Andersson };
651f29dabdaSBjorn Andersson 
652f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_mnoc_cfg = {
653f29dabdaSBjorn Andersson 	.name = "qnm_mnoc_cfg",
654f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CNOC_MNOC_CFG,
655f29dabdaSBjorn Andersson 	.channels = 1,
656f29dabdaSBjorn Andersson 	.buswidth = 4,
657f29dabdaSBjorn Andersson 	.num_links = 1,
658f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_MNOC },
659f29dabdaSBjorn Andersson };
660f29dabdaSBjorn Andersson 
661f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_rot_0 = {
662f29dabdaSBjorn Andersson 	.name = "qnm_rot_0",
663f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_ROTATOR,
664f29dabdaSBjorn Andersson 	.channels = 1,
665f29dabdaSBjorn Andersson 	.buswidth = 32,
666f29dabdaSBjorn Andersson 	.num_links = 1,
667f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
668f29dabdaSBjorn Andersson };
669f29dabdaSBjorn Andersson 
670f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_rot_1 = {
671f29dabdaSBjorn Andersson 	.name = "qnm_rot_1",
672f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_ROTATOR_1,
673f29dabdaSBjorn Andersson 	.channels = 1,
674f29dabdaSBjorn Andersson 	.buswidth = 32,
675f29dabdaSBjorn Andersson 	.num_links = 1,
676f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
677f29dabdaSBjorn Andersson };
678f29dabdaSBjorn Andersson 
679f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_video0 = {
680f29dabdaSBjorn Andersson 	.name = "qnm_video0",
681f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_VIDEO_P0,
682f29dabdaSBjorn Andersson 	.channels = 1,
683f29dabdaSBjorn Andersson 	.buswidth = 32,
684f29dabdaSBjorn Andersson 	.num_links = 1,
685f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
686f29dabdaSBjorn Andersson };
687f29dabdaSBjorn Andersson 
688f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_video1 = {
689f29dabdaSBjorn Andersson 	.name = "qnm_video1",
690f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_VIDEO_P1,
691f29dabdaSBjorn Andersson 	.channels = 1,
692f29dabdaSBjorn Andersson 	.buswidth = 32,
693f29dabdaSBjorn Andersson 	.num_links = 1,
694f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
695f29dabdaSBjorn Andersson };
696f29dabdaSBjorn Andersson 
697f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_video_cvp = {
698f29dabdaSBjorn Andersson 	.name = "qnm_video_cvp",
699f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_VIDEO_PROC,
700f29dabdaSBjorn Andersson 	.channels = 1,
701f29dabdaSBjorn Andersson 	.buswidth = 32,
702f29dabdaSBjorn Andersson 	.num_links = 1,
703f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
704f29dabdaSBjorn Andersson };
705f29dabdaSBjorn Andersson 
706f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_camnoc_icp = {
707f29dabdaSBjorn Andersson 	.name = "qxm_camnoc_icp",
708f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CAMNOC_ICP,
709f29dabdaSBjorn Andersson 	.channels = 1,
710f29dabdaSBjorn Andersson 	.buswidth = 8,
711f29dabdaSBjorn Andersson 	.num_links = 1,
712f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
713f29dabdaSBjorn Andersson };
714f29dabdaSBjorn Andersson 
715f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_camnoc_sf = {
716f29dabdaSBjorn Andersson 	.name = "qxm_camnoc_sf",
717f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CAMNOC_SF,
718f29dabdaSBjorn Andersson 	.channels = 1,
719f29dabdaSBjorn Andersson 	.buswidth = 32,
720f29dabdaSBjorn Andersson 	.num_links = 1,
721f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_MNOC_SF_MEM_NOC },
722f29dabdaSBjorn Andersson };
723f29dabdaSBjorn Andersson 
724f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_nsp_noc_config = {
725f29dabdaSBjorn Andersson 	.name = "qhm_nsp_noc_config",
726f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CDSP_NOC_CFG,
727f29dabdaSBjorn Andersson 	.channels = 1,
728f29dabdaSBjorn Andersson 	.buswidth = 4,
729f29dabdaSBjorn Andersson 	.num_links = 1,
730f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_NSP_NOC },
731f29dabdaSBjorn Andersson };
732f29dabdaSBjorn Andersson 
733f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_nsp = {
734f29dabdaSBjorn Andersson 	.name = "qxm_nsp",
735f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CDSP_PROC,
736f29dabdaSBjorn Andersson 	.channels = 2,
737f29dabdaSBjorn Andersson 	.buswidth = 32,
738f29dabdaSBjorn Andersson 	.num_links = 2,
739f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_CDSP_MEM_NOC,
740f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_NSP_XFR
741f29dabdaSBjorn Andersson 	},
742f29dabdaSBjorn Andersson };
743f29dabdaSBjorn Andersson 
744f29dabdaSBjorn Andersson static struct qcom_icc_node qhm_nspb_noc_config = {
745f29dabdaSBjorn Andersson 	.name = "qhm_nspb_noc_config",
746f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CDSPB_NOC_CFG,
747f29dabdaSBjorn Andersson 	.channels = 1,
748f29dabdaSBjorn Andersson 	.buswidth = 4,
749f29dabdaSBjorn Andersson 	.num_links = 1,
750f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_NSPB_NOC },
751f29dabdaSBjorn Andersson };
752f29dabdaSBjorn Andersson 
753f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_nspb = {
754f29dabdaSBjorn Andersson 	.name = "qxm_nspb",
755f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_CDSP_PROC_B,
756f29dabdaSBjorn Andersson 	.channels = 2,
757f29dabdaSBjorn Andersson 	.buswidth = 32,
758f29dabdaSBjorn Andersson 	.num_links = 2,
759f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_CDSPB_MEM_NOC,
760f29dabdaSBjorn Andersson 		   SC8280XP_SLAVE_NSPB_XFR
761f29dabdaSBjorn Andersson 	},
762f29dabdaSBjorn Andersson };
763f29dabdaSBjorn Andersson 
764f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_aggre1_noc = {
765f29dabdaSBjorn Andersson 	.name = "qnm_aggre1_noc",
766f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_A1NOC_SNOC,
767f29dabdaSBjorn Andersson 	.channels = 1,
768f29dabdaSBjorn Andersson 	.buswidth = 16,
769f29dabdaSBjorn Andersson 	.num_links = 1,
770f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SNOC_GEM_NOC_SF },
771f29dabdaSBjorn Andersson };
772f29dabdaSBjorn Andersson 
773f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_aggre2_noc = {
774f29dabdaSBjorn Andersson 	.name = "qnm_aggre2_noc",
775f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_A2NOC_SNOC,
776f29dabdaSBjorn Andersson 	.channels = 1,
777f29dabdaSBjorn Andersson 	.buswidth = 16,
778f29dabdaSBjorn Andersson 	.num_links = 1,
779f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SNOC_GEM_NOC_SF },
780f29dabdaSBjorn Andersson };
781f29dabdaSBjorn Andersson 
782f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_aggre_usb_noc = {
783f29dabdaSBjorn Andersson 	.name = "qnm_aggre_usb_noc",
784f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_USB_NOC_SNOC,
785f29dabdaSBjorn Andersson 	.channels = 1,
786f29dabdaSBjorn Andersson 	.buswidth = 16,
787f29dabdaSBjorn Andersson 	.num_links = 1,
788f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SNOC_GEM_NOC_SF },
789f29dabdaSBjorn Andersson };
790f29dabdaSBjorn Andersson 
791f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_lpass_noc = {
792f29dabdaSBjorn Andersson 	.name = "qnm_lpass_noc",
793f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_LPASS_ANOC,
794f29dabdaSBjorn Andersson 	.channels = 1,
795f29dabdaSBjorn Andersson 	.buswidth = 16,
796f29dabdaSBjorn Andersson 	.num_links = 1,
797f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SNOC_GEM_NOC_SF },
798f29dabdaSBjorn Andersson };
799f29dabdaSBjorn Andersson 
800f29dabdaSBjorn Andersson static struct qcom_icc_node qnm_snoc_cfg = {
801f29dabdaSBjorn Andersson 	.name = "qnm_snoc_cfg",
802f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_SNOC_CFG,
803f29dabdaSBjorn Andersson 	.channels = 1,
804f29dabdaSBjorn Andersson 	.buswidth = 4,
805f29dabdaSBjorn Andersson 	.num_links = 1,
806f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SERVICE_SNOC },
807f29dabdaSBjorn Andersson };
808f29dabdaSBjorn Andersson 
809f29dabdaSBjorn Andersson static struct qcom_icc_node qxm_pimem = {
810f29dabdaSBjorn Andersson 	.name = "qxm_pimem",
811f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_PIMEM,
812f29dabdaSBjorn Andersson 	.channels = 1,
813f29dabdaSBjorn Andersson 	.buswidth = 8,
814f29dabdaSBjorn Andersson 	.num_links = 1,
815f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SNOC_GEM_NOC_GC },
816f29dabdaSBjorn Andersson };
817f29dabdaSBjorn Andersson 
818f29dabdaSBjorn Andersson static struct qcom_icc_node xm_gic = {
819f29dabdaSBjorn Andersson 	.name = "xm_gic",
820f29dabdaSBjorn Andersson 	.id = SC8280XP_MASTER_GIC,
821f29dabdaSBjorn Andersson 	.channels = 1,
822f29dabdaSBjorn Andersson 	.buswidth = 8,
823f29dabdaSBjorn Andersson 	.num_links = 1,
824f29dabdaSBjorn Andersson 	.links = { SC8280XP_SLAVE_SNOC_GEM_NOC_GC },
825f29dabdaSBjorn Andersson };
826f29dabdaSBjorn Andersson 
827f29dabdaSBjorn Andersson static struct qcom_icc_node qns_a1noc_snoc = {
828f29dabdaSBjorn Andersson 	.name = "qns_a1noc_snoc",
829f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_A1NOC_SNOC,
830f29dabdaSBjorn Andersson 	.channels = 1,
831f29dabdaSBjorn Andersson 	.buswidth = 16,
832f29dabdaSBjorn Andersson 	.num_links = 1,
833f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_A1NOC_SNOC },
834f29dabdaSBjorn Andersson };
835f29dabdaSBjorn Andersson 
836f29dabdaSBjorn Andersson static struct qcom_icc_node qns_aggre_usb_snoc = {
837f29dabdaSBjorn Andersson 	.name = "qns_aggre_usb_snoc",
838f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_USB_NOC_SNOC,
839f29dabdaSBjorn Andersson 	.channels = 1,
840f29dabdaSBjorn Andersson 	.buswidth = 16,
841f29dabdaSBjorn Andersson 	.num_links = 1,
842f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_USB_NOC_SNOC },
843f29dabdaSBjorn Andersson };
844f29dabdaSBjorn Andersson 
845f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_aggre1_noc = {
846f29dabdaSBjorn Andersson 	.name = "srvc_aggre1_noc",
847f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_A1NOC,
848f29dabdaSBjorn Andersson 	.channels = 1,
849f29dabdaSBjorn Andersson 	.buswidth = 4,
850f29dabdaSBjorn Andersson };
851f29dabdaSBjorn Andersson 
852f29dabdaSBjorn Andersson static struct qcom_icc_node qns_a2noc_snoc = {
853f29dabdaSBjorn Andersson 	.name = "qns_a2noc_snoc",
854f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_A2NOC_SNOC,
855f29dabdaSBjorn Andersson 	.channels = 1,
856f29dabdaSBjorn Andersson 	.buswidth = 16,
857f29dabdaSBjorn Andersson 	.num_links = 1,
858f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_A2NOC_SNOC },
859f29dabdaSBjorn Andersson };
860f29dabdaSBjorn Andersson 
861f29dabdaSBjorn Andersson static struct qcom_icc_node qns_pcie_gem_noc = {
862f29dabdaSBjorn Andersson 	.name = "qns_pcie_gem_noc",
863f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC,
864f29dabdaSBjorn Andersson 	.channels = 1,
865f29dabdaSBjorn Andersson 	.buswidth = 32,
866f29dabdaSBjorn Andersson 	.num_links = 1,
867f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_ANOC_PCIE_GEM_NOC },
868f29dabdaSBjorn Andersson };
869f29dabdaSBjorn Andersson 
870f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_aggre2_noc = {
871f29dabdaSBjorn Andersson 	.name = "srvc_aggre2_noc",
872f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_A2NOC,
873f29dabdaSBjorn Andersson 	.channels = 1,
874f29dabdaSBjorn Andersson 	.buswidth = 4,
875f29dabdaSBjorn Andersson };
876f29dabdaSBjorn Andersson 
877f29dabdaSBjorn Andersson static struct qcom_icc_node qup0_core_slave = {
878f29dabdaSBjorn Andersson 	.name = "qup0_core_slave",
879f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QUP_CORE_0,
880f29dabdaSBjorn Andersson 	.channels = 1,
881f29dabdaSBjorn Andersson 	.buswidth = 4,
882f29dabdaSBjorn Andersson };
883f29dabdaSBjorn Andersson 
884f29dabdaSBjorn Andersson static struct qcom_icc_node qup1_core_slave = {
885f29dabdaSBjorn Andersson 	.name = "qup1_core_slave",
886f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QUP_CORE_1,
887f29dabdaSBjorn Andersson 	.channels = 1,
888f29dabdaSBjorn Andersson 	.buswidth = 4,
889f29dabdaSBjorn Andersson };
890f29dabdaSBjorn Andersson 
891f29dabdaSBjorn Andersson static struct qcom_icc_node qup2_core_slave = {
892f29dabdaSBjorn Andersson 	.name = "qup2_core_slave",
893f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QUP_CORE_2,
894f29dabdaSBjorn Andersson 	.channels = 1,
895f29dabdaSBjorn Andersson 	.buswidth = 4,
896f29dabdaSBjorn Andersson };
897f29dabdaSBjorn Andersson 
898f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ahb2phy0 = {
899f29dabdaSBjorn Andersson 	.name = "qhs_ahb2phy0",
900f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_AHB2PHY_0,
901f29dabdaSBjorn Andersson 	.channels = 1,
902f29dabdaSBjorn Andersson 	.buswidth = 4,
903f29dabdaSBjorn Andersson };
904f29dabdaSBjorn Andersson 
905f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ahb2phy1 = {
906f29dabdaSBjorn Andersson 	.name = "qhs_ahb2phy1",
907f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_AHB2PHY_1,
908f29dabdaSBjorn Andersson 	.channels = 1,
909f29dabdaSBjorn Andersson 	.buswidth = 4,
910f29dabdaSBjorn Andersson };
911f29dabdaSBjorn Andersson 
912f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ahb2phy2 = {
913f29dabdaSBjorn Andersson 	.name = "qhs_ahb2phy2",
914f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_AHB2PHY_2,
915f29dabdaSBjorn Andersson 	.channels = 1,
916f29dabdaSBjorn Andersson 	.buswidth = 4,
917f29dabdaSBjorn Andersson };
918f29dabdaSBjorn Andersson 
919f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_aoss = {
920f29dabdaSBjorn Andersson 	.name = "qhs_aoss",
921f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_AOSS,
922f29dabdaSBjorn Andersson 	.channels = 1,
923f29dabdaSBjorn Andersson 	.buswidth = 4,
924f29dabdaSBjorn Andersson };
925f29dabdaSBjorn Andersson 
926f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_apss = {
927f29dabdaSBjorn Andersson 	.name = "qhs_apss",
928f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_APPSS,
929f29dabdaSBjorn Andersson 	.channels = 1,
930f29dabdaSBjorn Andersson 	.buswidth = 8,
931f29dabdaSBjorn Andersson };
932f29dabdaSBjorn Andersson 
933f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_camera_cfg = {
934f29dabdaSBjorn Andersson 	.name = "qhs_camera_cfg",
935f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CAMERA_CFG,
936f29dabdaSBjorn Andersson 	.channels = 1,
937f29dabdaSBjorn Andersson 	.buswidth = 4,
938f29dabdaSBjorn Andersson };
939f29dabdaSBjorn Andersson 
940f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_clk_ctl = {
941f29dabdaSBjorn Andersson 	.name = "qhs_clk_ctl",
942f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CLK_CTL,
943f29dabdaSBjorn Andersson 	.channels = 1,
944f29dabdaSBjorn Andersson 	.buswidth = 4,
945f29dabdaSBjorn Andersson };
946f29dabdaSBjorn Andersson 
947f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_compute0_cfg = {
948f29dabdaSBjorn Andersson 	.name = "qhs_compute0_cfg",
949f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CDSP_CFG,
950f29dabdaSBjorn Andersson 	.channels = 1,
951f29dabdaSBjorn Andersson 	.buswidth = 4,
952f29dabdaSBjorn Andersson 	.num_links = 1,
953f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_CDSP_NOC_CFG },
954f29dabdaSBjorn Andersson };
955f29dabdaSBjorn Andersson 
956f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_compute1_cfg = {
957f29dabdaSBjorn Andersson 	.name = "qhs_compute1_cfg",
958f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CDSP1_CFG,
959f29dabdaSBjorn Andersson 	.channels = 1,
960f29dabdaSBjorn Andersson 	.buswidth = 4,
961f29dabdaSBjorn Andersson 	.num_links = 1,
962f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_CDSPB_NOC_CFG },
963f29dabdaSBjorn Andersson };
964f29dabdaSBjorn Andersson 
965f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_cpr_cx = {
966f29dabdaSBjorn Andersson 	.name = "qhs_cpr_cx",
967f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_RBCPR_CX_CFG,
968f29dabdaSBjorn Andersson 	.channels = 1,
969f29dabdaSBjorn Andersson 	.buswidth = 4,
970f29dabdaSBjorn Andersson };
971f29dabdaSBjorn Andersson 
972f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_cpr_mmcx = {
973f29dabdaSBjorn Andersson 	.name = "qhs_cpr_mmcx",
974f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_RBCPR_MMCX_CFG,
975f29dabdaSBjorn Andersson 	.channels = 1,
976f29dabdaSBjorn Andersson 	.buswidth = 4,
977f29dabdaSBjorn Andersson };
978f29dabdaSBjorn Andersson 
979f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_cpr_mx = {
980f29dabdaSBjorn Andersson 	.name = "qhs_cpr_mx",
981f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_RBCPR_MX_CFG,
982f29dabdaSBjorn Andersson 	.channels = 1,
983f29dabdaSBjorn Andersson 	.buswidth = 4,
984f29dabdaSBjorn Andersson };
985f29dabdaSBjorn Andersson 
986f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_cpr_nspcx = {
987f29dabdaSBjorn Andersson 	.name = "qhs_cpr_nspcx",
988f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CPR_NSPCX,
989f29dabdaSBjorn Andersson 	.channels = 1,
990f29dabdaSBjorn Andersson 	.buswidth = 4,
991f29dabdaSBjorn Andersson };
992f29dabdaSBjorn Andersson 
993f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_crypto0_cfg = {
994f29dabdaSBjorn Andersson 	.name = "qhs_crypto0_cfg",
995f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CRYPTO_0_CFG,
996f29dabdaSBjorn Andersson 	.channels = 1,
997f29dabdaSBjorn Andersson 	.buswidth = 4,
998f29dabdaSBjorn Andersson };
999f29dabdaSBjorn Andersson 
1000f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_cx_rdpm = {
1001f29dabdaSBjorn Andersson 	.name = "qhs_cx_rdpm",
1002f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CX_RDPM,
1003f29dabdaSBjorn Andersson 	.channels = 1,
1004f29dabdaSBjorn Andersson 	.buswidth = 4,
1005f29dabdaSBjorn Andersson };
1006f29dabdaSBjorn Andersson 
1007f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_dcc_cfg = {
1008f29dabdaSBjorn Andersson 	.name = "qhs_dcc_cfg",
1009f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_DCC_CFG,
1010f29dabdaSBjorn Andersson 	.channels = 1,
1011f29dabdaSBjorn Andersson 	.buswidth = 4,
1012f29dabdaSBjorn Andersson };
1013f29dabdaSBjorn Andersson 
1014f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_display0_cfg = {
1015f29dabdaSBjorn Andersson 	.name = "qhs_display0_cfg",
1016f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_DISPLAY_CFG,
1017f29dabdaSBjorn Andersson 	.channels = 1,
1018f29dabdaSBjorn Andersson 	.buswidth = 4,
1019f29dabdaSBjorn Andersson };
1020f29dabdaSBjorn Andersson 
1021f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_display1_cfg = {
1022f29dabdaSBjorn Andersson 	.name = "qhs_display1_cfg",
1023f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_DISPLAY1_CFG,
1024f29dabdaSBjorn Andersson 	.channels = 1,
1025f29dabdaSBjorn Andersson 	.buswidth = 4,
1026f29dabdaSBjorn Andersson };
1027f29dabdaSBjorn Andersson 
1028f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_emac0_cfg = {
1029f29dabdaSBjorn Andersson 	.name = "qhs_emac0_cfg",
1030f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_EMAC_CFG,
1031f29dabdaSBjorn Andersson 	.channels = 1,
1032f29dabdaSBjorn Andersson 	.buswidth = 4,
1033f29dabdaSBjorn Andersson };
1034f29dabdaSBjorn Andersson 
1035f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_emac1_cfg = {
1036f29dabdaSBjorn Andersson 	.name = "qhs_emac1_cfg",
1037f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_EMAC1_CFG,
1038f29dabdaSBjorn Andersson 	.channels = 1,
1039f29dabdaSBjorn Andersson 	.buswidth = 4,
1040f29dabdaSBjorn Andersson };
1041f29dabdaSBjorn Andersson 
1042f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_gpuss_cfg = {
1043f29dabdaSBjorn Andersson 	.name = "qhs_gpuss_cfg",
1044f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_GFX3D_CFG,
1045f29dabdaSBjorn Andersson 	.channels = 1,
1046f29dabdaSBjorn Andersson 	.buswidth = 8,
1047f29dabdaSBjorn Andersson };
1048f29dabdaSBjorn Andersson 
1049f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_hwkm = {
1050f29dabdaSBjorn Andersson 	.name = "qhs_hwkm",
1051f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_HWKM,
1052f29dabdaSBjorn Andersson 	.channels = 1,
1053f29dabdaSBjorn Andersson 	.buswidth = 4,
1054f29dabdaSBjorn Andersson };
1055f29dabdaSBjorn Andersson 
1056f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_imem_cfg = {
1057f29dabdaSBjorn Andersson 	.name = "qhs_imem_cfg",
1058f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_IMEM_CFG,
1059f29dabdaSBjorn Andersson 	.channels = 1,
1060f29dabdaSBjorn Andersson 	.buswidth = 4,
1061f29dabdaSBjorn Andersson };
1062f29dabdaSBjorn Andersson 
1063f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ipa = {
1064f29dabdaSBjorn Andersson 	.name = "qhs_ipa",
1065f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_IPA_CFG,
1066f29dabdaSBjorn Andersson 	.channels = 1,
1067f29dabdaSBjorn Andersson 	.buswidth = 4,
1068f29dabdaSBjorn Andersson };
1069f29dabdaSBjorn Andersson 
1070f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ipc_router = {
1071f29dabdaSBjorn Andersson 	.name = "qhs_ipc_router",
1072f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_IPC_ROUTER_CFG,
1073f29dabdaSBjorn Andersson 	.channels = 1,
1074f29dabdaSBjorn Andersson 	.buswidth = 4,
1075f29dabdaSBjorn Andersson };
1076f29dabdaSBjorn Andersson 
1077f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_lpass_cfg = {
1078f29dabdaSBjorn Andersson 	.name = "qhs_lpass_cfg",
1079f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LPASS,
1080f29dabdaSBjorn Andersson 	.channels = 1,
1081f29dabdaSBjorn Andersson 	.buswidth = 4,
1082f29dabdaSBjorn Andersson 	.num_links = 1,
1083f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_CNOC_LPASS_AG_NOC },
1084f29dabdaSBjorn Andersson };
1085f29dabdaSBjorn Andersson 
1086f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_mx_rdpm = {
1087f29dabdaSBjorn Andersson 	.name = "qhs_mx_rdpm",
1088f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_MX_RDPM,
1089f29dabdaSBjorn Andersson 	.channels = 1,
1090f29dabdaSBjorn Andersson 	.buswidth = 4,
1091f29dabdaSBjorn Andersson };
1092f29dabdaSBjorn Andersson 
1093f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_mxc_rdpm = {
1094f29dabdaSBjorn Andersson 	.name = "qhs_mxc_rdpm",
1095f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_MXC_RDPM,
1096f29dabdaSBjorn Andersson 	.channels = 1,
1097f29dabdaSBjorn Andersson 	.buswidth = 4,
1098f29dabdaSBjorn Andersson };
1099f29dabdaSBjorn Andersson 
1100f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie0_cfg = {
1101f29dabdaSBjorn Andersson 	.name = "qhs_pcie0_cfg",
1102f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_0_CFG,
1103f29dabdaSBjorn Andersson 	.channels = 1,
1104f29dabdaSBjorn Andersson 	.buswidth = 4,
1105f29dabdaSBjorn Andersson };
1106f29dabdaSBjorn Andersson 
1107f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie1_cfg = {
1108f29dabdaSBjorn Andersson 	.name = "qhs_pcie1_cfg",
1109f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_1_CFG,
1110f29dabdaSBjorn Andersson 	.channels = 1,
1111f29dabdaSBjorn Andersson 	.buswidth = 4,
1112f29dabdaSBjorn Andersson };
1113f29dabdaSBjorn Andersson 
1114f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie2a_cfg = {
1115f29dabdaSBjorn Andersson 	.name = "qhs_pcie2a_cfg",
1116f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_2A_CFG,
1117f29dabdaSBjorn Andersson 	.channels = 1,
1118f29dabdaSBjorn Andersson 	.buswidth = 4,
1119f29dabdaSBjorn Andersson };
1120f29dabdaSBjorn Andersson 
1121f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie2b_cfg = {
1122f29dabdaSBjorn Andersson 	.name = "qhs_pcie2b_cfg",
1123f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_2B_CFG,
1124f29dabdaSBjorn Andersson 	.channels = 1,
1125f29dabdaSBjorn Andersson 	.buswidth = 4,
1126f29dabdaSBjorn Andersson };
1127f29dabdaSBjorn Andersson 
1128f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie3a_cfg = {
1129f29dabdaSBjorn Andersson 	.name = "qhs_pcie3a_cfg",
1130f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_3A_CFG,
1131f29dabdaSBjorn Andersson 	.channels = 1,
1132f29dabdaSBjorn Andersson 	.buswidth = 4,
1133f29dabdaSBjorn Andersson };
1134f29dabdaSBjorn Andersson 
1135f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie3b_cfg = {
1136f29dabdaSBjorn Andersson 	.name = "qhs_pcie3b_cfg",
1137f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_3B_CFG,
1138f29dabdaSBjorn Andersson 	.channels = 1,
1139f29dabdaSBjorn Andersson 	.buswidth = 4,
1140f29dabdaSBjorn Andersson };
1141f29dabdaSBjorn Andersson 
1142f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie4_cfg = {
1143f29dabdaSBjorn Andersson 	.name = "qhs_pcie4_cfg",
1144f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_4_CFG,
1145f29dabdaSBjorn Andersson 	.channels = 1,
1146f29dabdaSBjorn Andersson 	.buswidth = 4,
1147f29dabdaSBjorn Andersson };
1148f29dabdaSBjorn Andersson 
1149f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pcie_rsc_cfg = {
1150f29dabdaSBjorn Andersson 	.name = "qhs_pcie_rsc_cfg",
1151f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_RSC_CFG,
1152f29dabdaSBjorn Andersson 	.channels = 1,
1153f29dabdaSBjorn Andersson 	.buswidth = 4,
1154f29dabdaSBjorn Andersson };
1155f29dabdaSBjorn Andersson 
1156f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pdm = {
1157f29dabdaSBjorn Andersson 	.name = "qhs_pdm",
1158f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PDM,
1159f29dabdaSBjorn Andersson 	.channels = 1,
1160f29dabdaSBjorn Andersson 	.buswidth = 4,
1161f29dabdaSBjorn Andersson };
1162f29dabdaSBjorn Andersson 
1163f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pimem_cfg = {
1164f29dabdaSBjorn Andersson 	.name = "qhs_pimem_cfg",
1165f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PIMEM_CFG,
1166f29dabdaSBjorn Andersson 	.channels = 1,
1167f29dabdaSBjorn Andersson 	.buswidth = 4,
1168f29dabdaSBjorn Andersson };
1169f29dabdaSBjorn Andersson 
1170f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pka_wrapper_cfg = {
1171f29dabdaSBjorn Andersson 	.name = "qhs_pka_wrapper_cfg",
1172f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PKA_WRAPPER_CFG,
1173f29dabdaSBjorn Andersson 	.channels = 1,
1174f29dabdaSBjorn Andersson 	.buswidth = 4,
1175f29dabdaSBjorn Andersson };
1176f29dabdaSBjorn Andersson 
1177f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_pmu_wrapper_cfg = {
1178f29dabdaSBjorn Andersson 	.name = "qhs_pmu_wrapper_cfg",
1179f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PMU_WRAPPER_CFG,
1180f29dabdaSBjorn Andersson 	.channels = 1,
1181f29dabdaSBjorn Andersson 	.buswidth = 4,
1182f29dabdaSBjorn Andersson };
1183f29dabdaSBjorn Andersson 
1184f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_qdss_cfg = {
1185f29dabdaSBjorn Andersson 	.name = "qhs_qdss_cfg",
1186f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QDSS_CFG,
1187f29dabdaSBjorn Andersson 	.channels = 1,
1188f29dabdaSBjorn Andersson 	.buswidth = 4,
1189f29dabdaSBjorn Andersson };
1190f29dabdaSBjorn Andersson 
1191f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_qspi = {
1192f29dabdaSBjorn Andersson 	.name = "qhs_qspi",
1193f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QSPI_0,
1194f29dabdaSBjorn Andersson 	.channels = 1,
1195f29dabdaSBjorn Andersson 	.buswidth = 4,
1196f29dabdaSBjorn Andersson };
1197f29dabdaSBjorn Andersson 
1198f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_qup0 = {
1199f29dabdaSBjorn Andersson 	.name = "qhs_qup0",
1200f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QUP_0,
1201f29dabdaSBjorn Andersson 	.channels = 1,
1202f29dabdaSBjorn Andersson 	.buswidth = 4,
1203f29dabdaSBjorn Andersson };
1204f29dabdaSBjorn Andersson 
1205f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_qup1 = {
1206f29dabdaSBjorn Andersson 	.name = "qhs_qup1",
1207f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QUP_1,
1208f29dabdaSBjorn Andersson 	.channels = 1,
1209f29dabdaSBjorn Andersson 	.buswidth = 4,
1210f29dabdaSBjorn Andersson };
1211f29dabdaSBjorn Andersson 
1212f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_qup2 = {
1213f29dabdaSBjorn Andersson 	.name = "qhs_qup2",
1214f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QUP_2,
1215f29dabdaSBjorn Andersson 	.channels = 1,
1216f29dabdaSBjorn Andersson 	.buswidth = 4,
1217f29dabdaSBjorn Andersson };
1218f29dabdaSBjorn Andersson 
1219f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_sdc2 = {
1220f29dabdaSBjorn Andersson 	.name = "qhs_sdc2",
1221f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SDCC_2,
1222f29dabdaSBjorn Andersson 	.channels = 1,
1223f29dabdaSBjorn Andersson 	.buswidth = 4,
1224f29dabdaSBjorn Andersson };
1225f29dabdaSBjorn Andersson 
1226f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_sdc4 = {
1227f29dabdaSBjorn Andersson 	.name = "qhs_sdc4",
1228f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SDCC_4,
1229f29dabdaSBjorn Andersson 	.channels = 1,
1230f29dabdaSBjorn Andersson 	.buswidth = 4,
1231f29dabdaSBjorn Andersson };
1232f29dabdaSBjorn Andersson 
1233f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_security = {
1234f29dabdaSBjorn Andersson 	.name = "qhs_security",
1235f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SECURITY,
1236f29dabdaSBjorn Andersson 	.channels = 1,
1237f29dabdaSBjorn Andersson 	.buswidth = 4,
1238f29dabdaSBjorn Andersson };
1239f29dabdaSBjorn Andersson 
1240f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_smmuv3_cfg = {
1241f29dabdaSBjorn Andersson 	.name = "qhs_smmuv3_cfg",
1242f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SMMUV3_CFG,
1243f29dabdaSBjorn Andersson 	.channels = 1,
1244f29dabdaSBjorn Andersson 	.buswidth = 8,
1245f29dabdaSBjorn Andersson };
1246f29dabdaSBjorn Andersson 
1247f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_smss_cfg = {
1248f29dabdaSBjorn Andersson 	.name = "qhs_smss_cfg",
1249f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SMSS_CFG,
1250f29dabdaSBjorn Andersson 	.channels = 1,
1251f29dabdaSBjorn Andersson 	.buswidth = 4,
1252f29dabdaSBjorn Andersson };
1253f29dabdaSBjorn Andersson 
1254f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_spss_cfg = {
1255f29dabdaSBjorn Andersson 	.name = "qhs_spss_cfg",
1256f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SPSS_CFG,
1257f29dabdaSBjorn Andersson 	.channels = 1,
1258f29dabdaSBjorn Andersson 	.buswidth = 4,
1259f29dabdaSBjorn Andersson };
1260f29dabdaSBjorn Andersson 
1261f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_tcsr = {
1262f29dabdaSBjorn Andersson 	.name = "qhs_tcsr",
1263f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_TCSR,
1264f29dabdaSBjorn Andersson 	.channels = 1,
1265f29dabdaSBjorn Andersson 	.buswidth = 4,
1266f29dabdaSBjorn Andersson };
1267f29dabdaSBjorn Andersson 
1268f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_tlmm = {
1269f29dabdaSBjorn Andersson 	.name = "qhs_tlmm",
1270f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_TLMM,
1271f29dabdaSBjorn Andersson 	.channels = 1,
1272f29dabdaSBjorn Andersson 	.buswidth = 4,
1273f29dabdaSBjorn Andersson };
1274f29dabdaSBjorn Andersson 
1275f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ufs_card_cfg = {
1276f29dabdaSBjorn Andersson 	.name = "qhs_ufs_card_cfg",
1277f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_UFS_CARD_CFG,
1278f29dabdaSBjorn Andersson 	.channels = 1,
1279f29dabdaSBjorn Andersson 	.buswidth = 4,
1280f29dabdaSBjorn Andersson };
1281f29dabdaSBjorn Andersson 
1282f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_ufs_mem_cfg = {
1283f29dabdaSBjorn Andersson 	.name = "qhs_ufs_mem_cfg",
1284f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_UFS_MEM_CFG,
1285f29dabdaSBjorn Andersson 	.channels = 1,
1286f29dabdaSBjorn Andersson 	.buswidth = 4,
1287f29dabdaSBjorn Andersson };
1288f29dabdaSBjorn Andersson 
1289f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_usb3_0 = {
1290f29dabdaSBjorn Andersson 	.name = "qhs_usb3_0",
1291f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_USB3_0,
1292f29dabdaSBjorn Andersson 	.channels = 1,
1293f29dabdaSBjorn Andersson 	.buswidth = 4,
1294f29dabdaSBjorn Andersson };
1295f29dabdaSBjorn Andersson 
1296f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_usb3_1 = {
1297f29dabdaSBjorn Andersson 	.name = "qhs_usb3_1",
1298f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_USB3_1,
1299f29dabdaSBjorn Andersson 	.channels = 1,
1300f29dabdaSBjorn Andersson 	.buswidth = 4,
1301f29dabdaSBjorn Andersson };
1302f29dabdaSBjorn Andersson 
1303f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_usb3_mp = {
1304f29dabdaSBjorn Andersson 	.name = "qhs_usb3_mp",
1305f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_USB3_MP,
1306f29dabdaSBjorn Andersson 	.channels = 1,
1307f29dabdaSBjorn Andersson 	.buswidth = 4,
1308f29dabdaSBjorn Andersson };
1309f29dabdaSBjorn Andersson 
1310f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_usb4_host_0 = {
1311f29dabdaSBjorn Andersson 	.name = "qhs_usb4_host_0",
1312f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_USB4_0,
1313f29dabdaSBjorn Andersson 	.channels = 1,
1314f29dabdaSBjorn Andersson 	.buswidth = 4,
1315f29dabdaSBjorn Andersson };
1316f29dabdaSBjorn Andersson 
1317f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_usb4_host_1 = {
1318f29dabdaSBjorn Andersson 	.name = "qhs_usb4_host_1",
1319f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_USB4_1,
1320f29dabdaSBjorn Andersson 	.channels = 1,
1321f29dabdaSBjorn Andersson 	.buswidth = 4,
1322f29dabdaSBjorn Andersson };
1323f29dabdaSBjorn Andersson 
1324f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_venus_cfg = {
1325f29dabdaSBjorn Andersson 	.name = "qhs_venus_cfg",
1326f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_VENUS_CFG,
1327f29dabdaSBjorn Andersson 	.channels = 1,
1328f29dabdaSBjorn Andersson 	.buswidth = 4,
1329f29dabdaSBjorn Andersson };
1330f29dabdaSBjorn Andersson 
1331f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_vsense_ctrl_cfg = {
1332f29dabdaSBjorn Andersson 	.name = "qhs_vsense_ctrl_cfg",
1333f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_VSENSE_CTRL_CFG,
1334f29dabdaSBjorn Andersson 	.channels = 1,
1335f29dabdaSBjorn Andersson 	.buswidth = 4,
1336f29dabdaSBjorn Andersson };
1337f29dabdaSBjorn Andersson 
1338f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_vsense_ctrl_r_cfg = {
1339f29dabdaSBjorn Andersson 	.name = "qhs_vsense_ctrl_r_cfg",
1340f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_VSENSE_CTRL_R_CFG,
1341f29dabdaSBjorn Andersson 	.channels = 1,
1342f29dabdaSBjorn Andersson 	.buswidth = 4,
1343f29dabdaSBjorn Andersson };
1344f29dabdaSBjorn Andersson 
1345f29dabdaSBjorn Andersson static struct qcom_icc_node qns_a1_noc_cfg = {
1346f29dabdaSBjorn Andersson 	.name = "qns_a1_noc_cfg",
1347f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_A1NOC_CFG,
1348f29dabdaSBjorn Andersson 	.channels = 1,
1349f29dabdaSBjorn Andersson 	.buswidth = 4,
1350f29dabdaSBjorn Andersson 	.num_links = 1,
1351f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_A1NOC_CFG },
1352f29dabdaSBjorn Andersson };
1353f29dabdaSBjorn Andersson 
1354f29dabdaSBjorn Andersson static struct qcom_icc_node qns_a2_noc_cfg = {
1355f29dabdaSBjorn Andersson 	.name = "qns_a2_noc_cfg",
1356f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_A2NOC_CFG,
1357f29dabdaSBjorn Andersson 	.channels = 1,
1358f29dabdaSBjorn Andersson 	.buswidth = 4,
1359f29dabdaSBjorn Andersson 	.num_links = 1,
1360f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_A2NOC_CFG },
1361f29dabdaSBjorn Andersson };
1362f29dabdaSBjorn Andersson 
1363f29dabdaSBjorn Andersson static struct qcom_icc_node qns_anoc_pcie_bridge_cfg = {
1364f29dabdaSBjorn Andersson 	.name = "qns_anoc_pcie_bridge_cfg",
1365f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_ANOC_PCIE_BRIDGE_CFG,
1366f29dabdaSBjorn Andersson 	.channels = 1,
1367f29dabdaSBjorn Andersson 	.buswidth = 4,
1368f29dabdaSBjorn Andersson };
1369f29dabdaSBjorn Andersson 
1370f29dabdaSBjorn Andersson static struct qcom_icc_node qns_ddrss_cfg = {
1371f29dabdaSBjorn Andersson 	.name = "qns_ddrss_cfg",
1372f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_DDRSS_CFG,
1373f29dabdaSBjorn Andersson 	.channels = 1,
1374f29dabdaSBjorn Andersson 	.buswidth = 4,
1375f29dabdaSBjorn Andersson 	.num_links = 1,
1376f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_CNOC_DC_NOC },
1377f29dabdaSBjorn Andersson };
1378f29dabdaSBjorn Andersson 
1379f29dabdaSBjorn Andersson static struct qcom_icc_node qns_mnoc_cfg = {
1380f29dabdaSBjorn Andersson 	.name = "qns_mnoc_cfg",
1381f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CNOC_MNOC_CFG,
1382f29dabdaSBjorn Andersson 	.channels = 1,
1383f29dabdaSBjorn Andersson 	.buswidth = 4,
1384f29dabdaSBjorn Andersson 	.num_links = 1,
1385f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_CNOC_MNOC_CFG },
1386f29dabdaSBjorn Andersson };
1387f29dabdaSBjorn Andersson 
1388f29dabdaSBjorn Andersson static struct qcom_icc_node qns_snoc_cfg = {
1389f29dabdaSBjorn Andersson 	.name = "qns_snoc_cfg",
1390f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SNOC_CFG,
1391f29dabdaSBjorn Andersson 	.channels = 1,
1392f29dabdaSBjorn Andersson 	.buswidth = 4,
1393f29dabdaSBjorn Andersson 	.num_links = 1,
1394f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_SNOC_CFG },
1395f29dabdaSBjorn Andersson };
1396f29dabdaSBjorn Andersson 
1397f29dabdaSBjorn Andersson static struct qcom_icc_node qns_snoc_sf_bridge_cfg = {
1398f29dabdaSBjorn Andersson 	.name = "qns_snoc_sf_bridge_cfg",
1399f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SNOC_SF_BRIDGE_CFG,
1400f29dabdaSBjorn Andersson 	.channels = 1,
1401f29dabdaSBjorn Andersson 	.buswidth = 4,
1402f29dabdaSBjorn Andersson };
1403f29dabdaSBjorn Andersson 
1404f29dabdaSBjorn Andersson static struct qcom_icc_node qxs_imem = {
1405f29dabdaSBjorn Andersson 	.name = "qxs_imem",
1406f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_IMEM,
1407f29dabdaSBjorn Andersson 	.channels = 1,
1408f29dabdaSBjorn Andersson 	.buswidth = 8,
1409f29dabdaSBjorn Andersson };
1410f29dabdaSBjorn Andersson 
1411f29dabdaSBjorn Andersson static struct qcom_icc_node qxs_pimem = {
1412f29dabdaSBjorn Andersson 	.name = "qxs_pimem",
1413f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PIMEM,
1414f29dabdaSBjorn Andersson 	.channels = 1,
1415f29dabdaSBjorn Andersson 	.buswidth = 8,
1416f29dabdaSBjorn Andersson };
1417f29dabdaSBjorn Andersson 
1418f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_cnoc = {
1419f29dabdaSBjorn Andersson 	.name = "srvc_cnoc",
1420f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_CNOC,
1421f29dabdaSBjorn Andersson 	.channels = 1,
1422f29dabdaSBjorn Andersson 	.buswidth = 4,
1423f29dabdaSBjorn Andersson };
1424f29dabdaSBjorn Andersson 
1425f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_0 = {
1426f29dabdaSBjorn Andersson 	.name = "xs_pcie_0",
1427f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_0,
1428f29dabdaSBjorn Andersson 	.channels = 1,
1429f29dabdaSBjorn Andersson 	.buswidth = 16,
1430f29dabdaSBjorn Andersson };
1431f29dabdaSBjorn Andersson 
1432f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_1 = {
1433f29dabdaSBjorn Andersson 	.name = "xs_pcie_1",
1434f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_1,
1435f29dabdaSBjorn Andersson 	.channels = 1,
1436f29dabdaSBjorn Andersson 	.buswidth = 16,
1437f29dabdaSBjorn Andersson };
1438f29dabdaSBjorn Andersson 
1439f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_2a = {
1440f29dabdaSBjorn Andersson 	.name = "xs_pcie_2a",
1441f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_2A,
1442f29dabdaSBjorn Andersson 	.channels = 1,
1443f29dabdaSBjorn Andersson 	.buswidth = 16,
1444f29dabdaSBjorn Andersson };
1445f29dabdaSBjorn Andersson 
1446f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_2b = {
1447f29dabdaSBjorn Andersson 	.name = "xs_pcie_2b",
1448f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_2B,
1449f29dabdaSBjorn Andersson 	.channels = 1,
1450f29dabdaSBjorn Andersson 	.buswidth = 8,
1451f29dabdaSBjorn Andersson };
1452f29dabdaSBjorn Andersson 
1453f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_3a = {
1454f29dabdaSBjorn Andersson 	.name = "xs_pcie_3a",
1455f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_3A,
1456f29dabdaSBjorn Andersson 	.channels = 1,
1457f29dabdaSBjorn Andersson 	.buswidth = 16,
1458f29dabdaSBjorn Andersson };
1459f29dabdaSBjorn Andersson 
1460f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_3b = {
1461f29dabdaSBjorn Andersson 	.name = "xs_pcie_3b",
1462f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_3B,
1463f29dabdaSBjorn Andersson 	.channels = 1,
1464f29dabdaSBjorn Andersson 	.buswidth = 8,
1465f29dabdaSBjorn Andersson };
1466f29dabdaSBjorn Andersson 
1467f29dabdaSBjorn Andersson static struct qcom_icc_node xs_pcie_4 = {
1468f29dabdaSBjorn Andersson 	.name = "xs_pcie_4",
1469f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_PCIE_4,
1470f29dabdaSBjorn Andersson 	.channels = 1,
1471f29dabdaSBjorn Andersson 	.buswidth = 8,
1472f29dabdaSBjorn Andersson };
1473f29dabdaSBjorn Andersson 
1474f29dabdaSBjorn Andersson static struct qcom_icc_node xs_qdss_stm = {
1475f29dabdaSBjorn Andersson 	.name = "xs_qdss_stm",
1476f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_QDSS_STM,
1477f29dabdaSBjorn Andersson 	.channels = 1,
1478f29dabdaSBjorn Andersson 	.buswidth = 4,
1479f29dabdaSBjorn Andersson };
1480f29dabdaSBjorn Andersson 
1481f29dabdaSBjorn Andersson static struct qcom_icc_node xs_smss = {
1482f29dabdaSBjorn Andersson 	.name = "xs_smss",
1483f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SMSS,
1484f29dabdaSBjorn Andersson 	.channels = 1,
1485f29dabdaSBjorn Andersson 	.buswidth = 8,
1486f29dabdaSBjorn Andersson };
1487f29dabdaSBjorn Andersson 
1488f29dabdaSBjorn Andersson static struct qcom_icc_node xs_sys_tcu_cfg = {
1489f29dabdaSBjorn Andersson 	.name = "xs_sys_tcu_cfg",
1490f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_TCU,
1491f29dabdaSBjorn Andersson 	.channels = 1,
1492f29dabdaSBjorn Andersson 	.buswidth = 8,
1493f29dabdaSBjorn Andersson };
1494f29dabdaSBjorn Andersson 
1495f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_llcc = {
1496f29dabdaSBjorn Andersson 	.name = "qhs_llcc",
1497f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LLCC_CFG,
1498f29dabdaSBjorn Andersson 	.channels = 1,
1499f29dabdaSBjorn Andersson 	.buswidth = 4,
1500f29dabdaSBjorn Andersson };
1501f29dabdaSBjorn Andersson 
1502f29dabdaSBjorn Andersson static struct qcom_icc_node qns_gemnoc = {
1503f29dabdaSBjorn Andersson 	.name = "qns_gemnoc",
1504f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_GEM_NOC_CFG,
1505f29dabdaSBjorn Andersson 	.channels = 1,
1506f29dabdaSBjorn Andersson 	.buswidth = 4,
1507f29dabdaSBjorn Andersson 	.num_links = 1,
1508f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_GEM_NOC_CFG },
1509f29dabdaSBjorn Andersson };
1510f29dabdaSBjorn Andersson 
1511f29dabdaSBjorn Andersson static struct qcom_icc_node qns_gem_noc_cnoc = {
1512f29dabdaSBjorn Andersson 	.name = "qns_gem_noc_cnoc",
1513f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_GEM_NOC_CNOC,
1514f29dabdaSBjorn Andersson 	.channels = 1,
1515f29dabdaSBjorn Andersson 	.buswidth = 16,
1516f29dabdaSBjorn Andersson 	.num_links = 1,
1517f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_GEM_NOC_CNOC },
1518f29dabdaSBjorn Andersson };
1519f29dabdaSBjorn Andersson 
1520f29dabdaSBjorn Andersson static struct qcom_icc_node qns_llcc = {
1521f29dabdaSBjorn Andersson 	.name = "qns_llcc",
1522f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LLCC,
1523f29dabdaSBjorn Andersson 	.channels = 8,
1524f29dabdaSBjorn Andersson 	.buswidth = 16,
1525f29dabdaSBjorn Andersson 	.num_links = 1,
1526f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_LLCC },
1527f29dabdaSBjorn Andersson };
1528f29dabdaSBjorn Andersson 
1529f29dabdaSBjorn Andersson static struct qcom_icc_node qns_pcie = {
1530f29dabdaSBjorn Andersson 	.name = "qns_pcie",
1531f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_GEM_NOC_PCIE_CNOC,
1532f29dabdaSBjorn Andersson 	.channels = 1,
1533f29dabdaSBjorn Andersson 	.buswidth = 16,
1534f29dabdaSBjorn Andersson 	.num_links = 1,
1535f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_GEM_NOC_PCIE_SNOC },
1536f29dabdaSBjorn Andersson };
1537f29dabdaSBjorn Andersson 
1538f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_even_gemnoc = {
1539f29dabdaSBjorn Andersson 	.name = "srvc_even_gemnoc",
1540f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_GEM_NOC_1,
1541f29dabdaSBjorn Andersson 	.channels = 1,
1542f29dabdaSBjorn Andersson 	.buswidth = 4,
1543f29dabdaSBjorn Andersson };
1544f29dabdaSBjorn Andersson 
1545f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_odd_gemnoc = {
1546f29dabdaSBjorn Andersson 	.name = "srvc_odd_gemnoc",
1547f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_GEM_NOC_2,
1548f29dabdaSBjorn Andersson 	.channels = 1,
1549f29dabdaSBjorn Andersson 	.buswidth = 4,
1550f29dabdaSBjorn Andersson };
1551f29dabdaSBjorn Andersson 
1552f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_sys_gemnoc = {
1553f29dabdaSBjorn Andersson 	.name = "srvc_sys_gemnoc",
1554f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_GEM_NOC,
1555f29dabdaSBjorn Andersson 	.channels = 1,
1556f29dabdaSBjorn Andersson 	.buswidth = 4,
1557f29dabdaSBjorn Andersson };
1558f29dabdaSBjorn Andersson 
1559f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_lpass_core = {
1560f29dabdaSBjorn Andersson 	.name = "qhs_lpass_core",
1561f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LPASS_CORE_CFG,
1562f29dabdaSBjorn Andersson 	.channels = 1,
1563f29dabdaSBjorn Andersson 	.buswidth = 4,
1564f29dabdaSBjorn Andersson };
1565f29dabdaSBjorn Andersson 
1566f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_lpass_lpi = {
1567f29dabdaSBjorn Andersson 	.name = "qhs_lpass_lpi",
1568f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LPASS_LPI_CFG,
1569f29dabdaSBjorn Andersson 	.channels = 1,
1570f29dabdaSBjorn Andersson 	.buswidth = 4,
1571f29dabdaSBjorn Andersson };
1572f29dabdaSBjorn Andersson 
1573f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_lpass_mpu = {
1574f29dabdaSBjorn Andersson 	.name = "qhs_lpass_mpu",
1575f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LPASS_MPU_CFG,
1576f29dabdaSBjorn Andersson 	.channels = 1,
1577f29dabdaSBjorn Andersson 	.buswidth = 4,
1578f29dabdaSBjorn Andersson };
1579f29dabdaSBjorn Andersson 
1580f29dabdaSBjorn Andersson static struct qcom_icc_node qhs_lpass_top = {
1581f29dabdaSBjorn Andersson 	.name = "qhs_lpass_top",
1582f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LPASS_TOP_CFG,
1583f29dabdaSBjorn Andersson 	.channels = 1,
1584f29dabdaSBjorn Andersson 	.buswidth = 4,
1585f29dabdaSBjorn Andersson };
1586f29dabdaSBjorn Andersson 
1587f29dabdaSBjorn Andersson static struct qcom_icc_node qns_sysnoc = {
1588f29dabdaSBjorn Andersson 	.name = "qns_sysnoc",
1589f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_LPASS_SNOC,
1590f29dabdaSBjorn Andersson 	.channels = 1,
1591f29dabdaSBjorn Andersson 	.buswidth = 16,
1592f29dabdaSBjorn Andersson 	.num_links = 1,
1593f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_LPASS_ANOC },
1594f29dabdaSBjorn Andersson };
1595f29dabdaSBjorn Andersson 
1596f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_niu_aml_noc = {
1597f29dabdaSBjorn Andersson 	.name = "srvc_niu_aml_noc",
1598f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICES_LPASS_AML_NOC,
1599f29dabdaSBjorn Andersson 	.channels = 1,
1600f29dabdaSBjorn Andersson 	.buswidth = 4,
1601f29dabdaSBjorn Andersson };
1602f29dabdaSBjorn Andersson 
1603f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_niu_lpass_agnoc = {
1604f29dabdaSBjorn Andersson 	.name = "srvc_niu_lpass_agnoc",
1605f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_LPASS_AG_NOC,
1606f29dabdaSBjorn Andersson 	.channels = 1,
1607f29dabdaSBjorn Andersson 	.buswidth = 4,
1608f29dabdaSBjorn Andersson };
1609f29dabdaSBjorn Andersson 
1610f29dabdaSBjorn Andersson static struct qcom_icc_node ebi = {
1611f29dabdaSBjorn Andersson 	.name = "ebi",
1612f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_EBI1,
1613f29dabdaSBjorn Andersson 	.channels = 8,
1614f29dabdaSBjorn Andersson 	.buswidth = 4,
1615f29dabdaSBjorn Andersson };
1616f29dabdaSBjorn Andersson 
1617f29dabdaSBjorn Andersson static struct qcom_icc_node qns_mem_noc_hf = {
1618f29dabdaSBjorn Andersson 	.name = "qns_mem_noc_hf",
1619f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_MNOC_HF_MEM_NOC,
1620f29dabdaSBjorn Andersson 	.channels = 2,
1621f29dabdaSBjorn Andersson 	.buswidth = 32,
1622f29dabdaSBjorn Andersson 	.num_links = 1,
1623f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_MNOC_HF_MEM_NOC },
1624f29dabdaSBjorn Andersson };
1625f29dabdaSBjorn Andersson 
1626f29dabdaSBjorn Andersson static struct qcom_icc_node qns_mem_noc_sf = {
1627f29dabdaSBjorn Andersson 	.name = "qns_mem_noc_sf",
1628f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_MNOC_SF_MEM_NOC,
1629f29dabdaSBjorn Andersson 	.channels = 2,
1630f29dabdaSBjorn Andersson 	.buswidth = 32,
1631f29dabdaSBjorn Andersson 	.num_links = 1,
1632f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_MNOC_SF_MEM_NOC },
1633f29dabdaSBjorn Andersson };
1634f29dabdaSBjorn Andersson 
1635f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_mnoc = {
1636f29dabdaSBjorn Andersson 	.name = "srvc_mnoc",
1637f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_MNOC,
1638f29dabdaSBjorn Andersson 	.channels = 1,
1639f29dabdaSBjorn Andersson 	.buswidth = 4,
1640f29dabdaSBjorn Andersson };
1641f29dabdaSBjorn Andersson 
1642f29dabdaSBjorn Andersson static struct qcom_icc_node qns_nsp_gemnoc = {
1643f29dabdaSBjorn Andersson 	.name = "qns_nsp_gemnoc",
1644f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CDSP_MEM_NOC,
1645f29dabdaSBjorn Andersson 	.channels = 2,
1646f29dabdaSBjorn Andersson 	.buswidth = 32,
1647f29dabdaSBjorn Andersson 	.num_links = 1,
1648f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_COMPUTE_NOC },
1649f29dabdaSBjorn Andersson };
1650f29dabdaSBjorn Andersson 
1651f29dabdaSBjorn Andersson static struct qcom_icc_node qxs_nsp_xfr = {
1652f29dabdaSBjorn Andersson 	.name = "qxs_nsp_xfr",
1653f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_NSP_XFR,
1654f29dabdaSBjorn Andersson 	.channels = 1,
1655f29dabdaSBjorn Andersson 	.buswidth = 32,
1656f29dabdaSBjorn Andersson };
1657f29dabdaSBjorn Andersson 
1658f29dabdaSBjorn Andersson static struct qcom_icc_node service_nsp_noc = {
1659f29dabdaSBjorn Andersson 	.name = "service_nsp_noc",
1660f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_NSP_NOC,
1661f29dabdaSBjorn Andersson 	.channels = 1,
1662f29dabdaSBjorn Andersson 	.buswidth = 4,
1663f29dabdaSBjorn Andersson };
1664f29dabdaSBjorn Andersson 
1665f29dabdaSBjorn Andersson static struct qcom_icc_node qns_nspb_gemnoc = {
1666f29dabdaSBjorn Andersson 	.name = "qns_nspb_gemnoc",
1667f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_CDSPB_MEM_NOC,
1668f29dabdaSBjorn Andersson 	.channels = 2,
1669f29dabdaSBjorn Andersson 	.buswidth = 32,
1670f29dabdaSBjorn Andersson 	.num_links = 1,
1671f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_COMPUTE_NOC_1 },
1672f29dabdaSBjorn Andersson };
1673f29dabdaSBjorn Andersson 
1674f29dabdaSBjorn Andersson static struct qcom_icc_node qxs_nspb_xfr = {
1675f29dabdaSBjorn Andersson 	.name = "qxs_nspb_xfr",
1676f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_NSPB_XFR,
1677f29dabdaSBjorn Andersson 	.channels = 1,
1678f29dabdaSBjorn Andersson 	.buswidth = 32,
1679f29dabdaSBjorn Andersson };
1680f29dabdaSBjorn Andersson 
1681f29dabdaSBjorn Andersson static struct qcom_icc_node service_nspb_noc = {
1682f29dabdaSBjorn Andersson 	.name = "service_nspb_noc",
1683f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_NSPB_NOC,
1684f29dabdaSBjorn Andersson 	.channels = 1,
1685f29dabdaSBjorn Andersson 	.buswidth = 4,
1686f29dabdaSBjorn Andersson };
1687f29dabdaSBjorn Andersson 
1688f29dabdaSBjorn Andersson static struct qcom_icc_node qns_gemnoc_gc = {
1689f29dabdaSBjorn Andersson 	.name = "qns_gemnoc_gc",
1690f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SNOC_GEM_NOC_GC,
1691f29dabdaSBjorn Andersson 	.channels = 1,
1692f29dabdaSBjorn Andersson 	.buswidth = 8,
1693f29dabdaSBjorn Andersson 	.num_links = 1,
1694f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_SNOC_GC_MEM_NOC },
1695f29dabdaSBjorn Andersson };
1696f29dabdaSBjorn Andersson 
1697f29dabdaSBjorn Andersson static struct qcom_icc_node qns_gemnoc_sf = {
1698f29dabdaSBjorn Andersson 	.name = "qns_gemnoc_sf",
1699f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SNOC_GEM_NOC_SF,
1700f29dabdaSBjorn Andersson 	.channels = 1,
1701f29dabdaSBjorn Andersson 	.buswidth = 16,
1702f29dabdaSBjorn Andersson 	.num_links = 1,
1703f29dabdaSBjorn Andersson 	.links = { SC8280XP_MASTER_SNOC_SF_MEM_NOC },
1704f29dabdaSBjorn Andersson };
1705f29dabdaSBjorn Andersson 
1706f29dabdaSBjorn Andersson static struct qcom_icc_node srvc_snoc = {
1707f29dabdaSBjorn Andersson 	.name = "srvc_snoc",
1708f29dabdaSBjorn Andersson 	.id = SC8280XP_SLAVE_SERVICE_SNOC,
1709f29dabdaSBjorn Andersson 	.channels = 1,
1710f29dabdaSBjorn Andersson 	.buswidth = 4,
1711f29dabdaSBjorn Andersson };
1712f29dabdaSBjorn Andersson 
1713f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_acv = {
1714f29dabdaSBjorn Andersson 	.name = "ACV",
1715*263bde32SKonrad Dybcio 	.enable_mask = BIT(3),
1716f29dabdaSBjorn Andersson 	.num_nodes = 1,
1717f29dabdaSBjorn Andersson 	.nodes = { &ebi },
1718f29dabdaSBjorn Andersson };
1719f29dabdaSBjorn Andersson 
1720f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_ce0 = {
1721f29dabdaSBjorn Andersson 	.name = "CE0",
1722f29dabdaSBjorn Andersson 	.num_nodes = 1,
1723f29dabdaSBjorn Andersson 	.nodes = { &qxm_crypto },
1724f29dabdaSBjorn Andersson };
1725f29dabdaSBjorn Andersson 
1726f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_cn0 = {
1727f29dabdaSBjorn Andersson 	.name = "CN0",
1728f29dabdaSBjorn Andersson 	.keepalive = true,
1729f29dabdaSBjorn Andersson 	.num_nodes = 9,
1730f29dabdaSBjorn Andersson 	.nodes = { &qnm_gemnoc_cnoc,
1731f29dabdaSBjorn Andersson 		   &qnm_gemnoc_pcie,
1732f29dabdaSBjorn Andersson 		   &xs_pcie_0,
1733f29dabdaSBjorn Andersson 		   &xs_pcie_1,
1734f29dabdaSBjorn Andersson 		   &xs_pcie_2a,
1735f29dabdaSBjorn Andersson 		   &xs_pcie_2b,
1736f29dabdaSBjorn Andersson 		   &xs_pcie_3a,
1737f29dabdaSBjorn Andersson 		   &xs_pcie_3b,
1738f29dabdaSBjorn Andersson 		   &xs_pcie_4
1739f29dabdaSBjorn Andersson 	},
1740f29dabdaSBjorn Andersson };
1741f29dabdaSBjorn Andersson 
1742f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_cn1 = {
1743f29dabdaSBjorn Andersson 	.name = "CN1",
1744f29dabdaSBjorn Andersson 	.num_nodes = 67,
1745f29dabdaSBjorn Andersson 	.nodes = { &qhs_ahb2phy0,
1746f29dabdaSBjorn Andersson 		   &qhs_ahb2phy1,
1747f29dabdaSBjorn Andersson 		   &qhs_ahb2phy2,
1748f29dabdaSBjorn Andersson 		   &qhs_aoss,
1749f29dabdaSBjorn Andersson 		   &qhs_apss,
1750f29dabdaSBjorn Andersson 		   &qhs_camera_cfg,
1751f29dabdaSBjorn Andersson 		   &qhs_clk_ctl,
1752f29dabdaSBjorn Andersson 		   &qhs_compute0_cfg,
1753f29dabdaSBjorn Andersson 		   &qhs_compute1_cfg,
1754f29dabdaSBjorn Andersson 		   &qhs_cpr_cx,
1755f29dabdaSBjorn Andersson 		   &qhs_cpr_mmcx,
1756f29dabdaSBjorn Andersson 		   &qhs_cpr_mx,
1757f29dabdaSBjorn Andersson 		   &qhs_cpr_nspcx,
1758f29dabdaSBjorn Andersson 		   &qhs_crypto0_cfg,
1759f29dabdaSBjorn Andersson 		   &qhs_cx_rdpm,
1760f29dabdaSBjorn Andersson 		   &qhs_dcc_cfg,
1761f29dabdaSBjorn Andersson 		   &qhs_display0_cfg,
1762f29dabdaSBjorn Andersson 		   &qhs_display1_cfg,
1763f29dabdaSBjorn Andersson 		   &qhs_emac0_cfg,
1764f29dabdaSBjorn Andersson 		   &qhs_emac1_cfg,
1765f29dabdaSBjorn Andersson 		   &qhs_gpuss_cfg,
1766f29dabdaSBjorn Andersson 		   &qhs_hwkm,
1767f29dabdaSBjorn Andersson 		   &qhs_imem_cfg,
1768f29dabdaSBjorn Andersson 		   &qhs_ipa,
1769f29dabdaSBjorn Andersson 		   &qhs_ipc_router,
1770f29dabdaSBjorn Andersson 		   &qhs_lpass_cfg,
1771f29dabdaSBjorn Andersson 		   &qhs_mx_rdpm,
1772f29dabdaSBjorn Andersson 		   &qhs_mxc_rdpm,
1773f29dabdaSBjorn Andersson 		   &qhs_pcie0_cfg,
1774f29dabdaSBjorn Andersson 		   &qhs_pcie1_cfg,
1775f29dabdaSBjorn Andersson 		   &qhs_pcie2a_cfg,
1776f29dabdaSBjorn Andersson 		   &qhs_pcie2b_cfg,
1777f29dabdaSBjorn Andersson 		   &qhs_pcie3a_cfg,
1778f29dabdaSBjorn Andersson 		   &qhs_pcie3b_cfg,
1779f29dabdaSBjorn Andersson 		   &qhs_pcie4_cfg,
1780f29dabdaSBjorn Andersson 		   &qhs_pcie_rsc_cfg,
1781f29dabdaSBjorn Andersson 		   &qhs_pdm,
1782f29dabdaSBjorn Andersson 		   &qhs_pimem_cfg,
1783f29dabdaSBjorn Andersson 		   &qhs_pka_wrapper_cfg,
1784f29dabdaSBjorn Andersson 		   &qhs_pmu_wrapper_cfg,
1785f29dabdaSBjorn Andersson 		   &qhs_qdss_cfg,
1786f29dabdaSBjorn Andersson 		   &qhs_sdc2,
1787f29dabdaSBjorn Andersson 		   &qhs_sdc4,
1788f29dabdaSBjorn Andersson 		   &qhs_security,
1789f29dabdaSBjorn Andersson 		   &qhs_smmuv3_cfg,
1790f29dabdaSBjorn Andersson 		   &qhs_smss_cfg,
1791f29dabdaSBjorn Andersson 		   &qhs_spss_cfg,
1792f29dabdaSBjorn Andersson 		   &qhs_tcsr,
1793f29dabdaSBjorn Andersson 		   &qhs_tlmm,
1794f29dabdaSBjorn Andersson 		   &qhs_ufs_card_cfg,
1795f29dabdaSBjorn Andersson 		   &qhs_ufs_mem_cfg,
1796f29dabdaSBjorn Andersson 		   &qhs_usb3_0,
1797f29dabdaSBjorn Andersson 		   &qhs_usb3_1,
1798f29dabdaSBjorn Andersson 		   &qhs_usb3_mp,
1799f29dabdaSBjorn Andersson 		   &qhs_usb4_host_0,
1800f29dabdaSBjorn Andersson 		   &qhs_usb4_host_1,
1801f29dabdaSBjorn Andersson 		   &qhs_venus_cfg,
1802f29dabdaSBjorn Andersson 		   &qhs_vsense_ctrl_cfg,
1803f29dabdaSBjorn Andersson 		   &qhs_vsense_ctrl_r_cfg,
1804f29dabdaSBjorn Andersson 		   &qns_a1_noc_cfg,
1805f29dabdaSBjorn Andersson 		   &qns_a2_noc_cfg,
1806f29dabdaSBjorn Andersson 		   &qns_anoc_pcie_bridge_cfg,
1807f29dabdaSBjorn Andersson 		   &qns_ddrss_cfg,
1808f29dabdaSBjorn Andersson 		   &qns_mnoc_cfg,
1809f29dabdaSBjorn Andersson 		   &qns_snoc_cfg,
1810f29dabdaSBjorn Andersson 		   &qns_snoc_sf_bridge_cfg,
1811f29dabdaSBjorn Andersson 		   &srvc_cnoc
1812f29dabdaSBjorn Andersson 	},
1813f29dabdaSBjorn Andersson };
1814f29dabdaSBjorn Andersson 
1815f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_cn2 = {
1816f29dabdaSBjorn Andersson 	.name = "CN2",
1817f29dabdaSBjorn Andersson 	.num_nodes = 4,
1818f29dabdaSBjorn Andersson 	.nodes = { &qhs_qspi,
1819f29dabdaSBjorn Andersson 		   &qhs_qup0,
1820f29dabdaSBjorn Andersson 		   &qhs_qup1,
1821f29dabdaSBjorn Andersson 		   &qhs_qup2
1822f29dabdaSBjorn Andersson 	},
1823f29dabdaSBjorn Andersson };
1824f29dabdaSBjorn Andersson 
1825f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_cn3 = {
1826f29dabdaSBjorn Andersson 	.name = "CN3",
1827f29dabdaSBjorn Andersson 	.num_nodes = 3,
1828f29dabdaSBjorn Andersson 	.nodes = { &qxs_imem,
1829f29dabdaSBjorn Andersson 		   &xs_smss,
1830f29dabdaSBjorn Andersson 		   &xs_sys_tcu_cfg
1831f29dabdaSBjorn Andersson 	},
1832f29dabdaSBjorn Andersson };
1833f29dabdaSBjorn Andersson 
1834f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_mc0 = {
1835f29dabdaSBjorn Andersson 	.name = "MC0",
1836f29dabdaSBjorn Andersson 	.keepalive = true,
1837f29dabdaSBjorn Andersson 	.num_nodes = 1,
1838f29dabdaSBjorn Andersson 	.nodes = { &ebi },
1839f29dabdaSBjorn Andersson };
1840f29dabdaSBjorn Andersson 
1841f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_mm0 = {
1842f29dabdaSBjorn Andersson 	.name = "MM0",
1843f29dabdaSBjorn Andersson 	.keepalive = true,
1844f29dabdaSBjorn Andersson 	.num_nodes = 5,
1845f29dabdaSBjorn Andersson 	.nodes = { &qnm_camnoc_hf,
1846f29dabdaSBjorn Andersson 		   &qnm_mdp0_0,
1847f29dabdaSBjorn Andersson 		   &qnm_mdp0_1,
1848f29dabdaSBjorn Andersson 		   &qnm_mdp1_0,
1849f29dabdaSBjorn Andersson 		   &qns_mem_noc_hf
1850f29dabdaSBjorn Andersson 	},
1851f29dabdaSBjorn Andersson };
1852f29dabdaSBjorn Andersson 
1853f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_mm1 = {
1854f29dabdaSBjorn Andersson 	.name = "MM1",
1855f29dabdaSBjorn Andersson 	.num_nodes = 8,
1856f29dabdaSBjorn Andersson 	.nodes = { &qnm_rot_0,
1857f29dabdaSBjorn Andersson 		   &qnm_rot_1,
1858f29dabdaSBjorn Andersson 		   &qnm_video0,
1859f29dabdaSBjorn Andersson 		   &qnm_video1,
1860f29dabdaSBjorn Andersson 		   &qnm_video_cvp,
1861f29dabdaSBjorn Andersson 		   &qxm_camnoc_icp,
1862f29dabdaSBjorn Andersson 		   &qxm_camnoc_sf,
1863f29dabdaSBjorn Andersson 		   &qns_mem_noc_sf
1864f29dabdaSBjorn Andersson 	},
1865f29dabdaSBjorn Andersson };
1866f29dabdaSBjorn Andersson 
1867f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_nsa0 = {
1868f29dabdaSBjorn Andersson 	.name = "NSA0",
1869f29dabdaSBjorn Andersson 	.num_nodes = 2,
1870f29dabdaSBjorn Andersson 	.nodes = { &qns_nsp_gemnoc,
1871f29dabdaSBjorn Andersson 		   &qxs_nsp_xfr
1872f29dabdaSBjorn Andersson 	},
1873f29dabdaSBjorn Andersson };
1874f29dabdaSBjorn Andersson 
1875f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_nsa1 = {
1876f29dabdaSBjorn Andersson 	.name = "NSA1",
1877f29dabdaSBjorn Andersson 	.num_nodes = 1,
1878f29dabdaSBjorn Andersson 	.nodes = { &qxm_nsp },
1879f29dabdaSBjorn Andersson };
1880f29dabdaSBjorn Andersson 
1881f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_nsb0 = {
1882f29dabdaSBjorn Andersson 	.name = "NSB0",
1883f29dabdaSBjorn Andersson 	.num_nodes = 2,
1884f29dabdaSBjorn Andersson 	.nodes = { &qns_nspb_gemnoc,
1885f29dabdaSBjorn Andersson 		   &qxs_nspb_xfr
1886f29dabdaSBjorn Andersson 	},
1887f29dabdaSBjorn Andersson };
1888f29dabdaSBjorn Andersson 
1889f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_nsb1 = {
1890f29dabdaSBjorn Andersson 	.name = "NSB1",
1891f29dabdaSBjorn Andersson 	.num_nodes = 1,
1892f29dabdaSBjorn Andersson 	.nodes = { &qxm_nspb },
1893f29dabdaSBjorn Andersson };
1894f29dabdaSBjorn Andersson 
1895f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_pci0 = {
1896f29dabdaSBjorn Andersson 	.name = "PCI0",
1897f29dabdaSBjorn Andersson 	.num_nodes = 1,
1898f29dabdaSBjorn Andersson 	.nodes = { &qns_pcie_gem_noc },
1899f29dabdaSBjorn Andersson };
1900f29dabdaSBjorn Andersson 
1901f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_qup0 = {
1902f29dabdaSBjorn Andersson 	.name = "QUP0",
1903f29dabdaSBjorn Andersson 	.vote_scale = 1,
1904f29dabdaSBjorn Andersson 	.num_nodes = 1,
1905f29dabdaSBjorn Andersson 	.nodes = { &qup0_core_slave },
1906f29dabdaSBjorn Andersson };
1907f29dabdaSBjorn Andersson 
1908f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_qup1 = {
1909f29dabdaSBjorn Andersson 	.name = "QUP1",
1910f29dabdaSBjorn Andersson 	.vote_scale = 1,
1911f29dabdaSBjorn Andersson 	.num_nodes = 1,
1912f29dabdaSBjorn Andersson 	.nodes = { &qup1_core_slave },
1913f29dabdaSBjorn Andersson };
1914f29dabdaSBjorn Andersson 
1915f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_qup2 = {
1916f29dabdaSBjorn Andersson 	.name = "QUP2",
1917f29dabdaSBjorn Andersson 	.vote_scale = 1,
1918f29dabdaSBjorn Andersson 	.num_nodes = 1,
1919f29dabdaSBjorn Andersson 	.nodes = { &qup2_core_slave },
1920f29dabdaSBjorn Andersson };
1921f29dabdaSBjorn Andersson 
1922f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sh0 = {
1923f29dabdaSBjorn Andersson 	.name = "SH0",
1924f29dabdaSBjorn Andersson 	.keepalive = true,
1925f29dabdaSBjorn Andersson 	.num_nodes = 1,
1926f29dabdaSBjorn Andersson 	.nodes = { &qns_llcc },
1927f29dabdaSBjorn Andersson };
1928f29dabdaSBjorn Andersson 
1929f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sh2 = {
1930f29dabdaSBjorn Andersson 	.name = "SH2",
1931f29dabdaSBjorn Andersson 	.num_nodes = 1,
1932f29dabdaSBjorn Andersson 	.nodes = { &chm_apps },
1933f29dabdaSBjorn Andersson };
1934f29dabdaSBjorn Andersson 
1935f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn0 = {
1936f29dabdaSBjorn Andersson 	.name = "SN0",
1937f29dabdaSBjorn Andersson 	.keepalive = true,
1938f29dabdaSBjorn Andersson 	.num_nodes = 1,
1939f29dabdaSBjorn Andersson 	.nodes = { &qns_gemnoc_sf },
1940f29dabdaSBjorn Andersson };
1941f29dabdaSBjorn Andersson 
1942f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn1 = {
1943f29dabdaSBjorn Andersson 	.name = "SN1",
1944f29dabdaSBjorn Andersson 	.num_nodes = 1,
1945f29dabdaSBjorn Andersson 	.nodes = { &qns_gemnoc_gc },
1946f29dabdaSBjorn Andersson };
1947f29dabdaSBjorn Andersson 
1948f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn2 = {
1949f29dabdaSBjorn Andersson 	.name = "SN2",
1950f29dabdaSBjorn Andersson 	.num_nodes = 1,
1951f29dabdaSBjorn Andersson 	.nodes = { &qxs_pimem },
1952f29dabdaSBjorn Andersson };
1953f29dabdaSBjorn Andersson 
1954f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn3 = {
1955f29dabdaSBjorn Andersson 	.name = "SN3",
1956f29dabdaSBjorn Andersson 	.num_nodes = 2,
1957f29dabdaSBjorn Andersson 	.nodes = { &qns_a1noc_snoc,
1958f29dabdaSBjorn Andersson 		   &qnm_aggre1_noc
1959f29dabdaSBjorn Andersson 	},
1960f29dabdaSBjorn Andersson };
1961f29dabdaSBjorn Andersson 
1962f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn4 = {
1963f29dabdaSBjorn Andersson 	.name = "SN4",
1964f29dabdaSBjorn Andersson 	.num_nodes = 2,
1965f29dabdaSBjorn Andersson 	.nodes = { &qns_a2noc_snoc,
1966f29dabdaSBjorn Andersson 		   &qnm_aggre2_noc
1967f29dabdaSBjorn Andersson 	},
1968f29dabdaSBjorn Andersson };
1969f29dabdaSBjorn Andersson 
1970f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn5 = {
1971f29dabdaSBjorn Andersson 	.name = "SN5",
1972f29dabdaSBjorn Andersson 	.num_nodes = 2,
1973f29dabdaSBjorn Andersson 	.nodes = { &qns_aggre_usb_snoc,
1974f29dabdaSBjorn Andersson 		   &qnm_aggre_usb_noc
1975f29dabdaSBjorn Andersson 	},
1976f29dabdaSBjorn Andersson };
1977f29dabdaSBjorn Andersson 
1978f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn9 = {
1979f29dabdaSBjorn Andersson 	.name = "SN9",
1980f29dabdaSBjorn Andersson 	.num_nodes = 2,
1981f29dabdaSBjorn Andersson 	.nodes = { &qns_sysnoc,
1982f29dabdaSBjorn Andersson 		   &qnm_lpass_noc
1983f29dabdaSBjorn Andersson 	},
1984f29dabdaSBjorn Andersson };
1985f29dabdaSBjorn Andersson 
1986f29dabdaSBjorn Andersson static struct qcom_icc_bcm bcm_sn10 = {
1987f29dabdaSBjorn Andersson 	.name = "SN10",
1988f29dabdaSBjorn Andersson 	.num_nodes = 1,
1989f29dabdaSBjorn Andersson 	.nodes = { &xs_qdss_stm },
1990f29dabdaSBjorn Andersson };
1991f29dabdaSBjorn Andersson 
199201c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
1993f29dabdaSBjorn Andersson 	&bcm_sn3,
1994f29dabdaSBjorn Andersson 	&bcm_sn5,
1995f29dabdaSBjorn Andersson };
1996f29dabdaSBjorn Andersson 
1997fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = {
1998f29dabdaSBjorn Andersson 	[MASTER_QSPI_0] = &qhm_qspi,
1999f29dabdaSBjorn Andersson 	[MASTER_QUP_1] = &qhm_qup1,
2000f29dabdaSBjorn Andersson 	[MASTER_QUP_2] = &qhm_qup2,
2001f29dabdaSBjorn Andersson 	[MASTER_A1NOC_CFG] = &qnm_a1noc_cfg,
2002f29dabdaSBjorn Andersson 	[MASTER_IPA] = &qxm_ipa,
2003f29dabdaSBjorn Andersson 	[MASTER_EMAC_1] = &xm_emac_1,
2004f29dabdaSBjorn Andersson 	[MASTER_SDCC_4] = &xm_sdc4,
2005f29dabdaSBjorn Andersson 	[MASTER_UFS_MEM] = &xm_ufs_mem,
2006f29dabdaSBjorn Andersson 	[MASTER_USB3_0] = &xm_usb3_0,
2007f29dabdaSBjorn Andersson 	[MASTER_USB3_1] = &xm_usb3_1,
2008f29dabdaSBjorn Andersson 	[MASTER_USB3_MP] = &xm_usb3_mp,
2009f29dabdaSBjorn Andersson 	[MASTER_USB4_0] = &xm_usb4_host0,
2010f29dabdaSBjorn Andersson 	[MASTER_USB4_1] = &xm_usb4_host1,
2011f29dabdaSBjorn Andersson 	[SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc,
2012f29dabdaSBjorn Andersson 	[SLAVE_USB_NOC_SNOC] = &qns_aggre_usb_snoc,
2013f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
2014f29dabdaSBjorn Andersson };
2015f29dabdaSBjorn Andersson 
20163d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_aggre1_noc = {
2017f29dabdaSBjorn Andersson 	.nodes = aggre1_noc_nodes,
2018f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
2019f29dabdaSBjorn Andersson 	.bcms = aggre1_noc_bcms,
2020f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
2021f29dabdaSBjorn Andersson };
2022f29dabdaSBjorn Andersson 
202301c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
2024f29dabdaSBjorn Andersson 	&bcm_ce0,
2025f29dabdaSBjorn Andersson 	&bcm_pci0,
2026f29dabdaSBjorn Andersson 	&bcm_sn4,
2027f29dabdaSBjorn Andersson };
2028f29dabdaSBjorn Andersson 
2029fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = {
2030f29dabdaSBjorn Andersson 	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
2031f29dabdaSBjorn Andersson 	[MASTER_QUP_0] = &qhm_qup0,
2032f29dabdaSBjorn Andersson 	[MASTER_A2NOC_CFG] = &qnm_a2noc_cfg,
2033f29dabdaSBjorn Andersson 	[MASTER_CRYPTO] = &qxm_crypto,
2034f29dabdaSBjorn Andersson 	[MASTER_SENSORS_PROC] = &qxm_sensorss_q6,
2035f29dabdaSBjorn Andersson 	[MASTER_SP] = &qxm_sp,
2036f29dabdaSBjorn Andersson 	[MASTER_EMAC] = &xm_emac_0,
2037f29dabdaSBjorn Andersson 	[MASTER_PCIE_0] = &xm_pcie3_0,
2038f29dabdaSBjorn Andersson 	[MASTER_PCIE_1] = &xm_pcie3_1,
2039f29dabdaSBjorn Andersson 	[MASTER_PCIE_2A] = &xm_pcie3_2a,
2040f29dabdaSBjorn Andersson 	[MASTER_PCIE_2B] = &xm_pcie3_2b,
2041f29dabdaSBjorn Andersson 	[MASTER_PCIE_3A] = &xm_pcie3_3a,
2042f29dabdaSBjorn Andersson 	[MASTER_PCIE_3B] = &xm_pcie3_3b,
2043f29dabdaSBjorn Andersson 	[MASTER_PCIE_4] = &xm_pcie3_4,
2044f29dabdaSBjorn Andersson 	[MASTER_QDSS_ETR] = &xm_qdss_etr,
2045f29dabdaSBjorn Andersson 	[MASTER_SDCC_2] = &xm_sdc2,
2046f29dabdaSBjorn Andersson 	[MASTER_UFS_CARD] = &xm_ufs_card,
2047f29dabdaSBjorn Andersson 	[SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc,
2048f29dabdaSBjorn Andersson 	[SLAVE_ANOC_PCIE_GEM_NOC] = &qns_pcie_gem_noc,
2049f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
2050f29dabdaSBjorn Andersson };
2051f29dabdaSBjorn Andersson 
20523d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_aggre2_noc = {
2053f29dabdaSBjorn Andersson 	.nodes = aggre2_noc_nodes,
2054f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
2055f29dabdaSBjorn Andersson 	.bcms = aggre2_noc_bcms,
2056f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
2057f29dabdaSBjorn Andersson };
2058f29dabdaSBjorn Andersson 
205901c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const clk_virt_bcms[] = {
2060f29dabdaSBjorn Andersson 	&bcm_qup0,
2061f29dabdaSBjorn Andersson 	&bcm_qup1,
2062f29dabdaSBjorn Andersson 	&bcm_qup2,
2063f29dabdaSBjorn Andersson };
2064f29dabdaSBjorn Andersson 
2065fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const clk_virt_nodes[] = {
2066f29dabdaSBjorn Andersson 	[MASTER_QUP_CORE_0] = &qup0_core_master,
2067f29dabdaSBjorn Andersson 	[MASTER_QUP_CORE_1] = &qup1_core_master,
2068f29dabdaSBjorn Andersson 	[MASTER_QUP_CORE_2] = &qup2_core_master,
2069f29dabdaSBjorn Andersson 	[SLAVE_QUP_CORE_0] = &qup0_core_slave,
2070f29dabdaSBjorn Andersson 	[SLAVE_QUP_CORE_1] = &qup1_core_slave,
2071f29dabdaSBjorn Andersson 	[SLAVE_QUP_CORE_2] = &qup2_core_slave,
2072f29dabdaSBjorn Andersson };
2073f29dabdaSBjorn Andersson 
20743d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_clk_virt = {
2075f29dabdaSBjorn Andersson 	.nodes = clk_virt_nodes,
2076f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(clk_virt_nodes),
2077f29dabdaSBjorn Andersson 	.bcms = clk_virt_bcms,
2078f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(clk_virt_bcms),
2079f29dabdaSBjorn Andersson };
2080f29dabdaSBjorn Andersson 
208101c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = {
2082f29dabdaSBjorn Andersson 	&bcm_cn0,
2083f29dabdaSBjorn Andersson 	&bcm_cn1,
2084f29dabdaSBjorn Andersson 	&bcm_cn2,
2085f29dabdaSBjorn Andersson 	&bcm_cn3,
2086f29dabdaSBjorn Andersson 	&bcm_sn2,
2087f29dabdaSBjorn Andersson 	&bcm_sn10,
2088f29dabdaSBjorn Andersson };
2089f29dabdaSBjorn Andersson 
2090fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = {
2091f29dabdaSBjorn Andersson 	[MASTER_GEM_NOC_CNOC] = &qnm_gemnoc_cnoc,
2092f29dabdaSBjorn Andersson 	[MASTER_GEM_NOC_PCIE_SNOC] = &qnm_gemnoc_pcie,
2093f29dabdaSBjorn Andersson 	[SLAVE_AHB2PHY_0] = &qhs_ahb2phy0,
2094f29dabdaSBjorn Andersson 	[SLAVE_AHB2PHY_1] = &qhs_ahb2phy1,
2095f29dabdaSBjorn Andersson 	[SLAVE_AHB2PHY_2] = &qhs_ahb2phy2,
2096f29dabdaSBjorn Andersson 	[SLAVE_AOSS] = &qhs_aoss,
2097f29dabdaSBjorn Andersson 	[SLAVE_APPSS] = &qhs_apss,
2098f29dabdaSBjorn Andersson 	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
2099f29dabdaSBjorn Andersson 	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
2100f29dabdaSBjorn Andersson 	[SLAVE_CDSP_CFG] = &qhs_compute0_cfg,
2101f29dabdaSBjorn Andersson 	[SLAVE_CDSP1_CFG] = &qhs_compute1_cfg,
2102f29dabdaSBjorn Andersson 	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
2103f29dabdaSBjorn Andersson 	[SLAVE_RBCPR_MMCX_CFG] = &qhs_cpr_mmcx,
2104f29dabdaSBjorn Andersson 	[SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx,
2105f29dabdaSBjorn Andersson 	[SLAVE_CPR_NSPCX] = &qhs_cpr_nspcx,
2106f29dabdaSBjorn Andersson 	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
2107f29dabdaSBjorn Andersson 	[SLAVE_CX_RDPM] = &qhs_cx_rdpm,
2108f29dabdaSBjorn Andersson 	[SLAVE_DCC_CFG] = &qhs_dcc_cfg,
2109f29dabdaSBjorn Andersson 	[SLAVE_DISPLAY_CFG] = &qhs_display0_cfg,
2110f29dabdaSBjorn Andersson 	[SLAVE_DISPLAY1_CFG] = &qhs_display1_cfg,
2111f29dabdaSBjorn Andersson 	[SLAVE_EMAC_CFG] = &qhs_emac0_cfg,
2112f29dabdaSBjorn Andersson 	[SLAVE_EMAC1_CFG] = &qhs_emac1_cfg,
2113f29dabdaSBjorn Andersson 	[SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg,
2114f29dabdaSBjorn Andersson 	[SLAVE_HWKM] = &qhs_hwkm,
2115f29dabdaSBjorn Andersson 	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
2116f29dabdaSBjorn Andersson 	[SLAVE_IPA_CFG] = &qhs_ipa,
2117f29dabdaSBjorn Andersson 	[SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router,
2118f29dabdaSBjorn Andersson 	[SLAVE_LPASS] = &qhs_lpass_cfg,
2119f29dabdaSBjorn Andersson 	[SLAVE_MX_RDPM] = &qhs_mx_rdpm,
2120f29dabdaSBjorn Andersson 	[SLAVE_MXC_RDPM] = &qhs_mxc_rdpm,
2121f29dabdaSBjorn Andersson 	[SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg,
2122f29dabdaSBjorn Andersson 	[SLAVE_PCIE_1_CFG] = &qhs_pcie1_cfg,
2123f29dabdaSBjorn Andersson 	[SLAVE_PCIE_2A_CFG] = &qhs_pcie2a_cfg,
2124f29dabdaSBjorn Andersson 	[SLAVE_PCIE_2B_CFG] = &qhs_pcie2b_cfg,
2125f29dabdaSBjorn Andersson 	[SLAVE_PCIE_3A_CFG] = &qhs_pcie3a_cfg,
2126f29dabdaSBjorn Andersson 	[SLAVE_PCIE_3B_CFG] = &qhs_pcie3b_cfg,
2127f29dabdaSBjorn Andersson 	[SLAVE_PCIE_4_CFG] = &qhs_pcie4_cfg,
2128f29dabdaSBjorn Andersson 	[SLAVE_PCIE_RSC_CFG] = &qhs_pcie_rsc_cfg,
2129f29dabdaSBjorn Andersson 	[SLAVE_PDM] = &qhs_pdm,
2130f29dabdaSBjorn Andersson 	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
2131f29dabdaSBjorn Andersson 	[SLAVE_PKA_WRAPPER_CFG] = &qhs_pka_wrapper_cfg,
2132f29dabdaSBjorn Andersson 	[SLAVE_PMU_WRAPPER_CFG] = &qhs_pmu_wrapper_cfg,
2133f29dabdaSBjorn Andersson 	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
2134f29dabdaSBjorn Andersson 	[SLAVE_QSPI_0] = &qhs_qspi,
2135f29dabdaSBjorn Andersson 	[SLAVE_QUP_0] = &qhs_qup0,
2136f29dabdaSBjorn Andersson 	[SLAVE_QUP_1] = &qhs_qup1,
2137f29dabdaSBjorn Andersson 	[SLAVE_QUP_2] = &qhs_qup2,
2138f29dabdaSBjorn Andersson 	[SLAVE_SDCC_2] = &qhs_sdc2,
2139f29dabdaSBjorn Andersson 	[SLAVE_SDCC_4] = &qhs_sdc4,
2140f29dabdaSBjorn Andersson 	[SLAVE_SECURITY] = &qhs_security,
2141f29dabdaSBjorn Andersson 	[SLAVE_SMMUV3_CFG] = &qhs_smmuv3_cfg,
2142f29dabdaSBjorn Andersson 	[SLAVE_SMSS_CFG] = &qhs_smss_cfg,
2143f29dabdaSBjorn Andersson 	[SLAVE_SPSS_CFG] = &qhs_spss_cfg,
2144f29dabdaSBjorn Andersson 	[SLAVE_TCSR] = &qhs_tcsr,
2145f29dabdaSBjorn Andersson 	[SLAVE_TLMM] = &qhs_tlmm,
2146f29dabdaSBjorn Andersson 	[SLAVE_UFS_CARD_CFG] = &qhs_ufs_card_cfg,
2147f29dabdaSBjorn Andersson 	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
2148f29dabdaSBjorn Andersson 	[SLAVE_USB3_0] = &qhs_usb3_0,
2149f29dabdaSBjorn Andersson 	[SLAVE_USB3_1] = &qhs_usb3_1,
2150f29dabdaSBjorn Andersson 	[SLAVE_USB3_MP] = &qhs_usb3_mp,
2151f29dabdaSBjorn Andersson 	[SLAVE_USB4_0] = &qhs_usb4_host_0,
2152f29dabdaSBjorn Andersson 	[SLAVE_USB4_1] = &qhs_usb4_host_1,
2153f29dabdaSBjorn Andersson 	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
2154f29dabdaSBjorn Andersson 	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
2155f29dabdaSBjorn Andersson 	[SLAVE_VSENSE_CTRL_R_CFG] = &qhs_vsense_ctrl_r_cfg,
2156f29dabdaSBjorn Andersson 	[SLAVE_A1NOC_CFG] = &qns_a1_noc_cfg,
2157f29dabdaSBjorn Andersson 	[SLAVE_A2NOC_CFG] = &qns_a2_noc_cfg,
2158f29dabdaSBjorn Andersson 	[SLAVE_ANOC_PCIE_BRIDGE_CFG] = &qns_anoc_pcie_bridge_cfg,
2159f29dabdaSBjorn Andersson 	[SLAVE_DDRSS_CFG] = &qns_ddrss_cfg,
2160f29dabdaSBjorn Andersson 	[SLAVE_CNOC_MNOC_CFG] = &qns_mnoc_cfg,
2161f29dabdaSBjorn Andersson 	[SLAVE_SNOC_CFG] = &qns_snoc_cfg,
2162f29dabdaSBjorn Andersson 	[SLAVE_SNOC_SF_BRIDGE_CFG] = &qns_snoc_sf_bridge_cfg,
2163f29dabdaSBjorn Andersson 	[SLAVE_IMEM] = &qxs_imem,
2164f29dabdaSBjorn Andersson 	[SLAVE_PIMEM] = &qxs_pimem,
2165f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_CNOC] = &srvc_cnoc,
2166f29dabdaSBjorn Andersson 	[SLAVE_PCIE_0] = &xs_pcie_0,
2167f29dabdaSBjorn Andersson 	[SLAVE_PCIE_1] = &xs_pcie_1,
2168f29dabdaSBjorn Andersson 	[SLAVE_PCIE_2A] = &xs_pcie_2a,
2169f29dabdaSBjorn Andersson 	[SLAVE_PCIE_2B] = &xs_pcie_2b,
2170f29dabdaSBjorn Andersson 	[SLAVE_PCIE_3A] = &xs_pcie_3a,
2171f29dabdaSBjorn Andersson 	[SLAVE_PCIE_3B] = &xs_pcie_3b,
2172f29dabdaSBjorn Andersson 	[SLAVE_PCIE_4] = &xs_pcie_4,
2173f29dabdaSBjorn Andersson 	[SLAVE_QDSS_STM] = &xs_qdss_stm,
2174f29dabdaSBjorn Andersson 	[SLAVE_SMSS] = &xs_smss,
2175f29dabdaSBjorn Andersson 	[SLAVE_TCU] = &xs_sys_tcu_cfg,
2176f29dabdaSBjorn Andersson };
2177f29dabdaSBjorn Andersson 
21783d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_config_noc = {
2179f29dabdaSBjorn Andersson 	.nodes = config_noc_nodes,
2180f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(config_noc_nodes),
2181f29dabdaSBjorn Andersson 	.bcms = config_noc_bcms,
2182f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(config_noc_bcms),
2183f29dabdaSBjorn Andersson };
2184f29dabdaSBjorn Andersson 
218501c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const dc_noc_bcms[] = {
2186f29dabdaSBjorn Andersson };
2187f29dabdaSBjorn Andersson 
2188fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = {
2189f29dabdaSBjorn Andersson 	[MASTER_CNOC_DC_NOC] = &qnm_cnoc_dc_noc,
2190f29dabdaSBjorn Andersson 	[SLAVE_LLCC_CFG] = &qhs_llcc,
2191f29dabdaSBjorn Andersson 	[SLAVE_GEM_NOC_CFG] = &qns_gemnoc,
2192f29dabdaSBjorn Andersson };
2193f29dabdaSBjorn Andersson 
21943d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_dc_noc = {
2195f29dabdaSBjorn Andersson 	.nodes = dc_noc_nodes,
2196f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
2197f29dabdaSBjorn Andersson 	.bcms = dc_noc_bcms,
2198f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(dc_noc_bcms),
2199f29dabdaSBjorn Andersson };
2200f29dabdaSBjorn Andersson 
220101c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const gem_noc_bcms[] = {
2202f29dabdaSBjorn Andersson 	&bcm_sh0,
2203f29dabdaSBjorn Andersson 	&bcm_sh2,
2204f29dabdaSBjorn Andersson };
2205f29dabdaSBjorn Andersson 
2206fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const gem_noc_nodes[] = {
2207f29dabdaSBjorn Andersson 	[MASTER_GPU_TCU] = &alm_gpu_tcu,
2208f29dabdaSBjorn Andersson 	[MASTER_PCIE_TCU] = &alm_pcie_tcu,
2209f29dabdaSBjorn Andersson 	[MASTER_SYS_TCU] = &alm_sys_tcu,
2210f29dabdaSBjorn Andersson 	[MASTER_APPSS_PROC] = &chm_apps,
2211f29dabdaSBjorn Andersson 	[MASTER_COMPUTE_NOC] = &qnm_cmpnoc0,
2212f29dabdaSBjorn Andersson 	[MASTER_COMPUTE_NOC_1] = &qnm_cmpnoc1,
2213f29dabdaSBjorn Andersson 	[MASTER_GEM_NOC_CFG] = &qnm_gemnoc_cfg,
2214f29dabdaSBjorn Andersson 	[MASTER_GFX3D] = &qnm_gpu,
2215f29dabdaSBjorn Andersson 	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
2216f29dabdaSBjorn Andersson 	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
2217f29dabdaSBjorn Andersson 	[MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie,
2218f29dabdaSBjorn Andersson 	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
2219f29dabdaSBjorn Andersson 	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
2220f29dabdaSBjorn Andersson 	[SLAVE_GEM_NOC_CNOC] = &qns_gem_noc_cnoc,
2221f29dabdaSBjorn Andersson 	[SLAVE_LLCC] = &qns_llcc,
2222f29dabdaSBjorn Andersson 	[SLAVE_GEM_NOC_PCIE_CNOC] = &qns_pcie,
2223f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_GEM_NOC_1] = &srvc_even_gemnoc,
2224f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_GEM_NOC_2] = &srvc_odd_gemnoc,
2225f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_GEM_NOC] = &srvc_sys_gemnoc,
2226f29dabdaSBjorn Andersson };
2227f29dabdaSBjorn Andersson 
22283d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_gem_noc = {
2229f29dabdaSBjorn Andersson 	.nodes = gem_noc_nodes,
2230f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(gem_noc_nodes),
2231f29dabdaSBjorn Andersson 	.bcms = gem_noc_bcms,
2232f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
2233f29dabdaSBjorn Andersson };
2234f29dabdaSBjorn Andersson 
223501c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const lpass_ag_noc_bcms[] = {
2236f29dabdaSBjorn Andersson 	&bcm_sn9,
2237f29dabdaSBjorn Andersson };
2238f29dabdaSBjorn Andersson 
2239fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const lpass_ag_noc_nodes[] = {
2240f29dabdaSBjorn Andersson 	[MASTER_CNOC_LPASS_AG_NOC] = &qhm_config_noc,
2241f29dabdaSBjorn Andersson 	[MASTER_LPASS_PROC] = &qxm_lpass_dsp,
2242f29dabdaSBjorn Andersson 	[SLAVE_LPASS_CORE_CFG] = &qhs_lpass_core,
2243f29dabdaSBjorn Andersson 	[SLAVE_LPASS_LPI_CFG] = &qhs_lpass_lpi,
2244f29dabdaSBjorn Andersson 	[SLAVE_LPASS_MPU_CFG] = &qhs_lpass_mpu,
2245f29dabdaSBjorn Andersson 	[SLAVE_LPASS_TOP_CFG] = &qhs_lpass_top,
2246f29dabdaSBjorn Andersson 	[SLAVE_LPASS_SNOC] = &qns_sysnoc,
2247f29dabdaSBjorn Andersson 	[SLAVE_SERVICES_LPASS_AML_NOC] = &srvc_niu_aml_noc,
2248f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_LPASS_AG_NOC] = &srvc_niu_lpass_agnoc,
2249f29dabdaSBjorn Andersson };
2250f29dabdaSBjorn Andersson 
22513d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_lpass_ag_noc = {
2252f29dabdaSBjorn Andersson 	.nodes = lpass_ag_noc_nodes,
2253f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(lpass_ag_noc_nodes),
2254f29dabdaSBjorn Andersson 	.bcms = lpass_ag_noc_bcms,
2255f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(lpass_ag_noc_bcms),
2256f29dabdaSBjorn Andersson };
2257f29dabdaSBjorn Andersson 
225801c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const mc_virt_bcms[] = {
2259f29dabdaSBjorn Andersson 	&bcm_acv,
2260f29dabdaSBjorn Andersson 	&bcm_mc0,
2261f29dabdaSBjorn Andersson };
2262f29dabdaSBjorn Andersson 
2263fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const mc_virt_nodes[] = {
2264f29dabdaSBjorn Andersson 	[MASTER_LLCC] = &llcc_mc,
2265f29dabdaSBjorn Andersson 	[SLAVE_EBI1] = &ebi,
2266f29dabdaSBjorn Andersson };
2267f29dabdaSBjorn Andersson 
22683d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_mc_virt = {
2269f29dabdaSBjorn Andersson 	.nodes = mc_virt_nodes,
2270f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(mc_virt_nodes),
2271f29dabdaSBjorn Andersson 	.bcms = mc_virt_bcms,
2272f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(mc_virt_bcms),
2273f29dabdaSBjorn Andersson };
2274f29dabdaSBjorn Andersson 
227501c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
2276f29dabdaSBjorn Andersson 	&bcm_mm0,
2277f29dabdaSBjorn Andersson 	&bcm_mm1,
2278f29dabdaSBjorn Andersson };
2279f29dabdaSBjorn Andersson 
2280fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = {
2281f29dabdaSBjorn Andersson 	[MASTER_CAMNOC_HF] = &qnm_camnoc_hf,
2282f29dabdaSBjorn Andersson 	[MASTER_MDP0] = &qnm_mdp0_0,
2283f29dabdaSBjorn Andersson 	[MASTER_MDP1] = &qnm_mdp0_1,
2284f29dabdaSBjorn Andersson 	[MASTER_MDP_CORE1_0] = &qnm_mdp1_0,
2285f29dabdaSBjorn Andersson 	[MASTER_MDP_CORE1_1] = &qnm_mdp1_1,
2286f29dabdaSBjorn Andersson 	[MASTER_CNOC_MNOC_CFG] = &qnm_mnoc_cfg,
2287f29dabdaSBjorn Andersson 	[MASTER_ROTATOR] = &qnm_rot_0,
2288f29dabdaSBjorn Andersson 	[MASTER_ROTATOR_1] = &qnm_rot_1,
2289f29dabdaSBjorn Andersson 	[MASTER_VIDEO_P0] = &qnm_video0,
2290f29dabdaSBjorn Andersson 	[MASTER_VIDEO_P1] = &qnm_video1,
2291f29dabdaSBjorn Andersson 	[MASTER_VIDEO_PROC] = &qnm_video_cvp,
2292f29dabdaSBjorn Andersson 	[MASTER_CAMNOC_ICP] = &qxm_camnoc_icp,
2293f29dabdaSBjorn Andersson 	[MASTER_CAMNOC_SF] = &qxm_camnoc_sf,
2294f29dabdaSBjorn Andersson 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
2295f29dabdaSBjorn Andersson 	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
2296f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
2297f29dabdaSBjorn Andersson };
2298f29dabdaSBjorn Andersson 
22993d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_mmss_noc = {
2300f29dabdaSBjorn Andersson 	.nodes = mmss_noc_nodes,
2301f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
2302f29dabdaSBjorn Andersson 	.bcms = mmss_noc_bcms,
2303f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
2304f29dabdaSBjorn Andersson };
2305f29dabdaSBjorn Andersson 
230601c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const nspa_noc_bcms[] = {
2307f29dabdaSBjorn Andersson 	&bcm_nsa0,
2308f29dabdaSBjorn Andersson 	&bcm_nsa1,
2309f29dabdaSBjorn Andersson };
2310f29dabdaSBjorn Andersson 
2311fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const nspa_noc_nodes[] = {
2312f29dabdaSBjorn Andersson 	[MASTER_CDSP_NOC_CFG] = &qhm_nsp_noc_config,
2313f29dabdaSBjorn Andersson 	[MASTER_CDSP_PROC] = &qxm_nsp,
2314f29dabdaSBjorn Andersson 	[SLAVE_CDSP_MEM_NOC] = &qns_nsp_gemnoc,
2315f29dabdaSBjorn Andersson 	[SLAVE_NSP_XFR] = &qxs_nsp_xfr,
2316f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_NSP_NOC] = &service_nsp_noc,
2317f29dabdaSBjorn Andersson };
2318f29dabdaSBjorn Andersson 
23193d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_nspa_noc = {
2320f29dabdaSBjorn Andersson 	.nodes = nspa_noc_nodes,
2321f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(nspa_noc_nodes),
2322f29dabdaSBjorn Andersson 	.bcms = nspa_noc_bcms,
2323f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(nspa_noc_bcms),
2324f29dabdaSBjorn Andersson };
2325f29dabdaSBjorn Andersson 
232601c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const nspb_noc_bcms[] = {
2327f29dabdaSBjorn Andersson 	&bcm_nsb0,
2328f29dabdaSBjorn Andersson 	&bcm_nsb1,
2329f29dabdaSBjorn Andersson };
2330f29dabdaSBjorn Andersson 
2331fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const nspb_noc_nodes[] = {
2332f29dabdaSBjorn Andersson 	[MASTER_CDSPB_NOC_CFG] = &qhm_nspb_noc_config,
2333f29dabdaSBjorn Andersson 	[MASTER_CDSP_PROC_B] = &qxm_nspb,
2334f29dabdaSBjorn Andersson 	[SLAVE_CDSPB_MEM_NOC] = &qns_nspb_gemnoc,
2335f29dabdaSBjorn Andersson 	[SLAVE_NSPB_XFR] = &qxs_nspb_xfr,
2336f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_NSPB_NOC] = &service_nspb_noc,
2337f29dabdaSBjorn Andersson };
2338f29dabdaSBjorn Andersson 
23393d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_nspb_noc = {
2340f29dabdaSBjorn Andersson 	.nodes = nspb_noc_nodes,
2341f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(nspb_noc_nodes),
2342f29dabdaSBjorn Andersson 	.bcms = nspb_noc_bcms,
2343f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(nspb_noc_bcms),
2344f29dabdaSBjorn Andersson };
2345f29dabdaSBjorn Andersson 
234601c3f038SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_main_bcms[] = {
2347f29dabdaSBjorn Andersson 	&bcm_sn0,
2348f29dabdaSBjorn Andersson 	&bcm_sn1,
2349f29dabdaSBjorn Andersson 	&bcm_sn3,
2350f29dabdaSBjorn Andersson 	&bcm_sn4,
2351f29dabdaSBjorn Andersson 	&bcm_sn5,
2352f29dabdaSBjorn Andersson 	&bcm_sn9,
2353f29dabdaSBjorn Andersson };
2354f29dabdaSBjorn Andersson 
2355fcb3cd7eSKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_main_nodes[] = {
2356f29dabdaSBjorn Andersson 	[MASTER_A1NOC_SNOC] = &qnm_aggre1_noc,
2357f29dabdaSBjorn Andersson 	[MASTER_A2NOC_SNOC] = &qnm_aggre2_noc,
2358f29dabdaSBjorn Andersson 	[MASTER_USB_NOC_SNOC] = &qnm_aggre_usb_noc,
2359f29dabdaSBjorn Andersson 	[MASTER_LPASS_ANOC] = &qnm_lpass_noc,
2360f29dabdaSBjorn Andersson 	[MASTER_SNOC_CFG] = &qnm_snoc_cfg,
2361f29dabdaSBjorn Andersson 	[MASTER_PIMEM] = &qxm_pimem,
2362f29dabdaSBjorn Andersson 	[MASTER_GIC] = &xm_gic,
2363f29dabdaSBjorn Andersson 	[SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc,
2364f29dabdaSBjorn Andersson 	[SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf,
2365f29dabdaSBjorn Andersson 	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
2366f29dabdaSBjorn Andersson };
2367f29dabdaSBjorn Andersson 
23683d28502dSKrzysztof Kozlowski static const struct qcom_icc_desc sc8280xp_system_noc_main = {
2369f29dabdaSBjorn Andersson 	.nodes = system_noc_main_nodes,
2370f29dabdaSBjorn Andersson 	.num_nodes = ARRAY_SIZE(system_noc_main_nodes),
2371f29dabdaSBjorn Andersson 	.bcms = system_noc_main_bcms,
2372f29dabdaSBjorn Andersson 	.num_bcms = ARRAY_SIZE(system_noc_main_bcms),
2373f29dabdaSBjorn Andersson };
2374f29dabdaSBjorn Andersson 
2375f29dabdaSBjorn Andersson static const struct of_device_id qnoc_of_match[] = {
2376f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-aggre1-noc", .data = &sc8280xp_aggre1_noc, },
2377f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-aggre2-noc", .data = &sc8280xp_aggre2_noc, },
2378f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-clk-virt", .data = &sc8280xp_clk_virt, },
2379f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-config-noc", .data = &sc8280xp_config_noc, },
2380f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-dc-noc", .data = &sc8280xp_dc_noc, },
2381f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-gem-noc", .data = &sc8280xp_gem_noc, },
2382f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-lpass-ag-noc", .data = &sc8280xp_lpass_ag_noc, },
2383f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-mc-virt", .data = &sc8280xp_mc_virt, },
2384f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-mmss-noc", .data = &sc8280xp_mmss_noc, },
2385f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-nspa-noc", .data = &sc8280xp_nspa_noc, },
2386f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-nspb-noc", .data = &sc8280xp_nspb_noc, },
2387f29dabdaSBjorn Andersson 	{ .compatible = "qcom,sc8280xp-system-noc", .data = &sc8280xp_system_noc_main, },
2388f29dabdaSBjorn Andersson 	{ }
2389f29dabdaSBjorn Andersson };
2390f29dabdaSBjorn Andersson MODULE_DEVICE_TABLE(of, qnoc_of_match);
2391f29dabdaSBjorn Andersson 
2392f29dabdaSBjorn Andersson static struct platform_driver qnoc_driver = {
2393f29dabdaSBjorn Andersson 	.probe = qcom_icc_rpmh_probe,
2394f29dabdaSBjorn Andersson 	.remove = qcom_icc_rpmh_remove,
2395f29dabdaSBjorn Andersson 	.driver = {
2396f29dabdaSBjorn Andersson 		.name = "qnoc-sc8280xp",
2397f29dabdaSBjorn Andersson 		.of_match_table = qnoc_of_match,
2398f29dabdaSBjorn Andersson 		.sync_state = icc_sync_state,
2399f29dabdaSBjorn Andersson 	},
2400f29dabdaSBjorn Andersson };
2401f29dabdaSBjorn Andersson 
qnoc_driver_init(void)2402f29dabdaSBjorn Andersson static int __init qnoc_driver_init(void)
2403f29dabdaSBjorn Andersson {
2404f29dabdaSBjorn Andersson 	return platform_driver_register(&qnoc_driver);
2405f29dabdaSBjorn Andersson }
2406f29dabdaSBjorn Andersson core_initcall(qnoc_driver_init);
2407f29dabdaSBjorn Andersson 
qnoc_driver_exit(void)2408f29dabdaSBjorn Andersson static void __exit qnoc_driver_exit(void)
2409f29dabdaSBjorn Andersson {
2410f29dabdaSBjorn Andersson 	platform_driver_unregister(&qnoc_driver);
2411f29dabdaSBjorn Andersson }
2412f29dabdaSBjorn Andersson module_exit(qnoc_driver_exit);
2413f29dabdaSBjorn Andersson 
2414f29dabdaSBjorn Andersson MODULE_DESCRIPTION("Qualcomm SC8280XP NoC driver");
2415f29dabdaSBjorn Andersson MODULE_LICENSE("GPL");
2416