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