19c8c6bacSGeorgi Djakov // SPDX-License-Identifier: GPL-2.0
29c8c6bacSGeorgi Djakov /*
39c8c6bacSGeorgi Djakov  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
49c8c6bacSGeorgi Djakov  * Copyright (c) 2021, Linaro Ltd.
59c8c6bacSGeorgi Djakov  */
69c8c6bacSGeorgi Djakov 
79c8c6bacSGeorgi Djakov #include <linux/device.h>
89c8c6bacSGeorgi Djakov #include <linux/interconnect-provider.h>
99c8c6bacSGeorgi Djakov #include <linux/module.h>
10cff66aceSRob Herring #include <linux/mod_devicetable.h>
11cff66aceSRob Herring #include <linux/platform_device.h>
129c8c6bacSGeorgi Djakov 
139c8c6bacSGeorgi Djakov #include <dt-bindings/interconnect/qcom,sc8180x.h>
149c8c6bacSGeorgi Djakov 
159c8c6bacSGeorgi Djakov #include "bcm-voter.h"
169c8c6bacSGeorgi Djakov #include "icc-rpmh.h"
179c8c6bacSGeorgi Djakov #include "sc8180x.h"
189c8c6bacSGeorgi Djakov 
1904548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_a1noc_cfg = {
2004548d4eSBjorn Andersson 	.name = "mas_qhm_a1noc_cfg",
2104548d4eSBjorn Andersson 	.id = SC8180X_MASTER_A1NOC_CFG,
2204548d4eSBjorn Andersson 	.channels = 1,
2304548d4eSBjorn Andersson 	.buswidth = 4,
2404548d4eSBjorn Andersson 	.num_links = 1,
2504548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SERVICE_A1NOC }
2604548d4eSBjorn Andersson };
279c8c6bacSGeorgi Djakov 
2804548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_ufs_card = {
2904548d4eSBjorn Andersson 	.name = "mas_xm_ufs_card",
3004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_UFS_CARD,
3104548d4eSBjorn Andersson 	.channels = 1,
3204548d4eSBjorn Andersson 	.buswidth = 8,
3304548d4eSBjorn Andersson 	.num_links = 1,
3404548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_SLV }
3504548d4eSBjorn Andersson };
3604548d4eSBjorn Andersson 
3704548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_ufs_g4 = {
3804548d4eSBjorn Andersson 	.name = "mas_xm_ufs_g4",
3904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_UFS_GEN4,
4004548d4eSBjorn Andersson 	.channels = 1,
4104548d4eSBjorn Andersson 	.buswidth = 8,
4204548d4eSBjorn Andersson 	.num_links = 1,
4304548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_SLV }
4404548d4eSBjorn Andersson };
4504548d4eSBjorn Andersson 
4604548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_ufs_mem = {
4704548d4eSBjorn Andersson 	.name = "mas_xm_ufs_mem",
4804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_UFS_MEM,
4904548d4eSBjorn Andersson 	.channels = 1,
5004548d4eSBjorn Andersson 	.buswidth = 8,
5104548d4eSBjorn Andersson 	.num_links = 1,
5204548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_SLV }
5304548d4eSBjorn Andersson };
5404548d4eSBjorn Andersson 
5504548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_usb3_0 = {
5604548d4eSBjorn Andersson 	.name = "mas_xm_usb3_0",
5704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_USB3,
5804548d4eSBjorn Andersson 	.channels = 1,
5904548d4eSBjorn Andersson 	.buswidth = 8,
6004548d4eSBjorn Andersson 	.num_links = 1,
6104548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_SLV }
6204548d4eSBjorn Andersson };
6304548d4eSBjorn Andersson 
6404548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_usb3_1 = {
6504548d4eSBjorn Andersson 	.name = "mas_xm_usb3_1",
6604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_USB3_1,
6704548d4eSBjorn Andersson 	.channels = 1,
6804548d4eSBjorn Andersson 	.buswidth = 8,
6904548d4eSBjorn Andersson 	.num_links = 1,
7004548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_SLV }
7104548d4eSBjorn Andersson };
7204548d4eSBjorn Andersson 
7304548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_usb3_2 = {
7404548d4eSBjorn Andersson 	.name = "mas_xm_usb3_2",
7504548d4eSBjorn Andersson 	.id = SC8180X_MASTER_USB3_2,
7604548d4eSBjorn Andersson 	.channels = 1,
7704548d4eSBjorn Andersson 	.buswidth = 16,
7804548d4eSBjorn Andersson 	.num_links = 1,
7904548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_SLV }
8004548d4eSBjorn Andersson };
8104548d4eSBjorn Andersson 
8204548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_a2noc_cfg = {
8304548d4eSBjorn Andersson 	.name = "mas_qhm_a2noc_cfg",
8404548d4eSBjorn Andersson 	.id = SC8180X_MASTER_A2NOC_CFG,
8504548d4eSBjorn Andersson 	.channels = 1,
8604548d4eSBjorn Andersson 	.buswidth = 4,
8704548d4eSBjorn Andersson 	.num_links = 1,
8804548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SERVICE_A2NOC }
8904548d4eSBjorn Andersson };
9004548d4eSBjorn Andersson 
9104548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_qdss_bam = {
9204548d4eSBjorn Andersson 	.name = "mas_qhm_qdss_bam",
9304548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QDSS_BAM,
9404548d4eSBjorn Andersson 	.channels = 1,
9504548d4eSBjorn Andersson 	.buswidth = 4,
9604548d4eSBjorn Andersson 	.num_links = 1,
9704548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
9804548d4eSBjorn Andersson };
9904548d4eSBjorn Andersson 
10004548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_qspi = {
10104548d4eSBjorn Andersson 	.name = "mas_qhm_qspi",
10204548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QSPI_0,
10304548d4eSBjorn Andersson 	.channels = 1,
10404548d4eSBjorn Andersson 	.buswidth = 4,
10504548d4eSBjorn Andersson 	.num_links = 1,
10604548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
10704548d4eSBjorn Andersson };
10804548d4eSBjorn Andersson 
10904548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_qspi1 = {
11004548d4eSBjorn Andersson 	.name = "mas_qhm_qspi1",
11104548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QSPI_1,
11204548d4eSBjorn Andersson 	.channels = 1,
11304548d4eSBjorn Andersson 	.buswidth = 4,
11404548d4eSBjorn Andersson 	.num_links = 1,
11504548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
11604548d4eSBjorn Andersson };
11704548d4eSBjorn Andersson 
11804548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_qup0 = {
11904548d4eSBjorn Andersson 	.name = "mas_qhm_qup0",
12004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QUP_0,
12104548d4eSBjorn Andersson 	.channels = 1,
12204548d4eSBjorn Andersson 	.buswidth = 4,
12304548d4eSBjorn Andersson 	.num_links = 1,
12404548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
12504548d4eSBjorn Andersson };
12604548d4eSBjorn Andersson 
12704548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_qup1 = {
12804548d4eSBjorn Andersson 	.name = "mas_qhm_qup1",
12904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QUP_1,
13004548d4eSBjorn Andersson 	.channels = 1,
13104548d4eSBjorn Andersson 	.buswidth = 4,
13204548d4eSBjorn Andersson 	.num_links = 1,
13304548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
13404548d4eSBjorn Andersson };
13504548d4eSBjorn Andersson 
13604548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_qup2 = {
13704548d4eSBjorn Andersson 	.name = "mas_qhm_qup2",
13804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QUP_2,
13904548d4eSBjorn Andersson 	.channels = 1,
14004548d4eSBjorn Andersson 	.buswidth = 4,
14104548d4eSBjorn Andersson 	.num_links = 1,
14204548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
14304548d4eSBjorn Andersson };
14404548d4eSBjorn Andersson 
14504548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_sensorss_ahb = {
14604548d4eSBjorn Andersson 	.name = "mas_qhm_sensorss_ahb",
14704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SENSORS_AHB,
14804548d4eSBjorn Andersson 	.channels = 1,
14904548d4eSBjorn Andersson 	.buswidth = 4,
15004548d4eSBjorn Andersson 	.num_links = 1,
15104548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
15204548d4eSBjorn Andersson };
15304548d4eSBjorn Andersson 
15404548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_crypto = {
15504548d4eSBjorn Andersson 	.name = "mas_qxm_crypto",
15604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CRYPTO_CORE_0,
15704548d4eSBjorn Andersson 	.channels = 1,
15804548d4eSBjorn Andersson 	.buswidth = 8,
15904548d4eSBjorn Andersson 	.num_links = 1,
16004548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
16104548d4eSBjorn Andersson };
16204548d4eSBjorn Andersson 
16304548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_ipa = {
16404548d4eSBjorn Andersson 	.name = "mas_qxm_ipa",
16504548d4eSBjorn Andersson 	.id = SC8180X_MASTER_IPA,
16604548d4eSBjorn Andersson 	.channels = 1,
16704548d4eSBjorn Andersson 	.buswidth = 8,
16804548d4eSBjorn Andersson 	.num_links = 1,
16904548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
17004548d4eSBjorn Andersson };
17104548d4eSBjorn Andersson 
17204548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_emac = {
17304548d4eSBjorn Andersson 	.name = "mas_xm_emac",
17404548d4eSBjorn Andersson 	.id = SC8180X_MASTER_EMAC,
17504548d4eSBjorn Andersson 	.channels = 1,
17604548d4eSBjorn Andersson 	.buswidth = 8,
17704548d4eSBjorn Andersson 	.num_links = 1,
17804548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
17904548d4eSBjorn Andersson };
18004548d4eSBjorn Andersson 
18104548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_pcie3_0 = {
18204548d4eSBjorn Andersson 	.name = "mas_xm_pcie3_0",
18304548d4eSBjorn Andersson 	.id = SC8180X_MASTER_PCIE,
18404548d4eSBjorn Andersson 	.channels = 1,
18504548d4eSBjorn Andersson 	.buswidth = 8,
18604548d4eSBjorn Andersson 	.num_links = 1,
18704548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_ANOC_PCIE_GEM_NOC }
18804548d4eSBjorn Andersson };
18904548d4eSBjorn Andersson 
19004548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_pcie3_1 = {
19104548d4eSBjorn Andersson 	.name = "mas_xm_pcie3_1",
19204548d4eSBjorn Andersson 	.id = SC8180X_MASTER_PCIE_1,
19304548d4eSBjorn Andersson 	.channels = 1,
19404548d4eSBjorn Andersson 	.buswidth = 16,
19504548d4eSBjorn Andersson 	.num_links = 1,
19604548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_ANOC_PCIE_GEM_NOC }
19704548d4eSBjorn Andersson };
19804548d4eSBjorn Andersson 
19904548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_pcie3_2 = {
20004548d4eSBjorn Andersson 	.name = "mas_xm_pcie3_2",
20104548d4eSBjorn Andersson 	.id = SC8180X_MASTER_PCIE_2,
20204548d4eSBjorn Andersson 	.channels = 1,
20304548d4eSBjorn Andersson 	.buswidth = 8,
20404548d4eSBjorn Andersson 	.num_links = 1,
20504548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_ANOC_PCIE_GEM_NOC }
20604548d4eSBjorn Andersson };
20704548d4eSBjorn Andersson 
20804548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_pcie3_3 = {
20904548d4eSBjorn Andersson 	.name = "mas_xm_pcie3_3",
21004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_PCIE_3,
21104548d4eSBjorn Andersson 	.channels = 1,
21204548d4eSBjorn Andersson 	.buswidth = 16,
21304548d4eSBjorn Andersson 	.num_links = 1,
21404548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_ANOC_PCIE_GEM_NOC }
21504548d4eSBjorn Andersson };
21604548d4eSBjorn Andersson 
21704548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_qdss_etr = {
21804548d4eSBjorn Andersson 	.name = "mas_xm_qdss_etr",
21904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QDSS_ETR,
22004548d4eSBjorn Andersson 	.channels = 1,
22104548d4eSBjorn Andersson 	.buswidth = 8,
22204548d4eSBjorn Andersson 	.num_links = 1,
22304548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
22404548d4eSBjorn Andersson };
22504548d4eSBjorn Andersson 
22604548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_sdc2 = {
22704548d4eSBjorn Andersson 	.name = "mas_xm_sdc2",
22804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SDCC_2,
22904548d4eSBjorn Andersson 	.channels = 1,
23004548d4eSBjorn Andersson 	.buswidth = 8,
23104548d4eSBjorn Andersson 	.num_links = 1,
23204548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
23304548d4eSBjorn Andersson };
23404548d4eSBjorn Andersson 
23504548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_sdc4 = {
23604548d4eSBjorn Andersson 	.name = "mas_xm_sdc4",
23704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SDCC_4,
23804548d4eSBjorn Andersson 	.channels = 1,
23904548d4eSBjorn Andersson 	.buswidth = 8,
24004548d4eSBjorn Andersson 	.num_links = 1,
24104548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_SLV }
24204548d4eSBjorn Andersson };
24304548d4eSBjorn Andersson 
24404548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_camnoc_hf0_uncomp = {
24504548d4eSBjorn Andersson 	.name = "mas_qxm_camnoc_hf0_uncomp",
24604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CAMNOC_HF0_UNCOMP,
24704548d4eSBjorn Andersson 	.channels = 1,
24804548d4eSBjorn Andersson 	.buswidth = 32,
24904548d4eSBjorn Andersson 	.num_links = 1,
25004548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_CAMNOC_UNCOMP }
25104548d4eSBjorn Andersson };
25204548d4eSBjorn Andersson 
25304548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_camnoc_hf1_uncomp = {
25404548d4eSBjorn Andersson 	.name = "mas_qxm_camnoc_hf1_uncomp",
25504548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CAMNOC_HF1_UNCOMP,
25604548d4eSBjorn Andersson 	.channels = 1,
25704548d4eSBjorn Andersson 	.buswidth = 32,
25804548d4eSBjorn Andersson 	.num_links = 1,
25904548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_CAMNOC_UNCOMP }
26004548d4eSBjorn Andersson };
26104548d4eSBjorn Andersson 
26204548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_camnoc_sf_uncomp = {
26304548d4eSBjorn Andersson 	.name = "mas_qxm_camnoc_sf_uncomp",
26404548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CAMNOC_SF_UNCOMP,
26504548d4eSBjorn Andersson 	.channels = 1,
26604548d4eSBjorn Andersson 	.buswidth = 32,
26704548d4eSBjorn Andersson 	.num_links = 1,
26804548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_CAMNOC_UNCOMP }
26904548d4eSBjorn Andersson };
27004548d4eSBjorn Andersson 
27104548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_npu = {
27204548d4eSBjorn Andersson 	.name = "mas_qnm_npu",
27304548d4eSBjorn Andersson 	.id = SC8180X_MASTER_NPU,
27404548d4eSBjorn Andersson 	.channels = 1,
27504548d4eSBjorn Andersson 	.buswidth = 32,
27604548d4eSBjorn Andersson 	.num_links = 1,
27704548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_CDSP_MEM_NOC }
27804548d4eSBjorn Andersson };
27904548d4eSBjorn Andersson 
28004548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_snoc = {
28104548d4eSBjorn Andersson 	.name = "mas_qnm_snoc",
28204548d4eSBjorn Andersson 	.id = SC8180X_SNOC_CNOC_MAS,
28304548d4eSBjorn Andersson 	.channels = 1,
28404548d4eSBjorn Andersson 	.buswidth = 8,
28504548d4eSBjorn Andersson 	.num_links = 56,
28604548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_TLMM_SOUTH,
28704548d4eSBjorn Andersson 		   SC8180X_SLAVE_CDSP_CFG,
28804548d4eSBjorn Andersson 		   SC8180X_SLAVE_SPSS_CFG,
28904548d4eSBjorn Andersson 		   SC8180X_SLAVE_CAMERA_CFG,
29004548d4eSBjorn Andersson 		   SC8180X_SLAVE_SDCC_4,
29104548d4eSBjorn Andersson 		   SC8180X_SLAVE_AHB2PHY_CENTER,
29204548d4eSBjorn Andersson 		   SC8180X_SLAVE_SDCC_2,
29304548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_2_CFG,
29404548d4eSBjorn Andersson 		   SC8180X_SLAVE_CNOC_MNOC_CFG,
29504548d4eSBjorn Andersson 		   SC8180X_SLAVE_EMAC_CFG,
29604548d4eSBjorn Andersson 		   SC8180X_SLAVE_QSPI_0,
29704548d4eSBjorn Andersson 		   SC8180X_SLAVE_QSPI_1,
29804548d4eSBjorn Andersson 		   SC8180X_SLAVE_TLMM_EAST,
29904548d4eSBjorn Andersson 		   SC8180X_SLAVE_SNOC_CFG,
30004548d4eSBjorn Andersson 		   SC8180X_SLAVE_AHB2PHY_EAST,
30104548d4eSBjorn Andersson 		   SC8180X_SLAVE_GLM,
30204548d4eSBjorn Andersson 		   SC8180X_SLAVE_PDM,
30304548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_1_CFG,
30404548d4eSBjorn Andersson 		   SC8180X_SLAVE_A2NOC_CFG,
30504548d4eSBjorn Andersson 		   SC8180X_SLAVE_QDSS_CFG,
30604548d4eSBjorn Andersson 		   SC8180X_SLAVE_DISPLAY_CFG,
30704548d4eSBjorn Andersson 		   SC8180X_SLAVE_TCSR,
30804548d4eSBjorn Andersson 		   SC8180X_SLAVE_UFS_MEM_0_CFG,
30904548d4eSBjorn Andersson 		   SC8180X_SLAVE_CNOC_DDRSS,
31004548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_0_CFG,
31104548d4eSBjorn Andersson 		   SC8180X_SLAVE_QUP_1,
31204548d4eSBjorn Andersson 		   SC8180X_SLAVE_QUP_2,
31304548d4eSBjorn Andersson 		   SC8180X_SLAVE_NPU_CFG,
31404548d4eSBjorn Andersson 		   SC8180X_SLAVE_CRYPTO_0_CFG,
31504548d4eSBjorn Andersson 		   SC8180X_SLAVE_GRAPHICS_3D_CFG,
31604548d4eSBjorn Andersson 		   SC8180X_SLAVE_VENUS_CFG,
31704548d4eSBjorn Andersson 		   SC8180X_SLAVE_TSIF,
31804548d4eSBjorn Andersson 		   SC8180X_SLAVE_IPA_CFG,
31904548d4eSBjorn Andersson 		   SC8180X_SLAVE_CLK_CTL,
32004548d4eSBjorn Andersson 		   SC8180X_SLAVE_SECURITY,
32104548d4eSBjorn Andersson 		   SC8180X_SLAVE_AOP,
32204548d4eSBjorn Andersson 		   SC8180X_SLAVE_AHB2PHY_WEST,
32304548d4eSBjorn Andersson 		   SC8180X_SLAVE_AHB2PHY_SOUTH,
32404548d4eSBjorn Andersson 		   SC8180X_SLAVE_SERVICE_CNOC,
32504548d4eSBjorn Andersson 		   SC8180X_SLAVE_UFS_CARD_CFG,
32604548d4eSBjorn Andersson 		   SC8180X_SLAVE_USB3_1,
32704548d4eSBjorn Andersson 		   SC8180X_SLAVE_USB3_2,
32804548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_3_CFG,
32904548d4eSBjorn Andersson 		   SC8180X_SLAVE_RBCPR_CX_CFG,
33004548d4eSBjorn Andersson 		   SC8180X_SLAVE_TLMM_WEST,
33104548d4eSBjorn Andersson 		   SC8180X_SLAVE_A1NOC_CFG,
33204548d4eSBjorn Andersson 		   SC8180X_SLAVE_AOSS,
33304548d4eSBjorn Andersson 		   SC8180X_SLAVE_PRNG,
33404548d4eSBjorn Andersson 		   SC8180X_SLAVE_VSENSE_CTRL_CFG,
33504548d4eSBjorn Andersson 		   SC8180X_SLAVE_QUP_0,
33604548d4eSBjorn Andersson 		   SC8180X_SLAVE_USB3,
33704548d4eSBjorn Andersson 		   SC8180X_SLAVE_RBCPR_MMCX_CFG,
33804548d4eSBjorn Andersson 		   SC8180X_SLAVE_PIMEM_CFG,
33904548d4eSBjorn Andersson 		   SC8180X_SLAVE_UFS_MEM_1_CFG,
34004548d4eSBjorn Andersson 		   SC8180X_SLAVE_RBCPR_MX_CFG,
34104548d4eSBjorn Andersson 		   SC8180X_SLAVE_IMEM_CFG }
34204548d4eSBjorn Andersson };
34304548d4eSBjorn Andersson 
34404548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_cnoc_dc_noc = {
34504548d4eSBjorn Andersson 	.name = "mas_qhm_cnoc_dc_noc",
34604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CNOC_DC_NOC,
34704548d4eSBjorn Andersson 	.channels = 1,
34804548d4eSBjorn Andersson 	.buswidth = 4,
34904548d4eSBjorn Andersson 	.num_links = 2,
35004548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC_CFG,
35104548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_CFG }
35204548d4eSBjorn Andersson };
35304548d4eSBjorn Andersson 
35404548d4eSBjorn Andersson static struct qcom_icc_node mas_acm_apps = {
35504548d4eSBjorn Andersson 	.name = "mas_acm_apps",
35604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_AMPSS_M0,
35704548d4eSBjorn Andersson 	.channels = 4,
35804548d4eSBjorn Andersson 	.buswidth = 64,
35904548d4eSBjorn Andersson 	.num_links = 3,
36004548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_ECC,
36104548d4eSBjorn Andersson 		   SC8180X_SLAVE_LLCC,
36204548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
36304548d4eSBjorn Andersson };
36404548d4eSBjorn Andersson 
36504548d4eSBjorn Andersson static struct qcom_icc_node mas_acm_gpu_tcu = {
36604548d4eSBjorn Andersson 	.name = "mas_acm_gpu_tcu",
36704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_GPU_TCU,
36804548d4eSBjorn Andersson 	.channels = 1,
36904548d4eSBjorn Andersson 	.buswidth = 8,
37004548d4eSBjorn Andersson 	.num_links = 2,
37104548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC,
37204548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
37304548d4eSBjorn Andersson };
37404548d4eSBjorn Andersson 
37504548d4eSBjorn Andersson static struct qcom_icc_node mas_acm_sys_tcu = {
37604548d4eSBjorn Andersson 	.name = "mas_acm_sys_tcu",
37704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SYS_TCU,
37804548d4eSBjorn Andersson 	.channels = 1,
37904548d4eSBjorn Andersson 	.buswidth = 8,
38004548d4eSBjorn Andersson 	.num_links = 2,
38104548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC,
38204548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
38304548d4eSBjorn Andersson };
38404548d4eSBjorn Andersson 
38504548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_gemnoc_cfg = {
38604548d4eSBjorn Andersson 	.name = "mas_qhm_gemnoc_cfg",
38704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_GEM_NOC_CFG,
38804548d4eSBjorn Andersson 	.channels = 1,
38904548d4eSBjorn Andersson 	.buswidth = 4,
39004548d4eSBjorn Andersson 	.num_links = 3,
39104548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SERVICE_GEM_NOC_1,
39204548d4eSBjorn Andersson 		   SC8180X_SLAVE_SERVICE_GEM_NOC,
39304548d4eSBjorn Andersson 		   SC8180X_SLAVE_MSS_PROC_MS_MPU_CFG }
39404548d4eSBjorn Andersson };
39504548d4eSBjorn Andersson 
39604548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_cmpnoc = {
39704548d4eSBjorn Andersson 	.name = "mas_qnm_cmpnoc",
39804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_COMPUTE_NOC,
39904548d4eSBjorn Andersson 	.channels = 2,
40004548d4eSBjorn Andersson 	.buswidth = 32,
40104548d4eSBjorn Andersson 	.num_links = 3,
40204548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_ECC,
40304548d4eSBjorn Andersson 		   SC8180X_SLAVE_LLCC,
40404548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
40504548d4eSBjorn Andersson };
40604548d4eSBjorn Andersson 
40704548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_gpu = {
40804548d4eSBjorn Andersson 	.name = "mas_qnm_gpu",
40904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_GRAPHICS_3D,
41004548d4eSBjorn Andersson 	.channels = 4,
41104548d4eSBjorn Andersson 	.buswidth = 32,
41204548d4eSBjorn Andersson 	.num_links = 2,
41304548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC,
41404548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
41504548d4eSBjorn Andersson };
41604548d4eSBjorn Andersson 
41704548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_mnoc_hf = {
41804548d4eSBjorn Andersson 	.name = "mas_qnm_mnoc_hf",
41904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_MNOC_HF_MEM_NOC,
42004548d4eSBjorn Andersson 	.channels = 2,
42104548d4eSBjorn Andersson 	.buswidth = 32,
42204548d4eSBjorn Andersson 	.num_links = 1,
42304548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC }
42404548d4eSBjorn Andersson };
42504548d4eSBjorn Andersson 
42604548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_mnoc_sf = {
42704548d4eSBjorn Andersson 	.name = "mas_qnm_mnoc_sf",
42804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_MNOC_SF_MEM_NOC,
42904548d4eSBjorn Andersson 	.channels = 1,
43004548d4eSBjorn Andersson 	.buswidth = 32,
43104548d4eSBjorn Andersson 	.num_links = 2,
43204548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC,
43304548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
43404548d4eSBjorn Andersson };
43504548d4eSBjorn Andersson 
43604548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_pcie = {
43704548d4eSBjorn Andersson 	.name = "mas_qnm_pcie",
43804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_GEM_NOC_PCIE_SNOC,
43904548d4eSBjorn Andersson 	.channels = 1,
44004548d4eSBjorn Andersson 	.buswidth = 32,
44104548d4eSBjorn Andersson 	.num_links = 2,
44204548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC,
44304548d4eSBjorn Andersson 		   SC8180X_SLAVE_GEM_NOC_SNOC }
44404548d4eSBjorn Andersson };
44504548d4eSBjorn Andersson 
44604548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_snoc_gc = {
44704548d4eSBjorn Andersson 	.name = "mas_qnm_snoc_gc",
44804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SNOC_GC_MEM_NOC,
44904548d4eSBjorn Andersson 	.channels = 1,
45004548d4eSBjorn Andersson 	.buswidth = 8,
45104548d4eSBjorn Andersson 	.num_links = 1,
45204548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC }
45304548d4eSBjorn Andersson };
45404548d4eSBjorn Andersson 
45504548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_snoc_sf = {
45604548d4eSBjorn Andersson 	.name = "mas_qnm_snoc_sf",
45704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SNOC_SF_MEM_NOC,
45804548d4eSBjorn Andersson 	.channels = 1,
45904548d4eSBjorn Andersson 	.buswidth = 32,
46004548d4eSBjorn Andersson 	.num_links = 1,
46104548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC }
46204548d4eSBjorn Andersson };
46304548d4eSBjorn Andersson 
46404548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_ecc = {
46504548d4eSBjorn Andersson 	.name = "mas_qxm_ecc",
46604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_ECC,
46704548d4eSBjorn Andersson 	.channels = 2,
46804548d4eSBjorn Andersson 	.buswidth = 32,
46904548d4eSBjorn Andersson 	.num_links = 1,
47004548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_LLCC }
47104548d4eSBjorn Andersson };
47204548d4eSBjorn Andersson 
47304548d4eSBjorn Andersson static struct qcom_icc_node mas_llcc_mc = {
47404548d4eSBjorn Andersson 	.name = "mas_llcc_mc",
47504548d4eSBjorn Andersson 	.id = SC8180X_MASTER_LLCC,
47604548d4eSBjorn Andersson 	.channels = 8,
47704548d4eSBjorn Andersson 	.buswidth = 4,
47804548d4eSBjorn Andersson 	.num_links = 1,
47904548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_EBI_CH0 }
48004548d4eSBjorn Andersson };
48104548d4eSBjorn Andersson 
48204548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_mnoc_cfg = {
48304548d4eSBjorn Andersson 	.name = "mas_qhm_mnoc_cfg",
48404548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CNOC_MNOC_CFG,
48504548d4eSBjorn Andersson 	.channels = 1,
48604548d4eSBjorn Andersson 	.buswidth = 4,
48704548d4eSBjorn Andersson 	.num_links = 1,
48804548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SERVICE_MNOC }
48904548d4eSBjorn Andersson };
49004548d4eSBjorn Andersson 
49104548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_camnoc_hf0 = {
49204548d4eSBjorn Andersson 	.name = "mas_qxm_camnoc_hf0",
49304548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CAMNOC_HF0,
49404548d4eSBjorn Andersson 	.channels = 1,
49504548d4eSBjorn Andersson 	.buswidth = 32,
49604548d4eSBjorn Andersson 	.num_links = 1,
49704548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_HF_MEM_NOC }
49804548d4eSBjorn Andersson };
49904548d4eSBjorn Andersson 
50004548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_camnoc_hf1 = {
50104548d4eSBjorn Andersson 	.name = "mas_qxm_camnoc_hf1",
50204548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CAMNOC_HF1,
50304548d4eSBjorn Andersson 	.channels = 1,
50404548d4eSBjorn Andersson 	.buswidth = 32,
50504548d4eSBjorn Andersson 	.num_links = 1,
50604548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_HF_MEM_NOC }
50704548d4eSBjorn Andersson };
50804548d4eSBjorn Andersson 
50904548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_camnoc_sf = {
51004548d4eSBjorn Andersson 	.name = "mas_qxm_camnoc_sf",
51104548d4eSBjorn Andersson 	.id = SC8180X_MASTER_CAMNOC_SF,
51204548d4eSBjorn Andersson 	.channels = 1,
51304548d4eSBjorn Andersson 	.buswidth = 32,
51404548d4eSBjorn Andersson 	.num_links = 1,
51504548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_SF_MEM_NOC }
51604548d4eSBjorn Andersson };
51704548d4eSBjorn Andersson 
51804548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_mdp0 = {
51904548d4eSBjorn Andersson 	.name = "mas_qxm_mdp0",
52004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_MDP_PORT0,
52104548d4eSBjorn Andersson 	.channels = 1,
52204548d4eSBjorn Andersson 	.buswidth = 32,
52304548d4eSBjorn Andersson 	.num_links = 1,
52404548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_HF_MEM_NOC }
52504548d4eSBjorn Andersson };
52604548d4eSBjorn Andersson 
52704548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_mdp1 = {
52804548d4eSBjorn Andersson 	.name = "mas_qxm_mdp1",
52904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_MDP_PORT1,
53004548d4eSBjorn Andersson 	.channels = 1,
53104548d4eSBjorn Andersson 	.buswidth = 32,
53204548d4eSBjorn Andersson 	.num_links = 1,
53304548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_HF_MEM_NOC }
53404548d4eSBjorn Andersson };
53504548d4eSBjorn Andersson 
53604548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_rot = {
53704548d4eSBjorn Andersson 	.name = "mas_qxm_rot",
53804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_ROTATOR,
53904548d4eSBjorn Andersson 	.channels = 1,
54004548d4eSBjorn Andersson 	.buswidth = 32,
54104548d4eSBjorn Andersson 	.num_links = 1,
54204548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_SF_MEM_NOC }
54304548d4eSBjorn Andersson };
54404548d4eSBjorn Andersson 
54504548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_venus0 = {
54604548d4eSBjorn Andersson 	.name = "mas_qxm_venus0",
54704548d4eSBjorn Andersson 	.id = SC8180X_MASTER_VIDEO_P0,
54804548d4eSBjorn Andersson 	.channels = 1,
54904548d4eSBjorn Andersson 	.buswidth = 32,
55004548d4eSBjorn Andersson 	.num_links = 1,
55104548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_SF_MEM_NOC }
55204548d4eSBjorn Andersson };
55304548d4eSBjorn Andersson 
55404548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_venus1 = {
55504548d4eSBjorn Andersson 	.name = "mas_qxm_venus1",
55604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_VIDEO_P1,
55704548d4eSBjorn Andersson 	.channels = 1,
55804548d4eSBjorn Andersson 	.buswidth = 32,
55904548d4eSBjorn Andersson 	.num_links = 1,
56004548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_SF_MEM_NOC }
56104548d4eSBjorn Andersson };
56204548d4eSBjorn Andersson 
56304548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_venus_arm9 = {
56404548d4eSBjorn Andersson 	.name = "mas_qxm_venus_arm9",
56504548d4eSBjorn Andersson 	.id = SC8180X_MASTER_VIDEO_PROC,
56604548d4eSBjorn Andersson 	.channels = 1,
56704548d4eSBjorn Andersson 	.buswidth = 8,
56804548d4eSBjorn Andersson 	.num_links = 1,
56904548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_MNOC_SF_MEM_NOC }
57004548d4eSBjorn Andersson };
57104548d4eSBjorn Andersson 
57204548d4eSBjorn Andersson static struct qcom_icc_node mas_qhm_snoc_cfg = {
57304548d4eSBjorn Andersson 	.name = "mas_qhm_snoc_cfg",
57404548d4eSBjorn Andersson 	.id = SC8180X_MASTER_SNOC_CFG,
57504548d4eSBjorn Andersson 	.channels = 1,
57604548d4eSBjorn Andersson 	.buswidth = 4,
57704548d4eSBjorn Andersson 	.num_links = 1,
57804548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SERVICE_SNOC }
57904548d4eSBjorn Andersson };
58004548d4eSBjorn Andersson 
58104548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_aggre1_noc = {
58204548d4eSBjorn Andersson 	.name = "mas_qnm_aggre1_noc",
58304548d4eSBjorn Andersson 	.id = SC8180X_A1NOC_SNOC_MAS,
58404548d4eSBjorn Andersson 	.channels = 1,
58504548d4eSBjorn Andersson 	.buswidth = 32,
58604548d4eSBjorn Andersson 	.num_links = 6,
58704548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SNOC_GEM_NOC_SF,
58804548d4eSBjorn Andersson 		   SC8180X_SLAVE_PIMEM,
58904548d4eSBjorn Andersson 		   SC8180X_SLAVE_OCIMEM,
59004548d4eSBjorn Andersson 		   SC8180X_SLAVE_APPSS,
59104548d4eSBjorn Andersson 		   SC8180X_SNOC_CNOC_SLV,
59204548d4eSBjorn Andersson 		   SC8180X_SLAVE_QDSS_STM }
59304548d4eSBjorn Andersson };
59404548d4eSBjorn Andersson 
59504548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_aggre2_noc = {
59604548d4eSBjorn Andersson 	.name = "mas_qnm_aggre2_noc",
59704548d4eSBjorn Andersson 	.id = SC8180X_A2NOC_SNOC_MAS,
59804548d4eSBjorn Andersson 	.channels = 1,
59904548d4eSBjorn Andersson 	.buswidth = 16,
60004548d4eSBjorn Andersson 	.num_links = 11,
60104548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SNOC_GEM_NOC_SF,
60204548d4eSBjorn Andersson 		   SC8180X_SLAVE_PIMEM,
60304548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_3,
60404548d4eSBjorn Andersson 		   SC8180X_SLAVE_OCIMEM,
60504548d4eSBjorn Andersson 		   SC8180X_SLAVE_APPSS,
60604548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_2,
60704548d4eSBjorn Andersson 		   SC8180X_SNOC_CNOC_SLV,
60804548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_0,
60904548d4eSBjorn Andersson 		   SC8180X_SLAVE_PCIE_1,
61004548d4eSBjorn Andersson 		   SC8180X_SLAVE_TCU,
61104548d4eSBjorn Andersson 		   SC8180X_SLAVE_QDSS_STM }
61204548d4eSBjorn Andersson };
61304548d4eSBjorn Andersson 
61404548d4eSBjorn Andersson static struct qcom_icc_node mas_qnm_gemnoc = {
61504548d4eSBjorn Andersson 	.name = "mas_qnm_gemnoc",
61604548d4eSBjorn Andersson 	.id = SC8180X_MASTER_GEM_NOC_SNOC,
61704548d4eSBjorn Andersson 	.channels = 1,
61804548d4eSBjorn Andersson 	.buswidth = 8,
61904548d4eSBjorn Andersson 	.num_links = 6,
62004548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_PIMEM,
62104548d4eSBjorn Andersson 		   SC8180X_SLAVE_OCIMEM,
62204548d4eSBjorn Andersson 		   SC8180X_SLAVE_APPSS,
62304548d4eSBjorn Andersson 		   SC8180X_SNOC_CNOC_SLV,
62404548d4eSBjorn Andersson 		   SC8180X_SLAVE_TCU,
62504548d4eSBjorn Andersson 		   SC8180X_SLAVE_QDSS_STM }
62604548d4eSBjorn Andersson };
62704548d4eSBjorn Andersson 
62804548d4eSBjorn Andersson static struct qcom_icc_node mas_qxm_pimem = {
62904548d4eSBjorn Andersson 	.name = "mas_qxm_pimem",
63004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_PIMEM,
63104548d4eSBjorn Andersson 	.channels = 1,
63204548d4eSBjorn Andersson 	.buswidth = 8,
63304548d4eSBjorn Andersson 	.num_links = 2,
63404548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SNOC_GEM_NOC_GC,
63504548d4eSBjorn Andersson 		   SC8180X_SLAVE_OCIMEM }
63604548d4eSBjorn Andersson };
63704548d4eSBjorn Andersson 
63804548d4eSBjorn Andersson static struct qcom_icc_node mas_xm_gic = {
63904548d4eSBjorn Andersson 	.name = "mas_xm_gic",
64004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_GIC,
64104548d4eSBjorn Andersson 	.channels = 1,
64204548d4eSBjorn Andersson 	.buswidth = 8,
64304548d4eSBjorn Andersson 	.num_links = 2,
64404548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_SNOC_GEM_NOC_GC,
64504548d4eSBjorn Andersson 		   SC8180X_SLAVE_OCIMEM }
64604548d4eSBjorn Andersson };
64704548d4eSBjorn Andersson 
64804548d4eSBjorn Andersson static struct qcom_icc_node mas_qup_core_0 = {
64904548d4eSBjorn Andersson 	.name = "mas_qup_core_0",
65004548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QUP_CORE_0,
65104548d4eSBjorn Andersson 	.channels = 1,
65204548d4eSBjorn Andersson 	.buswidth = 4,
65304548d4eSBjorn Andersson 	.num_links = 1,
65404548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_QUP_CORE_0 }
65504548d4eSBjorn Andersson };
65604548d4eSBjorn Andersson 
65704548d4eSBjorn Andersson static struct qcom_icc_node mas_qup_core_1 = {
65804548d4eSBjorn Andersson 	.name = "mas_qup_core_1",
65904548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QUP_CORE_1,
66004548d4eSBjorn Andersson 	.channels = 1,
66104548d4eSBjorn Andersson 	.buswidth = 4,
66204548d4eSBjorn Andersson 	.num_links = 1,
66304548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_QUP_CORE_1 }
66404548d4eSBjorn Andersson };
66504548d4eSBjorn Andersson 
66604548d4eSBjorn Andersson static struct qcom_icc_node mas_qup_core_2 = {
66704548d4eSBjorn Andersson 	.name = "mas_qup_core_2",
66804548d4eSBjorn Andersson 	.id = SC8180X_MASTER_QUP_CORE_2,
66904548d4eSBjorn Andersson 	.channels = 1,
67004548d4eSBjorn Andersson 	.buswidth = 4,
67104548d4eSBjorn Andersson 	.num_links = 1,
67204548d4eSBjorn Andersson 	.links = { SC8180X_SLAVE_QUP_CORE_2 }
67304548d4eSBjorn Andersson };
67404548d4eSBjorn Andersson 
67504548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_a1noc_snoc = {
67604548d4eSBjorn Andersson 	.name = "slv_qns_a1noc_snoc",
67704548d4eSBjorn Andersson 	.id = SC8180X_A1NOC_SNOC_SLV,
67804548d4eSBjorn Andersson 	.channels = 1,
67904548d4eSBjorn Andersson 	.buswidth = 32,
68004548d4eSBjorn Andersson 	.num_links = 1,
68104548d4eSBjorn Andersson 	.links = { SC8180X_A1NOC_SNOC_MAS }
68204548d4eSBjorn Andersson };
68304548d4eSBjorn Andersson 
68404548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_aggre1_noc = {
68504548d4eSBjorn Andersson 	.name = "slv_srvc_aggre1_noc",
68604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_A1NOC,
68704548d4eSBjorn Andersson 	.channels = 1,
68804548d4eSBjorn Andersson 	.buswidth = 4
68904548d4eSBjorn Andersson };
69004548d4eSBjorn Andersson 
69104548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_a2noc_snoc = {
69204548d4eSBjorn Andersson 	.name = "slv_qns_a2noc_snoc",
69304548d4eSBjorn Andersson 	.id = SC8180X_A2NOC_SNOC_SLV,
69404548d4eSBjorn Andersson 	.channels = 1,
69504548d4eSBjorn Andersson 	.buswidth = 16,
69604548d4eSBjorn Andersson 	.num_links = 1,
69704548d4eSBjorn Andersson 	.links = { SC8180X_A2NOC_SNOC_MAS }
69804548d4eSBjorn Andersson };
69904548d4eSBjorn Andersson 
70004548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_pcie_mem_noc = {
70104548d4eSBjorn Andersson 	.name = "slv_qns_pcie_mem_noc",
70204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_ANOC_PCIE_GEM_NOC,
70304548d4eSBjorn Andersson 	.channels = 1,
70404548d4eSBjorn Andersson 	.buswidth = 32,
70504548d4eSBjorn Andersson 	.num_links = 1,
70604548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_GEM_NOC_PCIE_SNOC }
70704548d4eSBjorn Andersson };
70804548d4eSBjorn Andersson 
70904548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_aggre2_noc = {
71004548d4eSBjorn Andersson 	.name = "slv_srvc_aggre2_noc",
71104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_A2NOC,
71204548d4eSBjorn Andersson 	.channels = 1,
71304548d4eSBjorn Andersson 	.buswidth = 4
71404548d4eSBjorn Andersson };
71504548d4eSBjorn Andersson 
71604548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_camnoc_uncomp = {
71704548d4eSBjorn Andersson 	.name = "slv_qns_camnoc_uncomp",
71804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CAMNOC_UNCOMP,
71904548d4eSBjorn Andersson 	.channels = 1,
72004548d4eSBjorn Andersson 	.buswidth = 32
72104548d4eSBjorn Andersson };
72204548d4eSBjorn Andersson 
72304548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_cdsp_mem_noc = {
72404548d4eSBjorn Andersson 	.name = "slv_qns_cdsp_mem_noc",
72504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CDSP_MEM_NOC,
72604548d4eSBjorn Andersson 	.channels = 2,
72704548d4eSBjorn Andersson 	.buswidth = 32,
72804548d4eSBjorn Andersson 	.num_links = 1,
72904548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_COMPUTE_NOC }
73004548d4eSBjorn Andersson };
73104548d4eSBjorn Andersson 
73204548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_a1_noc_cfg = {
73304548d4eSBjorn Andersson 	.name = "slv_qhs_a1_noc_cfg",
73404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_A1NOC_CFG,
73504548d4eSBjorn Andersson 	.channels = 1,
73604548d4eSBjorn Andersson 	.buswidth = 4,
73704548d4eSBjorn Andersson 	.num_links = 1,
73804548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_A1NOC_CFG }
73904548d4eSBjorn Andersson };
74004548d4eSBjorn Andersson 
74104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_a2_noc_cfg = {
74204548d4eSBjorn Andersson 	.name = "slv_qhs_a2_noc_cfg",
74304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_A2NOC_CFG,
74404548d4eSBjorn Andersson 	.channels = 1,
74504548d4eSBjorn Andersson 	.buswidth = 4,
74604548d4eSBjorn Andersson 	.num_links = 1,
74704548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_A2NOC_CFG }
74804548d4eSBjorn Andersson };
74904548d4eSBjorn Andersson 
75004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ahb2phy_refgen_center = {
75104548d4eSBjorn Andersson 	.name = "slv_qhs_ahb2phy_refgen_center",
75204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_AHB2PHY_CENTER,
75304548d4eSBjorn Andersson 	.channels = 1,
75404548d4eSBjorn Andersson 	.buswidth = 4
75504548d4eSBjorn Andersson };
75604548d4eSBjorn Andersson 
75704548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ahb2phy_refgen_east = {
75804548d4eSBjorn Andersson 	.name = "slv_qhs_ahb2phy_refgen_east",
75904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_AHB2PHY_EAST,
76004548d4eSBjorn Andersson 	.channels = 1,
76104548d4eSBjorn Andersson 	.buswidth = 4
76204548d4eSBjorn Andersson };
76304548d4eSBjorn Andersson 
76404548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ahb2phy_refgen_west = {
76504548d4eSBjorn Andersson 	.name = "slv_qhs_ahb2phy_refgen_west",
76604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_AHB2PHY_WEST,
76704548d4eSBjorn Andersson 	.channels = 1,
76804548d4eSBjorn Andersson 	.buswidth = 4
76904548d4eSBjorn Andersson };
77004548d4eSBjorn Andersson 
77104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ahb2phy_south = {
77204548d4eSBjorn Andersson 	.name = "slv_qhs_ahb2phy_south",
77304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_AHB2PHY_SOUTH,
77404548d4eSBjorn Andersson 	.channels = 1,
77504548d4eSBjorn Andersson 	.buswidth = 4
77604548d4eSBjorn Andersson };
77704548d4eSBjorn Andersson 
77804548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_aop = {
77904548d4eSBjorn Andersson 	.name = "slv_qhs_aop",
78004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_AOP,
78104548d4eSBjorn Andersson 	.channels = 1,
78204548d4eSBjorn Andersson 	.buswidth = 4
78304548d4eSBjorn Andersson };
78404548d4eSBjorn Andersson 
78504548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_aoss = {
78604548d4eSBjorn Andersson 	.name = "slv_qhs_aoss",
78704548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_AOSS,
78804548d4eSBjorn Andersson 	.channels = 1,
78904548d4eSBjorn Andersson 	.buswidth = 4
79004548d4eSBjorn Andersson };
79104548d4eSBjorn Andersson 
79204548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_camera_cfg = {
79304548d4eSBjorn Andersson 	.name = "slv_qhs_camera_cfg",
79404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CAMERA_CFG,
79504548d4eSBjorn Andersson 	.channels = 1,
79604548d4eSBjorn Andersson 	.buswidth = 4
79704548d4eSBjorn Andersson };
79804548d4eSBjorn Andersson 
79904548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_clk_ctl = {
80004548d4eSBjorn Andersson 	.name = "slv_qhs_clk_ctl",
80104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CLK_CTL,
80204548d4eSBjorn Andersson 	.channels = 1,
80304548d4eSBjorn Andersson 	.buswidth = 4
80404548d4eSBjorn Andersson };
80504548d4eSBjorn Andersson 
80604548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_compute_dsp = {
80704548d4eSBjorn Andersson 	.name = "slv_qhs_compute_dsp",
80804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CDSP_CFG,
80904548d4eSBjorn Andersson 	.channels = 1,
81004548d4eSBjorn Andersson 	.buswidth = 4
81104548d4eSBjorn Andersson };
81204548d4eSBjorn Andersson 
81304548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_cpr_cx = {
81404548d4eSBjorn Andersson 	.name = "slv_qhs_cpr_cx",
81504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_RBCPR_CX_CFG,
81604548d4eSBjorn Andersson 	.channels = 1,
81704548d4eSBjorn Andersson 	.buswidth = 4
81804548d4eSBjorn Andersson };
81904548d4eSBjorn Andersson 
82004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_cpr_mmcx = {
82104548d4eSBjorn Andersson 	.name = "slv_qhs_cpr_mmcx",
82204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_RBCPR_MMCX_CFG,
82304548d4eSBjorn Andersson 	.channels = 1,
82404548d4eSBjorn Andersson 	.buswidth = 4
82504548d4eSBjorn Andersson };
82604548d4eSBjorn Andersson 
82704548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_cpr_mx = {
82804548d4eSBjorn Andersson 	.name = "slv_qhs_cpr_mx",
82904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_RBCPR_MX_CFG,
83004548d4eSBjorn Andersson 	.channels = 1,
83104548d4eSBjorn Andersson 	.buswidth = 4
83204548d4eSBjorn Andersson };
83304548d4eSBjorn Andersson 
83404548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_crypto0_cfg = {
83504548d4eSBjorn Andersson 	.name = "slv_qhs_crypto0_cfg",
83604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CRYPTO_0_CFG,
83704548d4eSBjorn Andersson 	.channels = 1,
83804548d4eSBjorn Andersson 	.buswidth = 4
83904548d4eSBjorn Andersson };
84004548d4eSBjorn Andersson 
84104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ddrss_cfg = {
84204548d4eSBjorn Andersson 	.name = "slv_qhs_ddrss_cfg",
84304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CNOC_DDRSS,
84404548d4eSBjorn Andersson 	.channels = 1,
84504548d4eSBjorn Andersson 	.buswidth = 4,
84604548d4eSBjorn Andersson 	.num_links = 1,
84704548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_CNOC_DC_NOC }
84804548d4eSBjorn Andersson };
84904548d4eSBjorn Andersson 
85004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_display_cfg = {
85104548d4eSBjorn Andersson 	.name = "slv_qhs_display_cfg",
85204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_DISPLAY_CFG,
85304548d4eSBjorn Andersson 	.channels = 1,
85404548d4eSBjorn Andersson 	.buswidth = 4
85504548d4eSBjorn Andersson };
85604548d4eSBjorn Andersson 
85704548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_emac_cfg = {
85804548d4eSBjorn Andersson 	.name = "slv_qhs_emac_cfg",
85904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_EMAC_CFG,
86004548d4eSBjorn Andersson 	.channels = 1,
86104548d4eSBjorn Andersson 	.buswidth = 4
86204548d4eSBjorn Andersson };
86304548d4eSBjorn Andersson 
86404548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_glm = {
86504548d4eSBjorn Andersson 	.name = "slv_qhs_glm",
86604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_GLM,
86704548d4eSBjorn Andersson 	.channels = 1,
86804548d4eSBjorn Andersson 	.buswidth = 4
86904548d4eSBjorn Andersson };
87004548d4eSBjorn Andersson 
87104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_gpuss_cfg = {
87204548d4eSBjorn Andersson 	.name = "slv_qhs_gpuss_cfg",
87304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_GRAPHICS_3D_CFG,
87404548d4eSBjorn Andersson 	.channels = 1,
87504548d4eSBjorn Andersson 	.buswidth = 8
87604548d4eSBjorn Andersson };
87704548d4eSBjorn Andersson 
87804548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_imem_cfg = {
87904548d4eSBjorn Andersson 	.name = "slv_qhs_imem_cfg",
88004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_IMEM_CFG,
88104548d4eSBjorn Andersson 	.channels = 1,
88204548d4eSBjorn Andersson 	.buswidth = 4
88304548d4eSBjorn Andersson };
88404548d4eSBjorn Andersson 
88504548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ipa = {
88604548d4eSBjorn Andersson 	.name = "slv_qhs_ipa",
88704548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_IPA_CFG,
88804548d4eSBjorn Andersson 	.channels = 1,
88904548d4eSBjorn Andersson 	.buswidth = 4
89004548d4eSBjorn Andersson };
89104548d4eSBjorn Andersson 
89204548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_mnoc_cfg = {
89304548d4eSBjorn Andersson 	.name = "slv_qhs_mnoc_cfg",
89404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_CNOC_MNOC_CFG,
89504548d4eSBjorn Andersson 	.channels = 1,
89604548d4eSBjorn Andersson 	.buswidth = 4,
89704548d4eSBjorn Andersson 	.num_links = 1,
89804548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_CNOC_MNOC_CFG }
89904548d4eSBjorn Andersson };
90004548d4eSBjorn Andersson 
90104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_npu_cfg = {
90204548d4eSBjorn Andersson 	.name = "slv_qhs_npu_cfg",
90304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_NPU_CFG,
90404548d4eSBjorn Andersson 	.channels = 1,
90504548d4eSBjorn Andersson 	.buswidth = 4
90604548d4eSBjorn Andersson };
90704548d4eSBjorn Andersson 
90804548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_pcie0_cfg = {
90904548d4eSBjorn Andersson 	.name = "slv_qhs_pcie0_cfg",
91004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_0_CFG,
91104548d4eSBjorn Andersson 	.channels = 1,
91204548d4eSBjorn Andersson 	.buswidth = 4
91304548d4eSBjorn Andersson };
91404548d4eSBjorn Andersson 
91504548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_pcie1_cfg = {
91604548d4eSBjorn Andersson 	.name = "slv_qhs_pcie1_cfg",
91704548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_1_CFG,
91804548d4eSBjorn Andersson 	.channels = 1,
91904548d4eSBjorn Andersson 	.buswidth = 4
92004548d4eSBjorn Andersson };
92104548d4eSBjorn Andersson 
92204548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_pcie2_cfg = {
92304548d4eSBjorn Andersson 	.name = "slv_qhs_pcie2_cfg",
92404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_2_CFG,
92504548d4eSBjorn Andersson 	.channels = 1,
92604548d4eSBjorn Andersson 	.buswidth = 4
92704548d4eSBjorn Andersson };
92804548d4eSBjorn Andersson 
92904548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_pcie3_cfg = {
93004548d4eSBjorn Andersson 	.name = "slv_qhs_pcie3_cfg",
93104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_3_CFG,
93204548d4eSBjorn Andersson 	.channels = 1,
93304548d4eSBjorn Andersson 	.buswidth = 4
93404548d4eSBjorn Andersson };
93504548d4eSBjorn Andersson 
93604548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_pdm = {
93704548d4eSBjorn Andersson 	.name = "slv_qhs_pdm",
93804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PDM,
93904548d4eSBjorn Andersson 	.channels = 1,
94004548d4eSBjorn Andersson 	.buswidth = 4
94104548d4eSBjorn Andersson };
94204548d4eSBjorn Andersson 
94304548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_pimem_cfg = {
94404548d4eSBjorn Andersson 	.name = "slv_qhs_pimem_cfg",
94504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PIMEM_CFG,
94604548d4eSBjorn Andersson 	.channels = 1,
94704548d4eSBjorn Andersson 	.buswidth = 4
94804548d4eSBjorn Andersson };
94904548d4eSBjorn Andersson 
95004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_prng = {
95104548d4eSBjorn Andersson 	.name = "slv_qhs_prng",
95204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PRNG,
95304548d4eSBjorn Andersson 	.channels = 1,
95404548d4eSBjorn Andersson 	.buswidth = 4
95504548d4eSBjorn Andersson };
95604548d4eSBjorn Andersson 
95704548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_qdss_cfg = {
95804548d4eSBjorn Andersson 	.name = "slv_qhs_qdss_cfg",
95904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QDSS_CFG,
96004548d4eSBjorn Andersson 	.channels = 1,
96104548d4eSBjorn Andersson 	.buswidth = 4
96204548d4eSBjorn Andersson };
96304548d4eSBjorn Andersson 
96404548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_qspi_0 = {
96504548d4eSBjorn Andersson 	.name = "slv_qhs_qspi_0",
96604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QSPI_0,
96704548d4eSBjorn Andersson 	.channels = 1,
96804548d4eSBjorn Andersson 	.buswidth = 4
96904548d4eSBjorn Andersson };
97004548d4eSBjorn Andersson 
97104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_qspi_1 = {
97204548d4eSBjorn Andersson 	.name = "slv_qhs_qspi_1",
97304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QSPI_1,
97404548d4eSBjorn Andersson 	.channels = 1,
97504548d4eSBjorn Andersson 	.buswidth = 4
97604548d4eSBjorn Andersson };
97704548d4eSBjorn Andersson 
97804548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_qupv3_east0 = {
97904548d4eSBjorn Andersson 	.name = "slv_qhs_qupv3_east0",
98004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QUP_1,
98104548d4eSBjorn Andersson 	.channels = 1,
98204548d4eSBjorn Andersson 	.buswidth = 4
98304548d4eSBjorn Andersson };
98404548d4eSBjorn Andersson 
98504548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_qupv3_east1 = {
98604548d4eSBjorn Andersson 	.name = "slv_qhs_qupv3_east1",
98704548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QUP_2,
98804548d4eSBjorn Andersson 	.channels = 1,
98904548d4eSBjorn Andersson 	.buswidth = 4
99004548d4eSBjorn Andersson };
99104548d4eSBjorn Andersson 
99204548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_qupv3_west = {
99304548d4eSBjorn Andersson 	.name = "slv_qhs_qupv3_west",
99404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QUP_0,
99504548d4eSBjorn Andersson 	.channels = 1,
99604548d4eSBjorn Andersson 	.buswidth = 4
99704548d4eSBjorn Andersson };
99804548d4eSBjorn Andersson 
99904548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_sdc2 = {
100004548d4eSBjorn Andersson 	.name = "slv_qhs_sdc2",
100104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SDCC_2,
100204548d4eSBjorn Andersson 	.channels = 1,
100304548d4eSBjorn Andersson 	.buswidth = 4
100404548d4eSBjorn Andersson };
100504548d4eSBjorn Andersson 
100604548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_sdc4 = {
100704548d4eSBjorn Andersson 	.name = "slv_qhs_sdc4",
100804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SDCC_4,
100904548d4eSBjorn Andersson 	.channels = 1,
101004548d4eSBjorn Andersson 	.buswidth = 4
101104548d4eSBjorn Andersson };
101204548d4eSBjorn Andersson 
101304548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_security = {
101404548d4eSBjorn Andersson 	.name = "slv_qhs_security",
101504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SECURITY,
101604548d4eSBjorn Andersson 	.channels = 1,
101704548d4eSBjorn Andersson 	.buswidth = 4
101804548d4eSBjorn Andersson };
101904548d4eSBjorn Andersson 
102004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_snoc_cfg = {
102104548d4eSBjorn Andersson 	.name = "slv_qhs_snoc_cfg",
102204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SNOC_CFG,
102304548d4eSBjorn Andersson 	.channels = 1,
102404548d4eSBjorn Andersson 	.buswidth = 4,
102504548d4eSBjorn Andersson 	.num_links = 1,
102604548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_SNOC_CFG }
102704548d4eSBjorn Andersson };
102804548d4eSBjorn Andersson 
102904548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_spss_cfg = {
103004548d4eSBjorn Andersson 	.name = "slv_qhs_spss_cfg",
103104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SPSS_CFG,
103204548d4eSBjorn Andersson 	.channels = 1,
103304548d4eSBjorn Andersson 	.buswidth = 4
103404548d4eSBjorn Andersson };
103504548d4eSBjorn Andersson 
103604548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_tcsr = {
103704548d4eSBjorn Andersson 	.name = "slv_qhs_tcsr",
103804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_TCSR,
103904548d4eSBjorn Andersson 	.channels = 1,
104004548d4eSBjorn Andersson 	.buswidth = 4
104104548d4eSBjorn Andersson };
104204548d4eSBjorn Andersson 
104304548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_tlmm_east = {
104404548d4eSBjorn Andersson 	.name = "slv_qhs_tlmm_east",
104504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_TLMM_EAST,
104604548d4eSBjorn Andersson 	.channels = 1,
104704548d4eSBjorn Andersson 	.buswidth = 4
104804548d4eSBjorn Andersson };
104904548d4eSBjorn Andersson 
105004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_tlmm_south = {
105104548d4eSBjorn Andersson 	.name = "slv_qhs_tlmm_south",
105204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_TLMM_SOUTH,
105304548d4eSBjorn Andersson 	.channels = 1,
105404548d4eSBjorn Andersson 	.buswidth = 4
105504548d4eSBjorn Andersson };
105604548d4eSBjorn Andersson 
105704548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_tlmm_west = {
105804548d4eSBjorn Andersson 	.name = "slv_qhs_tlmm_west",
105904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_TLMM_WEST,
106004548d4eSBjorn Andersson 	.channels = 1,
106104548d4eSBjorn Andersson 	.buswidth = 4
106204548d4eSBjorn Andersson };
106304548d4eSBjorn Andersson 
106404548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_tsif = {
106504548d4eSBjorn Andersson 	.name = "slv_qhs_tsif",
106604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_TSIF,
106704548d4eSBjorn Andersson 	.channels = 1,
106804548d4eSBjorn Andersson 	.buswidth = 4
106904548d4eSBjorn Andersson };
107004548d4eSBjorn Andersson 
107104548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ufs_card_cfg = {
107204548d4eSBjorn Andersson 	.name = "slv_qhs_ufs_card_cfg",
107304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_UFS_CARD_CFG,
107404548d4eSBjorn Andersson 	.channels = 1,
107504548d4eSBjorn Andersson 	.buswidth = 4
107604548d4eSBjorn Andersson };
107704548d4eSBjorn Andersson 
107804548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ufs_mem0_cfg = {
107904548d4eSBjorn Andersson 	.name = "slv_qhs_ufs_mem0_cfg",
108004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_UFS_MEM_0_CFG,
108104548d4eSBjorn Andersson 	.channels = 1,
108204548d4eSBjorn Andersson 	.buswidth = 4
108304548d4eSBjorn Andersson };
108404548d4eSBjorn Andersson 
108504548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_ufs_mem1_cfg = {
108604548d4eSBjorn Andersson 	.name = "slv_qhs_ufs_mem1_cfg",
108704548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_UFS_MEM_1_CFG,
108804548d4eSBjorn Andersson 	.channels = 1,
108904548d4eSBjorn Andersson 	.buswidth = 4
109004548d4eSBjorn Andersson };
109104548d4eSBjorn Andersson 
109204548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_usb3_0 = {
109304548d4eSBjorn Andersson 	.name = "slv_qhs_usb3_0",
109404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_USB3,
109504548d4eSBjorn Andersson 	.channels = 1,
109604548d4eSBjorn Andersson 	.buswidth = 4
109704548d4eSBjorn Andersson };
109804548d4eSBjorn Andersson 
109904548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_usb3_1 = {
110004548d4eSBjorn Andersson 	.name = "slv_qhs_usb3_1",
110104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_USB3_1,
110204548d4eSBjorn Andersson 	.channels = 1,
110304548d4eSBjorn Andersson 	.buswidth = 4
110404548d4eSBjorn Andersson };
110504548d4eSBjorn Andersson 
110604548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_usb3_2 = {
110704548d4eSBjorn Andersson 	.name = "slv_qhs_usb3_2",
110804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_USB3_2,
110904548d4eSBjorn Andersson 	.channels = 1,
111004548d4eSBjorn Andersson 	.buswidth = 4
111104548d4eSBjorn Andersson };
111204548d4eSBjorn Andersson 
111304548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_venus_cfg = {
111404548d4eSBjorn Andersson 	.name = "slv_qhs_venus_cfg",
111504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_VENUS_CFG,
111604548d4eSBjorn Andersson 	.channels = 1,
111704548d4eSBjorn Andersson 	.buswidth = 4
111804548d4eSBjorn Andersson };
111904548d4eSBjorn Andersson 
112004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_vsense_ctrl_cfg = {
112104548d4eSBjorn Andersson 	.name = "slv_qhs_vsense_ctrl_cfg",
112204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_VSENSE_CTRL_CFG,
112304548d4eSBjorn Andersson 	.channels = 1,
112404548d4eSBjorn Andersson 	.buswidth = 4
112504548d4eSBjorn Andersson };
112604548d4eSBjorn Andersson 
112704548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_cnoc = {
112804548d4eSBjorn Andersson 	.name = "slv_srvc_cnoc",
112904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_CNOC,
113004548d4eSBjorn Andersson 	.channels = 1,
113104548d4eSBjorn Andersson 	.buswidth = 4
113204548d4eSBjorn Andersson };
113304548d4eSBjorn Andersson 
113404548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_gemnoc = {
113504548d4eSBjorn Andersson 	.name = "slv_qhs_gemnoc",
113604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_GEM_NOC_CFG,
113704548d4eSBjorn Andersson 	.channels = 1,
113804548d4eSBjorn Andersson 	.buswidth = 4,
113904548d4eSBjorn Andersson 	.num_links = 1,
114004548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_GEM_NOC_CFG }
114104548d4eSBjorn Andersson };
114204548d4eSBjorn Andersson 
114304548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_llcc = {
114404548d4eSBjorn Andersson 	.name = "slv_qhs_llcc",
114504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_LLCC_CFG,
114604548d4eSBjorn Andersson 	.channels = 1,
114704548d4eSBjorn Andersson 	.buswidth = 4
114804548d4eSBjorn Andersson };
114904548d4eSBjorn Andersson 
115004548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_mdsp_ms_mpu_cfg = {
115104548d4eSBjorn Andersson 	.name = "slv_qhs_mdsp_ms_mpu_cfg",
115204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_MSS_PROC_MS_MPU_CFG,
115304548d4eSBjorn Andersson 	.channels = 1,
115404548d4eSBjorn Andersson 	.buswidth = 4
115504548d4eSBjorn Andersson };
115604548d4eSBjorn Andersson 
115704548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_ecc = {
115804548d4eSBjorn Andersson 	.name = "slv_qns_ecc",
115904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_ECC,
116004548d4eSBjorn Andersson 	.channels = 1,
116104548d4eSBjorn Andersson 	.buswidth = 32
116204548d4eSBjorn Andersson };
116304548d4eSBjorn Andersson 
116404548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_gem_noc_snoc = {
116504548d4eSBjorn Andersson 	.name = "slv_qns_gem_noc_snoc",
116604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_GEM_NOC_SNOC,
116704548d4eSBjorn Andersson 	.channels = 1,
116804548d4eSBjorn Andersson 	.buswidth = 8,
116904548d4eSBjorn Andersson 	.num_links = 1,
117004548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_GEM_NOC_SNOC }
117104548d4eSBjorn Andersson };
117204548d4eSBjorn Andersson 
117304548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_llcc = {
117404548d4eSBjorn Andersson 	.name = "slv_qns_llcc",
117504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_LLCC,
117604548d4eSBjorn Andersson 	.channels = 8,
117704548d4eSBjorn Andersson 	.buswidth = 16,
117804548d4eSBjorn Andersson 	.num_links = 1,
117904548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_LLCC }
118004548d4eSBjorn Andersson };
118104548d4eSBjorn Andersson 
118204548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_gemnoc = {
118304548d4eSBjorn Andersson 	.name = "slv_srvc_gemnoc",
118404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_GEM_NOC,
118504548d4eSBjorn Andersson 	.channels = 1,
118604548d4eSBjorn Andersson 	.buswidth = 4
118704548d4eSBjorn Andersson };
118804548d4eSBjorn Andersson 
118904548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_gemnoc1 = {
119004548d4eSBjorn Andersson 	.name = "slv_srvc_gemnoc1",
119104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_GEM_NOC_1,
119204548d4eSBjorn Andersson 	.channels = 1,
119304548d4eSBjorn Andersson 	.buswidth = 4
119404548d4eSBjorn Andersson };
119504548d4eSBjorn Andersson 
119604548d4eSBjorn Andersson static struct qcom_icc_node slv_ebi = {
119704548d4eSBjorn Andersson 	.name = "slv_ebi",
119804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_EBI_CH0,
119904548d4eSBjorn Andersson 	.channels = 8,
120004548d4eSBjorn Andersson 	.buswidth = 4
120104548d4eSBjorn Andersson };
120204548d4eSBjorn Andersson 
120304548d4eSBjorn Andersson static struct qcom_icc_node slv_qns2_mem_noc = {
120404548d4eSBjorn Andersson 	.name = "slv_qns2_mem_noc",
120504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_MNOC_SF_MEM_NOC,
120604548d4eSBjorn Andersson 	.channels = 1,
120704548d4eSBjorn Andersson 	.buswidth = 32,
120804548d4eSBjorn Andersson 	.num_links = 1,
120904548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_MNOC_SF_MEM_NOC }
121004548d4eSBjorn Andersson };
121104548d4eSBjorn Andersson 
121204548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_mem_noc_hf = {
121304548d4eSBjorn Andersson 	.name = "slv_qns_mem_noc_hf",
121404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_MNOC_HF_MEM_NOC,
121504548d4eSBjorn Andersson 	.channels = 2,
121604548d4eSBjorn Andersson 	.buswidth = 32,
121704548d4eSBjorn Andersson 	.num_links = 1,
121804548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_MNOC_HF_MEM_NOC }
121904548d4eSBjorn Andersson };
122004548d4eSBjorn Andersson 
122104548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_mnoc = {
122204548d4eSBjorn Andersson 	.name = "slv_srvc_mnoc",
122304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_MNOC,
122404548d4eSBjorn Andersson 	.channels = 1,
122504548d4eSBjorn Andersson 	.buswidth = 4
122604548d4eSBjorn Andersson };
122704548d4eSBjorn Andersson 
122804548d4eSBjorn Andersson static struct qcom_icc_node slv_qhs_apss = {
122904548d4eSBjorn Andersson 	.name = "slv_qhs_apss",
123004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_APPSS,
123104548d4eSBjorn Andersson 	.channels = 1,
123204548d4eSBjorn Andersson 	.buswidth = 8
123304548d4eSBjorn Andersson };
123404548d4eSBjorn Andersson 
123504548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_cnoc = {
123604548d4eSBjorn Andersson 	.name = "slv_qns_cnoc",
123704548d4eSBjorn Andersson 	.id = SC8180X_SNOC_CNOC_SLV,
123804548d4eSBjorn Andersson 	.channels = 1,
123904548d4eSBjorn Andersson 	.buswidth = 8,
124004548d4eSBjorn Andersson 	.num_links = 1,
124104548d4eSBjorn Andersson 	.links = { SC8180X_SNOC_CNOC_MAS }
124204548d4eSBjorn Andersson };
124304548d4eSBjorn Andersson 
124404548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_gemnoc_gc = {
124504548d4eSBjorn Andersson 	.name = "slv_qns_gemnoc_gc",
124604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SNOC_GEM_NOC_GC,
124704548d4eSBjorn Andersson 	.channels = 1,
124804548d4eSBjorn Andersson 	.buswidth = 8,
124904548d4eSBjorn Andersson 	.num_links = 1,
125004548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_SNOC_GC_MEM_NOC }
125104548d4eSBjorn Andersson };
125204548d4eSBjorn Andersson 
125304548d4eSBjorn Andersson static struct qcom_icc_node slv_qns_gemnoc_sf = {
125404548d4eSBjorn Andersson 	.name = "slv_qns_gemnoc_sf",
125504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SNOC_GEM_NOC_SF,
125604548d4eSBjorn Andersson 	.channels = 1,
125704548d4eSBjorn Andersson 	.buswidth = 32,
125804548d4eSBjorn Andersson 	.num_links = 1,
125904548d4eSBjorn Andersson 	.links = { SC8180X_MASTER_SNOC_SF_MEM_NOC }
126004548d4eSBjorn Andersson };
126104548d4eSBjorn Andersson 
126204548d4eSBjorn Andersson static struct qcom_icc_node slv_qxs_imem = {
126304548d4eSBjorn Andersson 	.name = "slv_qxs_imem",
126404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_OCIMEM,
126504548d4eSBjorn Andersson 	.channels = 1,
126604548d4eSBjorn Andersson 	.buswidth = 8
126704548d4eSBjorn Andersson };
126804548d4eSBjorn Andersson 
126904548d4eSBjorn Andersson static struct qcom_icc_node slv_qxs_pimem = {
127004548d4eSBjorn Andersson 	.name = "slv_qxs_pimem",
127104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PIMEM,
127204548d4eSBjorn Andersson 	.channels = 1,
127304548d4eSBjorn Andersson 	.buswidth = 8
127404548d4eSBjorn Andersson };
127504548d4eSBjorn Andersson 
127604548d4eSBjorn Andersson static struct qcom_icc_node slv_srvc_snoc = {
127704548d4eSBjorn Andersson 	.name = "slv_srvc_snoc",
127804548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_SERVICE_SNOC,
127904548d4eSBjorn Andersson 	.channels = 1,
128004548d4eSBjorn Andersson 	.buswidth = 4
128104548d4eSBjorn Andersson };
128204548d4eSBjorn Andersson 
128304548d4eSBjorn Andersson static struct qcom_icc_node slv_xs_pcie_0 = {
128404548d4eSBjorn Andersson 	.name = "slv_xs_pcie_0",
128504548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_0,
128604548d4eSBjorn Andersson 	.channels = 1,
128704548d4eSBjorn Andersson 	.buswidth = 8
128804548d4eSBjorn Andersson };
128904548d4eSBjorn Andersson 
129004548d4eSBjorn Andersson static struct qcom_icc_node slv_xs_pcie_1 = {
129104548d4eSBjorn Andersson 	.name = "slv_xs_pcie_1",
129204548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_1,
129304548d4eSBjorn Andersson 	.channels = 1,
129404548d4eSBjorn Andersson 	.buswidth = 8
129504548d4eSBjorn Andersson };
129604548d4eSBjorn Andersson 
129704548d4eSBjorn Andersson static struct qcom_icc_node slv_xs_pcie_2 = {
129804548d4eSBjorn Andersson 	.name = "slv_xs_pcie_2",
129904548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_2,
130004548d4eSBjorn Andersson 	.channels = 1,
130104548d4eSBjorn Andersson 	.buswidth = 8
130204548d4eSBjorn Andersson };
130304548d4eSBjorn Andersson 
130404548d4eSBjorn Andersson static struct qcom_icc_node slv_xs_pcie_3 = {
130504548d4eSBjorn Andersson 	.name = "slv_xs_pcie_3",
130604548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_PCIE_3,
130704548d4eSBjorn Andersson 	.channels = 1,
130804548d4eSBjorn Andersson 	.buswidth = 8
130904548d4eSBjorn Andersson };
131004548d4eSBjorn Andersson 
131104548d4eSBjorn Andersson static struct qcom_icc_node slv_xs_qdss_stm = {
131204548d4eSBjorn Andersson 	.name = "slv_xs_qdss_stm",
131304548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QDSS_STM,
131404548d4eSBjorn Andersson 	.channels = 1,
131504548d4eSBjorn Andersson 	.buswidth = 4
131604548d4eSBjorn Andersson };
131704548d4eSBjorn Andersson 
131804548d4eSBjorn Andersson static struct qcom_icc_node slv_xs_sys_tcu_cfg = {
131904548d4eSBjorn Andersson 	.name = "slv_xs_sys_tcu_cfg",
132004548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_TCU,
132104548d4eSBjorn Andersson 	.channels = 1,
132204548d4eSBjorn Andersson 	.buswidth = 8
132304548d4eSBjorn Andersson };
132404548d4eSBjorn Andersson 
132504548d4eSBjorn Andersson static struct qcom_icc_node slv_qup_core_0 = {
132604548d4eSBjorn Andersson 	.name = "slv_qup_core_0",
132704548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QUP_CORE_0,
132804548d4eSBjorn Andersson 	.channels = 1,
132904548d4eSBjorn Andersson 	.buswidth = 4
133004548d4eSBjorn Andersson };
133104548d4eSBjorn Andersson 
133204548d4eSBjorn Andersson static struct qcom_icc_node slv_qup_core_1 = {
133304548d4eSBjorn Andersson 	.name = "slv_qup_core_1",
133404548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QUP_CORE_1,
133504548d4eSBjorn Andersson 	.channels = 1,
133604548d4eSBjorn Andersson 	.buswidth = 4
133704548d4eSBjorn Andersson };
133804548d4eSBjorn Andersson 
133904548d4eSBjorn Andersson static struct qcom_icc_node slv_qup_core_2 = {
134004548d4eSBjorn Andersson 	.name = "slv_qup_core_2",
134104548d4eSBjorn Andersson 	.id = SC8180X_SLAVE_QUP_CORE_2,
134204548d4eSBjorn Andersson 	.channels = 1,
134304548d4eSBjorn Andersson 	.buswidth = 4
134404548d4eSBjorn Andersson };
134504548d4eSBjorn Andersson 
134604548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_acv = {
134704548d4eSBjorn Andersson 	.name = "ACV",
1348ddab041eSKonrad Dybcio 	.enable_mask = BIT(3),
134904548d4eSBjorn Andersson 	.num_nodes = 1,
135004548d4eSBjorn Andersson 	.nodes = { &slv_ebi }
135104548d4eSBjorn Andersson };
135204548d4eSBjorn Andersson 
135304548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_mc0 = {
135404548d4eSBjorn Andersson 	.name = "MC0",
135504548d4eSBjorn Andersson 	.keepalive = true,
135604548d4eSBjorn Andersson 	.num_nodes = 1,
135704548d4eSBjorn Andersson 	.nodes = { &slv_ebi }
135804548d4eSBjorn Andersson };
135904548d4eSBjorn Andersson 
136004548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sh0 = {
136104548d4eSBjorn Andersson 	.name = "SH0",
136204548d4eSBjorn Andersson 	.keepalive = true,
136304548d4eSBjorn Andersson 	.num_nodes = 1,
136404548d4eSBjorn Andersson 	.nodes = { &slv_qns_llcc }
136504548d4eSBjorn Andersson };
136604548d4eSBjorn Andersson 
136704548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_mm0 = {
136804548d4eSBjorn Andersson 	.name = "MM0",
136904548d4eSBjorn Andersson 	.num_nodes = 1,
137004548d4eSBjorn Andersson 	.nodes = { &slv_qns_mem_noc_hf }
137104548d4eSBjorn Andersson };
137204548d4eSBjorn Andersson 
137304548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_co0 = {
137404548d4eSBjorn Andersson 	.name = "CO0",
1375*d8e36ff4SKonrad Dybcio 	.keepalive = true,
137604548d4eSBjorn Andersson 	.num_nodes = 1,
137704548d4eSBjorn Andersson 	.nodes = { &slv_qns_cdsp_mem_noc }
137804548d4eSBjorn Andersson };
137904548d4eSBjorn Andersson 
138004548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_ce0 = {
138104548d4eSBjorn Andersson 	.name = "CE0",
138204548d4eSBjorn Andersson 	.num_nodes = 1,
138304548d4eSBjorn Andersson 	.nodes = { &mas_qxm_crypto }
138404548d4eSBjorn Andersson };
138504548d4eSBjorn Andersson 
138604548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_cn0 = {
138704548d4eSBjorn Andersson 	.name = "CN0",
138804548d4eSBjorn Andersson 	.keepalive = true,
138904548d4eSBjorn Andersson 	.num_nodes = 57,
139004548d4eSBjorn Andersson 	.nodes = { &mas_qnm_snoc,
139104548d4eSBjorn Andersson 		   &slv_qhs_a1_noc_cfg,
139204548d4eSBjorn Andersson 		   &slv_qhs_a2_noc_cfg,
139304548d4eSBjorn Andersson 		   &slv_qhs_ahb2phy_refgen_center,
139404548d4eSBjorn Andersson 		   &slv_qhs_ahb2phy_refgen_east,
139504548d4eSBjorn Andersson 		   &slv_qhs_ahb2phy_refgen_west,
139604548d4eSBjorn Andersson 		   &slv_qhs_ahb2phy_south,
139704548d4eSBjorn Andersson 		   &slv_qhs_aop,
139804548d4eSBjorn Andersson 		   &slv_qhs_aoss,
139904548d4eSBjorn Andersson 		   &slv_qhs_camera_cfg,
140004548d4eSBjorn Andersson 		   &slv_qhs_clk_ctl,
140104548d4eSBjorn Andersson 		   &slv_qhs_compute_dsp,
140204548d4eSBjorn Andersson 		   &slv_qhs_cpr_cx,
140304548d4eSBjorn Andersson 		   &slv_qhs_cpr_mmcx,
140404548d4eSBjorn Andersson 		   &slv_qhs_cpr_mx,
140504548d4eSBjorn Andersson 		   &slv_qhs_crypto0_cfg,
140604548d4eSBjorn Andersson 		   &slv_qhs_ddrss_cfg,
140704548d4eSBjorn Andersson 		   &slv_qhs_display_cfg,
140804548d4eSBjorn Andersson 		   &slv_qhs_emac_cfg,
140904548d4eSBjorn Andersson 		   &slv_qhs_glm,
141004548d4eSBjorn Andersson 		   &slv_qhs_gpuss_cfg,
141104548d4eSBjorn Andersson 		   &slv_qhs_imem_cfg,
141204548d4eSBjorn Andersson 		   &slv_qhs_ipa,
141304548d4eSBjorn Andersson 		   &slv_qhs_mnoc_cfg,
141404548d4eSBjorn Andersson 		   &slv_qhs_npu_cfg,
141504548d4eSBjorn Andersson 		   &slv_qhs_pcie0_cfg,
141604548d4eSBjorn Andersson 		   &slv_qhs_pcie1_cfg,
141704548d4eSBjorn Andersson 		   &slv_qhs_pcie2_cfg,
141804548d4eSBjorn Andersson 		   &slv_qhs_pcie3_cfg,
141904548d4eSBjorn Andersson 		   &slv_qhs_pdm,
142004548d4eSBjorn Andersson 		   &slv_qhs_pimem_cfg,
142104548d4eSBjorn Andersson 		   &slv_qhs_prng,
142204548d4eSBjorn Andersson 		   &slv_qhs_qdss_cfg,
142304548d4eSBjorn Andersson 		   &slv_qhs_qspi_0,
142404548d4eSBjorn Andersson 		   &slv_qhs_qspi_1,
142504548d4eSBjorn Andersson 		   &slv_qhs_qupv3_east0,
142604548d4eSBjorn Andersson 		   &slv_qhs_qupv3_east1,
142704548d4eSBjorn Andersson 		   &slv_qhs_qupv3_west,
142804548d4eSBjorn Andersson 		   &slv_qhs_sdc2,
142904548d4eSBjorn Andersson 		   &slv_qhs_sdc4,
143004548d4eSBjorn Andersson 		   &slv_qhs_security,
143104548d4eSBjorn Andersson 		   &slv_qhs_snoc_cfg,
143204548d4eSBjorn Andersson 		   &slv_qhs_spss_cfg,
143304548d4eSBjorn Andersson 		   &slv_qhs_tcsr,
143404548d4eSBjorn Andersson 		   &slv_qhs_tlmm_east,
143504548d4eSBjorn Andersson 		   &slv_qhs_tlmm_south,
143604548d4eSBjorn Andersson 		   &slv_qhs_tlmm_west,
143704548d4eSBjorn Andersson 		   &slv_qhs_tsif,
143804548d4eSBjorn Andersson 		   &slv_qhs_ufs_card_cfg,
143904548d4eSBjorn Andersson 		   &slv_qhs_ufs_mem0_cfg,
144004548d4eSBjorn Andersson 		   &slv_qhs_ufs_mem1_cfg,
144104548d4eSBjorn Andersson 		   &slv_qhs_usb3_0,
144204548d4eSBjorn Andersson 		   &slv_qhs_usb3_1,
144304548d4eSBjorn Andersson 		   &slv_qhs_usb3_2,
144404548d4eSBjorn Andersson 		   &slv_qhs_venus_cfg,
144504548d4eSBjorn Andersson 		   &slv_qhs_vsense_ctrl_cfg,
144604548d4eSBjorn Andersson 		   &slv_srvc_cnoc }
144704548d4eSBjorn Andersson };
144804548d4eSBjorn Andersson 
144904548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_mm1 = {
145004548d4eSBjorn Andersson 	.name = "MM1",
145104548d4eSBjorn Andersson 	.num_nodes = 7,
145204548d4eSBjorn Andersson 	.nodes = { &mas_qxm_camnoc_hf0_uncomp,
145304548d4eSBjorn Andersson 		   &mas_qxm_camnoc_hf1_uncomp,
145404548d4eSBjorn Andersson 		   &mas_qxm_camnoc_sf_uncomp,
145504548d4eSBjorn Andersson 		   &mas_qxm_camnoc_hf0,
145604548d4eSBjorn Andersson 		   &mas_qxm_camnoc_hf1,
145704548d4eSBjorn Andersson 		   &mas_qxm_mdp0,
145804548d4eSBjorn Andersson 		   &mas_qxm_mdp1 }
145904548d4eSBjorn Andersson };
146004548d4eSBjorn Andersson 
146104548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_qup0 = {
146204548d4eSBjorn Andersson 	.name = "QUP0",
146304548d4eSBjorn Andersson 	.num_nodes = 3,
146404548d4eSBjorn Andersson 	.nodes = { &mas_qup_core_0,
146504548d4eSBjorn Andersson 		   &mas_qup_core_1,
146604548d4eSBjorn Andersson 		   &mas_qup_core_2 }
146704548d4eSBjorn Andersson };
146804548d4eSBjorn Andersson 
146904548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sh2 = {
147004548d4eSBjorn Andersson 	.name = "SH2",
147104548d4eSBjorn Andersson 	.num_nodes = 1,
147204548d4eSBjorn Andersson 	.nodes = { &slv_qns_gem_noc_snoc }
147304548d4eSBjorn Andersson };
147404548d4eSBjorn Andersson 
147504548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_mm2 = {
147604548d4eSBjorn Andersson 	.name = "MM2",
147704548d4eSBjorn Andersson 	.num_nodes = 6,
147804548d4eSBjorn Andersson 	.nodes = { &mas_qxm_camnoc_sf,
147904548d4eSBjorn Andersson 		   &mas_qxm_rot,
148004548d4eSBjorn Andersson 		   &mas_qxm_venus0,
148104548d4eSBjorn Andersson 		   &mas_qxm_venus1,
148204548d4eSBjorn Andersson 		   &mas_qxm_venus_arm9,
148304548d4eSBjorn Andersson 		   &slv_qns2_mem_noc }
148404548d4eSBjorn Andersson };
148504548d4eSBjorn Andersson 
148604548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sh3 = {
148704548d4eSBjorn Andersson 	.name = "SH3",
148804548d4eSBjorn Andersson 	.keepalive = true,
148904548d4eSBjorn Andersson 	.num_nodes = 1,
149004548d4eSBjorn Andersson 	.nodes = { &mas_acm_apps }
149104548d4eSBjorn Andersson };
149204548d4eSBjorn Andersson 
149304548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn0 = {
149404548d4eSBjorn Andersson 	.name = "SN0",
149504548d4eSBjorn Andersson 	.nodes = { &slv_qns_gemnoc_sf }
149604548d4eSBjorn Andersson };
149704548d4eSBjorn Andersson 
149804548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn1 = {
149904548d4eSBjorn Andersson 	.name = "SN1",
150004548d4eSBjorn Andersson 	.nodes = { &slv_qxs_imem }
150104548d4eSBjorn Andersson };
150204548d4eSBjorn Andersson 
150304548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn2 = {
150404548d4eSBjorn Andersson 	.name = "SN2",
150504548d4eSBjorn Andersson 	.keepalive = true,
150604548d4eSBjorn Andersson 	.nodes = { &slv_qns_gemnoc_gc }
150704548d4eSBjorn Andersson };
150804548d4eSBjorn Andersson 
150904548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_co2 = {
151004548d4eSBjorn Andersson 	.name = "CO2",
151104548d4eSBjorn Andersson 	.nodes = { &mas_qnm_npu }
151204548d4eSBjorn Andersson };
151304548d4eSBjorn Andersson 
151404548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn3 = {
151504548d4eSBjorn Andersson 	.name = "SN3",
151604548d4eSBjorn Andersson 	.keepalive = true,
151704548d4eSBjorn Andersson 	.nodes = { &slv_srvc_aggre1_noc,
151804548d4eSBjorn Andersson 		  &slv_qns_cnoc }
151904548d4eSBjorn Andersson };
152004548d4eSBjorn Andersson 
152104548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn4 = {
152204548d4eSBjorn Andersson 	.name = "SN4",
152304548d4eSBjorn Andersson 	.nodes = { &slv_qxs_pimem }
152404548d4eSBjorn Andersson };
152504548d4eSBjorn Andersson 
152604548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn8 = {
152704548d4eSBjorn Andersson 	.name = "SN8",
152804548d4eSBjorn Andersson 	.num_nodes = 4,
152904548d4eSBjorn Andersson 	.nodes = { &slv_xs_pcie_0,
153004548d4eSBjorn Andersson 		   &slv_xs_pcie_1,
153104548d4eSBjorn Andersson 		   &slv_xs_pcie_2,
153204548d4eSBjorn Andersson 		   &slv_xs_pcie_3 }
153304548d4eSBjorn Andersson };
153404548d4eSBjorn Andersson 
153504548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn9 = {
153604548d4eSBjorn Andersson 	.name = "SN9",
153704548d4eSBjorn Andersson 	.num_nodes = 1,
153804548d4eSBjorn Andersson 	.nodes = { &mas_qnm_aggre1_noc }
153904548d4eSBjorn Andersson };
154004548d4eSBjorn Andersson 
154104548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn11 = {
154204548d4eSBjorn Andersson 	.name = "SN11",
154304548d4eSBjorn Andersson 	.num_nodes = 1,
154404548d4eSBjorn Andersson 	.nodes = { &mas_qnm_aggre2_noc }
154504548d4eSBjorn Andersson };
154604548d4eSBjorn Andersson 
154704548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn14 = {
154804548d4eSBjorn Andersson 	.name = "SN14",
154904548d4eSBjorn Andersson 	.num_nodes = 1,
155004548d4eSBjorn Andersson 	.nodes = { &slv_qns_pcie_mem_noc }
155104548d4eSBjorn Andersson };
155204548d4eSBjorn Andersson 
155304548d4eSBjorn Andersson static struct qcom_icc_bcm bcm_sn15 = {
155404548d4eSBjorn Andersson 	.name = "SN15",
155504548d4eSBjorn Andersson 	.keepalive = true,
155604548d4eSBjorn Andersson 	.num_nodes = 1,
155704548d4eSBjorn Andersson 	.nodes = { &mas_qnm_gemnoc }
155804548d4eSBjorn Andersson };
15599c8c6bacSGeorgi Djakov 
15607123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
15619c8c6bacSGeorgi Djakov 	&bcm_sn3,
15629c8c6bacSGeorgi Djakov 	&bcm_ce0,
15639c8c6bacSGeorgi Djakov };
15649c8c6bacSGeorgi Djakov 
15657123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
15669c8c6bacSGeorgi Djakov 	&bcm_sn14,
15679c8c6bacSGeorgi Djakov 	&bcm_ce0,
15689c8c6bacSGeorgi Djakov };
15699c8c6bacSGeorgi Djakov 
15707123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const camnoc_virt_bcms[] = {
15719c8c6bacSGeorgi Djakov 	&bcm_mm1,
15729c8c6bacSGeorgi Djakov };
15739c8c6bacSGeorgi Djakov 
15747123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const compute_noc_bcms[] = {
15759c8c6bacSGeorgi Djakov 	&bcm_co0,
15769c8c6bacSGeorgi Djakov 	&bcm_co2,
15779c8c6bacSGeorgi Djakov };
15789c8c6bacSGeorgi Djakov 
15797123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = {
15809c8c6bacSGeorgi Djakov 	&bcm_cn0,
15819c8c6bacSGeorgi Djakov };
15829c8c6bacSGeorgi Djakov 
15837123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gem_noc_bcms[] = {
15849c8c6bacSGeorgi Djakov 	&bcm_sh0,
15859c8c6bacSGeorgi Djakov 	&bcm_sh2,
15869c8c6bacSGeorgi Djakov 	&bcm_sh3,
15879c8c6bacSGeorgi Djakov };
15889c8c6bacSGeorgi Djakov 
15897123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mc_virt_bcms[] = {
15909c8c6bacSGeorgi Djakov 	&bcm_mc0,
15919c8c6bacSGeorgi Djakov 	&bcm_acv,
15929c8c6bacSGeorgi Djakov };
15939c8c6bacSGeorgi Djakov 
15947123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = {
15959c8c6bacSGeorgi Djakov 	&bcm_mm0,
15969c8c6bacSGeorgi Djakov 	&bcm_mm1,
15979c8c6bacSGeorgi Djakov 	&bcm_mm2,
15989c8c6bacSGeorgi Djakov };
15999c8c6bacSGeorgi Djakov 
16007123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = {
16019c8c6bacSGeorgi Djakov 	&bcm_sn0,
16029c8c6bacSGeorgi Djakov 	&bcm_sn1,
16039c8c6bacSGeorgi Djakov 	&bcm_sn2,
16049c8c6bacSGeorgi Djakov 	&bcm_sn3,
16059c8c6bacSGeorgi Djakov 	&bcm_sn4,
16069c8c6bacSGeorgi Djakov 	&bcm_sn8,
16079c8c6bacSGeorgi Djakov 	&bcm_sn9,
16089c8c6bacSGeorgi Djakov 	&bcm_sn11,
16099c8c6bacSGeorgi Djakov 	&bcm_sn15,
16109c8c6bacSGeorgi Djakov };
16119c8c6bacSGeorgi Djakov 
16122ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = {
16139c8c6bacSGeorgi Djakov 	[MASTER_A1NOC_CFG] = &mas_qhm_a1noc_cfg,
16149c8c6bacSGeorgi Djakov 	[MASTER_UFS_CARD] = &mas_xm_ufs_card,
16159c8c6bacSGeorgi Djakov 	[MASTER_UFS_GEN4] = &mas_xm_ufs_g4,
16169c8c6bacSGeorgi Djakov 	[MASTER_UFS_MEM] = &mas_xm_ufs_mem,
16179c8c6bacSGeorgi Djakov 	[MASTER_USB3] = &mas_xm_usb3_0,
16189c8c6bacSGeorgi Djakov 	[MASTER_USB3_1] = &mas_xm_usb3_1,
16199c8c6bacSGeorgi Djakov 	[MASTER_USB3_2] = &mas_xm_usb3_2,
16209c8c6bacSGeorgi Djakov 	[A1NOC_SNOC_SLV] = &slv_qns_a1noc_snoc,
16219c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_A1NOC] = &slv_srvc_aggre1_noc,
16229c8c6bacSGeorgi Djakov };
16239c8c6bacSGeorgi Djakov 
16242ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = {
16259c8c6bacSGeorgi Djakov 	[MASTER_A2NOC_CFG] = &mas_qhm_a2noc_cfg,
16269c8c6bacSGeorgi Djakov 	[MASTER_QDSS_BAM] = &mas_qhm_qdss_bam,
16279c8c6bacSGeorgi Djakov 	[MASTER_QSPI_0] = &mas_qhm_qspi,
16289c8c6bacSGeorgi Djakov 	[MASTER_QSPI_1] = &mas_qhm_qspi1,
16299c8c6bacSGeorgi Djakov 	[MASTER_QUP_0] = &mas_qhm_qup0,
16309c8c6bacSGeorgi Djakov 	[MASTER_QUP_1] = &mas_qhm_qup1,
16319c8c6bacSGeorgi Djakov 	[MASTER_QUP_2] = &mas_qhm_qup2,
16329c8c6bacSGeorgi Djakov 	[MASTER_SENSORS_AHB] = &mas_qhm_sensorss_ahb,
16339c8c6bacSGeorgi Djakov 	[MASTER_CRYPTO_CORE_0] = &mas_qxm_crypto,
16349c8c6bacSGeorgi Djakov 	[MASTER_IPA] = &mas_qxm_ipa,
16359c8c6bacSGeorgi Djakov 	[MASTER_EMAC] = &mas_xm_emac,
16369c8c6bacSGeorgi Djakov 	[MASTER_PCIE] = &mas_xm_pcie3_0,
16379c8c6bacSGeorgi Djakov 	[MASTER_PCIE_1] = &mas_xm_pcie3_1,
16389c8c6bacSGeorgi Djakov 	[MASTER_PCIE_2] = &mas_xm_pcie3_2,
16399c8c6bacSGeorgi Djakov 	[MASTER_PCIE_3] = &mas_xm_pcie3_3,
16409c8c6bacSGeorgi Djakov 	[MASTER_QDSS_ETR] = &mas_xm_qdss_etr,
16419c8c6bacSGeorgi Djakov 	[MASTER_SDCC_2] = &mas_xm_sdc2,
16429c8c6bacSGeorgi Djakov 	[MASTER_SDCC_4] = &mas_xm_sdc4,
16439c8c6bacSGeorgi Djakov 	[A2NOC_SNOC_SLV] = &slv_qns_a2noc_snoc,
16449c8c6bacSGeorgi Djakov 	[SLAVE_ANOC_PCIE_GEM_NOC] = &slv_qns_pcie_mem_noc,
16459c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_A2NOC] = &slv_srvc_aggre2_noc,
16469c8c6bacSGeorgi Djakov };
16479c8c6bacSGeorgi Djakov 
16482ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const camnoc_virt_nodes[] = {
16499c8c6bacSGeorgi Djakov 	[MASTER_CAMNOC_HF0_UNCOMP] = &mas_qxm_camnoc_hf0_uncomp,
16509c8c6bacSGeorgi Djakov 	[MASTER_CAMNOC_HF1_UNCOMP] = &mas_qxm_camnoc_hf1_uncomp,
16519c8c6bacSGeorgi Djakov 	[MASTER_CAMNOC_SF_UNCOMP] = &mas_qxm_camnoc_sf_uncomp,
16529c8c6bacSGeorgi Djakov 	[SLAVE_CAMNOC_UNCOMP] = &slv_qns_camnoc_uncomp,
16539c8c6bacSGeorgi Djakov };
16549c8c6bacSGeorgi Djakov 
16552ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const compute_noc_nodes[] = {
16569c8c6bacSGeorgi Djakov 	[MASTER_NPU] = &mas_qnm_npu,
16579c8c6bacSGeorgi Djakov 	[SLAVE_CDSP_MEM_NOC] = &slv_qns_cdsp_mem_noc,
16589c8c6bacSGeorgi Djakov };
16599c8c6bacSGeorgi Djakov 
16602ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = {
16619c8c6bacSGeorgi Djakov 	[SNOC_CNOC_MAS] = &mas_qnm_snoc,
16629c8c6bacSGeorgi Djakov 	[SLAVE_A1NOC_CFG] = &slv_qhs_a1_noc_cfg,
16639c8c6bacSGeorgi Djakov 	[SLAVE_A2NOC_CFG] = &slv_qhs_a2_noc_cfg,
16649c8c6bacSGeorgi Djakov 	[SLAVE_AHB2PHY_CENTER] = &slv_qhs_ahb2phy_refgen_center,
16659c8c6bacSGeorgi Djakov 	[SLAVE_AHB2PHY_EAST] = &slv_qhs_ahb2phy_refgen_east,
16669c8c6bacSGeorgi Djakov 	[SLAVE_AHB2PHY_WEST] = &slv_qhs_ahb2phy_refgen_west,
16679c8c6bacSGeorgi Djakov 	[SLAVE_AHB2PHY_SOUTH] = &slv_qhs_ahb2phy_south,
16689c8c6bacSGeorgi Djakov 	[SLAVE_AOP] = &slv_qhs_aop,
16699c8c6bacSGeorgi Djakov 	[SLAVE_AOSS] = &slv_qhs_aoss,
16709c8c6bacSGeorgi Djakov 	[SLAVE_CAMERA_CFG] = &slv_qhs_camera_cfg,
16719c8c6bacSGeorgi Djakov 	[SLAVE_CLK_CTL] = &slv_qhs_clk_ctl,
16729c8c6bacSGeorgi Djakov 	[SLAVE_CDSP_CFG] = &slv_qhs_compute_dsp,
16739c8c6bacSGeorgi Djakov 	[SLAVE_RBCPR_CX_CFG] = &slv_qhs_cpr_cx,
16749c8c6bacSGeorgi Djakov 	[SLAVE_RBCPR_MMCX_CFG] = &slv_qhs_cpr_mmcx,
16759c8c6bacSGeorgi Djakov 	[SLAVE_RBCPR_MX_CFG] = &slv_qhs_cpr_mx,
16769c8c6bacSGeorgi Djakov 	[SLAVE_CRYPTO_0_CFG] = &slv_qhs_crypto0_cfg,
16779c8c6bacSGeorgi Djakov 	[SLAVE_CNOC_DDRSS] = &slv_qhs_ddrss_cfg,
16789c8c6bacSGeorgi Djakov 	[SLAVE_DISPLAY_CFG] = &slv_qhs_display_cfg,
16799c8c6bacSGeorgi Djakov 	[SLAVE_EMAC_CFG] = &slv_qhs_emac_cfg,
16809c8c6bacSGeorgi Djakov 	[SLAVE_GLM] = &slv_qhs_glm,
16819c8c6bacSGeorgi Djakov 	[SLAVE_GRAPHICS_3D_CFG] = &slv_qhs_gpuss_cfg,
16829c8c6bacSGeorgi Djakov 	[SLAVE_IMEM_CFG] = &slv_qhs_imem_cfg,
16839c8c6bacSGeorgi Djakov 	[SLAVE_IPA_CFG] = &slv_qhs_ipa,
16849c8c6bacSGeorgi Djakov 	[SLAVE_CNOC_MNOC_CFG] = &slv_qhs_mnoc_cfg,
16859c8c6bacSGeorgi Djakov 	[SLAVE_NPU_CFG] = &slv_qhs_npu_cfg,
16869c8c6bacSGeorgi Djakov 	[SLAVE_PCIE_0_CFG] = &slv_qhs_pcie0_cfg,
16879c8c6bacSGeorgi Djakov 	[SLAVE_PCIE_1_CFG] = &slv_qhs_pcie1_cfg,
16889c8c6bacSGeorgi Djakov 	[SLAVE_PCIE_2_CFG] = &slv_qhs_pcie2_cfg,
16899c8c6bacSGeorgi Djakov 	[SLAVE_PCIE_3_CFG] = &slv_qhs_pcie3_cfg,
16909c8c6bacSGeorgi Djakov 	[SLAVE_PDM] = &slv_qhs_pdm,
16919c8c6bacSGeorgi Djakov 	[SLAVE_PIMEM_CFG] = &slv_qhs_pimem_cfg,
16929c8c6bacSGeorgi Djakov 	[SLAVE_PRNG] = &slv_qhs_prng,
16939c8c6bacSGeorgi Djakov 	[SLAVE_QDSS_CFG] = &slv_qhs_qdss_cfg,
16949c8c6bacSGeorgi Djakov 	[SLAVE_QSPI_0] = &slv_qhs_qspi_0,
16959c8c6bacSGeorgi Djakov 	[SLAVE_QSPI_1] = &slv_qhs_qspi_1,
16969c8c6bacSGeorgi Djakov 	[SLAVE_QUP_1] = &slv_qhs_qupv3_east0,
16979c8c6bacSGeorgi Djakov 	[SLAVE_QUP_2] = &slv_qhs_qupv3_east1,
16989c8c6bacSGeorgi Djakov 	[SLAVE_QUP_0] = &slv_qhs_qupv3_west,
16999c8c6bacSGeorgi Djakov 	[SLAVE_SDCC_2] = &slv_qhs_sdc2,
17009c8c6bacSGeorgi Djakov 	[SLAVE_SDCC_4] = &slv_qhs_sdc4,
17019c8c6bacSGeorgi Djakov 	[SLAVE_SECURITY] = &slv_qhs_security,
17029c8c6bacSGeorgi Djakov 	[SLAVE_SNOC_CFG] = &slv_qhs_snoc_cfg,
17039c8c6bacSGeorgi Djakov 	[SLAVE_SPSS_CFG] = &slv_qhs_spss_cfg,
17049c8c6bacSGeorgi Djakov 	[SLAVE_TCSR] = &slv_qhs_tcsr,
17059c8c6bacSGeorgi Djakov 	[SLAVE_TLMM_EAST] = &slv_qhs_tlmm_east,
17069c8c6bacSGeorgi Djakov 	[SLAVE_TLMM_SOUTH] = &slv_qhs_tlmm_south,
17079c8c6bacSGeorgi Djakov 	[SLAVE_TLMM_WEST] = &slv_qhs_tlmm_west,
17089c8c6bacSGeorgi Djakov 	[SLAVE_TSIF] = &slv_qhs_tsif,
17099c8c6bacSGeorgi Djakov 	[SLAVE_UFS_CARD_CFG] = &slv_qhs_ufs_card_cfg,
17109c8c6bacSGeorgi Djakov 	[SLAVE_UFS_MEM_0_CFG] = &slv_qhs_ufs_mem0_cfg,
17119c8c6bacSGeorgi Djakov 	[SLAVE_UFS_MEM_1_CFG] = &slv_qhs_ufs_mem1_cfg,
17129c8c6bacSGeorgi Djakov 	[SLAVE_USB3] = &slv_qhs_usb3_0,
17139c8c6bacSGeorgi Djakov 	[SLAVE_USB3_1] = &slv_qhs_usb3_1,
17149c8c6bacSGeorgi Djakov 	[SLAVE_USB3_2] = &slv_qhs_usb3_2,
17159c8c6bacSGeorgi Djakov 	[SLAVE_VENUS_CFG] = &slv_qhs_venus_cfg,
17169c8c6bacSGeorgi Djakov 	[SLAVE_VSENSE_CTRL_CFG] = &slv_qhs_vsense_ctrl_cfg,
17179c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_CNOC] = &slv_srvc_cnoc,
17189c8c6bacSGeorgi Djakov };
17199c8c6bacSGeorgi Djakov 
17202ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = {
17219c8c6bacSGeorgi Djakov 	[MASTER_CNOC_DC_NOC] = &mas_qhm_cnoc_dc_noc,
17229c8c6bacSGeorgi Djakov 	[SLAVE_GEM_NOC_CFG] = &slv_qhs_gemnoc,
17239c8c6bacSGeorgi Djakov 	[SLAVE_LLCC_CFG] = &slv_qhs_llcc,
17249c8c6bacSGeorgi Djakov };
17259c8c6bacSGeorgi Djakov 
17262ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gem_noc_nodes[] = {
17279c8c6bacSGeorgi Djakov 	[MASTER_AMPSS_M0] = &mas_acm_apps,
17289c8c6bacSGeorgi Djakov 	[MASTER_GPU_TCU] = &mas_acm_gpu_tcu,
17299c8c6bacSGeorgi Djakov 	[MASTER_SYS_TCU] = &mas_acm_sys_tcu,
17309c8c6bacSGeorgi Djakov 	[MASTER_GEM_NOC_CFG] = &mas_qhm_gemnoc_cfg,
17319c8c6bacSGeorgi Djakov 	[MASTER_COMPUTE_NOC] = &mas_qnm_cmpnoc,
17329c8c6bacSGeorgi Djakov 	[MASTER_GRAPHICS_3D] = &mas_qnm_gpu,
17339c8c6bacSGeorgi Djakov 	[MASTER_MNOC_HF_MEM_NOC] = &mas_qnm_mnoc_hf,
17349c8c6bacSGeorgi Djakov 	[MASTER_MNOC_SF_MEM_NOC] = &mas_qnm_mnoc_sf,
17359c8c6bacSGeorgi Djakov 	[MASTER_GEM_NOC_PCIE_SNOC] = &mas_qnm_pcie,
17369c8c6bacSGeorgi Djakov 	[MASTER_SNOC_GC_MEM_NOC] = &mas_qnm_snoc_gc,
17379c8c6bacSGeorgi Djakov 	[MASTER_SNOC_SF_MEM_NOC] = &mas_qnm_snoc_sf,
17389c8c6bacSGeorgi Djakov 	[MASTER_ECC] = &mas_qxm_ecc,
17399c8c6bacSGeorgi Djakov 	[SLAVE_MSS_PROC_MS_MPU_CFG] = &slv_qhs_mdsp_ms_mpu_cfg,
17409c8c6bacSGeorgi Djakov 	[SLAVE_ECC] = &slv_qns_ecc,
17419c8c6bacSGeorgi Djakov 	[SLAVE_GEM_NOC_SNOC] = &slv_qns_gem_noc_snoc,
17429c8c6bacSGeorgi Djakov 	[SLAVE_LLCC] = &slv_qns_llcc,
17439c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_GEM_NOC] = &slv_srvc_gemnoc,
17449c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_GEM_NOC_1] = &slv_srvc_gemnoc1,
17459c8c6bacSGeorgi Djakov };
17469c8c6bacSGeorgi Djakov 
17472ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mc_virt_nodes[] = {
17489c8c6bacSGeorgi Djakov 	[MASTER_LLCC] = &mas_llcc_mc,
17499c8c6bacSGeorgi Djakov 	[SLAVE_EBI_CH0] = &slv_ebi,
17509c8c6bacSGeorgi Djakov };
17519c8c6bacSGeorgi Djakov 
17522ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = {
17539c8c6bacSGeorgi Djakov 	[MASTER_CNOC_MNOC_CFG] = &mas_qhm_mnoc_cfg,
17549c8c6bacSGeorgi Djakov 	[MASTER_CAMNOC_HF0] = &mas_qxm_camnoc_hf0,
17559c8c6bacSGeorgi Djakov 	[MASTER_CAMNOC_HF1] = &mas_qxm_camnoc_hf1,
17569c8c6bacSGeorgi Djakov 	[MASTER_CAMNOC_SF] = &mas_qxm_camnoc_sf,
17579c8c6bacSGeorgi Djakov 	[MASTER_MDP_PORT0] = &mas_qxm_mdp0,
17589c8c6bacSGeorgi Djakov 	[MASTER_MDP_PORT1] = &mas_qxm_mdp1,
17599c8c6bacSGeorgi Djakov 	[MASTER_ROTATOR] = &mas_qxm_rot,
17609c8c6bacSGeorgi Djakov 	[MASTER_VIDEO_P0] = &mas_qxm_venus0,
17619c8c6bacSGeorgi Djakov 	[MASTER_VIDEO_P1] = &mas_qxm_venus1,
17629c8c6bacSGeorgi Djakov 	[MASTER_VIDEO_PROC] = &mas_qxm_venus_arm9,
17639c8c6bacSGeorgi Djakov 	[SLAVE_MNOC_SF_MEM_NOC] = &slv_qns2_mem_noc,
17649c8c6bacSGeorgi Djakov 	[SLAVE_MNOC_HF_MEM_NOC] = &slv_qns_mem_noc_hf,
17659c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_MNOC] = &slv_srvc_mnoc,
17669c8c6bacSGeorgi Djakov };
17679c8c6bacSGeorgi Djakov 
17682ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = {
17699c8c6bacSGeorgi Djakov 	[MASTER_SNOC_CFG] = &mas_qhm_snoc_cfg,
17709c8c6bacSGeorgi Djakov 	[A1NOC_SNOC_MAS] = &mas_qnm_aggre1_noc,
17719c8c6bacSGeorgi Djakov 	[A2NOC_SNOC_MAS] = &mas_qnm_aggre2_noc,
17729c8c6bacSGeorgi Djakov 	[MASTER_GEM_NOC_SNOC] = &mas_qnm_gemnoc,
17739c8c6bacSGeorgi Djakov 	[MASTER_PIMEM] = &mas_qxm_pimem,
17749c8c6bacSGeorgi Djakov 	[MASTER_GIC] = &mas_xm_gic,
17759c8c6bacSGeorgi Djakov 	[SLAVE_APPSS] = &slv_qhs_apss,
17769c8c6bacSGeorgi Djakov 	[SNOC_CNOC_SLV] = &slv_qns_cnoc,
17779c8c6bacSGeorgi Djakov 	[SLAVE_SNOC_GEM_NOC_GC] = &slv_qns_gemnoc_gc,
17789c8c6bacSGeorgi Djakov 	[SLAVE_SNOC_GEM_NOC_SF] = &slv_qns_gemnoc_sf,
17799c8c6bacSGeorgi Djakov 	[SLAVE_OCIMEM] = &slv_qxs_imem,
17809c8c6bacSGeorgi Djakov 	[SLAVE_PIMEM] = &slv_qxs_pimem,
17819c8c6bacSGeorgi Djakov 	[SLAVE_SERVICE_SNOC] = &slv_srvc_snoc,
17829c8c6bacSGeorgi Djakov 	[SLAVE_QDSS_STM] = &slv_xs_qdss_stm,
17839c8c6bacSGeorgi Djakov 	[SLAVE_TCU] = &slv_xs_sys_tcu_cfg,
17849c8c6bacSGeorgi Djakov };
17859c8c6bacSGeorgi Djakov 
17869c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_aggre1_noc = {
17879c8c6bacSGeorgi Djakov 	.nodes = aggre1_noc_nodes,
17889c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
17899c8c6bacSGeorgi Djakov 	.bcms = aggre1_noc_bcms,
17909c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
17919c8c6bacSGeorgi Djakov };
17929c8c6bacSGeorgi Djakov 
17939c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_aggre2_noc = {
17949c8c6bacSGeorgi Djakov 	.nodes = aggre2_noc_nodes,
17959c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
17969c8c6bacSGeorgi Djakov 	.bcms = aggre2_noc_bcms,
17979c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
17989c8c6bacSGeorgi Djakov };
17999c8c6bacSGeorgi Djakov 
18009c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_camnoc_virt = {
18019c8c6bacSGeorgi Djakov 	.nodes = camnoc_virt_nodes,
18029c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(camnoc_virt_nodes),
18039c8c6bacSGeorgi Djakov 	.bcms = camnoc_virt_bcms,
18049c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(camnoc_virt_bcms),
18059c8c6bacSGeorgi Djakov };
18069c8c6bacSGeorgi Djakov 
18079c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_compute_noc = {
18089c8c6bacSGeorgi Djakov 	.nodes = compute_noc_nodes,
18099c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(compute_noc_nodes),
18109c8c6bacSGeorgi Djakov 	.bcms = compute_noc_bcms,
18119c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(compute_noc_bcms),
18129c8c6bacSGeorgi Djakov };
18139c8c6bacSGeorgi Djakov 
18149c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_config_noc = {
18159c8c6bacSGeorgi Djakov 	.nodes = config_noc_nodes,
18169c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(config_noc_nodes),
18179c8c6bacSGeorgi Djakov 	.bcms = config_noc_bcms,
18189c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(config_noc_bcms),
18199c8c6bacSGeorgi Djakov };
18209c8c6bacSGeorgi Djakov 
18219c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_dc_noc = {
18229c8c6bacSGeorgi Djakov 	.nodes = dc_noc_nodes,
18239c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
18249c8c6bacSGeorgi Djakov };
18259c8c6bacSGeorgi Djakov 
18269c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_gem_noc  = {
18279c8c6bacSGeorgi Djakov 	.nodes = gem_noc_nodes,
18289c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(gem_noc_nodes),
18299c8c6bacSGeorgi Djakov 	.bcms = gem_noc_bcms,
18309c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
18319c8c6bacSGeorgi Djakov };
18329c8c6bacSGeorgi Djakov 
18339c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_mc_virt  = {
18349c8c6bacSGeorgi Djakov 	.nodes = mc_virt_nodes,
18359c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(mc_virt_nodes),
18369c8c6bacSGeorgi Djakov 	.bcms = mc_virt_bcms,
18379c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(mc_virt_bcms),
18389c8c6bacSGeorgi Djakov };
18399c8c6bacSGeorgi Djakov 
18409c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_mmss_noc  = {
18419c8c6bacSGeorgi Djakov 	.nodes = mmss_noc_nodes,
18429c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
18439c8c6bacSGeorgi Djakov 	.bcms = mmss_noc_bcms,
18449c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
18459c8c6bacSGeorgi Djakov };
18469c8c6bacSGeorgi Djakov 
18479c8c6bacSGeorgi Djakov static const struct qcom_icc_desc sc8180x_system_noc  = {
18489c8c6bacSGeorgi Djakov 	.nodes = system_noc_nodes,
18499c8c6bacSGeorgi Djakov 	.num_nodes = ARRAY_SIZE(system_noc_nodes),
18509c8c6bacSGeorgi Djakov 	.bcms = system_noc_bcms,
18519c8c6bacSGeorgi Djakov 	.num_bcms = ARRAY_SIZE(system_noc_bcms),
18529c8c6bacSGeorgi Djakov };
18539c8c6bacSGeorgi Djakov 
185442c4e3f6SBjorn Andersson static struct qcom_icc_bcm * const qup_virt_bcms[] = {
185542c4e3f6SBjorn Andersson 	&bcm_qup0,
185642c4e3f6SBjorn Andersson };
185742c4e3f6SBjorn Andersson 
1858c1c537cfSKrzysztof Kozlowski static struct qcom_icc_node * const qup_virt_nodes[] = {
185942c4e3f6SBjorn Andersson 	[MASTER_QUP_CORE_0] = &mas_qup_core_0,
186042c4e3f6SBjorn Andersson 	[MASTER_QUP_CORE_1] = &mas_qup_core_1,
186142c4e3f6SBjorn Andersson 	[MASTER_QUP_CORE_2] = &mas_qup_core_2,
186242c4e3f6SBjorn Andersson 	[SLAVE_QUP_CORE_0] = &slv_qup_core_0,
186342c4e3f6SBjorn Andersson 	[SLAVE_QUP_CORE_1] = &slv_qup_core_1,
186442c4e3f6SBjorn Andersson 	[SLAVE_QUP_CORE_2] = &slv_qup_core_2,
186542c4e3f6SBjorn Andersson };
186642c4e3f6SBjorn Andersson 
186742c4e3f6SBjorn Andersson static const struct qcom_icc_desc sc8180x_qup_virt = {
186842c4e3f6SBjorn Andersson 	.nodes = qup_virt_nodes,
186942c4e3f6SBjorn Andersson 	.num_nodes = ARRAY_SIZE(qup_virt_nodes),
187042c4e3f6SBjorn Andersson 	.bcms = qup_virt_bcms,
187142c4e3f6SBjorn Andersson 	.num_bcms = ARRAY_SIZE(qup_virt_bcms),
187242c4e3f6SBjorn Andersson };
18739c8c6bacSGeorgi Djakov 
18749c8c6bacSGeorgi Djakov static const struct of_device_id qnoc_of_match[] = {
18759c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-aggre1-noc", .data = &sc8180x_aggre1_noc },
18769c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-aggre2-noc", .data = &sc8180x_aggre2_noc },
18779c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-camnoc-virt", .data = &sc8180x_camnoc_virt },
18789c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-compute-noc", .data = &sc8180x_compute_noc, },
18799c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-config-noc", .data = &sc8180x_config_noc },
18809c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-dc-noc", .data = &sc8180x_dc_noc },
18819c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-gem-noc", .data = &sc8180x_gem_noc },
18829c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-mc-virt", .data = &sc8180x_mc_virt },
18839c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-mmss-noc", .data = &sc8180x_mmss_noc },
188442c4e3f6SBjorn Andersson 	{ .compatible = "qcom,sc8180x-qup-virt", .data = &sc8180x_qup_virt },
18859c8c6bacSGeorgi Djakov 	{ .compatible = "qcom,sc8180x-system-noc", .data = &sc8180x_system_noc },
18869c8c6bacSGeorgi Djakov 	{ }
18879c8c6bacSGeorgi Djakov };
18889c8c6bacSGeorgi Djakov MODULE_DEVICE_TABLE(of, qnoc_of_match);
18899c8c6bacSGeorgi Djakov 
18909c8c6bacSGeorgi Djakov static struct platform_driver qnoc_driver = {
1891a3e45cf8SBjorn Andersson 	.probe = qcom_icc_rpmh_probe,
1892a3e45cf8SBjorn Andersson 	.remove = qcom_icc_rpmh_remove,
18939c8c6bacSGeorgi Djakov 	.driver = {
18949c8c6bacSGeorgi Djakov 		.name = "qnoc-sc8180x",
18959c8c6bacSGeorgi Djakov 		.of_match_table = qnoc_of_match,
18969c8c6bacSGeorgi Djakov 		.sync_state = icc_sync_state,
18979c8c6bacSGeorgi Djakov 	},
18989c8c6bacSGeorgi Djakov };
18999c8c6bacSGeorgi Djakov module_platform_driver(qnoc_driver);
19009c8c6bacSGeorgi Djakov 
19019c8c6bacSGeorgi Djakov MODULE_DESCRIPTION("Qualcomm sc8180x NoC driver");
19029c8c6bacSGeorgi Djakov MODULE_LICENSE("GPL v2");
1903