xref: /openbmc/linux/drivers/interconnect/qcom/sm8250.c (revision 3e7759b94a0fcfdd6771caa64a37dda7ce825874)
16df5b349SJonathan Marek // SPDX-License-Identifier: GPL-2.0
26df5b349SJonathan Marek /*
36df5b349SJonathan Marek  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
46df5b349SJonathan Marek  *
56df5b349SJonathan Marek  */
66df5b349SJonathan Marek 
76df5b349SJonathan Marek #include <linux/device.h>
86df5b349SJonathan Marek #include <linux/interconnect.h>
96df5b349SJonathan Marek #include <linux/interconnect-provider.h>
10cff66aceSRob Herring #include <linux/mod_devicetable.h>
116df5b349SJonathan Marek #include <linux/module.h>
12cff66aceSRob Herring #include <linux/platform_device.h>
136df5b349SJonathan Marek #include <dt-bindings/interconnect/qcom,sm8250.h>
146df5b349SJonathan Marek 
156df5b349SJonathan Marek #include "bcm-voter.h"
166df5b349SJonathan Marek #include "icc-rpmh.h"
176df5b349SJonathan Marek #include "sm8250.h"
186df5b349SJonathan Marek 
19aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_a1noc_cfg = {
20aaf7d02fSKonrad Dybcio 	.name = "qhm_a1noc_cfg",
21aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_A1NOC_CFG,
22aaf7d02fSKonrad Dybcio 	.channels = 1,
23aaf7d02fSKonrad Dybcio 	.buswidth = 4,
24aaf7d02fSKonrad Dybcio 	.num_links = 1,
25aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SERVICE_A1NOC },
26aaf7d02fSKonrad Dybcio };
27aaf7d02fSKonrad Dybcio 
28aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qspi = {
29aaf7d02fSKonrad Dybcio 	.name = "qhm_qspi",
30aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QSPI_0,
31aaf7d02fSKonrad Dybcio 	.channels = 1,
32aaf7d02fSKonrad Dybcio 	.buswidth = 4,
33aaf7d02fSKonrad Dybcio 	.num_links = 1,
34aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
35aaf7d02fSKonrad Dybcio };
36aaf7d02fSKonrad Dybcio 
37aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qup1 = {
38aaf7d02fSKonrad Dybcio 	.name = "qhm_qup1",
39aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QUP_1,
40aaf7d02fSKonrad Dybcio 	.channels = 1,
41aaf7d02fSKonrad Dybcio 	.buswidth = 4,
42aaf7d02fSKonrad Dybcio 	.num_links = 1,
43aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
44aaf7d02fSKonrad Dybcio };
45aaf7d02fSKonrad Dybcio 
46aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qup2 = {
47aaf7d02fSKonrad Dybcio 	.name = "qhm_qup2",
48aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QUP_2,
49aaf7d02fSKonrad Dybcio 	.channels = 1,
50aaf7d02fSKonrad Dybcio 	.buswidth = 4,
51aaf7d02fSKonrad Dybcio 	.num_links = 1,
52aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
53aaf7d02fSKonrad Dybcio };
54aaf7d02fSKonrad Dybcio 
55aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_tsif = {
56aaf7d02fSKonrad Dybcio 	.name = "qhm_tsif",
57aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_TSIF,
58aaf7d02fSKonrad Dybcio 	.channels = 1,
59aaf7d02fSKonrad Dybcio 	.buswidth = 4,
60aaf7d02fSKonrad Dybcio 	.num_links = 1,
61aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
62aaf7d02fSKonrad Dybcio };
63aaf7d02fSKonrad Dybcio 
64aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_pcie3_modem = {
65aaf7d02fSKonrad Dybcio 	.name = "xm_pcie3_modem",
66aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_PCIE_2,
67aaf7d02fSKonrad Dybcio 	.channels = 1,
68aaf7d02fSKonrad Dybcio 	.buswidth = 8,
69aaf7d02fSKonrad Dybcio 	.num_links = 1,
70aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1 },
71aaf7d02fSKonrad Dybcio };
72aaf7d02fSKonrad Dybcio 
73aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_sdc4 = {
74aaf7d02fSKonrad Dybcio 	.name = "xm_sdc4",
75aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_SDCC_4,
76aaf7d02fSKonrad Dybcio 	.channels = 1,
77aaf7d02fSKonrad Dybcio 	.buswidth = 8,
78aaf7d02fSKonrad Dybcio 	.num_links = 1,
79aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
80aaf7d02fSKonrad Dybcio };
81aaf7d02fSKonrad Dybcio 
82aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_ufs_mem = {
83aaf7d02fSKonrad Dybcio 	.name = "xm_ufs_mem",
84aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_UFS_MEM,
85aaf7d02fSKonrad Dybcio 	.channels = 1,
86aaf7d02fSKonrad Dybcio 	.buswidth = 8,
87aaf7d02fSKonrad Dybcio 	.num_links = 1,
88aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
89aaf7d02fSKonrad Dybcio };
90aaf7d02fSKonrad Dybcio 
91aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_usb3_0 = {
92aaf7d02fSKonrad Dybcio 	.name = "xm_usb3_0",
93aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_USB3,
94aaf7d02fSKonrad Dybcio 	.channels = 1,
95aaf7d02fSKonrad Dybcio 	.buswidth = 8,
96aaf7d02fSKonrad Dybcio 	.num_links = 1,
97aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
98aaf7d02fSKonrad Dybcio };
99aaf7d02fSKonrad Dybcio 
100aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_usb3_1 = {
101aaf7d02fSKonrad Dybcio 	.name = "xm_usb3_1",
102aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_USB3_1,
103aaf7d02fSKonrad Dybcio 	.channels = 1,
104aaf7d02fSKonrad Dybcio 	.buswidth = 8,
105aaf7d02fSKonrad Dybcio 	.num_links = 1,
106aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_SLV },
107aaf7d02fSKonrad Dybcio };
108aaf7d02fSKonrad Dybcio 
109aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_a2noc_cfg = {
110aaf7d02fSKonrad Dybcio 	.name = "qhm_a2noc_cfg",
111aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_A2NOC_CFG,
112aaf7d02fSKonrad Dybcio 	.channels = 1,
113aaf7d02fSKonrad Dybcio 	.buswidth = 4,
114aaf7d02fSKonrad Dybcio 	.num_links = 1,
115aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SERVICE_A2NOC },
116aaf7d02fSKonrad Dybcio };
117aaf7d02fSKonrad Dybcio 
118aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qdss_bam = {
119aaf7d02fSKonrad Dybcio 	.name = "qhm_qdss_bam",
120aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QDSS_BAM,
121aaf7d02fSKonrad Dybcio 	.channels = 1,
122aaf7d02fSKonrad Dybcio 	.buswidth = 4,
123aaf7d02fSKonrad Dybcio 	.num_links = 1,
124aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
125aaf7d02fSKonrad Dybcio };
126aaf7d02fSKonrad Dybcio 
127aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qup0 = {
128aaf7d02fSKonrad Dybcio 	.name = "qhm_qup0",
129aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QUP_0,
130aaf7d02fSKonrad Dybcio 	.channels = 1,
131aaf7d02fSKonrad Dybcio 	.buswidth = 4,
132aaf7d02fSKonrad Dybcio 	.num_links = 1,
133aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
134aaf7d02fSKonrad Dybcio };
135aaf7d02fSKonrad Dybcio 
136aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_cnoc = {
137aaf7d02fSKonrad Dybcio 	.name = "qnm_cnoc",
138aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CNOC_A2NOC,
139aaf7d02fSKonrad Dybcio 	.channels = 1,
140aaf7d02fSKonrad Dybcio 	.buswidth = 8,
141aaf7d02fSKonrad Dybcio 	.num_links = 1,
142aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
143aaf7d02fSKonrad Dybcio };
144aaf7d02fSKonrad Dybcio 
145aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_crypto = {
146aaf7d02fSKonrad Dybcio 	.name = "qxm_crypto",
147aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CRYPTO_CORE_0,
148aaf7d02fSKonrad Dybcio 	.channels = 1,
149aaf7d02fSKonrad Dybcio 	.buswidth = 8,
150aaf7d02fSKonrad Dybcio 	.num_links = 1,
151aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
152aaf7d02fSKonrad Dybcio };
153aaf7d02fSKonrad Dybcio 
154aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_ipa = {
155aaf7d02fSKonrad Dybcio 	.name = "qxm_ipa",
156aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_IPA,
157aaf7d02fSKonrad Dybcio 	.channels = 1,
158aaf7d02fSKonrad Dybcio 	.buswidth = 8,
159aaf7d02fSKonrad Dybcio 	.num_links = 1,
160aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
161aaf7d02fSKonrad Dybcio };
162aaf7d02fSKonrad Dybcio 
163aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_pcie3_0 = {
164aaf7d02fSKonrad Dybcio 	.name = "xm_pcie3_0",
165aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_PCIE,
166aaf7d02fSKonrad Dybcio 	.channels = 1,
167aaf7d02fSKonrad Dybcio 	.buswidth = 8,
168aaf7d02fSKonrad Dybcio 	.num_links = 1,
169aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC },
170aaf7d02fSKonrad Dybcio };
171aaf7d02fSKonrad Dybcio 
172aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_pcie3_1 = {
173aaf7d02fSKonrad Dybcio 	.name = "xm_pcie3_1",
174aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_PCIE_1,
175aaf7d02fSKonrad Dybcio 	.channels = 1,
176aaf7d02fSKonrad Dybcio 	.buswidth = 8,
177aaf7d02fSKonrad Dybcio 	.num_links = 1,
178aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC },
179aaf7d02fSKonrad Dybcio };
180aaf7d02fSKonrad Dybcio 
181aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_qdss_etr = {
182aaf7d02fSKonrad Dybcio 	.name = "xm_qdss_etr",
183aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QDSS_ETR,
184aaf7d02fSKonrad Dybcio 	.channels = 1,
185aaf7d02fSKonrad Dybcio 	.buswidth = 8,
186aaf7d02fSKonrad Dybcio 	.num_links = 1,
187aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
188aaf7d02fSKonrad Dybcio };
189aaf7d02fSKonrad Dybcio 
190aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_sdc2 = {
191aaf7d02fSKonrad Dybcio 	.name = "xm_sdc2",
192aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_SDCC_2,
193aaf7d02fSKonrad Dybcio 	.channels = 1,
194aaf7d02fSKonrad Dybcio 	.buswidth = 8,
195aaf7d02fSKonrad Dybcio 	.num_links = 1,
196aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
197aaf7d02fSKonrad Dybcio };
198aaf7d02fSKonrad Dybcio 
199aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_ufs_card = {
200aaf7d02fSKonrad Dybcio 	.name = "xm_ufs_card",
201aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_UFS_CARD,
202aaf7d02fSKonrad Dybcio 	.channels = 1,
203aaf7d02fSKonrad Dybcio 	.buswidth = 8,
204aaf7d02fSKonrad Dybcio 	.num_links = 1,
205aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_SLV },
206aaf7d02fSKonrad Dybcio };
207aaf7d02fSKonrad Dybcio 
208aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_npu = {
209aaf7d02fSKonrad Dybcio 	.name = "qnm_npu",
210aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_NPU,
211aaf7d02fSKonrad Dybcio 	.channels = 2,
212aaf7d02fSKonrad Dybcio 	.buswidth = 32,
213aaf7d02fSKonrad Dybcio 	.num_links = 1,
214aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_CDSP_MEM_NOC },
215aaf7d02fSKonrad Dybcio };
216aaf7d02fSKonrad Dybcio 
217aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_snoc = {
218aaf7d02fSKonrad Dybcio 	.name = "qnm_snoc",
219aaf7d02fSKonrad Dybcio 	.id = SM8250_SNOC_CNOC_MAS,
220aaf7d02fSKonrad Dybcio 	.channels = 1,
221aaf7d02fSKonrad Dybcio 	.buswidth = 8,
222aaf7d02fSKonrad Dybcio 	.num_links = 49,
223aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_CDSP_CFG,
224aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CAMERA_CFG,
225aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TLMM_SOUTH,
226aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TLMM_NORTH,
227aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SDCC_4,
228aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TLMM_WEST,
229aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SDCC_2,
230aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CNOC_MNOC_CFG,
231aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_UFS_MEM_CFG,
232aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SNOC_CFG,
233aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PDM,
234aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CX_RDPM,
235aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_1_CFG,
236aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_A2NOC_CFG,
237aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QDSS_CFG,
238aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_DISPLAY_CFG,
239aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_2_CFG,
240aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TCSR,
241aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_DCC_CFG,
242aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CNOC_DDRSS,
243aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_IPC_ROUTER_CFG,
244aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_0_CFG,
245aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_RBCPR_MMCX_CFG,
246aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_CFG,
247aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_AHB2PHY_SOUTH,
248aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_AHB2PHY_NORTH,
249aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GRAPHICS_3D_CFG,
250aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_VENUS_CFG,
251aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TSIF,
252aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_IPA_CFG,
253aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_IMEM_CFG,
254aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_USB3,
255aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SERVICE_CNOC,
256aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_UFS_CARD_CFG,
257aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_USB3_1,
258aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_LPASS,
259aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_RBCPR_CX_CFG,
260aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_A1NOC_CFG,
261aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_AOSS,
262aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PRNG,
263aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_VSENSE_CTRL_CFG,
264aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QSPI_0,
265aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CRYPTO_0_CFG,
266aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PIMEM_CFG,
267aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_RBCPR_MX_CFG,
268aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QUP_0,
269aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QUP_1,
270aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QUP_2,
271aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CLK_CTL
272aaf7d02fSKonrad Dybcio 	},
273aaf7d02fSKonrad Dybcio };
274aaf7d02fSKonrad Dybcio 
275aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_qdss_dap = {
276aaf7d02fSKonrad Dybcio 	.name = "xm_qdss_dap",
277aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_QDSS_DAP,
278aaf7d02fSKonrad Dybcio 	.channels = 1,
279aaf7d02fSKonrad Dybcio 	.buswidth = 8,
280aaf7d02fSKonrad Dybcio 	.num_links = 50,
281aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_CDSP_CFG,
282aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CAMERA_CFG,
283aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TLMM_SOUTH,
284aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TLMM_NORTH,
285aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SDCC_4,
286aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TLMM_WEST,
287aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SDCC_2,
288aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CNOC_MNOC_CFG,
289aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_UFS_MEM_CFG,
290aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SNOC_CFG,
291aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PDM,
292aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CX_RDPM,
293aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_1_CFG,
294aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_A2NOC_CFG,
295aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QDSS_CFG,
296aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_DISPLAY_CFG,
297aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_2_CFG,
298aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TCSR,
299aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_DCC_CFG,
300aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CNOC_DDRSS,
301aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_IPC_ROUTER_CFG,
302aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CNOC_A2NOC,
303aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_0_CFG,
304aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_RBCPR_MMCX_CFG,
305aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_CFG,
306aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_AHB2PHY_SOUTH,
307aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_AHB2PHY_NORTH,
308aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GRAPHICS_3D_CFG,
309aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_VENUS_CFG,
310aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TSIF,
311aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_IPA_CFG,
312aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_IMEM_CFG,
313aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_USB3,
314aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SERVICE_CNOC,
315aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_UFS_CARD_CFG,
316aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_USB3_1,
317aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_LPASS,
318aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_RBCPR_CX_CFG,
319aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_A1NOC_CFG,
320aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_AOSS,
321aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PRNG,
322aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_VSENSE_CTRL_CFG,
323aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QSPI_0,
324aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CRYPTO_0_CFG,
325aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PIMEM_CFG,
326aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_RBCPR_MX_CFG,
327aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QUP_0,
328aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QUP_1,
329aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QUP_2,
330aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_CLK_CTL
331aaf7d02fSKonrad Dybcio 	},
332aaf7d02fSKonrad Dybcio };
333aaf7d02fSKonrad Dybcio 
334aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_cnoc_dc_noc = {
335aaf7d02fSKonrad Dybcio 	.name = "qhm_cnoc_dc_noc",
336aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CNOC_DC_NOC,
337aaf7d02fSKonrad Dybcio 	.channels = 1,
338aaf7d02fSKonrad Dybcio 	.buswidth = 4,
339aaf7d02fSKonrad Dybcio 	.num_links = 2,
340aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_GEM_NOC_CFG,
341aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_LLCC_CFG
342aaf7d02fSKonrad Dybcio 	},
343aaf7d02fSKonrad Dybcio };
344aaf7d02fSKonrad Dybcio 
345aaf7d02fSKonrad Dybcio static struct qcom_icc_node alm_gpu_tcu = {
346aaf7d02fSKonrad Dybcio 	.name = "alm_gpu_tcu",
347aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_GPU_TCU,
348aaf7d02fSKonrad Dybcio 	.channels = 1,
349aaf7d02fSKonrad Dybcio 	.buswidth = 8,
350aaf7d02fSKonrad Dybcio 	.num_links = 2,
351aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
352aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC
353aaf7d02fSKonrad Dybcio 	},
354aaf7d02fSKonrad Dybcio };
355aaf7d02fSKonrad Dybcio 
356aaf7d02fSKonrad Dybcio static struct qcom_icc_node alm_sys_tcu = {
357aaf7d02fSKonrad Dybcio 	.name = "alm_sys_tcu",
358aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_SYS_TCU,
359aaf7d02fSKonrad Dybcio 	.channels = 1,
360aaf7d02fSKonrad Dybcio 	.buswidth = 8,
361aaf7d02fSKonrad Dybcio 	.num_links = 2,
362aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
363aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC
364aaf7d02fSKonrad Dybcio 	},
365aaf7d02fSKonrad Dybcio };
366aaf7d02fSKonrad Dybcio 
367aaf7d02fSKonrad Dybcio static struct qcom_icc_node chm_apps = {
368aaf7d02fSKonrad Dybcio 	.name = "chm_apps",
369aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_AMPSS_M0,
370aaf7d02fSKonrad Dybcio 	.channels = 2,
371aaf7d02fSKonrad Dybcio 	.buswidth = 32,
372aaf7d02fSKonrad Dybcio 	.num_links = 3,
373aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
374aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC,
375aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_MEM_NOC_PCIE_SNOC
376aaf7d02fSKonrad Dybcio 	},
377aaf7d02fSKonrad Dybcio };
378aaf7d02fSKonrad Dybcio 
379aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_gemnoc_cfg = {
380aaf7d02fSKonrad Dybcio 	.name = "qhm_gemnoc_cfg",
381aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_GEM_NOC_CFG,
382aaf7d02fSKonrad Dybcio 	.channels = 1,
383aaf7d02fSKonrad Dybcio 	.buswidth = 4,
384aaf7d02fSKonrad Dybcio 	.num_links = 3,
385aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SERVICE_GEM_NOC_2,
386aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SERVICE_GEM_NOC_1,
387aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_SERVICE_GEM_NOC
388aaf7d02fSKonrad Dybcio 	},
389aaf7d02fSKonrad Dybcio };
390aaf7d02fSKonrad Dybcio 
391aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_cmpnoc = {
392aaf7d02fSKonrad Dybcio 	.name = "qnm_cmpnoc",
393aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_COMPUTE_NOC,
394aaf7d02fSKonrad Dybcio 	.channels = 2,
395aaf7d02fSKonrad Dybcio 	.buswidth = 32,
396aaf7d02fSKonrad Dybcio 	.num_links = 2,
397aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
398aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC
399aaf7d02fSKonrad Dybcio 	},
400aaf7d02fSKonrad Dybcio };
401aaf7d02fSKonrad Dybcio 
402aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_gpu = {
403aaf7d02fSKonrad Dybcio 	.name = "qnm_gpu",
404aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_GRAPHICS_3D,
405aaf7d02fSKonrad Dybcio 	.channels = 2,
406aaf7d02fSKonrad Dybcio 	.buswidth = 32,
407aaf7d02fSKonrad Dybcio 	.num_links = 2,
408aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
409aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC },
410aaf7d02fSKonrad Dybcio };
411aaf7d02fSKonrad Dybcio 
412aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_mnoc_hf = {
413aaf7d02fSKonrad Dybcio 	.name = "qnm_mnoc_hf",
414aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_MNOC_HF_MEM_NOC,
415aaf7d02fSKonrad Dybcio 	.channels = 2,
416aaf7d02fSKonrad Dybcio 	.buswidth = 32,
417aaf7d02fSKonrad Dybcio 	.num_links = 1,
418aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC },
419aaf7d02fSKonrad Dybcio };
420aaf7d02fSKonrad Dybcio 
421aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_mnoc_sf = {
422aaf7d02fSKonrad Dybcio 	.name = "qnm_mnoc_sf",
423aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_MNOC_SF_MEM_NOC,
424aaf7d02fSKonrad Dybcio 	.channels = 2,
425aaf7d02fSKonrad Dybcio 	.buswidth = 32,
426aaf7d02fSKonrad Dybcio 	.num_links = 2,
427aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
428aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC
429aaf7d02fSKonrad Dybcio 	},
430aaf7d02fSKonrad Dybcio };
431aaf7d02fSKonrad Dybcio 
432aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_pcie = {
433aaf7d02fSKonrad Dybcio 	.name = "qnm_pcie",
434aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_ANOC_PCIE_GEM_NOC,
435aaf7d02fSKonrad Dybcio 	.channels = 1,
436aaf7d02fSKonrad Dybcio 	.buswidth = 16,
437aaf7d02fSKonrad Dybcio 	.num_links = 2,
438aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
439aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC
440aaf7d02fSKonrad Dybcio 	},
441aaf7d02fSKonrad Dybcio };
442aaf7d02fSKonrad Dybcio 
443aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_snoc_gc = {
444aaf7d02fSKonrad Dybcio 	.name = "qnm_snoc_gc",
445aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_SNOC_GC_MEM_NOC,
446aaf7d02fSKonrad Dybcio 	.channels = 1,
447aaf7d02fSKonrad Dybcio 	.buswidth = 8,
448aaf7d02fSKonrad Dybcio 	.num_links = 1,
449aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC },
450aaf7d02fSKonrad Dybcio };
451aaf7d02fSKonrad Dybcio 
452aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_snoc_sf = {
453aaf7d02fSKonrad Dybcio 	.name = "qnm_snoc_sf",
454aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_SNOC_SF_MEM_NOC,
455aaf7d02fSKonrad Dybcio 	.channels = 1,
456aaf7d02fSKonrad Dybcio 	.buswidth = 16,
457aaf7d02fSKonrad Dybcio 	.num_links = 3,
458aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_LLCC,
459aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_GEM_NOC_SNOC,
460aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_MEM_NOC_PCIE_SNOC
461aaf7d02fSKonrad Dybcio 	},
462aaf7d02fSKonrad Dybcio };
463aaf7d02fSKonrad Dybcio 
464aaf7d02fSKonrad Dybcio static struct qcom_icc_node llcc_mc = {
465aaf7d02fSKonrad Dybcio 	.name = "llcc_mc",
466aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_LLCC,
467aaf7d02fSKonrad Dybcio 	.channels = 4,
468aaf7d02fSKonrad Dybcio 	.buswidth = 4,
469aaf7d02fSKonrad Dybcio 	.num_links = 1,
470aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_EBI_CH0 },
471aaf7d02fSKonrad Dybcio };
472aaf7d02fSKonrad Dybcio 
473aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_mnoc_cfg = {
474aaf7d02fSKonrad Dybcio 	.name = "qhm_mnoc_cfg",
475aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CNOC_MNOC_CFG,
476aaf7d02fSKonrad Dybcio 	.channels = 1,
477aaf7d02fSKonrad Dybcio 	.buswidth = 4,
478aaf7d02fSKonrad Dybcio 	.num_links = 1,
479aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SERVICE_MNOC },
480aaf7d02fSKonrad Dybcio };
481aaf7d02fSKonrad Dybcio 
482aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_camnoc_hf = {
483aaf7d02fSKonrad Dybcio 	.name = "qnm_camnoc_hf",
484aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CAMNOC_HF,
485aaf7d02fSKonrad Dybcio 	.channels = 2,
486aaf7d02fSKonrad Dybcio 	.buswidth = 32,
487aaf7d02fSKonrad Dybcio 	.num_links = 1,
488aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_HF_MEM_NOC },
489aaf7d02fSKonrad Dybcio };
490aaf7d02fSKonrad Dybcio 
491aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_camnoc_icp = {
492aaf7d02fSKonrad Dybcio 	.name = "qnm_camnoc_icp",
493aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CAMNOC_ICP,
494aaf7d02fSKonrad Dybcio 	.channels = 1,
495aaf7d02fSKonrad Dybcio 	.buswidth = 8,
496aaf7d02fSKonrad Dybcio 	.num_links = 1,
497aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_SF_MEM_NOC },
498aaf7d02fSKonrad Dybcio };
499aaf7d02fSKonrad Dybcio 
500aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_camnoc_sf = {
501aaf7d02fSKonrad Dybcio 	.name = "qnm_camnoc_sf",
502aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_CAMNOC_SF,
503aaf7d02fSKonrad Dybcio 	.channels = 2,
504aaf7d02fSKonrad Dybcio 	.buswidth = 32,
505aaf7d02fSKonrad Dybcio 	.num_links = 1,
506aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_SF_MEM_NOC },
507aaf7d02fSKonrad Dybcio };
508aaf7d02fSKonrad Dybcio 
509aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_video0 = {
510aaf7d02fSKonrad Dybcio 	.name = "qnm_video0",
511aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_VIDEO_P0,
512aaf7d02fSKonrad Dybcio 	.channels = 1,
513aaf7d02fSKonrad Dybcio 	.buswidth = 32,
514aaf7d02fSKonrad Dybcio 	.num_links = 1,
515aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_SF_MEM_NOC },
516aaf7d02fSKonrad Dybcio };
517aaf7d02fSKonrad Dybcio 
518aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_video1 = {
519aaf7d02fSKonrad Dybcio 	.name = "qnm_video1",
520aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_VIDEO_P1,
521aaf7d02fSKonrad Dybcio 	.channels = 1,
522aaf7d02fSKonrad Dybcio 	.buswidth = 32,
523aaf7d02fSKonrad Dybcio 	.num_links = 1,
524aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_SF_MEM_NOC },
525aaf7d02fSKonrad Dybcio };
526aaf7d02fSKonrad Dybcio 
527aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_video_cvp = {
528aaf7d02fSKonrad Dybcio 	.name = "qnm_video_cvp",
529aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_VIDEO_PROC,
530aaf7d02fSKonrad Dybcio 	.channels = 1,
531aaf7d02fSKonrad Dybcio 	.buswidth = 32,
532aaf7d02fSKonrad Dybcio 	.num_links = 1,
533aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_SF_MEM_NOC },
534aaf7d02fSKonrad Dybcio };
535aaf7d02fSKonrad Dybcio 
536aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_mdp0 = {
537aaf7d02fSKonrad Dybcio 	.name = "qxm_mdp0",
538aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_MDP_PORT0,
539aaf7d02fSKonrad Dybcio 	.channels = 1,
540aaf7d02fSKonrad Dybcio 	.buswidth = 32,
541aaf7d02fSKonrad Dybcio 	.num_links = 1,
542aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_HF_MEM_NOC },
543aaf7d02fSKonrad Dybcio };
544aaf7d02fSKonrad Dybcio 
545aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_mdp1 = {
546aaf7d02fSKonrad Dybcio 	.name = "qxm_mdp1",
547aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_MDP_PORT1,
548aaf7d02fSKonrad Dybcio 	.channels = 1,
549aaf7d02fSKonrad Dybcio 	.buswidth = 32,
550aaf7d02fSKonrad Dybcio 	.num_links = 1,
551aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_HF_MEM_NOC },
552aaf7d02fSKonrad Dybcio };
553aaf7d02fSKonrad Dybcio 
554aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_rot = {
555aaf7d02fSKonrad Dybcio 	.name = "qxm_rot",
556aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_ROTATOR,
557aaf7d02fSKonrad Dybcio 	.channels = 1,
558aaf7d02fSKonrad Dybcio 	.buswidth = 32,
559aaf7d02fSKonrad Dybcio 	.num_links = 1,
560aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_MNOC_SF_MEM_NOC },
561aaf7d02fSKonrad Dybcio };
562aaf7d02fSKonrad Dybcio 
563aaf7d02fSKonrad Dybcio static struct qcom_icc_node amm_npu_sys = {
564aaf7d02fSKonrad Dybcio 	.name = "amm_npu_sys",
565aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_NPU_SYS,
566aaf7d02fSKonrad Dybcio 	.channels = 4,
567aaf7d02fSKonrad Dybcio 	.buswidth = 32,
568aaf7d02fSKonrad Dybcio 	.num_links = 1,
569aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_NPU_COMPUTE_NOC },
570aaf7d02fSKonrad Dybcio };
571aaf7d02fSKonrad Dybcio 
572aaf7d02fSKonrad Dybcio static struct qcom_icc_node amm_npu_sys_cdp_w = {
573aaf7d02fSKonrad Dybcio 	.name = "amm_npu_sys_cdp_w",
574aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_NPU_CDP,
575aaf7d02fSKonrad Dybcio 	.channels = 2,
576aaf7d02fSKonrad Dybcio 	.buswidth = 16,
577aaf7d02fSKonrad Dybcio 	.num_links = 1,
578aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_NPU_COMPUTE_NOC },
579aaf7d02fSKonrad Dybcio };
580aaf7d02fSKonrad Dybcio 
581aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_cfg = {
582aaf7d02fSKonrad Dybcio 	.name = "qhm_cfg",
583aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_NPU_NOC_CFG,
584aaf7d02fSKonrad Dybcio 	.channels = 1,
585aaf7d02fSKonrad Dybcio 	.buswidth = 4,
586aaf7d02fSKonrad Dybcio 	.num_links = 9,
587aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SERVICE_NPU_NOC,
588aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_ISENSE_CFG,
589aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_LLM_CFG,
590aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG,
591aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_CP,
592aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_TCM,
593aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_CAL_DP0,
594aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_CAL_DP1,
595aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_NPU_DPM
596aaf7d02fSKonrad Dybcio 	},
597aaf7d02fSKonrad Dybcio };
598aaf7d02fSKonrad Dybcio 
599aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_snoc_cfg = {
600aaf7d02fSKonrad Dybcio 	.name = "qhm_snoc_cfg",
601aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_SNOC_CFG,
602aaf7d02fSKonrad Dybcio 	.channels = 1,
603aaf7d02fSKonrad Dybcio 	.buswidth = 4,
604aaf7d02fSKonrad Dybcio 	.num_links = 1,
605aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SERVICE_SNOC },
606aaf7d02fSKonrad Dybcio };
607aaf7d02fSKonrad Dybcio 
608aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_aggre1_noc = {
609aaf7d02fSKonrad Dybcio 	.name = "qnm_aggre1_noc",
610aaf7d02fSKonrad Dybcio 	.id = SM8250_A1NOC_SNOC_MAS,
611aaf7d02fSKonrad Dybcio 	.channels = 1,
612aaf7d02fSKonrad Dybcio 	.buswidth = 16,
613aaf7d02fSKonrad Dybcio 	.num_links = 1,
614aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SNOC_GEM_NOC_SF },
615aaf7d02fSKonrad Dybcio };
616aaf7d02fSKonrad Dybcio 
617aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_aggre2_noc = {
618aaf7d02fSKonrad Dybcio 	.name = "qnm_aggre2_noc",
619aaf7d02fSKonrad Dybcio 	.id = SM8250_A2NOC_SNOC_MAS,
620aaf7d02fSKonrad Dybcio 	.channels = 1,
621aaf7d02fSKonrad Dybcio 	.buswidth = 16,
622aaf7d02fSKonrad Dybcio 	.num_links = 1,
623aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SNOC_GEM_NOC_SF },
624aaf7d02fSKonrad Dybcio };
625aaf7d02fSKonrad Dybcio 
626aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_gemnoc = {
627aaf7d02fSKonrad Dybcio 	.name = "qnm_gemnoc",
628aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_GEM_NOC_SNOC,
629aaf7d02fSKonrad Dybcio 	.channels = 1,
630aaf7d02fSKonrad Dybcio 	.buswidth = 16,
631aaf7d02fSKonrad Dybcio 	.num_links = 6,
632aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_PIMEM,
633aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_OCIMEM,
634aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_APPSS,
635aaf7d02fSKonrad Dybcio 		   SM8250_SNOC_CNOC_SLV,
636aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_TCU,
637aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_QDSS_STM
638aaf7d02fSKonrad Dybcio 	},
639aaf7d02fSKonrad Dybcio };
640aaf7d02fSKonrad Dybcio 
641aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_gemnoc_pcie = {
642aaf7d02fSKonrad Dybcio 	.name = "qnm_gemnoc_pcie",
643aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_GEM_NOC_PCIE_SNOC,
644aaf7d02fSKonrad Dybcio 	.channels = 1,
645aaf7d02fSKonrad Dybcio 	.buswidth = 8,
646aaf7d02fSKonrad Dybcio 	.num_links = 3,
647aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_PCIE_2,
648aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_0,
649aaf7d02fSKonrad Dybcio 		   SM8250_SLAVE_PCIE_1
650aaf7d02fSKonrad Dybcio 	},
651aaf7d02fSKonrad Dybcio };
652aaf7d02fSKonrad Dybcio 
653aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_pimem = {
654aaf7d02fSKonrad Dybcio 	.name = "qxm_pimem",
655aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_PIMEM,
656aaf7d02fSKonrad Dybcio 	.channels = 1,
657aaf7d02fSKonrad Dybcio 	.buswidth = 8,
658aaf7d02fSKonrad Dybcio 	.num_links = 1,
659aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SNOC_GEM_NOC_GC },
660aaf7d02fSKonrad Dybcio };
661aaf7d02fSKonrad Dybcio 
662aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_gic = {
663aaf7d02fSKonrad Dybcio 	.name = "xm_gic",
664aaf7d02fSKonrad Dybcio 	.id = SM8250_MASTER_GIC,
665aaf7d02fSKonrad Dybcio 	.channels = 1,
666aaf7d02fSKonrad Dybcio 	.buswidth = 8,
667aaf7d02fSKonrad Dybcio 	.num_links = 1,
668aaf7d02fSKonrad Dybcio 	.links = { SM8250_SLAVE_SNOC_GEM_NOC_GC },
669aaf7d02fSKonrad Dybcio };
670aaf7d02fSKonrad Dybcio 
671aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_a1noc_snoc = {
672aaf7d02fSKonrad Dybcio 	.name = "qns_a1noc_snoc",
673aaf7d02fSKonrad Dybcio 	.id = SM8250_A1NOC_SNOC_SLV,
674aaf7d02fSKonrad Dybcio 	.channels = 1,
675aaf7d02fSKonrad Dybcio 	.buswidth = 16,
676aaf7d02fSKonrad Dybcio 	.num_links = 1,
677aaf7d02fSKonrad Dybcio 	.links = { SM8250_A1NOC_SNOC_MAS },
678aaf7d02fSKonrad Dybcio };
679aaf7d02fSKonrad Dybcio 
680aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_pcie_modem_mem_noc = {
681aaf7d02fSKonrad Dybcio 	.name = "qns_pcie_modem_mem_noc",
682aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1,
683aaf7d02fSKonrad Dybcio 	.channels = 1,
684aaf7d02fSKonrad Dybcio 	.buswidth = 16,
685aaf7d02fSKonrad Dybcio 	.num_links = 1,
686aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_ANOC_PCIE_GEM_NOC },
687aaf7d02fSKonrad Dybcio };
688aaf7d02fSKonrad Dybcio 
689aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_aggre1_noc = {
690aaf7d02fSKonrad Dybcio 	.name = "srvc_aggre1_noc",
691aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_A1NOC,
692aaf7d02fSKonrad Dybcio 	.channels = 1,
693aaf7d02fSKonrad Dybcio 	.buswidth = 4,
694aaf7d02fSKonrad Dybcio };
695aaf7d02fSKonrad Dybcio 
696aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_a2noc_snoc = {
697aaf7d02fSKonrad Dybcio 	.name = "qns_a2noc_snoc",
698aaf7d02fSKonrad Dybcio 	.id = SM8250_A2NOC_SNOC_SLV,
699aaf7d02fSKonrad Dybcio 	.channels = 1,
700aaf7d02fSKonrad Dybcio 	.buswidth = 16,
701aaf7d02fSKonrad Dybcio 	.num_links = 1,
702aaf7d02fSKonrad Dybcio 	.links = { SM8250_A2NOC_SNOC_MAS },
703aaf7d02fSKonrad Dybcio };
704aaf7d02fSKonrad Dybcio 
705aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_pcie_mem_noc = {
706aaf7d02fSKonrad Dybcio 	.name = "qns_pcie_mem_noc",
707aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_ANOC_PCIE_GEM_NOC,
708aaf7d02fSKonrad Dybcio 	.channels = 1,
709aaf7d02fSKonrad Dybcio 	.buswidth = 16,
710aaf7d02fSKonrad Dybcio 	.num_links = 1,
711aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_ANOC_PCIE_GEM_NOC },
712aaf7d02fSKonrad Dybcio };
713aaf7d02fSKonrad Dybcio 
714aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_aggre2_noc = {
715aaf7d02fSKonrad Dybcio 	.name = "srvc_aggre2_noc",
716aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_A2NOC,
717aaf7d02fSKonrad Dybcio 	.channels = 1,
718aaf7d02fSKonrad Dybcio 	.buswidth = 4,
719aaf7d02fSKonrad Dybcio };
720aaf7d02fSKonrad Dybcio 
721aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_cdsp_mem_noc = {
722aaf7d02fSKonrad Dybcio 	.name = "qns_cdsp_mem_noc",
723aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CDSP_MEM_NOC,
724aaf7d02fSKonrad Dybcio 	.channels = 2,
725aaf7d02fSKonrad Dybcio 	.buswidth = 32,
726aaf7d02fSKonrad Dybcio 	.num_links = 1,
727aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_COMPUTE_NOC },
728aaf7d02fSKonrad Dybcio };
729aaf7d02fSKonrad Dybcio 
730aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_a1_noc_cfg = {
731aaf7d02fSKonrad Dybcio 	.name = "qhs_a1_noc_cfg",
732aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_A1NOC_CFG,
733aaf7d02fSKonrad Dybcio 	.channels = 1,
734aaf7d02fSKonrad Dybcio 	.buswidth = 4,
735aaf7d02fSKonrad Dybcio 	.num_links = 1,
736aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_A1NOC_CFG },
737aaf7d02fSKonrad Dybcio };
738aaf7d02fSKonrad Dybcio 
739aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_a2_noc_cfg = {
740aaf7d02fSKonrad Dybcio 	.name = "qhs_a2_noc_cfg",
741aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_A2NOC_CFG,
742aaf7d02fSKonrad Dybcio 	.channels = 1,
743aaf7d02fSKonrad Dybcio 	.buswidth = 4,
744aaf7d02fSKonrad Dybcio 	.num_links = 1,
745aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_A2NOC_CFG },
746aaf7d02fSKonrad Dybcio };
747aaf7d02fSKonrad Dybcio 
748aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy0 = {
749aaf7d02fSKonrad Dybcio 	.name = "qhs_ahb2phy0",
750aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_AHB2PHY_SOUTH,
751aaf7d02fSKonrad Dybcio 	.channels = 1,
752aaf7d02fSKonrad Dybcio 	.buswidth = 4,
753aaf7d02fSKonrad Dybcio };
754aaf7d02fSKonrad Dybcio 
755aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy1 = {
756aaf7d02fSKonrad Dybcio 	.name = "qhs_ahb2phy1",
757aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_AHB2PHY_NORTH,
758aaf7d02fSKonrad Dybcio 	.channels = 1,
759aaf7d02fSKonrad Dybcio 	.buswidth = 4,
760aaf7d02fSKonrad Dybcio };
761aaf7d02fSKonrad Dybcio 
762aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_aoss = {
763aaf7d02fSKonrad Dybcio 	.name = "qhs_aoss",
764aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_AOSS,
765aaf7d02fSKonrad Dybcio 	.channels = 1,
766aaf7d02fSKonrad Dybcio 	.buswidth = 4,
767aaf7d02fSKonrad Dybcio };
768aaf7d02fSKonrad Dybcio 
769aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_camera_cfg = {
770aaf7d02fSKonrad Dybcio 	.name = "qhs_camera_cfg",
771aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CAMERA_CFG,
772aaf7d02fSKonrad Dybcio 	.channels = 1,
773aaf7d02fSKonrad Dybcio 	.buswidth = 4,
774aaf7d02fSKonrad Dybcio };
775aaf7d02fSKonrad Dybcio 
776aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_clk_ctl = {
777aaf7d02fSKonrad Dybcio 	.name = "qhs_clk_ctl",
778aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CLK_CTL,
779aaf7d02fSKonrad Dybcio 	.channels = 1,
780aaf7d02fSKonrad Dybcio 	.buswidth = 4,
781aaf7d02fSKonrad Dybcio };
782aaf7d02fSKonrad Dybcio 
783aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_compute_dsp = {
784aaf7d02fSKonrad Dybcio 	.name = "qhs_compute_dsp",
785aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CDSP_CFG,
786aaf7d02fSKonrad Dybcio 	.channels = 1,
787aaf7d02fSKonrad Dybcio 	.buswidth = 4,
788aaf7d02fSKonrad Dybcio };
789aaf7d02fSKonrad Dybcio 
790aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cpr_cx = {
791aaf7d02fSKonrad Dybcio 	.name = "qhs_cpr_cx",
792aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_RBCPR_CX_CFG,
793aaf7d02fSKonrad Dybcio 	.channels = 1,
794aaf7d02fSKonrad Dybcio 	.buswidth = 4,
795aaf7d02fSKonrad Dybcio };
796aaf7d02fSKonrad Dybcio 
797aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cpr_mmcx = {
798aaf7d02fSKonrad Dybcio 	.name = "qhs_cpr_mmcx",
799aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_RBCPR_MMCX_CFG,
800aaf7d02fSKonrad Dybcio 	.channels = 1,
801aaf7d02fSKonrad Dybcio 	.buswidth = 4,
802aaf7d02fSKonrad Dybcio };
803aaf7d02fSKonrad Dybcio 
804aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cpr_mx = {
805aaf7d02fSKonrad Dybcio 	.name = "qhs_cpr_mx",
806aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_RBCPR_MX_CFG,
807aaf7d02fSKonrad Dybcio 	.channels = 1,
808aaf7d02fSKonrad Dybcio 	.buswidth = 4,
809aaf7d02fSKonrad Dybcio };
810aaf7d02fSKonrad Dybcio 
811aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_crypto0_cfg = {
812aaf7d02fSKonrad Dybcio 	.name = "qhs_crypto0_cfg",
813aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CRYPTO_0_CFG,
814aaf7d02fSKonrad Dybcio 	.channels = 1,
815aaf7d02fSKonrad Dybcio 	.buswidth = 4,
816aaf7d02fSKonrad Dybcio };
817aaf7d02fSKonrad Dybcio 
818aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cx_rdpm = {
819aaf7d02fSKonrad Dybcio 	.name = "qhs_cx_rdpm",
820aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CX_RDPM,
821aaf7d02fSKonrad Dybcio 	.channels = 1,
822aaf7d02fSKonrad Dybcio 	.buswidth = 4,
823aaf7d02fSKonrad Dybcio };
824aaf7d02fSKonrad Dybcio 
825aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_dcc_cfg = {
826aaf7d02fSKonrad Dybcio 	.name = "qhs_dcc_cfg",
827aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_DCC_CFG,
828aaf7d02fSKonrad Dybcio 	.channels = 1,
829aaf7d02fSKonrad Dybcio 	.buswidth = 4,
830aaf7d02fSKonrad Dybcio };
831aaf7d02fSKonrad Dybcio 
832aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ddrss_cfg = {
833aaf7d02fSKonrad Dybcio 	.name = "qhs_ddrss_cfg",
834aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CNOC_DDRSS,
835aaf7d02fSKonrad Dybcio 	.channels = 1,
836aaf7d02fSKonrad Dybcio 	.buswidth = 4,
837aaf7d02fSKonrad Dybcio 	.num_links = 1,
838aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_CNOC_DC_NOC },
839aaf7d02fSKonrad Dybcio };
840aaf7d02fSKonrad Dybcio 
841aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_display_cfg = {
842aaf7d02fSKonrad Dybcio 	.name = "qhs_display_cfg",
843aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_DISPLAY_CFG,
844aaf7d02fSKonrad Dybcio 	.channels = 1,
845aaf7d02fSKonrad Dybcio 	.buswidth = 4,
846aaf7d02fSKonrad Dybcio };
847aaf7d02fSKonrad Dybcio 
848aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_gpuss_cfg = {
849aaf7d02fSKonrad Dybcio 	.name = "qhs_gpuss_cfg",
850aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_GRAPHICS_3D_CFG,
851aaf7d02fSKonrad Dybcio 	.channels = 1,
852aaf7d02fSKonrad Dybcio 	.buswidth = 8,
853aaf7d02fSKonrad Dybcio };
854aaf7d02fSKonrad Dybcio 
855aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_imem_cfg = {
856aaf7d02fSKonrad Dybcio 	.name = "qhs_imem_cfg",
857aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_IMEM_CFG,
858aaf7d02fSKonrad Dybcio 	.channels = 1,
859aaf7d02fSKonrad Dybcio 	.buswidth = 4,
860aaf7d02fSKonrad Dybcio };
861aaf7d02fSKonrad Dybcio 
862aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ipa = {
863aaf7d02fSKonrad Dybcio 	.name = "qhs_ipa",
864aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_IPA_CFG,
865aaf7d02fSKonrad Dybcio 	.channels = 1,
866aaf7d02fSKonrad Dybcio 	.buswidth = 4,
867aaf7d02fSKonrad Dybcio };
868aaf7d02fSKonrad Dybcio 
869aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ipc_router = {
870aaf7d02fSKonrad Dybcio 	.name = "qhs_ipc_router",
871aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_IPC_ROUTER_CFG,
872aaf7d02fSKonrad Dybcio 	.channels = 1,
873aaf7d02fSKonrad Dybcio 	.buswidth = 4,
874aaf7d02fSKonrad Dybcio };
875aaf7d02fSKonrad Dybcio 
876aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_lpass_cfg = {
877aaf7d02fSKonrad Dybcio 	.name = "qhs_lpass_cfg",
878aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_LPASS,
879aaf7d02fSKonrad Dybcio 	.channels = 1,
880aaf7d02fSKonrad Dybcio 	.buswidth = 4,
881aaf7d02fSKonrad Dybcio };
882aaf7d02fSKonrad Dybcio 
883aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_mnoc_cfg = {
884aaf7d02fSKonrad Dybcio 	.name = "qhs_mnoc_cfg",
885aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CNOC_MNOC_CFG,
886aaf7d02fSKonrad Dybcio 	.channels = 1,
887aaf7d02fSKonrad Dybcio 	.buswidth = 4,
888aaf7d02fSKonrad Dybcio 	.num_links = 1,
889aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_CNOC_MNOC_CFG },
890aaf7d02fSKonrad Dybcio };
891aaf7d02fSKonrad Dybcio 
892aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_npu_cfg = {
893aaf7d02fSKonrad Dybcio 	.name = "qhs_npu_cfg",
894aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_CFG,
895aaf7d02fSKonrad Dybcio 	.channels = 1,
896aaf7d02fSKonrad Dybcio 	.buswidth = 4,
897aaf7d02fSKonrad Dybcio 	.num_links = 1,
898aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_NPU_NOC_CFG },
899aaf7d02fSKonrad Dybcio };
900aaf7d02fSKonrad Dybcio 
901aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pcie0_cfg = {
902aaf7d02fSKonrad Dybcio 	.name = "qhs_pcie0_cfg",
903aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PCIE_0_CFG,
904aaf7d02fSKonrad Dybcio 	.channels = 1,
905aaf7d02fSKonrad Dybcio 	.buswidth = 4,
906aaf7d02fSKonrad Dybcio };
907aaf7d02fSKonrad Dybcio 
908aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pcie1_cfg = {
909aaf7d02fSKonrad Dybcio 	.name = "qhs_pcie1_cfg",
910aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PCIE_1_CFG,
911aaf7d02fSKonrad Dybcio 	.channels = 1,
912aaf7d02fSKonrad Dybcio 	.buswidth = 4,
913aaf7d02fSKonrad Dybcio };
914aaf7d02fSKonrad Dybcio 
915aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pcie_modem_cfg = {
916aaf7d02fSKonrad Dybcio 	.name = "qhs_pcie_modem_cfg",
917aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PCIE_2_CFG,
918aaf7d02fSKonrad Dybcio 	.channels = 1,
919aaf7d02fSKonrad Dybcio 	.buswidth = 4,
920aaf7d02fSKonrad Dybcio };
921aaf7d02fSKonrad Dybcio 
922aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pdm = {
923aaf7d02fSKonrad Dybcio 	.name = "qhs_pdm",
924aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PDM,
925aaf7d02fSKonrad Dybcio 	.channels = 1,
926aaf7d02fSKonrad Dybcio 	.buswidth = 4,
927aaf7d02fSKonrad Dybcio };
928aaf7d02fSKonrad Dybcio 
929aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pimem_cfg = {
930aaf7d02fSKonrad Dybcio 	.name = "qhs_pimem_cfg",
931aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PIMEM_CFG,
932aaf7d02fSKonrad Dybcio 	.channels = 1,
933aaf7d02fSKonrad Dybcio 	.buswidth = 4,
934aaf7d02fSKonrad Dybcio };
935aaf7d02fSKonrad Dybcio 
936aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_prng = {
937aaf7d02fSKonrad Dybcio 	.name = "qhs_prng",
938aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PRNG,
939aaf7d02fSKonrad Dybcio 	.channels = 1,
940aaf7d02fSKonrad Dybcio 	.buswidth = 4,
941aaf7d02fSKonrad Dybcio };
942aaf7d02fSKonrad Dybcio 
943aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qdss_cfg = {
944aaf7d02fSKonrad Dybcio 	.name = "qhs_qdss_cfg",
945aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_QDSS_CFG,
946aaf7d02fSKonrad Dybcio 	.channels = 1,
947aaf7d02fSKonrad Dybcio 	.buswidth = 4,
948aaf7d02fSKonrad Dybcio };
949aaf7d02fSKonrad Dybcio 
950aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qspi = {
951aaf7d02fSKonrad Dybcio 	.name = "qhs_qspi",
952aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_QSPI_0,
953aaf7d02fSKonrad Dybcio 	.channels = 1,
954aaf7d02fSKonrad Dybcio 	.buswidth = 4,
955aaf7d02fSKonrad Dybcio };
956aaf7d02fSKonrad Dybcio 
957aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qup0 = {
958aaf7d02fSKonrad Dybcio 	.name = "qhs_qup0",
959aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_QUP_0,
960aaf7d02fSKonrad Dybcio 	.channels = 1,
961aaf7d02fSKonrad Dybcio 	.buswidth = 4,
962aaf7d02fSKonrad Dybcio };
963aaf7d02fSKonrad Dybcio 
964aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qup1 = {
965aaf7d02fSKonrad Dybcio 	.name = "qhs_qup1",
966aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_QUP_1,
967aaf7d02fSKonrad Dybcio 	.channels = 1,
968aaf7d02fSKonrad Dybcio 	.buswidth = 4,
969aaf7d02fSKonrad Dybcio };
970aaf7d02fSKonrad Dybcio 
971aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qup2 = {
972aaf7d02fSKonrad Dybcio 	.name = "qhs_qup2",
973aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_QUP_2,
974aaf7d02fSKonrad Dybcio 	.channels = 1,
975aaf7d02fSKonrad Dybcio 	.buswidth = 4,
976aaf7d02fSKonrad Dybcio };
977aaf7d02fSKonrad Dybcio 
978aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_sdc2 = {
979aaf7d02fSKonrad Dybcio 	.name = "qhs_sdc2",
980aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SDCC_2,
981aaf7d02fSKonrad Dybcio 	.channels = 1,
982aaf7d02fSKonrad Dybcio 	.buswidth = 4,
983aaf7d02fSKonrad Dybcio };
984aaf7d02fSKonrad Dybcio 
985aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_sdc4 = {
986aaf7d02fSKonrad Dybcio 	.name = "qhs_sdc4",
987aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SDCC_4,
988aaf7d02fSKonrad Dybcio 	.channels = 1,
989aaf7d02fSKonrad Dybcio 	.buswidth = 4,
990aaf7d02fSKonrad Dybcio };
991aaf7d02fSKonrad Dybcio 
992aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_snoc_cfg = {
993aaf7d02fSKonrad Dybcio 	.name = "qhs_snoc_cfg",
994aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SNOC_CFG,
995aaf7d02fSKonrad Dybcio 	.channels = 1,
996aaf7d02fSKonrad Dybcio 	.buswidth = 4,
997aaf7d02fSKonrad Dybcio 	.num_links = 1,
998aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_SNOC_CFG },
999aaf7d02fSKonrad Dybcio };
1000aaf7d02fSKonrad Dybcio 
1001aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tcsr = {
1002aaf7d02fSKonrad Dybcio 	.name = "qhs_tcsr",
1003aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_TCSR,
1004aaf7d02fSKonrad Dybcio 	.channels = 1,
1005aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1006aaf7d02fSKonrad Dybcio };
1007aaf7d02fSKonrad Dybcio 
1008aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tlmm0 = {
1009aaf7d02fSKonrad Dybcio 	.name = "qhs_tlmm0",
1010aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_TLMM_NORTH,
1011aaf7d02fSKonrad Dybcio 	.channels = 1,
1012aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1013aaf7d02fSKonrad Dybcio };
1014aaf7d02fSKonrad Dybcio 
1015aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tlmm1 = {
1016aaf7d02fSKonrad Dybcio 	.name = "qhs_tlmm1",
1017aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_TLMM_SOUTH,
1018aaf7d02fSKonrad Dybcio 	.channels = 1,
1019aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1020aaf7d02fSKonrad Dybcio };
1021aaf7d02fSKonrad Dybcio 
1022aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tlmm2 = {
1023aaf7d02fSKonrad Dybcio 	.name = "qhs_tlmm2",
1024aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_TLMM_WEST,
1025aaf7d02fSKonrad Dybcio 	.channels = 1,
1026aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1027aaf7d02fSKonrad Dybcio };
1028aaf7d02fSKonrad Dybcio 
1029aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tsif = {
1030aaf7d02fSKonrad Dybcio 	.name = "qhs_tsif",
1031aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_TSIF,
1032aaf7d02fSKonrad Dybcio 	.channels = 1,
1033aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1034aaf7d02fSKonrad Dybcio };
1035aaf7d02fSKonrad Dybcio 
1036aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ufs_card_cfg = {
1037aaf7d02fSKonrad Dybcio 	.name = "qhs_ufs_card_cfg",
1038aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_UFS_CARD_CFG,
1039aaf7d02fSKonrad Dybcio 	.channels = 1,
1040aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1041aaf7d02fSKonrad Dybcio };
1042aaf7d02fSKonrad Dybcio 
1043aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ufs_mem_cfg = {
1044aaf7d02fSKonrad Dybcio 	.name = "qhs_ufs_mem_cfg",
1045aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_UFS_MEM_CFG,
1046aaf7d02fSKonrad Dybcio 	.channels = 1,
1047aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1048aaf7d02fSKonrad Dybcio };
1049aaf7d02fSKonrad Dybcio 
1050aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_usb3_0 = {
1051aaf7d02fSKonrad Dybcio 	.name = "qhs_usb3_0",
1052aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_USB3,
1053aaf7d02fSKonrad Dybcio 	.channels = 1,
1054aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1055aaf7d02fSKonrad Dybcio };
1056aaf7d02fSKonrad Dybcio 
1057aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_usb3_1 = {
1058aaf7d02fSKonrad Dybcio 	.name = "qhs_usb3_1",
1059aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_USB3_1,
1060aaf7d02fSKonrad Dybcio 	.channels = 1,
1061aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1062aaf7d02fSKonrad Dybcio };
1063aaf7d02fSKonrad Dybcio 
1064aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_venus_cfg = {
1065aaf7d02fSKonrad Dybcio 	.name = "qhs_venus_cfg",
1066aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_VENUS_CFG,
1067aaf7d02fSKonrad Dybcio 	.channels = 1,
1068aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1069aaf7d02fSKonrad Dybcio };
1070aaf7d02fSKonrad Dybcio 
1071aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_vsense_ctrl_cfg = {
1072aaf7d02fSKonrad Dybcio 	.name = "qhs_vsense_ctrl_cfg",
1073aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_VSENSE_CTRL_CFG,
1074aaf7d02fSKonrad Dybcio 	.channels = 1,
1075aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1076aaf7d02fSKonrad Dybcio };
1077aaf7d02fSKonrad Dybcio 
1078aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_cnoc_a2noc = {
1079aaf7d02fSKonrad Dybcio 	.name = "qns_cnoc_a2noc",
1080aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_CNOC_A2NOC,
1081aaf7d02fSKonrad Dybcio 	.channels = 1,
1082aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1083aaf7d02fSKonrad Dybcio 	.num_links = 1,
1084aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_CNOC_A2NOC },
1085aaf7d02fSKonrad Dybcio };
1086aaf7d02fSKonrad Dybcio 
1087aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_cnoc = {
1088aaf7d02fSKonrad Dybcio 	.name = "srvc_cnoc",
1089aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_CNOC,
1090aaf7d02fSKonrad Dybcio 	.channels = 1,
1091aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1092aaf7d02fSKonrad Dybcio };
1093aaf7d02fSKonrad Dybcio 
1094aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_llcc = {
1095aaf7d02fSKonrad Dybcio 	.name = "qhs_llcc",
1096aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_LLCC_CFG,
1097aaf7d02fSKonrad Dybcio 	.channels = 1,
1098aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1099aaf7d02fSKonrad Dybcio };
1100aaf7d02fSKonrad Dybcio 
1101aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_memnoc = {
1102aaf7d02fSKonrad Dybcio 	.name = "qhs_memnoc",
1103aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_GEM_NOC_CFG,
1104aaf7d02fSKonrad Dybcio 	.channels = 1,
1105aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1106aaf7d02fSKonrad Dybcio 	.num_links = 1,
1107aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_GEM_NOC_CFG },
1108aaf7d02fSKonrad Dybcio };
1109aaf7d02fSKonrad Dybcio 
1110aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_gem_noc_snoc = {
1111aaf7d02fSKonrad Dybcio 	.name = "qns_gem_noc_snoc",
1112aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_GEM_NOC_SNOC,
1113aaf7d02fSKonrad Dybcio 	.channels = 1,
1114aaf7d02fSKonrad Dybcio 	.buswidth = 16,
1115aaf7d02fSKonrad Dybcio 	.num_links = 1,
1116aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_GEM_NOC_SNOC },
1117aaf7d02fSKonrad Dybcio };
1118aaf7d02fSKonrad Dybcio 
1119aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_llcc = {
1120aaf7d02fSKonrad Dybcio 	.name = "qns_llcc",
1121aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_LLCC,
1122aaf7d02fSKonrad Dybcio 	.channels = 4,
1123aaf7d02fSKonrad Dybcio 	.buswidth = 16,
1124aaf7d02fSKonrad Dybcio 	.num_links = 1,
1125aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_LLCC },
1126aaf7d02fSKonrad Dybcio };
1127aaf7d02fSKonrad Dybcio 
1128aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_sys_pcie = {
1129aaf7d02fSKonrad Dybcio 	.name = "qns_sys_pcie",
1130aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_MEM_NOC_PCIE_SNOC,
1131aaf7d02fSKonrad Dybcio 	.channels = 1,
1132aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1133aaf7d02fSKonrad Dybcio 	.num_links = 1,
1134aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_GEM_NOC_PCIE_SNOC },
1135aaf7d02fSKonrad Dybcio };
1136aaf7d02fSKonrad Dybcio 
1137aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_even_gemnoc = {
1138aaf7d02fSKonrad Dybcio 	.name = "srvc_even_gemnoc",
1139aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_GEM_NOC_1,
1140aaf7d02fSKonrad Dybcio 	.channels = 1,
1141aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1142aaf7d02fSKonrad Dybcio };
1143aaf7d02fSKonrad Dybcio 
1144aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_odd_gemnoc = {
1145aaf7d02fSKonrad Dybcio 	.name = "srvc_odd_gemnoc",
1146aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_GEM_NOC_2,
1147aaf7d02fSKonrad Dybcio 	.channels = 1,
1148aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1149aaf7d02fSKonrad Dybcio };
1150aaf7d02fSKonrad Dybcio 
1151aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_sys_gemnoc = {
1152aaf7d02fSKonrad Dybcio 	.name = "srvc_sys_gemnoc",
1153aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_GEM_NOC,
1154aaf7d02fSKonrad Dybcio 	.channels = 1,
1155aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1156aaf7d02fSKonrad Dybcio };
1157aaf7d02fSKonrad Dybcio 
1158aaf7d02fSKonrad Dybcio static struct qcom_icc_node ebi = {
1159aaf7d02fSKonrad Dybcio 	.name = "ebi",
1160aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_EBI_CH0,
1161aaf7d02fSKonrad Dybcio 	.channels = 4,
1162aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1163aaf7d02fSKonrad Dybcio };
1164aaf7d02fSKonrad Dybcio 
1165aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_mem_noc_hf = {
1166aaf7d02fSKonrad Dybcio 	.name = "qns_mem_noc_hf",
1167aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_MNOC_HF_MEM_NOC,
1168aaf7d02fSKonrad Dybcio 	.channels = 2,
1169aaf7d02fSKonrad Dybcio 	.buswidth = 32,
1170aaf7d02fSKonrad Dybcio 	.num_links = 1,
1171aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_MNOC_HF_MEM_NOC },
1172aaf7d02fSKonrad Dybcio };
1173aaf7d02fSKonrad Dybcio 
1174aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_mem_noc_sf = {
1175aaf7d02fSKonrad Dybcio 	.name = "qns_mem_noc_sf",
1176aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_MNOC_SF_MEM_NOC,
1177aaf7d02fSKonrad Dybcio 	.channels = 2,
1178aaf7d02fSKonrad Dybcio 	.buswidth = 32,
1179aaf7d02fSKonrad Dybcio 	.num_links = 1,
1180aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_MNOC_SF_MEM_NOC },
1181aaf7d02fSKonrad Dybcio };
1182aaf7d02fSKonrad Dybcio 
1183aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_mnoc = {
1184aaf7d02fSKonrad Dybcio 	.name = "srvc_mnoc",
1185aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_MNOC,
1186aaf7d02fSKonrad Dybcio 	.channels = 1,
1187aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1188aaf7d02fSKonrad Dybcio };
1189aaf7d02fSKonrad Dybcio 
1190aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cal_dp0 = {
1191aaf7d02fSKonrad Dybcio 	.name = "qhs_cal_dp0",
1192aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_CAL_DP0,
1193aaf7d02fSKonrad Dybcio 	.channels = 1,
1194aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1195aaf7d02fSKonrad Dybcio };
1196aaf7d02fSKonrad Dybcio 
1197aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cal_dp1 = {
1198aaf7d02fSKonrad Dybcio 	.name = "qhs_cal_dp1",
1199aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_CAL_DP1,
1200aaf7d02fSKonrad Dybcio 	.channels = 1,
1201aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1202aaf7d02fSKonrad Dybcio };
1203aaf7d02fSKonrad Dybcio 
1204aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cp = {
1205aaf7d02fSKonrad Dybcio 	.name = "qhs_cp",
1206aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_CP,
1207aaf7d02fSKonrad Dybcio 	.channels = 1,
1208aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1209aaf7d02fSKonrad Dybcio };
1210aaf7d02fSKonrad Dybcio 
1211aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_dma_bwmon = {
1212aaf7d02fSKonrad Dybcio 	.name = "qhs_dma_bwmon",
1213aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG,
1214aaf7d02fSKonrad Dybcio 	.channels = 1,
1215aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1216aaf7d02fSKonrad Dybcio };
1217aaf7d02fSKonrad Dybcio 
1218aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_dpm = {
1219aaf7d02fSKonrad Dybcio 	.name = "qhs_dpm",
1220aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_DPM,
1221aaf7d02fSKonrad Dybcio 	.channels = 1,
1222aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1223aaf7d02fSKonrad Dybcio };
1224aaf7d02fSKonrad Dybcio 
1225aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_isense = {
1226aaf7d02fSKonrad Dybcio 	.name = "qhs_isense",
1227aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_ISENSE_CFG,
1228aaf7d02fSKonrad Dybcio 	.channels = 1,
1229aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1230aaf7d02fSKonrad Dybcio };
1231aaf7d02fSKonrad Dybcio 
1232aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_llm = {
1233aaf7d02fSKonrad Dybcio 	.name = "qhs_llm",
1234aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_LLM_CFG,
1235aaf7d02fSKonrad Dybcio 	.channels = 1,
1236aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1237aaf7d02fSKonrad Dybcio };
1238aaf7d02fSKonrad Dybcio 
1239aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tcm = {
1240aaf7d02fSKonrad Dybcio 	.name = "qhs_tcm",
1241aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_TCM,
1242aaf7d02fSKonrad Dybcio 	.channels = 1,
1243aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1244aaf7d02fSKonrad Dybcio };
1245aaf7d02fSKonrad Dybcio 
1246aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_npu_sys = {
1247aaf7d02fSKonrad Dybcio 	.name = "qns_npu_sys",
1248aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_NPU_COMPUTE_NOC,
1249aaf7d02fSKonrad Dybcio 	.channels = 2,
1250aaf7d02fSKonrad Dybcio 	.buswidth = 32,
1251aaf7d02fSKonrad Dybcio };
1252aaf7d02fSKonrad Dybcio 
1253aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_noc = {
1254aaf7d02fSKonrad Dybcio 	.name = "srvc_noc",
1255aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_NPU_NOC,
1256aaf7d02fSKonrad Dybcio 	.channels = 1,
1257aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1258aaf7d02fSKonrad Dybcio };
1259aaf7d02fSKonrad Dybcio 
1260aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_apss = {
1261aaf7d02fSKonrad Dybcio 	.name = "qhs_apss",
1262aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_APPSS,
1263aaf7d02fSKonrad Dybcio 	.channels = 1,
1264aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1265aaf7d02fSKonrad Dybcio };
1266aaf7d02fSKonrad Dybcio 
1267aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_cnoc = {
1268aaf7d02fSKonrad Dybcio 	.name = "qns_cnoc",
1269aaf7d02fSKonrad Dybcio 	.id = SM8250_SNOC_CNOC_SLV,
1270aaf7d02fSKonrad Dybcio 	.channels = 1,
1271aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1272aaf7d02fSKonrad Dybcio 	.num_links = 1,
1273aaf7d02fSKonrad Dybcio 	.links = { SM8250_SNOC_CNOC_MAS },
1274aaf7d02fSKonrad Dybcio };
1275aaf7d02fSKonrad Dybcio 
1276aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_gemnoc_gc = {
1277aaf7d02fSKonrad Dybcio 	.name = "qns_gemnoc_gc",
1278aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SNOC_GEM_NOC_GC,
1279aaf7d02fSKonrad Dybcio 	.channels = 1,
1280aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1281aaf7d02fSKonrad Dybcio 	.num_links = 1,
1282aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_SNOC_GC_MEM_NOC },
1283aaf7d02fSKonrad Dybcio };
1284aaf7d02fSKonrad Dybcio 
1285aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_gemnoc_sf = {
1286aaf7d02fSKonrad Dybcio 	.name = "qns_gemnoc_sf",
1287aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SNOC_GEM_NOC_SF,
1288aaf7d02fSKonrad Dybcio 	.channels = 1,
1289aaf7d02fSKonrad Dybcio 	.buswidth = 16,
1290aaf7d02fSKonrad Dybcio 	.num_links = 1,
1291aaf7d02fSKonrad Dybcio 	.links = { SM8250_MASTER_SNOC_SF_MEM_NOC },
1292aaf7d02fSKonrad Dybcio };
1293aaf7d02fSKonrad Dybcio 
1294aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxs_imem = {
1295aaf7d02fSKonrad Dybcio 	.name = "qxs_imem",
1296aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_OCIMEM,
1297aaf7d02fSKonrad Dybcio 	.channels = 1,
1298aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1299aaf7d02fSKonrad Dybcio };
1300aaf7d02fSKonrad Dybcio 
1301aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxs_pimem = {
1302aaf7d02fSKonrad Dybcio 	.name = "qxs_pimem",
1303aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PIMEM,
1304aaf7d02fSKonrad Dybcio 	.channels = 1,
1305aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1306aaf7d02fSKonrad Dybcio };
1307aaf7d02fSKonrad Dybcio 
1308aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_snoc = {
1309aaf7d02fSKonrad Dybcio 	.name = "srvc_snoc",
1310aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_SERVICE_SNOC,
1311aaf7d02fSKonrad Dybcio 	.channels = 1,
1312aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1313aaf7d02fSKonrad Dybcio };
1314aaf7d02fSKonrad Dybcio 
1315aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_pcie_0 = {
1316aaf7d02fSKonrad Dybcio 	.name = "xs_pcie_0",
1317aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PCIE_0,
1318aaf7d02fSKonrad Dybcio 	.channels = 1,
1319aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1320aaf7d02fSKonrad Dybcio };
1321aaf7d02fSKonrad Dybcio 
1322aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_pcie_1 = {
1323aaf7d02fSKonrad Dybcio 	.name = "xs_pcie_1",
1324aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PCIE_1,
1325aaf7d02fSKonrad Dybcio 	.channels = 1,
1326aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1327aaf7d02fSKonrad Dybcio };
1328aaf7d02fSKonrad Dybcio 
1329aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_pcie_modem = {
1330aaf7d02fSKonrad Dybcio 	.name = "xs_pcie_modem",
1331aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_PCIE_2,
1332aaf7d02fSKonrad Dybcio 	.channels = 1,
1333aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1334aaf7d02fSKonrad Dybcio };
1335aaf7d02fSKonrad Dybcio 
1336aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_qdss_stm = {
1337aaf7d02fSKonrad Dybcio 	.name = "xs_qdss_stm",
1338aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_QDSS_STM,
1339aaf7d02fSKonrad Dybcio 	.channels = 1,
1340aaf7d02fSKonrad Dybcio 	.buswidth = 4,
1341aaf7d02fSKonrad Dybcio };
1342aaf7d02fSKonrad Dybcio 
1343aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_sys_tcu_cfg = {
1344aaf7d02fSKonrad Dybcio 	.name = "xs_sys_tcu_cfg",
1345aaf7d02fSKonrad Dybcio 	.id = SM8250_SLAVE_TCU,
1346aaf7d02fSKonrad Dybcio 	.channels = 1,
1347aaf7d02fSKonrad Dybcio 	.buswidth = 8,
1348aaf7d02fSKonrad Dybcio };
13496df5b349SJonathan Marek 
1350cde2f928SKonrad Dybcio static struct qcom_icc_node qup0_core_master = {
1351cde2f928SKonrad Dybcio 	.name = "qup0_core_master",
1352cde2f928SKonrad Dybcio 	.id = SM8250_MASTER_QUP_CORE_0,
1353cde2f928SKonrad Dybcio 	.channels = 1,
1354cde2f928SKonrad Dybcio 	.buswidth = 4,
1355cde2f928SKonrad Dybcio 	.num_links = 1,
1356cde2f928SKonrad Dybcio 	.links = { SM8250_SLAVE_QUP_CORE_0 },
1357cde2f928SKonrad Dybcio };
1358cde2f928SKonrad Dybcio 
1359cde2f928SKonrad Dybcio static struct qcom_icc_node qup1_core_master = {
1360cde2f928SKonrad Dybcio 	.name = "qup1_core_master",
1361cde2f928SKonrad Dybcio 	.id = SM8250_MASTER_QUP_CORE_1,
1362cde2f928SKonrad Dybcio 	.channels = 1,
1363cde2f928SKonrad Dybcio 	.buswidth = 4,
1364cde2f928SKonrad Dybcio 	.num_links = 1,
1365cde2f928SKonrad Dybcio 	.links = { SM8250_SLAVE_QUP_CORE_1 },
1366cde2f928SKonrad Dybcio };
1367cde2f928SKonrad Dybcio 
1368cde2f928SKonrad Dybcio static struct qcom_icc_node qup2_core_master = {
1369cde2f928SKonrad Dybcio 	.name = "qup2_core_master",
1370cde2f928SKonrad Dybcio 	.id = SM8250_MASTER_QUP_CORE_2,
1371cde2f928SKonrad Dybcio 	.channels = 1,
1372cde2f928SKonrad Dybcio 	.buswidth = 4,
1373cde2f928SKonrad Dybcio 	.num_links = 1,
1374cde2f928SKonrad Dybcio 	.links = { SM8250_SLAVE_QUP_CORE_2 },
1375cde2f928SKonrad Dybcio };
1376cde2f928SKonrad Dybcio 
1377cde2f928SKonrad Dybcio static struct qcom_icc_node qup0_core_slave = {
1378cde2f928SKonrad Dybcio 	.name = "qup0_core_slave",
1379cde2f928SKonrad Dybcio 	.id = SM8250_SLAVE_QUP_CORE_0,
1380cde2f928SKonrad Dybcio 	.channels = 1,
1381cde2f928SKonrad Dybcio 	.buswidth = 4,
1382cde2f928SKonrad Dybcio };
1383cde2f928SKonrad Dybcio 
1384cde2f928SKonrad Dybcio static struct qcom_icc_node qup1_core_slave = {
1385cde2f928SKonrad Dybcio 	.name = "qup1_core_slave",
1386cde2f928SKonrad Dybcio 	.id = SM8250_SLAVE_QUP_CORE_1,
1387cde2f928SKonrad Dybcio 	.channels = 1,
1388cde2f928SKonrad Dybcio 	.buswidth = 4,
1389cde2f928SKonrad Dybcio };
1390cde2f928SKonrad Dybcio 
1391cde2f928SKonrad Dybcio static struct qcom_icc_node qup2_core_slave = {
1392cde2f928SKonrad Dybcio 	.name = "qup2_core_slave",
1393cde2f928SKonrad Dybcio 	.id = SM8250_SLAVE_QUP_CORE_2,
1394cde2f928SKonrad Dybcio 	.channels = 1,
1395cde2f928SKonrad Dybcio 	.buswidth = 4,
1396cde2f928SKonrad Dybcio };
1397cde2f928SKonrad Dybcio 
13988e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_acv = {
13998e509d66SKonrad Dybcio 	.name = "ACV",
1400c2857e17SKonrad Dybcio 	.enable_mask = BIT(3),
14018e509d66SKonrad Dybcio 	.keepalive = false,
14028e509d66SKonrad Dybcio 	.num_nodes = 1,
14038e509d66SKonrad Dybcio 	.nodes = { &ebi },
14048e509d66SKonrad Dybcio };
14058e509d66SKonrad Dybcio 
14068e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mc0 = {
14078e509d66SKonrad Dybcio 	.name = "MC0",
14088e509d66SKonrad Dybcio 	.keepalive = true,
14098e509d66SKonrad Dybcio 	.num_nodes = 1,
14108e509d66SKonrad Dybcio 	.nodes = { &ebi },
14118e509d66SKonrad Dybcio };
14128e509d66SKonrad Dybcio 
14138e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh0 = {
14148e509d66SKonrad Dybcio 	.name = "SH0",
14158e509d66SKonrad Dybcio 	.keepalive = true,
14168e509d66SKonrad Dybcio 	.num_nodes = 1,
14178e509d66SKonrad Dybcio 	.nodes = { &qns_llcc },
14188e509d66SKonrad Dybcio };
14198e509d66SKonrad Dybcio 
14208e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm0 = {
14218e509d66SKonrad Dybcio 	.name = "MM0",
14228e509d66SKonrad Dybcio 	.keepalive = true,
14238e509d66SKonrad Dybcio 	.num_nodes = 1,
14248e509d66SKonrad Dybcio 	.nodes = { &qns_mem_noc_hf },
14258e509d66SKonrad Dybcio };
14268e509d66SKonrad Dybcio 
14278e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_ce0 = {
14288e509d66SKonrad Dybcio 	.name = "CE0",
14298e509d66SKonrad Dybcio 	.keepalive = false,
14308e509d66SKonrad Dybcio 	.num_nodes = 1,
14318e509d66SKonrad Dybcio 	.nodes = { &qxm_crypto },
14328e509d66SKonrad Dybcio };
14338e509d66SKonrad Dybcio 
14348e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm1 = {
14358e509d66SKonrad Dybcio 	.name = "MM1",
14368e509d66SKonrad Dybcio 	.keepalive = false,
14378e509d66SKonrad Dybcio 	.num_nodes = 3,
14388e509d66SKonrad Dybcio 	.nodes = { &qnm_camnoc_hf, &qxm_mdp0, &qxm_mdp1 },
14398e509d66SKonrad Dybcio };
14408e509d66SKonrad Dybcio 
14418e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh2 = {
14428e509d66SKonrad Dybcio 	.name = "SH2",
14438e509d66SKonrad Dybcio 	.keepalive = false,
14448e509d66SKonrad Dybcio 	.num_nodes = 2,
14458e509d66SKonrad Dybcio 	.nodes = { &alm_gpu_tcu, &alm_sys_tcu },
14468e509d66SKonrad Dybcio };
14478e509d66SKonrad Dybcio 
14488e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm2 = {
14498e509d66SKonrad Dybcio 	.name = "MM2",
14508e509d66SKonrad Dybcio 	.keepalive = false,
14518e509d66SKonrad Dybcio 	.num_nodes = 1,
14528e509d66SKonrad Dybcio 	.nodes = { &qns_mem_noc_sf },
14538e509d66SKonrad Dybcio };
14548e509d66SKonrad Dybcio 
14558e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_qup0 = {
14568e509d66SKonrad Dybcio 	.name = "QUP0",
14578e509d66SKonrad Dybcio 	.keepalive = false,
14588e509d66SKonrad Dybcio 	.num_nodes = 3,
14598e509d66SKonrad Dybcio 	.nodes = { &qup0_core_master, &qup1_core_master, &qup2_core_master },
14608e509d66SKonrad Dybcio };
14618e509d66SKonrad Dybcio 
14628e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh3 = {
14638e509d66SKonrad Dybcio 	.name = "SH3",
14648e509d66SKonrad Dybcio 	.keepalive = false,
14658e509d66SKonrad Dybcio 	.num_nodes = 1,
14668e509d66SKonrad Dybcio 	.nodes = { &qnm_cmpnoc },
14678e509d66SKonrad Dybcio };
14688e509d66SKonrad Dybcio 
14698e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm3 = {
14708e509d66SKonrad Dybcio 	.name = "MM3",
14718e509d66SKonrad Dybcio 	.keepalive = false,
14728e509d66SKonrad Dybcio 	.num_nodes = 5,
14738e509d66SKonrad Dybcio 	.nodes = { &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_video0, &qnm_video1, &qnm_video_cvp },
14748e509d66SKonrad Dybcio };
14758e509d66SKonrad Dybcio 
14768e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh4 = {
14778e509d66SKonrad Dybcio 	.name = "SH4",
14788e509d66SKonrad Dybcio 	.keepalive = false,
14798e509d66SKonrad Dybcio 	.num_nodes = 1,
14808e509d66SKonrad Dybcio 	.nodes = { &chm_apps },
14818e509d66SKonrad Dybcio };
14828e509d66SKonrad Dybcio 
14838e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn0 = {
14848e509d66SKonrad Dybcio 	.name = "SN0",
14858e509d66SKonrad Dybcio 	.keepalive = true,
14868e509d66SKonrad Dybcio 	.num_nodes = 1,
14878e509d66SKonrad Dybcio 	.nodes = { &qns_gemnoc_sf },
14888e509d66SKonrad Dybcio };
14898e509d66SKonrad Dybcio 
14908e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_co0 = {
14918e509d66SKonrad Dybcio 	.name = "CO0",
14928e509d66SKonrad Dybcio 	.keepalive = false,
14938e509d66SKonrad Dybcio 	.num_nodes = 1,
14948e509d66SKonrad Dybcio 	.nodes = { &qns_cdsp_mem_noc },
14958e509d66SKonrad Dybcio };
14968e509d66SKonrad Dybcio 
14978e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_cn0 = {
14988e509d66SKonrad Dybcio 	.name = "CN0",
14998e509d66SKonrad Dybcio 	.keepalive = true,
15008e509d66SKonrad Dybcio 	.num_nodes = 52,
15018e509d66SKonrad Dybcio 	.nodes = { &qnm_snoc,
15028e509d66SKonrad Dybcio 		   &xm_qdss_dap,
15038e509d66SKonrad Dybcio 		   &qhs_a1_noc_cfg,
15048e509d66SKonrad Dybcio 		   &qhs_a2_noc_cfg,
15058e509d66SKonrad Dybcio 		   &qhs_ahb2phy0,
15068e509d66SKonrad Dybcio 		   &qhs_ahb2phy1,
15078e509d66SKonrad Dybcio 		   &qhs_aoss,
15088e509d66SKonrad Dybcio 		   &qhs_camera_cfg,
15098e509d66SKonrad Dybcio 		   &qhs_clk_ctl,
15108e509d66SKonrad Dybcio 		   &qhs_compute_dsp,
15118e509d66SKonrad Dybcio 		   &qhs_cpr_cx,
15128e509d66SKonrad Dybcio 		   &qhs_cpr_mmcx,
15138e509d66SKonrad Dybcio 		   &qhs_cpr_mx,
15148e509d66SKonrad Dybcio 		   &qhs_crypto0_cfg,
15158e509d66SKonrad Dybcio 		   &qhs_cx_rdpm,
15168e509d66SKonrad Dybcio 		   &qhs_dcc_cfg,
15178e509d66SKonrad Dybcio 		   &qhs_ddrss_cfg,
15188e509d66SKonrad Dybcio 		   &qhs_display_cfg,
15198e509d66SKonrad Dybcio 		   &qhs_gpuss_cfg,
15208e509d66SKonrad Dybcio 		   &qhs_imem_cfg,
15218e509d66SKonrad Dybcio 		   &qhs_ipa,
15228e509d66SKonrad Dybcio 		   &qhs_ipc_router,
15238e509d66SKonrad Dybcio 		   &qhs_lpass_cfg,
15248e509d66SKonrad Dybcio 		   &qhs_mnoc_cfg,
15258e509d66SKonrad Dybcio 		   &qhs_npu_cfg,
15268e509d66SKonrad Dybcio 		   &qhs_pcie0_cfg,
15278e509d66SKonrad Dybcio 		   &qhs_pcie1_cfg,
15288e509d66SKonrad Dybcio 		   &qhs_pcie_modem_cfg,
15298e509d66SKonrad Dybcio 		   &qhs_pdm,
15308e509d66SKonrad Dybcio 		   &qhs_pimem_cfg,
15318e509d66SKonrad Dybcio 		   &qhs_prng,
15328e509d66SKonrad Dybcio 		   &qhs_qdss_cfg,
15338e509d66SKonrad Dybcio 		   &qhs_qspi,
15348e509d66SKonrad Dybcio 		   &qhs_qup0,
15358e509d66SKonrad Dybcio 		   &qhs_qup1,
15368e509d66SKonrad Dybcio 		   &qhs_qup2,
15378e509d66SKonrad Dybcio 		   &qhs_sdc2,
15388e509d66SKonrad Dybcio 		   &qhs_sdc4,
15398e509d66SKonrad Dybcio 		   &qhs_snoc_cfg,
15408e509d66SKonrad Dybcio 		   &qhs_tcsr,
15418e509d66SKonrad Dybcio 		   &qhs_tlmm0,
15428e509d66SKonrad Dybcio 		   &qhs_tlmm1,
15438e509d66SKonrad Dybcio 		   &qhs_tlmm2,
15448e509d66SKonrad Dybcio 		   &qhs_tsif,
15458e509d66SKonrad Dybcio 		   &qhs_ufs_card_cfg,
15468e509d66SKonrad Dybcio 		   &qhs_ufs_mem_cfg,
15478e509d66SKonrad Dybcio 		   &qhs_usb3_0,
15488e509d66SKonrad Dybcio 		   &qhs_usb3_1,
15498e509d66SKonrad Dybcio 		   &qhs_venus_cfg,
15508e509d66SKonrad Dybcio 		   &qhs_vsense_ctrl_cfg,
15518e509d66SKonrad Dybcio 		   &qns_cnoc_a2noc,
15528e509d66SKonrad Dybcio 		   &srvc_cnoc
15538e509d66SKonrad Dybcio 	},
15548e509d66SKonrad Dybcio };
15558e509d66SKonrad Dybcio 
15568e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn1 = {
15578e509d66SKonrad Dybcio 	.name = "SN1",
15588e509d66SKonrad Dybcio 	.keepalive = false,
15598e509d66SKonrad Dybcio 	.num_nodes = 1,
15608e509d66SKonrad Dybcio 	.nodes = { &qxs_imem },
15618e509d66SKonrad Dybcio };
15628e509d66SKonrad Dybcio 
15638e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn2 = {
15648e509d66SKonrad Dybcio 	.name = "SN2",
15658e509d66SKonrad Dybcio 	.keepalive = false,
15668e509d66SKonrad Dybcio 	.num_nodes = 1,
15678e509d66SKonrad Dybcio 	.nodes = { &qns_gemnoc_gc },
15688e509d66SKonrad Dybcio };
15698e509d66SKonrad Dybcio 
15708e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_co2 = {
15718e509d66SKonrad Dybcio 	.name = "CO2",
15728e509d66SKonrad Dybcio 	.keepalive = false,
15738e509d66SKonrad Dybcio 	.num_nodes = 1,
15748e509d66SKonrad Dybcio 	.nodes = { &qnm_npu },
15758e509d66SKonrad Dybcio };
15768e509d66SKonrad Dybcio 
15778e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn3 = {
15788e509d66SKonrad Dybcio 	.name = "SN3",
15798e509d66SKonrad Dybcio 	.keepalive = false,
15808e509d66SKonrad Dybcio 	.num_nodes = 1,
15818e509d66SKonrad Dybcio 	.nodes = { &qxs_pimem },
15828e509d66SKonrad Dybcio };
15838e509d66SKonrad Dybcio 
15848e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn4 = {
15858e509d66SKonrad Dybcio 	.name = "SN4",
15868e509d66SKonrad Dybcio 	.keepalive = false,
15878e509d66SKonrad Dybcio 	.num_nodes = 1,
15888e509d66SKonrad Dybcio 	.nodes = { &xs_qdss_stm },
15898e509d66SKonrad Dybcio };
15908e509d66SKonrad Dybcio 
15918e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn5 = {
15928e509d66SKonrad Dybcio 	.name = "SN5",
15938e509d66SKonrad Dybcio 	.keepalive = false,
15948e509d66SKonrad Dybcio 	.num_nodes = 1,
15958e509d66SKonrad Dybcio 	.nodes = { &xs_pcie_modem },
15968e509d66SKonrad Dybcio };
15978e509d66SKonrad Dybcio 
15988e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn6 = {
15998e509d66SKonrad Dybcio 	.name = "SN6",
16008e509d66SKonrad Dybcio 	.keepalive = false,
16018e509d66SKonrad Dybcio 	.num_nodes = 2,
16028e509d66SKonrad Dybcio 	.nodes = { &xs_pcie_0, &xs_pcie_1 },
16038e509d66SKonrad Dybcio };
16048e509d66SKonrad Dybcio 
16058e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn7 = {
16068e509d66SKonrad Dybcio 	.name = "SN7",
16078e509d66SKonrad Dybcio 	.keepalive = false,
16088e509d66SKonrad Dybcio 	.num_nodes = 1,
16098e509d66SKonrad Dybcio 	.nodes = { &qnm_aggre1_noc },
16108e509d66SKonrad Dybcio };
16118e509d66SKonrad Dybcio 
16128e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn8 = {
16138e509d66SKonrad Dybcio 	.name = "SN8",
16148e509d66SKonrad Dybcio 	.keepalive = false,
16158e509d66SKonrad Dybcio 	.num_nodes = 1,
16168e509d66SKonrad Dybcio 	.nodes = { &qnm_aggre2_noc },
16178e509d66SKonrad Dybcio };
16188e509d66SKonrad Dybcio 
16198e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn9 = {
16208e509d66SKonrad Dybcio 	.name = "SN9",
16218e509d66SKonrad Dybcio 	.keepalive = false,
16228e509d66SKonrad Dybcio 	.num_nodes = 1,
16238e509d66SKonrad Dybcio 	.nodes = { &qnm_gemnoc_pcie },
16248e509d66SKonrad Dybcio };
16258e509d66SKonrad Dybcio 
16268e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn11 = {
16278e509d66SKonrad Dybcio 	.name = "SN11",
16288e509d66SKonrad Dybcio 	.keepalive = false,
16298e509d66SKonrad Dybcio 	.num_nodes = 1,
16308e509d66SKonrad Dybcio 	.nodes = { &qnm_gemnoc },
16318e509d66SKonrad Dybcio };
16328e509d66SKonrad Dybcio 
16338e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn12 = {
16348e509d66SKonrad Dybcio 	.name = "SN12",
16358e509d66SKonrad Dybcio 	.keepalive = false,
16368e509d66SKonrad Dybcio 	.num_nodes = 2,
16378e509d66SKonrad Dybcio 	.nodes = { &qns_pcie_modem_mem_noc, &qns_pcie_mem_noc },
16388e509d66SKonrad Dybcio };
16396df5b349SJonathan Marek 
16407123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
16416df5b349SJonathan Marek 	&bcm_sn12,
16426df5b349SJonathan Marek };
16436df5b349SJonathan Marek 
16442ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = {
16456df5b349SJonathan Marek 	[MASTER_A1NOC_CFG] = &qhm_a1noc_cfg,
16466df5b349SJonathan Marek 	[MASTER_QSPI_0] = &qhm_qspi,
16476df5b349SJonathan Marek 	[MASTER_QUP_1] = &qhm_qup1,
16486df5b349SJonathan Marek 	[MASTER_QUP_2] = &qhm_qup2,
16496df5b349SJonathan Marek 	[MASTER_TSIF] = &qhm_tsif,
16506df5b349SJonathan Marek 	[MASTER_PCIE_2] = &xm_pcie3_modem,
16516df5b349SJonathan Marek 	[MASTER_SDCC_4] = &xm_sdc4,
16526df5b349SJonathan Marek 	[MASTER_UFS_MEM] = &xm_ufs_mem,
16536df5b349SJonathan Marek 	[MASTER_USB3] = &xm_usb3_0,
16546df5b349SJonathan Marek 	[MASTER_USB3_1] = &xm_usb3_1,
16556df5b349SJonathan Marek 	[A1NOC_SNOC_SLV] = &qns_a1noc_snoc,
16566df5b349SJonathan Marek 	[SLAVE_ANOC_PCIE_GEM_NOC_1] = &qns_pcie_modem_mem_noc,
16576df5b349SJonathan Marek 	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
16586df5b349SJonathan Marek };
16596df5b349SJonathan Marek 
16601625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_aggre1_noc = {
16616df5b349SJonathan Marek 	.nodes = aggre1_noc_nodes,
16626df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
16636df5b349SJonathan Marek 	.bcms = aggre1_noc_bcms,
16646df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
16656df5b349SJonathan Marek };
16666df5b349SJonathan Marek 
16677123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
16686df5b349SJonathan Marek 	&bcm_ce0,
16696df5b349SJonathan Marek 	&bcm_sn12,
16706df5b349SJonathan Marek };
16716df5b349SJonathan Marek 
1672cde2f928SKonrad Dybcio static struct qcom_icc_bcm * const qup_virt_bcms[] = {
1673cde2f928SKonrad Dybcio 	&bcm_qup0,
1674cde2f928SKonrad Dybcio };
1675cde2f928SKonrad Dybcio 
1676cde2f928SKonrad Dybcio static struct qcom_icc_node *qup_virt_nodes[] = {
1677cde2f928SKonrad Dybcio 	[MASTER_QUP_CORE_0] = &qup0_core_master,
1678cde2f928SKonrad Dybcio 	[MASTER_QUP_CORE_1] = &qup1_core_master,
1679cde2f928SKonrad Dybcio 	[MASTER_QUP_CORE_2] = &qup2_core_master,
1680cde2f928SKonrad Dybcio 	[SLAVE_QUP_CORE_0] = &qup0_core_slave,
1681cde2f928SKonrad Dybcio 	[SLAVE_QUP_CORE_1] = &qup1_core_slave,
1682cde2f928SKonrad Dybcio 	[SLAVE_QUP_CORE_2] = &qup2_core_slave,
1683cde2f928SKonrad Dybcio };
1684cde2f928SKonrad Dybcio 
1685cde2f928SKonrad Dybcio static const struct qcom_icc_desc sm8250_qup_virt = {
1686cde2f928SKonrad Dybcio 	.nodes = qup_virt_nodes,
1687cde2f928SKonrad Dybcio 	.num_nodes = ARRAY_SIZE(qup_virt_nodes),
1688cde2f928SKonrad Dybcio 	.bcms = qup_virt_bcms,
1689cde2f928SKonrad Dybcio 	.num_bcms = ARRAY_SIZE(qup_virt_bcms),
1690cde2f928SKonrad Dybcio };
1691cde2f928SKonrad Dybcio 
16922ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = {
16936df5b349SJonathan Marek 	[MASTER_A2NOC_CFG] = &qhm_a2noc_cfg,
16946df5b349SJonathan Marek 	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
16956df5b349SJonathan Marek 	[MASTER_QUP_0] = &qhm_qup0,
16966df5b349SJonathan Marek 	[MASTER_CNOC_A2NOC] = &qnm_cnoc,
16976df5b349SJonathan Marek 	[MASTER_CRYPTO_CORE_0] = &qxm_crypto,
16986df5b349SJonathan Marek 	[MASTER_IPA] = &qxm_ipa,
16996df5b349SJonathan Marek 	[MASTER_PCIE] = &xm_pcie3_0,
17006df5b349SJonathan Marek 	[MASTER_PCIE_1] = &xm_pcie3_1,
17016df5b349SJonathan Marek 	[MASTER_QDSS_ETR] = &xm_qdss_etr,
17026df5b349SJonathan Marek 	[MASTER_SDCC_2] = &xm_sdc2,
17036df5b349SJonathan Marek 	[MASTER_UFS_CARD] = &xm_ufs_card,
17046df5b349SJonathan Marek 	[A2NOC_SNOC_SLV] = &qns_a2noc_snoc,
17056df5b349SJonathan Marek 	[SLAVE_ANOC_PCIE_GEM_NOC] = &qns_pcie_mem_noc,
17066df5b349SJonathan Marek 	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
17076df5b349SJonathan Marek };
17086df5b349SJonathan Marek 
17091625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_aggre2_noc = {
17106df5b349SJonathan Marek 	.nodes = aggre2_noc_nodes,
17116df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
17126df5b349SJonathan Marek 	.bcms = aggre2_noc_bcms,
17136df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
17146df5b349SJonathan Marek };
17156df5b349SJonathan Marek 
17167123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const compute_noc_bcms[] = {
17176df5b349SJonathan Marek 	&bcm_co0,
17186df5b349SJonathan Marek 	&bcm_co2,
17196df5b349SJonathan Marek };
17206df5b349SJonathan Marek 
17212ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const compute_noc_nodes[] = {
17226df5b349SJonathan Marek 	[MASTER_NPU] = &qnm_npu,
17236df5b349SJonathan Marek 	[SLAVE_CDSP_MEM_NOC] = &qns_cdsp_mem_noc,
17246df5b349SJonathan Marek };
17256df5b349SJonathan Marek 
17261625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_compute_noc = {
17276df5b349SJonathan Marek 	.nodes = compute_noc_nodes,
17286df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(compute_noc_nodes),
17296df5b349SJonathan Marek 	.bcms = compute_noc_bcms,
17306df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(compute_noc_bcms),
17316df5b349SJonathan Marek };
17326df5b349SJonathan Marek 
17337123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = {
17346df5b349SJonathan Marek 	&bcm_cn0,
17356df5b349SJonathan Marek };
17366df5b349SJonathan Marek 
17372ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = {
17386df5b349SJonathan Marek 	[SNOC_CNOC_MAS] = &qnm_snoc,
17396df5b349SJonathan Marek 	[MASTER_QDSS_DAP] = &xm_qdss_dap,
17406df5b349SJonathan Marek 	[SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg,
17416df5b349SJonathan Marek 	[SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg,
17426df5b349SJonathan Marek 	[SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0,
17436df5b349SJonathan Marek 	[SLAVE_AHB2PHY_NORTH] = &qhs_ahb2phy1,
17446df5b349SJonathan Marek 	[SLAVE_AOSS] = &qhs_aoss,
17456df5b349SJonathan Marek 	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
17466df5b349SJonathan Marek 	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
17476df5b349SJonathan Marek 	[SLAVE_CDSP_CFG] = &qhs_compute_dsp,
17486df5b349SJonathan Marek 	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
17496df5b349SJonathan Marek 	[SLAVE_RBCPR_MMCX_CFG] = &qhs_cpr_mmcx,
17506df5b349SJonathan Marek 	[SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx,
17516df5b349SJonathan Marek 	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
17526df5b349SJonathan Marek 	[SLAVE_CX_RDPM] = &qhs_cx_rdpm,
17536df5b349SJonathan Marek 	[SLAVE_DCC_CFG] = &qhs_dcc_cfg,
17546df5b349SJonathan Marek 	[SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg,
17556df5b349SJonathan Marek 	[SLAVE_DISPLAY_CFG] = &qhs_display_cfg,
17566df5b349SJonathan Marek 	[SLAVE_GRAPHICS_3D_CFG] = &qhs_gpuss_cfg,
17576df5b349SJonathan Marek 	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
17586df5b349SJonathan Marek 	[SLAVE_IPA_CFG] = &qhs_ipa,
17596df5b349SJonathan Marek 	[SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router,
17606df5b349SJonathan Marek 	[SLAVE_LPASS] = &qhs_lpass_cfg,
17616df5b349SJonathan Marek 	[SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg,
17626df5b349SJonathan Marek 	[SLAVE_NPU_CFG] = &qhs_npu_cfg,
17636df5b349SJonathan Marek 	[SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg,
17646df5b349SJonathan Marek 	[SLAVE_PCIE_1_CFG] = &qhs_pcie1_cfg,
17656df5b349SJonathan Marek 	[SLAVE_PCIE_2_CFG] = &qhs_pcie_modem_cfg,
17666df5b349SJonathan Marek 	[SLAVE_PDM] = &qhs_pdm,
17676df5b349SJonathan Marek 	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
17686df5b349SJonathan Marek 	[SLAVE_PRNG] = &qhs_prng,
17696df5b349SJonathan Marek 	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
17706df5b349SJonathan Marek 	[SLAVE_QSPI_0] = &qhs_qspi,
17716df5b349SJonathan Marek 	[SLAVE_QUP_0] = &qhs_qup0,
17726df5b349SJonathan Marek 	[SLAVE_QUP_1] = &qhs_qup1,
17736df5b349SJonathan Marek 	[SLAVE_QUP_2] = &qhs_qup2,
17746df5b349SJonathan Marek 	[SLAVE_SDCC_2] = &qhs_sdc2,
17756df5b349SJonathan Marek 	[SLAVE_SDCC_4] = &qhs_sdc4,
17766df5b349SJonathan Marek 	[SLAVE_SNOC_CFG] = &qhs_snoc_cfg,
17776df5b349SJonathan Marek 	[SLAVE_TCSR] = &qhs_tcsr,
17786df5b349SJonathan Marek 	[SLAVE_TLMM_NORTH] = &qhs_tlmm0,
17796df5b349SJonathan Marek 	[SLAVE_TLMM_SOUTH] = &qhs_tlmm1,
17806df5b349SJonathan Marek 	[SLAVE_TLMM_WEST] = &qhs_tlmm2,
17816df5b349SJonathan Marek 	[SLAVE_TSIF] = &qhs_tsif,
17826df5b349SJonathan Marek 	[SLAVE_UFS_CARD_CFG] = &qhs_ufs_card_cfg,
17836df5b349SJonathan Marek 	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
17846df5b349SJonathan Marek 	[SLAVE_USB3] = &qhs_usb3_0,
17856df5b349SJonathan Marek 	[SLAVE_USB3_1] = &qhs_usb3_1,
17866df5b349SJonathan Marek 	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
17876df5b349SJonathan Marek 	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
17886df5b349SJonathan Marek 	[SLAVE_CNOC_A2NOC] = &qns_cnoc_a2noc,
17896df5b349SJonathan Marek 	[SLAVE_SERVICE_CNOC] = &srvc_cnoc,
17906df5b349SJonathan Marek };
17916df5b349SJonathan Marek 
17921625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_config_noc = {
17936df5b349SJonathan Marek 	.nodes = config_noc_nodes,
17946df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(config_noc_nodes),
17956df5b349SJonathan Marek 	.bcms = config_noc_bcms,
17966df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(config_noc_bcms),
17976df5b349SJonathan Marek };
17986df5b349SJonathan Marek 
17997123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const dc_noc_bcms[] = {
18006df5b349SJonathan Marek };
18016df5b349SJonathan Marek 
18022ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = {
18036df5b349SJonathan Marek 	[MASTER_CNOC_DC_NOC] = &qhm_cnoc_dc_noc,
18046df5b349SJonathan Marek 	[SLAVE_LLCC_CFG] = &qhs_llcc,
18056df5b349SJonathan Marek 	[SLAVE_GEM_NOC_CFG] = &qhs_memnoc,
18066df5b349SJonathan Marek };
18076df5b349SJonathan Marek 
18081625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_dc_noc = {
18096df5b349SJonathan Marek 	.nodes = dc_noc_nodes,
18106df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
18116df5b349SJonathan Marek 	.bcms = dc_noc_bcms,
18126df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(dc_noc_bcms),
18136df5b349SJonathan Marek };
18146df5b349SJonathan Marek 
18157123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gem_noc_bcms[] = {
18166df5b349SJonathan Marek 	&bcm_sh0,
18176df5b349SJonathan Marek 	&bcm_sh2,
18186df5b349SJonathan Marek 	&bcm_sh3,
18196df5b349SJonathan Marek 	&bcm_sh4,
18206df5b349SJonathan Marek };
18216df5b349SJonathan Marek 
18222ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gem_noc_nodes[] = {
18236df5b349SJonathan Marek 	[MASTER_GPU_TCU] = &alm_gpu_tcu,
18246df5b349SJonathan Marek 	[MASTER_SYS_TCU] = &alm_sys_tcu,
18256df5b349SJonathan Marek 	[MASTER_AMPSS_M0] = &chm_apps,
18266df5b349SJonathan Marek 	[MASTER_GEM_NOC_CFG] = &qhm_gemnoc_cfg,
18276df5b349SJonathan Marek 	[MASTER_COMPUTE_NOC] = &qnm_cmpnoc,
18286df5b349SJonathan Marek 	[MASTER_GRAPHICS_3D] = &qnm_gpu,
18296df5b349SJonathan Marek 	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
18306df5b349SJonathan Marek 	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
18316df5b349SJonathan Marek 	[MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie,
18326df5b349SJonathan Marek 	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
18336df5b349SJonathan Marek 	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
18346df5b349SJonathan Marek 	[SLAVE_GEM_NOC_SNOC] = &qns_gem_noc_snoc,
18356df5b349SJonathan Marek 	[SLAVE_LLCC] = &qns_llcc,
18366df5b349SJonathan Marek 	[SLAVE_MEM_NOC_PCIE_SNOC] = &qns_sys_pcie,
18376df5b349SJonathan Marek 	[SLAVE_SERVICE_GEM_NOC_1] = &srvc_even_gemnoc,
18386df5b349SJonathan Marek 	[SLAVE_SERVICE_GEM_NOC_2] = &srvc_odd_gemnoc,
18396df5b349SJonathan Marek 	[SLAVE_SERVICE_GEM_NOC] = &srvc_sys_gemnoc,
18406df5b349SJonathan Marek };
18416df5b349SJonathan Marek 
18421625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_gem_noc = {
18436df5b349SJonathan Marek 	.nodes = gem_noc_nodes,
18446df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(gem_noc_nodes),
18456df5b349SJonathan Marek 	.bcms = gem_noc_bcms,
18466df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
18476df5b349SJonathan Marek };
18486df5b349SJonathan Marek 
18497123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mc_virt_bcms[] = {
18506df5b349SJonathan Marek 	&bcm_acv,
18516df5b349SJonathan Marek 	&bcm_mc0,
18526df5b349SJonathan Marek };
18536df5b349SJonathan Marek 
18542ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mc_virt_nodes[] = {
18556df5b349SJonathan Marek 	[MASTER_LLCC] = &llcc_mc,
18566df5b349SJonathan Marek 	[SLAVE_EBI_CH0] = &ebi,
18576df5b349SJonathan Marek };
18586df5b349SJonathan Marek 
18591625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_mc_virt = {
18606df5b349SJonathan Marek 	.nodes = mc_virt_nodes,
18616df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(mc_virt_nodes),
18626df5b349SJonathan Marek 	.bcms = mc_virt_bcms,
18636df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(mc_virt_bcms),
18646df5b349SJonathan Marek };
18656df5b349SJonathan Marek 
18667123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
18676df5b349SJonathan Marek 	&bcm_mm0,
18686df5b349SJonathan Marek 	&bcm_mm1,
18696df5b349SJonathan Marek 	&bcm_mm2,
18706df5b349SJonathan Marek 	&bcm_mm3,
18716df5b349SJonathan Marek };
18726df5b349SJonathan Marek 
18732ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = {
18746df5b349SJonathan Marek 	[MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg,
18756df5b349SJonathan Marek 	[MASTER_CAMNOC_HF] = &qnm_camnoc_hf,
18766df5b349SJonathan Marek 	[MASTER_CAMNOC_ICP] = &qnm_camnoc_icp,
18776df5b349SJonathan Marek 	[MASTER_CAMNOC_SF] = &qnm_camnoc_sf,
18786df5b349SJonathan Marek 	[MASTER_VIDEO_P0] = &qnm_video0,
18796df5b349SJonathan Marek 	[MASTER_VIDEO_P1] = &qnm_video1,
18806df5b349SJonathan Marek 	[MASTER_VIDEO_PROC] = &qnm_video_cvp,
18816df5b349SJonathan Marek 	[MASTER_MDP_PORT0] = &qxm_mdp0,
18826df5b349SJonathan Marek 	[MASTER_MDP_PORT1] = &qxm_mdp1,
18836df5b349SJonathan Marek 	[MASTER_ROTATOR] = &qxm_rot,
18846df5b349SJonathan Marek 	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
18856df5b349SJonathan Marek 	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
18866df5b349SJonathan Marek 	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
18876df5b349SJonathan Marek };
18886df5b349SJonathan Marek 
18891625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_mmss_noc = {
18906df5b349SJonathan Marek 	.nodes = mmss_noc_nodes,
18916df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
18926df5b349SJonathan Marek 	.bcms = mmss_noc_bcms,
18936df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
18946df5b349SJonathan Marek };
18956df5b349SJonathan Marek 
18967123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const npu_noc_bcms[] = {
18976df5b349SJonathan Marek };
18986df5b349SJonathan Marek 
18992ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const npu_noc_nodes[] = {
19006df5b349SJonathan Marek 	[MASTER_NPU_SYS] = &amm_npu_sys,
19016df5b349SJonathan Marek 	[MASTER_NPU_CDP] = &amm_npu_sys_cdp_w,
19026df5b349SJonathan Marek 	[MASTER_NPU_NOC_CFG] = &qhm_cfg,
19036df5b349SJonathan Marek 	[SLAVE_NPU_CAL_DP0] = &qhs_cal_dp0,
19046df5b349SJonathan Marek 	[SLAVE_NPU_CAL_DP1] = &qhs_cal_dp1,
19056df5b349SJonathan Marek 	[SLAVE_NPU_CP] = &qhs_cp,
19066df5b349SJonathan Marek 	[SLAVE_NPU_INT_DMA_BWMON_CFG] = &qhs_dma_bwmon,
19076df5b349SJonathan Marek 	[SLAVE_NPU_DPM] = &qhs_dpm,
19086df5b349SJonathan Marek 	[SLAVE_ISENSE_CFG] = &qhs_isense,
19096df5b349SJonathan Marek 	[SLAVE_NPU_LLM_CFG] = &qhs_llm,
19106df5b349SJonathan Marek 	[SLAVE_NPU_TCM] = &qhs_tcm,
19116df5b349SJonathan Marek 	[SLAVE_NPU_COMPUTE_NOC] = &qns_npu_sys,
19126df5b349SJonathan Marek 	[SLAVE_SERVICE_NPU_NOC] = &srvc_noc,
19136df5b349SJonathan Marek };
19146df5b349SJonathan Marek 
19151625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_npu_noc = {
19166df5b349SJonathan Marek 	.nodes = npu_noc_nodes,
19176df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(npu_noc_nodes),
19186df5b349SJonathan Marek 	.bcms = npu_noc_bcms,
19196df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(npu_noc_bcms),
19206df5b349SJonathan Marek };
19216df5b349SJonathan Marek 
19227123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = {
19236df5b349SJonathan Marek 	&bcm_sn0,
19246df5b349SJonathan Marek 	&bcm_sn1,
19256df5b349SJonathan Marek 	&bcm_sn11,
19266df5b349SJonathan Marek 	&bcm_sn2,
19276df5b349SJonathan Marek 	&bcm_sn3,
19286df5b349SJonathan Marek 	&bcm_sn4,
19296df5b349SJonathan Marek 	&bcm_sn5,
19306df5b349SJonathan Marek 	&bcm_sn6,
19316df5b349SJonathan Marek 	&bcm_sn7,
19326df5b349SJonathan Marek 	&bcm_sn8,
19336df5b349SJonathan Marek 	&bcm_sn9,
19346df5b349SJonathan Marek };
19356df5b349SJonathan Marek 
19362ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = {
19376df5b349SJonathan Marek 	[MASTER_SNOC_CFG] = &qhm_snoc_cfg,
19386df5b349SJonathan Marek 	[A1NOC_SNOC_MAS] = &qnm_aggre1_noc,
19396df5b349SJonathan Marek 	[A2NOC_SNOC_MAS] = &qnm_aggre2_noc,
19406df5b349SJonathan Marek 	[MASTER_GEM_NOC_SNOC] = &qnm_gemnoc,
19416df5b349SJonathan Marek 	[MASTER_GEM_NOC_PCIE_SNOC] = &qnm_gemnoc_pcie,
19426df5b349SJonathan Marek 	[MASTER_PIMEM] = &qxm_pimem,
19436df5b349SJonathan Marek 	[MASTER_GIC] = &xm_gic,
19446df5b349SJonathan Marek 	[SLAVE_APPSS] = &qhs_apss,
19456df5b349SJonathan Marek 	[SNOC_CNOC_SLV] = &qns_cnoc,
19466df5b349SJonathan Marek 	[SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc,
19476df5b349SJonathan Marek 	[SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf,
19486df5b349SJonathan Marek 	[SLAVE_OCIMEM] = &qxs_imem,
19496df5b349SJonathan Marek 	[SLAVE_PIMEM] = &qxs_pimem,
19506df5b349SJonathan Marek 	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
19516df5b349SJonathan Marek 	[SLAVE_PCIE_0] = &xs_pcie_0,
19526df5b349SJonathan Marek 	[SLAVE_PCIE_1] = &xs_pcie_1,
19536df5b349SJonathan Marek 	[SLAVE_PCIE_2] = &xs_pcie_modem,
19546df5b349SJonathan Marek 	[SLAVE_QDSS_STM] = &xs_qdss_stm,
19556df5b349SJonathan Marek 	[SLAVE_TCU] = &xs_sys_tcu_cfg,
19566df5b349SJonathan Marek };
19576df5b349SJonathan Marek 
19581625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_system_noc = {
19596df5b349SJonathan Marek 	.nodes = system_noc_nodes,
19606df5b349SJonathan Marek 	.num_nodes = ARRAY_SIZE(system_noc_nodes),
19616df5b349SJonathan Marek 	.bcms = system_noc_bcms,
19626df5b349SJonathan Marek 	.num_bcms = ARRAY_SIZE(system_noc_bcms),
19636df5b349SJonathan Marek };
19646df5b349SJonathan Marek 
19656df5b349SJonathan Marek static const struct of_device_id qnoc_of_match[] = {
19666df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-aggre1-noc",
19676df5b349SJonathan Marek 	  .data = &sm8250_aggre1_noc},
19686df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-aggre2-noc",
19696df5b349SJonathan Marek 	  .data = &sm8250_aggre2_noc},
19706df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-compute-noc",
19716df5b349SJonathan Marek 	  .data = &sm8250_compute_noc},
19726df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-config-noc",
19736df5b349SJonathan Marek 	  .data = &sm8250_config_noc},
19746df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-dc-noc",
19756df5b349SJonathan Marek 	  .data = &sm8250_dc_noc},
19766df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-gem-noc",
19776df5b349SJonathan Marek 	  .data = &sm8250_gem_noc},
19786df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-mc-virt",
19796df5b349SJonathan Marek 	  .data = &sm8250_mc_virt},
19806df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-mmss-noc",
19816df5b349SJonathan Marek 	  .data = &sm8250_mmss_noc},
19826df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-npu-noc",
19836df5b349SJonathan Marek 	  .data = &sm8250_npu_noc},
1984cde2f928SKonrad Dybcio 	{ .compatible = "qcom,sm8250-qup-virt",
1985cde2f928SKonrad Dybcio 	  .data = &sm8250_qup_virt },
19866df5b349SJonathan Marek 	{ .compatible = "qcom,sm8250-system-noc",
19876df5b349SJonathan Marek 	  .data = &sm8250_system_noc},
19886df5b349SJonathan Marek 	{ }
19896df5b349SJonathan Marek };
19906df5b349SJonathan Marek MODULE_DEVICE_TABLE(of, qnoc_of_match);
19916df5b349SJonathan Marek 
19926df5b349SJonathan Marek static struct platform_driver qnoc_driver = {
1993789a39adSMike Tipton 	.probe = qcom_icc_rpmh_probe,
1994789a39adSMike Tipton 	.remove = qcom_icc_rpmh_remove,
19956df5b349SJonathan Marek 	.driver = {
19966df5b349SJonathan Marek 		.name = "qnoc-sm8250",
19976df5b349SJonathan Marek 		.of_match_table = qnoc_of_match,
1998*5832822aSKonrad Dybcio 		.sync_state = icc_sync_state,
19996df5b349SJonathan Marek 	},
20006df5b349SJonathan Marek };
20016df5b349SJonathan Marek module_platform_driver(qnoc_driver);
20026df5b349SJonathan Marek 
20036df5b349SJonathan Marek MODULE_DESCRIPTION("Qualcomm SM8250 NoC driver");
20046df5b349SJonathan Marek MODULE_LICENSE("GPL v2");
2005