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