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