Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'icc-retire-macros' into icc-next

This is ripped out of the bigger patch series at [1], as this part
doesn't really have any dependencies and (hopefully) brings no
functional change.

Compile-tested for the most part, bloat-o-meter reports no size change

[1] https://lore.kernel.org/linux-arm-msm/20230708-topic-rpmh_icc_rsc-v1-0-b223bd2ac8dd@linaro.org/

* icc-retire-macros
interconnect: qcom: sc7180: Retire DEFINE_QNODE
interconnect: qcom: sdm670: Retire DEFINE_QNODE
interconnect: qcom: sdm845: Retire DEFINE_QNODE
interconnect: qcom: sdx55: Retire DEFINE_QNODE
interconnect: qcom: sdx65: Retire DEFINE_QNODE
interconnect: qcom: sm6350: Retire DEFINE_QNODE
interconnect: qcom: sm8150: Retire DEFINE_QNODE
interconnect: qcom: sm8250: Retire DEFINE_QNODE
interconnect: qcom: sm8350: Retire DEFINE_QNODE
interconnect: qcom: icc-rpmh: Retire DEFINE_QNODE
interconnect: qcom: sc7180: Retire DEFINE_QBCM
interconnect: qcom: sdm670: Retire DEFINE_QBCM
interconnect: qcom: sdm845: Retire DEFINE_QBCM
interconnect: qcom: sdx55: Retire DEFINE_QBCM
interconnect: qcom: sdx65: Retire DEFINE_QBCM
interconnect: qcom: sm6350: Retire DEFINE_QBCM
interconnect: qcom: sm8150: Retire DEFINE_QBCM
interconnect: qcom: sm8250: Retire DEFINE_QBCM
interconnect: qcom: sm8350: Retire DEFINE_QBCM
interconnect: qcom: icc-rpmh: Retire DEFINE_QBCM

Link: https://lore.kernel.org/r/20230811-topic-icc_retire_macrosd-v1-0-c03aaeffc769@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>

+11778 -1306
-8
drivers/interconnect/qcom/bcm-voter.h
··· 12 12 13 13 #include "icc-rpmh.h" 14 14 15 - #define DEFINE_QBCM(_name, _bcmname, _keepalive, ...) \ 16 - static struct qcom_icc_bcm _name = { \ 17 - .name = _bcmname, \ 18 - .keepalive = _keepalive, \ 19 - .num_nodes = ARRAY_SIZE(((struct qcom_icc_node *[]){ __VA_ARGS__ })), \ 20 - .nodes = { __VA_ARGS__ }, \ 21 - } 22 - 23 15 struct bcm_voter *of_bcm_voter_get(struct device *dev, const char *name); 24 16 void qcom_icc_bcm_voter_add(struct bcm_voter *voter, struct qcom_icc_bcm *bcm); 25 17 int qcom_icc_bcm_voter_commit(struct bcm_voter *voter);
-10
drivers/interconnect/qcom/icc-rpmh.h
··· 120 120 size_t num_bcms; 121 121 }; 122 122 123 - #define DEFINE_QNODE(_name, _id, _channels, _buswidth, ...) \ 124 - static struct qcom_icc_node _name = { \ 125 - .id = _id, \ 126 - .name = #_name, \ 127 - .channels = _channels, \ 128 - .buswidth = _buswidth, \ 129 - .num_links = ARRAY_SIZE(((int[]){ __VA_ARGS__ })), \ 130 - .links = { __VA_ARGS__ }, \ 131 - } 132 - 133 123 int qcom_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, 134 124 u32 peak_bw, u32 *agg_avg, u32 *agg_peak); 135 125 int qcom_icc_set(struct icc_node *src, struct icc_node *dst);
+1450 -161
drivers/interconnect/qcom/sc7180.c
··· 16 16 #include "icc-rpmh.h" 17 17 #include "sc7180.h" 18 18 19 - DEFINE_QNODE(qhm_a1noc_cfg, SC7180_MASTER_A1NOC_CFG, 1, 4, SC7180_SLAVE_SERVICE_A1NOC); 20 - DEFINE_QNODE(qhm_qspi, SC7180_MASTER_QSPI, 1, 4, SC7180_SLAVE_A1NOC_SNOC); 21 - DEFINE_QNODE(qhm_qup_0, SC7180_MASTER_QUP_0, 1, 4, SC7180_SLAVE_A1NOC_SNOC); 22 - DEFINE_QNODE(xm_sdc2, SC7180_MASTER_SDCC_2, 1, 8, SC7180_SLAVE_A1NOC_SNOC); 23 - DEFINE_QNODE(xm_emmc, SC7180_MASTER_EMMC, 1, 8, SC7180_SLAVE_A1NOC_SNOC); 24 - DEFINE_QNODE(xm_ufs_mem, SC7180_MASTER_UFS_MEM, 1, 8, SC7180_SLAVE_A1NOC_SNOC); 25 - DEFINE_QNODE(qhm_a2noc_cfg, SC7180_MASTER_A2NOC_CFG, 1, 4, SC7180_SLAVE_SERVICE_A2NOC); 26 - DEFINE_QNODE(qhm_qdss_bam, SC7180_MASTER_QDSS_BAM, 1, 4, SC7180_SLAVE_A2NOC_SNOC); 27 - DEFINE_QNODE(qhm_qup_1, SC7180_MASTER_QUP_1, 1, 4, SC7180_SLAVE_A2NOC_SNOC); 28 - DEFINE_QNODE(qxm_crypto, SC7180_MASTER_CRYPTO, 1, 8, SC7180_SLAVE_A2NOC_SNOC); 29 - DEFINE_QNODE(qxm_ipa, SC7180_MASTER_IPA, 1, 8, SC7180_SLAVE_A2NOC_SNOC); 30 - DEFINE_QNODE(xm_qdss_etr, SC7180_MASTER_QDSS_ETR, 1, 8, SC7180_SLAVE_A2NOC_SNOC); 31 - DEFINE_QNODE(qhm_usb3, SC7180_MASTER_USB3, 1, 8, SC7180_SLAVE_A2NOC_SNOC); 32 - DEFINE_QNODE(qxm_camnoc_hf0_uncomp, SC7180_MASTER_CAMNOC_HF0_UNCOMP, 1, 32, SC7180_SLAVE_CAMNOC_UNCOMP); 33 - DEFINE_QNODE(qxm_camnoc_hf1_uncomp, SC7180_MASTER_CAMNOC_HF1_UNCOMP, 1, 32, SC7180_SLAVE_CAMNOC_UNCOMP); 34 - DEFINE_QNODE(qxm_camnoc_sf_uncomp, SC7180_MASTER_CAMNOC_SF_UNCOMP, 1, 32, SC7180_SLAVE_CAMNOC_UNCOMP); 35 - DEFINE_QNODE(qnm_npu, SC7180_MASTER_NPU, 2, 32, SC7180_SLAVE_CDSP_GEM_NOC); 36 - DEFINE_QNODE(qxm_npu_dsp, SC7180_MASTER_NPU_PROC, 1, 8, SC7180_SLAVE_CDSP_GEM_NOC); 37 - DEFINE_QNODE(qnm_snoc, SC7180_MASTER_SNOC_CNOC, 1, 8, SC7180_SLAVE_A1NOC_CFG, SC7180_SLAVE_A2NOC_CFG, SC7180_SLAVE_AHB2PHY_SOUTH, SC7180_SLAVE_AHB2PHY_CENTER, SC7180_SLAVE_AOP, SC7180_SLAVE_AOSS, SC7180_SLAVE_BOOT_ROM, SC7180_SLAVE_CAMERA_CFG, SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, SC7180_SLAVE_CLK_CTL, SC7180_SLAVE_RBCPR_CX_CFG, SC7180_SLAVE_RBCPR_MX_CFG, SC7180_SLAVE_CRYPTO_0_CFG, SC7180_SLAVE_DCC_CFG, SC7180_SLAVE_CNOC_DDRSS, SC7180_SLAVE_DISPLAY_CFG, SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, SC7180_SLAVE_DISPLAY_THROTTLE_CFG, SC7180_SLAVE_EMMC_CFG, SC7180_SLAVE_GLM, 38 - SC7180_SLAVE_GFX3D_CFG, SC7180_SLAVE_IMEM_CFG, SC7180_SLAVE_IPA_CFG, SC7180_SLAVE_CNOC_MNOC_CFG, SC7180_SLAVE_CNOC_MSS, SC7180_SLAVE_NPU_CFG, SC7180_SLAVE_NPU_DMA_BWMON_CFG, SC7180_SLAVE_NPU_PROC_BWMON_CFG, SC7180_SLAVE_PDM, SC7180_SLAVE_PIMEM_CFG, SC7180_SLAVE_PRNG, SC7180_SLAVE_QDSS_CFG, SC7180_SLAVE_QM_CFG, SC7180_SLAVE_QM_MPU_CFG, SC7180_SLAVE_QSPI_0, SC7180_SLAVE_QUP_0, SC7180_SLAVE_QUP_1, SC7180_SLAVE_SDCC_2, SC7180_SLAVE_SECURITY, SC7180_SLAVE_SNOC_CFG, SC7180_SLAVE_TCSR, SC7180_SLAVE_TLMM_WEST, SC7180_SLAVE_TLMM_NORTH, SC7180_SLAVE_TLMM_SOUTH, SC7180_SLAVE_UFS_MEM_CFG, SC7180_SLAVE_USB3, SC7180_SLAVE_VENUS_CFG, SC7180_SLAVE_VENUS_THROTTLE_CFG, SC7180_SLAVE_VSENSE_CTRL_CFG, SC7180_SLAVE_SERVICE_CNOC); 39 - DEFINE_QNODE(xm_qdss_dap, SC7180_MASTER_QDSS_DAP, 1, 8, SC7180_SLAVE_A1NOC_CFG, SC7180_SLAVE_A2NOC_CFG, SC7180_SLAVE_AHB2PHY_SOUTH, SC7180_SLAVE_AHB2PHY_CENTER, SC7180_SLAVE_AOP, SC7180_SLAVE_AOSS, SC7180_SLAVE_BOOT_ROM, SC7180_SLAVE_CAMERA_CFG, SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, SC7180_SLAVE_CLK_CTL, SC7180_SLAVE_RBCPR_CX_CFG, SC7180_SLAVE_RBCPR_MX_CFG, SC7180_SLAVE_CRYPTO_0_CFG, SC7180_SLAVE_DCC_CFG, SC7180_SLAVE_CNOC_DDRSS, SC7180_SLAVE_DISPLAY_CFG, SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, SC7180_SLAVE_DISPLAY_THROTTLE_CFG, SC7180_SLAVE_EMMC_CFG, SC7180_SLAVE_GLM, SC7180_SLAVE_GFX3D_CFG, SC7180_SLAVE_IMEM_CFG, SC7180_SLAVE_IPA_CFG, SC7180_SLAVE_CNOC_MNOC_CFG, SC7180_SLAVE_CNOC_MSS, SC7180_SLAVE_NPU_CFG, SC7180_SLAVE_NPU_DMA_BWMON_CFG, 40 - SC7180_SLAVE_NPU_PROC_BWMON_CFG, SC7180_SLAVE_PDM, SC7180_SLAVE_PIMEM_CFG, SC7180_SLAVE_PRNG, SC7180_SLAVE_QDSS_CFG, SC7180_SLAVE_QM_CFG, SC7180_SLAVE_QM_MPU_CFG, SC7180_SLAVE_QSPI_0, SC7180_SLAVE_QUP_0, SC7180_SLAVE_QUP_1, SC7180_SLAVE_SDCC_2, SC7180_SLAVE_SECURITY, SC7180_SLAVE_SNOC_CFG, SC7180_SLAVE_TCSR, SC7180_SLAVE_TLMM_WEST, SC7180_SLAVE_TLMM_NORTH, SC7180_SLAVE_TLMM_SOUTH, SC7180_SLAVE_UFS_MEM_CFG, SC7180_SLAVE_USB3, SC7180_SLAVE_VENUS_CFG, SC7180_SLAVE_VENUS_THROTTLE_CFG, SC7180_SLAVE_VSENSE_CTRL_CFG, SC7180_SLAVE_SERVICE_CNOC); 41 - DEFINE_QNODE(qhm_cnoc_dc_noc, SC7180_MASTER_CNOC_DC_NOC, 1, 4, SC7180_SLAVE_GEM_NOC_CFG, SC7180_SLAVE_LLCC_CFG); 42 - DEFINE_QNODE(acm_apps0, SC7180_MASTER_APPSS_PROC, 1, 16, SC7180_SLAVE_GEM_NOC_SNOC, SC7180_SLAVE_LLCC); 43 - DEFINE_QNODE(acm_sys_tcu, SC7180_MASTER_SYS_TCU, 1, 8, SC7180_SLAVE_GEM_NOC_SNOC, SC7180_SLAVE_LLCC); 44 - DEFINE_QNODE(qhm_gemnoc_cfg, SC7180_MASTER_GEM_NOC_CFG, 1, 4, SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, SC7180_SLAVE_SERVICE_GEM_NOC); 45 - DEFINE_QNODE(qnm_cmpnoc, SC7180_MASTER_COMPUTE_NOC, 1, 32, SC7180_SLAVE_GEM_NOC_SNOC, SC7180_SLAVE_LLCC); 46 - DEFINE_QNODE(qnm_mnoc_hf, SC7180_MASTER_MNOC_HF_MEM_NOC, 1, 32, SC7180_SLAVE_LLCC); 47 - DEFINE_QNODE(qnm_mnoc_sf, SC7180_MASTER_MNOC_SF_MEM_NOC, 1, 32, SC7180_SLAVE_GEM_NOC_SNOC, SC7180_SLAVE_LLCC); 48 - DEFINE_QNODE(qnm_snoc_gc, SC7180_MASTER_SNOC_GC_MEM_NOC, 1, 8, SC7180_SLAVE_LLCC); 49 - DEFINE_QNODE(qnm_snoc_sf, SC7180_MASTER_SNOC_SF_MEM_NOC, 1, 16, SC7180_SLAVE_LLCC); 50 - DEFINE_QNODE(qxm_gpu, SC7180_MASTER_GFX3D, 2, 32, SC7180_SLAVE_GEM_NOC_SNOC, SC7180_SLAVE_LLCC); 51 - DEFINE_QNODE(llcc_mc, SC7180_MASTER_LLCC, 2, 4, SC7180_SLAVE_EBI1); 52 - DEFINE_QNODE(qhm_mnoc_cfg, SC7180_MASTER_CNOC_MNOC_CFG, 1, 4, SC7180_SLAVE_SERVICE_MNOC); 53 - DEFINE_QNODE(qxm_camnoc_hf0, SC7180_MASTER_CAMNOC_HF0, 2, 32, SC7180_SLAVE_MNOC_HF_MEM_NOC); 54 - DEFINE_QNODE(qxm_camnoc_hf1, SC7180_MASTER_CAMNOC_HF1, 2, 32, SC7180_SLAVE_MNOC_HF_MEM_NOC); 55 - DEFINE_QNODE(qxm_camnoc_sf, SC7180_MASTER_CAMNOC_SF, 1, 32, SC7180_SLAVE_MNOC_SF_MEM_NOC); 56 - DEFINE_QNODE(qxm_mdp0, SC7180_MASTER_MDP0, 1, 32, SC7180_SLAVE_MNOC_HF_MEM_NOC); 57 - DEFINE_QNODE(qxm_rot, SC7180_MASTER_ROTATOR, 1, 16, SC7180_SLAVE_MNOC_SF_MEM_NOC); 58 - DEFINE_QNODE(qxm_venus0, SC7180_MASTER_VIDEO_P0, 1, 32, SC7180_SLAVE_MNOC_SF_MEM_NOC); 59 - DEFINE_QNODE(qxm_venus_arm9, SC7180_MASTER_VIDEO_PROC, 1, 8, SC7180_SLAVE_MNOC_SF_MEM_NOC); 60 - DEFINE_QNODE(amm_npu_sys, SC7180_MASTER_NPU_SYS, 2, 32, SC7180_SLAVE_NPU_COMPUTE_NOC); 61 - DEFINE_QNODE(qhm_npu_cfg, SC7180_MASTER_NPU_NOC_CFG, 1, 4, SC7180_SLAVE_NPU_CAL_DP0, SC7180_SLAVE_NPU_CP, SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG, SC7180_SLAVE_NPU_DPM, SC7180_SLAVE_ISENSE_CFG, SC7180_SLAVE_NPU_LLM_CFG, SC7180_SLAVE_NPU_TCM, SC7180_SLAVE_SERVICE_NPU_NOC); 62 - DEFINE_QNODE(qup_core_master_1, SC7180_MASTER_QUP_CORE_0, 1, 4, SC7180_SLAVE_QUP_CORE_0); 63 - DEFINE_QNODE(qup_core_master_2, SC7180_MASTER_QUP_CORE_1, 1, 4, SC7180_SLAVE_QUP_CORE_1); 64 - DEFINE_QNODE(qhm_snoc_cfg, SC7180_MASTER_SNOC_CFG, 1, 4, SC7180_SLAVE_SERVICE_SNOC); 65 - DEFINE_QNODE(qnm_aggre1_noc, SC7180_MASTER_A1NOC_SNOC, 1, 16, SC7180_SLAVE_APPSS, SC7180_SLAVE_SNOC_CNOC, SC7180_SLAVE_SNOC_GEM_NOC_SF, SC7180_SLAVE_IMEM, SC7180_SLAVE_PIMEM, SC7180_SLAVE_QDSS_STM); 66 - DEFINE_QNODE(qnm_aggre2_noc, SC7180_MASTER_A2NOC_SNOC, 1, 16, SC7180_SLAVE_APPSS, SC7180_SLAVE_SNOC_CNOC, SC7180_SLAVE_SNOC_GEM_NOC_SF, SC7180_SLAVE_IMEM, SC7180_SLAVE_PIMEM, SC7180_SLAVE_QDSS_STM, SC7180_SLAVE_TCU); 67 - DEFINE_QNODE(qnm_gemnoc, SC7180_MASTER_GEM_NOC_SNOC, 1, 8, SC7180_SLAVE_APPSS, SC7180_SLAVE_SNOC_CNOC, SC7180_SLAVE_IMEM, SC7180_SLAVE_PIMEM, SC7180_SLAVE_QDSS_STM, SC7180_SLAVE_TCU); 68 - DEFINE_QNODE(qxm_pimem, SC7180_MASTER_PIMEM, 1, 8, SC7180_SLAVE_SNOC_GEM_NOC_GC, SC7180_SLAVE_IMEM); 69 - DEFINE_QNODE(qns_a1noc_snoc, SC7180_SLAVE_A1NOC_SNOC, 1, 16, SC7180_MASTER_A1NOC_SNOC); 70 - DEFINE_QNODE(srvc_aggre1_noc, SC7180_SLAVE_SERVICE_A1NOC, 1, 4); 71 - DEFINE_QNODE(qns_a2noc_snoc, SC7180_SLAVE_A2NOC_SNOC, 1, 16, SC7180_MASTER_A2NOC_SNOC); 72 - DEFINE_QNODE(srvc_aggre2_noc, SC7180_SLAVE_SERVICE_A2NOC, 1, 4); 73 - DEFINE_QNODE(qns_camnoc_uncomp, SC7180_SLAVE_CAMNOC_UNCOMP, 1, 32); 74 - DEFINE_QNODE(qns_cdsp_gemnoc, SC7180_SLAVE_CDSP_GEM_NOC, 1, 32, SC7180_MASTER_COMPUTE_NOC); 75 - DEFINE_QNODE(qhs_a1_noc_cfg, SC7180_SLAVE_A1NOC_CFG, 1, 4, SC7180_MASTER_A1NOC_CFG); 76 - DEFINE_QNODE(qhs_a2_noc_cfg, SC7180_SLAVE_A2NOC_CFG, 1, 4, SC7180_MASTER_A2NOC_CFG); 77 - DEFINE_QNODE(qhs_ahb2phy0, SC7180_SLAVE_AHB2PHY_SOUTH, 1, 4); 78 - DEFINE_QNODE(qhs_ahb2phy2, SC7180_SLAVE_AHB2PHY_CENTER, 1, 4); 79 - DEFINE_QNODE(qhs_aop, SC7180_SLAVE_AOP, 1, 4); 80 - DEFINE_QNODE(qhs_aoss, SC7180_SLAVE_AOSS, 1, 4); 81 - DEFINE_QNODE(qhs_boot_rom, SC7180_SLAVE_BOOT_ROM, 1, 4); 82 - DEFINE_QNODE(qhs_camera_cfg, SC7180_SLAVE_CAMERA_CFG, 1, 4); 83 - DEFINE_QNODE(qhs_camera_nrt_throttle_cfg, SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 1, 4); 84 - DEFINE_QNODE(qhs_camera_rt_throttle_cfg, SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 1, 4); 85 - DEFINE_QNODE(qhs_clk_ctl, SC7180_SLAVE_CLK_CTL, 1, 4); 86 - DEFINE_QNODE(qhs_cpr_cx, SC7180_SLAVE_RBCPR_CX_CFG, 1, 4); 87 - DEFINE_QNODE(qhs_cpr_mx, SC7180_SLAVE_RBCPR_MX_CFG, 1, 4); 88 - DEFINE_QNODE(qhs_crypto0_cfg, SC7180_SLAVE_CRYPTO_0_CFG, 1, 4); 89 - DEFINE_QNODE(qhs_dcc_cfg, SC7180_SLAVE_DCC_CFG, 1, 4); 90 - DEFINE_QNODE(qhs_ddrss_cfg, SC7180_SLAVE_CNOC_DDRSS, 1, 4, SC7180_MASTER_CNOC_DC_NOC); 91 - DEFINE_QNODE(qhs_display_cfg, SC7180_SLAVE_DISPLAY_CFG, 1, 4); 92 - DEFINE_QNODE(qhs_display_rt_throttle_cfg, SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 1, 4); 93 - DEFINE_QNODE(qhs_display_throttle_cfg, SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 1, 4); 94 - DEFINE_QNODE(qhs_emmc_cfg, SC7180_SLAVE_EMMC_CFG, 1, 4); 95 - DEFINE_QNODE(qhs_glm, SC7180_SLAVE_GLM, 1, 4); 96 - DEFINE_QNODE(qhs_gpuss_cfg, SC7180_SLAVE_GFX3D_CFG, 1, 8); 97 - DEFINE_QNODE(qhs_imem_cfg, SC7180_SLAVE_IMEM_CFG, 1, 4); 98 - DEFINE_QNODE(qhs_ipa, SC7180_SLAVE_IPA_CFG, 1, 4); 99 - DEFINE_QNODE(qhs_mnoc_cfg, SC7180_SLAVE_CNOC_MNOC_CFG, 1, 4, SC7180_MASTER_CNOC_MNOC_CFG); 100 - DEFINE_QNODE(qhs_mss_cfg, SC7180_SLAVE_CNOC_MSS, 1, 4); 101 - DEFINE_QNODE(qhs_npu_cfg, SC7180_SLAVE_NPU_CFG, 1, 4, SC7180_MASTER_NPU_NOC_CFG); 102 - DEFINE_QNODE(qhs_npu_dma_throttle_cfg, SC7180_SLAVE_NPU_DMA_BWMON_CFG, 1, 4); 103 - DEFINE_QNODE(qhs_npu_dsp_throttle_cfg, SC7180_SLAVE_NPU_PROC_BWMON_CFG, 1, 4); 104 - DEFINE_QNODE(qhs_pdm, SC7180_SLAVE_PDM, 1, 4); 105 - DEFINE_QNODE(qhs_pimem_cfg, SC7180_SLAVE_PIMEM_CFG, 1, 4); 106 - DEFINE_QNODE(qhs_prng, SC7180_SLAVE_PRNG, 1, 4); 107 - DEFINE_QNODE(qhs_qdss_cfg, SC7180_SLAVE_QDSS_CFG, 1, 4); 108 - DEFINE_QNODE(qhs_qm_cfg, SC7180_SLAVE_QM_CFG, 1, 4); 109 - DEFINE_QNODE(qhs_qm_mpu_cfg, SC7180_SLAVE_QM_MPU_CFG, 1, 4); 110 - DEFINE_QNODE(qhs_qspi, SC7180_SLAVE_QSPI_0, 1, 4); 111 - DEFINE_QNODE(qhs_qup0, SC7180_SLAVE_QUP_0, 1, 4); 112 - DEFINE_QNODE(qhs_qup1, SC7180_SLAVE_QUP_1, 1, 4); 113 - DEFINE_QNODE(qhs_sdc2, SC7180_SLAVE_SDCC_2, 1, 4); 114 - DEFINE_QNODE(qhs_security, SC7180_SLAVE_SECURITY, 1, 4); 115 - DEFINE_QNODE(qhs_snoc_cfg, SC7180_SLAVE_SNOC_CFG, 1, 4, SC7180_MASTER_SNOC_CFG); 116 - DEFINE_QNODE(qhs_tcsr, SC7180_SLAVE_TCSR, 1, 4); 117 - DEFINE_QNODE(qhs_tlmm_1, SC7180_SLAVE_TLMM_WEST, 1, 4); 118 - DEFINE_QNODE(qhs_tlmm_2, SC7180_SLAVE_TLMM_NORTH, 1, 4); 119 - DEFINE_QNODE(qhs_tlmm_3, SC7180_SLAVE_TLMM_SOUTH, 1, 4); 120 - DEFINE_QNODE(qhs_ufs_mem_cfg, SC7180_SLAVE_UFS_MEM_CFG, 1, 4); 121 - DEFINE_QNODE(qhs_usb3, SC7180_SLAVE_USB3, 1, 4); 122 - DEFINE_QNODE(qhs_venus_cfg, SC7180_SLAVE_VENUS_CFG, 1, 4); 123 - DEFINE_QNODE(qhs_venus_throttle_cfg, SC7180_SLAVE_VENUS_THROTTLE_CFG, 1, 4); 124 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SC7180_SLAVE_VSENSE_CTRL_CFG, 1, 4); 125 - DEFINE_QNODE(srvc_cnoc, SC7180_SLAVE_SERVICE_CNOC, 1, 4); 126 - DEFINE_QNODE(qhs_gemnoc, SC7180_SLAVE_GEM_NOC_CFG, 1, 4, SC7180_MASTER_GEM_NOC_CFG); 127 - DEFINE_QNODE(qhs_llcc, SC7180_SLAVE_LLCC_CFG, 1, 4); 128 - DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4); 129 - DEFINE_QNODE(qns_gem_noc_snoc, SC7180_SLAVE_GEM_NOC_SNOC, 1, 8, SC7180_MASTER_GEM_NOC_SNOC); 130 - DEFINE_QNODE(qns_llcc, SC7180_SLAVE_LLCC, 1, 16, SC7180_MASTER_LLCC); 131 - DEFINE_QNODE(srvc_gemnoc, SC7180_SLAVE_SERVICE_GEM_NOC, 1, 4); 132 - DEFINE_QNODE(ebi, SC7180_SLAVE_EBI1, 2, 4); 133 - DEFINE_QNODE(qns_mem_noc_hf, SC7180_SLAVE_MNOC_HF_MEM_NOC, 1, 32, SC7180_MASTER_MNOC_HF_MEM_NOC); 134 - DEFINE_QNODE(qns_mem_noc_sf, SC7180_SLAVE_MNOC_SF_MEM_NOC, 1, 32, SC7180_MASTER_MNOC_SF_MEM_NOC); 135 - DEFINE_QNODE(srvc_mnoc, SC7180_SLAVE_SERVICE_MNOC, 1, 4); 136 - DEFINE_QNODE(qhs_cal_dp0, SC7180_SLAVE_NPU_CAL_DP0, 1, 4); 137 - DEFINE_QNODE(qhs_cp, SC7180_SLAVE_NPU_CP, 1, 4); 138 - DEFINE_QNODE(qhs_dma_bwmon, SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG, 1, 4); 139 - DEFINE_QNODE(qhs_dpm, SC7180_SLAVE_NPU_DPM, 1, 4); 140 - DEFINE_QNODE(qhs_isense, SC7180_SLAVE_ISENSE_CFG, 1, 4); 141 - DEFINE_QNODE(qhs_llm, SC7180_SLAVE_NPU_LLM_CFG, 1, 4); 142 - DEFINE_QNODE(qhs_tcm, SC7180_SLAVE_NPU_TCM, 1, 4); 143 - DEFINE_QNODE(qns_npu_sys, SC7180_SLAVE_NPU_COMPUTE_NOC, 2, 32); 144 - DEFINE_QNODE(srvc_noc, SC7180_SLAVE_SERVICE_NPU_NOC, 1, 4); 145 - DEFINE_QNODE(qup_core_slave_1, SC7180_SLAVE_QUP_CORE_0, 1, 4); 146 - DEFINE_QNODE(qup_core_slave_2, SC7180_SLAVE_QUP_CORE_1, 1, 4); 147 - DEFINE_QNODE(qhs_apss, SC7180_SLAVE_APPSS, 1, 8); 148 - DEFINE_QNODE(qns_cnoc, SC7180_SLAVE_SNOC_CNOC, 1, 8, SC7180_MASTER_SNOC_CNOC); 149 - DEFINE_QNODE(qns_gemnoc_gc, SC7180_SLAVE_SNOC_GEM_NOC_GC, 1, 8, SC7180_MASTER_SNOC_GC_MEM_NOC); 150 - DEFINE_QNODE(qns_gemnoc_sf, SC7180_SLAVE_SNOC_GEM_NOC_SF, 1, 16, SC7180_MASTER_SNOC_SF_MEM_NOC); 151 - DEFINE_QNODE(qxs_imem, SC7180_SLAVE_IMEM, 1, 8); 152 - DEFINE_QNODE(qxs_pimem, SC7180_SLAVE_PIMEM, 1, 8); 153 - DEFINE_QNODE(srvc_snoc, SC7180_SLAVE_SERVICE_SNOC, 1, 4); 154 - DEFINE_QNODE(xs_qdss_stm, SC7180_SLAVE_QDSS_STM, 1, 4); 155 - DEFINE_QNODE(xs_sys_tcu_cfg, SC7180_SLAVE_TCU, 1, 8); 19 + static struct qcom_icc_node qhm_a1noc_cfg = { 20 + .name = "qhm_a1noc_cfg", 21 + .id = SC7180_MASTER_A1NOC_CFG, 22 + .channels = 1, 23 + .buswidth = 4, 24 + .num_links = 1, 25 + .links = { SC7180_SLAVE_SERVICE_A1NOC }, 26 + }; 156 27 157 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 158 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 159 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 160 - DEFINE_QBCM(bcm_mm0, "MM0", false, &qns_mem_noc_hf); 161 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 162 - DEFINE_QBCM(bcm_cn0, "CN0", true, &qnm_snoc, &xm_qdss_dap, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_ahb2phy0, &qhs_aop, &qhs_aoss, &qhs_boot_rom, &qhs_camera_cfg, &qhs_camera_nrt_throttle_cfg, &qhs_camera_rt_throttle_cfg, &qhs_clk_ctl, &qhs_cpr_cx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_display_rt_throttle_cfg, &qhs_display_throttle_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_mss_cfg, &qhs_npu_cfg, &qhs_npu_dma_throttle_cfg, &qhs_npu_dsp_throttle_cfg, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qm_cfg, &qhs_qm_mpu_cfg, &qhs_qup0, &qhs_qup1, &qhs_security, &qhs_snoc_cfg, &qhs_tcsr, &qhs_tlmm_1, &qhs_tlmm_2, &qhs_tlmm_3, &qhs_ufs_mem_cfg, &qhs_usb3, &qhs_venus_cfg, &qhs_venus_throttle_cfg, &qhs_vsense_ctrl_cfg, &srvc_cnoc); 163 - DEFINE_QBCM(bcm_mm1, "MM1", false, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qhm_mnoc_cfg, &qxm_mdp0, &qxm_rot, &qxm_venus0, &qxm_venus_arm9); 164 - DEFINE_QBCM(bcm_sh2, "SH2", false, &acm_sys_tcu); 165 - DEFINE_QBCM(bcm_mm2, "MM2", false, &qns_mem_noc_sf); 166 - DEFINE_QBCM(bcm_qup0, "QUP0", false, &qup_core_master_1, &qup_core_master_2); 167 - DEFINE_QBCM(bcm_sh3, "SH3", false, &qnm_cmpnoc); 168 - DEFINE_QBCM(bcm_sh4, "SH4", false, &acm_apps0); 169 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_gemnoc_sf); 170 - DEFINE_QBCM(bcm_co0, "CO0", false, &qns_cdsp_gemnoc); 171 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 172 - DEFINE_QBCM(bcm_cn1, "CN1", false, &qhm_qspi, &xm_sdc2, &xm_emmc, &qhs_ahb2phy2, &qhs_emmc_cfg, &qhs_pdm, &qhs_qspi, &qhs_sdc2); 173 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qxm_pimem, &qns_gemnoc_gc); 174 - DEFINE_QBCM(bcm_co2, "CO2", false, &qnm_npu); 175 - DEFINE_QBCM(bcm_sn3, "SN3", false, &qxs_pimem); 176 - DEFINE_QBCM(bcm_co3, "CO3", false, &qxm_npu_dsp); 177 - DEFINE_QBCM(bcm_sn4, "SN4", false, &xs_qdss_stm); 178 - DEFINE_QBCM(bcm_sn7, "SN7", false, &qnm_aggre1_noc); 179 - DEFINE_QBCM(bcm_sn9, "SN9", false, &qnm_aggre2_noc); 180 - DEFINE_QBCM(bcm_sn12, "SN12", false, &qnm_gemnoc); 28 + static struct qcom_icc_node qhm_qspi = { 29 + .name = "qhm_qspi", 30 + .id = SC7180_MASTER_QSPI, 31 + .channels = 1, 32 + .buswidth = 4, 33 + .num_links = 1, 34 + .links = { SC7180_SLAVE_A1NOC_SNOC }, 35 + }; 36 + 37 + static struct qcom_icc_node qhm_qup_0 = { 38 + .name = "qhm_qup_0", 39 + .id = SC7180_MASTER_QUP_0, 40 + .channels = 1, 41 + .buswidth = 4, 42 + .num_links = 1, 43 + .links = { SC7180_SLAVE_A1NOC_SNOC }, 44 + }; 45 + 46 + static struct qcom_icc_node xm_sdc2 = { 47 + .name = "xm_sdc2", 48 + .id = SC7180_MASTER_SDCC_2, 49 + .channels = 1, 50 + .buswidth = 8, 51 + .num_links = 1, 52 + .links = { SC7180_SLAVE_A1NOC_SNOC }, 53 + }; 54 + 55 + static struct qcom_icc_node xm_emmc = { 56 + .name = "xm_emmc", 57 + .id = SC7180_MASTER_EMMC, 58 + .channels = 1, 59 + .buswidth = 8, 60 + .num_links = 1, 61 + .links = { SC7180_SLAVE_A1NOC_SNOC }, 62 + }; 63 + 64 + static struct qcom_icc_node xm_ufs_mem = { 65 + .name = "xm_ufs_mem", 66 + .id = SC7180_MASTER_UFS_MEM, 67 + .channels = 1, 68 + .buswidth = 8, 69 + .num_links = 1, 70 + .links = { SC7180_SLAVE_A1NOC_SNOC }, 71 + }; 72 + 73 + static struct qcom_icc_node qhm_a2noc_cfg = { 74 + .name = "qhm_a2noc_cfg", 75 + .id = SC7180_MASTER_A2NOC_CFG, 76 + .channels = 1, 77 + .buswidth = 4, 78 + .num_links = 1, 79 + .links = { SC7180_SLAVE_SERVICE_A2NOC }, 80 + }; 81 + 82 + static struct qcom_icc_node qhm_qdss_bam = { 83 + .name = "qhm_qdss_bam", 84 + .id = SC7180_MASTER_QDSS_BAM, 85 + .channels = 1, 86 + .buswidth = 4, 87 + .num_links = 1, 88 + .links = { SC7180_SLAVE_A2NOC_SNOC }, 89 + }; 90 + 91 + static struct qcom_icc_node qhm_qup_1 = { 92 + .name = "qhm_qup_1", 93 + .id = SC7180_MASTER_QUP_1, 94 + .channels = 1, 95 + .buswidth = 4, 96 + .num_links = 1, 97 + .links = { SC7180_SLAVE_A2NOC_SNOC }, 98 + }; 99 + 100 + static struct qcom_icc_node qxm_crypto = { 101 + .name = "qxm_crypto", 102 + .id = SC7180_MASTER_CRYPTO, 103 + .channels = 1, 104 + .buswidth = 8, 105 + .num_links = 1, 106 + .links = { SC7180_SLAVE_A2NOC_SNOC }, 107 + }; 108 + 109 + static struct qcom_icc_node qxm_ipa = { 110 + .name = "qxm_ipa", 111 + .id = SC7180_MASTER_IPA, 112 + .channels = 1, 113 + .buswidth = 8, 114 + .num_links = 1, 115 + .links = { SC7180_SLAVE_A2NOC_SNOC }, 116 + }; 117 + 118 + static struct qcom_icc_node xm_qdss_etr = { 119 + .name = "xm_qdss_etr", 120 + .id = SC7180_MASTER_QDSS_ETR, 121 + .channels = 1, 122 + .buswidth = 8, 123 + .num_links = 1, 124 + .links = { SC7180_SLAVE_A2NOC_SNOC }, 125 + }; 126 + 127 + static struct qcom_icc_node qhm_usb3 = { 128 + .name = "qhm_usb3", 129 + .id = SC7180_MASTER_USB3, 130 + .channels = 1, 131 + .buswidth = 8, 132 + .num_links = 1, 133 + .links = { SC7180_SLAVE_A2NOC_SNOC }, 134 + }; 135 + 136 + static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 137 + .name = "qxm_camnoc_hf0_uncomp", 138 + .id = SC7180_MASTER_CAMNOC_HF0_UNCOMP, 139 + .channels = 1, 140 + .buswidth = 32, 141 + .num_links = 1, 142 + .links = { SC7180_SLAVE_CAMNOC_UNCOMP }, 143 + }; 144 + 145 + static struct qcom_icc_node qxm_camnoc_hf1_uncomp = { 146 + .name = "qxm_camnoc_hf1_uncomp", 147 + .id = SC7180_MASTER_CAMNOC_HF1_UNCOMP, 148 + .channels = 1, 149 + .buswidth = 32, 150 + .num_links = 1, 151 + .links = { SC7180_SLAVE_CAMNOC_UNCOMP }, 152 + }; 153 + 154 + static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 155 + .name = "qxm_camnoc_sf_uncomp", 156 + .id = SC7180_MASTER_CAMNOC_SF_UNCOMP, 157 + .channels = 1, 158 + .buswidth = 32, 159 + .num_links = 1, 160 + .links = { SC7180_SLAVE_CAMNOC_UNCOMP }, 161 + }; 162 + 163 + static struct qcom_icc_node qnm_npu = { 164 + .name = "qnm_npu", 165 + .id = SC7180_MASTER_NPU, 166 + .channels = 2, 167 + .buswidth = 32, 168 + .num_links = 1, 169 + .links = { SC7180_SLAVE_CDSP_GEM_NOC }, 170 + }; 171 + 172 + static struct qcom_icc_node qxm_npu_dsp = { 173 + .name = "qxm_npu_dsp", 174 + .id = SC7180_MASTER_NPU_PROC, 175 + .channels = 1, 176 + .buswidth = 8, 177 + .num_links = 1, 178 + .links = { SC7180_SLAVE_CDSP_GEM_NOC }, 179 + }; 180 + 181 + static struct qcom_icc_node qnm_snoc = { 182 + .name = "qnm_snoc", 183 + .id = SC7180_MASTER_SNOC_CNOC, 184 + .channels = 1, 185 + .buswidth = 8, 186 + .num_links = 51, 187 + .links = { SC7180_SLAVE_A1NOC_CFG, 188 + SC7180_SLAVE_A2NOC_CFG, 189 + SC7180_SLAVE_AHB2PHY_SOUTH, 190 + SC7180_SLAVE_AHB2PHY_CENTER, 191 + SC7180_SLAVE_AOP, 192 + SC7180_SLAVE_AOSS, 193 + SC7180_SLAVE_BOOT_ROM, 194 + SC7180_SLAVE_CAMERA_CFG, 195 + SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 196 + SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 197 + SC7180_SLAVE_CLK_CTL, 198 + SC7180_SLAVE_RBCPR_CX_CFG, 199 + SC7180_SLAVE_RBCPR_MX_CFG, 200 + SC7180_SLAVE_CRYPTO_0_CFG, 201 + SC7180_SLAVE_DCC_CFG, 202 + SC7180_SLAVE_CNOC_DDRSS, 203 + SC7180_SLAVE_DISPLAY_CFG, 204 + SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 205 + SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 206 + SC7180_SLAVE_EMMC_CFG, 207 + SC7180_SLAVE_GLM, 208 + SC7180_SLAVE_GFX3D_CFG, 209 + SC7180_SLAVE_IMEM_CFG, 210 + SC7180_SLAVE_IPA_CFG, 211 + SC7180_SLAVE_CNOC_MNOC_CFG, 212 + SC7180_SLAVE_CNOC_MSS, 213 + SC7180_SLAVE_NPU_CFG, 214 + SC7180_SLAVE_NPU_DMA_BWMON_CFG, 215 + SC7180_SLAVE_NPU_PROC_BWMON_CFG, 216 + SC7180_SLAVE_PDM, 217 + SC7180_SLAVE_PIMEM_CFG, 218 + SC7180_SLAVE_PRNG, 219 + SC7180_SLAVE_QDSS_CFG, 220 + SC7180_SLAVE_QM_CFG, 221 + SC7180_SLAVE_QM_MPU_CFG, 222 + SC7180_SLAVE_QSPI_0, 223 + SC7180_SLAVE_QUP_0, 224 + SC7180_SLAVE_QUP_1, 225 + SC7180_SLAVE_SDCC_2, 226 + SC7180_SLAVE_SECURITY, 227 + SC7180_SLAVE_SNOC_CFG, 228 + SC7180_SLAVE_TCSR, 229 + SC7180_SLAVE_TLMM_WEST, 230 + SC7180_SLAVE_TLMM_NORTH, 231 + SC7180_SLAVE_TLMM_SOUTH, 232 + SC7180_SLAVE_UFS_MEM_CFG, 233 + SC7180_SLAVE_USB3, 234 + SC7180_SLAVE_VENUS_CFG, 235 + SC7180_SLAVE_VENUS_THROTTLE_CFG, 236 + SC7180_SLAVE_VSENSE_CTRL_CFG, 237 + SC7180_SLAVE_SERVICE_CNOC 238 + }, 239 + }; 240 + 241 + static struct qcom_icc_node xm_qdss_dap = { 242 + .name = "xm_qdss_dap", 243 + .id = SC7180_MASTER_QDSS_DAP, 244 + .channels = 1, 245 + .buswidth = 8, 246 + .num_links = 51, 247 + .links = { SC7180_SLAVE_A1NOC_CFG, 248 + SC7180_SLAVE_A2NOC_CFG, 249 + SC7180_SLAVE_AHB2PHY_SOUTH, 250 + SC7180_SLAVE_AHB2PHY_CENTER, 251 + SC7180_SLAVE_AOP, 252 + SC7180_SLAVE_AOSS, 253 + SC7180_SLAVE_BOOT_ROM, 254 + SC7180_SLAVE_CAMERA_CFG, 255 + SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 256 + SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 257 + SC7180_SLAVE_CLK_CTL, 258 + SC7180_SLAVE_RBCPR_CX_CFG, 259 + SC7180_SLAVE_RBCPR_MX_CFG, 260 + SC7180_SLAVE_CRYPTO_0_CFG, 261 + SC7180_SLAVE_DCC_CFG, 262 + SC7180_SLAVE_CNOC_DDRSS, 263 + SC7180_SLAVE_DISPLAY_CFG, 264 + SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 265 + SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 266 + SC7180_SLAVE_EMMC_CFG, 267 + SC7180_SLAVE_GLM, 268 + SC7180_SLAVE_GFX3D_CFG, 269 + SC7180_SLAVE_IMEM_CFG, 270 + SC7180_SLAVE_IPA_CFG, 271 + SC7180_SLAVE_CNOC_MNOC_CFG, 272 + SC7180_SLAVE_CNOC_MSS, 273 + SC7180_SLAVE_NPU_CFG, 274 + SC7180_SLAVE_NPU_DMA_BWMON_CFG, 275 + SC7180_SLAVE_NPU_PROC_BWMON_CFG, 276 + SC7180_SLAVE_PDM, 277 + SC7180_SLAVE_PIMEM_CFG, 278 + SC7180_SLAVE_PRNG, 279 + SC7180_SLAVE_QDSS_CFG, 280 + SC7180_SLAVE_QM_CFG, 281 + SC7180_SLAVE_QM_MPU_CFG, 282 + SC7180_SLAVE_QSPI_0, 283 + SC7180_SLAVE_QUP_0, 284 + SC7180_SLAVE_QUP_1, 285 + SC7180_SLAVE_SDCC_2, 286 + SC7180_SLAVE_SECURITY, 287 + SC7180_SLAVE_SNOC_CFG, 288 + SC7180_SLAVE_TCSR, 289 + SC7180_SLAVE_TLMM_WEST, 290 + SC7180_SLAVE_TLMM_NORTH, 291 + SC7180_SLAVE_TLMM_SOUTH, 292 + SC7180_SLAVE_UFS_MEM_CFG, 293 + SC7180_SLAVE_USB3, 294 + SC7180_SLAVE_VENUS_CFG, 295 + SC7180_SLAVE_VENUS_THROTTLE_CFG, 296 + SC7180_SLAVE_VSENSE_CTRL_CFG, 297 + SC7180_SLAVE_SERVICE_CNOC 298 + }, 299 + }; 300 + 301 + static struct qcom_icc_node qhm_cnoc_dc_noc = { 302 + .name = "qhm_cnoc_dc_noc", 303 + .id = SC7180_MASTER_CNOC_DC_NOC, 304 + .channels = 1, 305 + .buswidth = 4, 306 + .num_links = 2, 307 + .links = { SC7180_SLAVE_GEM_NOC_CFG, 308 + SC7180_SLAVE_LLCC_CFG 309 + }, 310 + }; 311 + 312 + static struct qcom_icc_node acm_apps0 = { 313 + .name = "acm_apps0", 314 + .id = SC7180_MASTER_APPSS_PROC, 315 + .channels = 1, 316 + .buswidth = 16, 317 + .num_links = 2, 318 + .links = { SC7180_SLAVE_GEM_NOC_SNOC, 319 + SC7180_SLAVE_LLCC 320 + }, 321 + }; 322 + 323 + static struct qcom_icc_node acm_sys_tcu = { 324 + .name = "acm_sys_tcu", 325 + .id = SC7180_MASTER_SYS_TCU, 326 + .channels = 1, 327 + .buswidth = 8, 328 + .num_links = 2, 329 + .links = { SC7180_SLAVE_GEM_NOC_SNOC, 330 + SC7180_SLAVE_LLCC 331 + }, 332 + }; 333 + 334 + static struct qcom_icc_node qhm_gemnoc_cfg = { 335 + .name = "qhm_gemnoc_cfg", 336 + .id = SC7180_MASTER_GEM_NOC_CFG, 337 + .channels = 1, 338 + .buswidth = 4, 339 + .num_links = 2, 340 + .links = { SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, 341 + SC7180_SLAVE_SERVICE_GEM_NOC 342 + }, 343 + }; 344 + 345 + static struct qcom_icc_node qnm_cmpnoc = { 346 + .name = "qnm_cmpnoc", 347 + .id = SC7180_MASTER_COMPUTE_NOC, 348 + .channels = 1, 349 + .buswidth = 32, 350 + .num_links = 2, 351 + .links = { SC7180_SLAVE_GEM_NOC_SNOC, 352 + SC7180_SLAVE_LLCC 353 + }, 354 + }; 355 + 356 + static struct qcom_icc_node qnm_mnoc_hf = { 357 + .name = "qnm_mnoc_hf", 358 + .id = SC7180_MASTER_MNOC_HF_MEM_NOC, 359 + .channels = 1, 360 + .buswidth = 32, 361 + .num_links = 1, 362 + .links = { SC7180_SLAVE_LLCC }, 363 + }; 364 + 365 + static struct qcom_icc_node qnm_mnoc_sf = { 366 + .name = "qnm_mnoc_sf", 367 + .id = SC7180_MASTER_MNOC_SF_MEM_NOC, 368 + .channels = 1, 369 + .buswidth = 32, 370 + .num_links = 2, 371 + .links = { SC7180_SLAVE_GEM_NOC_SNOC, 372 + SC7180_SLAVE_LLCC 373 + }, 374 + }; 375 + 376 + static struct qcom_icc_node qnm_snoc_gc = { 377 + .name = "qnm_snoc_gc", 378 + .id = SC7180_MASTER_SNOC_GC_MEM_NOC, 379 + .channels = 1, 380 + .buswidth = 8, 381 + .num_links = 1, 382 + .links = { SC7180_SLAVE_LLCC }, 383 + }; 384 + 385 + static struct qcom_icc_node qnm_snoc_sf = { 386 + .name = "qnm_snoc_sf", 387 + .id = SC7180_MASTER_SNOC_SF_MEM_NOC, 388 + .channels = 1, 389 + .buswidth = 16, 390 + .num_links = 1, 391 + .links = { SC7180_SLAVE_LLCC }, 392 + }; 393 + 394 + static struct qcom_icc_node qxm_gpu = { 395 + .name = "qxm_gpu", 396 + .id = SC7180_MASTER_GFX3D, 397 + .channels = 2, 398 + .buswidth = 32, 399 + .num_links = 2, 400 + .links = { SC7180_SLAVE_GEM_NOC_SNOC, 401 + SC7180_SLAVE_LLCC 402 + }, 403 + }; 404 + 405 + static struct qcom_icc_node llcc_mc = { 406 + .name = "llcc_mc", 407 + .id = SC7180_MASTER_LLCC, 408 + .channels = 2, 409 + .buswidth = 4, 410 + .num_links = 1, 411 + .links = { SC7180_SLAVE_EBI1 }, 412 + }; 413 + 414 + static struct qcom_icc_node qhm_mnoc_cfg = { 415 + .name = "qhm_mnoc_cfg", 416 + .id = SC7180_MASTER_CNOC_MNOC_CFG, 417 + .channels = 1, 418 + .buswidth = 4, 419 + .num_links = 1, 420 + .links = { SC7180_SLAVE_SERVICE_MNOC }, 421 + }; 422 + 423 + static struct qcom_icc_node qxm_camnoc_hf0 = { 424 + .name = "qxm_camnoc_hf0", 425 + .id = SC7180_MASTER_CAMNOC_HF0, 426 + .channels = 2, 427 + .buswidth = 32, 428 + .num_links = 1, 429 + .links = { SC7180_SLAVE_MNOC_HF_MEM_NOC }, 430 + }; 431 + 432 + static struct qcom_icc_node qxm_camnoc_hf1 = { 433 + .name = "qxm_camnoc_hf1", 434 + .id = SC7180_MASTER_CAMNOC_HF1, 435 + .channels = 2, 436 + .buswidth = 32, 437 + .num_links = 1, 438 + .links = { SC7180_SLAVE_MNOC_HF_MEM_NOC }, 439 + }; 440 + 441 + static struct qcom_icc_node qxm_camnoc_sf = { 442 + .name = "qxm_camnoc_sf", 443 + .id = SC7180_MASTER_CAMNOC_SF, 444 + .channels = 1, 445 + .buswidth = 32, 446 + .num_links = 1, 447 + .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 448 + }; 449 + 450 + static struct qcom_icc_node qxm_mdp0 = { 451 + .name = "qxm_mdp0", 452 + .id = SC7180_MASTER_MDP0, 453 + .channels = 1, 454 + .buswidth = 32, 455 + .num_links = 1, 456 + .links = { SC7180_SLAVE_MNOC_HF_MEM_NOC }, 457 + }; 458 + 459 + static struct qcom_icc_node qxm_rot = { 460 + .name = "qxm_rot", 461 + .id = SC7180_MASTER_ROTATOR, 462 + .channels = 1, 463 + .buswidth = 16, 464 + .num_links = 1, 465 + .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 466 + }; 467 + 468 + static struct qcom_icc_node qxm_venus0 = { 469 + .name = "qxm_venus0", 470 + .id = SC7180_MASTER_VIDEO_P0, 471 + .channels = 1, 472 + .buswidth = 32, 473 + .num_links = 1, 474 + .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 475 + }; 476 + 477 + static struct qcom_icc_node qxm_venus_arm9 = { 478 + .name = "qxm_venus_arm9", 479 + .id = SC7180_MASTER_VIDEO_PROC, 480 + .channels = 1, 481 + .buswidth = 8, 482 + .num_links = 1, 483 + .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 484 + }; 485 + 486 + static struct qcom_icc_node amm_npu_sys = { 487 + .name = "amm_npu_sys", 488 + .id = SC7180_MASTER_NPU_SYS, 489 + .channels = 2, 490 + .buswidth = 32, 491 + .num_links = 1, 492 + .links = { SC7180_SLAVE_NPU_COMPUTE_NOC }, 493 + }; 494 + 495 + static struct qcom_icc_node qhm_npu_cfg = { 496 + .name = "qhm_npu_cfg", 497 + .id = SC7180_MASTER_NPU_NOC_CFG, 498 + .channels = 1, 499 + .buswidth = 4, 500 + .num_links = 8, 501 + .links = { SC7180_SLAVE_NPU_CAL_DP0, 502 + SC7180_SLAVE_NPU_CP, 503 + SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG, 504 + SC7180_SLAVE_NPU_DPM, 505 + SC7180_SLAVE_ISENSE_CFG, 506 + SC7180_SLAVE_NPU_LLM_CFG, 507 + SC7180_SLAVE_NPU_TCM, 508 + SC7180_SLAVE_SERVICE_NPU_NOC 509 + }, 510 + }; 511 + 512 + static struct qcom_icc_node qup_core_master_1 = { 513 + .name = "qup_core_master_1", 514 + .id = SC7180_MASTER_QUP_CORE_0, 515 + .channels = 1, 516 + .buswidth = 4, 517 + .num_links = 1, 518 + .links = { SC7180_SLAVE_QUP_CORE_0 }, 519 + }; 520 + 521 + static struct qcom_icc_node qup_core_master_2 = { 522 + .name = "qup_core_master_2", 523 + .id = SC7180_MASTER_QUP_CORE_1, 524 + .channels = 1, 525 + .buswidth = 4, 526 + .num_links = 1, 527 + .links = { SC7180_SLAVE_QUP_CORE_1 }, 528 + }; 529 + 530 + static struct qcom_icc_node qhm_snoc_cfg = { 531 + .name = "qhm_snoc_cfg", 532 + .id = SC7180_MASTER_SNOC_CFG, 533 + .channels = 1, 534 + .buswidth = 4, 535 + .num_links = 1, 536 + .links = { SC7180_SLAVE_SERVICE_SNOC }, 537 + }; 538 + 539 + static struct qcom_icc_node qnm_aggre1_noc = { 540 + .name = "qnm_aggre1_noc", 541 + .id = SC7180_MASTER_A1NOC_SNOC, 542 + .channels = 1, 543 + .buswidth = 16, 544 + .num_links = 6, 545 + .links = { SC7180_SLAVE_APPSS, 546 + SC7180_SLAVE_SNOC_CNOC, 547 + SC7180_SLAVE_SNOC_GEM_NOC_SF, 548 + SC7180_SLAVE_IMEM, 549 + SC7180_SLAVE_PIMEM, 550 + SC7180_SLAVE_QDSS_STM 551 + }, 552 + }; 553 + 554 + static struct qcom_icc_node qnm_aggre2_noc = { 555 + .name = "qnm_aggre2_noc", 556 + .id = SC7180_MASTER_A2NOC_SNOC, 557 + .channels = 1, 558 + .buswidth = 16, 559 + .num_links = 7, 560 + .links = { SC7180_SLAVE_APPSS, 561 + SC7180_SLAVE_SNOC_CNOC, 562 + SC7180_SLAVE_SNOC_GEM_NOC_SF, 563 + SC7180_SLAVE_IMEM, 564 + SC7180_SLAVE_PIMEM, 565 + SC7180_SLAVE_QDSS_STM, 566 + SC7180_SLAVE_TCU 567 + }, 568 + }; 569 + 570 + static struct qcom_icc_node qnm_gemnoc = { 571 + .name = "qnm_gemnoc", 572 + .id = SC7180_MASTER_GEM_NOC_SNOC, 573 + .channels = 1, 574 + .buswidth = 8, 575 + .num_links = 6, 576 + .links = { SC7180_SLAVE_APPSS, 577 + SC7180_SLAVE_SNOC_CNOC, 578 + SC7180_SLAVE_IMEM, 579 + SC7180_SLAVE_PIMEM, 580 + SC7180_SLAVE_QDSS_STM, 581 + SC7180_SLAVE_TCU 582 + }, 583 + }; 584 + 585 + static struct qcom_icc_node qxm_pimem = { 586 + .name = "qxm_pimem", 587 + .id = SC7180_MASTER_PIMEM, 588 + .channels = 1, 589 + .buswidth = 8, 590 + .num_links = 2, 591 + .links = { SC7180_SLAVE_SNOC_GEM_NOC_GC, 592 + SC7180_SLAVE_IMEM 593 + }, 594 + }; 595 + 596 + static struct qcom_icc_node qns_a1noc_snoc = { 597 + .name = "qns_a1noc_snoc", 598 + .id = SC7180_SLAVE_A1NOC_SNOC, 599 + .channels = 1, 600 + .buswidth = 16, 601 + .num_links = 1, 602 + .links = { SC7180_MASTER_A1NOC_SNOC }, 603 + }; 604 + 605 + static struct qcom_icc_node srvc_aggre1_noc = { 606 + .name = "srvc_aggre1_noc", 607 + .id = SC7180_SLAVE_SERVICE_A1NOC, 608 + .channels = 1, 609 + .buswidth = 4, 610 + }; 611 + 612 + static struct qcom_icc_node qns_a2noc_snoc = { 613 + .name = "qns_a2noc_snoc", 614 + .id = SC7180_SLAVE_A2NOC_SNOC, 615 + .channels = 1, 616 + .buswidth = 16, 617 + .num_links = 1, 618 + .links = { SC7180_MASTER_A2NOC_SNOC }, 619 + }; 620 + 621 + static struct qcom_icc_node srvc_aggre2_noc = { 622 + .name = "srvc_aggre2_noc", 623 + .id = SC7180_SLAVE_SERVICE_A2NOC, 624 + .channels = 1, 625 + .buswidth = 4, 626 + }; 627 + 628 + static struct qcom_icc_node qns_camnoc_uncomp = { 629 + .name = "qns_camnoc_uncomp", 630 + .id = SC7180_SLAVE_CAMNOC_UNCOMP, 631 + .channels = 1, 632 + .buswidth = 32, 633 + }; 634 + 635 + static struct qcom_icc_node qns_cdsp_gemnoc = { 636 + .name = "qns_cdsp_gemnoc", 637 + .id = SC7180_SLAVE_CDSP_GEM_NOC, 638 + .channels = 1, 639 + .buswidth = 32, 640 + .num_links = 1, 641 + .links = { SC7180_MASTER_COMPUTE_NOC }, 642 + }; 643 + 644 + static struct qcom_icc_node qhs_a1_noc_cfg = { 645 + .name = "qhs_a1_noc_cfg", 646 + .id = SC7180_SLAVE_A1NOC_CFG, 647 + .channels = 1, 648 + .buswidth = 4, 649 + .num_links = 1, 650 + .links = { SC7180_MASTER_A1NOC_CFG }, 651 + }; 652 + 653 + static struct qcom_icc_node qhs_a2_noc_cfg = { 654 + .name = "qhs_a2_noc_cfg", 655 + .id = SC7180_SLAVE_A2NOC_CFG, 656 + .channels = 1, 657 + .buswidth = 4, 658 + .num_links = 1, 659 + .links = { SC7180_MASTER_A2NOC_CFG }, 660 + }; 661 + 662 + static struct qcom_icc_node qhs_ahb2phy0 = { 663 + .name = "qhs_ahb2phy0", 664 + .id = SC7180_SLAVE_AHB2PHY_SOUTH, 665 + .channels = 1, 666 + .buswidth = 4, 667 + }; 668 + 669 + static struct qcom_icc_node qhs_ahb2phy2 = { 670 + .name = "qhs_ahb2phy2", 671 + .id = SC7180_SLAVE_AHB2PHY_CENTER, 672 + .channels = 1, 673 + .buswidth = 4, 674 + }; 675 + 676 + static struct qcom_icc_node qhs_aop = { 677 + .name = "qhs_aop", 678 + .id = SC7180_SLAVE_AOP, 679 + .channels = 1, 680 + .buswidth = 4, 681 + }; 682 + 683 + static struct qcom_icc_node qhs_aoss = { 684 + .name = "qhs_aoss", 685 + .id = SC7180_SLAVE_AOSS, 686 + .channels = 1, 687 + .buswidth = 4, 688 + }; 689 + 690 + static struct qcom_icc_node qhs_boot_rom = { 691 + .name = "qhs_boot_rom", 692 + .id = SC7180_SLAVE_BOOT_ROM, 693 + .channels = 1, 694 + .buswidth = 4, 695 + }; 696 + 697 + static struct qcom_icc_node qhs_camera_cfg = { 698 + .name = "qhs_camera_cfg", 699 + .id = SC7180_SLAVE_CAMERA_CFG, 700 + .channels = 1, 701 + .buswidth = 4, 702 + }; 703 + 704 + static struct qcom_icc_node qhs_camera_nrt_throttle_cfg = { 705 + .name = "qhs_camera_nrt_throttle_cfg", 706 + .id = SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 707 + .channels = 1, 708 + .buswidth = 4, 709 + }; 710 + 711 + static struct qcom_icc_node qhs_camera_rt_throttle_cfg = { 712 + .name = "qhs_camera_rt_throttle_cfg", 713 + .id = SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 714 + .channels = 1, 715 + .buswidth = 4, 716 + }; 717 + 718 + static struct qcom_icc_node qhs_clk_ctl = { 719 + .name = "qhs_clk_ctl", 720 + .id = SC7180_SLAVE_CLK_CTL, 721 + .channels = 1, 722 + .buswidth = 4, 723 + }; 724 + 725 + static struct qcom_icc_node qhs_cpr_cx = { 726 + .name = "qhs_cpr_cx", 727 + .id = SC7180_SLAVE_RBCPR_CX_CFG, 728 + .channels = 1, 729 + .buswidth = 4, 730 + }; 731 + 732 + static struct qcom_icc_node qhs_cpr_mx = { 733 + .name = "qhs_cpr_mx", 734 + .id = SC7180_SLAVE_RBCPR_MX_CFG, 735 + .channels = 1, 736 + .buswidth = 4, 737 + }; 738 + 739 + static struct qcom_icc_node qhs_crypto0_cfg = { 740 + .name = "qhs_crypto0_cfg", 741 + .id = SC7180_SLAVE_CRYPTO_0_CFG, 742 + .channels = 1, 743 + .buswidth = 4, 744 + }; 745 + 746 + static struct qcom_icc_node qhs_dcc_cfg = { 747 + .name = "qhs_dcc_cfg", 748 + .id = SC7180_SLAVE_DCC_CFG, 749 + .channels = 1, 750 + .buswidth = 4, 751 + }; 752 + 753 + static struct qcom_icc_node qhs_ddrss_cfg = { 754 + .name = "qhs_ddrss_cfg", 755 + .id = SC7180_SLAVE_CNOC_DDRSS, 756 + .channels = 1, 757 + .buswidth = 4, 758 + .num_links = 1, 759 + .links = { SC7180_MASTER_CNOC_DC_NOC }, 760 + }; 761 + 762 + static struct qcom_icc_node qhs_display_cfg = { 763 + .name = "qhs_display_cfg", 764 + .id = SC7180_SLAVE_DISPLAY_CFG, 765 + .channels = 1, 766 + .buswidth = 4, 767 + }; 768 + 769 + static struct qcom_icc_node qhs_display_rt_throttle_cfg = { 770 + .name = "qhs_display_rt_throttle_cfg", 771 + .id = SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 772 + .channels = 1, 773 + .buswidth = 4, 774 + }; 775 + 776 + static struct qcom_icc_node qhs_display_throttle_cfg = { 777 + .name = "qhs_display_throttle_cfg", 778 + .id = SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 779 + .channels = 1, 780 + .buswidth = 4, 781 + }; 782 + 783 + static struct qcom_icc_node qhs_emmc_cfg = { 784 + .name = "qhs_emmc_cfg", 785 + .id = SC7180_SLAVE_EMMC_CFG, 786 + .channels = 1, 787 + .buswidth = 4, 788 + }; 789 + 790 + static struct qcom_icc_node qhs_glm = { 791 + .name = "qhs_glm", 792 + .id = SC7180_SLAVE_GLM, 793 + .channels = 1, 794 + .buswidth = 4, 795 + }; 796 + 797 + static struct qcom_icc_node qhs_gpuss_cfg = { 798 + .name = "qhs_gpuss_cfg", 799 + .id = SC7180_SLAVE_GFX3D_CFG, 800 + .channels = 1, 801 + .buswidth = 8, 802 + }; 803 + 804 + static struct qcom_icc_node qhs_imem_cfg = { 805 + .name = "qhs_imem_cfg", 806 + .id = SC7180_SLAVE_IMEM_CFG, 807 + .channels = 1, 808 + .buswidth = 4, 809 + }; 810 + 811 + static struct qcom_icc_node qhs_ipa = { 812 + .name = "qhs_ipa", 813 + .id = SC7180_SLAVE_IPA_CFG, 814 + .channels = 1, 815 + .buswidth = 4, 816 + }; 817 + 818 + static struct qcom_icc_node qhs_mnoc_cfg = { 819 + .name = "qhs_mnoc_cfg", 820 + .id = SC7180_SLAVE_CNOC_MNOC_CFG, 821 + .channels = 1, 822 + .buswidth = 4, 823 + .num_links = 1, 824 + .links = { SC7180_MASTER_CNOC_MNOC_CFG }, 825 + }; 826 + 827 + static struct qcom_icc_node qhs_mss_cfg = { 828 + .name = "qhs_mss_cfg", 829 + .id = SC7180_SLAVE_CNOC_MSS, 830 + .channels = 1, 831 + .buswidth = 4, 832 + }; 833 + 834 + static struct qcom_icc_node qhs_npu_cfg = { 835 + .name = "qhs_npu_cfg", 836 + .id = SC7180_SLAVE_NPU_CFG, 837 + .channels = 1, 838 + .buswidth = 4, 839 + .num_links = 1, 840 + .links = { SC7180_MASTER_NPU_NOC_CFG }, 841 + }; 842 + 843 + static struct qcom_icc_node qhs_npu_dma_throttle_cfg = { 844 + .name = "qhs_npu_dma_throttle_cfg", 845 + .id = SC7180_SLAVE_NPU_DMA_BWMON_CFG, 846 + .channels = 1, 847 + .buswidth = 4, 848 + }; 849 + 850 + static struct qcom_icc_node qhs_npu_dsp_throttle_cfg = { 851 + .name = "qhs_npu_dsp_throttle_cfg", 852 + .id = SC7180_SLAVE_NPU_PROC_BWMON_CFG, 853 + .channels = 1, 854 + .buswidth = 4, 855 + }; 856 + 857 + static struct qcom_icc_node qhs_pdm = { 858 + .name = "qhs_pdm", 859 + .id = SC7180_SLAVE_PDM, 860 + .channels = 1, 861 + .buswidth = 4, 862 + }; 863 + 864 + static struct qcom_icc_node qhs_pimem_cfg = { 865 + .name = "qhs_pimem_cfg", 866 + .id = SC7180_SLAVE_PIMEM_CFG, 867 + .channels = 1, 868 + .buswidth = 4, 869 + }; 870 + 871 + static struct qcom_icc_node qhs_prng = { 872 + .name = "qhs_prng", 873 + .id = SC7180_SLAVE_PRNG, 874 + .channels = 1, 875 + .buswidth = 4, 876 + }; 877 + 878 + static struct qcom_icc_node qhs_qdss_cfg = { 879 + .name = "qhs_qdss_cfg", 880 + .id = SC7180_SLAVE_QDSS_CFG, 881 + .channels = 1, 882 + .buswidth = 4, 883 + }; 884 + 885 + static struct qcom_icc_node qhs_qm_cfg = { 886 + .name = "qhs_qm_cfg", 887 + .id = SC7180_SLAVE_QM_CFG, 888 + .channels = 1, 889 + .buswidth = 4, 890 + }; 891 + 892 + static struct qcom_icc_node qhs_qm_mpu_cfg = { 893 + .name = "qhs_qm_mpu_cfg", 894 + .id = SC7180_SLAVE_QM_MPU_CFG, 895 + .channels = 1, 896 + .buswidth = 4, 897 + }; 898 + 899 + static struct qcom_icc_node qhs_qspi = { 900 + .name = "qhs_qspi", 901 + .id = SC7180_SLAVE_QSPI_0, 902 + .channels = 1, 903 + .buswidth = 4, 904 + }; 905 + 906 + static struct qcom_icc_node qhs_qup0 = { 907 + .name = "qhs_qup0", 908 + .id = SC7180_SLAVE_QUP_0, 909 + .channels = 1, 910 + .buswidth = 4, 911 + }; 912 + 913 + static struct qcom_icc_node qhs_qup1 = { 914 + .name = "qhs_qup1", 915 + .id = SC7180_SLAVE_QUP_1, 916 + .channels = 1, 917 + .buswidth = 4, 918 + }; 919 + 920 + static struct qcom_icc_node qhs_sdc2 = { 921 + .name = "qhs_sdc2", 922 + .id = SC7180_SLAVE_SDCC_2, 923 + .channels = 1, 924 + .buswidth = 4, 925 + }; 926 + 927 + static struct qcom_icc_node qhs_security = { 928 + .name = "qhs_security", 929 + .id = SC7180_SLAVE_SECURITY, 930 + .channels = 1, 931 + .buswidth = 4, 932 + }; 933 + 934 + static struct qcom_icc_node qhs_snoc_cfg = { 935 + .name = "qhs_snoc_cfg", 936 + .id = SC7180_SLAVE_SNOC_CFG, 937 + .channels = 1, 938 + .buswidth = 4, 939 + .num_links = 1, 940 + .links = { SC7180_MASTER_SNOC_CFG }, 941 + }; 942 + 943 + static struct qcom_icc_node qhs_tcsr = { 944 + .name = "qhs_tcsr", 945 + .id = SC7180_SLAVE_TCSR, 946 + .channels = 1, 947 + .buswidth = 4, 948 + }; 949 + 950 + static struct qcom_icc_node qhs_tlmm_1 = { 951 + .name = "qhs_tlmm_1", 952 + .id = SC7180_SLAVE_TLMM_WEST, 953 + .channels = 1, 954 + .buswidth = 4, 955 + }; 956 + 957 + static struct qcom_icc_node qhs_tlmm_2 = { 958 + .name = "qhs_tlmm_2", 959 + .id = SC7180_SLAVE_TLMM_NORTH, 960 + .channels = 1, 961 + .buswidth = 4, 962 + }; 963 + 964 + static struct qcom_icc_node qhs_tlmm_3 = { 965 + .name = "qhs_tlmm_3", 966 + .id = SC7180_SLAVE_TLMM_SOUTH, 967 + .channels = 1, 968 + .buswidth = 4, 969 + }; 970 + 971 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 972 + .name = "qhs_ufs_mem_cfg", 973 + .id = SC7180_SLAVE_UFS_MEM_CFG, 974 + .channels = 1, 975 + .buswidth = 4, 976 + }; 977 + 978 + static struct qcom_icc_node qhs_usb3 = { 979 + .name = "qhs_usb3", 980 + .id = SC7180_SLAVE_USB3, 981 + .channels = 1, 982 + .buswidth = 4, 983 + }; 984 + 985 + static struct qcom_icc_node qhs_venus_cfg = { 986 + .name = "qhs_venus_cfg", 987 + .id = SC7180_SLAVE_VENUS_CFG, 988 + .channels = 1, 989 + .buswidth = 4, 990 + }; 991 + 992 + static struct qcom_icc_node qhs_venus_throttle_cfg = { 993 + .name = "qhs_venus_throttle_cfg", 994 + .id = SC7180_SLAVE_VENUS_THROTTLE_CFG, 995 + .channels = 1, 996 + .buswidth = 4, 997 + }; 998 + 999 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1000 + .name = "qhs_vsense_ctrl_cfg", 1001 + .id = SC7180_SLAVE_VSENSE_CTRL_CFG, 1002 + .channels = 1, 1003 + .buswidth = 4, 1004 + }; 1005 + 1006 + static struct qcom_icc_node srvc_cnoc = { 1007 + .name = "srvc_cnoc", 1008 + .id = SC7180_SLAVE_SERVICE_CNOC, 1009 + .channels = 1, 1010 + .buswidth = 4, 1011 + }; 1012 + 1013 + static struct qcom_icc_node qhs_gemnoc = { 1014 + .name = "qhs_gemnoc", 1015 + .id = SC7180_SLAVE_GEM_NOC_CFG, 1016 + .channels = 1, 1017 + .buswidth = 4, 1018 + .num_links = 1, 1019 + .links = { SC7180_MASTER_GEM_NOC_CFG }, 1020 + }; 1021 + 1022 + static struct qcom_icc_node qhs_llcc = { 1023 + .name = "qhs_llcc", 1024 + .id = SC7180_SLAVE_LLCC_CFG, 1025 + .channels = 1, 1026 + .buswidth = 4, 1027 + }; 1028 + 1029 + static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 1030 + .name = "qhs_mdsp_ms_mpu_cfg", 1031 + .id = SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, 1032 + .channels = 1, 1033 + .buswidth = 4, 1034 + }; 1035 + 1036 + static struct qcom_icc_node qns_gem_noc_snoc = { 1037 + .name = "qns_gem_noc_snoc", 1038 + .id = SC7180_SLAVE_GEM_NOC_SNOC, 1039 + .channels = 1, 1040 + .buswidth = 8, 1041 + .num_links = 1, 1042 + .links = { SC7180_MASTER_GEM_NOC_SNOC }, 1043 + }; 1044 + 1045 + static struct qcom_icc_node qns_llcc = { 1046 + .name = "qns_llcc", 1047 + .id = SC7180_SLAVE_LLCC, 1048 + .channels = 1, 1049 + .buswidth = 16, 1050 + .num_links = 1, 1051 + .links = { SC7180_MASTER_LLCC }, 1052 + }; 1053 + 1054 + static struct qcom_icc_node srvc_gemnoc = { 1055 + .name = "srvc_gemnoc", 1056 + .id = SC7180_SLAVE_SERVICE_GEM_NOC, 1057 + .channels = 1, 1058 + .buswidth = 4, 1059 + }; 1060 + 1061 + static struct qcom_icc_node ebi = { 1062 + .name = "ebi", 1063 + .id = SC7180_SLAVE_EBI1, 1064 + .channels = 2, 1065 + .buswidth = 4, 1066 + }; 1067 + 1068 + static struct qcom_icc_node qns_mem_noc_hf = { 1069 + .name = "qns_mem_noc_hf", 1070 + .id = SC7180_SLAVE_MNOC_HF_MEM_NOC, 1071 + .channels = 1, 1072 + .buswidth = 32, 1073 + .num_links = 1, 1074 + .links = { SC7180_MASTER_MNOC_HF_MEM_NOC }, 1075 + }; 1076 + 1077 + static struct qcom_icc_node qns_mem_noc_sf = { 1078 + .name = "qns_mem_noc_sf", 1079 + .id = SC7180_SLAVE_MNOC_SF_MEM_NOC, 1080 + .channels = 1, 1081 + .buswidth = 32, 1082 + .num_links = 1, 1083 + .links = { SC7180_MASTER_MNOC_SF_MEM_NOC }, 1084 + }; 1085 + 1086 + static struct qcom_icc_node srvc_mnoc = { 1087 + .name = "srvc_mnoc", 1088 + .id = SC7180_SLAVE_SERVICE_MNOC, 1089 + .channels = 1, 1090 + .buswidth = 4, 1091 + }; 1092 + 1093 + static struct qcom_icc_node qhs_cal_dp0 = { 1094 + .name = "qhs_cal_dp0", 1095 + .id = SC7180_SLAVE_NPU_CAL_DP0, 1096 + .channels = 1, 1097 + .buswidth = 4, 1098 + }; 1099 + 1100 + static struct qcom_icc_node qhs_cp = { 1101 + .name = "qhs_cp", 1102 + .id = SC7180_SLAVE_NPU_CP, 1103 + .channels = 1, 1104 + .buswidth = 4, 1105 + }; 1106 + 1107 + static struct qcom_icc_node qhs_dma_bwmon = { 1108 + .name = "qhs_dma_bwmon", 1109 + .id = SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG, 1110 + .channels = 1, 1111 + .buswidth = 4, 1112 + }; 1113 + 1114 + static struct qcom_icc_node qhs_dpm = { 1115 + .name = "qhs_dpm", 1116 + .id = SC7180_SLAVE_NPU_DPM, 1117 + .channels = 1, 1118 + .buswidth = 4, 1119 + }; 1120 + 1121 + static struct qcom_icc_node qhs_isense = { 1122 + .name = "qhs_isense", 1123 + .id = SC7180_SLAVE_ISENSE_CFG, 1124 + .channels = 1, 1125 + .buswidth = 4, 1126 + }; 1127 + 1128 + static struct qcom_icc_node qhs_llm = { 1129 + .name = "qhs_llm", 1130 + .id = SC7180_SLAVE_NPU_LLM_CFG, 1131 + .channels = 1, 1132 + .buswidth = 4, 1133 + }; 1134 + 1135 + static struct qcom_icc_node qhs_tcm = { 1136 + .name = "qhs_tcm", 1137 + .id = SC7180_SLAVE_NPU_TCM, 1138 + .channels = 1, 1139 + .buswidth = 4, 1140 + }; 1141 + 1142 + static struct qcom_icc_node qns_npu_sys = { 1143 + .name = "qns_npu_sys", 1144 + .id = SC7180_SLAVE_NPU_COMPUTE_NOC, 1145 + .channels = 2, 1146 + .buswidth = 32, 1147 + }; 1148 + 1149 + static struct qcom_icc_node srvc_noc = { 1150 + .name = "srvc_noc", 1151 + .id = SC7180_SLAVE_SERVICE_NPU_NOC, 1152 + .channels = 1, 1153 + .buswidth = 4, 1154 + }; 1155 + 1156 + static struct qcom_icc_node qup_core_slave_1 = { 1157 + .name = "qup_core_slave_1", 1158 + .id = SC7180_SLAVE_QUP_CORE_0, 1159 + .channels = 1, 1160 + .buswidth = 4, 1161 + }; 1162 + 1163 + static struct qcom_icc_node qup_core_slave_2 = { 1164 + .name = "qup_core_slave_2", 1165 + .id = SC7180_SLAVE_QUP_CORE_1, 1166 + .channels = 1, 1167 + .buswidth = 4, 1168 + }; 1169 + 1170 + static struct qcom_icc_node qhs_apss = { 1171 + .name = "qhs_apss", 1172 + .id = SC7180_SLAVE_APPSS, 1173 + .channels = 1, 1174 + .buswidth = 8, 1175 + }; 1176 + 1177 + static struct qcom_icc_node qns_cnoc = { 1178 + .name = "qns_cnoc", 1179 + .id = SC7180_SLAVE_SNOC_CNOC, 1180 + .channels = 1, 1181 + .buswidth = 8, 1182 + .num_links = 1, 1183 + .links = { SC7180_MASTER_SNOC_CNOC }, 1184 + }; 1185 + 1186 + static struct qcom_icc_node qns_gemnoc_gc = { 1187 + .name = "qns_gemnoc_gc", 1188 + .id = SC7180_SLAVE_SNOC_GEM_NOC_GC, 1189 + .channels = 1, 1190 + .buswidth = 8, 1191 + .num_links = 1, 1192 + .links = { SC7180_MASTER_SNOC_GC_MEM_NOC }, 1193 + }; 1194 + 1195 + static struct qcom_icc_node qns_gemnoc_sf = { 1196 + .name = "qns_gemnoc_sf", 1197 + .id = SC7180_SLAVE_SNOC_GEM_NOC_SF, 1198 + .channels = 1, 1199 + .buswidth = 16, 1200 + .num_links = 1, 1201 + .links = { SC7180_MASTER_SNOC_SF_MEM_NOC }, 1202 + }; 1203 + 1204 + static struct qcom_icc_node qxs_imem = { 1205 + .name = "qxs_imem", 1206 + .id = SC7180_SLAVE_IMEM, 1207 + .channels = 1, 1208 + .buswidth = 8, 1209 + }; 1210 + 1211 + static struct qcom_icc_node qxs_pimem = { 1212 + .name = "qxs_pimem", 1213 + .id = SC7180_SLAVE_PIMEM, 1214 + .channels = 1, 1215 + .buswidth = 8, 1216 + }; 1217 + 1218 + static struct qcom_icc_node srvc_snoc = { 1219 + .name = "srvc_snoc", 1220 + .id = SC7180_SLAVE_SERVICE_SNOC, 1221 + .channels = 1, 1222 + .buswidth = 4, 1223 + }; 1224 + 1225 + static struct qcom_icc_node xs_qdss_stm = { 1226 + .name = "xs_qdss_stm", 1227 + .id = SC7180_SLAVE_QDSS_STM, 1228 + .channels = 1, 1229 + .buswidth = 4, 1230 + }; 1231 + 1232 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1233 + .name = "xs_sys_tcu_cfg", 1234 + .id = SC7180_SLAVE_TCU, 1235 + .channels = 1, 1236 + .buswidth = 8, 1237 + }; 1238 + 1239 + static struct qcom_icc_bcm bcm_acv = { 1240 + .name = "ACV", 1241 + .keepalive = false, 1242 + .num_nodes = 1, 1243 + .nodes = { &ebi }, 1244 + }; 1245 + 1246 + static struct qcom_icc_bcm bcm_mc0 = { 1247 + .name = "MC0", 1248 + .keepalive = true, 1249 + .num_nodes = 1, 1250 + .nodes = { &ebi }, 1251 + }; 1252 + 1253 + static struct qcom_icc_bcm bcm_sh0 = { 1254 + .name = "SH0", 1255 + .keepalive = true, 1256 + .num_nodes = 1, 1257 + .nodes = { &qns_llcc }, 1258 + }; 1259 + 1260 + static struct qcom_icc_bcm bcm_mm0 = { 1261 + .name = "MM0", 1262 + .keepalive = false, 1263 + .num_nodes = 1, 1264 + .nodes = { &qns_mem_noc_hf }, 1265 + }; 1266 + 1267 + static struct qcom_icc_bcm bcm_ce0 = { 1268 + .name = "CE0", 1269 + .keepalive = false, 1270 + .num_nodes = 1, 1271 + .nodes = { &qxm_crypto }, 1272 + }; 1273 + 1274 + static struct qcom_icc_bcm bcm_cn0 = { 1275 + .name = "CN0", 1276 + .keepalive = true, 1277 + .num_nodes = 48, 1278 + .nodes = { &qnm_snoc, 1279 + &xm_qdss_dap, 1280 + &qhs_a1_noc_cfg, 1281 + &qhs_a2_noc_cfg, 1282 + &qhs_ahb2phy0, 1283 + &qhs_aop, 1284 + &qhs_aoss, 1285 + &qhs_boot_rom, 1286 + &qhs_camera_cfg, 1287 + &qhs_camera_nrt_throttle_cfg, 1288 + &qhs_camera_rt_throttle_cfg, 1289 + &qhs_clk_ctl, 1290 + &qhs_cpr_cx, 1291 + &qhs_cpr_mx, 1292 + &qhs_crypto0_cfg, 1293 + &qhs_dcc_cfg, 1294 + &qhs_ddrss_cfg, 1295 + &qhs_display_cfg, 1296 + &qhs_display_rt_throttle_cfg, 1297 + &qhs_display_throttle_cfg, 1298 + &qhs_glm, 1299 + &qhs_gpuss_cfg, 1300 + &qhs_imem_cfg, 1301 + &qhs_ipa, 1302 + &qhs_mnoc_cfg, 1303 + &qhs_mss_cfg, 1304 + &qhs_npu_cfg, 1305 + &qhs_npu_dma_throttle_cfg, 1306 + &qhs_npu_dsp_throttle_cfg, 1307 + &qhs_pimem_cfg, 1308 + &qhs_prng, 1309 + &qhs_qdss_cfg, 1310 + &qhs_qm_cfg, 1311 + &qhs_qm_mpu_cfg, 1312 + &qhs_qup0, 1313 + &qhs_qup1, 1314 + &qhs_security, 1315 + &qhs_snoc_cfg, 1316 + &qhs_tcsr, 1317 + &qhs_tlmm_1, 1318 + &qhs_tlmm_2, 1319 + &qhs_tlmm_3, 1320 + &qhs_ufs_mem_cfg, 1321 + &qhs_usb3, 1322 + &qhs_venus_cfg, 1323 + &qhs_venus_throttle_cfg, 1324 + &qhs_vsense_ctrl_cfg, 1325 + &srvc_cnoc 1326 + }, 1327 + }; 1328 + 1329 + static struct qcom_icc_bcm bcm_mm1 = { 1330 + .name = "MM1", 1331 + .keepalive = false, 1332 + .num_nodes = 8, 1333 + .nodes = { &qxm_camnoc_hf0_uncomp, 1334 + &qxm_camnoc_hf1_uncomp, 1335 + &qxm_camnoc_sf_uncomp, 1336 + &qhm_mnoc_cfg, 1337 + &qxm_mdp0, 1338 + &qxm_rot, 1339 + &qxm_venus0, 1340 + &qxm_venus_arm9 1341 + }, 1342 + }; 1343 + 1344 + static struct qcom_icc_bcm bcm_sh2 = { 1345 + .name = "SH2", 1346 + .keepalive = false, 1347 + .num_nodes = 1, 1348 + .nodes = { &acm_sys_tcu }, 1349 + }; 1350 + 1351 + static struct qcom_icc_bcm bcm_mm2 = { 1352 + .name = "MM2", 1353 + .keepalive = false, 1354 + .num_nodes = 1, 1355 + .nodes = { &qns_mem_noc_sf }, 1356 + }; 1357 + 1358 + static struct qcom_icc_bcm bcm_qup0 = { 1359 + .name = "QUP0", 1360 + .keepalive = false, 1361 + .num_nodes = 2, 1362 + .nodes = { &qup_core_master_1, &qup_core_master_2 }, 1363 + }; 1364 + 1365 + static struct qcom_icc_bcm bcm_sh3 = { 1366 + .name = "SH3", 1367 + .keepalive = false, 1368 + .num_nodes = 1, 1369 + .nodes = { &qnm_cmpnoc }, 1370 + }; 1371 + 1372 + static struct qcom_icc_bcm bcm_sh4 = { 1373 + .name = "SH4", 1374 + .keepalive = false, 1375 + .num_nodes = 1, 1376 + .nodes = { &acm_apps0 }, 1377 + }; 1378 + 1379 + static struct qcom_icc_bcm bcm_sn0 = { 1380 + .name = "SN0", 1381 + .keepalive = true, 1382 + .num_nodes = 1, 1383 + .nodes = { &qns_gemnoc_sf }, 1384 + }; 1385 + 1386 + static struct qcom_icc_bcm bcm_co0 = { 1387 + .name = "CO0", 1388 + .keepalive = false, 1389 + .num_nodes = 1, 1390 + .nodes = { &qns_cdsp_gemnoc }, 1391 + }; 1392 + 1393 + static struct qcom_icc_bcm bcm_sn1 = { 1394 + .name = "SN1", 1395 + .keepalive = false, 1396 + .num_nodes = 1, 1397 + .nodes = { &qxs_imem }, 1398 + }; 1399 + 1400 + static struct qcom_icc_bcm bcm_cn1 = { 1401 + .name = "CN1", 1402 + .keepalive = false, 1403 + .num_nodes = 8, 1404 + .nodes = { &qhm_qspi, 1405 + &xm_sdc2, 1406 + &xm_emmc, 1407 + &qhs_ahb2phy2, 1408 + &qhs_emmc_cfg, 1409 + &qhs_pdm, 1410 + &qhs_qspi, 1411 + &qhs_sdc2 1412 + }, 1413 + }; 1414 + 1415 + static struct qcom_icc_bcm bcm_sn2 = { 1416 + .name = "SN2", 1417 + .keepalive = false, 1418 + .num_nodes = 2, 1419 + .nodes = { &qxm_pimem, &qns_gemnoc_gc }, 1420 + }; 1421 + 1422 + static struct qcom_icc_bcm bcm_co2 = { 1423 + .name = "CO2", 1424 + .keepalive = false, 1425 + .num_nodes = 1, 1426 + .nodes = { &qnm_npu }, 1427 + }; 1428 + 1429 + static struct qcom_icc_bcm bcm_sn3 = { 1430 + .name = "SN3", 1431 + .keepalive = false, 1432 + .num_nodes = 1, 1433 + .nodes = { &qxs_pimem }, 1434 + }; 1435 + 1436 + static struct qcom_icc_bcm bcm_co3 = { 1437 + .name = "CO3", 1438 + .keepalive = false, 1439 + .num_nodes = 1, 1440 + .nodes = { &qxm_npu_dsp }, 1441 + }; 1442 + 1443 + static struct qcom_icc_bcm bcm_sn4 = { 1444 + .name = "SN4", 1445 + .keepalive = false, 1446 + .num_nodes = 1, 1447 + .nodes = { &xs_qdss_stm }, 1448 + }; 1449 + 1450 + static struct qcom_icc_bcm bcm_sn7 = { 1451 + .name = "SN7", 1452 + .keepalive = false, 1453 + .num_nodes = 1, 1454 + .nodes = { &qnm_aggre1_noc }, 1455 + }; 1456 + 1457 + static struct qcom_icc_bcm bcm_sn9 = { 1458 + .name = "SN9", 1459 + .keepalive = false, 1460 + .num_nodes = 1, 1461 + .nodes = { &qnm_aggre2_noc }, 1462 + }; 1463 + 1464 + static struct qcom_icc_bcm bcm_sn12 = { 1465 + .name = "SN12", 1466 + .keepalive = false, 1467 + .num_nodes = 1, 1468 + .nodes = { &qnm_gemnoc }, 1469 + }; 181 1470 182 1471 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 183 1472 &bcm_cn1,
+1244 -140
drivers/interconnect/qcom/sdm670.c
··· 15 15 #include "icc-rpmh.h" 16 16 #include "sdm670.h" 17 17 18 - DEFINE_QNODE(qhm_a1noc_cfg, SDM670_MASTER_A1NOC_CFG, 1, 4, SDM670_SLAVE_SERVICE_A1NOC); 19 - DEFINE_QNODE(qhm_qup1, SDM670_MASTER_BLSP_1, 1, 4, SDM670_SLAVE_A1NOC_SNOC); 20 - DEFINE_QNODE(qhm_tsif, SDM670_MASTER_TSIF, 1, 4, SDM670_SLAVE_A1NOC_SNOC); 21 - DEFINE_QNODE(xm_emmc, SDM670_MASTER_EMMC, 1, 8, SDM670_SLAVE_A1NOC_SNOC); 22 - DEFINE_QNODE(xm_sdc2, SDM670_MASTER_SDCC_2, 1, 8, SDM670_SLAVE_A1NOC_SNOC); 23 - DEFINE_QNODE(xm_sdc4, SDM670_MASTER_SDCC_4, 1, 8, SDM670_SLAVE_A1NOC_SNOC); 24 - DEFINE_QNODE(xm_ufs_mem, SDM670_MASTER_UFS_MEM, 1, 8, SDM670_SLAVE_A1NOC_SNOC); 25 - DEFINE_QNODE(qhm_a2noc_cfg, SDM670_MASTER_A2NOC_CFG, 1, 4, SDM670_SLAVE_SERVICE_A2NOC); 26 - DEFINE_QNODE(qhm_qdss_bam, SDM670_MASTER_QDSS_BAM, 1, 4, SDM670_SLAVE_A2NOC_SNOC); 27 - DEFINE_QNODE(qhm_qup2, SDM670_MASTER_BLSP_2, 1, 4, SDM670_SLAVE_A2NOC_SNOC); 28 - DEFINE_QNODE(qnm_cnoc, SDM670_MASTER_CNOC_A2NOC, 1, 8, SDM670_SLAVE_A2NOC_SNOC); 29 - DEFINE_QNODE(qxm_crypto, SDM670_MASTER_CRYPTO_CORE_0, 1, 8, SDM670_SLAVE_A2NOC_SNOC); 30 - DEFINE_QNODE(qxm_ipa, SDM670_MASTER_IPA, 1, 8, SDM670_SLAVE_A2NOC_SNOC); 31 - DEFINE_QNODE(xm_qdss_etr, SDM670_MASTER_QDSS_ETR, 1, 8, SDM670_SLAVE_A2NOC_SNOC); 32 - DEFINE_QNODE(xm_usb3_0, SDM670_MASTER_USB3, 1, 8, SDM670_SLAVE_A2NOC_SNOC); 33 - DEFINE_QNODE(qxm_camnoc_hf0_uncomp, SDM670_MASTER_CAMNOC_HF0_UNCOMP, 1, 32, SDM670_SLAVE_CAMNOC_UNCOMP); 34 - DEFINE_QNODE(qxm_camnoc_hf1_uncomp, SDM670_MASTER_CAMNOC_HF1_UNCOMP, 1, 32, SDM670_SLAVE_CAMNOC_UNCOMP); 35 - DEFINE_QNODE(qxm_camnoc_sf_uncomp, SDM670_MASTER_CAMNOC_SF_UNCOMP, 1, 32, SDM670_SLAVE_CAMNOC_UNCOMP); 36 - DEFINE_QNODE(qhm_spdm, SDM670_MASTER_SPDM, 1, 4, SDM670_SLAVE_CNOC_A2NOC); 37 - DEFINE_QNODE(qnm_snoc, SDM670_MASTER_SNOC_CNOC, 1, 8, SDM670_SLAVE_TLMM_SOUTH, SDM670_SLAVE_CAMERA_CFG, SDM670_SLAVE_SDCC_4, SDM670_SLAVE_SDCC_2, SDM670_SLAVE_CNOC_MNOC_CFG, SDM670_SLAVE_UFS_MEM_CFG, SDM670_SLAVE_GLM, SDM670_SLAVE_PDM, SDM670_SLAVE_A2NOC_CFG, SDM670_SLAVE_QDSS_CFG, SDM670_SLAVE_DISPLAY_CFG, SDM670_SLAVE_TCSR, SDM670_SLAVE_DCC_CFG, SDM670_SLAVE_CNOC_DDRSS, SDM670_SLAVE_SNOC_CFG, SDM670_SLAVE_SOUTH_PHY_CFG, SDM670_SLAVE_GRAPHICS_3D_CFG, SDM670_SLAVE_VENUS_CFG, SDM670_SLAVE_TSIF, SDM670_SLAVE_CDSP_CFG, SDM670_SLAVE_AOP, SDM670_SLAVE_BLSP_2, SDM670_SLAVE_SERVICE_CNOC, SDM670_SLAVE_USB3, SDM670_SLAVE_IPA_CFG, SDM670_SLAVE_RBCPR_CX_CFG, SDM670_SLAVE_A1NOC_CFG, SDM670_SLAVE_AOSS, SDM670_SLAVE_PRNG, SDM670_SLAVE_VSENSE_CTRL_CFG, SDM670_SLAVE_EMMC_CFG, SDM670_SLAVE_BLSP_1, SDM670_SLAVE_SPDM_WRAPPER, SDM670_SLAVE_CRYPTO_0_CFG, SDM670_SLAVE_PIMEM_CFG, SDM670_SLAVE_TLMM_NORTH, SDM670_SLAVE_CLK_CTL, SDM670_SLAVE_IMEM_CFG); 38 - DEFINE_QNODE(qhm_cnoc, SDM670_MASTER_CNOC_DC_NOC, 1, 4, SDM670_SLAVE_MEM_NOC_CFG, SDM670_SLAVE_LLCC_CFG); 39 - DEFINE_QNODE(acm_l3, SDM670_MASTER_AMPSS_M0, 1, 16, SDM670_SLAVE_SERVICE_GNOC, SDM670_SLAVE_GNOC_SNOC, SDM670_SLAVE_GNOC_MEM_NOC); 40 - DEFINE_QNODE(pm_gnoc_cfg, SDM670_MASTER_GNOC_CFG, 1, 4, SDM670_SLAVE_SERVICE_GNOC); 41 - DEFINE_QNODE(llcc_mc, SDM670_MASTER_LLCC, 2, 4, SDM670_SLAVE_EBI_CH0); 42 - DEFINE_QNODE(acm_tcu, SDM670_MASTER_TCU_0, 1, 8, SDM670_SLAVE_MEM_NOC_GNOC, SDM670_SLAVE_LLCC, SDM670_SLAVE_MEM_NOC_SNOC); 43 - DEFINE_QNODE(qhm_memnoc_cfg, SDM670_MASTER_MEM_NOC_CFG, 1, 4, SDM670_SLAVE_SERVICE_MEM_NOC, SDM670_SLAVE_MSS_PROC_MS_MPU_CFG); 44 - DEFINE_QNODE(qnm_apps, SDM670_MASTER_GNOC_MEM_NOC, 2, 32, SDM670_SLAVE_LLCC); 45 - DEFINE_QNODE(qnm_mnoc_hf, SDM670_MASTER_MNOC_HF_MEM_NOC, 2, 32, SDM670_SLAVE_LLCC); 46 - DEFINE_QNODE(qnm_mnoc_sf, SDM670_MASTER_MNOC_SF_MEM_NOC, 1, 32, SDM670_SLAVE_MEM_NOC_GNOC, SDM670_SLAVE_LLCC, SDM670_SLAVE_MEM_NOC_SNOC); 47 - DEFINE_QNODE(qnm_snoc_gc, SDM670_MASTER_SNOC_GC_MEM_NOC, 1, 8, SDM670_SLAVE_LLCC); 48 - DEFINE_QNODE(qnm_snoc_sf, SDM670_MASTER_SNOC_SF_MEM_NOC, 1, 16, SDM670_SLAVE_MEM_NOC_GNOC, SDM670_SLAVE_LLCC); 49 - DEFINE_QNODE(qxm_gpu, SDM670_MASTER_GRAPHICS_3D, 2, 32, SDM670_SLAVE_MEM_NOC_GNOC, SDM670_SLAVE_LLCC, SDM670_SLAVE_MEM_NOC_SNOC); 50 - DEFINE_QNODE(qhm_mnoc_cfg, SDM670_MASTER_CNOC_MNOC_CFG, 1, 4, SDM670_SLAVE_SERVICE_MNOC); 51 - DEFINE_QNODE(qxm_camnoc_hf0, SDM670_MASTER_CAMNOC_HF0, 1, 32, SDM670_SLAVE_MNOC_HF_MEM_NOC); 52 - DEFINE_QNODE(qxm_camnoc_hf1, SDM670_MASTER_CAMNOC_HF1, 1, 32, SDM670_SLAVE_MNOC_HF_MEM_NOC); 53 - DEFINE_QNODE(qxm_camnoc_sf, SDM670_MASTER_CAMNOC_SF, 1, 32, SDM670_SLAVE_MNOC_SF_MEM_NOC); 54 - DEFINE_QNODE(qxm_mdp0, SDM670_MASTER_MDP_PORT0, 1, 32, SDM670_SLAVE_MNOC_HF_MEM_NOC); 55 - DEFINE_QNODE(qxm_mdp1, SDM670_MASTER_MDP_PORT1, 1, 32, SDM670_SLAVE_MNOC_HF_MEM_NOC); 56 - DEFINE_QNODE(qxm_rot, SDM670_MASTER_ROTATOR, 1, 32, SDM670_SLAVE_MNOC_SF_MEM_NOC); 57 - DEFINE_QNODE(qxm_venus0, SDM670_MASTER_VIDEO_P0, 1, 32, SDM670_SLAVE_MNOC_SF_MEM_NOC); 58 - DEFINE_QNODE(qxm_venus1, SDM670_MASTER_VIDEO_P1, 1, 32, SDM670_SLAVE_MNOC_SF_MEM_NOC); 59 - DEFINE_QNODE(qxm_venus_arm9, SDM670_MASTER_VIDEO_PROC, 1, 8, SDM670_SLAVE_MNOC_SF_MEM_NOC); 60 - DEFINE_QNODE(qhm_snoc_cfg, SDM670_MASTER_SNOC_CFG, 1, 4, SDM670_SLAVE_SERVICE_SNOC); 61 - DEFINE_QNODE(qnm_aggre1_noc, SDM670_MASTER_A1NOC_SNOC, 1, 16, SDM670_SLAVE_PIMEM, SDM670_SLAVE_SNOC_MEM_NOC_SF, SDM670_SLAVE_OCIMEM, SDM670_SLAVE_APPSS, SDM670_SLAVE_SNOC_CNOC, SDM670_SLAVE_QDSS_STM); 62 - DEFINE_QNODE(qnm_aggre2_noc, SDM670_MASTER_A2NOC_SNOC, 1, 16, SDM670_SLAVE_PIMEM, SDM670_SLAVE_SNOC_MEM_NOC_SF, SDM670_SLAVE_OCIMEM, SDM670_SLAVE_APPSS, SDM670_SLAVE_SNOC_CNOC, SDM670_SLAVE_TCU, SDM670_SLAVE_QDSS_STM); 63 - DEFINE_QNODE(qnm_gladiator_sodv, SDM670_MASTER_GNOC_SNOC, 1, 8, SDM670_SLAVE_PIMEM, SDM670_SLAVE_OCIMEM, SDM670_SLAVE_APPSS, SDM670_SLAVE_SNOC_CNOC, SDM670_SLAVE_TCU, SDM670_SLAVE_QDSS_STM); 64 - DEFINE_QNODE(qnm_memnoc, SDM670_MASTER_MEM_NOC_SNOC, 1, 8, SDM670_SLAVE_OCIMEM, SDM670_SLAVE_APPSS, SDM670_SLAVE_PIMEM, SDM670_SLAVE_SNOC_CNOC, SDM670_SLAVE_QDSS_STM); 65 - DEFINE_QNODE(qxm_pimem, SDM670_MASTER_PIMEM, 1, 8, SDM670_SLAVE_OCIMEM, SDM670_SLAVE_SNOC_MEM_NOC_GC); 66 - DEFINE_QNODE(xm_gic, SDM670_MASTER_GIC, 1, 8, SDM670_SLAVE_OCIMEM, SDM670_SLAVE_SNOC_MEM_NOC_GC); 67 - DEFINE_QNODE(qns_a1noc_snoc, SDM670_SLAVE_A1NOC_SNOC, 1, 16, SDM670_MASTER_A1NOC_SNOC); 68 - DEFINE_QNODE(srvc_aggre1_noc, SDM670_SLAVE_SERVICE_A1NOC, 1, 4); 69 - DEFINE_QNODE(qns_a2noc_snoc, SDM670_SLAVE_A2NOC_SNOC, 1, 16, SDM670_MASTER_A2NOC_SNOC); 70 - DEFINE_QNODE(srvc_aggre2_noc, SDM670_SLAVE_SERVICE_A2NOC, 1, 4); 71 - DEFINE_QNODE(qns_camnoc_uncomp, SDM670_SLAVE_CAMNOC_UNCOMP, 1, 32); 72 - DEFINE_QNODE(qhs_a1_noc_cfg, SDM670_SLAVE_A1NOC_CFG, 1, 4, SDM670_MASTER_A1NOC_CFG); 73 - DEFINE_QNODE(qhs_a2_noc_cfg, SDM670_SLAVE_A2NOC_CFG, 1, 4, SDM670_MASTER_A2NOC_CFG); 74 - DEFINE_QNODE(qhs_aop, SDM670_SLAVE_AOP, 1, 4); 75 - DEFINE_QNODE(qhs_aoss, SDM670_SLAVE_AOSS, 1, 4); 76 - DEFINE_QNODE(qhs_camera_cfg, SDM670_SLAVE_CAMERA_CFG, 1, 4); 77 - DEFINE_QNODE(qhs_clk_ctl, SDM670_SLAVE_CLK_CTL, 1, 4); 78 - DEFINE_QNODE(qhs_compute_dsp_cfg, SDM670_SLAVE_CDSP_CFG, 1, 4); 79 - DEFINE_QNODE(qhs_cpr_cx, SDM670_SLAVE_RBCPR_CX_CFG, 1, 4); 80 - DEFINE_QNODE(qhs_crypto0_cfg, SDM670_SLAVE_CRYPTO_0_CFG, 1, 4); 81 - DEFINE_QNODE(qhs_dcc_cfg, SDM670_SLAVE_DCC_CFG, 1, 4, SDM670_MASTER_CNOC_DC_NOC); 82 - DEFINE_QNODE(qhs_ddrss_cfg, SDM670_SLAVE_CNOC_DDRSS, 1, 4); 83 - DEFINE_QNODE(qhs_display_cfg, SDM670_SLAVE_DISPLAY_CFG, 1, 4); 84 - DEFINE_QNODE(qhs_emmc_cfg, SDM670_SLAVE_EMMC_CFG, 1, 4); 85 - DEFINE_QNODE(qhs_glm, SDM670_SLAVE_GLM, 1, 4); 86 - DEFINE_QNODE(qhs_gpuss_cfg, SDM670_SLAVE_GRAPHICS_3D_CFG, 1, 8); 87 - DEFINE_QNODE(qhs_imem_cfg, SDM670_SLAVE_IMEM_CFG, 1, 4); 88 - DEFINE_QNODE(qhs_ipa, SDM670_SLAVE_IPA_CFG, 1, 4); 89 - DEFINE_QNODE(qhs_mnoc_cfg, SDM670_SLAVE_CNOC_MNOC_CFG, 1, 4, SDM670_MASTER_CNOC_MNOC_CFG); 90 - DEFINE_QNODE(qhs_pdm, SDM670_SLAVE_PDM, 1, 4); 91 - DEFINE_QNODE(qhs_phy_refgen_south, SDM670_SLAVE_SOUTH_PHY_CFG, 1, 4); 92 - DEFINE_QNODE(qhs_pimem_cfg, SDM670_SLAVE_PIMEM_CFG, 1, 4); 93 - DEFINE_QNODE(qhs_prng, SDM670_SLAVE_PRNG, 1, 4); 94 - DEFINE_QNODE(qhs_qdss_cfg, SDM670_SLAVE_QDSS_CFG, 1, 4); 95 - DEFINE_QNODE(qhs_qupv3_north, SDM670_SLAVE_BLSP_2, 1, 4); 96 - DEFINE_QNODE(qhs_qupv3_south, SDM670_SLAVE_BLSP_1, 1, 4); 97 - DEFINE_QNODE(qhs_sdc2, SDM670_SLAVE_SDCC_2, 1, 4); 98 - DEFINE_QNODE(qhs_sdc4, SDM670_SLAVE_SDCC_4, 1, 4); 99 - DEFINE_QNODE(qhs_snoc_cfg, SDM670_SLAVE_SNOC_CFG, 1, 4, SDM670_MASTER_SNOC_CFG); 100 - DEFINE_QNODE(qhs_spdm, SDM670_SLAVE_SPDM_WRAPPER, 1, 4); 101 - DEFINE_QNODE(qhs_tcsr, SDM670_SLAVE_TCSR, 1, 4); 102 - DEFINE_QNODE(qhs_tlmm_north, SDM670_SLAVE_TLMM_NORTH, 1, 4); 103 - DEFINE_QNODE(qhs_tlmm_south, SDM670_SLAVE_TLMM_SOUTH, 1, 4); 104 - DEFINE_QNODE(qhs_tsif, SDM670_SLAVE_TSIF, 1, 4); 105 - DEFINE_QNODE(qhs_ufs_mem_cfg, SDM670_SLAVE_UFS_MEM_CFG, 1, 4); 106 - DEFINE_QNODE(qhs_usb3_0, SDM670_SLAVE_USB3, 1, 4); 107 - DEFINE_QNODE(qhs_venus_cfg, SDM670_SLAVE_VENUS_CFG, 1, 4); 108 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SDM670_SLAVE_VSENSE_CTRL_CFG, 1, 4); 109 - DEFINE_QNODE(qns_cnoc_a2noc, SDM670_SLAVE_CNOC_A2NOC, 1, 8, SDM670_MASTER_CNOC_A2NOC); 110 - DEFINE_QNODE(srvc_cnoc, SDM670_SLAVE_SERVICE_CNOC, 1, 4); 111 - DEFINE_QNODE(qhs_llcc, SDM670_SLAVE_LLCC_CFG, 1, 4); 112 - DEFINE_QNODE(qhs_memnoc, SDM670_SLAVE_MEM_NOC_CFG, 1, 4, SDM670_MASTER_MEM_NOC_CFG); 113 - DEFINE_QNODE(qns_gladiator_sodv, SDM670_SLAVE_GNOC_SNOC, 1, 8, SDM670_MASTER_GNOC_SNOC); 114 - DEFINE_QNODE(qns_gnoc_memnoc, SDM670_SLAVE_GNOC_MEM_NOC, 2, 32, SDM670_MASTER_GNOC_MEM_NOC); 115 - DEFINE_QNODE(srvc_gnoc, SDM670_SLAVE_SERVICE_GNOC, 1, 4); 116 - DEFINE_QNODE(ebi, SDM670_SLAVE_EBI_CH0, 2, 4); 117 - DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SDM670_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4); 118 - DEFINE_QNODE(qns_apps_io, SDM670_SLAVE_MEM_NOC_GNOC, 1, 32); 119 - DEFINE_QNODE(qns_llcc, SDM670_SLAVE_LLCC, 2, 16, SDM670_MASTER_LLCC); 120 - DEFINE_QNODE(qns_memnoc_snoc, SDM670_SLAVE_MEM_NOC_SNOC, 1, 8, SDM670_MASTER_MEM_NOC_SNOC); 121 - DEFINE_QNODE(srvc_memnoc, SDM670_SLAVE_SERVICE_MEM_NOC, 1, 4); 122 - DEFINE_QNODE(qns2_mem_noc, SDM670_SLAVE_MNOC_SF_MEM_NOC, 1, 32, SDM670_MASTER_MNOC_SF_MEM_NOC); 123 - DEFINE_QNODE(qns_mem_noc_hf, SDM670_SLAVE_MNOC_HF_MEM_NOC, 2, 32, SDM670_MASTER_MNOC_HF_MEM_NOC); 124 - DEFINE_QNODE(srvc_mnoc, SDM670_SLAVE_SERVICE_MNOC, 1, 4); 125 - DEFINE_QNODE(qhs_apss, SDM670_SLAVE_APPSS, 1, 8); 126 - DEFINE_QNODE(qns_cnoc, SDM670_SLAVE_SNOC_CNOC, 1, 8, SDM670_MASTER_SNOC_CNOC); 127 - DEFINE_QNODE(qns_memnoc_gc, SDM670_SLAVE_SNOC_MEM_NOC_GC, 1, 8, SDM670_MASTER_SNOC_GC_MEM_NOC); 128 - DEFINE_QNODE(qns_memnoc_sf, SDM670_SLAVE_SNOC_MEM_NOC_SF, 1, 16, SDM670_MASTER_SNOC_SF_MEM_NOC); 129 - DEFINE_QNODE(qxs_imem, SDM670_SLAVE_OCIMEM, 1, 8); 130 - DEFINE_QNODE(qxs_pimem, SDM670_SLAVE_PIMEM, 1, 8); 131 - DEFINE_QNODE(srvc_snoc, SDM670_SLAVE_SERVICE_SNOC, 1, 4); 132 - DEFINE_QNODE(xs_qdss_stm, SDM670_SLAVE_QDSS_STM, 1, 4); 133 - DEFINE_QNODE(xs_sys_tcu_cfg, SDM670_SLAVE_TCU, 1, 8); 18 + static struct qcom_icc_node qhm_a1noc_cfg = { 19 + .name = "qhm_a1noc_cfg", 20 + .id = SDM670_MASTER_A1NOC_CFG, 21 + .channels = 1, 22 + .buswidth = 4, 23 + .num_links = 1, 24 + .links = { SDM670_SLAVE_SERVICE_A1NOC }, 25 + }; 134 26 135 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 136 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 137 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 138 - DEFINE_QBCM(bcm_mm0, "MM0", true, &qns_mem_noc_hf); 139 - DEFINE_QBCM(bcm_sh1, "SH1", false, &qns_apps_io); 140 - DEFINE_QBCM(bcm_mm1, "MM1", true, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1); 141 - DEFINE_QBCM(bcm_sh2, "SH2", false, &qns_memnoc_snoc); 142 - DEFINE_QBCM(bcm_mm2, "MM2", false, &qns2_mem_noc); 143 - DEFINE_QBCM(bcm_sh3, "SH3", false, &acm_tcu); 144 - DEFINE_QBCM(bcm_mm3, "MM3", false, &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9); 145 - DEFINE_QBCM(bcm_sh5, "SH5", false, &qnm_apps); 146 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_memnoc_sf); 147 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 148 - DEFINE_QBCM(bcm_cn0, "CN0", true, &qhm_spdm, &qnm_snoc, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_aop, &qhs_aoss, &qhs_camera_cfg, &qhs_clk_ctl, &qhs_compute_dsp_cfg, &qhs_cpr_cx, &qhs_crypto0_cfg, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_emmc_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_pdm, &qhs_phy_refgen_south, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qupv3_north, &qhs_qupv3_south, &qhs_sdc2, &qhs_sdc4, &qhs_snoc_cfg, &qhs_spdm, &qhs_tcsr, &qhs_tlmm_north, &qhs_tlmm_south, &qhs_tsif, &qhs_ufs_mem_cfg, &qhs_usb3_0, &qhs_venus_cfg, &qhs_vsense_ctrl_cfg, &qns_cnoc_a2noc, &srvc_cnoc); 149 - DEFINE_QBCM(bcm_qup0, "QUP0", false, &qhm_qup1, &qhm_qup2); 150 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 151 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qns_memnoc_gc); 152 - DEFINE_QBCM(bcm_sn3, "SN3", false, &qns_cnoc); 153 - DEFINE_QBCM(bcm_sn4, "SN4", false, &qxm_pimem, &qxs_pimem); 154 - DEFINE_QBCM(bcm_sn5, "SN5", false, &xs_qdss_stm); 155 - DEFINE_QBCM(bcm_sn8, "SN8", false, &qnm_aggre1_noc, &srvc_aggre1_noc); 156 - DEFINE_QBCM(bcm_sn10, "SN10", false, &qnm_aggre2_noc, &srvc_aggre2_noc); 157 - DEFINE_QBCM(bcm_sn11, "SN11", false, &qnm_gladiator_sodv, &xm_gic); 158 - DEFINE_QBCM(bcm_sn13, "SN13", false, &qnm_memnoc); 27 + static struct qcom_icc_node qhm_qup1 = { 28 + .name = "qhm_qup1", 29 + .id = SDM670_MASTER_BLSP_1, 30 + .channels = 1, 31 + .buswidth = 4, 32 + .num_links = 1, 33 + .links = { SDM670_SLAVE_A1NOC_SNOC }, 34 + }; 35 + 36 + static struct qcom_icc_node qhm_tsif = { 37 + .name = "qhm_tsif", 38 + .id = SDM670_MASTER_TSIF, 39 + .channels = 1, 40 + .buswidth = 4, 41 + .num_links = 1, 42 + .links = { SDM670_SLAVE_A1NOC_SNOC }, 43 + }; 44 + 45 + static struct qcom_icc_node xm_emmc = { 46 + .name = "xm_emmc", 47 + .id = SDM670_MASTER_EMMC, 48 + .channels = 1, 49 + .buswidth = 8, 50 + .num_links = 1, 51 + .links = { SDM670_SLAVE_A1NOC_SNOC }, 52 + }; 53 + 54 + static struct qcom_icc_node xm_sdc2 = { 55 + .name = "xm_sdc2", 56 + .id = SDM670_MASTER_SDCC_2, 57 + .channels = 1, 58 + .buswidth = 8, 59 + .num_links = 1, 60 + .links = { SDM670_SLAVE_A1NOC_SNOC }, 61 + }; 62 + 63 + static struct qcom_icc_node xm_sdc4 = { 64 + .name = "xm_sdc4", 65 + .id = SDM670_MASTER_SDCC_4, 66 + .channels = 1, 67 + .buswidth = 8, 68 + .num_links = 1, 69 + .links = { SDM670_SLAVE_A1NOC_SNOC }, 70 + }; 71 + 72 + static struct qcom_icc_node xm_ufs_mem = { 73 + .name = "xm_ufs_mem", 74 + .id = SDM670_MASTER_UFS_MEM, 75 + .channels = 1, 76 + .buswidth = 8, 77 + .num_links = 1, 78 + .links = { SDM670_SLAVE_A1NOC_SNOC }, 79 + }; 80 + 81 + static struct qcom_icc_node qhm_a2noc_cfg = { 82 + .name = "qhm_a2noc_cfg", 83 + .id = SDM670_MASTER_A2NOC_CFG, 84 + .channels = 1, 85 + .buswidth = 4, 86 + .num_links = 1, 87 + .links = { SDM670_SLAVE_SERVICE_A2NOC }, 88 + }; 89 + 90 + static struct qcom_icc_node qhm_qdss_bam = { 91 + .name = "qhm_qdss_bam", 92 + .id = SDM670_MASTER_QDSS_BAM, 93 + .channels = 1, 94 + .buswidth = 4, 95 + .num_links = 1, 96 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 97 + }; 98 + 99 + static struct qcom_icc_node qhm_qup2 = { 100 + .name = "qhm_qup2", 101 + .id = SDM670_MASTER_BLSP_2, 102 + .channels = 1, 103 + .buswidth = 4, 104 + .num_links = 1, 105 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 106 + }; 107 + 108 + static struct qcom_icc_node qnm_cnoc = { 109 + .name = "qnm_cnoc", 110 + .id = SDM670_MASTER_CNOC_A2NOC, 111 + .channels = 1, 112 + .buswidth = 8, 113 + .num_links = 1, 114 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 115 + }; 116 + 117 + static struct qcom_icc_node qxm_crypto = { 118 + .name = "qxm_crypto", 119 + .id = SDM670_MASTER_CRYPTO_CORE_0, 120 + .channels = 1, 121 + .buswidth = 8, 122 + .num_links = 1, 123 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 124 + }; 125 + 126 + static struct qcom_icc_node qxm_ipa = { 127 + .name = "qxm_ipa", 128 + .id = SDM670_MASTER_IPA, 129 + .channels = 1, 130 + .buswidth = 8, 131 + .num_links = 1, 132 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 133 + }; 134 + 135 + static struct qcom_icc_node xm_qdss_etr = { 136 + .name = "xm_qdss_etr", 137 + .id = SDM670_MASTER_QDSS_ETR, 138 + .channels = 1, 139 + .buswidth = 8, 140 + .num_links = 1, 141 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 142 + }; 143 + 144 + static struct qcom_icc_node xm_usb3_0 = { 145 + .name = "xm_usb3_0", 146 + .id = SDM670_MASTER_USB3, 147 + .channels = 1, 148 + .buswidth = 8, 149 + .num_links = 1, 150 + .links = { SDM670_SLAVE_A2NOC_SNOC }, 151 + }; 152 + 153 + static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 154 + .name = "qxm_camnoc_hf0_uncomp", 155 + .id = SDM670_MASTER_CAMNOC_HF0_UNCOMP, 156 + .channels = 1, 157 + .buswidth = 32, 158 + .num_links = 1, 159 + .links = { SDM670_SLAVE_CAMNOC_UNCOMP }, 160 + }; 161 + 162 + static struct qcom_icc_node qxm_camnoc_hf1_uncomp = { 163 + .name = "qxm_camnoc_hf1_uncomp", 164 + .id = SDM670_MASTER_CAMNOC_HF1_UNCOMP, 165 + .channels = 1, 166 + .buswidth = 32, 167 + .num_links = 1, 168 + .links = { SDM670_SLAVE_CAMNOC_UNCOMP }, 169 + }; 170 + 171 + static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 172 + .name = "qxm_camnoc_sf_uncomp", 173 + .id = SDM670_MASTER_CAMNOC_SF_UNCOMP, 174 + .channels = 1, 175 + .buswidth = 32, 176 + .num_links = 1, 177 + .links = { SDM670_SLAVE_CAMNOC_UNCOMP }, 178 + }; 179 + 180 + static struct qcom_icc_node qhm_spdm = { 181 + .name = "qhm_spdm", 182 + .id = SDM670_MASTER_SPDM, 183 + .channels = 1, 184 + .buswidth = 4, 185 + .num_links = 1, 186 + .links = { SDM670_SLAVE_CNOC_A2NOC }, 187 + }; 188 + 189 + static struct qcom_icc_node qnm_snoc = { 190 + .name = "qnm_snoc", 191 + .id = SDM670_MASTER_SNOC_CNOC, 192 + .channels = 1, 193 + .buswidth = 8, 194 + .num_links = 38, 195 + .links = { SDM670_SLAVE_TLMM_SOUTH, 196 + SDM670_SLAVE_CAMERA_CFG, 197 + SDM670_SLAVE_SDCC_4, 198 + SDM670_SLAVE_SDCC_2, 199 + SDM670_SLAVE_CNOC_MNOC_CFG, 200 + SDM670_SLAVE_UFS_MEM_CFG, 201 + SDM670_SLAVE_GLM, 202 + SDM670_SLAVE_PDM, 203 + SDM670_SLAVE_A2NOC_CFG, 204 + SDM670_SLAVE_QDSS_CFG, 205 + SDM670_SLAVE_DISPLAY_CFG, 206 + SDM670_SLAVE_TCSR, 207 + SDM670_SLAVE_DCC_CFG, 208 + SDM670_SLAVE_CNOC_DDRSS, 209 + SDM670_SLAVE_SNOC_CFG, 210 + SDM670_SLAVE_SOUTH_PHY_CFG, 211 + SDM670_SLAVE_GRAPHICS_3D_CFG, 212 + SDM670_SLAVE_VENUS_CFG, 213 + SDM670_SLAVE_TSIF, 214 + SDM670_SLAVE_CDSP_CFG, 215 + SDM670_SLAVE_AOP, 216 + SDM670_SLAVE_BLSP_2, 217 + SDM670_SLAVE_SERVICE_CNOC, 218 + SDM670_SLAVE_USB3, 219 + SDM670_SLAVE_IPA_CFG, 220 + SDM670_SLAVE_RBCPR_CX_CFG, 221 + SDM670_SLAVE_A1NOC_CFG, 222 + SDM670_SLAVE_AOSS, 223 + SDM670_SLAVE_PRNG, 224 + SDM670_SLAVE_VSENSE_CTRL_CFG, 225 + SDM670_SLAVE_EMMC_CFG, 226 + SDM670_SLAVE_BLSP_1, 227 + SDM670_SLAVE_SPDM_WRAPPER, 228 + SDM670_SLAVE_CRYPTO_0_CFG, 229 + SDM670_SLAVE_PIMEM_CFG, 230 + SDM670_SLAVE_TLMM_NORTH, 231 + SDM670_SLAVE_CLK_CTL, 232 + SDM670_SLAVE_IMEM_CFG 233 + }, 234 + }; 235 + 236 + static struct qcom_icc_node qhm_cnoc = { 237 + .name = "qhm_cnoc", 238 + .id = SDM670_MASTER_CNOC_DC_NOC, 239 + .channels = 1, 240 + .buswidth = 4, 241 + .num_links = 2, 242 + .links = { SDM670_SLAVE_MEM_NOC_CFG, 243 + SDM670_SLAVE_LLCC_CFG 244 + }, 245 + }; 246 + 247 + static struct qcom_icc_node acm_l3 = { 248 + .name = "acm_l3", 249 + .id = SDM670_MASTER_AMPSS_M0, 250 + .channels = 1, 251 + .buswidth = 16, 252 + .num_links = 3, 253 + .links = { SDM670_SLAVE_SERVICE_GNOC, 254 + SDM670_SLAVE_GNOC_SNOC, 255 + SDM670_SLAVE_GNOC_MEM_NOC 256 + }, 257 + }; 258 + 259 + static struct qcom_icc_node pm_gnoc_cfg = { 260 + .name = "pm_gnoc_cfg", 261 + .id = SDM670_MASTER_GNOC_CFG, 262 + .channels = 1, 263 + .buswidth = 4, 264 + .num_links = 1, 265 + .links = { SDM670_SLAVE_SERVICE_GNOC }, 266 + }; 267 + 268 + static struct qcom_icc_node llcc_mc = { 269 + .name = "llcc_mc", 270 + .id = SDM670_MASTER_LLCC, 271 + .channels = 2, 272 + .buswidth = 4, 273 + .num_links = 1, 274 + .links = { SDM670_SLAVE_EBI_CH0 }, 275 + }; 276 + 277 + static struct qcom_icc_node acm_tcu = { 278 + .name = "acm_tcu", 279 + .id = SDM670_MASTER_TCU_0, 280 + .channels = 1, 281 + .buswidth = 8, 282 + .num_links = 3, 283 + .links = { SDM670_SLAVE_MEM_NOC_GNOC, 284 + SDM670_SLAVE_LLCC, 285 + SDM670_SLAVE_MEM_NOC_SNOC 286 + }, 287 + }; 288 + 289 + static struct qcom_icc_node qhm_memnoc_cfg = { 290 + .name = "qhm_memnoc_cfg", 291 + .id = SDM670_MASTER_MEM_NOC_CFG, 292 + .channels = 1, 293 + .buswidth = 4, 294 + .num_links = 2, 295 + .links = { SDM670_SLAVE_SERVICE_MEM_NOC, 296 + SDM670_SLAVE_MSS_PROC_MS_MPU_CFG 297 + }, 298 + }; 299 + 300 + static struct qcom_icc_node qnm_apps = { 301 + .name = "qnm_apps", 302 + .id = SDM670_MASTER_GNOC_MEM_NOC, 303 + .channels = 2, 304 + .buswidth = 32, 305 + .num_links = 1, 306 + .links = { SDM670_SLAVE_LLCC }, 307 + }; 308 + 309 + static struct qcom_icc_node qnm_mnoc_hf = { 310 + .name = "qnm_mnoc_hf", 311 + .id = SDM670_MASTER_MNOC_HF_MEM_NOC, 312 + .channels = 2, 313 + .buswidth = 32, 314 + .num_links = 1, 315 + .links = { SDM670_SLAVE_LLCC }, 316 + }; 317 + 318 + static struct qcom_icc_node qnm_mnoc_sf = { 319 + .name = "qnm_mnoc_sf", 320 + .id = SDM670_MASTER_MNOC_SF_MEM_NOC, 321 + .channels = 1, 322 + .buswidth = 32, 323 + .num_links = 3, 324 + .links = { SDM670_SLAVE_MEM_NOC_GNOC, 325 + SDM670_SLAVE_LLCC, 326 + SDM670_SLAVE_MEM_NOC_SNOC 327 + }, 328 + }; 329 + 330 + static struct qcom_icc_node qnm_snoc_gc = { 331 + .name = "qnm_snoc_gc", 332 + .id = SDM670_MASTER_SNOC_GC_MEM_NOC, 333 + .channels = 1, 334 + .buswidth = 8, 335 + .num_links = 1, 336 + .links = { SDM670_SLAVE_LLCC }, 337 + }; 338 + 339 + static struct qcom_icc_node qnm_snoc_sf = { 340 + .name = "qnm_snoc_sf", 341 + .id = SDM670_MASTER_SNOC_SF_MEM_NOC, 342 + .channels = 1, 343 + .buswidth = 16, 344 + .num_links = 2, 345 + .links = { SDM670_SLAVE_MEM_NOC_GNOC, 346 + SDM670_SLAVE_LLCC 347 + }, 348 + }; 349 + 350 + static struct qcom_icc_node qxm_gpu = { 351 + .name = "qxm_gpu", 352 + .id = SDM670_MASTER_GRAPHICS_3D, 353 + .channels = 2, 354 + .buswidth = 32, 355 + .num_links = 3, 356 + .links = { SDM670_SLAVE_MEM_NOC_GNOC, 357 + SDM670_SLAVE_LLCC, 358 + SDM670_SLAVE_MEM_NOC_SNOC 359 + }, 360 + }; 361 + 362 + static struct qcom_icc_node qhm_mnoc_cfg = { 363 + .name = "qhm_mnoc_cfg", 364 + .id = SDM670_MASTER_CNOC_MNOC_CFG, 365 + .channels = 1, 366 + .buswidth = 4, 367 + .num_links = 1, 368 + .links = { SDM670_SLAVE_SERVICE_MNOC }, 369 + }; 370 + 371 + static struct qcom_icc_node qxm_camnoc_hf0 = { 372 + .name = "qxm_camnoc_hf0", 373 + .id = SDM670_MASTER_CAMNOC_HF0, 374 + .channels = 1, 375 + .buswidth = 32, 376 + .num_links = 1, 377 + .links = { SDM670_SLAVE_MNOC_HF_MEM_NOC }, 378 + }; 379 + 380 + static struct qcom_icc_node qxm_camnoc_hf1 = { 381 + .name = "qxm_camnoc_hf1", 382 + .id = SDM670_MASTER_CAMNOC_HF1, 383 + .channels = 1, 384 + .buswidth = 32, 385 + .num_links = 1, 386 + .links = { SDM670_SLAVE_MNOC_HF_MEM_NOC }, 387 + }; 388 + 389 + static struct qcom_icc_node qxm_camnoc_sf = { 390 + .name = "qxm_camnoc_sf", 391 + .id = SDM670_MASTER_CAMNOC_SF, 392 + .channels = 1, 393 + .buswidth = 32, 394 + .num_links = 1, 395 + .links = { SDM670_SLAVE_MNOC_SF_MEM_NOC }, 396 + }; 397 + 398 + static struct qcom_icc_node qxm_mdp0 = { 399 + .name = "qxm_mdp0", 400 + .id = SDM670_MASTER_MDP_PORT0, 401 + .channels = 1, 402 + .buswidth = 32, 403 + .num_links = 1, 404 + .links = { SDM670_SLAVE_MNOC_HF_MEM_NOC }, 405 + }; 406 + 407 + static struct qcom_icc_node qxm_mdp1 = { 408 + .name = "qxm_mdp1", 409 + .id = SDM670_MASTER_MDP_PORT1, 410 + .channels = 1, 411 + .buswidth = 32, 412 + .num_links = 1, 413 + .links = { SDM670_SLAVE_MNOC_HF_MEM_NOC }, 414 + }; 415 + 416 + static struct qcom_icc_node qxm_rot = { 417 + .name = "qxm_rot", 418 + .id = SDM670_MASTER_ROTATOR, 419 + .channels = 1, 420 + .buswidth = 32, 421 + .num_links = 1, 422 + .links = { SDM670_SLAVE_MNOC_SF_MEM_NOC }, 423 + }; 424 + 425 + static struct qcom_icc_node qxm_venus0 = { 426 + .name = "qxm_venus0", 427 + .id = SDM670_MASTER_VIDEO_P0, 428 + .channels = 1, 429 + .buswidth = 32, 430 + .num_links = 1, 431 + .links = { SDM670_SLAVE_MNOC_SF_MEM_NOC }, 432 + }; 433 + 434 + static struct qcom_icc_node qxm_venus1 = { 435 + .name = "qxm_venus1", 436 + .id = SDM670_MASTER_VIDEO_P1, 437 + .channels = 1, 438 + .buswidth = 32, 439 + .num_links = 1, 440 + .links = { SDM670_SLAVE_MNOC_SF_MEM_NOC }, 441 + }; 442 + 443 + static struct qcom_icc_node qxm_venus_arm9 = { 444 + .name = "qxm_venus_arm9", 445 + .id = SDM670_MASTER_VIDEO_PROC, 446 + .channels = 1, 447 + .buswidth = 8, 448 + .num_links = 1, 449 + .links = { SDM670_SLAVE_MNOC_SF_MEM_NOC }, 450 + }; 451 + 452 + static struct qcom_icc_node qhm_snoc_cfg = { 453 + .name = "qhm_snoc_cfg", 454 + .id = SDM670_MASTER_SNOC_CFG, 455 + .channels = 1, 456 + .buswidth = 4, 457 + .num_links = 1, 458 + .links = { SDM670_SLAVE_SERVICE_SNOC }, 459 + }; 460 + 461 + static struct qcom_icc_node qnm_aggre1_noc = { 462 + .name = "qnm_aggre1_noc", 463 + .id = SDM670_MASTER_A1NOC_SNOC, 464 + .channels = 1, 465 + .buswidth = 16, 466 + .num_links = 6, 467 + .links = { SDM670_SLAVE_PIMEM, 468 + SDM670_SLAVE_SNOC_MEM_NOC_SF, 469 + SDM670_SLAVE_OCIMEM, 470 + SDM670_SLAVE_APPSS, 471 + SDM670_SLAVE_SNOC_CNOC, 472 + SDM670_SLAVE_QDSS_STM 473 + }, 474 + }; 475 + 476 + static struct qcom_icc_node qnm_aggre2_noc = { 477 + .name = "qnm_aggre2_noc", 478 + .id = SDM670_MASTER_A2NOC_SNOC, 479 + .channels = 1, 480 + .buswidth = 16, 481 + .num_links = 7, 482 + .links = { SDM670_SLAVE_PIMEM, 483 + SDM670_SLAVE_SNOC_MEM_NOC_SF, 484 + SDM670_SLAVE_OCIMEM, 485 + SDM670_SLAVE_APPSS, 486 + SDM670_SLAVE_SNOC_CNOC, 487 + SDM670_SLAVE_TCU, 488 + SDM670_SLAVE_QDSS_STM 489 + }, 490 + }; 491 + 492 + static struct qcom_icc_node qnm_gladiator_sodv = { 493 + .name = "qnm_gladiator_sodv", 494 + .id = SDM670_MASTER_GNOC_SNOC, 495 + .channels = 1, 496 + .buswidth = 8, 497 + .num_links = 6, 498 + .links = { SDM670_SLAVE_PIMEM, 499 + SDM670_SLAVE_OCIMEM, 500 + SDM670_SLAVE_APPSS, 501 + SDM670_SLAVE_SNOC_CNOC, 502 + SDM670_SLAVE_TCU, 503 + SDM670_SLAVE_QDSS_STM 504 + }, 505 + }; 506 + 507 + static struct qcom_icc_node qnm_memnoc = { 508 + .name = "qnm_memnoc", 509 + .id = SDM670_MASTER_MEM_NOC_SNOC, 510 + .channels = 1, 511 + .buswidth = 8, 512 + .num_links = 5, 513 + .links = { SDM670_SLAVE_OCIMEM, 514 + SDM670_SLAVE_APPSS, 515 + SDM670_SLAVE_PIMEM, 516 + SDM670_SLAVE_SNOC_CNOC, 517 + SDM670_SLAVE_QDSS_STM 518 + }, 519 + }; 520 + 521 + static struct qcom_icc_node qxm_pimem = { 522 + .name = "qxm_pimem", 523 + .id = SDM670_MASTER_PIMEM, 524 + .channels = 1, 525 + .buswidth = 8, 526 + .num_links = 2, 527 + .links = { SDM670_SLAVE_OCIMEM, 528 + SDM670_SLAVE_SNOC_MEM_NOC_GC 529 + }, 530 + }; 531 + 532 + static struct qcom_icc_node xm_gic = { 533 + .name = "xm_gic", 534 + .id = SDM670_MASTER_GIC, 535 + .channels = 1, 536 + .buswidth = 8, 537 + .num_links = 2, 538 + .links = { SDM670_SLAVE_OCIMEM, 539 + SDM670_SLAVE_SNOC_MEM_NOC_GC 540 + }, 541 + }; 542 + 543 + static struct qcom_icc_node qns_a1noc_snoc = { 544 + .name = "qns_a1noc_snoc", 545 + .id = SDM670_SLAVE_A1NOC_SNOC, 546 + .channels = 1, 547 + .buswidth = 16, 548 + .num_links = 1, 549 + .links = { SDM670_MASTER_A1NOC_SNOC }, 550 + }; 551 + 552 + static struct qcom_icc_node srvc_aggre1_noc = { 553 + .name = "srvc_aggre1_noc", 554 + .id = SDM670_SLAVE_SERVICE_A1NOC, 555 + .channels = 1, 556 + .buswidth = 4, 557 + }; 558 + 559 + static struct qcom_icc_node qns_a2noc_snoc = { 560 + .name = "qns_a2noc_snoc", 561 + .id = SDM670_SLAVE_A2NOC_SNOC, 562 + .channels = 1, 563 + .buswidth = 16, 564 + .num_links = 1, 565 + .links = { SDM670_MASTER_A2NOC_SNOC }, 566 + }; 567 + 568 + static struct qcom_icc_node srvc_aggre2_noc = { 569 + .name = "srvc_aggre2_noc", 570 + .id = SDM670_SLAVE_SERVICE_A2NOC, 571 + .channels = 1, 572 + .buswidth = 4, 573 + }; 574 + 575 + static struct qcom_icc_node qns_camnoc_uncomp = { 576 + .name = "qns_camnoc_uncomp", 577 + .id = SDM670_SLAVE_CAMNOC_UNCOMP, 578 + .channels = 1, 579 + .buswidth = 32, 580 + }; 581 + 582 + static struct qcom_icc_node qhs_a1_noc_cfg = { 583 + .name = "qhs_a1_noc_cfg", 584 + .id = SDM670_SLAVE_A1NOC_CFG, 585 + .channels = 1, 586 + .buswidth = 4, 587 + .num_links = 1, 588 + .links = { SDM670_MASTER_A1NOC_CFG }, 589 + }; 590 + 591 + static struct qcom_icc_node qhs_a2_noc_cfg = { 592 + .name = "qhs_a2_noc_cfg", 593 + .id = SDM670_SLAVE_A2NOC_CFG, 594 + .channels = 1, 595 + .buswidth = 4, 596 + .num_links = 1, 597 + .links = { SDM670_MASTER_A2NOC_CFG }, 598 + }; 599 + 600 + static struct qcom_icc_node qhs_aop = { 601 + .name = "qhs_aop", 602 + .id = SDM670_SLAVE_AOP, 603 + .channels = 1, 604 + .buswidth = 4, 605 + }; 606 + 607 + static struct qcom_icc_node qhs_aoss = { 608 + .name = "qhs_aoss", 609 + .id = SDM670_SLAVE_AOSS, 610 + .channels = 1, 611 + .buswidth = 4, 612 + }; 613 + 614 + static struct qcom_icc_node qhs_camera_cfg = { 615 + .name = "qhs_camera_cfg", 616 + .id = SDM670_SLAVE_CAMERA_CFG, 617 + .channels = 1, 618 + .buswidth = 4, 619 + }; 620 + 621 + static struct qcom_icc_node qhs_clk_ctl = { 622 + .name = "qhs_clk_ctl", 623 + .id = SDM670_SLAVE_CLK_CTL, 624 + .channels = 1, 625 + .buswidth = 4, 626 + }; 627 + 628 + static struct qcom_icc_node qhs_compute_dsp_cfg = { 629 + .name = "qhs_compute_dsp_cfg", 630 + .id = SDM670_SLAVE_CDSP_CFG, 631 + .channels = 1, 632 + .buswidth = 4, 633 + }; 634 + 635 + static struct qcom_icc_node qhs_cpr_cx = { 636 + .name = "qhs_cpr_cx", 637 + .id = SDM670_SLAVE_RBCPR_CX_CFG, 638 + .channels = 1, 639 + .buswidth = 4, 640 + }; 641 + 642 + static struct qcom_icc_node qhs_crypto0_cfg = { 643 + .name = "qhs_crypto0_cfg", 644 + .id = SDM670_SLAVE_CRYPTO_0_CFG, 645 + .channels = 1, 646 + .buswidth = 4, 647 + }; 648 + 649 + static struct qcom_icc_node qhs_dcc_cfg = { 650 + .name = "qhs_dcc_cfg", 651 + .id = SDM670_SLAVE_DCC_CFG, 652 + .channels = 1, 653 + .buswidth = 4, 654 + .num_links = 1, 655 + .links = { SDM670_MASTER_CNOC_DC_NOC }, 656 + }; 657 + 658 + static struct qcom_icc_node qhs_ddrss_cfg = { 659 + .name = "qhs_ddrss_cfg", 660 + .id = SDM670_SLAVE_CNOC_DDRSS, 661 + .channels = 1, 662 + .buswidth = 4, 663 + }; 664 + 665 + static struct qcom_icc_node qhs_display_cfg = { 666 + .name = "qhs_display_cfg", 667 + .id = SDM670_SLAVE_DISPLAY_CFG, 668 + .channels = 1, 669 + .buswidth = 4, 670 + }; 671 + 672 + static struct qcom_icc_node qhs_emmc_cfg = { 673 + .name = "qhs_emmc_cfg", 674 + .id = SDM670_SLAVE_EMMC_CFG, 675 + .channels = 1, 676 + .buswidth = 4, 677 + }; 678 + 679 + static struct qcom_icc_node qhs_glm = { 680 + .name = "qhs_glm", 681 + .id = SDM670_SLAVE_GLM, 682 + .channels = 1, 683 + .buswidth = 4, 684 + }; 685 + 686 + static struct qcom_icc_node qhs_gpuss_cfg = { 687 + .name = "qhs_gpuss_cfg", 688 + .id = SDM670_SLAVE_GRAPHICS_3D_CFG, 689 + .channels = 1, 690 + .buswidth = 8, 691 + }; 692 + 693 + static struct qcom_icc_node qhs_imem_cfg = { 694 + .name = "qhs_imem_cfg", 695 + .id = SDM670_SLAVE_IMEM_CFG, 696 + .channels = 1, 697 + .buswidth = 4, 698 + }; 699 + 700 + static struct qcom_icc_node qhs_ipa = { 701 + .name = "qhs_ipa", 702 + .id = SDM670_SLAVE_IPA_CFG, 703 + .channels = 1, 704 + .buswidth = 4, 705 + }; 706 + 707 + static struct qcom_icc_node qhs_mnoc_cfg = { 708 + .name = "qhs_mnoc_cfg", 709 + .id = SDM670_SLAVE_CNOC_MNOC_CFG, 710 + .channels = 1, 711 + .buswidth = 4, 712 + .num_links = 1, 713 + .links = { SDM670_MASTER_CNOC_MNOC_CFG }, 714 + }; 715 + 716 + static struct qcom_icc_node qhs_pdm = { 717 + .name = "qhs_pdm", 718 + .id = SDM670_SLAVE_PDM, 719 + .channels = 1, 720 + .buswidth = 4, 721 + }; 722 + 723 + static struct qcom_icc_node qhs_phy_refgen_south = { 724 + .name = "qhs_phy_refgen_south", 725 + .id = SDM670_SLAVE_SOUTH_PHY_CFG, 726 + .channels = 1, 727 + .buswidth = 4, 728 + }; 729 + 730 + static struct qcom_icc_node qhs_pimem_cfg = { 731 + .name = "qhs_pimem_cfg", 732 + .id = SDM670_SLAVE_PIMEM_CFG, 733 + .channels = 1, 734 + .buswidth = 4, 735 + }; 736 + 737 + static struct qcom_icc_node qhs_prng = { 738 + .name = "qhs_prng", 739 + .id = SDM670_SLAVE_PRNG, 740 + .channels = 1, 741 + .buswidth = 4, 742 + }; 743 + 744 + static struct qcom_icc_node qhs_qdss_cfg = { 745 + .name = "qhs_qdss_cfg", 746 + .id = SDM670_SLAVE_QDSS_CFG, 747 + .channels = 1, 748 + .buswidth = 4, 749 + }; 750 + 751 + static struct qcom_icc_node qhs_qupv3_north = { 752 + .name = "qhs_qupv3_north", 753 + .id = SDM670_SLAVE_BLSP_2, 754 + .channels = 1, 755 + .buswidth = 4, 756 + }; 757 + 758 + static struct qcom_icc_node qhs_qupv3_south = { 759 + .name = "qhs_qupv3_south", 760 + .id = SDM670_SLAVE_BLSP_1, 761 + .channels = 1, 762 + .buswidth = 4, 763 + }; 764 + 765 + static struct qcom_icc_node qhs_sdc2 = { 766 + .name = "qhs_sdc2", 767 + .id = SDM670_SLAVE_SDCC_2, 768 + .channels = 1, 769 + .buswidth = 4, 770 + }; 771 + 772 + static struct qcom_icc_node qhs_sdc4 = { 773 + .name = "qhs_sdc4", 774 + .id = SDM670_SLAVE_SDCC_4, 775 + .channels = 1, 776 + .buswidth = 4, 777 + }; 778 + 779 + static struct qcom_icc_node qhs_snoc_cfg = { 780 + .name = "qhs_snoc_cfg", 781 + .id = SDM670_SLAVE_SNOC_CFG, 782 + .channels = 1, 783 + .buswidth = 4, 784 + .num_links = 1, 785 + .links = { SDM670_MASTER_SNOC_CFG }, 786 + }; 787 + 788 + static struct qcom_icc_node qhs_spdm = { 789 + .name = "qhs_spdm", 790 + .id = SDM670_SLAVE_SPDM_WRAPPER, 791 + .channels = 1, 792 + .buswidth = 4, 793 + }; 794 + 795 + static struct qcom_icc_node qhs_tcsr = { 796 + .name = "qhs_tcsr", 797 + .id = SDM670_SLAVE_TCSR, 798 + .channels = 1, 799 + .buswidth = 4, 800 + }; 801 + 802 + static struct qcom_icc_node qhs_tlmm_north = { 803 + .name = "qhs_tlmm_north", 804 + .id = SDM670_SLAVE_TLMM_NORTH, 805 + .channels = 1, 806 + .buswidth = 4, 807 + }; 808 + 809 + static struct qcom_icc_node qhs_tlmm_south = { 810 + .name = "qhs_tlmm_south", 811 + .id = SDM670_SLAVE_TLMM_SOUTH, 812 + .channels = 1, 813 + .buswidth = 4, 814 + }; 815 + 816 + static struct qcom_icc_node qhs_tsif = { 817 + .name = "qhs_tsif", 818 + .id = SDM670_SLAVE_TSIF, 819 + .channels = 1, 820 + .buswidth = 4, 821 + }; 822 + 823 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 824 + .name = "qhs_ufs_mem_cfg", 825 + .id = SDM670_SLAVE_UFS_MEM_CFG, 826 + .channels = 1, 827 + .buswidth = 4, 828 + }; 829 + 830 + static struct qcom_icc_node qhs_usb3_0 = { 831 + .name = "qhs_usb3_0", 832 + .id = SDM670_SLAVE_USB3, 833 + .channels = 1, 834 + .buswidth = 4, 835 + }; 836 + 837 + static struct qcom_icc_node qhs_venus_cfg = { 838 + .name = "qhs_venus_cfg", 839 + .id = SDM670_SLAVE_VENUS_CFG, 840 + .channels = 1, 841 + .buswidth = 4, 842 + }; 843 + 844 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 845 + .name = "qhs_vsense_ctrl_cfg", 846 + .id = SDM670_SLAVE_VSENSE_CTRL_CFG, 847 + .channels = 1, 848 + .buswidth = 4, 849 + }; 850 + 851 + static struct qcom_icc_node qns_cnoc_a2noc = { 852 + .name = "qns_cnoc_a2noc", 853 + .id = SDM670_SLAVE_CNOC_A2NOC, 854 + .channels = 1, 855 + .buswidth = 8, 856 + .num_links = 1, 857 + .links = { SDM670_MASTER_CNOC_A2NOC }, 858 + }; 859 + 860 + static struct qcom_icc_node srvc_cnoc = { 861 + .name = "srvc_cnoc", 862 + .id = SDM670_SLAVE_SERVICE_CNOC, 863 + .channels = 1, 864 + .buswidth = 4, 865 + }; 866 + 867 + static struct qcom_icc_node qhs_llcc = { 868 + .name = "qhs_llcc", 869 + .id = SDM670_SLAVE_LLCC_CFG, 870 + .channels = 1, 871 + .buswidth = 4, 872 + }; 873 + 874 + static struct qcom_icc_node qhs_memnoc = { 875 + .name = "qhs_memnoc", 876 + .id = SDM670_SLAVE_MEM_NOC_CFG, 877 + .channels = 1, 878 + .buswidth = 4, 879 + .num_links = 1, 880 + .links = { SDM670_MASTER_MEM_NOC_CFG }, 881 + }; 882 + 883 + static struct qcom_icc_node qns_gladiator_sodv = { 884 + .name = "qns_gladiator_sodv", 885 + .id = SDM670_SLAVE_GNOC_SNOC, 886 + .channels = 1, 887 + .buswidth = 8, 888 + .num_links = 1, 889 + .links = { SDM670_MASTER_GNOC_SNOC }, 890 + }; 891 + 892 + static struct qcom_icc_node qns_gnoc_memnoc = { 893 + .name = "qns_gnoc_memnoc", 894 + .id = SDM670_SLAVE_GNOC_MEM_NOC, 895 + .channels = 2, 896 + .buswidth = 32, 897 + .num_links = 1, 898 + .links = { SDM670_MASTER_GNOC_MEM_NOC }, 899 + }; 900 + 901 + static struct qcom_icc_node srvc_gnoc = { 902 + .name = "srvc_gnoc", 903 + .id = SDM670_SLAVE_SERVICE_GNOC, 904 + .channels = 1, 905 + .buswidth = 4, 906 + }; 907 + 908 + static struct qcom_icc_node ebi = { 909 + .name = "ebi", 910 + .id = SDM670_SLAVE_EBI_CH0, 911 + .channels = 2, 912 + .buswidth = 4, 913 + }; 914 + 915 + static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 916 + .name = "qhs_mdsp_ms_mpu_cfg", 917 + .id = SDM670_SLAVE_MSS_PROC_MS_MPU_CFG, 918 + .channels = 1, 919 + .buswidth = 4, 920 + }; 921 + 922 + static struct qcom_icc_node qns_apps_io = { 923 + .name = "qns_apps_io", 924 + .id = SDM670_SLAVE_MEM_NOC_GNOC, 925 + .channels = 1, 926 + .buswidth = 32, 927 + }; 928 + 929 + static struct qcom_icc_node qns_llcc = { 930 + .name = "qns_llcc", 931 + .id = SDM670_SLAVE_LLCC, 932 + .channels = 2, 933 + .buswidth = 16, 934 + .num_links = 1, 935 + .links = { SDM670_MASTER_LLCC }, 936 + }; 937 + 938 + static struct qcom_icc_node qns_memnoc_snoc = { 939 + .name = "qns_memnoc_snoc", 940 + .id = SDM670_SLAVE_MEM_NOC_SNOC, 941 + .channels = 1, 942 + .buswidth = 8, 943 + .num_links = 1, 944 + .links = { SDM670_MASTER_MEM_NOC_SNOC }, 945 + }; 946 + 947 + static struct qcom_icc_node srvc_memnoc = { 948 + .name = "srvc_memnoc", 949 + .id = SDM670_SLAVE_SERVICE_MEM_NOC, 950 + .channels = 1, 951 + .buswidth = 4, 952 + }; 953 + 954 + static struct qcom_icc_node qns2_mem_noc = { 955 + .name = "qns2_mem_noc", 956 + .id = SDM670_SLAVE_MNOC_SF_MEM_NOC, 957 + .channels = 1, 958 + .buswidth = 32, 959 + .num_links = 1, 960 + .links = { SDM670_MASTER_MNOC_SF_MEM_NOC }, 961 + }; 962 + 963 + static struct qcom_icc_node qns_mem_noc_hf = { 964 + .name = "qns_mem_noc_hf", 965 + .id = SDM670_SLAVE_MNOC_HF_MEM_NOC, 966 + .channels = 2, 967 + .buswidth = 32, 968 + .num_links = 1, 969 + .links = { SDM670_MASTER_MNOC_HF_MEM_NOC }, 970 + }; 971 + 972 + static struct qcom_icc_node srvc_mnoc = { 973 + .name = "srvc_mnoc", 974 + .id = SDM670_SLAVE_SERVICE_MNOC, 975 + .channels = 1, 976 + .buswidth = 4, 977 + }; 978 + 979 + static struct qcom_icc_node qhs_apss = { 980 + .name = "qhs_apss", 981 + .id = SDM670_SLAVE_APPSS, 982 + .channels = 1, 983 + .buswidth = 8, 984 + }; 985 + 986 + static struct qcom_icc_node qns_cnoc = { 987 + .name = "qns_cnoc", 988 + .id = SDM670_SLAVE_SNOC_CNOC, 989 + .channels = 1, 990 + .buswidth = 8, 991 + .num_links = 1, 992 + .links = { SDM670_MASTER_SNOC_CNOC }, 993 + }; 994 + 995 + static struct qcom_icc_node qns_memnoc_gc = { 996 + .name = "qns_memnoc_gc", 997 + .id = SDM670_SLAVE_SNOC_MEM_NOC_GC, 998 + .channels = 1, 999 + .buswidth = 8, 1000 + .num_links = 1, 1001 + .links = { SDM670_MASTER_SNOC_GC_MEM_NOC }, 1002 + }; 1003 + 1004 + static struct qcom_icc_node qns_memnoc_sf = { 1005 + .name = "qns_memnoc_sf", 1006 + .id = SDM670_SLAVE_SNOC_MEM_NOC_SF, 1007 + .channels = 1, 1008 + .buswidth = 16, 1009 + .num_links = 1, 1010 + .links = { SDM670_MASTER_SNOC_SF_MEM_NOC }, 1011 + }; 1012 + 1013 + static struct qcom_icc_node qxs_imem = { 1014 + .name = "qxs_imem", 1015 + .id = SDM670_SLAVE_OCIMEM, 1016 + .channels = 1, 1017 + .buswidth = 8, 1018 + }; 1019 + 1020 + static struct qcom_icc_node qxs_pimem = { 1021 + .name = "qxs_pimem", 1022 + .id = SDM670_SLAVE_PIMEM, 1023 + .channels = 1, 1024 + .buswidth = 8, 1025 + }; 1026 + 1027 + static struct qcom_icc_node srvc_snoc = { 1028 + .name = "srvc_snoc", 1029 + .id = SDM670_SLAVE_SERVICE_SNOC, 1030 + .channels = 1, 1031 + .buswidth = 4, 1032 + }; 1033 + 1034 + static struct qcom_icc_node xs_qdss_stm = { 1035 + .name = "xs_qdss_stm", 1036 + .id = SDM670_SLAVE_QDSS_STM, 1037 + .channels = 1, 1038 + .buswidth = 4, 1039 + }; 1040 + 1041 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1042 + .name = "xs_sys_tcu_cfg", 1043 + .id = SDM670_SLAVE_TCU, 1044 + .channels = 1, 1045 + .buswidth = 8, 1046 + }; 1047 + 1048 + static struct qcom_icc_bcm bcm_acv = { 1049 + .name = "ACV", 1050 + .keepalive = false, 1051 + .num_nodes = 1, 1052 + .nodes = { &ebi }, 1053 + }; 1054 + 1055 + static struct qcom_icc_bcm bcm_mc0 = { 1056 + .name = "MC0", 1057 + .keepalive = true, 1058 + .num_nodes = 1, 1059 + .nodes = { &ebi }, 1060 + }; 1061 + 1062 + static struct qcom_icc_bcm bcm_sh0 = { 1063 + .name = "SH0", 1064 + .keepalive = true, 1065 + .num_nodes = 1, 1066 + .nodes = { &qns_llcc }, 1067 + }; 1068 + 1069 + static struct qcom_icc_bcm bcm_mm0 = { 1070 + .name = "MM0", 1071 + .keepalive = true, 1072 + .num_nodes = 1, 1073 + .nodes = { &qns_mem_noc_hf }, 1074 + }; 1075 + 1076 + static struct qcom_icc_bcm bcm_sh1 = { 1077 + .name = "SH1", 1078 + .keepalive = false, 1079 + .num_nodes = 1, 1080 + .nodes = { &qns_apps_io }, 1081 + }; 1082 + 1083 + static struct qcom_icc_bcm bcm_mm1 = { 1084 + .name = "MM1", 1085 + .keepalive = true, 1086 + .num_nodes = 7, 1087 + .nodes = { &qxm_camnoc_hf0_uncomp, 1088 + &qxm_camnoc_hf1_uncomp, 1089 + &qxm_camnoc_sf_uncomp, 1090 + &qxm_camnoc_hf0, 1091 + &qxm_camnoc_hf1, 1092 + &qxm_mdp0, 1093 + &qxm_mdp1 1094 + }, 1095 + }; 1096 + 1097 + static struct qcom_icc_bcm bcm_sh2 = { 1098 + .name = "SH2", 1099 + .keepalive = false, 1100 + .num_nodes = 1, 1101 + .nodes = { &qns_memnoc_snoc }, 1102 + }; 1103 + 1104 + static struct qcom_icc_bcm bcm_mm2 = { 1105 + .name = "MM2", 1106 + .keepalive = false, 1107 + .num_nodes = 1, 1108 + .nodes = { &qns2_mem_noc }, 1109 + }; 1110 + 1111 + static struct qcom_icc_bcm bcm_sh3 = { 1112 + .name = "SH3", 1113 + .keepalive = false, 1114 + .num_nodes = 1, 1115 + .nodes = { &acm_tcu }, 1116 + }; 1117 + 1118 + static struct qcom_icc_bcm bcm_mm3 = { 1119 + .name = "MM3", 1120 + .keepalive = false, 1121 + .num_nodes = 5, 1122 + .nodes = { &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9 }, 1123 + }; 1124 + 1125 + static struct qcom_icc_bcm bcm_sh5 = { 1126 + .name = "SH5", 1127 + .keepalive = false, 1128 + .num_nodes = 1, 1129 + .nodes = { &qnm_apps }, 1130 + }; 1131 + 1132 + static struct qcom_icc_bcm bcm_sn0 = { 1133 + .name = "SN0", 1134 + .keepalive = true, 1135 + .num_nodes = 1, 1136 + .nodes = { &qns_memnoc_sf }, 1137 + }; 1138 + 1139 + static struct qcom_icc_bcm bcm_ce0 = { 1140 + .name = "CE0", 1141 + .keepalive = false, 1142 + .num_nodes = 1, 1143 + .nodes = { &qxm_crypto }, 1144 + }; 1145 + 1146 + static struct qcom_icc_bcm bcm_cn0 = { 1147 + .name = "CN0", 1148 + .keepalive = true, 1149 + .num_nodes = 41, 1150 + .nodes = { &qhm_spdm, 1151 + &qnm_snoc, 1152 + &qhs_a1_noc_cfg, 1153 + &qhs_a2_noc_cfg, 1154 + &qhs_aop, 1155 + &qhs_aoss, 1156 + &qhs_camera_cfg, 1157 + &qhs_clk_ctl, 1158 + &qhs_compute_dsp_cfg, 1159 + &qhs_cpr_cx, 1160 + &qhs_crypto0_cfg, 1161 + &qhs_dcc_cfg, 1162 + &qhs_ddrss_cfg, 1163 + &qhs_display_cfg, 1164 + &qhs_emmc_cfg, 1165 + &qhs_glm, 1166 + &qhs_gpuss_cfg, 1167 + &qhs_imem_cfg, 1168 + &qhs_ipa, 1169 + &qhs_mnoc_cfg, 1170 + &qhs_pdm, 1171 + &qhs_phy_refgen_south, 1172 + &qhs_pimem_cfg, 1173 + &qhs_prng, 1174 + &qhs_qdss_cfg, 1175 + &qhs_qupv3_north, 1176 + &qhs_qupv3_south, 1177 + &qhs_sdc2, 1178 + &qhs_sdc4, 1179 + &qhs_snoc_cfg, 1180 + &qhs_spdm, 1181 + &qhs_tcsr, 1182 + &qhs_tlmm_north, 1183 + &qhs_tlmm_south, 1184 + &qhs_tsif, 1185 + &qhs_ufs_mem_cfg, 1186 + &qhs_usb3_0, 1187 + &qhs_venus_cfg, 1188 + &qhs_vsense_ctrl_cfg, 1189 + &qns_cnoc_a2noc, 1190 + &srvc_cnoc 1191 + }, 1192 + }; 1193 + 1194 + static struct qcom_icc_bcm bcm_qup0 = { 1195 + .name = "QUP0", 1196 + .keepalive = false, 1197 + .num_nodes = 2, 1198 + .nodes = { &qhm_qup1, &qhm_qup2 }, 1199 + }; 1200 + 1201 + static struct qcom_icc_bcm bcm_sn1 = { 1202 + .name = "SN1", 1203 + .keepalive = false, 1204 + .num_nodes = 1, 1205 + .nodes = { &qxs_imem }, 1206 + }; 1207 + 1208 + static struct qcom_icc_bcm bcm_sn2 = { 1209 + .name = "SN2", 1210 + .keepalive = false, 1211 + .num_nodes = 1, 1212 + .nodes = { &qns_memnoc_gc }, 1213 + }; 1214 + 1215 + static struct qcom_icc_bcm bcm_sn3 = { 1216 + .name = "SN3", 1217 + .keepalive = false, 1218 + .num_nodes = 1, 1219 + .nodes = { &qns_cnoc }, 1220 + }; 1221 + 1222 + static struct qcom_icc_bcm bcm_sn4 = { 1223 + .name = "SN4", 1224 + .keepalive = false, 1225 + .num_nodes = 2, 1226 + .nodes = { &qxm_pimem, &qxs_pimem }, 1227 + }; 1228 + 1229 + static struct qcom_icc_bcm bcm_sn5 = { 1230 + .name = "SN5", 1231 + .keepalive = false, 1232 + .num_nodes = 1, 1233 + .nodes = { &xs_qdss_stm }, 1234 + }; 1235 + 1236 + static struct qcom_icc_bcm bcm_sn8 = { 1237 + .name = "SN8", 1238 + .keepalive = false, 1239 + .num_nodes = 2, 1240 + .nodes = { &qnm_aggre1_noc, &srvc_aggre1_noc }, 1241 + }; 1242 + 1243 + static struct qcom_icc_bcm bcm_sn10 = { 1244 + .name = "SN10", 1245 + .keepalive = false, 1246 + .num_nodes = 2, 1247 + .nodes = { &qnm_aggre2_noc, &srvc_aggre2_noc }, 1248 + }; 1249 + 1250 + static struct qcom_icc_bcm bcm_sn11 = { 1251 + .name = "SN11", 1252 + .keepalive = false, 1253 + .num_nodes = 2, 1254 + .nodes = { &qnm_gladiator_sodv, &xm_gic }, 1255 + }; 1256 + 1257 + static struct qcom_icc_bcm bcm_sn13 = { 1258 + .name = "SN13", 1259 + .keepalive = false, 1260 + .num_nodes = 1, 1261 + .nodes = { &qnm_memnoc }, 1262 + }; 159 1263 160 1264 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 161 1265 &bcm_qup0,
+1495 -158
drivers/interconnect/qcom/sdm845.c
··· 16 16 #include "icc-rpmh.h" 17 17 #include "sdm845.h" 18 18 19 - DEFINE_QNODE(qhm_a1noc_cfg, SDM845_MASTER_A1NOC_CFG, 1, 4, SDM845_SLAVE_SERVICE_A1NOC); 20 - DEFINE_QNODE(qhm_qup1, SDM845_MASTER_BLSP_1, 1, 4, SDM845_SLAVE_A1NOC_SNOC); 21 - DEFINE_QNODE(qhm_tsif, SDM845_MASTER_TSIF, 1, 4, SDM845_SLAVE_A1NOC_SNOC); 22 - DEFINE_QNODE(xm_sdc2, SDM845_MASTER_SDCC_2, 1, 8, SDM845_SLAVE_A1NOC_SNOC); 23 - DEFINE_QNODE(xm_sdc4, SDM845_MASTER_SDCC_4, 1, 8, SDM845_SLAVE_A1NOC_SNOC); 24 - DEFINE_QNODE(xm_ufs_card, SDM845_MASTER_UFS_CARD, 1, 8, SDM845_SLAVE_A1NOC_SNOC); 25 - DEFINE_QNODE(xm_ufs_mem, SDM845_MASTER_UFS_MEM, 1, 8, SDM845_SLAVE_A1NOC_SNOC); 26 - DEFINE_QNODE(xm_pcie_0, SDM845_MASTER_PCIE_0, 1, 8, SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC); 27 - DEFINE_QNODE(qhm_a2noc_cfg, SDM845_MASTER_A2NOC_CFG, 1, 4, SDM845_SLAVE_SERVICE_A2NOC); 28 - DEFINE_QNODE(qhm_qdss_bam, SDM845_MASTER_QDSS_BAM, 1, 4, SDM845_SLAVE_A2NOC_SNOC); 29 - DEFINE_QNODE(qhm_qup2, SDM845_MASTER_BLSP_2, 1, 4, SDM845_SLAVE_A2NOC_SNOC); 30 - DEFINE_QNODE(qnm_cnoc, SDM845_MASTER_CNOC_A2NOC, 1, 8, SDM845_SLAVE_A2NOC_SNOC); 31 - DEFINE_QNODE(qxm_crypto, SDM845_MASTER_CRYPTO, 1, 8, SDM845_SLAVE_A2NOC_SNOC); 32 - DEFINE_QNODE(qxm_ipa, SDM845_MASTER_IPA, 1, 8, SDM845_SLAVE_A2NOC_SNOC); 33 - DEFINE_QNODE(xm_pcie3_1, SDM845_MASTER_PCIE_1, 1, 8, SDM845_SLAVE_ANOC_PCIE_SNOC); 34 - DEFINE_QNODE(xm_qdss_etr, SDM845_MASTER_QDSS_ETR, 1, 8, SDM845_SLAVE_A2NOC_SNOC); 35 - DEFINE_QNODE(xm_usb3_0, SDM845_MASTER_USB3_0, 1, 8, SDM845_SLAVE_A2NOC_SNOC); 36 - DEFINE_QNODE(xm_usb3_1, SDM845_MASTER_USB3_1, 1, 8, SDM845_SLAVE_A2NOC_SNOC); 37 - DEFINE_QNODE(qxm_camnoc_hf0_uncomp, SDM845_MASTER_CAMNOC_HF0_UNCOMP, 1, 32, SDM845_SLAVE_CAMNOC_UNCOMP); 38 - DEFINE_QNODE(qxm_camnoc_hf1_uncomp, SDM845_MASTER_CAMNOC_HF1_UNCOMP, 1, 32, SDM845_SLAVE_CAMNOC_UNCOMP); 39 - DEFINE_QNODE(qxm_camnoc_sf_uncomp, SDM845_MASTER_CAMNOC_SF_UNCOMP, 1, 32, SDM845_SLAVE_CAMNOC_UNCOMP); 40 - DEFINE_QNODE(qhm_spdm, SDM845_MASTER_SPDM, 1, 4, SDM845_SLAVE_CNOC_A2NOC); 41 - DEFINE_QNODE(qhm_tic, SDM845_MASTER_TIC, 1, 4, SDM845_SLAVE_A1NOC_CFG, SDM845_SLAVE_A2NOC_CFG, SDM845_SLAVE_AOP, SDM845_SLAVE_AOSS, SDM845_SLAVE_CAMERA_CFG, SDM845_SLAVE_CLK_CTL, SDM845_SLAVE_CDSP_CFG, SDM845_SLAVE_RBCPR_CX_CFG, SDM845_SLAVE_CRYPTO_0_CFG, SDM845_SLAVE_DCC_CFG, SDM845_SLAVE_CNOC_DDRSS, SDM845_SLAVE_DISPLAY_CFG, SDM845_SLAVE_GLM, SDM845_SLAVE_GFX3D_CFG, SDM845_SLAVE_IMEM_CFG, SDM845_SLAVE_IPA_CFG, SDM845_SLAVE_CNOC_MNOC_CFG, SDM845_SLAVE_PCIE_0_CFG, SDM845_SLAVE_PCIE_1_CFG, SDM845_SLAVE_PDM, SDM845_SLAVE_SOUTH_PHY_CFG, SDM845_SLAVE_PIMEM_CFG, SDM845_SLAVE_PRNG, SDM845_SLAVE_QDSS_CFG, SDM845_SLAVE_BLSP_2, SDM845_SLAVE_BLSP_1, SDM845_SLAVE_SDCC_2, SDM845_SLAVE_SDCC_4, SDM845_SLAVE_SNOC_CFG, SDM845_SLAVE_SPDM_WRAPPER, SDM845_SLAVE_SPSS_CFG, SDM845_SLAVE_TCSR, SDM845_SLAVE_TLMM_NORTH, SDM845_SLAVE_TLMM_SOUTH, SDM845_SLAVE_TSIF, SDM845_SLAVE_UFS_CARD_CFG, SDM845_SLAVE_UFS_MEM_CFG, SDM845_SLAVE_USB3_0, SDM845_SLAVE_USB3_1, SDM845_SLAVE_VENUS_CFG, SDM845_SLAVE_VSENSE_CTRL_CFG, SDM845_SLAVE_CNOC_A2NOC, SDM845_SLAVE_SERVICE_CNOC); 42 - DEFINE_QNODE(qnm_snoc, SDM845_MASTER_SNOC_CNOC, 1, 8, SDM845_SLAVE_A1NOC_CFG, SDM845_SLAVE_A2NOC_CFG, SDM845_SLAVE_AOP, SDM845_SLAVE_AOSS, SDM845_SLAVE_CAMERA_CFG, SDM845_SLAVE_CLK_CTL, SDM845_SLAVE_CDSP_CFG, SDM845_SLAVE_RBCPR_CX_CFG, SDM845_SLAVE_CRYPTO_0_CFG, SDM845_SLAVE_DCC_CFG, SDM845_SLAVE_CNOC_DDRSS, SDM845_SLAVE_DISPLAY_CFG, SDM845_SLAVE_GLM, SDM845_SLAVE_GFX3D_CFG, SDM845_SLAVE_IMEM_CFG, SDM845_SLAVE_IPA_CFG, SDM845_SLAVE_CNOC_MNOC_CFG, SDM845_SLAVE_PCIE_0_CFG, SDM845_SLAVE_PCIE_1_CFG, SDM845_SLAVE_PDM, SDM845_SLAVE_SOUTH_PHY_CFG, SDM845_SLAVE_PIMEM_CFG, SDM845_SLAVE_PRNG, SDM845_SLAVE_QDSS_CFG, SDM845_SLAVE_BLSP_2, SDM845_SLAVE_BLSP_1, SDM845_SLAVE_SDCC_2, SDM845_SLAVE_SDCC_4, SDM845_SLAVE_SNOC_CFG, SDM845_SLAVE_SPDM_WRAPPER, SDM845_SLAVE_SPSS_CFG, SDM845_SLAVE_TCSR, SDM845_SLAVE_TLMM_NORTH, SDM845_SLAVE_TLMM_SOUTH, SDM845_SLAVE_TSIF, SDM845_SLAVE_UFS_CARD_CFG, SDM845_SLAVE_UFS_MEM_CFG, SDM845_SLAVE_USB3_0, SDM845_SLAVE_USB3_1, SDM845_SLAVE_VENUS_CFG, SDM845_SLAVE_VSENSE_CTRL_CFG, SDM845_SLAVE_SERVICE_CNOC); 43 - DEFINE_QNODE(xm_qdss_dap, SDM845_MASTER_QDSS_DAP, 1, 8, SDM845_SLAVE_A1NOC_CFG, SDM845_SLAVE_A2NOC_CFG, SDM845_SLAVE_AOP, SDM845_SLAVE_AOSS, SDM845_SLAVE_CAMERA_CFG, SDM845_SLAVE_CLK_CTL, SDM845_SLAVE_CDSP_CFG, SDM845_SLAVE_RBCPR_CX_CFG, SDM845_SLAVE_CRYPTO_0_CFG, SDM845_SLAVE_DCC_CFG, SDM845_SLAVE_CNOC_DDRSS, SDM845_SLAVE_DISPLAY_CFG, SDM845_SLAVE_GLM, SDM845_SLAVE_GFX3D_CFG, SDM845_SLAVE_IMEM_CFG, SDM845_SLAVE_IPA_CFG, SDM845_SLAVE_CNOC_MNOC_CFG, SDM845_SLAVE_PCIE_0_CFG, SDM845_SLAVE_PCIE_1_CFG, SDM845_SLAVE_PDM, SDM845_SLAVE_SOUTH_PHY_CFG, SDM845_SLAVE_PIMEM_CFG, SDM845_SLAVE_PRNG, SDM845_SLAVE_QDSS_CFG, SDM845_SLAVE_BLSP_2, SDM845_SLAVE_BLSP_1, SDM845_SLAVE_SDCC_2, SDM845_SLAVE_SDCC_4, SDM845_SLAVE_SNOC_CFG, SDM845_SLAVE_SPDM_WRAPPER, SDM845_SLAVE_SPSS_CFG, SDM845_SLAVE_TCSR, SDM845_SLAVE_TLMM_NORTH, SDM845_SLAVE_TLMM_SOUTH, SDM845_SLAVE_TSIF, SDM845_SLAVE_UFS_CARD_CFG, SDM845_SLAVE_UFS_MEM_CFG, SDM845_SLAVE_USB3_0, SDM845_SLAVE_USB3_1, SDM845_SLAVE_VENUS_CFG, SDM845_SLAVE_VSENSE_CTRL_CFG, SDM845_SLAVE_CNOC_A2NOC, SDM845_SLAVE_SERVICE_CNOC); 44 - DEFINE_QNODE(qhm_cnoc, SDM845_MASTER_CNOC_DC_NOC, 1, 4, SDM845_SLAVE_LLCC_CFG, SDM845_SLAVE_MEM_NOC_CFG); 45 - DEFINE_QNODE(acm_l3, SDM845_MASTER_APPSS_PROC, 1, 16, SDM845_SLAVE_GNOC_SNOC, SDM845_SLAVE_GNOC_MEM_NOC, SDM845_SLAVE_SERVICE_GNOC); 46 - DEFINE_QNODE(pm_gnoc_cfg, SDM845_MASTER_GNOC_CFG, 1, 4, SDM845_SLAVE_SERVICE_GNOC); 47 - DEFINE_QNODE(llcc_mc, SDM845_MASTER_LLCC, 4, 4, SDM845_SLAVE_EBI1); 48 - DEFINE_QNODE(acm_tcu, SDM845_MASTER_TCU_0, 1, 8, SDM845_SLAVE_MEM_NOC_GNOC, SDM845_SLAVE_LLCC, SDM845_SLAVE_MEM_NOC_SNOC); 49 - DEFINE_QNODE(qhm_memnoc_cfg, SDM845_MASTER_MEM_NOC_CFG, 1, 4, SDM845_SLAVE_MSS_PROC_MS_MPU_CFG, SDM845_SLAVE_SERVICE_MEM_NOC); 50 - DEFINE_QNODE(qnm_apps, SDM845_MASTER_GNOC_MEM_NOC, 2, 32, SDM845_SLAVE_LLCC); 51 - DEFINE_QNODE(qnm_mnoc_hf, SDM845_MASTER_MNOC_HF_MEM_NOC, 2, 32, SDM845_SLAVE_MEM_NOC_GNOC, SDM845_SLAVE_LLCC); 52 - DEFINE_QNODE(qnm_mnoc_sf, SDM845_MASTER_MNOC_SF_MEM_NOC, 1, 32, SDM845_SLAVE_MEM_NOC_GNOC, SDM845_SLAVE_LLCC, SDM845_SLAVE_MEM_NOC_SNOC); 53 - DEFINE_QNODE(qnm_snoc_gc, SDM845_MASTER_SNOC_GC_MEM_NOC, 1, 8, SDM845_SLAVE_LLCC); 54 - DEFINE_QNODE(qnm_snoc_sf, SDM845_MASTER_SNOC_SF_MEM_NOC, 1, 16, SDM845_SLAVE_MEM_NOC_GNOC, SDM845_SLAVE_LLCC); 55 - DEFINE_QNODE(qxm_gpu, SDM845_MASTER_GFX3D, 2, 32, SDM845_SLAVE_MEM_NOC_GNOC, SDM845_SLAVE_LLCC, SDM845_SLAVE_MEM_NOC_SNOC); 56 - DEFINE_QNODE(qhm_mnoc_cfg, SDM845_MASTER_CNOC_MNOC_CFG, 1, 4, SDM845_SLAVE_SERVICE_MNOC); 57 - DEFINE_QNODE(qxm_camnoc_hf0, SDM845_MASTER_CAMNOC_HF0, 1, 32, SDM845_SLAVE_MNOC_HF_MEM_NOC); 58 - DEFINE_QNODE(qxm_camnoc_hf1, SDM845_MASTER_CAMNOC_HF1, 1, 32, SDM845_SLAVE_MNOC_HF_MEM_NOC); 59 - DEFINE_QNODE(qxm_camnoc_sf, SDM845_MASTER_CAMNOC_SF, 1, 32, SDM845_SLAVE_MNOC_SF_MEM_NOC); 60 - DEFINE_QNODE(qxm_mdp0, SDM845_MASTER_MDP0, 1, 32, SDM845_SLAVE_MNOC_HF_MEM_NOC); 61 - DEFINE_QNODE(qxm_mdp1, SDM845_MASTER_MDP1, 1, 32, SDM845_SLAVE_MNOC_HF_MEM_NOC); 62 - DEFINE_QNODE(qxm_rot, SDM845_MASTER_ROTATOR, 1, 32, SDM845_SLAVE_MNOC_SF_MEM_NOC); 63 - DEFINE_QNODE(qxm_venus0, SDM845_MASTER_VIDEO_P0, 1, 32, SDM845_SLAVE_MNOC_SF_MEM_NOC); 64 - DEFINE_QNODE(qxm_venus1, SDM845_MASTER_VIDEO_P1, 1, 32, SDM845_SLAVE_MNOC_SF_MEM_NOC); 65 - DEFINE_QNODE(qxm_venus_arm9, SDM845_MASTER_VIDEO_PROC, 1, 8, SDM845_SLAVE_MNOC_SF_MEM_NOC); 66 - DEFINE_QNODE(qhm_snoc_cfg, SDM845_MASTER_SNOC_CFG, 1, 4, SDM845_SLAVE_SERVICE_SNOC); 67 - DEFINE_QNODE(qnm_aggre1_noc, SDM845_MASTER_A1NOC_SNOC, 1, 16, SDM845_SLAVE_APPSS, SDM845_SLAVE_SNOC_CNOC, SDM845_SLAVE_SNOC_MEM_NOC_SF, SDM845_SLAVE_IMEM, SDM845_SLAVE_PIMEM, SDM845_SLAVE_QDSS_STM); 68 - DEFINE_QNODE(qnm_aggre2_noc, SDM845_MASTER_A2NOC_SNOC, 1, 16, SDM845_SLAVE_APPSS, SDM845_SLAVE_SNOC_CNOC, SDM845_SLAVE_SNOC_MEM_NOC_SF, SDM845_SLAVE_IMEM, SDM845_SLAVE_PCIE_0, SDM845_SLAVE_PCIE_1, SDM845_SLAVE_PIMEM, SDM845_SLAVE_QDSS_STM, SDM845_SLAVE_TCU); 69 - DEFINE_QNODE(qnm_gladiator_sodv, SDM845_MASTER_GNOC_SNOC, 1, 8, SDM845_SLAVE_APPSS, SDM845_SLAVE_SNOC_CNOC, SDM845_SLAVE_IMEM, SDM845_SLAVE_PCIE_0, SDM845_SLAVE_PCIE_1, SDM845_SLAVE_PIMEM, SDM845_SLAVE_QDSS_STM, SDM845_SLAVE_TCU); 70 - DEFINE_QNODE(qnm_memnoc, SDM845_MASTER_MEM_NOC_SNOC, 1, 8, SDM845_SLAVE_APPSS, SDM845_SLAVE_SNOC_CNOC, SDM845_SLAVE_IMEM, SDM845_SLAVE_PIMEM, SDM845_SLAVE_QDSS_STM); 71 - DEFINE_QNODE(qnm_pcie_anoc, SDM845_MASTER_ANOC_PCIE_SNOC, 1, 16, SDM845_SLAVE_APPSS, SDM845_SLAVE_SNOC_CNOC, SDM845_SLAVE_SNOC_MEM_NOC_SF, SDM845_SLAVE_IMEM, SDM845_SLAVE_QDSS_STM); 72 - DEFINE_QNODE(qxm_pimem, SDM845_MASTER_PIMEM, 1, 8, SDM845_SLAVE_SNOC_MEM_NOC_GC, SDM845_SLAVE_IMEM); 73 - DEFINE_QNODE(xm_gic, SDM845_MASTER_GIC, 1, 8, SDM845_SLAVE_SNOC_MEM_NOC_GC, SDM845_SLAVE_IMEM); 74 - DEFINE_QNODE(qns_a1noc_snoc, SDM845_SLAVE_A1NOC_SNOC, 1, 16, SDM845_MASTER_A1NOC_SNOC); 75 - DEFINE_QNODE(srvc_aggre1_noc, SDM845_SLAVE_SERVICE_A1NOC, 1, 4, 0); 76 - DEFINE_QNODE(qns_pcie_a1noc_snoc, SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC, 1, 16, SDM845_MASTER_ANOC_PCIE_SNOC); 77 - DEFINE_QNODE(qns_a2noc_snoc, SDM845_SLAVE_A2NOC_SNOC, 1, 16, SDM845_MASTER_A2NOC_SNOC); 78 - DEFINE_QNODE(qns_pcie_snoc, SDM845_SLAVE_ANOC_PCIE_SNOC, 1, 16, SDM845_MASTER_ANOC_PCIE_SNOC); 79 - DEFINE_QNODE(srvc_aggre2_noc, SDM845_SLAVE_SERVICE_A2NOC, 1, 4); 80 - DEFINE_QNODE(qns_camnoc_uncomp, SDM845_SLAVE_CAMNOC_UNCOMP, 1, 32); 81 - DEFINE_QNODE(qhs_a1_noc_cfg, SDM845_SLAVE_A1NOC_CFG, 1, 4, SDM845_MASTER_A1NOC_CFG); 82 - DEFINE_QNODE(qhs_a2_noc_cfg, SDM845_SLAVE_A2NOC_CFG, 1, 4, SDM845_MASTER_A2NOC_CFG); 83 - DEFINE_QNODE(qhs_aop, SDM845_SLAVE_AOP, 1, 4); 84 - DEFINE_QNODE(qhs_aoss, SDM845_SLAVE_AOSS, 1, 4); 85 - DEFINE_QNODE(qhs_camera_cfg, SDM845_SLAVE_CAMERA_CFG, 1, 4); 86 - DEFINE_QNODE(qhs_clk_ctl, SDM845_SLAVE_CLK_CTL, 1, 4); 87 - DEFINE_QNODE(qhs_compute_dsp_cfg, SDM845_SLAVE_CDSP_CFG, 1, 4); 88 - DEFINE_QNODE(qhs_cpr_cx, SDM845_SLAVE_RBCPR_CX_CFG, 1, 4); 89 - DEFINE_QNODE(qhs_crypto0_cfg, SDM845_SLAVE_CRYPTO_0_CFG, 1, 4); 90 - DEFINE_QNODE(qhs_dcc_cfg, SDM845_SLAVE_DCC_CFG, 1, 4, SDM845_MASTER_CNOC_DC_NOC); 91 - DEFINE_QNODE(qhs_ddrss_cfg, SDM845_SLAVE_CNOC_DDRSS, 1, 4); 92 - DEFINE_QNODE(qhs_display_cfg, SDM845_SLAVE_DISPLAY_CFG, 1, 4); 93 - DEFINE_QNODE(qhs_glm, SDM845_SLAVE_GLM, 1, 4); 94 - DEFINE_QNODE(qhs_gpuss_cfg, SDM845_SLAVE_GFX3D_CFG, 1, 8); 95 - DEFINE_QNODE(qhs_imem_cfg, SDM845_SLAVE_IMEM_CFG, 1, 4); 96 - DEFINE_QNODE(qhs_ipa, SDM845_SLAVE_IPA_CFG, 1, 4); 97 - DEFINE_QNODE(qhs_mnoc_cfg, SDM845_SLAVE_CNOC_MNOC_CFG, 1, 4, SDM845_MASTER_CNOC_MNOC_CFG); 98 - DEFINE_QNODE(qhs_pcie0_cfg, SDM845_SLAVE_PCIE_0_CFG, 1, 4); 99 - DEFINE_QNODE(qhs_pcie_gen3_cfg, SDM845_SLAVE_PCIE_1_CFG, 1, 4); 100 - DEFINE_QNODE(qhs_pdm, SDM845_SLAVE_PDM, 1, 4); 101 - DEFINE_QNODE(qhs_phy_refgen_south, SDM845_SLAVE_SOUTH_PHY_CFG, 1, 4); 102 - DEFINE_QNODE(qhs_pimem_cfg, SDM845_SLAVE_PIMEM_CFG, 1, 4); 103 - DEFINE_QNODE(qhs_prng, SDM845_SLAVE_PRNG, 1, 4); 104 - DEFINE_QNODE(qhs_qdss_cfg, SDM845_SLAVE_QDSS_CFG, 1, 4); 105 - DEFINE_QNODE(qhs_qupv3_north, SDM845_SLAVE_BLSP_2, 1, 4); 106 - DEFINE_QNODE(qhs_qupv3_south, SDM845_SLAVE_BLSP_1, 1, 4); 107 - DEFINE_QNODE(qhs_sdc2, SDM845_SLAVE_SDCC_2, 1, 4); 108 - DEFINE_QNODE(qhs_sdc4, SDM845_SLAVE_SDCC_4, 1, 4); 109 - DEFINE_QNODE(qhs_snoc_cfg, SDM845_SLAVE_SNOC_CFG, 1, 4, SDM845_MASTER_SNOC_CFG); 110 - DEFINE_QNODE(qhs_spdm, SDM845_SLAVE_SPDM_WRAPPER, 1, 4); 111 - DEFINE_QNODE(qhs_spss_cfg, SDM845_SLAVE_SPSS_CFG, 1, 4); 112 - DEFINE_QNODE(qhs_tcsr, SDM845_SLAVE_TCSR, 1, 4); 113 - DEFINE_QNODE(qhs_tlmm_north, SDM845_SLAVE_TLMM_NORTH, 1, 4); 114 - DEFINE_QNODE(qhs_tlmm_south, SDM845_SLAVE_TLMM_SOUTH, 1, 4); 115 - DEFINE_QNODE(qhs_tsif, SDM845_SLAVE_TSIF, 1, 4); 116 - DEFINE_QNODE(qhs_ufs_card_cfg, SDM845_SLAVE_UFS_CARD_CFG, 1, 4); 117 - DEFINE_QNODE(qhs_ufs_mem_cfg, SDM845_SLAVE_UFS_MEM_CFG, 1, 4); 118 - DEFINE_QNODE(qhs_usb3_0, SDM845_SLAVE_USB3_0, 1, 4); 119 - DEFINE_QNODE(qhs_usb3_1, SDM845_SLAVE_USB3_1, 1, 4); 120 - DEFINE_QNODE(qhs_venus_cfg, SDM845_SLAVE_VENUS_CFG, 1, 4); 121 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SDM845_SLAVE_VSENSE_CTRL_CFG, 1, 4); 122 - DEFINE_QNODE(qns_cnoc_a2noc, SDM845_SLAVE_CNOC_A2NOC, 1, 8, SDM845_MASTER_CNOC_A2NOC); 123 - DEFINE_QNODE(srvc_cnoc, SDM845_SLAVE_SERVICE_CNOC, 1, 4); 124 - DEFINE_QNODE(qhs_llcc, SDM845_SLAVE_LLCC_CFG, 1, 4); 125 - DEFINE_QNODE(qhs_memnoc, SDM845_SLAVE_MEM_NOC_CFG, 1, 4, SDM845_MASTER_MEM_NOC_CFG); 126 - DEFINE_QNODE(qns_gladiator_sodv, SDM845_SLAVE_GNOC_SNOC, 1, 8, SDM845_MASTER_GNOC_SNOC); 127 - DEFINE_QNODE(qns_gnoc_memnoc, SDM845_SLAVE_GNOC_MEM_NOC, 2, 32, SDM845_MASTER_GNOC_MEM_NOC); 128 - DEFINE_QNODE(srvc_gnoc, SDM845_SLAVE_SERVICE_GNOC, 1, 4); 129 - DEFINE_QNODE(ebi, SDM845_SLAVE_EBI1, 4, 4); 130 - DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SDM845_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4); 131 - DEFINE_QNODE(qns_apps_io, SDM845_SLAVE_MEM_NOC_GNOC, 1, 32); 132 - DEFINE_QNODE(qns_llcc, SDM845_SLAVE_LLCC, 4, 16, SDM845_MASTER_LLCC); 133 - DEFINE_QNODE(qns_memnoc_snoc, SDM845_SLAVE_MEM_NOC_SNOC, 1, 8, SDM845_MASTER_MEM_NOC_SNOC); 134 - DEFINE_QNODE(srvc_memnoc, SDM845_SLAVE_SERVICE_MEM_NOC, 1, 4); 135 - DEFINE_QNODE(qns2_mem_noc, SDM845_SLAVE_MNOC_SF_MEM_NOC, 1, 32, SDM845_MASTER_MNOC_SF_MEM_NOC); 136 - DEFINE_QNODE(qns_mem_noc_hf, SDM845_SLAVE_MNOC_HF_MEM_NOC, 2, 32, SDM845_MASTER_MNOC_HF_MEM_NOC); 137 - DEFINE_QNODE(srvc_mnoc, SDM845_SLAVE_SERVICE_MNOC, 1, 4); 138 - DEFINE_QNODE(qhs_apss, SDM845_SLAVE_APPSS, 1, 8); 139 - DEFINE_QNODE(qns_cnoc, SDM845_SLAVE_SNOC_CNOC, 1, 8, SDM845_MASTER_SNOC_CNOC); 140 - DEFINE_QNODE(qns_memnoc_gc, SDM845_SLAVE_SNOC_MEM_NOC_GC, 1, 8, SDM845_MASTER_SNOC_GC_MEM_NOC); 141 - DEFINE_QNODE(qns_memnoc_sf, SDM845_SLAVE_SNOC_MEM_NOC_SF, 1, 16, SDM845_MASTER_SNOC_SF_MEM_NOC); 142 - DEFINE_QNODE(qxs_imem, SDM845_SLAVE_IMEM, 1, 8); 143 - DEFINE_QNODE(qxs_pcie, SDM845_SLAVE_PCIE_0, 1, 8); 144 - DEFINE_QNODE(qxs_pcie_gen3, SDM845_SLAVE_PCIE_1, 1, 8); 145 - DEFINE_QNODE(qxs_pimem, SDM845_SLAVE_PIMEM, 1, 8); 146 - DEFINE_QNODE(srvc_snoc, SDM845_SLAVE_SERVICE_SNOC, 1, 4); 147 - DEFINE_QNODE(xs_qdss_stm, SDM845_SLAVE_QDSS_STM, 1, 4); 148 - DEFINE_QNODE(xs_sys_tcu_cfg, SDM845_SLAVE_TCU, 1, 8); 19 + static struct qcom_icc_node qhm_a1noc_cfg = { 20 + .name = "qhm_a1noc_cfg", 21 + .id = SDM845_MASTER_A1NOC_CFG, 22 + .channels = 1, 23 + .buswidth = 4, 24 + .num_links = 1, 25 + .links = { SDM845_SLAVE_SERVICE_A1NOC }, 26 + }; 149 27 150 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 151 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 152 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 153 - DEFINE_QBCM(bcm_mm0, "MM0", false, &qns_mem_noc_hf); 154 - DEFINE_QBCM(bcm_sh1, "SH1", false, &qns_apps_io); 155 - DEFINE_QBCM(bcm_mm1, "MM1", true, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1); 156 - DEFINE_QBCM(bcm_sh2, "SH2", false, &qns_memnoc_snoc); 157 - DEFINE_QBCM(bcm_mm2, "MM2", false, &qns2_mem_noc); 158 - DEFINE_QBCM(bcm_sh3, "SH3", false, &acm_tcu); 159 - DEFINE_QBCM(bcm_mm3, "MM3", false, &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9); 160 - DEFINE_QBCM(bcm_sh5, "SH5", false, &qnm_apps); 161 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_memnoc_sf); 162 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 163 - DEFINE_QBCM(bcm_cn0, "CN0", false, &qhm_spdm, &qhm_tic, &qnm_snoc, &xm_qdss_dap, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_aop, &qhs_aoss, &qhs_camera_cfg, &qhs_clk_ctl, &qhs_compute_dsp_cfg, &qhs_cpr_cx, &qhs_crypto0_cfg, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_pcie0_cfg, &qhs_pcie_gen3_cfg, &qhs_pdm, &qhs_phy_refgen_south, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qupv3_north, &qhs_qupv3_south, &qhs_sdc2, &qhs_sdc4, &qhs_snoc_cfg, &qhs_spdm, &qhs_spss_cfg, &qhs_tcsr, &qhs_tlmm_north, &qhs_tlmm_south, &qhs_tsif, &qhs_ufs_card_cfg, &qhs_ufs_mem_cfg, &qhs_usb3_0, &qhs_usb3_1, &qhs_venus_cfg, &qhs_vsense_ctrl_cfg, &qns_cnoc_a2noc, &srvc_cnoc); 164 - DEFINE_QBCM(bcm_qup0, "QUP0", false, &qhm_qup1, &qhm_qup2); 165 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 166 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qns_memnoc_gc); 167 - DEFINE_QBCM(bcm_sn3, "SN3", false, &qns_cnoc); 168 - DEFINE_QBCM(bcm_sn4, "SN4", false, &qxm_pimem); 169 - DEFINE_QBCM(bcm_sn5, "SN5", false, &xs_qdss_stm); 170 - DEFINE_QBCM(bcm_sn6, "SN6", false, &qhs_apss, &srvc_snoc, &xs_sys_tcu_cfg); 171 - DEFINE_QBCM(bcm_sn7, "SN7", false, &qxs_pcie); 172 - DEFINE_QBCM(bcm_sn8, "SN8", false, &qxs_pcie_gen3); 173 - DEFINE_QBCM(bcm_sn9, "SN9", false, &srvc_aggre1_noc, &qnm_aggre1_noc); 174 - DEFINE_QBCM(bcm_sn11, "SN11", false, &srvc_aggre2_noc, &qnm_aggre2_noc); 175 - DEFINE_QBCM(bcm_sn12, "SN12", false, &qnm_gladiator_sodv, &xm_gic); 176 - DEFINE_QBCM(bcm_sn14, "SN14", false, &qnm_pcie_anoc); 177 - DEFINE_QBCM(bcm_sn15, "SN15", false, &qnm_memnoc); 28 + static struct qcom_icc_node qhm_qup1 = { 29 + .name = "qhm_qup1", 30 + .id = SDM845_MASTER_BLSP_1, 31 + .channels = 1, 32 + .buswidth = 4, 33 + .num_links = 1, 34 + .links = { SDM845_SLAVE_A1NOC_SNOC }, 35 + }; 36 + 37 + static struct qcom_icc_node qhm_tsif = { 38 + .name = "qhm_tsif", 39 + .id = SDM845_MASTER_TSIF, 40 + .channels = 1, 41 + .buswidth = 4, 42 + .num_links = 1, 43 + .links = { SDM845_SLAVE_A1NOC_SNOC }, 44 + }; 45 + 46 + static struct qcom_icc_node xm_sdc2 = { 47 + .name = "xm_sdc2", 48 + .id = SDM845_MASTER_SDCC_2, 49 + .channels = 1, 50 + .buswidth = 8, 51 + .num_links = 1, 52 + .links = { SDM845_SLAVE_A1NOC_SNOC }, 53 + }; 54 + 55 + static struct qcom_icc_node xm_sdc4 = { 56 + .name = "xm_sdc4", 57 + .id = SDM845_MASTER_SDCC_4, 58 + .channels = 1, 59 + .buswidth = 8, 60 + .num_links = 1, 61 + .links = { SDM845_SLAVE_A1NOC_SNOC }, 62 + }; 63 + 64 + static struct qcom_icc_node xm_ufs_card = { 65 + .name = "xm_ufs_card", 66 + .id = SDM845_MASTER_UFS_CARD, 67 + .channels = 1, 68 + .buswidth = 8, 69 + .num_links = 1, 70 + .links = { SDM845_SLAVE_A1NOC_SNOC }, 71 + }; 72 + 73 + static struct qcom_icc_node xm_ufs_mem = { 74 + .name = "xm_ufs_mem", 75 + .id = SDM845_MASTER_UFS_MEM, 76 + .channels = 1, 77 + .buswidth = 8, 78 + .num_links = 1, 79 + .links = { SDM845_SLAVE_A1NOC_SNOC }, 80 + }; 81 + 82 + static struct qcom_icc_node xm_pcie_0 = { 83 + .name = "xm_pcie_0", 84 + .id = SDM845_MASTER_PCIE_0, 85 + .channels = 1, 86 + .buswidth = 8, 87 + .num_links = 1, 88 + .links = { SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC }, 89 + }; 90 + 91 + static struct qcom_icc_node qhm_a2noc_cfg = { 92 + .name = "qhm_a2noc_cfg", 93 + .id = SDM845_MASTER_A2NOC_CFG, 94 + .channels = 1, 95 + .buswidth = 4, 96 + .num_links = 1, 97 + .links = { SDM845_SLAVE_SERVICE_A2NOC }, 98 + }; 99 + 100 + static struct qcom_icc_node qhm_qdss_bam = { 101 + .name = "qhm_qdss_bam", 102 + .id = SDM845_MASTER_QDSS_BAM, 103 + .channels = 1, 104 + .buswidth = 4, 105 + .num_links = 1, 106 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 107 + }; 108 + 109 + static struct qcom_icc_node qhm_qup2 = { 110 + .name = "qhm_qup2", 111 + .id = SDM845_MASTER_BLSP_2, 112 + .channels = 1, 113 + .buswidth = 4, 114 + .num_links = 1, 115 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 116 + }; 117 + 118 + static struct qcom_icc_node qnm_cnoc = { 119 + .name = "qnm_cnoc", 120 + .id = SDM845_MASTER_CNOC_A2NOC, 121 + .channels = 1, 122 + .buswidth = 8, 123 + .num_links = 1, 124 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 125 + }; 126 + 127 + static struct qcom_icc_node qxm_crypto = { 128 + .name = "qxm_crypto", 129 + .id = SDM845_MASTER_CRYPTO, 130 + .channels = 1, 131 + .buswidth = 8, 132 + .num_links = 1, 133 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 134 + }; 135 + 136 + static struct qcom_icc_node qxm_ipa = { 137 + .name = "qxm_ipa", 138 + .id = SDM845_MASTER_IPA, 139 + .channels = 1, 140 + .buswidth = 8, 141 + .num_links = 1, 142 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 143 + }; 144 + 145 + static struct qcom_icc_node xm_pcie3_1 = { 146 + .name = "xm_pcie3_1", 147 + .id = SDM845_MASTER_PCIE_1, 148 + .channels = 1, 149 + .buswidth = 8, 150 + .num_links = 1, 151 + .links = { SDM845_SLAVE_ANOC_PCIE_SNOC }, 152 + }; 153 + 154 + static struct qcom_icc_node xm_qdss_etr = { 155 + .name = "xm_qdss_etr", 156 + .id = SDM845_MASTER_QDSS_ETR, 157 + .channels = 1, 158 + .buswidth = 8, 159 + .num_links = 1, 160 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 161 + }; 162 + 163 + static struct qcom_icc_node xm_usb3_0 = { 164 + .name = "xm_usb3_0", 165 + .id = SDM845_MASTER_USB3_0, 166 + .channels = 1, 167 + .buswidth = 8, 168 + .num_links = 1, 169 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 170 + }; 171 + 172 + static struct qcom_icc_node xm_usb3_1 = { 173 + .name = "xm_usb3_1", 174 + .id = SDM845_MASTER_USB3_1, 175 + .channels = 1, 176 + .buswidth = 8, 177 + .num_links = 1, 178 + .links = { SDM845_SLAVE_A2NOC_SNOC }, 179 + }; 180 + 181 + static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 182 + .name = "qxm_camnoc_hf0_uncomp", 183 + .id = SDM845_MASTER_CAMNOC_HF0_UNCOMP, 184 + .channels = 1, 185 + .buswidth = 32, 186 + .num_links = 1, 187 + .links = { SDM845_SLAVE_CAMNOC_UNCOMP }, 188 + }; 189 + 190 + static struct qcom_icc_node qxm_camnoc_hf1_uncomp = { 191 + .name = "qxm_camnoc_hf1_uncomp", 192 + .id = SDM845_MASTER_CAMNOC_HF1_UNCOMP, 193 + .channels = 1, 194 + .buswidth = 32, 195 + .num_links = 1, 196 + .links = { SDM845_SLAVE_CAMNOC_UNCOMP }, 197 + }; 198 + 199 + static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 200 + .name = "qxm_camnoc_sf_uncomp", 201 + .id = SDM845_MASTER_CAMNOC_SF_UNCOMP, 202 + .channels = 1, 203 + .buswidth = 32, 204 + .num_links = 1, 205 + .links = { SDM845_SLAVE_CAMNOC_UNCOMP }, 206 + }; 207 + 208 + static struct qcom_icc_node qhm_spdm = { 209 + .name = "qhm_spdm", 210 + .id = SDM845_MASTER_SPDM, 211 + .channels = 1, 212 + .buswidth = 4, 213 + .num_links = 1, 214 + .links = { SDM845_SLAVE_CNOC_A2NOC }, 215 + }; 216 + 217 + static struct qcom_icc_node qhm_tic = { 218 + .name = "qhm_tic", 219 + .id = SDM845_MASTER_TIC, 220 + .channels = 1, 221 + .buswidth = 4, 222 + .num_links = 43, 223 + .links = { SDM845_SLAVE_A1NOC_CFG, 224 + SDM845_SLAVE_A2NOC_CFG, 225 + SDM845_SLAVE_AOP, 226 + SDM845_SLAVE_AOSS, 227 + SDM845_SLAVE_CAMERA_CFG, 228 + SDM845_SLAVE_CLK_CTL, 229 + SDM845_SLAVE_CDSP_CFG, 230 + SDM845_SLAVE_RBCPR_CX_CFG, 231 + SDM845_SLAVE_CRYPTO_0_CFG, 232 + SDM845_SLAVE_DCC_CFG, 233 + SDM845_SLAVE_CNOC_DDRSS, 234 + SDM845_SLAVE_DISPLAY_CFG, 235 + SDM845_SLAVE_GLM, 236 + SDM845_SLAVE_GFX3D_CFG, 237 + SDM845_SLAVE_IMEM_CFG, 238 + SDM845_SLAVE_IPA_CFG, 239 + SDM845_SLAVE_CNOC_MNOC_CFG, 240 + SDM845_SLAVE_PCIE_0_CFG, 241 + SDM845_SLAVE_PCIE_1_CFG, 242 + SDM845_SLAVE_PDM, 243 + SDM845_SLAVE_SOUTH_PHY_CFG, 244 + SDM845_SLAVE_PIMEM_CFG, 245 + SDM845_SLAVE_PRNG, 246 + SDM845_SLAVE_QDSS_CFG, 247 + SDM845_SLAVE_BLSP_2, 248 + SDM845_SLAVE_BLSP_1, 249 + SDM845_SLAVE_SDCC_2, 250 + SDM845_SLAVE_SDCC_4, 251 + SDM845_SLAVE_SNOC_CFG, 252 + SDM845_SLAVE_SPDM_WRAPPER, 253 + SDM845_SLAVE_SPSS_CFG, 254 + SDM845_SLAVE_TCSR, 255 + SDM845_SLAVE_TLMM_NORTH, 256 + SDM845_SLAVE_TLMM_SOUTH, 257 + SDM845_SLAVE_TSIF, 258 + SDM845_SLAVE_UFS_CARD_CFG, 259 + SDM845_SLAVE_UFS_MEM_CFG, 260 + SDM845_SLAVE_USB3_0, 261 + SDM845_SLAVE_USB3_1, 262 + SDM845_SLAVE_VENUS_CFG, 263 + SDM845_SLAVE_VSENSE_CTRL_CFG, 264 + SDM845_SLAVE_CNOC_A2NOC, 265 + SDM845_SLAVE_SERVICE_CNOC 266 + }, 267 + }; 268 + 269 + static struct qcom_icc_node qnm_snoc = { 270 + .name = "qnm_snoc", 271 + .id = SDM845_MASTER_SNOC_CNOC, 272 + .channels = 1, 273 + .buswidth = 8, 274 + .num_links = 42, 275 + .links = { SDM845_SLAVE_A1NOC_CFG, 276 + SDM845_SLAVE_A2NOC_CFG, 277 + SDM845_SLAVE_AOP, 278 + SDM845_SLAVE_AOSS, 279 + SDM845_SLAVE_CAMERA_CFG, 280 + SDM845_SLAVE_CLK_CTL, 281 + SDM845_SLAVE_CDSP_CFG, 282 + SDM845_SLAVE_RBCPR_CX_CFG, 283 + SDM845_SLAVE_CRYPTO_0_CFG, 284 + SDM845_SLAVE_DCC_CFG, 285 + SDM845_SLAVE_CNOC_DDRSS, 286 + SDM845_SLAVE_DISPLAY_CFG, 287 + SDM845_SLAVE_GLM, 288 + SDM845_SLAVE_GFX3D_CFG, 289 + SDM845_SLAVE_IMEM_CFG, 290 + SDM845_SLAVE_IPA_CFG, 291 + SDM845_SLAVE_CNOC_MNOC_CFG, 292 + SDM845_SLAVE_PCIE_0_CFG, 293 + SDM845_SLAVE_PCIE_1_CFG, 294 + SDM845_SLAVE_PDM, 295 + SDM845_SLAVE_SOUTH_PHY_CFG, 296 + SDM845_SLAVE_PIMEM_CFG, 297 + SDM845_SLAVE_PRNG, 298 + SDM845_SLAVE_QDSS_CFG, 299 + SDM845_SLAVE_BLSP_2, 300 + SDM845_SLAVE_BLSP_1, 301 + SDM845_SLAVE_SDCC_2, 302 + SDM845_SLAVE_SDCC_4, 303 + SDM845_SLAVE_SNOC_CFG, 304 + SDM845_SLAVE_SPDM_WRAPPER, 305 + SDM845_SLAVE_SPSS_CFG, 306 + SDM845_SLAVE_TCSR, 307 + SDM845_SLAVE_TLMM_NORTH, 308 + SDM845_SLAVE_TLMM_SOUTH, 309 + SDM845_SLAVE_TSIF, 310 + SDM845_SLAVE_UFS_CARD_CFG, 311 + SDM845_SLAVE_UFS_MEM_CFG, 312 + SDM845_SLAVE_USB3_0, 313 + SDM845_SLAVE_USB3_1, 314 + SDM845_SLAVE_VENUS_CFG, 315 + SDM845_SLAVE_VSENSE_CTRL_CFG, 316 + SDM845_SLAVE_SERVICE_CNOC 317 + }, 318 + }; 319 + 320 + static struct qcom_icc_node xm_qdss_dap = { 321 + .name = "xm_qdss_dap", 322 + .id = SDM845_MASTER_QDSS_DAP, 323 + .channels = 1, 324 + .buswidth = 8, 325 + .num_links = 43, 326 + .links = { SDM845_SLAVE_A1NOC_CFG, 327 + SDM845_SLAVE_A2NOC_CFG, 328 + SDM845_SLAVE_AOP, 329 + SDM845_SLAVE_AOSS, 330 + SDM845_SLAVE_CAMERA_CFG, 331 + SDM845_SLAVE_CLK_CTL, 332 + SDM845_SLAVE_CDSP_CFG, 333 + SDM845_SLAVE_RBCPR_CX_CFG, 334 + SDM845_SLAVE_CRYPTO_0_CFG, 335 + SDM845_SLAVE_DCC_CFG, 336 + SDM845_SLAVE_CNOC_DDRSS, 337 + SDM845_SLAVE_DISPLAY_CFG, 338 + SDM845_SLAVE_GLM, 339 + SDM845_SLAVE_GFX3D_CFG, 340 + SDM845_SLAVE_IMEM_CFG, 341 + SDM845_SLAVE_IPA_CFG, 342 + SDM845_SLAVE_CNOC_MNOC_CFG, 343 + SDM845_SLAVE_PCIE_0_CFG, 344 + SDM845_SLAVE_PCIE_1_CFG, 345 + SDM845_SLAVE_PDM, 346 + SDM845_SLAVE_SOUTH_PHY_CFG, 347 + SDM845_SLAVE_PIMEM_CFG, 348 + SDM845_SLAVE_PRNG, 349 + SDM845_SLAVE_QDSS_CFG, 350 + SDM845_SLAVE_BLSP_2, 351 + SDM845_SLAVE_BLSP_1, 352 + SDM845_SLAVE_SDCC_2, 353 + SDM845_SLAVE_SDCC_4, 354 + SDM845_SLAVE_SNOC_CFG, 355 + SDM845_SLAVE_SPDM_WRAPPER, 356 + SDM845_SLAVE_SPSS_CFG, 357 + SDM845_SLAVE_TCSR, 358 + SDM845_SLAVE_TLMM_NORTH, 359 + SDM845_SLAVE_TLMM_SOUTH, 360 + SDM845_SLAVE_TSIF, 361 + SDM845_SLAVE_UFS_CARD_CFG, 362 + SDM845_SLAVE_UFS_MEM_CFG, 363 + SDM845_SLAVE_USB3_0, 364 + SDM845_SLAVE_USB3_1, 365 + SDM845_SLAVE_VENUS_CFG, 366 + SDM845_SLAVE_VSENSE_CTRL_CFG, 367 + SDM845_SLAVE_CNOC_A2NOC, 368 + SDM845_SLAVE_SERVICE_CNOC 369 + }, 370 + }; 371 + 372 + static struct qcom_icc_node qhm_cnoc = { 373 + .name = "qhm_cnoc", 374 + .id = SDM845_MASTER_CNOC_DC_NOC, 375 + .channels = 1, 376 + .buswidth = 4, 377 + .num_links = 2, 378 + .links = { SDM845_SLAVE_LLCC_CFG, 379 + SDM845_SLAVE_MEM_NOC_CFG 380 + }, 381 + }; 382 + 383 + static struct qcom_icc_node acm_l3 = { 384 + .name = "acm_l3", 385 + .id = SDM845_MASTER_APPSS_PROC, 386 + .channels = 1, 387 + .buswidth = 16, 388 + .num_links = 3, 389 + .links = { SDM845_SLAVE_GNOC_SNOC, 390 + SDM845_SLAVE_GNOC_MEM_NOC, 391 + SDM845_SLAVE_SERVICE_GNOC 392 + }, 393 + }; 394 + 395 + static struct qcom_icc_node pm_gnoc_cfg = { 396 + .name = "pm_gnoc_cfg", 397 + .id = SDM845_MASTER_GNOC_CFG, 398 + .channels = 1, 399 + .buswidth = 4, 400 + .num_links = 1, 401 + .links = { SDM845_SLAVE_SERVICE_GNOC }, 402 + }; 403 + 404 + static struct qcom_icc_node llcc_mc = { 405 + .name = "llcc_mc", 406 + .id = SDM845_MASTER_LLCC, 407 + .channels = 4, 408 + .buswidth = 4, 409 + .num_links = 1, 410 + .links = { SDM845_SLAVE_EBI1 }, 411 + }; 412 + 413 + static struct qcom_icc_node acm_tcu = { 414 + .name = "acm_tcu", 415 + .id = SDM845_MASTER_TCU_0, 416 + .channels = 1, 417 + .buswidth = 8, 418 + .num_links = 3, 419 + .links = { SDM845_SLAVE_MEM_NOC_GNOC, 420 + SDM845_SLAVE_LLCC, 421 + SDM845_SLAVE_MEM_NOC_SNOC 422 + }, 423 + }; 424 + 425 + static struct qcom_icc_node qhm_memnoc_cfg = { 426 + .name = "qhm_memnoc_cfg", 427 + .id = SDM845_MASTER_MEM_NOC_CFG, 428 + .channels = 1, 429 + .buswidth = 4, 430 + .num_links = 2, 431 + .links = { SDM845_SLAVE_MSS_PROC_MS_MPU_CFG, 432 + SDM845_SLAVE_SERVICE_MEM_NOC 433 + }, 434 + }; 435 + 436 + static struct qcom_icc_node qnm_apps = { 437 + .name = "qnm_apps", 438 + .id = SDM845_MASTER_GNOC_MEM_NOC, 439 + .channels = 2, 440 + .buswidth = 32, 441 + .num_links = 1, 442 + .links = { SDM845_SLAVE_LLCC }, 443 + }; 444 + 445 + static struct qcom_icc_node qnm_mnoc_hf = { 446 + .name = "qnm_mnoc_hf", 447 + .id = SDM845_MASTER_MNOC_HF_MEM_NOC, 448 + .channels = 2, 449 + .buswidth = 32, 450 + .num_links = 2, 451 + .links = { SDM845_SLAVE_MEM_NOC_GNOC, 452 + SDM845_SLAVE_LLCC 453 + }, 454 + }; 455 + 456 + static struct qcom_icc_node qnm_mnoc_sf = { 457 + .name = "qnm_mnoc_sf", 458 + .id = SDM845_MASTER_MNOC_SF_MEM_NOC, 459 + .channels = 1, 460 + .buswidth = 32, 461 + .num_links = 3, 462 + .links = { SDM845_SLAVE_MEM_NOC_GNOC, 463 + SDM845_SLAVE_LLCC, 464 + SDM845_SLAVE_MEM_NOC_SNOC 465 + }, 466 + }; 467 + 468 + static struct qcom_icc_node qnm_snoc_gc = { 469 + .name = "qnm_snoc_gc", 470 + .id = SDM845_MASTER_SNOC_GC_MEM_NOC, 471 + .channels = 1, 472 + .buswidth = 8, 473 + .num_links = 1, 474 + .links = { SDM845_SLAVE_LLCC }, 475 + }; 476 + 477 + static struct qcom_icc_node qnm_snoc_sf = { 478 + .name = "qnm_snoc_sf", 479 + .id = SDM845_MASTER_SNOC_SF_MEM_NOC, 480 + .channels = 1, 481 + .buswidth = 16, 482 + .num_links = 2, 483 + .links = { SDM845_SLAVE_MEM_NOC_GNOC, 484 + SDM845_SLAVE_LLCC 485 + }, 486 + }; 487 + 488 + static struct qcom_icc_node qxm_gpu = { 489 + .name = "qxm_gpu", 490 + .id = SDM845_MASTER_GFX3D, 491 + .channels = 2, 492 + .buswidth = 32, 493 + .num_links = 3, 494 + .links = { SDM845_SLAVE_MEM_NOC_GNOC, 495 + SDM845_SLAVE_LLCC, 496 + SDM845_SLAVE_MEM_NOC_SNOC 497 + }, 498 + }; 499 + 500 + static struct qcom_icc_node qhm_mnoc_cfg = { 501 + .name = "qhm_mnoc_cfg", 502 + .id = SDM845_MASTER_CNOC_MNOC_CFG, 503 + .channels = 1, 504 + .buswidth = 4, 505 + .num_links = 1, 506 + .links = { SDM845_SLAVE_SERVICE_MNOC }, 507 + }; 508 + 509 + static struct qcom_icc_node qxm_camnoc_hf0 = { 510 + .name = "qxm_camnoc_hf0", 511 + .id = SDM845_MASTER_CAMNOC_HF0, 512 + .channels = 1, 513 + .buswidth = 32, 514 + .num_links = 1, 515 + .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 516 + }; 517 + 518 + static struct qcom_icc_node qxm_camnoc_hf1 = { 519 + .name = "qxm_camnoc_hf1", 520 + .id = SDM845_MASTER_CAMNOC_HF1, 521 + .channels = 1, 522 + .buswidth = 32, 523 + .num_links = 1, 524 + .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 525 + }; 526 + 527 + static struct qcom_icc_node qxm_camnoc_sf = { 528 + .name = "qxm_camnoc_sf", 529 + .id = SDM845_MASTER_CAMNOC_SF, 530 + .channels = 1, 531 + .buswidth = 32, 532 + .num_links = 1, 533 + .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 534 + }; 535 + 536 + static struct qcom_icc_node qxm_mdp0 = { 537 + .name = "qxm_mdp0", 538 + .id = SDM845_MASTER_MDP0, 539 + .channels = 1, 540 + .buswidth = 32, 541 + .num_links = 1, 542 + .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 543 + }; 544 + 545 + static struct qcom_icc_node qxm_mdp1 = { 546 + .name = "qxm_mdp1", 547 + .id = SDM845_MASTER_MDP1, 548 + .channels = 1, 549 + .buswidth = 32, 550 + .num_links = 1, 551 + .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 552 + }; 553 + 554 + static struct qcom_icc_node qxm_rot = { 555 + .name = "qxm_rot", 556 + .id = SDM845_MASTER_ROTATOR, 557 + .channels = 1, 558 + .buswidth = 32, 559 + .num_links = 1, 560 + .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 561 + }; 562 + 563 + static struct qcom_icc_node qxm_venus0 = { 564 + .name = "qxm_venus0", 565 + .id = SDM845_MASTER_VIDEO_P0, 566 + .channels = 1, 567 + .buswidth = 32, 568 + .num_links = 1, 569 + .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 570 + }; 571 + 572 + static struct qcom_icc_node qxm_venus1 = { 573 + .name = "qxm_venus1", 574 + .id = SDM845_MASTER_VIDEO_P1, 575 + .channels = 1, 576 + .buswidth = 32, 577 + .num_links = 1, 578 + .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 579 + }; 580 + 581 + static struct qcom_icc_node qxm_venus_arm9 = { 582 + .name = "qxm_venus_arm9", 583 + .id = SDM845_MASTER_VIDEO_PROC, 584 + .channels = 1, 585 + .buswidth = 8, 586 + .num_links = 1, 587 + .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 588 + }; 589 + 590 + static struct qcom_icc_node qhm_snoc_cfg = { 591 + .name = "qhm_snoc_cfg", 592 + .id = SDM845_MASTER_SNOC_CFG, 593 + .channels = 1, 594 + .buswidth = 4, 595 + .num_links = 1, 596 + .links = { SDM845_SLAVE_SERVICE_SNOC }, 597 + }; 598 + 599 + static struct qcom_icc_node qnm_aggre1_noc = { 600 + .name = "qnm_aggre1_noc", 601 + .id = SDM845_MASTER_A1NOC_SNOC, 602 + .channels = 1, 603 + .buswidth = 16, 604 + .num_links = 6, 605 + .links = { SDM845_SLAVE_APPSS, 606 + SDM845_SLAVE_SNOC_CNOC, 607 + SDM845_SLAVE_SNOC_MEM_NOC_SF, 608 + SDM845_SLAVE_IMEM, 609 + SDM845_SLAVE_PIMEM, 610 + SDM845_SLAVE_QDSS_STM 611 + }, 612 + }; 613 + 614 + static struct qcom_icc_node qnm_aggre2_noc = { 615 + .name = "qnm_aggre2_noc", 616 + .id = SDM845_MASTER_A2NOC_SNOC, 617 + .channels = 1, 618 + .buswidth = 16, 619 + .num_links = 9, 620 + .links = { SDM845_SLAVE_APPSS, 621 + SDM845_SLAVE_SNOC_CNOC, 622 + SDM845_SLAVE_SNOC_MEM_NOC_SF, 623 + SDM845_SLAVE_IMEM, 624 + SDM845_SLAVE_PCIE_0, 625 + SDM845_SLAVE_PCIE_1, 626 + SDM845_SLAVE_PIMEM, 627 + SDM845_SLAVE_QDSS_STM, 628 + SDM845_SLAVE_TCU 629 + }, 630 + }; 631 + 632 + static struct qcom_icc_node qnm_gladiator_sodv = { 633 + .name = "qnm_gladiator_sodv", 634 + .id = SDM845_MASTER_GNOC_SNOC, 635 + .channels = 1, 636 + .buswidth = 8, 637 + .num_links = 8, 638 + .links = { SDM845_SLAVE_APPSS, 639 + SDM845_SLAVE_SNOC_CNOC, 640 + SDM845_SLAVE_IMEM, 641 + SDM845_SLAVE_PCIE_0, 642 + SDM845_SLAVE_PCIE_1, 643 + SDM845_SLAVE_PIMEM, 644 + SDM845_SLAVE_QDSS_STM, 645 + SDM845_SLAVE_TCU 646 + }, 647 + }; 648 + 649 + static struct qcom_icc_node qnm_memnoc = { 650 + .name = "qnm_memnoc", 651 + .id = SDM845_MASTER_MEM_NOC_SNOC, 652 + .channels = 1, 653 + .buswidth = 8, 654 + .num_links = 5, 655 + .links = { SDM845_SLAVE_APPSS, 656 + SDM845_SLAVE_SNOC_CNOC, 657 + SDM845_SLAVE_IMEM, 658 + SDM845_SLAVE_PIMEM, 659 + SDM845_SLAVE_QDSS_STM 660 + }, 661 + }; 662 + 663 + static struct qcom_icc_node qnm_pcie_anoc = { 664 + .name = "qnm_pcie_anoc", 665 + .id = SDM845_MASTER_ANOC_PCIE_SNOC, 666 + .channels = 1, 667 + .buswidth = 16, 668 + .num_links = 5, 669 + .links = { SDM845_SLAVE_APPSS, 670 + SDM845_SLAVE_SNOC_CNOC, 671 + SDM845_SLAVE_SNOC_MEM_NOC_SF, 672 + SDM845_SLAVE_IMEM, 673 + SDM845_SLAVE_QDSS_STM 674 + }, 675 + }; 676 + 677 + static struct qcom_icc_node qxm_pimem = { 678 + .name = "qxm_pimem", 679 + .id = SDM845_MASTER_PIMEM, 680 + .channels = 1, 681 + .buswidth = 8, 682 + .num_links = 2, 683 + .links = { SDM845_SLAVE_SNOC_MEM_NOC_GC, 684 + SDM845_SLAVE_IMEM 685 + }, 686 + }; 687 + 688 + static struct qcom_icc_node xm_gic = { 689 + .name = "xm_gic", 690 + .id = SDM845_MASTER_GIC, 691 + .channels = 1, 692 + .buswidth = 8, 693 + .num_links = 2, 694 + .links = { SDM845_SLAVE_SNOC_MEM_NOC_GC, 695 + SDM845_SLAVE_IMEM 696 + }, 697 + }; 698 + 699 + static struct qcom_icc_node qns_a1noc_snoc = { 700 + .name = "qns_a1noc_snoc", 701 + .id = SDM845_SLAVE_A1NOC_SNOC, 702 + .channels = 1, 703 + .buswidth = 16, 704 + .num_links = 1, 705 + .links = { SDM845_MASTER_A1NOC_SNOC }, 706 + }; 707 + 708 + static struct qcom_icc_node srvc_aggre1_noc = { 709 + .name = "srvc_aggre1_noc", 710 + .id = SDM845_SLAVE_SERVICE_A1NOC, 711 + .channels = 1, 712 + .buswidth = 4, 713 + .num_links = 1, 714 + .links = { 0 }, 715 + }; 716 + 717 + static struct qcom_icc_node qns_pcie_a1noc_snoc = { 718 + .name = "qns_pcie_a1noc_snoc", 719 + .id = SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC, 720 + .channels = 1, 721 + .buswidth = 16, 722 + .num_links = 1, 723 + .links = { SDM845_MASTER_ANOC_PCIE_SNOC }, 724 + }; 725 + 726 + static struct qcom_icc_node qns_a2noc_snoc = { 727 + .name = "qns_a2noc_snoc", 728 + .id = SDM845_SLAVE_A2NOC_SNOC, 729 + .channels = 1, 730 + .buswidth = 16, 731 + .num_links = 1, 732 + .links = { SDM845_MASTER_A2NOC_SNOC }, 733 + }; 734 + 735 + static struct qcom_icc_node qns_pcie_snoc = { 736 + .name = "qns_pcie_snoc", 737 + .id = SDM845_SLAVE_ANOC_PCIE_SNOC, 738 + .channels = 1, 739 + .buswidth = 16, 740 + .num_links = 1, 741 + .links = { SDM845_MASTER_ANOC_PCIE_SNOC }, 742 + }; 743 + 744 + static struct qcom_icc_node srvc_aggre2_noc = { 745 + .name = "srvc_aggre2_noc", 746 + .id = SDM845_SLAVE_SERVICE_A2NOC, 747 + .channels = 1, 748 + .buswidth = 4, 749 + }; 750 + 751 + static struct qcom_icc_node qns_camnoc_uncomp = { 752 + .name = "qns_camnoc_uncomp", 753 + .id = SDM845_SLAVE_CAMNOC_UNCOMP, 754 + .channels = 1, 755 + .buswidth = 32, 756 + }; 757 + 758 + static struct qcom_icc_node qhs_a1_noc_cfg = { 759 + .name = "qhs_a1_noc_cfg", 760 + .id = SDM845_SLAVE_A1NOC_CFG, 761 + .channels = 1, 762 + .buswidth = 4, 763 + .num_links = 1, 764 + .links = { SDM845_MASTER_A1NOC_CFG }, 765 + }; 766 + 767 + static struct qcom_icc_node qhs_a2_noc_cfg = { 768 + .name = "qhs_a2_noc_cfg", 769 + .id = SDM845_SLAVE_A2NOC_CFG, 770 + .channels = 1, 771 + .buswidth = 4, 772 + .num_links = 1, 773 + .links = { SDM845_MASTER_A2NOC_CFG }, 774 + }; 775 + 776 + static struct qcom_icc_node qhs_aop = { 777 + .name = "qhs_aop", 778 + .id = SDM845_SLAVE_AOP, 779 + .channels = 1, 780 + .buswidth = 4, 781 + }; 782 + 783 + static struct qcom_icc_node qhs_aoss = { 784 + .name = "qhs_aoss", 785 + .id = SDM845_SLAVE_AOSS, 786 + .channels = 1, 787 + .buswidth = 4, 788 + }; 789 + 790 + static struct qcom_icc_node qhs_camera_cfg = { 791 + .name = "qhs_camera_cfg", 792 + .id = SDM845_SLAVE_CAMERA_CFG, 793 + .channels = 1, 794 + .buswidth = 4, 795 + }; 796 + 797 + static struct qcom_icc_node qhs_clk_ctl = { 798 + .name = "qhs_clk_ctl", 799 + .id = SDM845_SLAVE_CLK_CTL, 800 + .channels = 1, 801 + .buswidth = 4, 802 + }; 803 + 804 + static struct qcom_icc_node qhs_compute_dsp_cfg = { 805 + .name = "qhs_compute_dsp_cfg", 806 + .id = SDM845_SLAVE_CDSP_CFG, 807 + .channels = 1, 808 + .buswidth = 4, 809 + }; 810 + 811 + static struct qcom_icc_node qhs_cpr_cx = { 812 + .name = "qhs_cpr_cx", 813 + .id = SDM845_SLAVE_RBCPR_CX_CFG, 814 + .channels = 1, 815 + .buswidth = 4, 816 + }; 817 + 818 + static struct qcom_icc_node qhs_crypto0_cfg = { 819 + .name = "qhs_crypto0_cfg", 820 + .id = SDM845_SLAVE_CRYPTO_0_CFG, 821 + .channels = 1, 822 + .buswidth = 4, 823 + }; 824 + 825 + static struct qcom_icc_node qhs_dcc_cfg = { 826 + .name = "qhs_dcc_cfg", 827 + .id = SDM845_SLAVE_DCC_CFG, 828 + .channels = 1, 829 + .buswidth = 4, 830 + .num_links = 1, 831 + .links = { SDM845_MASTER_CNOC_DC_NOC }, 832 + }; 833 + 834 + static struct qcom_icc_node qhs_ddrss_cfg = { 835 + .name = "qhs_ddrss_cfg", 836 + .id = SDM845_SLAVE_CNOC_DDRSS, 837 + .channels = 1, 838 + .buswidth = 4, 839 + }; 840 + 841 + static struct qcom_icc_node qhs_display_cfg = { 842 + .name = "qhs_display_cfg", 843 + .id = SDM845_SLAVE_DISPLAY_CFG, 844 + .channels = 1, 845 + .buswidth = 4, 846 + }; 847 + 848 + static struct qcom_icc_node qhs_glm = { 849 + .name = "qhs_glm", 850 + .id = SDM845_SLAVE_GLM, 851 + .channels = 1, 852 + .buswidth = 4, 853 + }; 854 + 855 + static struct qcom_icc_node qhs_gpuss_cfg = { 856 + .name = "qhs_gpuss_cfg", 857 + .id = SDM845_SLAVE_GFX3D_CFG, 858 + .channels = 1, 859 + .buswidth = 8, 860 + }; 861 + 862 + static struct qcom_icc_node qhs_imem_cfg = { 863 + .name = "qhs_imem_cfg", 864 + .id = SDM845_SLAVE_IMEM_CFG, 865 + .channels = 1, 866 + .buswidth = 4, 867 + }; 868 + 869 + static struct qcom_icc_node qhs_ipa = { 870 + .name = "qhs_ipa", 871 + .id = SDM845_SLAVE_IPA_CFG, 872 + .channels = 1, 873 + .buswidth = 4, 874 + }; 875 + 876 + static struct qcom_icc_node qhs_mnoc_cfg = { 877 + .name = "qhs_mnoc_cfg", 878 + .id = SDM845_SLAVE_CNOC_MNOC_CFG, 879 + .channels = 1, 880 + .buswidth = 4, 881 + .num_links = 1, 882 + .links = { SDM845_MASTER_CNOC_MNOC_CFG }, 883 + }; 884 + 885 + static struct qcom_icc_node qhs_pcie0_cfg = { 886 + .name = "qhs_pcie0_cfg", 887 + .id = SDM845_SLAVE_PCIE_0_CFG, 888 + .channels = 1, 889 + .buswidth = 4, 890 + }; 891 + 892 + static struct qcom_icc_node qhs_pcie_gen3_cfg = { 893 + .name = "qhs_pcie_gen3_cfg", 894 + .id = SDM845_SLAVE_PCIE_1_CFG, 895 + .channels = 1, 896 + .buswidth = 4, 897 + }; 898 + 899 + static struct qcom_icc_node qhs_pdm = { 900 + .name = "qhs_pdm", 901 + .id = SDM845_SLAVE_PDM, 902 + .channels = 1, 903 + .buswidth = 4, 904 + }; 905 + 906 + static struct qcom_icc_node qhs_phy_refgen_south = { 907 + .name = "qhs_phy_refgen_south", 908 + .id = SDM845_SLAVE_SOUTH_PHY_CFG, 909 + .channels = 1, 910 + .buswidth = 4, 911 + }; 912 + 913 + static struct qcom_icc_node qhs_pimem_cfg = { 914 + .name = "qhs_pimem_cfg", 915 + .id = SDM845_SLAVE_PIMEM_CFG, 916 + .channels = 1, 917 + .buswidth = 4, 918 + }; 919 + 920 + static struct qcom_icc_node qhs_prng = { 921 + .name = "qhs_prng", 922 + .id = SDM845_SLAVE_PRNG, 923 + .channels = 1, 924 + .buswidth = 4, 925 + }; 926 + 927 + static struct qcom_icc_node qhs_qdss_cfg = { 928 + .name = "qhs_qdss_cfg", 929 + .id = SDM845_SLAVE_QDSS_CFG, 930 + .channels = 1, 931 + .buswidth = 4, 932 + }; 933 + 934 + static struct qcom_icc_node qhs_qupv3_north = { 935 + .name = "qhs_qupv3_north", 936 + .id = SDM845_SLAVE_BLSP_2, 937 + .channels = 1, 938 + .buswidth = 4, 939 + }; 940 + 941 + static struct qcom_icc_node qhs_qupv3_south = { 942 + .name = "qhs_qupv3_south", 943 + .id = SDM845_SLAVE_BLSP_1, 944 + .channels = 1, 945 + .buswidth = 4, 946 + }; 947 + 948 + static struct qcom_icc_node qhs_sdc2 = { 949 + .name = "qhs_sdc2", 950 + .id = SDM845_SLAVE_SDCC_2, 951 + .channels = 1, 952 + .buswidth = 4, 953 + }; 954 + 955 + static struct qcom_icc_node qhs_sdc4 = { 956 + .name = "qhs_sdc4", 957 + .id = SDM845_SLAVE_SDCC_4, 958 + .channels = 1, 959 + .buswidth = 4, 960 + }; 961 + 962 + static struct qcom_icc_node qhs_snoc_cfg = { 963 + .name = "qhs_snoc_cfg", 964 + .id = SDM845_SLAVE_SNOC_CFG, 965 + .channels = 1, 966 + .buswidth = 4, 967 + .num_links = 1, 968 + .links = { SDM845_MASTER_SNOC_CFG }, 969 + }; 970 + 971 + static struct qcom_icc_node qhs_spdm = { 972 + .name = "qhs_spdm", 973 + .id = SDM845_SLAVE_SPDM_WRAPPER, 974 + .channels = 1, 975 + .buswidth = 4, 976 + }; 977 + 978 + static struct qcom_icc_node qhs_spss_cfg = { 979 + .name = "qhs_spss_cfg", 980 + .id = SDM845_SLAVE_SPSS_CFG, 981 + .channels = 1, 982 + .buswidth = 4, 983 + }; 984 + 985 + static struct qcom_icc_node qhs_tcsr = { 986 + .name = "qhs_tcsr", 987 + .id = SDM845_SLAVE_TCSR, 988 + .channels = 1, 989 + .buswidth = 4, 990 + }; 991 + 992 + static struct qcom_icc_node qhs_tlmm_north = { 993 + .name = "qhs_tlmm_north", 994 + .id = SDM845_SLAVE_TLMM_NORTH, 995 + .channels = 1, 996 + .buswidth = 4, 997 + }; 998 + 999 + static struct qcom_icc_node qhs_tlmm_south = { 1000 + .name = "qhs_tlmm_south", 1001 + .id = SDM845_SLAVE_TLMM_SOUTH, 1002 + .channels = 1, 1003 + .buswidth = 4, 1004 + }; 1005 + 1006 + static struct qcom_icc_node qhs_tsif = { 1007 + .name = "qhs_tsif", 1008 + .id = SDM845_SLAVE_TSIF, 1009 + .channels = 1, 1010 + .buswidth = 4, 1011 + }; 1012 + 1013 + static struct qcom_icc_node qhs_ufs_card_cfg = { 1014 + .name = "qhs_ufs_card_cfg", 1015 + .id = SDM845_SLAVE_UFS_CARD_CFG, 1016 + .channels = 1, 1017 + .buswidth = 4, 1018 + }; 1019 + 1020 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 1021 + .name = "qhs_ufs_mem_cfg", 1022 + .id = SDM845_SLAVE_UFS_MEM_CFG, 1023 + .channels = 1, 1024 + .buswidth = 4, 1025 + }; 1026 + 1027 + static struct qcom_icc_node qhs_usb3_0 = { 1028 + .name = "qhs_usb3_0", 1029 + .id = SDM845_SLAVE_USB3_0, 1030 + .channels = 1, 1031 + .buswidth = 4, 1032 + }; 1033 + 1034 + static struct qcom_icc_node qhs_usb3_1 = { 1035 + .name = "qhs_usb3_1", 1036 + .id = SDM845_SLAVE_USB3_1, 1037 + .channels = 1, 1038 + .buswidth = 4, 1039 + }; 1040 + 1041 + static struct qcom_icc_node qhs_venus_cfg = { 1042 + .name = "qhs_venus_cfg", 1043 + .id = SDM845_SLAVE_VENUS_CFG, 1044 + .channels = 1, 1045 + .buswidth = 4, 1046 + }; 1047 + 1048 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1049 + .name = "qhs_vsense_ctrl_cfg", 1050 + .id = SDM845_SLAVE_VSENSE_CTRL_CFG, 1051 + .channels = 1, 1052 + .buswidth = 4, 1053 + }; 1054 + 1055 + static struct qcom_icc_node qns_cnoc_a2noc = { 1056 + .name = "qns_cnoc_a2noc", 1057 + .id = SDM845_SLAVE_CNOC_A2NOC, 1058 + .channels = 1, 1059 + .buswidth = 8, 1060 + .num_links = 1, 1061 + .links = { SDM845_MASTER_CNOC_A2NOC }, 1062 + }; 1063 + 1064 + static struct qcom_icc_node srvc_cnoc = { 1065 + .name = "srvc_cnoc", 1066 + .id = SDM845_SLAVE_SERVICE_CNOC, 1067 + .channels = 1, 1068 + .buswidth = 4, 1069 + }; 1070 + 1071 + static struct qcom_icc_node qhs_llcc = { 1072 + .name = "qhs_llcc", 1073 + .id = SDM845_SLAVE_LLCC_CFG, 1074 + .channels = 1, 1075 + .buswidth = 4, 1076 + }; 1077 + 1078 + static struct qcom_icc_node qhs_memnoc = { 1079 + .name = "qhs_memnoc", 1080 + .id = SDM845_SLAVE_MEM_NOC_CFG, 1081 + .channels = 1, 1082 + .buswidth = 4, 1083 + .num_links = 1, 1084 + .links = { SDM845_MASTER_MEM_NOC_CFG }, 1085 + }; 1086 + 1087 + static struct qcom_icc_node qns_gladiator_sodv = { 1088 + .name = "qns_gladiator_sodv", 1089 + .id = SDM845_SLAVE_GNOC_SNOC, 1090 + .channels = 1, 1091 + .buswidth = 8, 1092 + .num_links = 1, 1093 + .links = { SDM845_MASTER_GNOC_SNOC }, 1094 + }; 1095 + 1096 + static struct qcom_icc_node qns_gnoc_memnoc = { 1097 + .name = "qns_gnoc_memnoc", 1098 + .id = SDM845_SLAVE_GNOC_MEM_NOC, 1099 + .channels = 2, 1100 + .buswidth = 32, 1101 + .num_links = 1, 1102 + .links = { SDM845_MASTER_GNOC_MEM_NOC }, 1103 + }; 1104 + 1105 + static struct qcom_icc_node srvc_gnoc = { 1106 + .name = "srvc_gnoc", 1107 + .id = SDM845_SLAVE_SERVICE_GNOC, 1108 + .channels = 1, 1109 + .buswidth = 4, 1110 + }; 1111 + 1112 + static struct qcom_icc_node ebi = { 1113 + .name = "ebi", 1114 + .id = SDM845_SLAVE_EBI1, 1115 + .channels = 4, 1116 + .buswidth = 4, 1117 + }; 1118 + 1119 + static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 1120 + .name = "qhs_mdsp_ms_mpu_cfg", 1121 + .id = SDM845_SLAVE_MSS_PROC_MS_MPU_CFG, 1122 + .channels = 1, 1123 + .buswidth = 4, 1124 + }; 1125 + 1126 + static struct qcom_icc_node qns_apps_io = { 1127 + .name = "qns_apps_io", 1128 + .id = SDM845_SLAVE_MEM_NOC_GNOC, 1129 + .channels = 1, 1130 + .buswidth = 32, 1131 + }; 1132 + 1133 + static struct qcom_icc_node qns_llcc = { 1134 + .name = "qns_llcc", 1135 + .id = SDM845_SLAVE_LLCC, 1136 + .channels = 4, 1137 + .buswidth = 16, 1138 + .num_links = 1, 1139 + .links = { SDM845_MASTER_LLCC }, 1140 + }; 1141 + 1142 + static struct qcom_icc_node qns_memnoc_snoc = { 1143 + .name = "qns_memnoc_snoc", 1144 + .id = SDM845_SLAVE_MEM_NOC_SNOC, 1145 + .channels = 1, 1146 + .buswidth = 8, 1147 + .num_links = 1, 1148 + .links = { SDM845_MASTER_MEM_NOC_SNOC }, 1149 + }; 1150 + 1151 + static struct qcom_icc_node srvc_memnoc = { 1152 + .name = "srvc_memnoc", 1153 + .id = SDM845_SLAVE_SERVICE_MEM_NOC, 1154 + .channels = 1, 1155 + .buswidth = 4, 1156 + }; 1157 + 1158 + static struct qcom_icc_node qns2_mem_noc = { 1159 + .name = "qns2_mem_noc", 1160 + .id = SDM845_SLAVE_MNOC_SF_MEM_NOC, 1161 + .channels = 1, 1162 + .buswidth = 32, 1163 + .num_links = 1, 1164 + .links = { SDM845_MASTER_MNOC_SF_MEM_NOC }, 1165 + }; 1166 + 1167 + static struct qcom_icc_node qns_mem_noc_hf = { 1168 + .name = "qns_mem_noc_hf", 1169 + .id = SDM845_SLAVE_MNOC_HF_MEM_NOC, 1170 + .channels = 2, 1171 + .buswidth = 32, 1172 + .num_links = 1, 1173 + .links = { SDM845_MASTER_MNOC_HF_MEM_NOC }, 1174 + }; 1175 + 1176 + static struct qcom_icc_node srvc_mnoc = { 1177 + .name = "srvc_mnoc", 1178 + .id = SDM845_SLAVE_SERVICE_MNOC, 1179 + .channels = 1, 1180 + .buswidth = 4, 1181 + }; 1182 + 1183 + static struct qcom_icc_node qhs_apss = { 1184 + .name = "qhs_apss", 1185 + .id = SDM845_SLAVE_APPSS, 1186 + .channels = 1, 1187 + .buswidth = 8, 1188 + }; 1189 + 1190 + static struct qcom_icc_node qns_cnoc = { 1191 + .name = "qns_cnoc", 1192 + .id = SDM845_SLAVE_SNOC_CNOC, 1193 + .channels = 1, 1194 + .buswidth = 8, 1195 + .num_links = 1, 1196 + .links = { SDM845_MASTER_SNOC_CNOC }, 1197 + }; 1198 + 1199 + static struct qcom_icc_node qns_memnoc_gc = { 1200 + .name = "qns_memnoc_gc", 1201 + .id = SDM845_SLAVE_SNOC_MEM_NOC_GC, 1202 + .channels = 1, 1203 + .buswidth = 8, 1204 + .num_links = 1, 1205 + .links = { SDM845_MASTER_SNOC_GC_MEM_NOC }, 1206 + }; 1207 + 1208 + static struct qcom_icc_node qns_memnoc_sf = { 1209 + .name = "qns_memnoc_sf", 1210 + .id = SDM845_SLAVE_SNOC_MEM_NOC_SF, 1211 + .channels = 1, 1212 + .buswidth = 16, 1213 + .num_links = 1, 1214 + .links = { SDM845_MASTER_SNOC_SF_MEM_NOC }, 1215 + }; 1216 + 1217 + static struct qcom_icc_node qxs_imem = { 1218 + .name = "qxs_imem", 1219 + .id = SDM845_SLAVE_IMEM, 1220 + .channels = 1, 1221 + .buswidth = 8, 1222 + }; 1223 + 1224 + static struct qcom_icc_node qxs_pcie = { 1225 + .name = "qxs_pcie", 1226 + .id = SDM845_SLAVE_PCIE_0, 1227 + .channels = 1, 1228 + .buswidth = 8, 1229 + }; 1230 + 1231 + static struct qcom_icc_node qxs_pcie_gen3 = { 1232 + .name = "qxs_pcie_gen3", 1233 + .id = SDM845_SLAVE_PCIE_1, 1234 + .channels = 1, 1235 + .buswidth = 8, 1236 + }; 1237 + 1238 + static struct qcom_icc_node qxs_pimem = { 1239 + .name = "qxs_pimem", 1240 + .id = SDM845_SLAVE_PIMEM, 1241 + .channels = 1, 1242 + .buswidth = 8, 1243 + }; 1244 + 1245 + static struct qcom_icc_node srvc_snoc = { 1246 + .name = "srvc_snoc", 1247 + .id = SDM845_SLAVE_SERVICE_SNOC, 1248 + .channels = 1, 1249 + .buswidth = 4, 1250 + }; 1251 + 1252 + static struct qcom_icc_node xs_qdss_stm = { 1253 + .name = "xs_qdss_stm", 1254 + .id = SDM845_SLAVE_QDSS_STM, 1255 + .channels = 1, 1256 + .buswidth = 4, 1257 + }; 1258 + 1259 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1260 + .name = "xs_sys_tcu_cfg", 1261 + .id = SDM845_SLAVE_TCU, 1262 + .channels = 1, 1263 + .buswidth = 8, 1264 + }; 1265 + 1266 + static struct qcom_icc_bcm bcm_acv = { 1267 + .name = "ACV", 1268 + .keepalive = false, 1269 + .num_nodes = 1, 1270 + .nodes = { &ebi }, 1271 + }; 1272 + 1273 + static struct qcom_icc_bcm bcm_mc0 = { 1274 + .name = "MC0", 1275 + .keepalive = true, 1276 + .num_nodes = 1, 1277 + .nodes = { &ebi }, 1278 + }; 1279 + 1280 + static struct qcom_icc_bcm bcm_sh0 = { 1281 + .name = "SH0", 1282 + .keepalive = true, 1283 + .num_nodes = 1, 1284 + .nodes = { &qns_llcc }, 1285 + }; 1286 + 1287 + static struct qcom_icc_bcm bcm_mm0 = { 1288 + .name = "MM0", 1289 + .keepalive = false, 1290 + .num_nodes = 1, 1291 + .nodes = { &qns_mem_noc_hf }, 1292 + }; 1293 + 1294 + static struct qcom_icc_bcm bcm_sh1 = { 1295 + .name = "SH1", 1296 + .keepalive = false, 1297 + .num_nodes = 1, 1298 + .nodes = { &qns_apps_io }, 1299 + }; 1300 + 1301 + static struct qcom_icc_bcm bcm_mm1 = { 1302 + .name = "MM1", 1303 + .keepalive = true, 1304 + .num_nodes = 7, 1305 + .nodes = { &qxm_camnoc_hf0_uncomp, 1306 + &qxm_camnoc_hf1_uncomp, 1307 + &qxm_camnoc_sf_uncomp, 1308 + &qxm_camnoc_hf0, 1309 + &qxm_camnoc_hf1, 1310 + &qxm_mdp0, 1311 + &qxm_mdp1 1312 + }, 1313 + }; 1314 + 1315 + static struct qcom_icc_bcm bcm_sh2 = { 1316 + .name = "SH2", 1317 + .keepalive = false, 1318 + .num_nodes = 1, 1319 + .nodes = { &qns_memnoc_snoc }, 1320 + }; 1321 + 1322 + static struct qcom_icc_bcm bcm_mm2 = { 1323 + .name = "MM2", 1324 + .keepalive = false, 1325 + .num_nodes = 1, 1326 + .nodes = { &qns2_mem_noc }, 1327 + }; 1328 + 1329 + static struct qcom_icc_bcm bcm_sh3 = { 1330 + .name = "SH3", 1331 + .keepalive = false, 1332 + .num_nodes = 1, 1333 + .nodes = { &acm_tcu }, 1334 + }; 1335 + 1336 + static struct qcom_icc_bcm bcm_mm3 = { 1337 + .name = "MM3", 1338 + .keepalive = false, 1339 + .num_nodes = 5, 1340 + .nodes = { &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9 }, 1341 + }; 1342 + 1343 + static struct qcom_icc_bcm bcm_sh5 = { 1344 + .name = "SH5", 1345 + .keepalive = false, 1346 + .num_nodes = 1, 1347 + .nodes = { &qnm_apps }, 1348 + }; 1349 + 1350 + static struct qcom_icc_bcm bcm_sn0 = { 1351 + .name = "SN0", 1352 + .keepalive = true, 1353 + .num_nodes = 1, 1354 + .nodes = { &qns_memnoc_sf }, 1355 + }; 1356 + 1357 + static struct qcom_icc_bcm bcm_ce0 = { 1358 + .name = "CE0", 1359 + .keepalive = false, 1360 + .num_nodes = 1, 1361 + .nodes = { &qxm_crypto }, 1362 + }; 1363 + 1364 + static struct qcom_icc_bcm bcm_cn0 = { 1365 + .name = "CN0", 1366 + .keepalive = false, 1367 + .num_nodes = 47, 1368 + .nodes = { &qhm_spdm, 1369 + &qhm_tic, 1370 + &qnm_snoc, 1371 + &xm_qdss_dap, 1372 + &qhs_a1_noc_cfg, 1373 + &qhs_a2_noc_cfg, 1374 + &qhs_aop, 1375 + &qhs_aoss, 1376 + &qhs_camera_cfg, 1377 + &qhs_clk_ctl, 1378 + &qhs_compute_dsp_cfg, 1379 + &qhs_cpr_cx, 1380 + &qhs_crypto0_cfg, 1381 + &qhs_dcc_cfg, 1382 + &qhs_ddrss_cfg, 1383 + &qhs_display_cfg, 1384 + &qhs_glm, 1385 + &qhs_gpuss_cfg, 1386 + &qhs_imem_cfg, 1387 + &qhs_ipa, 1388 + &qhs_mnoc_cfg, 1389 + &qhs_pcie0_cfg, 1390 + &qhs_pcie_gen3_cfg, 1391 + &qhs_pdm, 1392 + &qhs_phy_refgen_south, 1393 + &qhs_pimem_cfg, 1394 + &qhs_prng, 1395 + &qhs_qdss_cfg, 1396 + &qhs_qupv3_north, 1397 + &qhs_qupv3_south, 1398 + &qhs_sdc2, 1399 + &qhs_sdc4, 1400 + &qhs_snoc_cfg, 1401 + &qhs_spdm, 1402 + &qhs_spss_cfg, 1403 + &qhs_tcsr, 1404 + &qhs_tlmm_north, 1405 + &qhs_tlmm_south, 1406 + &qhs_tsif, 1407 + &qhs_ufs_card_cfg, 1408 + &qhs_ufs_mem_cfg, 1409 + &qhs_usb3_0, 1410 + &qhs_usb3_1, 1411 + &qhs_venus_cfg, 1412 + &qhs_vsense_ctrl_cfg, 1413 + &qns_cnoc_a2noc, 1414 + &srvc_cnoc 1415 + }, 1416 + }; 1417 + 1418 + static struct qcom_icc_bcm bcm_qup0 = { 1419 + .name = "QUP0", 1420 + .keepalive = false, 1421 + .num_nodes = 2, 1422 + .nodes = { &qhm_qup1, &qhm_qup2 }, 1423 + }; 1424 + 1425 + static struct qcom_icc_bcm bcm_sn1 = { 1426 + .name = "SN1", 1427 + .keepalive = false, 1428 + .num_nodes = 1, 1429 + .nodes = { &qxs_imem }, 1430 + }; 1431 + 1432 + static struct qcom_icc_bcm bcm_sn2 = { 1433 + .name = "SN2", 1434 + .keepalive = false, 1435 + .num_nodes = 1, 1436 + .nodes = { &qns_memnoc_gc }, 1437 + }; 1438 + 1439 + static struct qcom_icc_bcm bcm_sn3 = { 1440 + .name = "SN3", 1441 + .keepalive = false, 1442 + .num_nodes = 1, 1443 + .nodes = { &qns_cnoc }, 1444 + }; 1445 + 1446 + static struct qcom_icc_bcm bcm_sn4 = { 1447 + .name = "SN4", 1448 + .keepalive = false, 1449 + .num_nodes = 1, 1450 + .nodes = { &qxm_pimem }, 1451 + }; 1452 + 1453 + static struct qcom_icc_bcm bcm_sn5 = { 1454 + .name = "SN5", 1455 + .keepalive = false, 1456 + .num_nodes = 1, 1457 + .nodes = { &xs_qdss_stm }, 1458 + }; 1459 + 1460 + static struct qcom_icc_bcm bcm_sn6 = { 1461 + .name = "SN6", 1462 + .keepalive = false, 1463 + .num_nodes = 3, 1464 + .nodes = { &qhs_apss, &srvc_snoc, &xs_sys_tcu_cfg }, 1465 + }; 1466 + 1467 + static struct qcom_icc_bcm bcm_sn7 = { 1468 + .name = "SN7", 1469 + .keepalive = false, 1470 + .num_nodes = 1, 1471 + .nodes = { &qxs_pcie }, 1472 + }; 1473 + 1474 + static struct qcom_icc_bcm bcm_sn8 = { 1475 + .name = "SN8", 1476 + .keepalive = false, 1477 + .num_nodes = 1, 1478 + .nodes = { &qxs_pcie_gen3 }, 1479 + }; 1480 + 1481 + static struct qcom_icc_bcm bcm_sn9 = { 1482 + .name = "SN9", 1483 + .keepalive = false, 1484 + .num_nodes = 2, 1485 + .nodes = { &srvc_aggre1_noc, &qnm_aggre1_noc }, 1486 + }; 1487 + 1488 + static struct qcom_icc_bcm bcm_sn11 = { 1489 + .name = "SN11", 1490 + .keepalive = false, 1491 + .num_nodes = 2, 1492 + .nodes = { &srvc_aggre2_noc, &qnm_aggre2_noc }, 1493 + }; 1494 + 1495 + static struct qcom_icc_bcm bcm_sn12 = { 1496 + .name = "SN12", 1497 + .keepalive = false, 1498 + .num_nodes = 2, 1499 + .nodes = { &qnm_gladiator_sodv, &xm_gic }, 1500 + }; 1501 + 1502 + static struct qcom_icc_bcm bcm_sn14 = { 1503 + .name = "SN14", 1504 + .keepalive = false, 1505 + .num_nodes = 1, 1506 + .nodes = { &qnm_pcie_anoc }, 1507 + }; 1508 + 1509 + static struct qcom_icc_bcm bcm_sn15 = { 1510 + .name = "SN15", 1511 + .keepalive = false, 1512 + .num_nodes = 1, 1513 + .nodes = { &qnm_memnoc }, 1514 + }; 178 1515 179 1516 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 180 1517 &bcm_sn9,
+762 -79
drivers/interconnect/qcom/sdx55.c
··· 19 19 #include "icc-rpmh.h" 20 20 #include "sdx55.h" 21 21 22 - DEFINE_QNODE(llcc_mc, SDX55_MASTER_LLCC, 4, 4, SDX55_SLAVE_EBI_CH0); 23 - DEFINE_QNODE(acm_tcu, SDX55_MASTER_TCU_0, 1, 8, SDX55_SLAVE_LLCC, SDX55_SLAVE_MEM_NOC_SNOC, SDX55_SLAVE_MEM_NOC_PCIE_SNOC); 24 - DEFINE_QNODE(qnm_snoc_gc, SDX55_MASTER_SNOC_GC_MEM_NOC, 1, 8, SDX55_SLAVE_LLCC); 25 - DEFINE_QNODE(xm_apps_rdwr, SDX55_MASTER_AMPSS_M0, 1, 16, SDX55_SLAVE_LLCC, SDX55_SLAVE_MEM_NOC_SNOC, SDX55_SLAVE_MEM_NOC_PCIE_SNOC); 26 - DEFINE_QNODE(qhm_audio, SDX55_MASTER_AUDIO, 1, 4, SDX55_SLAVE_ANOC_SNOC); 27 - DEFINE_QNODE(qhm_blsp1, SDX55_MASTER_BLSP_1, 1, 4, SDX55_SLAVE_ANOC_SNOC); 28 - DEFINE_QNODE(qhm_qdss_bam, SDX55_MASTER_QDSS_BAM, 1, 4, SDX55_SLAVE_SNOC_CFG, SDX55_SLAVE_EMAC_CFG, SDX55_SLAVE_USB3, SDX55_SLAVE_TLMM, SDX55_SLAVE_SPMI_FETCHER, SDX55_SLAVE_QDSS_CFG, SDX55_SLAVE_PDM, SDX55_SLAVE_SNOC_MEM_NOC_GC, SDX55_SLAVE_TCSR, SDX55_SLAVE_CNOC_DDRSS, SDX55_SLAVE_SPMI_VGI_COEX, SDX55_SLAVE_QPIC, SDX55_SLAVE_OCIMEM, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_USB3_PHY_CFG, SDX55_SLAVE_AOP, SDX55_SLAVE_BLSP_1, SDX55_SLAVE_SDCC_1, SDX55_SLAVE_CNOC_MSS, SDX55_SLAVE_PCIE_PARF, SDX55_SLAVE_ECC_CFG, SDX55_SLAVE_AUDIO, SDX55_SLAVE_AOSS, SDX55_SLAVE_PRNG, SDX55_SLAVE_CRYPTO_0_CFG, SDX55_SLAVE_TCU, SDX55_SLAVE_CLK_CTL, SDX55_SLAVE_IMEM_CFG); 29 - DEFINE_QNODE(qhm_qpic, SDX55_MASTER_QPIC, 1, 4, SDX55_SLAVE_AOSS, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_ANOC_SNOC, SDX55_SLAVE_AOP, SDX55_SLAVE_AUDIO); 30 - DEFINE_QNODE(qhm_snoc_cfg, SDX55_MASTER_SNOC_CFG, 1, 4, SDX55_SLAVE_SERVICE_SNOC); 31 - DEFINE_QNODE(qhm_spmi_fetcher1, SDX55_MASTER_SPMI_FETCHER, 1, 4, SDX55_SLAVE_AOSS, SDX55_SLAVE_ANOC_SNOC, SDX55_SLAVE_AOP); 32 - DEFINE_QNODE(qnm_aggre_noc, SDX55_MASTER_ANOC_SNOC, 1, 8, SDX55_SLAVE_PCIE_0, SDX55_SLAVE_SNOC_CFG, SDX55_SLAVE_SDCC_1, SDX55_SLAVE_TLMM, SDX55_SLAVE_SPMI_FETCHER, SDX55_SLAVE_QDSS_CFG, SDX55_SLAVE_PDM, SDX55_SLAVE_SNOC_MEM_NOC_GC, SDX55_SLAVE_TCSR, SDX55_SLAVE_CNOC_DDRSS, SDX55_SLAVE_SPMI_VGI_COEX, SDX55_SLAVE_QDSS_STM, SDX55_SLAVE_QPIC, SDX55_SLAVE_OCIMEM, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_USB3_PHY_CFG, SDX55_SLAVE_AOP, SDX55_SLAVE_BLSP_1, SDX55_SLAVE_USB3, SDX55_SLAVE_CNOC_MSS, SDX55_SLAVE_PCIE_PARF, SDX55_SLAVE_ECC_CFG, SDX55_SLAVE_APPSS, SDX55_SLAVE_AUDIO, SDX55_SLAVE_AOSS, SDX55_SLAVE_PRNG, SDX55_SLAVE_CRYPTO_0_CFG, SDX55_SLAVE_TCU, SDX55_SLAVE_CLK_CTL, SDX55_SLAVE_IMEM_CFG); 33 - DEFINE_QNODE(qnm_ipa, SDX55_MASTER_IPA, 1, 8, SDX55_SLAVE_SNOC_CFG, SDX55_SLAVE_EMAC_CFG, SDX55_SLAVE_USB3, SDX55_SLAVE_AOSS, SDX55_SLAVE_SPMI_FETCHER, SDX55_SLAVE_QDSS_CFG, SDX55_SLAVE_PDM, SDX55_SLAVE_SNOC_MEM_NOC_GC, SDX55_SLAVE_TCSR, SDX55_SLAVE_CNOC_DDRSS, SDX55_SLAVE_QDSS_STM, SDX55_SLAVE_QPIC, SDX55_SLAVE_OCIMEM, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_USB3_PHY_CFG, SDX55_SLAVE_AOP, SDX55_SLAVE_BLSP_1, SDX55_SLAVE_SDCC_1, SDX55_SLAVE_CNOC_MSS, SDX55_SLAVE_PCIE_PARF, SDX55_SLAVE_ECC_CFG, SDX55_SLAVE_AUDIO, SDX55_SLAVE_TLMM, SDX55_SLAVE_PRNG, SDX55_SLAVE_CRYPTO_0_CFG, SDX55_SLAVE_CLK_CTL, SDX55_SLAVE_IMEM_CFG); 34 - DEFINE_QNODE(qnm_memnoc, SDX55_MASTER_MEM_NOC_SNOC, 1, 8, SDX55_SLAVE_SNOC_CFG, SDX55_SLAVE_EMAC_CFG, SDX55_SLAVE_USB3, SDX55_SLAVE_TLMM, SDX55_SLAVE_SPMI_FETCHER, SDX55_SLAVE_QDSS_CFG, SDX55_SLAVE_PDM, SDX55_SLAVE_TCSR, SDX55_SLAVE_CNOC_DDRSS, SDX55_SLAVE_SPMI_VGI_COEX, SDX55_SLAVE_QDSS_STM, SDX55_SLAVE_QPIC, SDX55_SLAVE_OCIMEM, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_USB3_PHY_CFG, SDX55_SLAVE_AOP, SDX55_SLAVE_BLSP_1, SDX55_SLAVE_SDCC_1, SDX55_SLAVE_CNOC_MSS, SDX55_SLAVE_PCIE_PARF, SDX55_SLAVE_ECC_CFG, SDX55_SLAVE_APPSS, SDX55_SLAVE_AUDIO, SDX55_SLAVE_AOSS, SDX55_SLAVE_PRNG, SDX55_SLAVE_CRYPTO_0_CFG, SDX55_SLAVE_TCU, SDX55_SLAVE_CLK_CTL, SDX55_SLAVE_IMEM_CFG); 35 - DEFINE_QNODE(qnm_memnoc_pcie, SDX55_MASTER_MEM_NOC_PCIE_SNOC, 1, 8, SDX55_SLAVE_PCIE_0); 36 - DEFINE_QNODE(qxm_crypto, SDX55_MASTER_CRYPTO_CORE_0, 1, 8, SDX55_SLAVE_AOSS, SDX55_SLAVE_ANOC_SNOC, SDX55_SLAVE_AOP); 37 - DEFINE_QNODE(xm_emac, SDX55_MASTER_EMAC, 1, 8, SDX55_SLAVE_ANOC_SNOC); 38 - DEFINE_QNODE(xm_ipa2pcie_slv, SDX55_MASTER_IPA_PCIE, 1, 8, SDX55_SLAVE_PCIE_0); 39 - DEFINE_QNODE(xm_pcie, SDX55_MASTER_PCIE, 1, 8, SDX55_SLAVE_ANOC_SNOC); 40 - DEFINE_QNODE(xm_qdss_etr, SDX55_MASTER_QDSS_ETR, 1, 8, SDX55_SLAVE_SNOC_CFG, SDX55_SLAVE_EMAC_CFG, SDX55_SLAVE_USB3, SDX55_SLAVE_AOSS, SDX55_SLAVE_SPMI_FETCHER, SDX55_SLAVE_QDSS_CFG, SDX55_SLAVE_PDM, SDX55_SLAVE_SNOC_MEM_NOC_GC, SDX55_SLAVE_TCSR, SDX55_SLAVE_CNOC_DDRSS, SDX55_SLAVE_SPMI_VGI_COEX, SDX55_SLAVE_QPIC, SDX55_SLAVE_OCIMEM, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_USB3_PHY_CFG, SDX55_SLAVE_AOP, SDX55_SLAVE_BLSP_1, SDX55_SLAVE_SDCC_1, SDX55_SLAVE_CNOC_MSS, SDX55_SLAVE_PCIE_PARF, SDX55_SLAVE_ECC_CFG, SDX55_SLAVE_AUDIO, SDX55_SLAVE_AOSS, SDX55_SLAVE_PRNG, SDX55_SLAVE_CRYPTO_0_CFG, SDX55_SLAVE_TCU, SDX55_SLAVE_CLK_CTL, SDX55_SLAVE_IMEM_CFG); 41 - DEFINE_QNODE(xm_sdc1, SDX55_MASTER_SDCC_1, 1, 8, SDX55_SLAVE_AOSS, SDX55_SLAVE_IPA_CFG, SDX55_SLAVE_ANOC_SNOC, SDX55_SLAVE_AOP, SDX55_SLAVE_AUDIO); 42 - DEFINE_QNODE(xm_usb3, SDX55_MASTER_USB3, 1, 8, SDX55_SLAVE_ANOC_SNOC); 43 - DEFINE_QNODE(ebi, SDX55_SLAVE_EBI_CH0, 1, 4); 44 - DEFINE_QNODE(qns_llcc, SDX55_SLAVE_LLCC, 1, 16, SDX55_SLAVE_EBI_CH0); 45 - DEFINE_QNODE(qns_memnoc_snoc, SDX55_SLAVE_MEM_NOC_SNOC, 1, 8, SDX55_MASTER_MEM_NOC_SNOC); 46 - DEFINE_QNODE(qns_sys_pcie, SDX55_SLAVE_MEM_NOC_PCIE_SNOC, 1, 8, SDX55_MASTER_MEM_NOC_PCIE_SNOC); 47 - DEFINE_QNODE(qhs_aop, SDX55_SLAVE_AOP, 1, 4); 48 - DEFINE_QNODE(qhs_aoss, SDX55_SLAVE_AOSS, 1, 4); 49 - DEFINE_QNODE(qhs_apss, SDX55_SLAVE_APPSS, 1, 4); 50 - DEFINE_QNODE(qhs_audio, SDX55_SLAVE_AUDIO, 1, 4); 51 - DEFINE_QNODE(qhs_blsp1, SDX55_SLAVE_BLSP_1, 1, 4); 52 - DEFINE_QNODE(qhs_clk_ctl, SDX55_SLAVE_CLK_CTL, 1, 4); 53 - DEFINE_QNODE(qhs_crypto0_cfg, SDX55_SLAVE_CRYPTO_0_CFG, 1, 4); 54 - DEFINE_QNODE(qhs_ddrss_cfg, SDX55_SLAVE_CNOC_DDRSS, 1, 4); 55 - DEFINE_QNODE(qhs_ecc_cfg, SDX55_SLAVE_ECC_CFG, 1, 4); 56 - DEFINE_QNODE(qhs_emac_cfg, SDX55_SLAVE_EMAC_CFG, 1, 4); 57 - DEFINE_QNODE(qhs_imem_cfg, SDX55_SLAVE_IMEM_CFG, 1, 4); 58 - DEFINE_QNODE(qhs_ipa, SDX55_SLAVE_IPA_CFG, 1, 4); 59 - DEFINE_QNODE(qhs_mss_cfg, SDX55_SLAVE_CNOC_MSS, 1, 4); 60 - DEFINE_QNODE(qhs_pcie_parf, SDX55_SLAVE_PCIE_PARF, 1, 4); 61 - DEFINE_QNODE(qhs_pdm, SDX55_SLAVE_PDM, 1, 4); 62 - DEFINE_QNODE(qhs_prng, SDX55_SLAVE_PRNG, 1, 4); 63 - DEFINE_QNODE(qhs_qdss_cfg, SDX55_SLAVE_QDSS_CFG, 1, 4); 64 - DEFINE_QNODE(qhs_qpic, SDX55_SLAVE_QPIC, 1, 4); 65 - DEFINE_QNODE(qhs_sdc1, SDX55_SLAVE_SDCC_1, 1, 4); 66 - DEFINE_QNODE(qhs_snoc_cfg, SDX55_SLAVE_SNOC_CFG, 1, 4, SDX55_MASTER_SNOC_CFG); 67 - DEFINE_QNODE(qhs_spmi_fetcher, SDX55_SLAVE_SPMI_FETCHER, 1, 4); 68 - DEFINE_QNODE(qhs_spmi_vgi_coex, SDX55_SLAVE_SPMI_VGI_COEX, 1, 4); 69 - DEFINE_QNODE(qhs_tcsr, SDX55_SLAVE_TCSR, 1, 4); 70 - DEFINE_QNODE(qhs_tlmm, SDX55_SLAVE_TLMM, 1, 4); 71 - DEFINE_QNODE(qhs_usb3, SDX55_SLAVE_USB3, 1, 4); 72 - DEFINE_QNODE(qhs_usb3_phy, SDX55_SLAVE_USB3_PHY_CFG, 1, 4); 73 - DEFINE_QNODE(qns_aggre_noc, SDX55_SLAVE_ANOC_SNOC, 1, 8, SDX55_MASTER_ANOC_SNOC); 74 - DEFINE_QNODE(qns_snoc_memnoc, SDX55_SLAVE_SNOC_MEM_NOC_GC, 1, 8, SDX55_MASTER_SNOC_GC_MEM_NOC); 75 - DEFINE_QNODE(qxs_imem, SDX55_SLAVE_OCIMEM, 1, 8); 76 - DEFINE_QNODE(srvc_snoc, SDX55_SLAVE_SERVICE_SNOC, 1, 4); 77 - DEFINE_QNODE(xs_pcie, SDX55_SLAVE_PCIE_0, 1, 8); 78 - DEFINE_QNODE(xs_qdss_stm, SDX55_SLAVE_QDSS_STM, 1, 4); 79 - DEFINE_QNODE(xs_sys_tcu_cfg, SDX55_SLAVE_TCU, 1, 8); 22 + static struct qcom_icc_node llcc_mc = { 23 + .name = "llcc_mc", 24 + .id = SDX55_MASTER_LLCC, 25 + .channels = 4, 26 + .buswidth = 4, 27 + .num_links = 1, 28 + .links = { SDX55_SLAVE_EBI_CH0 }, 29 + }; 80 30 81 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 82 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 83 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 84 - DEFINE_QBCM(bcm_pn0, "PN0", false, &qhm_snoc_cfg); 85 - DEFINE_QBCM(bcm_sh3, "SH3", false, &xm_apps_rdwr); 86 - DEFINE_QBCM(bcm_sh4, "SH4", false, &qns_memnoc_snoc, &qns_sys_pcie); 87 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_snoc_memnoc); 88 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 89 - DEFINE_QBCM(bcm_pn1, "PN1", false, &xm_sdc1); 90 - DEFINE_QBCM(bcm_pn2, "PN2", false, &qhm_audio, &qhm_spmi_fetcher1); 91 - DEFINE_QBCM(bcm_sn3, "SN3", false, &xs_qdss_stm); 92 - DEFINE_QBCM(bcm_pn3, "PN3", false, &qhm_blsp1, &qhm_qpic); 93 - DEFINE_QBCM(bcm_sn4, "SN4", false, &xs_sys_tcu_cfg); 94 - DEFINE_QBCM(bcm_pn5, "PN5", false, &qxm_crypto); 95 - DEFINE_QBCM(bcm_sn6, "SN6", false, &xs_pcie); 96 - DEFINE_QBCM(bcm_sn7, "SN7", false, &qnm_aggre_noc, &xm_emac, &xm_emac, &xm_usb3, 97 - &qns_aggre_noc); 98 - DEFINE_QBCM(bcm_sn8, "SN8", false, &qhm_qdss_bam, &xm_qdss_etr); 99 - DEFINE_QBCM(bcm_sn9, "SN9", false, &qnm_memnoc); 100 - DEFINE_QBCM(bcm_sn10, "SN10", false, &qnm_memnoc_pcie); 101 - DEFINE_QBCM(bcm_sn11, "SN11", false, &qnm_ipa, &xm_ipa2pcie_slv); 31 + static struct qcom_icc_node acm_tcu = { 32 + .name = "acm_tcu", 33 + .id = SDX55_MASTER_TCU_0, 34 + .channels = 1, 35 + .buswidth = 8, 36 + .num_links = 3, 37 + .links = { SDX55_SLAVE_LLCC, 38 + SDX55_SLAVE_MEM_NOC_SNOC, 39 + SDX55_SLAVE_MEM_NOC_PCIE_SNOC 40 + }, 41 + }; 42 + 43 + static struct qcom_icc_node qnm_snoc_gc = { 44 + .name = "qnm_snoc_gc", 45 + .id = SDX55_MASTER_SNOC_GC_MEM_NOC, 46 + .channels = 1, 47 + .buswidth = 8, 48 + .num_links = 1, 49 + .links = { SDX55_SLAVE_LLCC }, 50 + }; 51 + 52 + static struct qcom_icc_node xm_apps_rdwr = { 53 + .name = "xm_apps_rdwr", 54 + .id = SDX55_MASTER_AMPSS_M0, 55 + .channels = 1, 56 + .buswidth = 16, 57 + .num_links = 3, 58 + .links = { SDX55_SLAVE_LLCC, 59 + SDX55_SLAVE_MEM_NOC_SNOC, 60 + SDX55_SLAVE_MEM_NOC_PCIE_SNOC 61 + }, 62 + }; 63 + 64 + static struct qcom_icc_node qhm_audio = { 65 + .name = "qhm_audio", 66 + .id = SDX55_MASTER_AUDIO, 67 + .channels = 1, 68 + .buswidth = 4, 69 + .num_links = 1, 70 + .links = { SDX55_SLAVE_ANOC_SNOC }, 71 + }; 72 + 73 + static struct qcom_icc_node qhm_blsp1 = { 74 + .name = "qhm_blsp1", 75 + .id = SDX55_MASTER_BLSP_1, 76 + .channels = 1, 77 + .buswidth = 4, 78 + .num_links = 1, 79 + .links = { SDX55_SLAVE_ANOC_SNOC }, 80 + }; 81 + 82 + static struct qcom_icc_node qhm_qdss_bam = { 83 + .name = "qhm_qdss_bam", 84 + .id = SDX55_MASTER_QDSS_BAM, 85 + .channels = 1, 86 + .buswidth = 4, 87 + .num_links = 28, 88 + .links = { SDX55_SLAVE_SNOC_CFG, 89 + SDX55_SLAVE_EMAC_CFG, 90 + SDX55_SLAVE_USB3, 91 + SDX55_SLAVE_TLMM, 92 + SDX55_SLAVE_SPMI_FETCHER, 93 + SDX55_SLAVE_QDSS_CFG, 94 + SDX55_SLAVE_PDM, 95 + SDX55_SLAVE_SNOC_MEM_NOC_GC, 96 + SDX55_SLAVE_TCSR, 97 + SDX55_SLAVE_CNOC_DDRSS, 98 + SDX55_SLAVE_SPMI_VGI_COEX, 99 + SDX55_SLAVE_QPIC, 100 + SDX55_SLAVE_OCIMEM, 101 + SDX55_SLAVE_IPA_CFG, 102 + SDX55_SLAVE_USB3_PHY_CFG, 103 + SDX55_SLAVE_AOP, 104 + SDX55_SLAVE_BLSP_1, 105 + SDX55_SLAVE_SDCC_1, 106 + SDX55_SLAVE_CNOC_MSS, 107 + SDX55_SLAVE_PCIE_PARF, 108 + SDX55_SLAVE_ECC_CFG, 109 + SDX55_SLAVE_AUDIO, 110 + SDX55_SLAVE_AOSS, 111 + SDX55_SLAVE_PRNG, 112 + SDX55_SLAVE_CRYPTO_0_CFG, 113 + SDX55_SLAVE_TCU, 114 + SDX55_SLAVE_CLK_CTL, 115 + SDX55_SLAVE_IMEM_CFG 116 + }, 117 + }; 118 + 119 + static struct qcom_icc_node qhm_qpic = { 120 + .name = "qhm_qpic", 121 + .id = SDX55_MASTER_QPIC, 122 + .channels = 1, 123 + .buswidth = 4, 124 + .num_links = 5, 125 + .links = { SDX55_SLAVE_AOSS, 126 + SDX55_SLAVE_IPA_CFG, 127 + SDX55_SLAVE_ANOC_SNOC, 128 + SDX55_SLAVE_AOP, 129 + SDX55_SLAVE_AUDIO 130 + }, 131 + }; 132 + 133 + static struct qcom_icc_node qhm_snoc_cfg = { 134 + .name = "qhm_snoc_cfg", 135 + .id = SDX55_MASTER_SNOC_CFG, 136 + .channels = 1, 137 + .buswidth = 4, 138 + .num_links = 1, 139 + .links = { SDX55_SLAVE_SERVICE_SNOC }, 140 + }; 141 + 142 + static struct qcom_icc_node qhm_spmi_fetcher1 = { 143 + .name = "qhm_spmi_fetcher1", 144 + .id = SDX55_MASTER_SPMI_FETCHER, 145 + .channels = 1, 146 + .buswidth = 4, 147 + .num_links = 3, 148 + .links = { SDX55_SLAVE_AOSS, 149 + SDX55_SLAVE_ANOC_SNOC, 150 + SDX55_SLAVE_AOP 151 + }, 152 + }; 153 + 154 + static struct qcom_icc_node qnm_aggre_noc = { 155 + .name = "qnm_aggre_noc", 156 + .id = SDX55_MASTER_ANOC_SNOC, 157 + .channels = 1, 158 + .buswidth = 8, 159 + .num_links = 30, 160 + .links = { SDX55_SLAVE_PCIE_0, 161 + SDX55_SLAVE_SNOC_CFG, 162 + SDX55_SLAVE_SDCC_1, 163 + SDX55_SLAVE_TLMM, 164 + SDX55_SLAVE_SPMI_FETCHER, 165 + SDX55_SLAVE_QDSS_CFG, 166 + SDX55_SLAVE_PDM, 167 + SDX55_SLAVE_SNOC_MEM_NOC_GC, 168 + SDX55_SLAVE_TCSR, 169 + SDX55_SLAVE_CNOC_DDRSS, 170 + SDX55_SLAVE_SPMI_VGI_COEX, 171 + SDX55_SLAVE_QDSS_STM, 172 + SDX55_SLAVE_QPIC, 173 + SDX55_SLAVE_OCIMEM, 174 + SDX55_SLAVE_IPA_CFG, 175 + SDX55_SLAVE_USB3_PHY_CFG, 176 + SDX55_SLAVE_AOP, 177 + SDX55_SLAVE_BLSP_1, 178 + SDX55_SLAVE_USB3, 179 + SDX55_SLAVE_CNOC_MSS, 180 + SDX55_SLAVE_PCIE_PARF, 181 + SDX55_SLAVE_ECC_CFG, 182 + SDX55_SLAVE_APPSS, 183 + SDX55_SLAVE_AUDIO, 184 + SDX55_SLAVE_AOSS, 185 + SDX55_SLAVE_PRNG, 186 + SDX55_SLAVE_CRYPTO_0_CFG, 187 + SDX55_SLAVE_TCU, 188 + SDX55_SLAVE_CLK_CTL, 189 + SDX55_SLAVE_IMEM_CFG 190 + }, 191 + }; 192 + 193 + static struct qcom_icc_node qnm_ipa = { 194 + .name = "qnm_ipa", 195 + .id = SDX55_MASTER_IPA, 196 + .channels = 1, 197 + .buswidth = 8, 198 + .num_links = 27, 199 + .links = { SDX55_SLAVE_SNOC_CFG, 200 + SDX55_SLAVE_EMAC_CFG, 201 + SDX55_SLAVE_USB3, 202 + SDX55_SLAVE_AOSS, 203 + SDX55_SLAVE_SPMI_FETCHER, 204 + SDX55_SLAVE_QDSS_CFG, 205 + SDX55_SLAVE_PDM, 206 + SDX55_SLAVE_SNOC_MEM_NOC_GC, 207 + SDX55_SLAVE_TCSR, 208 + SDX55_SLAVE_CNOC_DDRSS, 209 + SDX55_SLAVE_QDSS_STM, 210 + SDX55_SLAVE_QPIC, 211 + SDX55_SLAVE_OCIMEM, 212 + SDX55_SLAVE_IPA_CFG, 213 + SDX55_SLAVE_USB3_PHY_CFG, 214 + SDX55_SLAVE_AOP, 215 + SDX55_SLAVE_BLSP_1, 216 + SDX55_SLAVE_SDCC_1, 217 + SDX55_SLAVE_CNOC_MSS, 218 + SDX55_SLAVE_PCIE_PARF, 219 + SDX55_SLAVE_ECC_CFG, 220 + SDX55_SLAVE_AUDIO, 221 + SDX55_SLAVE_TLMM, 222 + SDX55_SLAVE_PRNG, 223 + SDX55_SLAVE_CRYPTO_0_CFG, 224 + SDX55_SLAVE_CLK_CTL, 225 + SDX55_SLAVE_IMEM_CFG 226 + }, 227 + }; 228 + 229 + static struct qcom_icc_node qnm_memnoc = { 230 + .name = "qnm_memnoc", 231 + .id = SDX55_MASTER_MEM_NOC_SNOC, 232 + .channels = 1, 233 + .buswidth = 8, 234 + .num_links = 29, 235 + .links = { SDX55_SLAVE_SNOC_CFG, 236 + SDX55_SLAVE_EMAC_CFG, 237 + SDX55_SLAVE_USB3, 238 + SDX55_SLAVE_TLMM, 239 + SDX55_SLAVE_SPMI_FETCHER, 240 + SDX55_SLAVE_QDSS_CFG, 241 + SDX55_SLAVE_PDM, 242 + SDX55_SLAVE_TCSR, 243 + SDX55_SLAVE_CNOC_DDRSS, 244 + SDX55_SLAVE_SPMI_VGI_COEX, 245 + SDX55_SLAVE_QDSS_STM, 246 + SDX55_SLAVE_QPIC, 247 + SDX55_SLAVE_OCIMEM, 248 + SDX55_SLAVE_IPA_CFG, 249 + SDX55_SLAVE_USB3_PHY_CFG, 250 + SDX55_SLAVE_AOP, 251 + SDX55_SLAVE_BLSP_1, 252 + SDX55_SLAVE_SDCC_1, 253 + SDX55_SLAVE_CNOC_MSS, 254 + SDX55_SLAVE_PCIE_PARF, 255 + SDX55_SLAVE_ECC_CFG, 256 + SDX55_SLAVE_APPSS, 257 + SDX55_SLAVE_AUDIO, 258 + SDX55_SLAVE_AOSS, 259 + SDX55_SLAVE_PRNG, 260 + SDX55_SLAVE_CRYPTO_0_CFG, 261 + SDX55_SLAVE_TCU, 262 + SDX55_SLAVE_CLK_CTL, 263 + SDX55_SLAVE_IMEM_CFG 264 + }, 265 + }; 266 + 267 + static struct qcom_icc_node qnm_memnoc_pcie = { 268 + .name = "qnm_memnoc_pcie", 269 + .id = SDX55_MASTER_MEM_NOC_PCIE_SNOC, 270 + .channels = 1, 271 + .buswidth = 8, 272 + .num_links = 1, 273 + .links = { SDX55_SLAVE_PCIE_0 }, 274 + }; 275 + 276 + static struct qcom_icc_node qxm_crypto = { 277 + .name = "qxm_crypto", 278 + .id = SDX55_MASTER_CRYPTO_CORE_0, 279 + .channels = 1, 280 + .buswidth = 8, 281 + .num_links = 3, 282 + .links = { SDX55_SLAVE_AOSS, 283 + SDX55_SLAVE_ANOC_SNOC, 284 + SDX55_SLAVE_AOP 285 + }, 286 + }; 287 + 288 + static struct qcom_icc_node xm_emac = { 289 + .name = "xm_emac", 290 + .id = SDX55_MASTER_EMAC, 291 + .channels = 1, 292 + .buswidth = 8, 293 + .num_links = 1, 294 + .links = { SDX55_SLAVE_ANOC_SNOC }, 295 + }; 296 + 297 + static struct qcom_icc_node xm_ipa2pcie_slv = { 298 + .name = "xm_ipa2pcie_slv", 299 + .id = SDX55_MASTER_IPA_PCIE, 300 + .channels = 1, 301 + .buswidth = 8, 302 + .num_links = 1, 303 + .links = { SDX55_SLAVE_PCIE_0 }, 304 + }; 305 + 306 + static struct qcom_icc_node xm_pcie = { 307 + .name = "xm_pcie", 308 + .id = SDX55_MASTER_PCIE, 309 + .channels = 1, 310 + .buswidth = 8, 311 + .num_links = 1, 312 + .links = { SDX55_SLAVE_ANOC_SNOC }, 313 + }; 314 + 315 + static struct qcom_icc_node xm_qdss_etr = { 316 + .name = "xm_qdss_etr", 317 + .id = SDX55_MASTER_QDSS_ETR, 318 + .channels = 1, 319 + .buswidth = 8, 320 + .num_links = 28, 321 + .links = { SDX55_SLAVE_SNOC_CFG, 322 + SDX55_SLAVE_EMAC_CFG, 323 + SDX55_SLAVE_USB3, 324 + SDX55_SLAVE_AOSS, 325 + SDX55_SLAVE_SPMI_FETCHER, 326 + SDX55_SLAVE_QDSS_CFG, 327 + SDX55_SLAVE_PDM, 328 + SDX55_SLAVE_SNOC_MEM_NOC_GC, 329 + SDX55_SLAVE_TCSR, 330 + SDX55_SLAVE_CNOC_DDRSS, 331 + SDX55_SLAVE_SPMI_VGI_COEX, 332 + SDX55_SLAVE_QPIC, 333 + SDX55_SLAVE_OCIMEM, 334 + SDX55_SLAVE_IPA_CFG, 335 + SDX55_SLAVE_USB3_PHY_CFG, 336 + SDX55_SLAVE_AOP, 337 + SDX55_SLAVE_BLSP_1, 338 + SDX55_SLAVE_SDCC_1, 339 + SDX55_SLAVE_CNOC_MSS, 340 + SDX55_SLAVE_PCIE_PARF, 341 + SDX55_SLAVE_ECC_CFG, 342 + SDX55_SLAVE_AUDIO, 343 + SDX55_SLAVE_AOSS, 344 + SDX55_SLAVE_PRNG, 345 + SDX55_SLAVE_CRYPTO_0_CFG, 346 + SDX55_SLAVE_TCU, 347 + SDX55_SLAVE_CLK_CTL, 348 + SDX55_SLAVE_IMEM_CFG 349 + }, 350 + }; 351 + 352 + static struct qcom_icc_node xm_sdc1 = { 353 + .name = "xm_sdc1", 354 + .id = SDX55_MASTER_SDCC_1, 355 + .channels = 1, 356 + .buswidth = 8, 357 + .num_links = 5, 358 + .links = { SDX55_SLAVE_AOSS, 359 + SDX55_SLAVE_IPA_CFG, 360 + SDX55_SLAVE_ANOC_SNOC, 361 + SDX55_SLAVE_AOP, 362 + SDX55_SLAVE_AUDIO 363 + }, 364 + }; 365 + 366 + static struct qcom_icc_node xm_usb3 = { 367 + .name = "xm_usb3", 368 + .id = SDX55_MASTER_USB3, 369 + .channels = 1, 370 + .buswidth = 8, 371 + .num_links = 1, 372 + .links = { SDX55_SLAVE_ANOC_SNOC }, 373 + }; 374 + 375 + static struct qcom_icc_node ebi = { 376 + .name = "ebi", 377 + .id = SDX55_SLAVE_EBI_CH0, 378 + .channels = 1, 379 + .buswidth = 4, 380 + }; 381 + 382 + static struct qcom_icc_node qns_llcc = { 383 + .name = "qns_llcc", 384 + .id = SDX55_SLAVE_LLCC, 385 + .channels = 1, 386 + .buswidth = 16, 387 + .num_links = 1, 388 + .links = { SDX55_SLAVE_EBI_CH0 }, 389 + }; 390 + 391 + static struct qcom_icc_node qns_memnoc_snoc = { 392 + .name = "qns_memnoc_snoc", 393 + .id = SDX55_SLAVE_MEM_NOC_SNOC, 394 + .channels = 1, 395 + .buswidth = 8, 396 + .num_links = 1, 397 + .links = { SDX55_MASTER_MEM_NOC_SNOC }, 398 + }; 399 + 400 + static struct qcom_icc_node qns_sys_pcie = { 401 + .name = "qns_sys_pcie", 402 + .id = SDX55_SLAVE_MEM_NOC_PCIE_SNOC, 403 + .channels = 1, 404 + .buswidth = 8, 405 + .num_links = 1, 406 + .links = { SDX55_MASTER_MEM_NOC_PCIE_SNOC }, 407 + }; 408 + 409 + static struct qcom_icc_node qhs_aop = { 410 + .name = "qhs_aop", 411 + .id = SDX55_SLAVE_AOP, 412 + .channels = 1, 413 + .buswidth = 4, 414 + }; 415 + 416 + static struct qcom_icc_node qhs_aoss = { 417 + .name = "qhs_aoss", 418 + .id = SDX55_SLAVE_AOSS, 419 + .channels = 1, 420 + .buswidth = 4, 421 + }; 422 + 423 + static struct qcom_icc_node qhs_apss = { 424 + .name = "qhs_apss", 425 + .id = SDX55_SLAVE_APPSS, 426 + .channels = 1, 427 + .buswidth = 4, 428 + }; 429 + 430 + static struct qcom_icc_node qhs_audio = { 431 + .name = "qhs_audio", 432 + .id = SDX55_SLAVE_AUDIO, 433 + .channels = 1, 434 + .buswidth = 4, 435 + }; 436 + 437 + static struct qcom_icc_node qhs_blsp1 = { 438 + .name = "qhs_blsp1", 439 + .id = SDX55_SLAVE_BLSP_1, 440 + .channels = 1, 441 + .buswidth = 4, 442 + }; 443 + 444 + static struct qcom_icc_node qhs_clk_ctl = { 445 + .name = "qhs_clk_ctl", 446 + .id = SDX55_SLAVE_CLK_CTL, 447 + .channels = 1, 448 + .buswidth = 4, 449 + }; 450 + 451 + static struct qcom_icc_node qhs_crypto0_cfg = { 452 + .name = "qhs_crypto0_cfg", 453 + .id = SDX55_SLAVE_CRYPTO_0_CFG, 454 + .channels = 1, 455 + .buswidth = 4, 456 + }; 457 + 458 + static struct qcom_icc_node qhs_ddrss_cfg = { 459 + .name = "qhs_ddrss_cfg", 460 + .id = SDX55_SLAVE_CNOC_DDRSS, 461 + .channels = 1, 462 + .buswidth = 4, 463 + }; 464 + 465 + static struct qcom_icc_node qhs_ecc_cfg = { 466 + .name = "qhs_ecc_cfg", 467 + .id = SDX55_SLAVE_ECC_CFG, 468 + .channels = 1, 469 + .buswidth = 4, 470 + }; 471 + 472 + static struct qcom_icc_node qhs_emac_cfg = { 473 + .name = "qhs_emac_cfg", 474 + .id = SDX55_SLAVE_EMAC_CFG, 475 + .channels = 1, 476 + .buswidth = 4, 477 + }; 478 + 479 + static struct qcom_icc_node qhs_imem_cfg = { 480 + .name = "qhs_imem_cfg", 481 + .id = SDX55_SLAVE_IMEM_CFG, 482 + .channels = 1, 483 + .buswidth = 4, 484 + }; 485 + 486 + static struct qcom_icc_node qhs_ipa = { 487 + .name = "qhs_ipa", 488 + .id = SDX55_SLAVE_IPA_CFG, 489 + .channels = 1, 490 + .buswidth = 4, 491 + }; 492 + 493 + static struct qcom_icc_node qhs_mss_cfg = { 494 + .name = "qhs_mss_cfg", 495 + .id = SDX55_SLAVE_CNOC_MSS, 496 + .channels = 1, 497 + .buswidth = 4, 498 + }; 499 + 500 + static struct qcom_icc_node qhs_pcie_parf = { 501 + .name = "qhs_pcie_parf", 502 + .id = SDX55_SLAVE_PCIE_PARF, 503 + .channels = 1, 504 + .buswidth = 4, 505 + }; 506 + 507 + static struct qcom_icc_node qhs_pdm = { 508 + .name = "qhs_pdm", 509 + .id = SDX55_SLAVE_PDM, 510 + .channels = 1, 511 + .buswidth = 4, 512 + }; 513 + 514 + static struct qcom_icc_node qhs_prng = { 515 + .name = "qhs_prng", 516 + .id = SDX55_SLAVE_PRNG, 517 + .channels = 1, 518 + .buswidth = 4, 519 + }; 520 + 521 + static struct qcom_icc_node qhs_qdss_cfg = { 522 + .name = "qhs_qdss_cfg", 523 + .id = SDX55_SLAVE_QDSS_CFG, 524 + .channels = 1, 525 + .buswidth = 4, 526 + }; 527 + 528 + static struct qcom_icc_node qhs_qpic = { 529 + .name = "qhs_qpic", 530 + .id = SDX55_SLAVE_QPIC, 531 + .channels = 1, 532 + .buswidth = 4, 533 + }; 534 + 535 + static struct qcom_icc_node qhs_sdc1 = { 536 + .name = "qhs_sdc1", 537 + .id = SDX55_SLAVE_SDCC_1, 538 + .channels = 1, 539 + .buswidth = 4, 540 + }; 541 + 542 + static struct qcom_icc_node qhs_snoc_cfg = { 543 + .name = "qhs_snoc_cfg", 544 + .id = SDX55_SLAVE_SNOC_CFG, 545 + .channels = 1, 546 + .buswidth = 4, 547 + .num_links = 1, 548 + .links = { SDX55_MASTER_SNOC_CFG }, 549 + }; 550 + 551 + static struct qcom_icc_node qhs_spmi_fetcher = { 552 + .name = "qhs_spmi_fetcher", 553 + .id = SDX55_SLAVE_SPMI_FETCHER, 554 + .channels = 1, 555 + .buswidth = 4, 556 + }; 557 + 558 + static struct qcom_icc_node qhs_spmi_vgi_coex = { 559 + .name = "qhs_spmi_vgi_coex", 560 + .id = SDX55_SLAVE_SPMI_VGI_COEX, 561 + .channels = 1, 562 + .buswidth = 4, 563 + }; 564 + 565 + static struct qcom_icc_node qhs_tcsr = { 566 + .name = "qhs_tcsr", 567 + .id = SDX55_SLAVE_TCSR, 568 + .channels = 1, 569 + .buswidth = 4, 570 + }; 571 + 572 + static struct qcom_icc_node qhs_tlmm = { 573 + .name = "qhs_tlmm", 574 + .id = SDX55_SLAVE_TLMM, 575 + .channels = 1, 576 + .buswidth = 4, 577 + }; 578 + 579 + static struct qcom_icc_node qhs_usb3 = { 580 + .name = "qhs_usb3", 581 + .id = SDX55_SLAVE_USB3, 582 + .channels = 1, 583 + .buswidth = 4, 584 + }; 585 + 586 + static struct qcom_icc_node qhs_usb3_phy = { 587 + .name = "qhs_usb3_phy", 588 + .id = SDX55_SLAVE_USB3_PHY_CFG, 589 + .channels = 1, 590 + .buswidth = 4, 591 + }; 592 + 593 + static struct qcom_icc_node qns_aggre_noc = { 594 + .name = "qns_aggre_noc", 595 + .id = SDX55_SLAVE_ANOC_SNOC, 596 + .channels = 1, 597 + .buswidth = 8, 598 + .num_links = 1, 599 + .links = { SDX55_MASTER_ANOC_SNOC }, 600 + }; 601 + 602 + static struct qcom_icc_node qns_snoc_memnoc = { 603 + .name = "qns_snoc_memnoc", 604 + .id = SDX55_SLAVE_SNOC_MEM_NOC_GC, 605 + .channels = 1, 606 + .buswidth = 8, 607 + .num_links = 1, 608 + .links = { SDX55_MASTER_SNOC_GC_MEM_NOC }, 609 + }; 610 + 611 + static struct qcom_icc_node qxs_imem = { 612 + .name = "qxs_imem", 613 + .id = SDX55_SLAVE_OCIMEM, 614 + .channels = 1, 615 + .buswidth = 8, 616 + }; 617 + 618 + static struct qcom_icc_node srvc_snoc = { 619 + .name = "srvc_snoc", 620 + .id = SDX55_SLAVE_SERVICE_SNOC, 621 + .channels = 1, 622 + .buswidth = 4, 623 + }; 624 + 625 + static struct qcom_icc_node xs_pcie = { 626 + .name = "xs_pcie", 627 + .id = SDX55_SLAVE_PCIE_0, 628 + .channels = 1, 629 + .buswidth = 8, 630 + }; 631 + 632 + static struct qcom_icc_node xs_qdss_stm = { 633 + .name = "xs_qdss_stm", 634 + .id = SDX55_SLAVE_QDSS_STM, 635 + .channels = 1, 636 + .buswidth = 4, 637 + }; 638 + 639 + static struct qcom_icc_node xs_sys_tcu_cfg = { 640 + .name = "xs_sys_tcu_cfg", 641 + .id = SDX55_SLAVE_TCU, 642 + .channels = 1, 643 + .buswidth = 8, 644 + }; 645 + 646 + static struct qcom_icc_bcm bcm_mc0 = { 647 + .name = "MC0", 648 + .keepalive = true, 649 + .num_nodes = 1, 650 + .nodes = { &ebi }, 651 + }; 652 + 653 + static struct qcom_icc_bcm bcm_sh0 = { 654 + .name = "SH0", 655 + .keepalive = true, 656 + .num_nodes = 1, 657 + .nodes = { &qns_llcc }, 658 + }; 659 + 660 + static struct qcom_icc_bcm bcm_ce0 = { 661 + .name = "CE0", 662 + .keepalive = false, 663 + .num_nodes = 1, 664 + .nodes = { &qxm_crypto }, 665 + }; 666 + 667 + static struct qcom_icc_bcm bcm_pn0 = { 668 + .name = "PN0", 669 + .keepalive = false, 670 + .num_nodes = 1, 671 + .nodes = { &qhm_snoc_cfg }, 672 + }; 673 + 674 + static struct qcom_icc_bcm bcm_sh3 = { 675 + .name = "SH3", 676 + .keepalive = false, 677 + .num_nodes = 1, 678 + .nodes = { &xm_apps_rdwr }, 679 + }; 680 + 681 + static struct qcom_icc_bcm bcm_sh4 = { 682 + .name = "SH4", 683 + .keepalive = false, 684 + .num_nodes = 2, 685 + .nodes = { &qns_memnoc_snoc, &qns_sys_pcie }, 686 + }; 687 + 688 + static struct qcom_icc_bcm bcm_sn0 = { 689 + .name = "SN0", 690 + .keepalive = true, 691 + .num_nodes = 1, 692 + .nodes = { &qns_snoc_memnoc }, 693 + }; 694 + 695 + static struct qcom_icc_bcm bcm_sn1 = { 696 + .name = "SN1", 697 + .keepalive = false, 698 + .num_nodes = 1, 699 + .nodes = { &qxs_imem }, 700 + }; 701 + 702 + static struct qcom_icc_bcm bcm_pn1 = { 703 + .name = "PN1", 704 + .keepalive = false, 705 + .num_nodes = 1, 706 + .nodes = { &xm_sdc1 }, 707 + }; 708 + 709 + static struct qcom_icc_bcm bcm_pn2 = { 710 + .name = "PN2", 711 + .keepalive = false, 712 + .num_nodes = 2, 713 + .nodes = { &qhm_audio, &qhm_spmi_fetcher1 }, 714 + }; 715 + 716 + static struct qcom_icc_bcm bcm_sn3 = { 717 + .name = "SN3", 718 + .keepalive = false, 719 + .num_nodes = 1, 720 + .nodes = { &xs_qdss_stm }, 721 + }; 722 + 723 + static struct qcom_icc_bcm bcm_pn3 = { 724 + .name = "PN3", 725 + .keepalive = false, 726 + .num_nodes = 2, 727 + .nodes = { &qhm_blsp1, &qhm_qpic }, 728 + }; 729 + 730 + static struct qcom_icc_bcm bcm_sn4 = { 731 + .name = "SN4", 732 + .keepalive = false, 733 + .num_nodes = 1, 734 + .nodes = { &xs_sys_tcu_cfg }, 735 + }; 736 + 737 + static struct qcom_icc_bcm bcm_pn5 = { 738 + .name = "PN5", 739 + .keepalive = false, 740 + .num_nodes = 1, 741 + .nodes = { &qxm_crypto }, 742 + }; 743 + 744 + static struct qcom_icc_bcm bcm_sn6 = { 745 + .name = "SN6", 746 + .keepalive = false, 747 + .num_nodes = 1, 748 + .nodes = { &xs_pcie }, 749 + }; 750 + 751 + static struct qcom_icc_bcm bcm_sn7 = { 752 + .name = "SN7", 753 + .keepalive = false, 754 + .num_nodes = 5, 755 + .nodes = { &qnm_aggre_noc, &xm_emac, &xm_emac, &xm_usb3, &qns_aggre_noc }, 756 + }; 757 + 758 + static struct qcom_icc_bcm bcm_sn8 = { 759 + .name = "SN8", 760 + .keepalive = false, 761 + .num_nodes = 2, 762 + .nodes = { &qhm_qdss_bam, &xm_qdss_etr }, 763 + }; 764 + 765 + static struct qcom_icc_bcm bcm_sn9 = { 766 + .name = "SN9", 767 + .keepalive = false, 768 + .num_nodes = 1, 769 + .nodes = { &qnm_memnoc }, 770 + }; 771 + 772 + static struct qcom_icc_bcm bcm_sn10 = { 773 + .name = "SN10", 774 + .keepalive = false, 775 + .num_nodes = 1, 776 + .nodes = { &qnm_memnoc_pcie }, 777 + }; 778 + 779 + static struct qcom_icc_bcm bcm_sn11 = { 780 + .name = "SN11", 781 + .keepalive = false, 782 + .num_nodes = 2, 783 + .nodes = { &qnm_ipa, &xm_ipa2pcie_slv }, 784 + }; 102 785 103 786 static struct qcom_icc_bcm * const mc_virt_bcms[] = { 104 787 &bcm_mc0,
+753 -75
drivers/interconnect/qcom/sdx65.c
··· 15 15 #include "icc-rpmh.h" 16 16 #include "sdx65.h" 17 17 18 - DEFINE_QNODE(llcc_mc, SDX65_MASTER_LLCC, 1, 4, SDX65_SLAVE_EBI1); 19 - DEFINE_QNODE(acm_tcu, SDX65_MASTER_TCU_0, 1, 8, SDX65_SLAVE_LLCC, SDX65_SLAVE_MEM_NOC_SNOC, SDX65_SLAVE_MEM_NOC_PCIE_SNOC); 20 - DEFINE_QNODE(qnm_snoc_gc, SDX65_MASTER_SNOC_GC_MEM_NOC, 1, 16, SDX65_SLAVE_LLCC); 21 - DEFINE_QNODE(xm_apps_rdwr, SDX65_MASTER_APPSS_PROC, 1, 16, SDX65_SLAVE_LLCC, SDX65_SLAVE_MEM_NOC_SNOC, SDX65_SLAVE_MEM_NOC_PCIE_SNOC); 22 - DEFINE_QNODE(qhm_audio, SDX65_MASTER_AUDIO, 1, 4, SDX65_SLAVE_ANOC_SNOC); 23 - DEFINE_QNODE(qhm_blsp1, SDX65_MASTER_BLSP_1, 1, 4, SDX65_SLAVE_ANOC_SNOC); 24 - DEFINE_QNODE(qhm_qdss_bam, SDX65_MASTER_QDSS_BAM, 1, 4, SDX65_SLAVE_AOSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_BLSP_1, SDX65_SLAVE_CLK_CTL, SDX65_SLAVE_CRYPTO_0_CFG, SDX65_SLAVE_CNOC_DDRSS, SDX65_SLAVE_ECC_CFG, SDX65_SLAVE_IMEM_CFG, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_CNOC_MSS, SDX65_SLAVE_PCIE_PARF, SDX65_SLAVE_PDM, SDX65_SLAVE_PRNG, SDX65_SLAVE_QDSS_CFG, SDX65_SLAVE_QPIC, SDX65_SLAVE_SDCC_1, SDX65_SLAVE_SNOC_CFG, SDX65_SLAVE_SPMI_FETCHER, SDX65_SLAVE_SPMI_VGI_COEX, SDX65_SLAVE_TCSR, SDX65_SLAVE_TLMM, SDX65_SLAVE_USB3, SDX65_SLAVE_USB3_PHY_CFG, SDX65_SLAVE_SNOC_MEM_NOC_GC, SDX65_SLAVE_IMEM, SDX65_SLAVE_TCU); 25 - DEFINE_QNODE(qhm_qpic, SDX65_MASTER_QPIC, 1, 4, SDX65_SLAVE_AOSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_ANOC_SNOC); 26 - DEFINE_QNODE(qhm_snoc_cfg, SDX65_MASTER_SNOC_CFG, 1, 4, SDX65_SLAVE_SERVICE_SNOC); 27 - DEFINE_QNODE(qhm_spmi_fetcher1, SDX65_MASTER_SPMI_FETCHER, 1, 4, SDX65_SLAVE_AOSS, SDX65_SLAVE_ANOC_SNOC); 28 - DEFINE_QNODE(qnm_aggre_noc, SDX65_MASTER_ANOC_SNOC, 1, 8, SDX65_SLAVE_AOSS, SDX65_SLAVE_APPSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_BLSP_1, SDX65_SLAVE_CLK_CTL, SDX65_SLAVE_CRYPTO_0_CFG, SDX65_SLAVE_CNOC_DDRSS, SDX65_SLAVE_ECC_CFG, SDX65_SLAVE_IMEM_CFG, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_CNOC_MSS, SDX65_SLAVE_PCIE_PARF, SDX65_SLAVE_PDM, SDX65_SLAVE_PRNG, SDX65_SLAVE_QDSS_CFG, SDX65_SLAVE_QPIC, SDX65_SLAVE_SDCC_1, SDX65_SLAVE_SNOC_CFG, SDX65_SLAVE_SPMI_FETCHER, SDX65_SLAVE_SPMI_VGI_COEX, SDX65_SLAVE_TCSR, SDX65_SLAVE_TLMM, SDX65_SLAVE_USB3, SDX65_SLAVE_USB3_PHY_CFG, SDX65_SLAVE_SNOC_MEM_NOC_GC, SDX65_SLAVE_IMEM, SDX65_SLAVE_PCIE_0, SDX65_SLAVE_QDSS_STM, SDX65_SLAVE_TCU); 29 - DEFINE_QNODE(qnm_ipa, SDX65_MASTER_IPA, 1, 8, SDX65_SLAVE_AOSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_BLSP_1, SDX65_SLAVE_CLK_CTL, SDX65_SLAVE_CRYPTO_0_CFG, SDX65_SLAVE_CNOC_DDRSS, SDX65_SLAVE_ECC_CFG, SDX65_SLAVE_IMEM_CFG, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_CNOC_MSS, SDX65_SLAVE_PCIE_PARF, SDX65_SLAVE_PDM, SDX65_SLAVE_PRNG, SDX65_SLAVE_QDSS_CFG, SDX65_SLAVE_QPIC, SDX65_SLAVE_SDCC_1, SDX65_SLAVE_SNOC_CFG, SDX65_SLAVE_SPMI_FETCHER, SDX65_SLAVE_TCSR, SDX65_SLAVE_TLMM, SDX65_SLAVE_USB3, SDX65_SLAVE_USB3_PHY_CFG, SDX65_SLAVE_SNOC_MEM_NOC_GC, SDX65_SLAVE_IMEM, SDX65_SLAVE_PCIE_0, SDX65_SLAVE_QDSS_STM); 30 - DEFINE_QNODE(qnm_memnoc, SDX65_MASTER_MEM_NOC_SNOC, 1, 8, SDX65_SLAVE_AOSS, SDX65_SLAVE_APPSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_BLSP_1, SDX65_SLAVE_CLK_CTL, SDX65_SLAVE_CRYPTO_0_CFG, SDX65_SLAVE_CNOC_DDRSS, SDX65_SLAVE_ECC_CFG, SDX65_SLAVE_IMEM_CFG, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_CNOC_MSS, SDX65_SLAVE_PCIE_PARF, SDX65_SLAVE_PDM, SDX65_SLAVE_PRNG, SDX65_SLAVE_QDSS_CFG, SDX65_SLAVE_QPIC, SDX65_SLAVE_SDCC_1, SDX65_SLAVE_SNOC_CFG, SDX65_SLAVE_SPMI_FETCHER, SDX65_SLAVE_SPMI_VGI_COEX, SDX65_SLAVE_TCSR, SDX65_SLAVE_TLMM, SDX65_SLAVE_USB3, SDX65_SLAVE_USB3_PHY_CFG, SDX65_SLAVE_IMEM, SDX65_SLAVE_QDSS_STM, SDX65_SLAVE_TCU); 31 - DEFINE_QNODE(qnm_memnoc_pcie, SDX65_MASTER_MEM_NOC_PCIE_SNOC, 1, 8, SDX65_SLAVE_PCIE_0); 32 - DEFINE_QNODE(qxm_crypto, SDX65_MASTER_CRYPTO, 1, 8, SDX65_SLAVE_AOSS, SDX65_SLAVE_ANOC_SNOC); 33 - DEFINE_QNODE(xm_ipa2pcie_slv, SDX65_MASTER_IPA_PCIE, 1, 8, SDX65_SLAVE_PCIE_0); 34 - DEFINE_QNODE(xm_pcie, SDX65_MASTER_PCIE_0, 1, 8, SDX65_SLAVE_ANOC_SNOC); 35 - DEFINE_QNODE(xm_qdss_etr, SDX65_MASTER_QDSS_ETR, 1, 8, SDX65_SLAVE_AOSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_BLSP_1, SDX65_SLAVE_CLK_CTL, SDX65_SLAVE_CRYPTO_0_CFG, SDX65_SLAVE_CNOC_DDRSS, SDX65_SLAVE_ECC_CFG, SDX65_SLAVE_IMEM_CFG, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_CNOC_MSS, SDX65_SLAVE_PCIE_PARF, SDX65_SLAVE_PDM, SDX65_SLAVE_PRNG, SDX65_SLAVE_QDSS_CFG, SDX65_SLAVE_QPIC, SDX65_SLAVE_SDCC_1, SDX65_SLAVE_SNOC_CFG, SDX65_SLAVE_SPMI_FETCHER, SDX65_SLAVE_SPMI_VGI_COEX, SDX65_SLAVE_TCSR, SDX65_SLAVE_TLMM, SDX65_SLAVE_USB3, SDX65_SLAVE_USB3_PHY_CFG, SDX65_SLAVE_SNOC_MEM_NOC_GC, SDX65_SLAVE_IMEM, SDX65_SLAVE_TCU); 36 - DEFINE_QNODE(xm_sdc1, SDX65_MASTER_SDCC_1, 1, 8, SDX65_SLAVE_AOSS, SDX65_SLAVE_AUDIO, SDX65_SLAVE_IPA_CFG, SDX65_SLAVE_ANOC_SNOC); 37 - DEFINE_QNODE(xm_usb3, SDX65_MASTER_USB3, 1, 8, SDX65_SLAVE_ANOC_SNOC); 38 - DEFINE_QNODE(ebi, SDX65_SLAVE_EBI1, 1, 4); 39 - DEFINE_QNODE(qns_llcc, SDX65_SLAVE_LLCC, 1, 16, SDX65_MASTER_LLCC); 40 - DEFINE_QNODE(qns_memnoc_snoc, SDX65_SLAVE_MEM_NOC_SNOC, 1, 8, SDX65_MASTER_MEM_NOC_SNOC); 41 - DEFINE_QNODE(qns_sys_pcie, SDX65_SLAVE_MEM_NOC_PCIE_SNOC, 1, 8, SDX65_MASTER_MEM_NOC_PCIE_SNOC); 42 - DEFINE_QNODE(qhs_aoss, SDX65_SLAVE_AOSS, 1, 4); 43 - DEFINE_QNODE(qhs_apss, SDX65_SLAVE_APPSS, 1, 4); 44 - DEFINE_QNODE(qhs_audio, SDX65_SLAVE_AUDIO, 1, 4); 45 - DEFINE_QNODE(qhs_blsp1, SDX65_SLAVE_BLSP_1, 1, 4); 46 - DEFINE_QNODE(qhs_clk_ctl, SDX65_SLAVE_CLK_CTL, 1, 4); 47 - DEFINE_QNODE(qhs_crypto0_cfg, SDX65_SLAVE_CRYPTO_0_CFG, 1, 4); 48 - DEFINE_QNODE(qhs_ddrss_cfg, SDX65_SLAVE_CNOC_DDRSS, 1, 4); 49 - DEFINE_QNODE(qhs_ecc_cfg, SDX65_SLAVE_ECC_CFG, 1, 4); 50 - DEFINE_QNODE(qhs_imem_cfg, SDX65_SLAVE_IMEM_CFG, 1, 4); 51 - DEFINE_QNODE(qhs_ipa, SDX65_SLAVE_IPA_CFG, 1, 4); 52 - DEFINE_QNODE(qhs_mss_cfg, SDX65_SLAVE_CNOC_MSS, 1, 4); 53 - DEFINE_QNODE(qhs_pcie_parf, SDX65_SLAVE_PCIE_PARF, 1, 4); 54 - DEFINE_QNODE(qhs_pdm, SDX65_SLAVE_PDM, 1, 4); 55 - DEFINE_QNODE(qhs_prng, SDX65_SLAVE_PRNG, 1, 4); 56 - DEFINE_QNODE(qhs_qdss_cfg, SDX65_SLAVE_QDSS_CFG, 1, 4); 57 - DEFINE_QNODE(qhs_qpic, SDX65_SLAVE_QPIC, 1, 4); 58 - DEFINE_QNODE(qhs_sdc1, SDX65_SLAVE_SDCC_1, 1, 4); 59 - DEFINE_QNODE(qhs_snoc_cfg, SDX65_SLAVE_SNOC_CFG, 1, 4, SDX65_MASTER_SNOC_CFG); 60 - DEFINE_QNODE(qhs_spmi_fetcher, SDX65_SLAVE_SPMI_FETCHER, 1, 4); 61 - DEFINE_QNODE(qhs_spmi_vgi_coex, SDX65_SLAVE_SPMI_VGI_COEX, 1, 4); 62 - DEFINE_QNODE(qhs_tcsr, SDX65_SLAVE_TCSR, 1, 4); 63 - DEFINE_QNODE(qhs_tlmm, SDX65_SLAVE_TLMM, 1, 4); 64 - DEFINE_QNODE(qhs_usb3, SDX65_SLAVE_USB3, 1, 4); 65 - DEFINE_QNODE(qhs_usb3_phy, SDX65_SLAVE_USB3_PHY_CFG, 1, 4); 66 - DEFINE_QNODE(qns_aggre_noc, SDX65_SLAVE_ANOC_SNOC, 1, 8, SDX65_MASTER_ANOC_SNOC); 67 - DEFINE_QNODE(qns_snoc_memnoc, SDX65_SLAVE_SNOC_MEM_NOC_GC, 1, 16, SDX65_MASTER_SNOC_GC_MEM_NOC); 68 - DEFINE_QNODE(qxs_imem, SDX65_SLAVE_IMEM, 1, 8); 69 - DEFINE_QNODE(srvc_snoc, SDX65_SLAVE_SERVICE_SNOC, 1, 4); 70 - DEFINE_QNODE(xs_pcie, SDX65_SLAVE_PCIE_0, 1, 8); 71 - DEFINE_QNODE(xs_qdss_stm, SDX65_SLAVE_QDSS_STM, 1, 4); 72 - DEFINE_QNODE(xs_sys_tcu_cfg, SDX65_SLAVE_TCU, 1, 8); 18 + static struct qcom_icc_node llcc_mc = { 19 + .name = "llcc_mc", 20 + .id = SDX65_MASTER_LLCC, 21 + .channels = 1, 22 + .buswidth = 4, 23 + .num_links = 1, 24 + .links = { SDX65_SLAVE_EBI1 }, 25 + }; 73 26 74 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 75 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 76 - DEFINE_QBCM(bcm_pn0, "PN0", true, &qhm_snoc_cfg, &qhs_aoss, &qhs_apss, &qhs_audio, &qhs_blsp1, &qhs_clk_ctl, &qhs_crypto0_cfg, &qhs_ddrss_cfg, &qhs_ecc_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mss_cfg, &qhs_pcie_parf, &qhs_pdm, &qhs_prng, &qhs_qdss_cfg, &qhs_qpic, &qhs_sdc1, &qhs_snoc_cfg, &qhs_spmi_fetcher, &qhs_spmi_vgi_coex, &qhs_tcsr, &qhs_tlmm, &qhs_usb3, &qhs_usb3_phy, &srvc_snoc); 77 - DEFINE_QBCM(bcm_pn1, "PN1", false, &xm_sdc1); 78 - DEFINE_QBCM(bcm_pn2, "PN2", false, &qhm_audio, &qhm_spmi_fetcher1); 79 - DEFINE_QBCM(bcm_pn3, "PN3", false, &qhm_blsp1, &qhm_qpic); 80 - DEFINE_QBCM(bcm_pn4, "PN4", false, &qxm_crypto); 81 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 82 - DEFINE_QBCM(bcm_sh1, "SH1", false, &qns_memnoc_snoc); 83 - DEFINE_QBCM(bcm_sh3, "SH3", false, &xm_apps_rdwr); 84 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_snoc_memnoc); 85 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 86 - DEFINE_QBCM(bcm_sn2, "SN2", false, &xs_qdss_stm); 87 - DEFINE_QBCM(bcm_sn3, "SN3", false, &xs_sys_tcu_cfg); 88 - DEFINE_QBCM(bcm_sn5, "SN5", false, &xs_pcie); 89 - DEFINE_QBCM(bcm_sn6, "SN6", false, &qhm_qdss_bam, &xm_qdss_etr); 90 - DEFINE_QBCM(bcm_sn7, "SN7", false, &qnm_aggre_noc, &xm_pcie, &xm_usb3, &qns_aggre_noc); 91 - DEFINE_QBCM(bcm_sn8, "SN8", false, &qnm_memnoc); 92 - DEFINE_QBCM(bcm_sn9, "SN9", false, &qnm_memnoc_pcie); 93 - DEFINE_QBCM(bcm_sn10, "SN10", false, &qnm_ipa, &xm_ipa2pcie_slv); 27 + static struct qcom_icc_node acm_tcu = { 28 + .name = "acm_tcu", 29 + .id = SDX65_MASTER_TCU_0, 30 + .channels = 1, 31 + .buswidth = 8, 32 + .num_links = 3, 33 + .links = { SDX65_SLAVE_LLCC, 34 + SDX65_SLAVE_MEM_NOC_SNOC, 35 + SDX65_SLAVE_MEM_NOC_PCIE_SNOC 36 + }, 37 + }; 38 + 39 + static struct qcom_icc_node qnm_snoc_gc = { 40 + .name = "qnm_snoc_gc", 41 + .id = SDX65_MASTER_SNOC_GC_MEM_NOC, 42 + .channels = 1, 43 + .buswidth = 16, 44 + .num_links = 1, 45 + .links = { SDX65_SLAVE_LLCC }, 46 + }; 47 + 48 + static struct qcom_icc_node xm_apps_rdwr = { 49 + .name = "xm_apps_rdwr", 50 + .id = SDX65_MASTER_APPSS_PROC, 51 + .channels = 1, 52 + .buswidth = 16, 53 + .num_links = 3, 54 + .links = { SDX65_SLAVE_LLCC, 55 + SDX65_SLAVE_MEM_NOC_SNOC, 56 + SDX65_SLAVE_MEM_NOC_PCIE_SNOC 57 + }, 58 + }; 59 + 60 + static struct qcom_icc_node qhm_audio = { 61 + .name = "qhm_audio", 62 + .id = SDX65_MASTER_AUDIO, 63 + .channels = 1, 64 + .buswidth = 4, 65 + .num_links = 1, 66 + .links = { SDX65_SLAVE_ANOC_SNOC }, 67 + }; 68 + 69 + static struct qcom_icc_node qhm_blsp1 = { 70 + .name = "qhm_blsp1", 71 + .id = SDX65_MASTER_BLSP_1, 72 + .channels = 1, 73 + .buswidth = 4, 74 + .num_links = 1, 75 + .links = { SDX65_SLAVE_ANOC_SNOC }, 76 + }; 77 + 78 + static struct qcom_icc_node qhm_qdss_bam = { 79 + .name = "qhm_qdss_bam", 80 + .id = SDX65_MASTER_QDSS_BAM, 81 + .channels = 1, 82 + .buswidth = 4, 83 + .num_links = 26, 84 + .links = { SDX65_SLAVE_AOSS, 85 + SDX65_SLAVE_AUDIO, 86 + SDX65_SLAVE_BLSP_1, 87 + SDX65_SLAVE_CLK_CTL, 88 + SDX65_SLAVE_CRYPTO_0_CFG, 89 + SDX65_SLAVE_CNOC_DDRSS, 90 + SDX65_SLAVE_ECC_CFG, 91 + SDX65_SLAVE_IMEM_CFG, 92 + SDX65_SLAVE_IPA_CFG, 93 + SDX65_SLAVE_CNOC_MSS, 94 + SDX65_SLAVE_PCIE_PARF, 95 + SDX65_SLAVE_PDM, 96 + SDX65_SLAVE_PRNG, 97 + SDX65_SLAVE_QDSS_CFG, 98 + SDX65_SLAVE_QPIC, 99 + SDX65_SLAVE_SDCC_1, 100 + SDX65_SLAVE_SNOC_CFG, 101 + SDX65_SLAVE_SPMI_FETCHER, 102 + SDX65_SLAVE_SPMI_VGI_COEX, 103 + SDX65_SLAVE_TCSR, 104 + SDX65_SLAVE_TLMM, 105 + SDX65_SLAVE_USB3, 106 + SDX65_SLAVE_USB3_PHY_CFG, 107 + SDX65_SLAVE_SNOC_MEM_NOC_GC, 108 + SDX65_SLAVE_IMEM, 109 + SDX65_SLAVE_TCU 110 + }, 111 + }; 112 + 113 + static struct qcom_icc_node qhm_qpic = { 114 + .name = "qhm_qpic", 115 + .id = SDX65_MASTER_QPIC, 116 + .channels = 1, 117 + .buswidth = 4, 118 + .num_links = 4, 119 + .links = { SDX65_SLAVE_AOSS, 120 + SDX65_SLAVE_AUDIO, 121 + SDX65_SLAVE_IPA_CFG, 122 + SDX65_SLAVE_ANOC_SNOC 123 + }, 124 + }; 125 + 126 + static struct qcom_icc_node qhm_snoc_cfg = { 127 + .name = "qhm_snoc_cfg", 128 + .id = SDX65_MASTER_SNOC_CFG, 129 + .channels = 1, 130 + .buswidth = 4, 131 + .num_links = 1, 132 + .links = { SDX65_SLAVE_SERVICE_SNOC }, 133 + }; 134 + 135 + static struct qcom_icc_node qhm_spmi_fetcher1 = { 136 + .name = "qhm_spmi_fetcher1", 137 + .id = SDX65_MASTER_SPMI_FETCHER, 138 + .channels = 1, 139 + .buswidth = 4, 140 + .num_links = 2, 141 + .links = { SDX65_SLAVE_AOSS, 142 + SDX65_SLAVE_ANOC_SNOC 143 + }, 144 + }; 145 + 146 + static struct qcom_icc_node qnm_aggre_noc = { 147 + .name = "qnm_aggre_noc", 148 + .id = SDX65_MASTER_ANOC_SNOC, 149 + .channels = 1, 150 + .buswidth = 8, 151 + .num_links = 29, 152 + .links = { SDX65_SLAVE_AOSS, 153 + SDX65_SLAVE_APPSS, 154 + SDX65_SLAVE_AUDIO, 155 + SDX65_SLAVE_BLSP_1, 156 + SDX65_SLAVE_CLK_CTL, 157 + SDX65_SLAVE_CRYPTO_0_CFG, 158 + SDX65_SLAVE_CNOC_DDRSS, 159 + SDX65_SLAVE_ECC_CFG, 160 + SDX65_SLAVE_IMEM_CFG, 161 + SDX65_SLAVE_IPA_CFG, 162 + SDX65_SLAVE_CNOC_MSS, 163 + SDX65_SLAVE_PCIE_PARF, 164 + SDX65_SLAVE_PDM, 165 + SDX65_SLAVE_PRNG, 166 + SDX65_SLAVE_QDSS_CFG, 167 + SDX65_SLAVE_QPIC, 168 + SDX65_SLAVE_SDCC_1, 169 + SDX65_SLAVE_SNOC_CFG, 170 + SDX65_SLAVE_SPMI_FETCHER, 171 + SDX65_SLAVE_SPMI_VGI_COEX, 172 + SDX65_SLAVE_TCSR, 173 + SDX65_SLAVE_TLMM, 174 + SDX65_SLAVE_USB3, 175 + SDX65_SLAVE_USB3_PHY_CFG, 176 + SDX65_SLAVE_SNOC_MEM_NOC_GC, 177 + SDX65_SLAVE_IMEM, 178 + SDX65_SLAVE_PCIE_0, 179 + SDX65_SLAVE_QDSS_STM, 180 + SDX65_SLAVE_TCU 181 + }, 182 + }; 183 + 184 + static struct qcom_icc_node qnm_ipa = { 185 + .name = "qnm_ipa", 186 + .id = SDX65_MASTER_IPA, 187 + .channels = 1, 188 + .buswidth = 8, 189 + .num_links = 26, 190 + .links = { SDX65_SLAVE_AOSS, 191 + SDX65_SLAVE_AUDIO, 192 + SDX65_SLAVE_BLSP_1, 193 + SDX65_SLAVE_CLK_CTL, 194 + SDX65_SLAVE_CRYPTO_0_CFG, 195 + SDX65_SLAVE_CNOC_DDRSS, 196 + SDX65_SLAVE_ECC_CFG, 197 + SDX65_SLAVE_IMEM_CFG, 198 + SDX65_SLAVE_IPA_CFG, 199 + SDX65_SLAVE_CNOC_MSS, 200 + SDX65_SLAVE_PCIE_PARF, 201 + SDX65_SLAVE_PDM, 202 + SDX65_SLAVE_PRNG, 203 + SDX65_SLAVE_QDSS_CFG, 204 + SDX65_SLAVE_QPIC, 205 + SDX65_SLAVE_SDCC_1, 206 + SDX65_SLAVE_SNOC_CFG, 207 + SDX65_SLAVE_SPMI_FETCHER, 208 + SDX65_SLAVE_TCSR, 209 + SDX65_SLAVE_TLMM, 210 + SDX65_SLAVE_USB3, 211 + SDX65_SLAVE_USB3_PHY_CFG, 212 + SDX65_SLAVE_SNOC_MEM_NOC_GC, 213 + SDX65_SLAVE_IMEM, 214 + SDX65_SLAVE_PCIE_0, 215 + SDX65_SLAVE_QDSS_STM 216 + }, 217 + }; 218 + 219 + static struct qcom_icc_node qnm_memnoc = { 220 + .name = "qnm_memnoc", 221 + .id = SDX65_MASTER_MEM_NOC_SNOC, 222 + .channels = 1, 223 + .buswidth = 8, 224 + .num_links = 27, 225 + .links = { SDX65_SLAVE_AOSS, 226 + SDX65_SLAVE_APPSS, 227 + SDX65_SLAVE_AUDIO, 228 + SDX65_SLAVE_BLSP_1, 229 + SDX65_SLAVE_CLK_CTL, 230 + SDX65_SLAVE_CRYPTO_0_CFG, 231 + SDX65_SLAVE_CNOC_DDRSS, 232 + SDX65_SLAVE_ECC_CFG, 233 + SDX65_SLAVE_IMEM_CFG, 234 + SDX65_SLAVE_IPA_CFG, 235 + SDX65_SLAVE_CNOC_MSS, 236 + SDX65_SLAVE_PCIE_PARF, 237 + SDX65_SLAVE_PDM, 238 + SDX65_SLAVE_PRNG, 239 + SDX65_SLAVE_QDSS_CFG, 240 + SDX65_SLAVE_QPIC, 241 + SDX65_SLAVE_SDCC_1, 242 + SDX65_SLAVE_SNOC_CFG, 243 + SDX65_SLAVE_SPMI_FETCHER, 244 + SDX65_SLAVE_SPMI_VGI_COEX, 245 + SDX65_SLAVE_TCSR, 246 + SDX65_SLAVE_TLMM, 247 + SDX65_SLAVE_USB3, 248 + SDX65_SLAVE_USB3_PHY_CFG, 249 + SDX65_SLAVE_IMEM, 250 + SDX65_SLAVE_QDSS_STM, 251 + SDX65_SLAVE_TCU 252 + }, 253 + }; 254 + 255 + static struct qcom_icc_node qnm_memnoc_pcie = { 256 + .name = "qnm_memnoc_pcie", 257 + .id = SDX65_MASTER_MEM_NOC_PCIE_SNOC, 258 + .channels = 1, 259 + .buswidth = 8, 260 + .num_links = 1, 261 + .links = { SDX65_SLAVE_PCIE_0 }, 262 + }; 263 + 264 + static struct qcom_icc_node qxm_crypto = { 265 + .name = "qxm_crypto", 266 + .id = SDX65_MASTER_CRYPTO, 267 + .channels = 1, 268 + .buswidth = 8, 269 + .num_links = 2, 270 + .links = { SDX65_SLAVE_AOSS, 271 + SDX65_SLAVE_ANOC_SNOC 272 + }, 273 + }; 274 + 275 + static struct qcom_icc_node xm_ipa2pcie_slv = { 276 + .name = "xm_ipa2pcie_slv", 277 + .id = SDX65_MASTER_IPA_PCIE, 278 + .channels = 1, 279 + .buswidth = 8, 280 + .num_links = 1, 281 + .links = { SDX65_SLAVE_PCIE_0 }, 282 + }; 283 + 284 + static struct qcom_icc_node xm_pcie = { 285 + .name = "xm_pcie", 286 + .id = SDX65_MASTER_PCIE_0, 287 + .channels = 1, 288 + .buswidth = 8, 289 + .num_links = 1, 290 + .links = { SDX65_SLAVE_ANOC_SNOC }, 291 + }; 292 + 293 + static struct qcom_icc_node xm_qdss_etr = { 294 + .name = "xm_qdss_etr", 295 + .id = SDX65_MASTER_QDSS_ETR, 296 + .channels = 1, 297 + .buswidth = 8, 298 + .num_links = 26, 299 + .links = { SDX65_SLAVE_AOSS, 300 + SDX65_SLAVE_AUDIO, 301 + SDX65_SLAVE_BLSP_1, 302 + SDX65_SLAVE_CLK_CTL, 303 + SDX65_SLAVE_CRYPTO_0_CFG, 304 + SDX65_SLAVE_CNOC_DDRSS, 305 + SDX65_SLAVE_ECC_CFG, 306 + SDX65_SLAVE_IMEM_CFG, 307 + SDX65_SLAVE_IPA_CFG, 308 + SDX65_SLAVE_CNOC_MSS, 309 + SDX65_SLAVE_PCIE_PARF, 310 + SDX65_SLAVE_PDM, 311 + SDX65_SLAVE_PRNG, 312 + SDX65_SLAVE_QDSS_CFG, 313 + SDX65_SLAVE_QPIC, 314 + SDX65_SLAVE_SDCC_1, 315 + SDX65_SLAVE_SNOC_CFG, 316 + SDX65_SLAVE_SPMI_FETCHER, 317 + SDX65_SLAVE_SPMI_VGI_COEX, 318 + SDX65_SLAVE_TCSR, 319 + SDX65_SLAVE_TLMM, 320 + SDX65_SLAVE_USB3, 321 + SDX65_SLAVE_USB3_PHY_CFG, 322 + SDX65_SLAVE_SNOC_MEM_NOC_GC, 323 + SDX65_SLAVE_IMEM, 324 + SDX65_SLAVE_TCU 325 + }, 326 + }; 327 + 328 + static struct qcom_icc_node xm_sdc1 = { 329 + .name = "xm_sdc1", 330 + .id = SDX65_MASTER_SDCC_1, 331 + .channels = 1, 332 + .buswidth = 8, 333 + .num_links = 4, 334 + .links = { SDX65_SLAVE_AOSS, 335 + SDX65_SLAVE_AUDIO, 336 + SDX65_SLAVE_IPA_CFG, 337 + SDX65_SLAVE_ANOC_SNOC 338 + }, 339 + }; 340 + 341 + static struct qcom_icc_node xm_usb3 = { 342 + .name = "xm_usb3", 343 + .id = SDX65_MASTER_USB3, 344 + .channels = 1, 345 + .buswidth = 8, 346 + .num_links = 1, 347 + .links = { SDX65_SLAVE_ANOC_SNOC }, 348 + }; 349 + 350 + static struct qcom_icc_node ebi = { 351 + .name = "ebi", 352 + .id = SDX65_SLAVE_EBI1, 353 + .channels = 1, 354 + .buswidth = 4, 355 + }; 356 + 357 + static struct qcom_icc_node qns_llcc = { 358 + .name = "qns_llcc", 359 + .id = SDX65_SLAVE_LLCC, 360 + .channels = 1, 361 + .buswidth = 16, 362 + .num_links = 1, 363 + .links = { SDX65_MASTER_LLCC }, 364 + }; 365 + 366 + static struct qcom_icc_node qns_memnoc_snoc = { 367 + .name = "qns_memnoc_snoc", 368 + .id = SDX65_SLAVE_MEM_NOC_SNOC, 369 + .channels = 1, 370 + .buswidth = 8, 371 + .num_links = 1, 372 + .links = { SDX65_MASTER_MEM_NOC_SNOC }, 373 + }; 374 + 375 + static struct qcom_icc_node qns_sys_pcie = { 376 + .name = "qns_sys_pcie", 377 + .id = SDX65_SLAVE_MEM_NOC_PCIE_SNOC, 378 + .channels = 1, 379 + .buswidth = 8, 380 + .num_links = 1, 381 + .links = { SDX65_MASTER_MEM_NOC_PCIE_SNOC }, 382 + }; 383 + 384 + static struct qcom_icc_node qhs_aoss = { 385 + .name = "qhs_aoss", 386 + .id = SDX65_SLAVE_AOSS, 387 + .channels = 1, 388 + .buswidth = 4, 389 + }; 390 + 391 + static struct qcom_icc_node qhs_apss = { 392 + .name = "qhs_apss", 393 + .id = SDX65_SLAVE_APPSS, 394 + .channels = 1, 395 + .buswidth = 4, 396 + }; 397 + 398 + static struct qcom_icc_node qhs_audio = { 399 + .name = "qhs_audio", 400 + .id = SDX65_SLAVE_AUDIO, 401 + .channels = 1, 402 + .buswidth = 4, 403 + }; 404 + 405 + static struct qcom_icc_node qhs_blsp1 = { 406 + .name = "qhs_blsp1", 407 + .id = SDX65_SLAVE_BLSP_1, 408 + .channels = 1, 409 + .buswidth = 4, 410 + }; 411 + 412 + static struct qcom_icc_node qhs_clk_ctl = { 413 + .name = "qhs_clk_ctl", 414 + .id = SDX65_SLAVE_CLK_CTL, 415 + .channels = 1, 416 + .buswidth = 4, 417 + }; 418 + 419 + static struct qcom_icc_node qhs_crypto0_cfg = { 420 + .name = "qhs_crypto0_cfg", 421 + .id = SDX65_SLAVE_CRYPTO_0_CFG, 422 + .channels = 1, 423 + .buswidth = 4, 424 + }; 425 + 426 + static struct qcom_icc_node qhs_ddrss_cfg = { 427 + .name = "qhs_ddrss_cfg", 428 + .id = SDX65_SLAVE_CNOC_DDRSS, 429 + .channels = 1, 430 + .buswidth = 4, 431 + }; 432 + 433 + static struct qcom_icc_node qhs_ecc_cfg = { 434 + .name = "qhs_ecc_cfg", 435 + .id = SDX65_SLAVE_ECC_CFG, 436 + .channels = 1, 437 + .buswidth = 4, 438 + }; 439 + 440 + static struct qcom_icc_node qhs_imem_cfg = { 441 + .name = "qhs_imem_cfg", 442 + .id = SDX65_SLAVE_IMEM_CFG, 443 + .channels = 1, 444 + .buswidth = 4, 445 + }; 446 + 447 + static struct qcom_icc_node qhs_ipa = { 448 + .name = "qhs_ipa", 449 + .id = SDX65_SLAVE_IPA_CFG, 450 + .channels = 1, 451 + .buswidth = 4, 452 + }; 453 + 454 + static struct qcom_icc_node qhs_mss_cfg = { 455 + .name = "qhs_mss_cfg", 456 + .id = SDX65_SLAVE_CNOC_MSS, 457 + .channels = 1, 458 + .buswidth = 4, 459 + }; 460 + 461 + static struct qcom_icc_node qhs_pcie_parf = { 462 + .name = "qhs_pcie_parf", 463 + .id = SDX65_SLAVE_PCIE_PARF, 464 + .channels = 1, 465 + .buswidth = 4, 466 + }; 467 + 468 + static struct qcom_icc_node qhs_pdm = { 469 + .name = "qhs_pdm", 470 + .id = SDX65_SLAVE_PDM, 471 + .channels = 1, 472 + .buswidth = 4, 473 + }; 474 + 475 + static struct qcom_icc_node qhs_prng = { 476 + .name = "qhs_prng", 477 + .id = SDX65_SLAVE_PRNG, 478 + .channels = 1, 479 + .buswidth = 4, 480 + }; 481 + 482 + static struct qcom_icc_node qhs_qdss_cfg = { 483 + .name = "qhs_qdss_cfg", 484 + .id = SDX65_SLAVE_QDSS_CFG, 485 + .channels = 1, 486 + .buswidth = 4, 487 + }; 488 + 489 + static struct qcom_icc_node qhs_qpic = { 490 + .name = "qhs_qpic", 491 + .id = SDX65_SLAVE_QPIC, 492 + .channels = 1, 493 + .buswidth = 4, 494 + }; 495 + 496 + static struct qcom_icc_node qhs_sdc1 = { 497 + .name = "qhs_sdc1", 498 + .id = SDX65_SLAVE_SDCC_1, 499 + .channels = 1, 500 + .buswidth = 4, 501 + }; 502 + 503 + static struct qcom_icc_node qhs_snoc_cfg = { 504 + .name = "qhs_snoc_cfg", 505 + .id = SDX65_SLAVE_SNOC_CFG, 506 + .channels = 1, 507 + .buswidth = 4, 508 + .num_links = 1, 509 + .links = { SDX65_MASTER_SNOC_CFG }, 510 + }; 511 + 512 + static struct qcom_icc_node qhs_spmi_fetcher = { 513 + .name = "qhs_spmi_fetcher", 514 + .id = SDX65_SLAVE_SPMI_FETCHER, 515 + .channels = 1, 516 + .buswidth = 4, 517 + }; 518 + 519 + static struct qcom_icc_node qhs_spmi_vgi_coex = { 520 + .name = "qhs_spmi_vgi_coex", 521 + .id = SDX65_SLAVE_SPMI_VGI_COEX, 522 + .channels = 1, 523 + .buswidth = 4, 524 + }; 525 + 526 + static struct qcom_icc_node qhs_tcsr = { 527 + .name = "qhs_tcsr", 528 + .id = SDX65_SLAVE_TCSR, 529 + .channels = 1, 530 + .buswidth = 4, 531 + }; 532 + 533 + static struct qcom_icc_node qhs_tlmm = { 534 + .name = "qhs_tlmm", 535 + .id = SDX65_SLAVE_TLMM, 536 + .channels = 1, 537 + .buswidth = 4, 538 + }; 539 + 540 + static struct qcom_icc_node qhs_usb3 = { 541 + .name = "qhs_usb3", 542 + .id = SDX65_SLAVE_USB3, 543 + .channels = 1, 544 + .buswidth = 4, 545 + }; 546 + 547 + static struct qcom_icc_node qhs_usb3_phy = { 548 + .name = "qhs_usb3_phy", 549 + .id = SDX65_SLAVE_USB3_PHY_CFG, 550 + .channels = 1, 551 + .buswidth = 4, 552 + }; 553 + 554 + static struct qcom_icc_node qns_aggre_noc = { 555 + .name = "qns_aggre_noc", 556 + .id = SDX65_SLAVE_ANOC_SNOC, 557 + .channels = 1, 558 + .buswidth = 8, 559 + .num_links = 1, 560 + .links = { SDX65_MASTER_ANOC_SNOC }, 561 + }; 562 + 563 + static struct qcom_icc_node qns_snoc_memnoc = { 564 + .name = "qns_snoc_memnoc", 565 + .id = SDX65_SLAVE_SNOC_MEM_NOC_GC, 566 + .channels = 1, 567 + .buswidth = 16, 568 + .num_links = 1, 569 + .links = { SDX65_MASTER_SNOC_GC_MEM_NOC }, 570 + }; 571 + 572 + static struct qcom_icc_node qxs_imem = { 573 + .name = "qxs_imem", 574 + .id = SDX65_SLAVE_IMEM, 575 + .channels = 1, 576 + .buswidth = 8, 577 + }; 578 + 579 + static struct qcom_icc_node srvc_snoc = { 580 + .name = "srvc_snoc", 581 + .id = SDX65_SLAVE_SERVICE_SNOC, 582 + .channels = 1, 583 + .buswidth = 4, 584 + }; 585 + 586 + static struct qcom_icc_node xs_pcie = { 587 + .name = "xs_pcie", 588 + .id = SDX65_SLAVE_PCIE_0, 589 + .channels = 1, 590 + .buswidth = 8, 591 + }; 592 + 593 + static struct qcom_icc_node xs_qdss_stm = { 594 + .name = "xs_qdss_stm", 595 + .id = SDX65_SLAVE_QDSS_STM, 596 + .channels = 1, 597 + .buswidth = 4, 598 + }; 599 + 600 + static struct qcom_icc_node xs_sys_tcu_cfg = { 601 + .name = "xs_sys_tcu_cfg", 602 + .id = SDX65_SLAVE_TCU, 603 + .channels = 1, 604 + .buswidth = 8, 605 + }; 606 + 607 + static struct qcom_icc_bcm bcm_ce0 = { 608 + .name = "CE0", 609 + .keepalive = false, 610 + .num_nodes = 1, 611 + .nodes = { &qxm_crypto }, 612 + }; 613 + 614 + static struct qcom_icc_bcm bcm_mc0 = { 615 + .name = "MC0", 616 + .keepalive = true, 617 + .num_nodes = 1, 618 + .nodes = { &ebi }, 619 + }; 620 + 621 + static struct qcom_icc_bcm bcm_pn0 = { 622 + .name = "PN0", 623 + .keepalive = true, 624 + .num_nodes = 26, 625 + .nodes = { &qhm_snoc_cfg, 626 + &qhs_aoss, 627 + &qhs_apss, 628 + &qhs_audio, 629 + &qhs_blsp1, 630 + &qhs_clk_ctl, 631 + &qhs_crypto0_cfg, 632 + &qhs_ddrss_cfg, 633 + &qhs_ecc_cfg, 634 + &qhs_imem_cfg, 635 + &qhs_ipa, 636 + &qhs_mss_cfg, 637 + &qhs_pcie_parf, 638 + &qhs_pdm, 639 + &qhs_prng, 640 + &qhs_qdss_cfg, 641 + &qhs_qpic, 642 + &qhs_sdc1, 643 + &qhs_snoc_cfg, 644 + &qhs_spmi_fetcher, 645 + &qhs_spmi_vgi_coex, 646 + &qhs_tcsr, 647 + &qhs_tlmm, 648 + &qhs_usb3, 649 + &qhs_usb3_phy, 650 + &srvc_snoc 651 + }, 652 + }; 653 + 654 + static struct qcom_icc_bcm bcm_pn1 = { 655 + .name = "PN1", 656 + .keepalive = false, 657 + .num_nodes = 1, 658 + .nodes = { &xm_sdc1 }, 659 + }; 660 + 661 + static struct qcom_icc_bcm bcm_pn2 = { 662 + .name = "PN2", 663 + .keepalive = false, 664 + .num_nodes = 2, 665 + .nodes = { &qhm_audio, &qhm_spmi_fetcher1 }, 666 + }; 667 + 668 + static struct qcom_icc_bcm bcm_pn3 = { 669 + .name = "PN3", 670 + .keepalive = false, 671 + .num_nodes = 2, 672 + .nodes = { &qhm_blsp1, &qhm_qpic }, 673 + }; 674 + 675 + static struct qcom_icc_bcm bcm_pn4 = { 676 + .name = "PN4", 677 + .keepalive = false, 678 + .num_nodes = 1, 679 + .nodes = { &qxm_crypto }, 680 + }; 681 + 682 + static struct qcom_icc_bcm bcm_sh0 = { 683 + .name = "SH0", 684 + .keepalive = true, 685 + .num_nodes = 1, 686 + .nodes = { &qns_llcc }, 687 + }; 688 + 689 + static struct qcom_icc_bcm bcm_sh1 = { 690 + .name = "SH1", 691 + .keepalive = false, 692 + .num_nodes = 1, 693 + .nodes = { &qns_memnoc_snoc }, 694 + }; 695 + 696 + static struct qcom_icc_bcm bcm_sh3 = { 697 + .name = "SH3", 698 + .keepalive = false, 699 + .num_nodes = 1, 700 + .nodes = { &xm_apps_rdwr }, 701 + }; 702 + 703 + static struct qcom_icc_bcm bcm_sn0 = { 704 + .name = "SN0", 705 + .keepalive = true, 706 + .num_nodes = 1, 707 + .nodes = { &qns_snoc_memnoc }, 708 + }; 709 + 710 + static struct qcom_icc_bcm bcm_sn1 = { 711 + .name = "SN1", 712 + .keepalive = false, 713 + .num_nodes = 1, 714 + .nodes = { &qxs_imem }, 715 + }; 716 + 717 + static struct qcom_icc_bcm bcm_sn2 = { 718 + .name = "SN2", 719 + .keepalive = false, 720 + .num_nodes = 1, 721 + .nodes = { &xs_qdss_stm }, 722 + }; 723 + 724 + static struct qcom_icc_bcm bcm_sn3 = { 725 + .name = "SN3", 726 + .keepalive = false, 727 + .num_nodes = 1, 728 + .nodes = { &xs_sys_tcu_cfg }, 729 + }; 730 + 731 + static struct qcom_icc_bcm bcm_sn5 = { 732 + .name = "SN5", 733 + .keepalive = false, 734 + .num_nodes = 1, 735 + .nodes = { &xs_pcie }, 736 + }; 737 + 738 + static struct qcom_icc_bcm bcm_sn6 = { 739 + .name = "SN6", 740 + .keepalive = false, 741 + .num_nodes = 2, 742 + .nodes = { &qhm_qdss_bam, &xm_qdss_etr }, 743 + }; 744 + 745 + static struct qcom_icc_bcm bcm_sn7 = { 746 + .name = "SN7", 747 + .keepalive = false, 748 + .num_nodes = 4, 749 + .nodes = { &qnm_aggre_noc, &xm_pcie, &xm_usb3, &qns_aggre_noc }, 750 + }; 751 + 752 + static struct qcom_icc_bcm bcm_sn8 = { 753 + .name = "SN8", 754 + .keepalive = false, 755 + .num_nodes = 1, 756 + .nodes = { &qnm_memnoc }, 757 + }; 758 + 759 + static struct qcom_icc_bcm bcm_sn9 = { 760 + .name = "SN9", 761 + .keepalive = false, 762 + .num_nodes = 1, 763 + .nodes = { &qnm_memnoc_pcie }, 764 + }; 765 + 766 + static struct qcom_icc_bcm bcm_sn10 = { 767 + .name = "SN10", 768 + .keepalive = false, 769 + .num_nodes = 2, 770 + .nodes = { &qnm_ipa, &xm_ipa2pcie_slv }, 771 + }; 94 772 95 773 static struct qcom_icc_bcm * const mc_virt_bcms[] = { 96 774 &bcm_mc0,
+1372 -152
drivers/interconnect/qcom/sm6350.c
··· 15 15 #include "icc-rpmh.h" 16 16 #include "sm6350.h" 17 17 18 - DEFINE_QNODE(qhm_a1noc_cfg, SM6350_MASTER_A1NOC_CFG, 1, 4, SM6350_SLAVE_SERVICE_A1NOC); 19 - DEFINE_QNODE(qhm_qup_0, SM6350_MASTER_QUP_0, 1, 4, SM6350_A1NOC_SNOC_SLV); 20 - DEFINE_QNODE(xm_emmc, SM6350_MASTER_EMMC, 1, 8, SM6350_A1NOC_SNOC_SLV); 21 - DEFINE_QNODE(xm_ufs_mem, SM6350_MASTER_UFS_MEM, 1, 8, SM6350_A1NOC_SNOC_SLV); 22 - DEFINE_QNODE(qhm_a2noc_cfg, SM6350_MASTER_A2NOC_CFG, 1, 4, SM6350_SLAVE_SERVICE_A2NOC); 23 - DEFINE_QNODE(qhm_qdss_bam, SM6350_MASTER_QDSS_BAM, 1, 4, SM6350_A2NOC_SNOC_SLV); 24 - DEFINE_QNODE(qhm_qup_1, SM6350_MASTER_QUP_1, 1, 4, SM6350_A2NOC_SNOC_SLV); 25 - DEFINE_QNODE(qxm_crypto, SM6350_MASTER_CRYPTO_CORE_0, 1, 8, SM6350_A2NOC_SNOC_SLV); 26 - DEFINE_QNODE(qxm_ipa, SM6350_MASTER_IPA, 1, 8, SM6350_A2NOC_SNOC_SLV); 27 - DEFINE_QNODE(xm_qdss_etr, SM6350_MASTER_QDSS_ETR, 1, 8, SM6350_A2NOC_SNOC_SLV); 28 - DEFINE_QNODE(xm_sdc2, SM6350_MASTER_SDCC_2, 1, 8, SM6350_A2NOC_SNOC_SLV); 29 - DEFINE_QNODE(xm_usb3_0, SM6350_MASTER_USB3, 1, 8, SM6350_A2NOC_SNOC_SLV); 30 - DEFINE_QNODE(qxm_camnoc_hf0_uncomp, SM6350_MASTER_CAMNOC_HF0_UNCOMP, 2, 32, SM6350_SLAVE_CAMNOC_UNCOMP); 31 - DEFINE_QNODE(qxm_camnoc_icp_uncomp, SM6350_MASTER_CAMNOC_ICP_UNCOMP, 1, 32, SM6350_SLAVE_CAMNOC_UNCOMP); 32 - DEFINE_QNODE(qxm_camnoc_sf_uncomp, SM6350_MASTER_CAMNOC_SF_UNCOMP, 1, 32, SM6350_SLAVE_CAMNOC_UNCOMP); 33 - DEFINE_QNODE(qup0_core_master, SM6350_MASTER_QUP_CORE_0, 1, 4, SM6350_SLAVE_QUP_CORE_0); 34 - DEFINE_QNODE(qup1_core_master, SM6350_MASTER_QUP_CORE_1, 1, 4, SM6350_SLAVE_QUP_CORE_1); 35 - DEFINE_QNODE(qnm_npu, SM6350_MASTER_NPU, 2, 32, SM6350_SLAVE_CDSP_GEM_NOC); 36 - DEFINE_QNODE(qxm_npu_dsp, SM6350_MASTER_NPU_PROC, 1, 8, SM6350_SLAVE_CDSP_GEM_NOC); 37 - DEFINE_QNODE(qnm_snoc, SM6350_SNOC_CNOC_MAS, 1, 8, SM6350_SLAVE_CAMERA_CFG, SM6350_SLAVE_SDCC_2, SM6350_SLAVE_CNOC_MNOC_CFG, SM6350_SLAVE_UFS_MEM_CFG, SM6350_SLAVE_QM_CFG, SM6350_SLAVE_SNOC_CFG, SM6350_SLAVE_QM_MPU_CFG, SM6350_SLAVE_GLM, SM6350_SLAVE_PDM, SM6350_SLAVE_CAMERA_NRT_THROTTLE_CFG, SM6350_SLAVE_A2NOC_CFG, SM6350_SLAVE_QDSS_CFG, SM6350_SLAVE_VSENSE_CTRL_CFG, SM6350_SLAVE_CAMERA_RT_THROTTLE_CFG, SM6350_SLAVE_DISPLAY_CFG, SM6350_SLAVE_TCSR, SM6350_SLAVE_DCC_CFG, SM6350_SLAVE_CNOC_DDRSS, SM6350_SLAVE_DISPLAY_THROTTLE_CFG, SM6350_SLAVE_NPU_CFG, SM6350_SLAVE_AHB2PHY, SM6350_SLAVE_GRAPHICS_3D_CFG, SM6350_SLAVE_BOOT_ROM, SM6350_SLAVE_VENUS_CFG, SM6350_SLAVE_IPA_CFG, SM6350_SLAVE_SECURITY, SM6350_SLAVE_IMEM_CFG, SM6350_SLAVE_CNOC_MSS, SM6350_SLAVE_SERVICE_CNOC, SM6350_SLAVE_USB3, SM6350_SLAVE_VENUS_THROTTLE_CFG, SM6350_SLAVE_RBCPR_CX_CFG, SM6350_SLAVE_A1NOC_CFG, SM6350_SLAVE_AOSS, SM6350_SLAVE_PRNG, SM6350_SLAVE_EMMC_CFG, SM6350_SLAVE_CRYPTO_0_CFG, SM6350_SLAVE_PIMEM_CFG, SM6350_SLAVE_RBCPR_MX_CFG, SM6350_SLAVE_QUP_0, SM6350_SLAVE_QUP_1, SM6350_SLAVE_CLK_CTL); 38 - DEFINE_QNODE(xm_qdss_dap, SM6350_MASTER_QDSS_DAP, 1, 8, SM6350_SLAVE_CAMERA_CFG, SM6350_SLAVE_SDCC_2, SM6350_SLAVE_CNOC_MNOC_CFG, SM6350_SLAVE_UFS_MEM_CFG, SM6350_SLAVE_QM_CFG, SM6350_SLAVE_SNOC_CFG, SM6350_SLAVE_QM_MPU_CFG, SM6350_SLAVE_GLM, SM6350_SLAVE_PDM, SM6350_SLAVE_CAMERA_NRT_THROTTLE_CFG, SM6350_SLAVE_A2NOC_CFG, SM6350_SLAVE_QDSS_CFG, SM6350_SLAVE_VSENSE_CTRL_CFG, SM6350_SLAVE_CAMERA_RT_THROTTLE_CFG, SM6350_SLAVE_DISPLAY_CFG, SM6350_SLAVE_TCSR, SM6350_SLAVE_DCC_CFG, SM6350_SLAVE_CNOC_DDRSS, SM6350_SLAVE_DISPLAY_THROTTLE_CFG, SM6350_SLAVE_NPU_CFG, SM6350_SLAVE_AHB2PHY, SM6350_SLAVE_GRAPHICS_3D_CFG, SM6350_SLAVE_BOOT_ROM, SM6350_SLAVE_VENUS_CFG, SM6350_SLAVE_IPA_CFG, SM6350_SLAVE_SECURITY, SM6350_SLAVE_IMEM_CFG, SM6350_SLAVE_CNOC_MSS, SM6350_SLAVE_SERVICE_CNOC, SM6350_SLAVE_USB3, SM6350_SLAVE_VENUS_THROTTLE_CFG, SM6350_SLAVE_RBCPR_CX_CFG, SM6350_SLAVE_A1NOC_CFG, SM6350_SLAVE_AOSS, SM6350_SLAVE_PRNG, SM6350_SLAVE_EMMC_CFG, SM6350_SLAVE_CRYPTO_0_CFG, SM6350_SLAVE_PIMEM_CFG, SM6350_SLAVE_RBCPR_MX_CFG, SM6350_SLAVE_QUP_0, SM6350_SLAVE_QUP_1, SM6350_SLAVE_CLK_CTL); 39 - DEFINE_QNODE(qhm_cnoc_dc_noc, SM6350_MASTER_CNOC_DC_NOC, 1, 4, SM6350_SLAVE_LLCC_CFG, SM6350_SLAVE_GEM_NOC_CFG); 40 - DEFINE_QNODE(acm_apps, SM6350_MASTER_AMPSS_M0, 1, 16, SM6350_SLAVE_LLCC, SM6350_SLAVE_GEM_NOC_SNOC); 41 - DEFINE_QNODE(acm_sys_tcu, SM6350_MASTER_SYS_TCU, 1, 8, SM6350_SLAVE_LLCC, SM6350_SLAVE_GEM_NOC_SNOC); 42 - DEFINE_QNODE(qhm_gemnoc_cfg, SM6350_MASTER_GEM_NOC_CFG, 1, 4, SM6350_SLAVE_MCDMA_MS_MPU_CFG, SM6350_SLAVE_SERVICE_GEM_NOC, SM6350_SLAVE_MSS_PROC_MS_MPU_CFG); 43 - DEFINE_QNODE(qnm_cmpnoc, SM6350_MASTER_COMPUTE_NOC, 1, 32, SM6350_SLAVE_LLCC, SM6350_SLAVE_GEM_NOC_SNOC); 44 - DEFINE_QNODE(qnm_mnoc_hf, SM6350_MASTER_MNOC_HF_MEM_NOC, 1, 32, SM6350_SLAVE_LLCC, SM6350_SLAVE_GEM_NOC_SNOC); 45 - DEFINE_QNODE(qnm_mnoc_sf, SM6350_MASTER_MNOC_SF_MEM_NOC, 1, 32, SM6350_SLAVE_LLCC, SM6350_SLAVE_GEM_NOC_SNOC); 46 - DEFINE_QNODE(qnm_snoc_gc, SM6350_MASTER_SNOC_GC_MEM_NOC, 1, 8, SM6350_SLAVE_LLCC); 47 - DEFINE_QNODE(qnm_snoc_sf, SM6350_MASTER_SNOC_SF_MEM_NOC, 1, 16, SM6350_SLAVE_LLCC); 48 - DEFINE_QNODE(qxm_gpu, SM6350_MASTER_GRAPHICS_3D, 2, 32, SM6350_SLAVE_LLCC, SM6350_SLAVE_GEM_NOC_SNOC); 49 - DEFINE_QNODE(llcc_mc, SM6350_MASTER_LLCC, 2, 4, SM6350_SLAVE_EBI_CH0); 50 - DEFINE_QNODE(qhm_mnoc_cfg, SM6350_MASTER_CNOC_MNOC_CFG, 1, 4, SM6350_SLAVE_SERVICE_MNOC); 51 - DEFINE_QNODE(qnm_video0, SM6350_MASTER_VIDEO_P0, 1, 32, SM6350_SLAVE_MNOC_SF_MEM_NOC); 52 - DEFINE_QNODE(qnm_video_cvp, SM6350_MASTER_VIDEO_PROC, 1, 8, SM6350_SLAVE_MNOC_SF_MEM_NOC); 53 - DEFINE_QNODE(qxm_camnoc_hf, SM6350_MASTER_CAMNOC_HF, 2, 32, SM6350_SLAVE_MNOC_HF_MEM_NOC); 54 - DEFINE_QNODE(qxm_camnoc_icp, SM6350_MASTER_CAMNOC_ICP, 1, 8, SM6350_SLAVE_MNOC_SF_MEM_NOC); 55 - DEFINE_QNODE(qxm_camnoc_sf, SM6350_MASTER_CAMNOC_SF, 1, 32, SM6350_SLAVE_MNOC_SF_MEM_NOC); 56 - DEFINE_QNODE(qxm_mdp0, SM6350_MASTER_MDP_PORT0, 1, 32, SM6350_SLAVE_MNOC_HF_MEM_NOC); 57 - DEFINE_QNODE(amm_npu_sys, SM6350_MASTER_NPU_SYS, 2, 32, SM6350_SLAVE_NPU_COMPUTE_NOC); 58 - DEFINE_QNODE(qhm_npu_cfg, SM6350_MASTER_NPU_NOC_CFG, 1, 4, SM6350_SLAVE_SERVICE_NPU_NOC, SM6350_SLAVE_ISENSE_CFG, SM6350_SLAVE_NPU_LLM_CFG, SM6350_SLAVE_NPU_INT_DMA_BWMON_CFG, SM6350_SLAVE_NPU_CP, SM6350_SLAVE_NPU_TCM, SM6350_SLAVE_NPU_CAL_DP0, SM6350_SLAVE_NPU_DPM); 59 - DEFINE_QNODE(qhm_snoc_cfg, SM6350_MASTER_SNOC_CFG, 1, 4, SM6350_SLAVE_SERVICE_SNOC); 60 - DEFINE_QNODE(qnm_aggre1_noc, SM6350_A1NOC_SNOC_MAS, 1, 16, SM6350_SLAVE_SNOC_GEM_NOC_SF, SM6350_SLAVE_PIMEM, SM6350_SLAVE_OCIMEM, SM6350_SLAVE_APPSS, SM6350_SNOC_CNOC_SLV, SM6350_SLAVE_QDSS_STM); 61 - DEFINE_QNODE(qnm_aggre2_noc, SM6350_A2NOC_SNOC_MAS, 1, 16, SM6350_SLAVE_SNOC_GEM_NOC_SF, SM6350_SLAVE_PIMEM, SM6350_SLAVE_OCIMEM, SM6350_SLAVE_APPSS, SM6350_SNOC_CNOC_SLV, SM6350_SLAVE_TCU, SM6350_SLAVE_QDSS_STM); 62 - DEFINE_QNODE(qnm_gemnoc, SM6350_MASTER_GEM_NOC_SNOC, 1, 8, SM6350_SLAVE_PIMEM, SM6350_SLAVE_OCIMEM, SM6350_SLAVE_APPSS, SM6350_SNOC_CNOC_SLV, SM6350_SLAVE_TCU, SM6350_SLAVE_QDSS_STM); 63 - DEFINE_QNODE(qxm_pimem, SM6350_MASTER_PIMEM, 1, 8, SM6350_SLAVE_SNOC_GEM_NOC_GC, SM6350_SLAVE_OCIMEM); 64 - DEFINE_QNODE(xm_gic, SM6350_MASTER_GIC, 1, 8, SM6350_SLAVE_SNOC_GEM_NOC_GC); 65 - DEFINE_QNODE(qns_a1noc_snoc, SM6350_A1NOC_SNOC_SLV, 1, 16, SM6350_A1NOC_SNOC_MAS); 66 - DEFINE_QNODE(srvc_aggre1_noc, SM6350_SLAVE_SERVICE_A1NOC, 1, 4); 67 - DEFINE_QNODE(qns_a2noc_snoc, SM6350_A2NOC_SNOC_SLV, 1, 16, SM6350_A2NOC_SNOC_MAS); 68 - DEFINE_QNODE(srvc_aggre2_noc, SM6350_SLAVE_SERVICE_A2NOC, 1, 4); 69 - DEFINE_QNODE(qns_camnoc_uncomp, SM6350_SLAVE_CAMNOC_UNCOMP, 1, 32); 70 - DEFINE_QNODE(qup0_core_slave, SM6350_SLAVE_QUP_CORE_0, 1, 4); 71 - DEFINE_QNODE(qup1_core_slave, SM6350_SLAVE_QUP_CORE_1, 1, 4); 72 - DEFINE_QNODE(qns_cdsp_gemnoc, SM6350_SLAVE_CDSP_GEM_NOC, 1, 32, SM6350_MASTER_COMPUTE_NOC); 73 - DEFINE_QNODE(qhs_a1_noc_cfg, SM6350_SLAVE_A1NOC_CFG, 1, 4, SM6350_MASTER_A1NOC_CFG); 74 - DEFINE_QNODE(qhs_a2_noc_cfg, SM6350_SLAVE_A2NOC_CFG, 1, 4, SM6350_MASTER_A2NOC_CFG); 75 - DEFINE_QNODE(qhs_ahb2phy0, SM6350_SLAVE_AHB2PHY, 1, 4); 76 - DEFINE_QNODE(qhs_ahb2phy2, SM6350_SLAVE_AHB2PHY_2, 1, 4); 77 - DEFINE_QNODE(qhs_aoss, SM6350_SLAVE_AOSS, 1, 4); 78 - DEFINE_QNODE(qhs_boot_rom, SM6350_SLAVE_BOOT_ROM, 1, 4); 79 - DEFINE_QNODE(qhs_camera_cfg, SM6350_SLAVE_CAMERA_CFG, 1, 4); 80 - DEFINE_QNODE(qhs_camera_nrt_thrott_cfg, SM6350_SLAVE_CAMERA_NRT_THROTTLE_CFG, 1, 4); 81 - DEFINE_QNODE(qhs_camera_rt_throttle_cfg, SM6350_SLAVE_CAMERA_RT_THROTTLE_CFG, 1, 4); 82 - DEFINE_QNODE(qhs_clk_ctl, SM6350_SLAVE_CLK_CTL, 1, 4); 83 - DEFINE_QNODE(qhs_cpr_cx, SM6350_SLAVE_RBCPR_CX_CFG, 1, 4); 84 - DEFINE_QNODE(qhs_cpr_mx, SM6350_SLAVE_RBCPR_MX_CFG, 1, 4); 85 - DEFINE_QNODE(qhs_crypto0_cfg, SM6350_SLAVE_CRYPTO_0_CFG, 1, 4); 86 - DEFINE_QNODE(qhs_dcc_cfg, SM6350_SLAVE_DCC_CFG, 1, 4); 87 - DEFINE_QNODE(qhs_ddrss_cfg, SM6350_SLAVE_CNOC_DDRSS, 1, 4, SM6350_MASTER_CNOC_DC_NOC); 88 - DEFINE_QNODE(qhs_display_cfg, SM6350_SLAVE_DISPLAY_CFG, 1, 4); 89 - DEFINE_QNODE(qhs_display_throttle_cfg, SM6350_SLAVE_DISPLAY_THROTTLE_CFG, 1, 4); 90 - DEFINE_QNODE(qhs_emmc_cfg, SM6350_SLAVE_EMMC_CFG, 1, 4); 91 - DEFINE_QNODE(qhs_glm, SM6350_SLAVE_GLM, 1, 4); 92 - DEFINE_QNODE(qhs_gpuss_cfg, SM6350_SLAVE_GRAPHICS_3D_CFG, 1, 8); 93 - DEFINE_QNODE(qhs_imem_cfg, SM6350_SLAVE_IMEM_CFG, 1, 4); 94 - DEFINE_QNODE(qhs_ipa, SM6350_SLAVE_IPA_CFG, 1, 4); 95 - DEFINE_QNODE(qhs_mnoc_cfg, SM6350_SLAVE_CNOC_MNOC_CFG, 1, 4, SM6350_MASTER_CNOC_MNOC_CFG); 96 - DEFINE_QNODE(qhs_mss_cfg, SM6350_SLAVE_CNOC_MSS, 1, 4); 97 - DEFINE_QNODE(qhs_npu_cfg, SM6350_SLAVE_NPU_CFG, 1, 4, SM6350_MASTER_NPU_NOC_CFG); 98 - DEFINE_QNODE(qhs_pdm, SM6350_SLAVE_PDM, 1, 4); 99 - DEFINE_QNODE(qhs_pimem_cfg, SM6350_SLAVE_PIMEM_CFG, 1, 4); 100 - DEFINE_QNODE(qhs_prng, SM6350_SLAVE_PRNG, 1, 4); 101 - DEFINE_QNODE(qhs_qdss_cfg, SM6350_SLAVE_QDSS_CFG, 1, 4); 102 - DEFINE_QNODE(qhs_qm_cfg, SM6350_SLAVE_QM_CFG, 1, 4); 103 - DEFINE_QNODE(qhs_qm_mpu_cfg, SM6350_SLAVE_QM_MPU_CFG, 1, 4); 104 - DEFINE_QNODE(qhs_qup0, SM6350_SLAVE_QUP_0, 1, 4); 105 - DEFINE_QNODE(qhs_qup1, SM6350_SLAVE_QUP_1, 1, 4); 106 - DEFINE_QNODE(qhs_sdc2, SM6350_SLAVE_SDCC_2, 1, 4); 107 - DEFINE_QNODE(qhs_security, SM6350_SLAVE_SECURITY, 1, 4); 108 - DEFINE_QNODE(qhs_snoc_cfg, SM6350_SLAVE_SNOC_CFG, 1, 4, SM6350_MASTER_SNOC_CFG); 109 - DEFINE_QNODE(qhs_tcsr, SM6350_SLAVE_TCSR, 1, 4); 110 - DEFINE_QNODE(qhs_ufs_mem_cfg, SM6350_SLAVE_UFS_MEM_CFG, 1, 4); 111 - DEFINE_QNODE(qhs_usb3_0, SM6350_SLAVE_USB3, 1, 4); 112 - DEFINE_QNODE(qhs_venus_cfg, SM6350_SLAVE_VENUS_CFG, 1, 4); 113 - DEFINE_QNODE(qhs_venus_throttle_cfg, SM6350_SLAVE_VENUS_THROTTLE_CFG, 1, 4); 114 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SM6350_SLAVE_VSENSE_CTRL_CFG, 1, 4); 115 - DEFINE_QNODE(srvc_cnoc, SM6350_SLAVE_SERVICE_CNOC, 1, 4); 116 - DEFINE_QNODE(qhs_gemnoc, SM6350_SLAVE_GEM_NOC_CFG, 1, 4, SM6350_MASTER_GEM_NOC_CFG); 117 - DEFINE_QNODE(qhs_llcc, SM6350_SLAVE_LLCC_CFG, 1, 4); 118 - DEFINE_QNODE(qhs_mcdma_ms_mpu_cfg, SM6350_SLAVE_MCDMA_MS_MPU_CFG, 1, 4); 119 - DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SM6350_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4); 120 - DEFINE_QNODE(qns_gem_noc_snoc, SM6350_SLAVE_GEM_NOC_SNOC, 1, 8, SM6350_MASTER_GEM_NOC_SNOC); 121 - DEFINE_QNODE(qns_llcc, SM6350_SLAVE_LLCC, 1, 16, SM6350_MASTER_LLCC); 122 - DEFINE_QNODE(srvc_gemnoc, SM6350_SLAVE_SERVICE_GEM_NOC, 1, 4); 123 - DEFINE_QNODE(ebi, SM6350_SLAVE_EBI_CH0, 2, 4); 124 - DEFINE_QNODE(qns_mem_noc_hf, SM6350_SLAVE_MNOC_HF_MEM_NOC, 1, 32, SM6350_MASTER_MNOC_HF_MEM_NOC); 125 - DEFINE_QNODE(qns_mem_noc_sf, SM6350_SLAVE_MNOC_SF_MEM_NOC, 1, 32, SM6350_MASTER_MNOC_SF_MEM_NOC); 126 - DEFINE_QNODE(srvc_mnoc, SM6350_SLAVE_SERVICE_MNOC, 1, 4); 127 - DEFINE_QNODE(qhs_cal_dp0, SM6350_SLAVE_NPU_CAL_DP0, 1, 4); 128 - DEFINE_QNODE(qhs_cp, SM6350_SLAVE_NPU_CP, 1, 4); 129 - DEFINE_QNODE(qhs_dma_bwmon, SM6350_SLAVE_NPU_INT_DMA_BWMON_CFG, 1, 4); 130 - DEFINE_QNODE(qhs_dpm, SM6350_SLAVE_NPU_DPM, 1, 4); 131 - DEFINE_QNODE(qhs_isense, SM6350_SLAVE_ISENSE_CFG, 1, 4); 132 - DEFINE_QNODE(qhs_llm, SM6350_SLAVE_NPU_LLM_CFG, 1, 4); 133 - DEFINE_QNODE(qhs_tcm, SM6350_SLAVE_NPU_TCM, 1, 4); 134 - DEFINE_QNODE(qns_npu_sys, SM6350_SLAVE_NPU_COMPUTE_NOC, 2, 32); 135 - DEFINE_QNODE(srvc_noc, SM6350_SLAVE_SERVICE_NPU_NOC, 1, 4); 136 - DEFINE_QNODE(qhs_apss, SM6350_SLAVE_APPSS, 1, 8); 137 - DEFINE_QNODE(qns_cnoc, SM6350_SNOC_CNOC_SLV, 1, 8, SM6350_SNOC_CNOC_MAS); 138 - DEFINE_QNODE(qns_gemnoc_gc, SM6350_SLAVE_SNOC_GEM_NOC_GC, 1, 8, SM6350_MASTER_SNOC_GC_MEM_NOC); 139 - DEFINE_QNODE(qns_gemnoc_sf, SM6350_SLAVE_SNOC_GEM_NOC_SF, 1, 16, SM6350_MASTER_SNOC_SF_MEM_NOC); 140 - DEFINE_QNODE(qxs_imem, SM6350_SLAVE_OCIMEM, 1, 8); 141 - DEFINE_QNODE(qxs_pimem, SM6350_SLAVE_PIMEM, 1, 8); 142 - DEFINE_QNODE(srvc_snoc, SM6350_SLAVE_SERVICE_SNOC, 1, 4); 143 - DEFINE_QNODE(xs_qdss_stm, SM6350_SLAVE_QDSS_STM, 1, 4); 144 - DEFINE_QNODE(xs_sys_tcu_cfg, SM6350_SLAVE_TCU, 1, 8); 18 + static struct qcom_icc_node qhm_a1noc_cfg = { 19 + .name = "qhm_a1noc_cfg", 20 + .id = SM6350_MASTER_A1NOC_CFG, 21 + .channels = 1, 22 + .buswidth = 4, 23 + .num_links = 1, 24 + .links = { SM6350_SLAVE_SERVICE_A1NOC }, 25 + }; 145 26 146 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 147 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 148 - DEFINE_QBCM(bcm_cn0, "CN0", true, &qnm_snoc, &xm_qdss_dap, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_ahb2phy0, &qhs_aoss, &qhs_boot_rom, &qhs_camera_cfg, &qhs_camera_nrt_thrott_cfg, &qhs_camera_rt_throttle_cfg, &qhs_clk_ctl, &qhs_cpr_cx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_display_throttle_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_mss_cfg, &qhs_npu_cfg, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qm_cfg, &qhs_qm_mpu_cfg, &qhs_qup0, &qhs_qup1, &qhs_security, &qhs_snoc_cfg, &qhs_tcsr, &qhs_ufs_mem_cfg, &qhs_usb3_0, &qhs_venus_cfg, &qhs_venus_throttle_cfg, &qhs_vsense_ctrl_cfg, &srvc_cnoc); 149 - DEFINE_QBCM(bcm_cn1, "CN1", false, &xm_emmc, &xm_sdc2, &qhs_ahb2phy2, &qhs_emmc_cfg, &qhs_pdm, &qhs_sdc2); 150 - DEFINE_QBCM(bcm_co0, "CO0", false, &qns_cdsp_gemnoc); 151 - DEFINE_QBCM(bcm_co2, "CO2", false, &qnm_npu); 152 - DEFINE_QBCM(bcm_co3, "CO3", false, &qxm_npu_dsp); 153 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 154 - DEFINE_QBCM(bcm_mm0, "MM0", true, &qns_mem_noc_hf); 155 - DEFINE_QBCM(bcm_mm1, "MM1", true, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_icp_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf, &qxm_mdp0); 156 - DEFINE_QBCM(bcm_mm2, "MM2", false, &qns_mem_noc_sf); 157 - DEFINE_QBCM(bcm_mm3, "MM3", false, &qhm_mnoc_cfg, &qnm_video0, &qnm_video_cvp, &qxm_camnoc_sf); 158 - DEFINE_QBCM(bcm_qup0, "QUP0", false, &qup0_core_master, &qup1_core_master, &qup0_core_slave, &qup1_core_slave); 159 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 160 - DEFINE_QBCM(bcm_sh2, "SH2", false, &acm_sys_tcu); 161 - DEFINE_QBCM(bcm_sh3, "SH3", false, &qnm_cmpnoc); 162 - DEFINE_QBCM(bcm_sh4, "SH4", false, &acm_apps); 163 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_gemnoc_sf); 164 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 165 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qns_gemnoc_gc); 166 - DEFINE_QBCM(bcm_sn3, "SN3", false, &qxs_pimem); 167 - DEFINE_QBCM(bcm_sn4, "SN4", false, &xs_qdss_stm); 168 - DEFINE_QBCM(bcm_sn5, "SN5", false, &qnm_aggre1_noc); 169 - DEFINE_QBCM(bcm_sn6, "SN6", false, &qnm_aggre2_noc); 170 - DEFINE_QBCM(bcm_sn10, "SN10", false, &qnm_gemnoc); 27 + static struct qcom_icc_node qhm_qup_0 = { 28 + .name = "qhm_qup_0", 29 + .id = SM6350_MASTER_QUP_0, 30 + .channels = 1, 31 + .buswidth = 4, 32 + .num_links = 1, 33 + .links = { SM6350_A1NOC_SNOC_SLV }, 34 + }; 35 + 36 + static struct qcom_icc_node xm_emmc = { 37 + .name = "xm_emmc", 38 + .id = SM6350_MASTER_EMMC, 39 + .channels = 1, 40 + .buswidth = 8, 41 + .num_links = 1, 42 + .links = { SM6350_A1NOC_SNOC_SLV }, 43 + }; 44 + 45 + static struct qcom_icc_node xm_ufs_mem = { 46 + .name = "xm_ufs_mem", 47 + .id = SM6350_MASTER_UFS_MEM, 48 + .channels = 1, 49 + .buswidth = 8, 50 + .num_links = 1, 51 + .links = { SM6350_A1NOC_SNOC_SLV }, 52 + }; 53 + 54 + static struct qcom_icc_node qhm_a2noc_cfg = { 55 + .name = "qhm_a2noc_cfg", 56 + .id = SM6350_MASTER_A2NOC_CFG, 57 + .channels = 1, 58 + .buswidth = 4, 59 + .num_links = 1, 60 + .links = { SM6350_SLAVE_SERVICE_A2NOC }, 61 + }; 62 + 63 + static struct qcom_icc_node qhm_qdss_bam = { 64 + .name = "qhm_qdss_bam", 65 + .id = SM6350_MASTER_QDSS_BAM, 66 + .channels = 1, 67 + .buswidth = 4, 68 + .num_links = 1, 69 + .links = { SM6350_A2NOC_SNOC_SLV }, 70 + }; 71 + 72 + static struct qcom_icc_node qhm_qup_1 = { 73 + .name = "qhm_qup_1", 74 + .id = SM6350_MASTER_QUP_1, 75 + .channels = 1, 76 + .buswidth = 4, 77 + .num_links = 1, 78 + .links = { SM6350_A2NOC_SNOC_SLV }, 79 + }; 80 + 81 + static struct qcom_icc_node qxm_crypto = { 82 + .name = "qxm_crypto", 83 + .id = SM6350_MASTER_CRYPTO_CORE_0, 84 + .channels = 1, 85 + .buswidth = 8, 86 + .num_links = 1, 87 + .links = { SM6350_A2NOC_SNOC_SLV }, 88 + }; 89 + 90 + static struct qcom_icc_node qxm_ipa = { 91 + .name = "qxm_ipa", 92 + .id = SM6350_MASTER_IPA, 93 + .channels = 1, 94 + .buswidth = 8, 95 + .num_links = 1, 96 + .links = { SM6350_A2NOC_SNOC_SLV }, 97 + }; 98 + 99 + static struct qcom_icc_node xm_qdss_etr = { 100 + .name = "xm_qdss_etr", 101 + .id = SM6350_MASTER_QDSS_ETR, 102 + .channels = 1, 103 + .buswidth = 8, 104 + .num_links = 1, 105 + .links = { SM6350_A2NOC_SNOC_SLV }, 106 + }; 107 + 108 + static struct qcom_icc_node xm_sdc2 = { 109 + .name = "xm_sdc2", 110 + .id = SM6350_MASTER_SDCC_2, 111 + .channels = 1, 112 + .buswidth = 8, 113 + .num_links = 1, 114 + .links = { SM6350_A2NOC_SNOC_SLV }, 115 + }; 116 + 117 + static struct qcom_icc_node xm_usb3_0 = { 118 + .name = "xm_usb3_0", 119 + .id = SM6350_MASTER_USB3, 120 + .channels = 1, 121 + .buswidth = 8, 122 + .num_links = 1, 123 + .links = { SM6350_A2NOC_SNOC_SLV }, 124 + }; 125 + 126 + static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 127 + .name = "qxm_camnoc_hf0_uncomp", 128 + .id = SM6350_MASTER_CAMNOC_HF0_UNCOMP, 129 + .channels = 2, 130 + .buswidth = 32, 131 + .num_links = 1, 132 + .links = { SM6350_SLAVE_CAMNOC_UNCOMP }, 133 + }; 134 + 135 + static struct qcom_icc_node qxm_camnoc_icp_uncomp = { 136 + .name = "qxm_camnoc_icp_uncomp", 137 + .id = SM6350_MASTER_CAMNOC_ICP_UNCOMP, 138 + .channels = 1, 139 + .buswidth = 32, 140 + .num_links = 1, 141 + .links = { SM6350_SLAVE_CAMNOC_UNCOMP }, 142 + }; 143 + 144 + static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 145 + .name = "qxm_camnoc_sf_uncomp", 146 + .id = SM6350_MASTER_CAMNOC_SF_UNCOMP, 147 + .channels = 1, 148 + .buswidth = 32, 149 + .num_links = 1, 150 + .links = { SM6350_SLAVE_CAMNOC_UNCOMP }, 151 + }; 152 + 153 + static struct qcom_icc_node qup0_core_master = { 154 + .name = "qup0_core_master", 155 + .id = SM6350_MASTER_QUP_CORE_0, 156 + .channels = 1, 157 + .buswidth = 4, 158 + .num_links = 1, 159 + .links = { SM6350_SLAVE_QUP_CORE_0 }, 160 + }; 161 + 162 + static struct qcom_icc_node qup1_core_master = { 163 + .name = "qup1_core_master", 164 + .id = SM6350_MASTER_QUP_CORE_1, 165 + .channels = 1, 166 + .buswidth = 4, 167 + .num_links = 1, 168 + .links = { SM6350_SLAVE_QUP_CORE_1 }, 169 + }; 170 + 171 + static struct qcom_icc_node qnm_npu = { 172 + .name = "qnm_npu", 173 + .id = SM6350_MASTER_NPU, 174 + .channels = 2, 175 + .buswidth = 32, 176 + .num_links = 1, 177 + .links = { SM6350_SLAVE_CDSP_GEM_NOC }, 178 + }; 179 + 180 + static struct qcom_icc_node qxm_npu_dsp = { 181 + .name = "qxm_npu_dsp", 182 + .id = SM6350_MASTER_NPU_PROC, 183 + .channels = 1, 184 + .buswidth = 8, 185 + .num_links = 1, 186 + .links = { SM6350_SLAVE_CDSP_GEM_NOC }, 187 + }; 188 + 189 + static struct qcom_icc_node qnm_snoc = { 190 + .name = "qnm_snoc", 191 + .id = SM6350_SNOC_CNOC_MAS, 192 + .channels = 1, 193 + .buswidth = 8, 194 + .num_links = 42, 195 + .links = { SM6350_SLAVE_CAMERA_CFG, 196 + SM6350_SLAVE_SDCC_2, 197 + SM6350_SLAVE_CNOC_MNOC_CFG, 198 + SM6350_SLAVE_UFS_MEM_CFG, 199 + SM6350_SLAVE_QM_CFG, 200 + SM6350_SLAVE_SNOC_CFG, 201 + SM6350_SLAVE_QM_MPU_CFG, 202 + SM6350_SLAVE_GLM, 203 + SM6350_SLAVE_PDM, 204 + SM6350_SLAVE_CAMERA_NRT_THROTTLE_CFG, 205 + SM6350_SLAVE_A2NOC_CFG, 206 + SM6350_SLAVE_QDSS_CFG, 207 + SM6350_SLAVE_VSENSE_CTRL_CFG, 208 + SM6350_SLAVE_CAMERA_RT_THROTTLE_CFG, 209 + SM6350_SLAVE_DISPLAY_CFG, 210 + SM6350_SLAVE_TCSR, 211 + SM6350_SLAVE_DCC_CFG, 212 + SM6350_SLAVE_CNOC_DDRSS, 213 + SM6350_SLAVE_DISPLAY_THROTTLE_CFG, 214 + SM6350_SLAVE_NPU_CFG, 215 + SM6350_SLAVE_AHB2PHY, 216 + SM6350_SLAVE_GRAPHICS_3D_CFG, 217 + SM6350_SLAVE_BOOT_ROM, 218 + SM6350_SLAVE_VENUS_CFG, 219 + SM6350_SLAVE_IPA_CFG, 220 + SM6350_SLAVE_SECURITY, 221 + SM6350_SLAVE_IMEM_CFG, 222 + SM6350_SLAVE_CNOC_MSS, 223 + SM6350_SLAVE_SERVICE_CNOC, 224 + SM6350_SLAVE_USB3, 225 + SM6350_SLAVE_VENUS_THROTTLE_CFG, 226 + SM6350_SLAVE_RBCPR_CX_CFG, 227 + SM6350_SLAVE_A1NOC_CFG, 228 + SM6350_SLAVE_AOSS, 229 + SM6350_SLAVE_PRNG, 230 + SM6350_SLAVE_EMMC_CFG, 231 + SM6350_SLAVE_CRYPTO_0_CFG, 232 + SM6350_SLAVE_PIMEM_CFG, 233 + SM6350_SLAVE_RBCPR_MX_CFG, 234 + SM6350_SLAVE_QUP_0, 235 + SM6350_SLAVE_QUP_1, 236 + SM6350_SLAVE_CLK_CTL 237 + }, 238 + }; 239 + 240 + static struct qcom_icc_node xm_qdss_dap = { 241 + .name = "xm_qdss_dap", 242 + .id = SM6350_MASTER_QDSS_DAP, 243 + .channels = 1, 244 + .buswidth = 8, 245 + .num_links = 42, 246 + .links = { SM6350_SLAVE_CAMERA_CFG, 247 + SM6350_SLAVE_SDCC_2, 248 + SM6350_SLAVE_CNOC_MNOC_CFG, 249 + SM6350_SLAVE_UFS_MEM_CFG, 250 + SM6350_SLAVE_QM_CFG, 251 + SM6350_SLAVE_SNOC_CFG, 252 + SM6350_SLAVE_QM_MPU_CFG, 253 + SM6350_SLAVE_GLM, 254 + SM6350_SLAVE_PDM, 255 + SM6350_SLAVE_CAMERA_NRT_THROTTLE_CFG, 256 + SM6350_SLAVE_A2NOC_CFG, 257 + SM6350_SLAVE_QDSS_CFG, 258 + SM6350_SLAVE_VSENSE_CTRL_CFG, 259 + SM6350_SLAVE_CAMERA_RT_THROTTLE_CFG, 260 + SM6350_SLAVE_DISPLAY_CFG, 261 + SM6350_SLAVE_TCSR, 262 + SM6350_SLAVE_DCC_CFG, 263 + SM6350_SLAVE_CNOC_DDRSS, 264 + SM6350_SLAVE_DISPLAY_THROTTLE_CFG, 265 + SM6350_SLAVE_NPU_CFG, 266 + SM6350_SLAVE_AHB2PHY, 267 + SM6350_SLAVE_GRAPHICS_3D_CFG, 268 + SM6350_SLAVE_BOOT_ROM, 269 + SM6350_SLAVE_VENUS_CFG, 270 + SM6350_SLAVE_IPA_CFG, 271 + SM6350_SLAVE_SECURITY, 272 + SM6350_SLAVE_IMEM_CFG, 273 + SM6350_SLAVE_CNOC_MSS, 274 + SM6350_SLAVE_SERVICE_CNOC, 275 + SM6350_SLAVE_USB3, 276 + SM6350_SLAVE_VENUS_THROTTLE_CFG, 277 + SM6350_SLAVE_RBCPR_CX_CFG, 278 + SM6350_SLAVE_A1NOC_CFG, 279 + SM6350_SLAVE_AOSS, 280 + SM6350_SLAVE_PRNG, 281 + SM6350_SLAVE_EMMC_CFG, 282 + SM6350_SLAVE_CRYPTO_0_CFG, 283 + SM6350_SLAVE_PIMEM_CFG, 284 + SM6350_SLAVE_RBCPR_MX_CFG, 285 + SM6350_SLAVE_QUP_0, 286 + SM6350_SLAVE_QUP_1, 287 + SM6350_SLAVE_CLK_CTL 288 + }, 289 + }; 290 + 291 + static struct qcom_icc_node qhm_cnoc_dc_noc = { 292 + .name = "qhm_cnoc_dc_noc", 293 + .id = SM6350_MASTER_CNOC_DC_NOC, 294 + .channels = 1, 295 + .buswidth = 4, 296 + .num_links = 2, 297 + .links = { SM6350_SLAVE_LLCC_CFG, 298 + SM6350_SLAVE_GEM_NOC_CFG 299 + }, 300 + }; 301 + 302 + static struct qcom_icc_node acm_apps = { 303 + .name = "acm_apps", 304 + .id = SM6350_MASTER_AMPSS_M0, 305 + .channels = 1, 306 + .buswidth = 16, 307 + .num_links = 2, 308 + .links = { SM6350_SLAVE_LLCC, 309 + SM6350_SLAVE_GEM_NOC_SNOC 310 + }, 311 + }; 312 + 313 + static struct qcom_icc_node acm_sys_tcu = { 314 + .name = "acm_sys_tcu", 315 + .id = SM6350_MASTER_SYS_TCU, 316 + .channels = 1, 317 + .buswidth = 8, 318 + .num_links = 2, 319 + .links = { SM6350_SLAVE_LLCC, 320 + SM6350_SLAVE_GEM_NOC_SNOC 321 + }, 322 + }; 323 + 324 + static struct qcom_icc_node qhm_gemnoc_cfg = { 325 + .name = "qhm_gemnoc_cfg", 326 + .id = SM6350_MASTER_GEM_NOC_CFG, 327 + .channels = 1, 328 + .buswidth = 4, 329 + .num_links = 3, 330 + .links = { SM6350_SLAVE_MCDMA_MS_MPU_CFG, 331 + SM6350_SLAVE_SERVICE_GEM_NOC, 332 + SM6350_SLAVE_MSS_PROC_MS_MPU_CFG 333 + }, 334 + }; 335 + 336 + static struct qcom_icc_node qnm_cmpnoc = { 337 + .name = "qnm_cmpnoc", 338 + .id = SM6350_MASTER_COMPUTE_NOC, 339 + .channels = 1, 340 + .buswidth = 32, 341 + .num_links = 2, 342 + .links = { SM6350_SLAVE_LLCC, 343 + SM6350_SLAVE_GEM_NOC_SNOC 344 + }, 345 + }; 346 + 347 + static struct qcom_icc_node qnm_mnoc_hf = { 348 + .name = "qnm_mnoc_hf", 349 + .id = SM6350_MASTER_MNOC_HF_MEM_NOC, 350 + .channels = 1, 351 + .buswidth = 32, 352 + .num_links = 2, 353 + .links = { SM6350_SLAVE_LLCC, 354 + SM6350_SLAVE_GEM_NOC_SNOC 355 + }, 356 + }; 357 + 358 + static struct qcom_icc_node qnm_mnoc_sf = { 359 + .name = "qnm_mnoc_sf", 360 + .id = SM6350_MASTER_MNOC_SF_MEM_NOC, 361 + .channels = 1, 362 + .buswidth = 32, 363 + .num_links = 2, 364 + .links = { SM6350_SLAVE_LLCC, 365 + SM6350_SLAVE_GEM_NOC_SNOC 366 + }, 367 + }; 368 + 369 + static struct qcom_icc_node qnm_snoc_gc = { 370 + .name = "qnm_snoc_gc", 371 + .id = SM6350_MASTER_SNOC_GC_MEM_NOC, 372 + .channels = 1, 373 + .buswidth = 8, 374 + .num_links = 1, 375 + .links = { SM6350_SLAVE_LLCC }, 376 + }; 377 + 378 + static struct qcom_icc_node qnm_snoc_sf = { 379 + .name = "qnm_snoc_sf", 380 + .id = SM6350_MASTER_SNOC_SF_MEM_NOC, 381 + .channels = 1, 382 + .buswidth = 16, 383 + .num_links = 1, 384 + .links = { SM6350_SLAVE_LLCC }, 385 + }; 386 + 387 + static struct qcom_icc_node qxm_gpu = { 388 + .name = "qxm_gpu", 389 + .id = SM6350_MASTER_GRAPHICS_3D, 390 + .channels = 2, 391 + .buswidth = 32, 392 + .num_links = 2, 393 + .links = { SM6350_SLAVE_LLCC, 394 + SM6350_SLAVE_GEM_NOC_SNOC 395 + }, 396 + }; 397 + 398 + static struct qcom_icc_node llcc_mc = { 399 + .name = "llcc_mc", 400 + .id = SM6350_MASTER_LLCC, 401 + .channels = 2, 402 + .buswidth = 4, 403 + .num_links = 1, 404 + .links = { SM6350_SLAVE_EBI_CH0 }, 405 + }; 406 + 407 + static struct qcom_icc_node qhm_mnoc_cfg = { 408 + .name = "qhm_mnoc_cfg", 409 + .id = SM6350_MASTER_CNOC_MNOC_CFG, 410 + .channels = 1, 411 + .buswidth = 4, 412 + .num_links = 1, 413 + .links = { SM6350_SLAVE_SERVICE_MNOC }, 414 + }; 415 + 416 + static struct qcom_icc_node qnm_video0 = { 417 + .name = "qnm_video0", 418 + .id = SM6350_MASTER_VIDEO_P0, 419 + .channels = 1, 420 + .buswidth = 32, 421 + .num_links = 1, 422 + .links = { SM6350_SLAVE_MNOC_SF_MEM_NOC }, 423 + }; 424 + 425 + static struct qcom_icc_node qnm_video_cvp = { 426 + .name = "qnm_video_cvp", 427 + .id = SM6350_MASTER_VIDEO_PROC, 428 + .channels = 1, 429 + .buswidth = 8, 430 + .num_links = 1, 431 + .links = { SM6350_SLAVE_MNOC_SF_MEM_NOC }, 432 + }; 433 + 434 + static struct qcom_icc_node qxm_camnoc_hf = { 435 + .name = "qxm_camnoc_hf", 436 + .id = SM6350_MASTER_CAMNOC_HF, 437 + .channels = 2, 438 + .buswidth = 32, 439 + .num_links = 1, 440 + .links = { SM6350_SLAVE_MNOC_HF_MEM_NOC }, 441 + }; 442 + 443 + static struct qcom_icc_node qxm_camnoc_icp = { 444 + .name = "qxm_camnoc_icp", 445 + .id = SM6350_MASTER_CAMNOC_ICP, 446 + .channels = 1, 447 + .buswidth = 8, 448 + .num_links = 1, 449 + .links = { SM6350_SLAVE_MNOC_SF_MEM_NOC }, 450 + }; 451 + 452 + static struct qcom_icc_node qxm_camnoc_sf = { 453 + .name = "qxm_camnoc_sf", 454 + .id = SM6350_MASTER_CAMNOC_SF, 455 + .channels = 1, 456 + .buswidth = 32, 457 + .num_links = 1, 458 + .links = { SM6350_SLAVE_MNOC_SF_MEM_NOC }, 459 + }; 460 + 461 + static struct qcom_icc_node qxm_mdp0 = { 462 + .name = "qxm_mdp0", 463 + .id = SM6350_MASTER_MDP_PORT0, 464 + .channels = 1, 465 + .buswidth = 32, 466 + .num_links = 1, 467 + .links = { SM6350_SLAVE_MNOC_HF_MEM_NOC }, 468 + }; 469 + 470 + static struct qcom_icc_node amm_npu_sys = { 471 + .name = "amm_npu_sys", 472 + .id = SM6350_MASTER_NPU_SYS, 473 + .channels = 2, 474 + .buswidth = 32, 475 + .num_links = 1, 476 + .links = { SM6350_SLAVE_NPU_COMPUTE_NOC }, 477 + }; 478 + 479 + static struct qcom_icc_node qhm_npu_cfg = { 480 + .name = "qhm_npu_cfg", 481 + .id = SM6350_MASTER_NPU_NOC_CFG, 482 + .channels = 1, 483 + .buswidth = 4, 484 + .num_links = 8, 485 + .links = { SM6350_SLAVE_SERVICE_NPU_NOC, 486 + SM6350_SLAVE_ISENSE_CFG, 487 + SM6350_SLAVE_NPU_LLM_CFG, 488 + SM6350_SLAVE_NPU_INT_DMA_BWMON_CFG, 489 + SM6350_SLAVE_NPU_CP, 490 + SM6350_SLAVE_NPU_TCM, 491 + SM6350_SLAVE_NPU_CAL_DP0, 492 + SM6350_SLAVE_NPU_DPM 493 + }, 494 + }; 495 + 496 + static struct qcom_icc_node qhm_snoc_cfg = { 497 + .name = "qhm_snoc_cfg", 498 + .id = SM6350_MASTER_SNOC_CFG, 499 + .channels = 1, 500 + .buswidth = 4, 501 + .num_links = 1, 502 + .links = { SM6350_SLAVE_SERVICE_SNOC }, 503 + }; 504 + 505 + static struct qcom_icc_node qnm_aggre1_noc = { 506 + .name = "qnm_aggre1_noc", 507 + .id = SM6350_A1NOC_SNOC_MAS, 508 + .channels = 1, 509 + .buswidth = 16, 510 + .num_links = 6, 511 + .links = { SM6350_SLAVE_SNOC_GEM_NOC_SF, 512 + SM6350_SLAVE_PIMEM, 513 + SM6350_SLAVE_OCIMEM, 514 + SM6350_SLAVE_APPSS, 515 + SM6350_SNOC_CNOC_SLV, 516 + SM6350_SLAVE_QDSS_STM 517 + }, 518 + }; 519 + 520 + static struct qcom_icc_node qnm_aggre2_noc = { 521 + .name = "qnm_aggre2_noc", 522 + .id = SM6350_A2NOC_SNOC_MAS, 523 + .channels = 1, 524 + .buswidth = 16, 525 + .num_links = 7, 526 + .links = { SM6350_SLAVE_SNOC_GEM_NOC_SF, 527 + SM6350_SLAVE_PIMEM, 528 + SM6350_SLAVE_OCIMEM, 529 + SM6350_SLAVE_APPSS, 530 + SM6350_SNOC_CNOC_SLV, 531 + SM6350_SLAVE_TCU, 532 + SM6350_SLAVE_QDSS_STM 533 + }, 534 + }; 535 + 536 + static struct qcom_icc_node qnm_gemnoc = { 537 + .name = "qnm_gemnoc", 538 + .id = SM6350_MASTER_GEM_NOC_SNOC, 539 + .channels = 1, 540 + .buswidth = 8, 541 + .num_links = 6, 542 + .links = { SM6350_SLAVE_PIMEM, 543 + SM6350_SLAVE_OCIMEM, 544 + SM6350_SLAVE_APPSS, 545 + SM6350_SNOC_CNOC_SLV, 546 + SM6350_SLAVE_TCU, 547 + SM6350_SLAVE_QDSS_STM 548 + }, 549 + }; 550 + 551 + static struct qcom_icc_node qxm_pimem = { 552 + .name = "qxm_pimem", 553 + .id = SM6350_MASTER_PIMEM, 554 + .channels = 1, 555 + .buswidth = 8, 556 + .num_links = 2, 557 + .links = { SM6350_SLAVE_SNOC_GEM_NOC_GC, 558 + SM6350_SLAVE_OCIMEM 559 + }, 560 + }; 561 + 562 + static struct qcom_icc_node xm_gic = { 563 + .name = "xm_gic", 564 + .id = SM6350_MASTER_GIC, 565 + .channels = 1, 566 + .buswidth = 8, 567 + .num_links = 1, 568 + .links = { SM6350_SLAVE_SNOC_GEM_NOC_GC }, 569 + }; 570 + 571 + static struct qcom_icc_node qns_a1noc_snoc = { 572 + .name = "qns_a1noc_snoc", 573 + .id = SM6350_A1NOC_SNOC_SLV, 574 + .channels = 1, 575 + .buswidth = 16, 576 + .num_links = 1, 577 + .links = { SM6350_A1NOC_SNOC_MAS }, 578 + }; 579 + 580 + static struct qcom_icc_node srvc_aggre1_noc = { 581 + .name = "srvc_aggre1_noc", 582 + .id = SM6350_SLAVE_SERVICE_A1NOC, 583 + .channels = 1, 584 + .buswidth = 4, 585 + }; 586 + 587 + static struct qcom_icc_node qns_a2noc_snoc = { 588 + .name = "qns_a2noc_snoc", 589 + .id = SM6350_A2NOC_SNOC_SLV, 590 + .channels = 1, 591 + .buswidth = 16, 592 + .num_links = 1, 593 + .links = { SM6350_A2NOC_SNOC_MAS }, 594 + }; 595 + 596 + static struct qcom_icc_node srvc_aggre2_noc = { 597 + .name = "srvc_aggre2_noc", 598 + .id = SM6350_SLAVE_SERVICE_A2NOC, 599 + .channels = 1, 600 + .buswidth = 4, 601 + }; 602 + 603 + static struct qcom_icc_node qns_camnoc_uncomp = { 604 + .name = "qns_camnoc_uncomp", 605 + .id = SM6350_SLAVE_CAMNOC_UNCOMP, 606 + .channels = 1, 607 + .buswidth = 32, 608 + }; 609 + 610 + static struct qcom_icc_node qup0_core_slave = { 611 + .name = "qup0_core_slave", 612 + .id = SM6350_SLAVE_QUP_CORE_0, 613 + .channels = 1, 614 + .buswidth = 4, 615 + }; 616 + 617 + static struct qcom_icc_node qup1_core_slave = { 618 + .name = "qup1_core_slave", 619 + .id = SM6350_SLAVE_QUP_CORE_1, 620 + .channels = 1, 621 + .buswidth = 4, 622 + }; 623 + 624 + static struct qcom_icc_node qns_cdsp_gemnoc = { 625 + .name = "qns_cdsp_gemnoc", 626 + .id = SM6350_SLAVE_CDSP_GEM_NOC, 627 + .channels = 1, 628 + .buswidth = 32, 629 + .num_links = 1, 630 + .links = { SM6350_MASTER_COMPUTE_NOC }, 631 + }; 632 + 633 + static struct qcom_icc_node qhs_a1_noc_cfg = { 634 + .name = "qhs_a1_noc_cfg", 635 + .id = SM6350_SLAVE_A1NOC_CFG, 636 + .channels = 1, 637 + .buswidth = 4, 638 + .num_links = 1, 639 + .links = { SM6350_MASTER_A1NOC_CFG }, 640 + }; 641 + 642 + static struct qcom_icc_node qhs_a2_noc_cfg = { 643 + .name = "qhs_a2_noc_cfg", 644 + .id = SM6350_SLAVE_A2NOC_CFG, 645 + .channels = 1, 646 + .buswidth = 4, 647 + .num_links = 1, 648 + .links = { SM6350_MASTER_A2NOC_CFG }, 649 + }; 650 + 651 + static struct qcom_icc_node qhs_ahb2phy0 = { 652 + .name = "qhs_ahb2phy0", 653 + .id = SM6350_SLAVE_AHB2PHY, 654 + .channels = 1, 655 + .buswidth = 4, 656 + }; 657 + 658 + static struct qcom_icc_node qhs_ahb2phy2 = { 659 + .name = "qhs_ahb2phy2", 660 + .id = SM6350_SLAVE_AHB2PHY_2, 661 + .channels = 1, 662 + .buswidth = 4, 663 + }; 664 + 665 + static struct qcom_icc_node qhs_aoss = { 666 + .name = "qhs_aoss", 667 + .id = SM6350_SLAVE_AOSS, 668 + .channels = 1, 669 + .buswidth = 4, 670 + }; 671 + 672 + static struct qcom_icc_node qhs_boot_rom = { 673 + .name = "qhs_boot_rom", 674 + .id = SM6350_SLAVE_BOOT_ROM, 675 + .channels = 1, 676 + .buswidth = 4, 677 + }; 678 + 679 + static struct qcom_icc_node qhs_camera_cfg = { 680 + .name = "qhs_camera_cfg", 681 + .id = SM6350_SLAVE_CAMERA_CFG, 682 + .channels = 1, 683 + .buswidth = 4, 684 + }; 685 + 686 + static struct qcom_icc_node qhs_camera_nrt_thrott_cfg = { 687 + .name = "qhs_camera_nrt_thrott_cfg", 688 + .id = SM6350_SLAVE_CAMERA_NRT_THROTTLE_CFG, 689 + .channels = 1, 690 + .buswidth = 4, 691 + }; 692 + 693 + static struct qcom_icc_node qhs_camera_rt_throttle_cfg = { 694 + .name = "qhs_camera_rt_throttle_cfg", 695 + .id = SM6350_SLAVE_CAMERA_RT_THROTTLE_CFG, 696 + .channels = 1, 697 + .buswidth = 4, 698 + }; 699 + 700 + static struct qcom_icc_node qhs_clk_ctl = { 701 + .name = "qhs_clk_ctl", 702 + .id = SM6350_SLAVE_CLK_CTL, 703 + .channels = 1, 704 + .buswidth = 4, 705 + }; 706 + 707 + static struct qcom_icc_node qhs_cpr_cx = { 708 + .name = "qhs_cpr_cx", 709 + .id = SM6350_SLAVE_RBCPR_CX_CFG, 710 + .channels = 1, 711 + .buswidth = 4, 712 + }; 713 + 714 + static struct qcom_icc_node qhs_cpr_mx = { 715 + .name = "qhs_cpr_mx", 716 + .id = SM6350_SLAVE_RBCPR_MX_CFG, 717 + .channels = 1, 718 + .buswidth = 4, 719 + }; 720 + 721 + static struct qcom_icc_node qhs_crypto0_cfg = { 722 + .name = "qhs_crypto0_cfg", 723 + .id = SM6350_SLAVE_CRYPTO_0_CFG, 724 + .channels = 1, 725 + .buswidth = 4, 726 + }; 727 + 728 + static struct qcom_icc_node qhs_dcc_cfg = { 729 + .name = "qhs_dcc_cfg", 730 + .id = SM6350_SLAVE_DCC_CFG, 731 + .channels = 1, 732 + .buswidth = 4, 733 + }; 734 + 735 + static struct qcom_icc_node qhs_ddrss_cfg = { 736 + .name = "qhs_ddrss_cfg", 737 + .id = SM6350_SLAVE_CNOC_DDRSS, 738 + .channels = 1, 739 + .buswidth = 4, 740 + .num_links = 1, 741 + .links = { SM6350_MASTER_CNOC_DC_NOC }, 742 + }; 743 + 744 + static struct qcom_icc_node qhs_display_cfg = { 745 + .name = "qhs_display_cfg", 746 + .id = SM6350_SLAVE_DISPLAY_CFG, 747 + .channels = 1, 748 + .buswidth = 4, 749 + }; 750 + 751 + static struct qcom_icc_node qhs_display_throttle_cfg = { 752 + .name = "qhs_display_throttle_cfg", 753 + .id = SM6350_SLAVE_DISPLAY_THROTTLE_CFG, 754 + .channels = 1, 755 + .buswidth = 4, 756 + }; 757 + 758 + static struct qcom_icc_node qhs_emmc_cfg = { 759 + .name = "qhs_emmc_cfg", 760 + .id = SM6350_SLAVE_EMMC_CFG, 761 + .channels = 1, 762 + .buswidth = 4, 763 + }; 764 + 765 + static struct qcom_icc_node qhs_glm = { 766 + .name = "qhs_glm", 767 + .id = SM6350_SLAVE_GLM, 768 + .channels = 1, 769 + .buswidth = 4, 770 + }; 771 + 772 + static struct qcom_icc_node qhs_gpuss_cfg = { 773 + .name = "qhs_gpuss_cfg", 774 + .id = SM6350_SLAVE_GRAPHICS_3D_CFG, 775 + .channels = 1, 776 + .buswidth = 8, 777 + }; 778 + 779 + static struct qcom_icc_node qhs_imem_cfg = { 780 + .name = "qhs_imem_cfg", 781 + .id = SM6350_SLAVE_IMEM_CFG, 782 + .channels = 1, 783 + .buswidth = 4, 784 + }; 785 + 786 + static struct qcom_icc_node qhs_ipa = { 787 + .name = "qhs_ipa", 788 + .id = SM6350_SLAVE_IPA_CFG, 789 + .channels = 1, 790 + .buswidth = 4, 791 + }; 792 + 793 + static struct qcom_icc_node qhs_mnoc_cfg = { 794 + .name = "qhs_mnoc_cfg", 795 + .id = SM6350_SLAVE_CNOC_MNOC_CFG, 796 + .channels = 1, 797 + .buswidth = 4, 798 + .num_links = 1, 799 + .links = { SM6350_MASTER_CNOC_MNOC_CFG }, 800 + }; 801 + 802 + static struct qcom_icc_node qhs_mss_cfg = { 803 + .name = "qhs_mss_cfg", 804 + .id = SM6350_SLAVE_CNOC_MSS, 805 + .channels = 1, 806 + .buswidth = 4, 807 + }; 808 + 809 + static struct qcom_icc_node qhs_npu_cfg = { 810 + .name = "qhs_npu_cfg", 811 + .id = SM6350_SLAVE_NPU_CFG, 812 + .channels = 1, 813 + .buswidth = 4, 814 + .num_links = 1, 815 + .links = { SM6350_MASTER_NPU_NOC_CFG }, 816 + }; 817 + 818 + static struct qcom_icc_node qhs_pdm = { 819 + .name = "qhs_pdm", 820 + .id = SM6350_SLAVE_PDM, 821 + .channels = 1, 822 + .buswidth = 4, 823 + }; 824 + 825 + static struct qcom_icc_node qhs_pimem_cfg = { 826 + .name = "qhs_pimem_cfg", 827 + .id = SM6350_SLAVE_PIMEM_CFG, 828 + .channels = 1, 829 + .buswidth = 4, 830 + }; 831 + 832 + static struct qcom_icc_node qhs_prng = { 833 + .name = "qhs_prng", 834 + .id = SM6350_SLAVE_PRNG, 835 + .channels = 1, 836 + .buswidth = 4, 837 + }; 838 + 839 + static struct qcom_icc_node qhs_qdss_cfg = { 840 + .name = "qhs_qdss_cfg", 841 + .id = SM6350_SLAVE_QDSS_CFG, 842 + .channels = 1, 843 + .buswidth = 4, 844 + }; 845 + 846 + static struct qcom_icc_node qhs_qm_cfg = { 847 + .name = "qhs_qm_cfg", 848 + .id = SM6350_SLAVE_QM_CFG, 849 + .channels = 1, 850 + .buswidth = 4, 851 + }; 852 + 853 + static struct qcom_icc_node qhs_qm_mpu_cfg = { 854 + .name = "qhs_qm_mpu_cfg", 855 + .id = SM6350_SLAVE_QM_MPU_CFG, 856 + .channels = 1, 857 + .buswidth = 4, 858 + }; 859 + 860 + static struct qcom_icc_node qhs_qup0 = { 861 + .name = "qhs_qup0", 862 + .id = SM6350_SLAVE_QUP_0, 863 + .channels = 1, 864 + .buswidth = 4, 865 + }; 866 + 867 + static struct qcom_icc_node qhs_qup1 = { 868 + .name = "qhs_qup1", 869 + .id = SM6350_SLAVE_QUP_1, 870 + .channels = 1, 871 + .buswidth = 4, 872 + }; 873 + 874 + static struct qcom_icc_node qhs_sdc2 = { 875 + .name = "qhs_sdc2", 876 + .id = SM6350_SLAVE_SDCC_2, 877 + .channels = 1, 878 + .buswidth = 4, 879 + }; 880 + 881 + static struct qcom_icc_node qhs_security = { 882 + .name = "qhs_security", 883 + .id = SM6350_SLAVE_SECURITY, 884 + .channels = 1, 885 + .buswidth = 4, 886 + }; 887 + 888 + static struct qcom_icc_node qhs_snoc_cfg = { 889 + .name = "qhs_snoc_cfg", 890 + .id = SM6350_SLAVE_SNOC_CFG, 891 + .channels = 1, 892 + .buswidth = 4, 893 + .num_links = 1, 894 + .links = { SM6350_MASTER_SNOC_CFG }, 895 + }; 896 + 897 + static struct qcom_icc_node qhs_tcsr = { 898 + .name = "qhs_tcsr", 899 + .id = SM6350_SLAVE_TCSR, 900 + .channels = 1, 901 + .buswidth = 4, 902 + }; 903 + 904 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 905 + .name = "qhs_ufs_mem_cfg", 906 + .id = SM6350_SLAVE_UFS_MEM_CFG, 907 + .channels = 1, 908 + .buswidth = 4, 909 + }; 910 + 911 + static struct qcom_icc_node qhs_usb3_0 = { 912 + .name = "qhs_usb3_0", 913 + .id = SM6350_SLAVE_USB3, 914 + .channels = 1, 915 + .buswidth = 4, 916 + }; 917 + 918 + static struct qcom_icc_node qhs_venus_cfg = { 919 + .name = "qhs_venus_cfg", 920 + .id = SM6350_SLAVE_VENUS_CFG, 921 + .channels = 1, 922 + .buswidth = 4, 923 + }; 924 + 925 + static struct qcom_icc_node qhs_venus_throttle_cfg = { 926 + .name = "qhs_venus_throttle_cfg", 927 + .id = SM6350_SLAVE_VENUS_THROTTLE_CFG, 928 + .channels = 1, 929 + .buswidth = 4, 930 + }; 931 + 932 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 933 + .name = "qhs_vsense_ctrl_cfg", 934 + .id = SM6350_SLAVE_VSENSE_CTRL_CFG, 935 + .channels = 1, 936 + .buswidth = 4, 937 + }; 938 + 939 + static struct qcom_icc_node srvc_cnoc = { 940 + .name = "srvc_cnoc", 941 + .id = SM6350_SLAVE_SERVICE_CNOC, 942 + .channels = 1, 943 + .buswidth = 4, 944 + }; 945 + 946 + static struct qcom_icc_node qhs_gemnoc = { 947 + .name = "qhs_gemnoc", 948 + .id = SM6350_SLAVE_GEM_NOC_CFG, 949 + .channels = 1, 950 + .buswidth = 4, 951 + .num_links = 1, 952 + .links = { SM6350_MASTER_GEM_NOC_CFG }, 953 + }; 954 + 955 + static struct qcom_icc_node qhs_llcc = { 956 + .name = "qhs_llcc", 957 + .id = SM6350_SLAVE_LLCC_CFG, 958 + .channels = 1, 959 + .buswidth = 4, 960 + }; 961 + 962 + static struct qcom_icc_node qhs_mcdma_ms_mpu_cfg = { 963 + .name = "qhs_mcdma_ms_mpu_cfg", 964 + .id = SM6350_SLAVE_MCDMA_MS_MPU_CFG, 965 + .channels = 1, 966 + .buswidth = 4, 967 + }; 968 + 969 + static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 970 + .name = "qhs_mdsp_ms_mpu_cfg", 971 + .id = SM6350_SLAVE_MSS_PROC_MS_MPU_CFG, 972 + .channels = 1, 973 + .buswidth = 4, 974 + }; 975 + 976 + static struct qcom_icc_node qns_gem_noc_snoc = { 977 + .name = "qns_gem_noc_snoc", 978 + .id = SM6350_SLAVE_GEM_NOC_SNOC, 979 + .channels = 1, 980 + .buswidth = 8, 981 + .num_links = 1, 982 + .links = { SM6350_MASTER_GEM_NOC_SNOC }, 983 + }; 984 + 985 + static struct qcom_icc_node qns_llcc = { 986 + .name = "qns_llcc", 987 + .id = SM6350_SLAVE_LLCC, 988 + .channels = 1, 989 + .buswidth = 16, 990 + .num_links = 1, 991 + .links = { SM6350_MASTER_LLCC }, 992 + }; 993 + 994 + static struct qcom_icc_node srvc_gemnoc = { 995 + .name = "srvc_gemnoc", 996 + .id = SM6350_SLAVE_SERVICE_GEM_NOC, 997 + .channels = 1, 998 + .buswidth = 4, 999 + }; 1000 + 1001 + static struct qcom_icc_node ebi = { 1002 + .name = "ebi", 1003 + .id = SM6350_SLAVE_EBI_CH0, 1004 + .channels = 2, 1005 + .buswidth = 4, 1006 + }; 1007 + 1008 + static struct qcom_icc_node qns_mem_noc_hf = { 1009 + .name = "qns_mem_noc_hf", 1010 + .id = SM6350_SLAVE_MNOC_HF_MEM_NOC, 1011 + .channels = 1, 1012 + .buswidth = 32, 1013 + .num_links = 1, 1014 + .links = { SM6350_MASTER_MNOC_HF_MEM_NOC }, 1015 + }; 1016 + 1017 + static struct qcom_icc_node qns_mem_noc_sf = { 1018 + .name = "qns_mem_noc_sf", 1019 + .id = SM6350_SLAVE_MNOC_SF_MEM_NOC, 1020 + .channels = 1, 1021 + .buswidth = 32, 1022 + .num_links = 1, 1023 + .links = { SM6350_MASTER_MNOC_SF_MEM_NOC }, 1024 + }; 1025 + 1026 + static struct qcom_icc_node srvc_mnoc = { 1027 + .name = "srvc_mnoc", 1028 + .id = SM6350_SLAVE_SERVICE_MNOC, 1029 + .channels = 1, 1030 + .buswidth = 4, 1031 + }; 1032 + 1033 + static struct qcom_icc_node qhs_cal_dp0 = { 1034 + .name = "qhs_cal_dp0", 1035 + .id = SM6350_SLAVE_NPU_CAL_DP0, 1036 + .channels = 1, 1037 + .buswidth = 4, 1038 + }; 1039 + 1040 + static struct qcom_icc_node qhs_cp = { 1041 + .name = "qhs_cp", 1042 + .id = SM6350_SLAVE_NPU_CP, 1043 + .channels = 1, 1044 + .buswidth = 4, 1045 + }; 1046 + 1047 + static struct qcom_icc_node qhs_dma_bwmon = { 1048 + .name = "qhs_dma_bwmon", 1049 + .id = SM6350_SLAVE_NPU_INT_DMA_BWMON_CFG, 1050 + .channels = 1, 1051 + .buswidth = 4, 1052 + }; 1053 + 1054 + static struct qcom_icc_node qhs_dpm = { 1055 + .name = "qhs_dpm", 1056 + .id = SM6350_SLAVE_NPU_DPM, 1057 + .channels = 1, 1058 + .buswidth = 4, 1059 + }; 1060 + 1061 + static struct qcom_icc_node qhs_isense = { 1062 + .name = "qhs_isense", 1063 + .id = SM6350_SLAVE_ISENSE_CFG, 1064 + .channels = 1, 1065 + .buswidth = 4, 1066 + }; 1067 + 1068 + static struct qcom_icc_node qhs_llm = { 1069 + .name = "qhs_llm", 1070 + .id = SM6350_SLAVE_NPU_LLM_CFG, 1071 + .channels = 1, 1072 + .buswidth = 4, 1073 + }; 1074 + 1075 + static struct qcom_icc_node qhs_tcm = { 1076 + .name = "qhs_tcm", 1077 + .id = SM6350_SLAVE_NPU_TCM, 1078 + .channels = 1, 1079 + .buswidth = 4, 1080 + }; 1081 + 1082 + static struct qcom_icc_node qns_npu_sys = { 1083 + .name = "qns_npu_sys", 1084 + .id = SM6350_SLAVE_NPU_COMPUTE_NOC, 1085 + .channels = 2, 1086 + .buswidth = 32, 1087 + }; 1088 + 1089 + static struct qcom_icc_node srvc_noc = { 1090 + .name = "srvc_noc", 1091 + .id = SM6350_SLAVE_SERVICE_NPU_NOC, 1092 + .channels = 1, 1093 + .buswidth = 4, 1094 + }; 1095 + 1096 + static struct qcom_icc_node qhs_apss = { 1097 + .name = "qhs_apss", 1098 + .id = SM6350_SLAVE_APPSS, 1099 + .channels = 1, 1100 + .buswidth = 8, 1101 + }; 1102 + 1103 + static struct qcom_icc_node qns_cnoc = { 1104 + .name = "qns_cnoc", 1105 + .id = SM6350_SNOC_CNOC_SLV, 1106 + .channels = 1, 1107 + .buswidth = 8, 1108 + .num_links = 1, 1109 + .links = { SM6350_SNOC_CNOC_MAS }, 1110 + }; 1111 + 1112 + static struct qcom_icc_node qns_gemnoc_gc = { 1113 + .name = "qns_gemnoc_gc", 1114 + .id = SM6350_SLAVE_SNOC_GEM_NOC_GC, 1115 + .channels = 1, 1116 + .buswidth = 8, 1117 + .num_links = 1, 1118 + .links = { SM6350_MASTER_SNOC_GC_MEM_NOC }, 1119 + }; 1120 + 1121 + static struct qcom_icc_node qns_gemnoc_sf = { 1122 + .name = "qns_gemnoc_sf", 1123 + .id = SM6350_SLAVE_SNOC_GEM_NOC_SF, 1124 + .channels = 1, 1125 + .buswidth = 16, 1126 + .num_links = 1, 1127 + .links = { SM6350_MASTER_SNOC_SF_MEM_NOC }, 1128 + }; 1129 + 1130 + static struct qcom_icc_node qxs_imem = { 1131 + .name = "qxs_imem", 1132 + .id = SM6350_SLAVE_OCIMEM, 1133 + .channels = 1, 1134 + .buswidth = 8, 1135 + }; 1136 + 1137 + static struct qcom_icc_node qxs_pimem = { 1138 + .name = "qxs_pimem", 1139 + .id = SM6350_SLAVE_PIMEM, 1140 + .channels = 1, 1141 + .buswidth = 8, 1142 + }; 1143 + 1144 + static struct qcom_icc_node srvc_snoc = { 1145 + .name = "srvc_snoc", 1146 + .id = SM6350_SLAVE_SERVICE_SNOC, 1147 + .channels = 1, 1148 + .buswidth = 4, 1149 + }; 1150 + 1151 + static struct qcom_icc_node xs_qdss_stm = { 1152 + .name = "xs_qdss_stm", 1153 + .id = SM6350_SLAVE_QDSS_STM, 1154 + .channels = 1, 1155 + .buswidth = 4, 1156 + }; 1157 + 1158 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1159 + .name = "xs_sys_tcu_cfg", 1160 + .id = SM6350_SLAVE_TCU, 1161 + .channels = 1, 1162 + .buswidth = 8, 1163 + }; 1164 + 1165 + static struct qcom_icc_bcm bcm_acv = { 1166 + .name = "ACV", 1167 + .keepalive = false, 1168 + .num_nodes = 1, 1169 + .nodes = { &ebi }, 1170 + }; 1171 + 1172 + static struct qcom_icc_bcm bcm_ce0 = { 1173 + .name = "CE0", 1174 + .keepalive = false, 1175 + .num_nodes = 1, 1176 + .nodes = { &qxm_crypto }, 1177 + }; 1178 + 1179 + static struct qcom_icc_bcm bcm_cn0 = { 1180 + .name = "CN0", 1181 + .keepalive = true, 1182 + .num_nodes = 41, 1183 + .nodes = { &qnm_snoc, 1184 + &xm_qdss_dap, 1185 + &qhs_a1_noc_cfg, 1186 + &qhs_a2_noc_cfg, 1187 + &qhs_ahb2phy0, 1188 + &qhs_aoss, 1189 + &qhs_boot_rom, 1190 + &qhs_camera_cfg, 1191 + &qhs_camera_nrt_thrott_cfg, 1192 + &qhs_camera_rt_throttle_cfg, 1193 + &qhs_clk_ctl, 1194 + &qhs_cpr_cx, 1195 + &qhs_cpr_mx, 1196 + &qhs_crypto0_cfg, 1197 + &qhs_dcc_cfg, 1198 + &qhs_ddrss_cfg, 1199 + &qhs_display_cfg, 1200 + &qhs_display_throttle_cfg, 1201 + &qhs_glm, 1202 + &qhs_gpuss_cfg, 1203 + &qhs_imem_cfg, 1204 + &qhs_ipa, 1205 + &qhs_mnoc_cfg, 1206 + &qhs_mss_cfg, 1207 + &qhs_npu_cfg, 1208 + &qhs_pimem_cfg, 1209 + &qhs_prng, 1210 + &qhs_qdss_cfg, 1211 + &qhs_qm_cfg, 1212 + &qhs_qm_mpu_cfg, 1213 + &qhs_qup0, 1214 + &qhs_qup1, 1215 + &qhs_security, 1216 + &qhs_snoc_cfg, 1217 + &qhs_tcsr, 1218 + &qhs_ufs_mem_cfg, 1219 + &qhs_usb3_0, 1220 + &qhs_venus_cfg, 1221 + &qhs_venus_throttle_cfg, 1222 + &qhs_vsense_ctrl_cfg, 1223 + &srvc_cnoc 1224 + }, 1225 + }; 1226 + 1227 + static struct qcom_icc_bcm bcm_cn1 = { 1228 + .name = "CN1", 1229 + .keepalive = false, 1230 + .num_nodes = 6, 1231 + .nodes = { &xm_emmc, 1232 + &xm_sdc2, 1233 + &qhs_ahb2phy2, 1234 + &qhs_emmc_cfg, 1235 + &qhs_pdm, 1236 + &qhs_sdc2 1237 + }, 1238 + }; 1239 + 1240 + static struct qcom_icc_bcm bcm_co0 = { 1241 + .name = "CO0", 1242 + .keepalive = false, 1243 + .num_nodes = 1, 1244 + .nodes = { &qns_cdsp_gemnoc }, 1245 + }; 1246 + 1247 + static struct qcom_icc_bcm bcm_co2 = { 1248 + .name = "CO2", 1249 + .keepalive = false, 1250 + .num_nodes = 1, 1251 + .nodes = { &qnm_npu }, 1252 + }; 1253 + 1254 + static struct qcom_icc_bcm bcm_co3 = { 1255 + .name = "CO3", 1256 + .keepalive = false, 1257 + .num_nodes = 1, 1258 + .nodes = { &qxm_npu_dsp }, 1259 + }; 1260 + 1261 + static struct qcom_icc_bcm bcm_mc0 = { 1262 + .name = "MC0", 1263 + .keepalive = true, 1264 + .num_nodes = 1, 1265 + .nodes = { &ebi }, 1266 + }; 1267 + 1268 + static struct qcom_icc_bcm bcm_mm0 = { 1269 + .name = "MM0", 1270 + .keepalive = true, 1271 + .num_nodes = 1, 1272 + .nodes = { &qns_mem_noc_hf }, 1273 + }; 1274 + 1275 + static struct qcom_icc_bcm bcm_mm1 = { 1276 + .name = "MM1", 1277 + .keepalive = true, 1278 + .num_nodes = 5, 1279 + .nodes = { &qxm_camnoc_hf0_uncomp, 1280 + &qxm_camnoc_icp_uncomp, 1281 + &qxm_camnoc_sf_uncomp, 1282 + &qxm_camnoc_hf, 1283 + &qxm_mdp0 1284 + }, 1285 + }; 1286 + 1287 + static struct qcom_icc_bcm bcm_mm2 = { 1288 + .name = "MM2", 1289 + .keepalive = false, 1290 + .num_nodes = 1, 1291 + .nodes = { &qns_mem_noc_sf }, 1292 + }; 1293 + 1294 + static struct qcom_icc_bcm bcm_mm3 = { 1295 + .name = "MM3", 1296 + .keepalive = false, 1297 + .num_nodes = 4, 1298 + .nodes = { &qhm_mnoc_cfg, &qnm_video0, &qnm_video_cvp, &qxm_camnoc_sf }, 1299 + }; 1300 + 1301 + static struct qcom_icc_bcm bcm_qup0 = { 1302 + .name = "QUP0", 1303 + .keepalive = false, 1304 + .num_nodes = 4, 1305 + .nodes = { &qup0_core_master, &qup1_core_master, &qup0_core_slave, &qup1_core_slave }, 1306 + }; 1307 + 1308 + static struct qcom_icc_bcm bcm_sh0 = { 1309 + .name = "SH0", 1310 + .keepalive = true, 1311 + .num_nodes = 1, 1312 + .nodes = { &qns_llcc }, 1313 + }; 1314 + 1315 + static struct qcom_icc_bcm bcm_sh2 = { 1316 + .name = "SH2", 1317 + .keepalive = false, 1318 + .num_nodes = 1, 1319 + .nodes = { &acm_sys_tcu }, 1320 + }; 1321 + 1322 + static struct qcom_icc_bcm bcm_sh3 = { 1323 + .name = "SH3", 1324 + .keepalive = false, 1325 + .num_nodes = 1, 1326 + .nodes = { &qnm_cmpnoc }, 1327 + }; 1328 + 1329 + static struct qcom_icc_bcm bcm_sh4 = { 1330 + .name = "SH4", 1331 + .keepalive = false, 1332 + .num_nodes = 1, 1333 + .nodes = { &acm_apps }, 1334 + }; 1335 + 1336 + static struct qcom_icc_bcm bcm_sn0 = { 1337 + .name = "SN0", 1338 + .keepalive = true, 1339 + .num_nodes = 1, 1340 + .nodes = { &qns_gemnoc_sf }, 1341 + }; 1342 + 1343 + static struct qcom_icc_bcm bcm_sn1 = { 1344 + .name = "SN1", 1345 + .keepalive = false, 1346 + .num_nodes = 1, 1347 + .nodes = { &qxs_imem }, 1348 + }; 1349 + 1350 + static struct qcom_icc_bcm bcm_sn2 = { 1351 + .name = "SN2", 1352 + .keepalive = false, 1353 + .num_nodes = 1, 1354 + .nodes = { &qns_gemnoc_gc }, 1355 + }; 1356 + 1357 + static struct qcom_icc_bcm bcm_sn3 = { 1358 + .name = "SN3", 1359 + .keepalive = false, 1360 + .num_nodes = 1, 1361 + .nodes = { &qxs_pimem }, 1362 + }; 1363 + 1364 + static struct qcom_icc_bcm bcm_sn4 = { 1365 + .name = "SN4", 1366 + .keepalive = false, 1367 + .num_nodes = 1, 1368 + .nodes = { &xs_qdss_stm }, 1369 + }; 1370 + 1371 + static struct qcom_icc_bcm bcm_sn5 = { 1372 + .name = "SN5", 1373 + .keepalive = false, 1374 + .num_nodes = 1, 1375 + .nodes = { &qnm_aggre1_noc }, 1376 + }; 1377 + 1378 + static struct qcom_icc_bcm bcm_sn6 = { 1379 + .name = "SN6", 1380 + .keepalive = false, 1381 + .num_nodes = 1, 1382 + .nodes = { &qnm_aggre2_noc }, 1383 + }; 1384 + 1385 + static struct qcom_icc_bcm bcm_sn10 = { 1386 + .name = "SN10", 1387 + .keepalive = false, 1388 + .num_nodes = 1, 1389 + .nodes = { &qnm_gemnoc }, 1390 + }; 171 1391 172 1392 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 173 1393 &bcm_cn1,
+1518 -166
drivers/interconnect/qcom/sm8150.c
··· 16 16 #include "icc-rpmh.h" 17 17 #include "sm8150.h" 18 18 19 - DEFINE_QNODE(qhm_a1noc_cfg, SM8150_MASTER_A1NOC_CFG, 1, 4, SM8150_SLAVE_SERVICE_A1NOC); 20 - DEFINE_QNODE(qhm_qup0, SM8150_MASTER_QUP_0, 1, 4, SM8150_A1NOC_SNOC_SLV); 21 - DEFINE_QNODE(xm_emac, SM8150_MASTER_EMAC, 1, 8, SM8150_A1NOC_SNOC_SLV); 22 - DEFINE_QNODE(xm_ufs_mem, SM8150_MASTER_UFS_MEM, 1, 8, SM8150_A1NOC_SNOC_SLV); 23 - DEFINE_QNODE(xm_usb3_0, SM8150_MASTER_USB3, 1, 8, SM8150_A1NOC_SNOC_SLV); 24 - DEFINE_QNODE(xm_usb3_1, SM8150_MASTER_USB3_1, 1, 8, SM8150_A1NOC_SNOC_SLV); 25 - DEFINE_QNODE(qhm_a2noc_cfg, SM8150_MASTER_A2NOC_CFG, 1, 4, SM8150_SLAVE_SERVICE_A2NOC); 26 - DEFINE_QNODE(qhm_qdss_bam, SM8150_MASTER_QDSS_BAM, 1, 4, SM8150_A2NOC_SNOC_SLV); 27 - DEFINE_QNODE(qhm_qspi, SM8150_MASTER_QSPI, 1, 4, SM8150_A2NOC_SNOC_SLV); 28 - DEFINE_QNODE(qhm_qup1, SM8150_MASTER_QUP_1, 1, 4, SM8150_A2NOC_SNOC_SLV); 29 - DEFINE_QNODE(qhm_qup2, SM8150_MASTER_QUP_2, 1, 4, SM8150_A2NOC_SNOC_SLV); 30 - DEFINE_QNODE(qhm_sensorss_ahb, SM8150_MASTER_SENSORS_AHB, 1, 4, SM8150_A2NOC_SNOC_SLV); 31 - DEFINE_QNODE(qhm_tsif, SM8150_MASTER_TSIF, 1, 4, SM8150_A2NOC_SNOC_SLV); 32 - DEFINE_QNODE(qnm_cnoc, SM8150_MASTER_CNOC_A2NOC, 1, 8, SM8150_A2NOC_SNOC_SLV); 33 - DEFINE_QNODE(qxm_crypto, SM8150_MASTER_CRYPTO_CORE_0, 1, 8, SM8150_A2NOC_SNOC_SLV); 34 - DEFINE_QNODE(qxm_ipa, SM8150_MASTER_IPA, 1, 8, SM8150_A2NOC_SNOC_SLV); 35 - DEFINE_QNODE(xm_pcie3_0, SM8150_MASTER_PCIE, 1, 8, SM8150_SLAVE_ANOC_PCIE_GEM_NOC); 36 - DEFINE_QNODE(xm_pcie3_1, SM8150_MASTER_PCIE_1, 1, 8, SM8150_SLAVE_ANOC_PCIE_GEM_NOC); 37 - DEFINE_QNODE(xm_qdss_etr, SM8150_MASTER_QDSS_ETR, 1, 8, SM8150_A2NOC_SNOC_SLV); 38 - DEFINE_QNODE(xm_sdc2, SM8150_MASTER_SDCC_2, 1, 8, SM8150_A2NOC_SNOC_SLV); 39 - DEFINE_QNODE(xm_sdc4, SM8150_MASTER_SDCC_4, 1, 8, SM8150_A2NOC_SNOC_SLV); 40 - DEFINE_QNODE(qxm_camnoc_hf0_uncomp, SM8150_MASTER_CAMNOC_HF0_UNCOMP, 1, 32, SM8150_SLAVE_CAMNOC_UNCOMP); 41 - DEFINE_QNODE(qxm_camnoc_hf1_uncomp, SM8150_MASTER_CAMNOC_HF1_UNCOMP, 1, 32, SM8150_SLAVE_CAMNOC_UNCOMP); 42 - DEFINE_QNODE(qxm_camnoc_sf_uncomp, SM8150_MASTER_CAMNOC_SF_UNCOMP, 1, 32, SM8150_SLAVE_CAMNOC_UNCOMP); 43 - DEFINE_QNODE(qnm_npu, SM8150_MASTER_NPU, 1, 32, SM8150_SLAVE_CDSP_MEM_NOC); 44 - DEFINE_QNODE(qhm_spdm, SM8150_MASTER_SPDM, 1, 4, SM8150_SLAVE_CNOC_A2NOC); 45 - DEFINE_QNODE(qnm_snoc, SM8150_SNOC_CNOC_MAS, 1, 8, SM8150_SLAVE_TLMM_SOUTH, SM8150_SLAVE_CDSP_CFG, SM8150_SLAVE_SPSS_CFG, SM8150_SLAVE_CAMERA_CFG, SM8150_SLAVE_SDCC_4, SM8150_SLAVE_SDCC_2, SM8150_SLAVE_CNOC_MNOC_CFG, SM8150_SLAVE_EMAC_CFG, SM8150_SLAVE_UFS_MEM_CFG, SM8150_SLAVE_TLMM_EAST, SM8150_SLAVE_SSC_CFG, SM8150_SLAVE_SNOC_CFG, SM8150_SLAVE_NORTH_PHY_CFG, SM8150_SLAVE_QUP_0, SM8150_SLAVE_GLM, SM8150_SLAVE_PCIE_1_CFG, SM8150_SLAVE_A2NOC_CFG, SM8150_SLAVE_QDSS_CFG, SM8150_SLAVE_DISPLAY_CFG, SM8150_SLAVE_TCSR, SM8150_SLAVE_CNOC_DDRSS, SM8150_SLAVE_RBCPR_MMCX_CFG, SM8150_SLAVE_NPU_CFG, SM8150_SLAVE_PCIE_0_CFG, SM8150_SLAVE_GRAPHICS_3D_CFG, SM8150_SLAVE_VENUS_CFG, SM8150_SLAVE_TSIF, SM8150_SLAVE_IPA_CFG, SM8150_SLAVE_CLK_CTL, SM8150_SLAVE_AOP, SM8150_SLAVE_QUP_1, SM8150_SLAVE_AHB2PHY_SOUTH, SM8150_SLAVE_USB3_1, SM8150_SLAVE_SERVICE_CNOC, SM8150_SLAVE_UFS_CARD_CFG, SM8150_SLAVE_QUP_2, SM8150_SLAVE_RBCPR_CX_CFG, SM8150_SLAVE_TLMM_WEST, SM8150_SLAVE_A1NOC_CFG, SM8150_SLAVE_AOSS, SM8150_SLAVE_PRNG, SM8150_SLAVE_VSENSE_CTRL_CFG, SM8150_SLAVE_QSPI, SM8150_SLAVE_USB3, SM8150_SLAVE_SPDM_WRAPPER, SM8150_SLAVE_CRYPTO_0_CFG, SM8150_SLAVE_PIMEM_CFG, SM8150_SLAVE_TLMM_NORTH, SM8150_SLAVE_RBCPR_MX_CFG, SM8150_SLAVE_IMEM_CFG); 46 - DEFINE_QNODE(xm_qdss_dap, SM8150_MASTER_QDSS_DAP, 1, 8, SM8150_SLAVE_TLMM_SOUTH, SM8150_SLAVE_CDSP_CFG, SM8150_SLAVE_SPSS_CFG, SM8150_SLAVE_CAMERA_CFG, SM8150_SLAVE_SDCC_4, SM8150_SLAVE_SDCC_2, SM8150_SLAVE_CNOC_MNOC_CFG, SM8150_SLAVE_EMAC_CFG, SM8150_SLAVE_UFS_MEM_CFG, SM8150_SLAVE_TLMM_EAST, SM8150_SLAVE_SSC_CFG, SM8150_SLAVE_SNOC_CFG, SM8150_SLAVE_NORTH_PHY_CFG, SM8150_SLAVE_QUP_0, SM8150_SLAVE_GLM, SM8150_SLAVE_PCIE_1_CFG, SM8150_SLAVE_A2NOC_CFG, SM8150_SLAVE_QDSS_CFG, SM8150_SLAVE_DISPLAY_CFG, SM8150_SLAVE_TCSR, SM8150_SLAVE_CNOC_DDRSS, SM8150_SLAVE_CNOC_A2NOC, SM8150_SLAVE_RBCPR_MMCX_CFG, SM8150_SLAVE_NPU_CFG, SM8150_SLAVE_PCIE_0_CFG, SM8150_SLAVE_GRAPHICS_3D_CFG, SM8150_SLAVE_VENUS_CFG, SM8150_SLAVE_TSIF, SM8150_SLAVE_IPA_CFG, SM8150_SLAVE_CLK_CTL, SM8150_SLAVE_AOP, SM8150_SLAVE_QUP_1, SM8150_SLAVE_AHB2PHY_SOUTH, SM8150_SLAVE_USB3_1, SM8150_SLAVE_SERVICE_CNOC, SM8150_SLAVE_UFS_CARD_CFG, SM8150_SLAVE_QUP_2, SM8150_SLAVE_RBCPR_CX_CFG, SM8150_SLAVE_TLMM_WEST, SM8150_SLAVE_A1NOC_CFG, SM8150_SLAVE_AOSS, SM8150_SLAVE_PRNG, SM8150_SLAVE_VSENSE_CTRL_CFG, SM8150_SLAVE_QSPI, SM8150_SLAVE_USB3, SM8150_SLAVE_SPDM_WRAPPER, SM8150_SLAVE_CRYPTO_0_CFG, SM8150_SLAVE_PIMEM_CFG, SM8150_SLAVE_TLMM_NORTH, SM8150_SLAVE_RBCPR_MX_CFG, SM8150_SLAVE_IMEM_CFG); 47 - DEFINE_QNODE(qhm_cnoc_dc_noc, SM8150_MASTER_CNOC_DC_NOC, 1, 4, SM8150_SLAVE_GEM_NOC_CFG, SM8150_SLAVE_LLCC_CFG); 48 - DEFINE_QNODE(acm_apps, SM8150_MASTER_AMPSS_M0, 2, 32, SM8150_SLAVE_ECC, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 49 - DEFINE_QNODE(acm_gpu_tcu, SM8150_MASTER_GPU_TCU, 1, 8, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 50 - DEFINE_QNODE(acm_sys_tcu, SM8150_MASTER_SYS_TCU, 1, 8, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 51 - DEFINE_QNODE(qhm_gemnoc_cfg, SM8150_MASTER_GEM_NOC_CFG, 1, 4, SM8150_SLAVE_SERVICE_GEM_NOC, SM8150_SLAVE_MSS_PROC_MS_MPU_CFG); 52 - DEFINE_QNODE(qnm_cmpnoc, SM8150_MASTER_COMPUTE_NOC, 2, 32, SM8150_SLAVE_ECC, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 53 - DEFINE_QNODE(qnm_gpu, SM8150_MASTER_GRAPHICS_3D, 2, 32, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 54 - DEFINE_QNODE(qnm_mnoc_hf, SM8150_MASTER_MNOC_HF_MEM_NOC, 2, 32, SM8150_SLAVE_LLCC); 55 - DEFINE_QNODE(qnm_mnoc_sf, SM8150_MASTER_MNOC_SF_MEM_NOC, 1, 32, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 56 - DEFINE_QNODE(qnm_pcie, SM8150_MASTER_GEM_NOC_PCIE_SNOC, 1, 16, SM8150_SLAVE_LLCC, SM8150_SLAVE_GEM_NOC_SNOC); 57 - DEFINE_QNODE(qnm_snoc_gc, SM8150_MASTER_SNOC_GC_MEM_NOC, 1, 8, SM8150_SLAVE_LLCC); 58 - DEFINE_QNODE(qnm_snoc_sf, SM8150_MASTER_SNOC_SF_MEM_NOC, 1, 16, SM8150_SLAVE_LLCC); 59 - DEFINE_QNODE(qxm_ecc, SM8150_MASTER_ECC, 2, 32, SM8150_SLAVE_LLCC); 60 - DEFINE_QNODE(llcc_mc, SM8150_MASTER_LLCC, 4, 4, SM8150_SLAVE_EBI_CH0); 61 - DEFINE_QNODE(qhm_mnoc_cfg, SM8150_MASTER_CNOC_MNOC_CFG, 1, 4, SM8150_SLAVE_SERVICE_MNOC); 62 - DEFINE_QNODE(qxm_camnoc_hf0, SM8150_MASTER_CAMNOC_HF0, 1, 32, SM8150_SLAVE_MNOC_HF_MEM_NOC); 63 - DEFINE_QNODE(qxm_camnoc_hf1, SM8150_MASTER_CAMNOC_HF1, 1, 32, SM8150_SLAVE_MNOC_HF_MEM_NOC); 64 - DEFINE_QNODE(qxm_camnoc_sf, SM8150_MASTER_CAMNOC_SF, 1, 32, SM8150_SLAVE_MNOC_SF_MEM_NOC); 65 - DEFINE_QNODE(qxm_mdp0, SM8150_MASTER_MDP_PORT0, 1, 32, SM8150_SLAVE_MNOC_HF_MEM_NOC); 66 - DEFINE_QNODE(qxm_mdp1, SM8150_MASTER_MDP_PORT1, 1, 32, SM8150_SLAVE_MNOC_HF_MEM_NOC); 67 - DEFINE_QNODE(qxm_rot, SM8150_MASTER_ROTATOR, 1, 32, SM8150_SLAVE_MNOC_SF_MEM_NOC); 68 - DEFINE_QNODE(qxm_venus0, SM8150_MASTER_VIDEO_P0, 1, 32, SM8150_SLAVE_MNOC_SF_MEM_NOC); 69 - DEFINE_QNODE(qxm_venus1, SM8150_MASTER_VIDEO_P1, 1, 32, SM8150_SLAVE_MNOC_SF_MEM_NOC); 70 - DEFINE_QNODE(qxm_venus_arm9, SM8150_MASTER_VIDEO_PROC, 1, 8, SM8150_SLAVE_MNOC_SF_MEM_NOC); 71 - DEFINE_QNODE(qhm_snoc_cfg, SM8150_MASTER_SNOC_CFG, 1, 4, SM8150_SLAVE_SERVICE_SNOC); 72 - DEFINE_QNODE(qnm_aggre1_noc, SM8150_A1NOC_SNOC_MAS, 1, 16, SM8150_SLAVE_SNOC_GEM_NOC_SF, SM8150_SLAVE_PIMEM, SM8150_SLAVE_OCIMEM, SM8150_SLAVE_APPSS, SM8150_SNOC_CNOC_SLV, SM8150_SLAVE_QDSS_STM); 73 - DEFINE_QNODE(qnm_aggre2_noc, SM8150_A2NOC_SNOC_MAS, 1, 16, SM8150_SLAVE_SNOC_GEM_NOC_SF, SM8150_SLAVE_PIMEM, SM8150_SLAVE_OCIMEM, SM8150_SLAVE_APPSS, SM8150_SNOC_CNOC_SLV, SM8150_SLAVE_PCIE_0, SM8150_SLAVE_PCIE_1, SM8150_SLAVE_TCU, SM8150_SLAVE_QDSS_STM); 74 - DEFINE_QNODE(qnm_gemnoc, SM8150_MASTER_GEM_NOC_SNOC, 1, 8, SM8150_SLAVE_PIMEM, SM8150_SLAVE_OCIMEM, SM8150_SLAVE_APPSS, SM8150_SNOC_CNOC_SLV, SM8150_SLAVE_TCU, SM8150_SLAVE_QDSS_STM); 75 - DEFINE_QNODE(qxm_pimem, SM8150_MASTER_PIMEM, 1, 8, SM8150_SLAVE_SNOC_GEM_NOC_GC, SM8150_SLAVE_OCIMEM); 76 - DEFINE_QNODE(xm_gic, SM8150_MASTER_GIC, 1, 8, SM8150_SLAVE_SNOC_GEM_NOC_GC, SM8150_SLAVE_OCIMEM); 77 - DEFINE_QNODE(qns_a1noc_snoc, SM8150_A1NOC_SNOC_SLV, 1, 16, SM8150_A1NOC_SNOC_MAS); 78 - DEFINE_QNODE(srvc_aggre1_noc, SM8150_SLAVE_SERVICE_A1NOC, 1, 4); 79 - DEFINE_QNODE(qns_a2noc_snoc, SM8150_A2NOC_SNOC_SLV, 1, 16, SM8150_A2NOC_SNOC_MAS); 80 - DEFINE_QNODE(qns_pcie_mem_noc, SM8150_SLAVE_ANOC_PCIE_GEM_NOC, 1, 16, SM8150_MASTER_GEM_NOC_PCIE_SNOC); 81 - DEFINE_QNODE(srvc_aggre2_noc, SM8150_SLAVE_SERVICE_A2NOC, 1, 4); 82 - DEFINE_QNODE(qns_camnoc_uncomp, SM8150_SLAVE_CAMNOC_UNCOMP, 1, 32); 83 - DEFINE_QNODE(qns_cdsp_mem_noc, SM8150_SLAVE_CDSP_MEM_NOC, 2, 32, SM8150_MASTER_COMPUTE_NOC); 84 - DEFINE_QNODE(qhs_a1_noc_cfg, SM8150_SLAVE_A1NOC_CFG, 1, 4, SM8150_MASTER_A1NOC_CFG); 85 - DEFINE_QNODE(qhs_a2_noc_cfg, SM8150_SLAVE_A2NOC_CFG, 1, 4, SM8150_MASTER_A2NOC_CFG); 86 - DEFINE_QNODE(qhs_ahb2phy_south, SM8150_SLAVE_AHB2PHY_SOUTH, 1, 4); 87 - DEFINE_QNODE(qhs_aop, SM8150_SLAVE_AOP, 1, 4); 88 - DEFINE_QNODE(qhs_aoss, SM8150_SLAVE_AOSS, 1, 4); 89 - DEFINE_QNODE(qhs_camera_cfg, SM8150_SLAVE_CAMERA_CFG, 1, 4); 90 - DEFINE_QNODE(qhs_clk_ctl, SM8150_SLAVE_CLK_CTL, 1, 4); 91 - DEFINE_QNODE(qhs_compute_dsp, SM8150_SLAVE_CDSP_CFG, 1, 4); 92 - DEFINE_QNODE(qhs_cpr_cx, SM8150_SLAVE_RBCPR_CX_CFG, 1, 4); 93 - DEFINE_QNODE(qhs_cpr_mmcx, SM8150_SLAVE_RBCPR_MMCX_CFG, 1, 4); 94 - DEFINE_QNODE(qhs_cpr_mx, SM8150_SLAVE_RBCPR_MX_CFG, 1, 4); 95 - DEFINE_QNODE(qhs_crypto0_cfg, SM8150_SLAVE_CRYPTO_0_CFG, 1, 4); 96 - DEFINE_QNODE(qhs_ddrss_cfg, SM8150_SLAVE_CNOC_DDRSS, 1, 4, SM8150_MASTER_CNOC_DC_NOC); 97 - DEFINE_QNODE(qhs_display_cfg, SM8150_SLAVE_DISPLAY_CFG, 1, 4); 98 - DEFINE_QNODE(qhs_emac_cfg, SM8150_SLAVE_EMAC_CFG, 1, 4); 99 - DEFINE_QNODE(qhs_glm, SM8150_SLAVE_GLM, 1, 4); 100 - DEFINE_QNODE(qhs_gpuss_cfg, SM8150_SLAVE_GRAPHICS_3D_CFG, 1, 8); 101 - DEFINE_QNODE(qhs_imem_cfg, SM8150_SLAVE_IMEM_CFG, 1, 4); 102 - DEFINE_QNODE(qhs_ipa, SM8150_SLAVE_IPA_CFG, 1, 4); 103 - DEFINE_QNODE(qhs_mnoc_cfg, SM8150_SLAVE_CNOC_MNOC_CFG, 1, 4, SM8150_MASTER_CNOC_MNOC_CFG); 104 - DEFINE_QNODE(qhs_npu_cfg, SM8150_SLAVE_NPU_CFG, 1, 4); 105 - DEFINE_QNODE(qhs_pcie0_cfg, SM8150_SLAVE_PCIE_0_CFG, 1, 4); 106 - DEFINE_QNODE(qhs_pcie1_cfg, SM8150_SLAVE_PCIE_1_CFG, 1, 4); 107 - DEFINE_QNODE(qhs_phy_refgen_north, SM8150_SLAVE_NORTH_PHY_CFG, 1, 4); 108 - DEFINE_QNODE(qhs_pimem_cfg, SM8150_SLAVE_PIMEM_CFG, 1, 4); 109 - DEFINE_QNODE(qhs_prng, SM8150_SLAVE_PRNG, 1, 4); 110 - DEFINE_QNODE(qhs_qdss_cfg, SM8150_SLAVE_QDSS_CFG, 1, 4); 111 - DEFINE_QNODE(qhs_qspi, SM8150_SLAVE_QSPI, 1, 4); 112 - DEFINE_QNODE(qhs_qupv3_east, SM8150_SLAVE_QUP_2, 1, 4); 113 - DEFINE_QNODE(qhs_qupv3_north, SM8150_SLAVE_QUP_1, 1, 4); 114 - DEFINE_QNODE(qhs_qupv3_south, SM8150_SLAVE_QUP_0, 1, 4); 115 - DEFINE_QNODE(qhs_sdc2, SM8150_SLAVE_SDCC_2, 1, 4); 116 - DEFINE_QNODE(qhs_sdc4, SM8150_SLAVE_SDCC_4, 1, 4); 117 - DEFINE_QNODE(qhs_snoc_cfg, SM8150_SLAVE_SNOC_CFG, 1, 4, SM8150_MASTER_SNOC_CFG); 118 - DEFINE_QNODE(qhs_spdm, SM8150_SLAVE_SPDM_WRAPPER, 1, 4); 119 - DEFINE_QNODE(qhs_spss_cfg, SM8150_SLAVE_SPSS_CFG, 1, 4); 120 - DEFINE_QNODE(qhs_ssc_cfg, SM8150_SLAVE_SSC_CFG, 1, 4); 121 - DEFINE_QNODE(qhs_tcsr, SM8150_SLAVE_TCSR, 1, 4); 122 - DEFINE_QNODE(qhs_tlmm_east, SM8150_SLAVE_TLMM_EAST, 1, 4); 123 - DEFINE_QNODE(qhs_tlmm_north, SM8150_SLAVE_TLMM_NORTH, 1, 4); 124 - DEFINE_QNODE(qhs_tlmm_south, SM8150_SLAVE_TLMM_SOUTH, 1, 4); 125 - DEFINE_QNODE(qhs_tlmm_west, SM8150_SLAVE_TLMM_WEST, 1, 4); 126 - DEFINE_QNODE(qhs_tsif, SM8150_SLAVE_TSIF, 1, 4); 127 - DEFINE_QNODE(qhs_ufs_card_cfg, SM8150_SLAVE_UFS_CARD_CFG, 1, 4); 128 - DEFINE_QNODE(qhs_ufs_mem_cfg, SM8150_SLAVE_UFS_MEM_CFG, 1, 4); 129 - DEFINE_QNODE(qhs_usb3_0, SM8150_SLAVE_USB3, 1, 4); 130 - DEFINE_QNODE(qhs_usb3_1, SM8150_SLAVE_USB3_1, 1, 4); 131 - DEFINE_QNODE(qhs_venus_cfg, SM8150_SLAVE_VENUS_CFG, 1, 4); 132 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SM8150_SLAVE_VSENSE_CTRL_CFG, 1, 4); 133 - DEFINE_QNODE(qns_cnoc_a2noc, SM8150_SLAVE_CNOC_A2NOC, 1, 8, SM8150_MASTER_CNOC_A2NOC); 134 - DEFINE_QNODE(srvc_cnoc, SM8150_SLAVE_SERVICE_CNOC, 1, 4); 135 - DEFINE_QNODE(qhs_llcc, SM8150_SLAVE_LLCC_CFG, 1, 4); 136 - DEFINE_QNODE(qhs_memnoc, SM8150_SLAVE_GEM_NOC_CFG, 1, 4, SM8150_MASTER_GEM_NOC_CFG); 137 - DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SM8150_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4); 138 - DEFINE_QNODE(qns_ecc, SM8150_SLAVE_ECC, 1, 32); 139 - DEFINE_QNODE(qns_gem_noc_snoc, SM8150_SLAVE_GEM_NOC_SNOC, 1, 8, SM8150_MASTER_GEM_NOC_SNOC); 140 - DEFINE_QNODE(qns_llcc, SM8150_SLAVE_LLCC, 4, 16, SM8150_MASTER_LLCC); 141 - DEFINE_QNODE(srvc_gemnoc, SM8150_SLAVE_SERVICE_GEM_NOC, 1, 4); 142 - DEFINE_QNODE(ebi, SM8150_SLAVE_EBI_CH0, 4, 4); 143 - DEFINE_QNODE(qns2_mem_noc, SM8150_SLAVE_MNOC_SF_MEM_NOC, 1, 32, SM8150_MASTER_MNOC_SF_MEM_NOC); 144 - DEFINE_QNODE(qns_mem_noc_hf, SM8150_SLAVE_MNOC_HF_MEM_NOC, 2, 32, SM8150_MASTER_MNOC_HF_MEM_NOC); 145 - DEFINE_QNODE(srvc_mnoc, SM8150_SLAVE_SERVICE_MNOC, 1, 4); 146 - DEFINE_QNODE(qhs_apss, SM8150_SLAVE_APPSS, 1, 8); 147 - DEFINE_QNODE(qns_cnoc, SM8150_SNOC_CNOC_SLV, 1, 8, SM8150_SNOC_CNOC_MAS); 148 - DEFINE_QNODE(qns_gemnoc_gc, SM8150_SLAVE_SNOC_GEM_NOC_GC, 1, 8, SM8150_MASTER_SNOC_GC_MEM_NOC); 149 - DEFINE_QNODE(qns_gemnoc_sf, SM8150_SLAVE_SNOC_GEM_NOC_SF, 1, 16, SM8150_MASTER_SNOC_SF_MEM_NOC); 150 - DEFINE_QNODE(qxs_imem, SM8150_SLAVE_OCIMEM, 1, 8); 151 - DEFINE_QNODE(qxs_pimem, SM8150_SLAVE_PIMEM, 1, 8); 152 - DEFINE_QNODE(srvc_snoc, SM8150_SLAVE_SERVICE_SNOC, 1, 4); 153 - DEFINE_QNODE(xs_pcie_0, SM8150_SLAVE_PCIE_0, 1, 8); 154 - DEFINE_QNODE(xs_pcie_1, SM8150_SLAVE_PCIE_1, 1, 8); 155 - DEFINE_QNODE(xs_qdss_stm, SM8150_SLAVE_QDSS_STM, 1, 4); 156 - DEFINE_QNODE(xs_sys_tcu_cfg, SM8150_SLAVE_TCU, 1, 8); 19 + static struct qcom_icc_node qhm_a1noc_cfg = { 20 + .name = "qhm_a1noc_cfg", 21 + .id = SM8150_MASTER_A1NOC_CFG, 22 + .channels = 1, 23 + .buswidth = 4, 24 + .num_links = 1, 25 + .links = { SM8150_SLAVE_SERVICE_A1NOC }, 26 + }; 157 27 158 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 159 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 160 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 161 - DEFINE_QBCM(bcm_mm0, "MM0", true, &qns_mem_noc_hf); 162 - DEFINE_QBCM(bcm_mm1, "MM1", false, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1); 163 - DEFINE_QBCM(bcm_sh2, "SH2", false, &qns_gem_noc_snoc); 164 - DEFINE_QBCM(bcm_mm2, "MM2", false, &qxm_camnoc_sf, &qns2_mem_noc); 165 - DEFINE_QBCM(bcm_sh3, "SH3", false, &acm_gpu_tcu, &acm_sys_tcu); 166 - DEFINE_QBCM(bcm_mm3, "MM3", false, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9); 167 - DEFINE_QBCM(bcm_sh4, "SH4", false, &qnm_cmpnoc); 168 - DEFINE_QBCM(bcm_sh5, "SH5", false, &acm_apps); 169 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_gemnoc_sf); 170 - DEFINE_QBCM(bcm_co0, "CO0", false, &qns_cdsp_mem_noc); 171 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 172 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 173 - DEFINE_QBCM(bcm_co1, "CO1", false, &qnm_npu); 174 - DEFINE_QBCM(bcm_cn0, "CN0", true, &qhm_spdm, &qnm_snoc, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_ahb2phy_south, &qhs_aop, &qhs_aoss, &qhs_camera_cfg, &qhs_clk_ctl, &qhs_compute_dsp, &qhs_cpr_cx, &qhs_cpr_mmcx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_emac_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_npu_cfg, &qhs_pcie0_cfg, &qhs_pcie1_cfg, &qhs_phy_refgen_north, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qspi, &qhs_qupv3_east, &qhs_qupv3_north, &qhs_qupv3_south, &qhs_sdc2, &qhs_sdc4, &qhs_snoc_cfg, &qhs_spdm, &qhs_spss_cfg, &qhs_ssc_cfg, &qhs_tcsr, &qhs_tlmm_east, &qhs_tlmm_north, &qhs_tlmm_south, &qhs_tlmm_west, &qhs_tsif, &qhs_ufs_card_cfg, &qhs_ufs_mem_cfg, &qhs_usb3_0, &qhs_usb3_1, &qhs_venus_cfg, &qhs_vsense_ctrl_cfg, &qns_cnoc_a2noc, &srvc_cnoc); 175 - DEFINE_QBCM(bcm_qup0, "QUP0", false, &qhm_qup0, &qhm_qup1, &qhm_qup2); 176 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qns_gemnoc_gc); 177 - DEFINE_QBCM(bcm_sn3, "SN3", false, &srvc_aggre1_noc, &srvc_aggre2_noc, &qns_cnoc); 178 - DEFINE_QBCM(bcm_sn4, "SN4", false, &qxs_pimem); 179 - DEFINE_QBCM(bcm_sn5, "SN5", false, &xs_qdss_stm); 180 - DEFINE_QBCM(bcm_sn8, "SN8", false, &xs_pcie_0, &xs_pcie_1); 181 - DEFINE_QBCM(bcm_sn9, "SN9", false, &qnm_aggre1_noc); 182 - DEFINE_QBCM(bcm_sn11, "SN11", false, &qnm_aggre2_noc); 183 - DEFINE_QBCM(bcm_sn12, "SN12", false, &qxm_pimem, &xm_gic); 184 - DEFINE_QBCM(bcm_sn14, "SN14", false, &qns_pcie_mem_noc); 185 - DEFINE_QBCM(bcm_sn15, "SN15", false, &qnm_gemnoc); 28 + static struct qcom_icc_node qhm_qup0 = { 29 + .name = "qhm_qup0", 30 + .id = SM8150_MASTER_QUP_0, 31 + .channels = 1, 32 + .buswidth = 4, 33 + .num_links = 1, 34 + .links = { SM8150_A1NOC_SNOC_SLV }, 35 + }; 36 + 37 + static struct qcom_icc_node xm_emac = { 38 + .name = "xm_emac", 39 + .id = SM8150_MASTER_EMAC, 40 + .channels = 1, 41 + .buswidth = 8, 42 + .num_links = 1, 43 + .links = { SM8150_A1NOC_SNOC_SLV }, 44 + }; 45 + 46 + static struct qcom_icc_node xm_ufs_mem = { 47 + .name = "xm_ufs_mem", 48 + .id = SM8150_MASTER_UFS_MEM, 49 + .channels = 1, 50 + .buswidth = 8, 51 + .num_links = 1, 52 + .links = { SM8150_A1NOC_SNOC_SLV }, 53 + }; 54 + 55 + static struct qcom_icc_node xm_usb3_0 = { 56 + .name = "xm_usb3_0", 57 + .id = SM8150_MASTER_USB3, 58 + .channels = 1, 59 + .buswidth = 8, 60 + .num_links = 1, 61 + .links = { SM8150_A1NOC_SNOC_SLV }, 62 + }; 63 + 64 + static struct qcom_icc_node xm_usb3_1 = { 65 + .name = "xm_usb3_1", 66 + .id = SM8150_MASTER_USB3_1, 67 + .channels = 1, 68 + .buswidth = 8, 69 + .num_links = 1, 70 + .links = { SM8150_A1NOC_SNOC_SLV }, 71 + }; 72 + 73 + static struct qcom_icc_node qhm_a2noc_cfg = { 74 + .name = "qhm_a2noc_cfg", 75 + .id = SM8150_MASTER_A2NOC_CFG, 76 + .channels = 1, 77 + .buswidth = 4, 78 + .num_links = 1, 79 + .links = { SM8150_SLAVE_SERVICE_A2NOC }, 80 + }; 81 + 82 + static struct qcom_icc_node qhm_qdss_bam = { 83 + .name = "qhm_qdss_bam", 84 + .id = SM8150_MASTER_QDSS_BAM, 85 + .channels = 1, 86 + .buswidth = 4, 87 + .num_links = 1, 88 + .links = { SM8150_A2NOC_SNOC_SLV }, 89 + }; 90 + 91 + static struct qcom_icc_node qhm_qspi = { 92 + .name = "qhm_qspi", 93 + .id = SM8150_MASTER_QSPI, 94 + .channels = 1, 95 + .buswidth = 4, 96 + .num_links = 1, 97 + .links = { SM8150_A2NOC_SNOC_SLV }, 98 + }; 99 + 100 + static struct qcom_icc_node qhm_qup1 = { 101 + .name = "qhm_qup1", 102 + .id = SM8150_MASTER_QUP_1, 103 + .channels = 1, 104 + .buswidth = 4, 105 + .num_links = 1, 106 + .links = { SM8150_A2NOC_SNOC_SLV }, 107 + }; 108 + 109 + static struct qcom_icc_node qhm_qup2 = { 110 + .name = "qhm_qup2", 111 + .id = SM8150_MASTER_QUP_2, 112 + .channels = 1, 113 + .buswidth = 4, 114 + .num_links = 1, 115 + .links = { SM8150_A2NOC_SNOC_SLV }, 116 + }; 117 + 118 + static struct qcom_icc_node qhm_sensorss_ahb = { 119 + .name = "qhm_sensorss_ahb", 120 + .id = SM8150_MASTER_SENSORS_AHB, 121 + .channels = 1, 122 + .buswidth = 4, 123 + .num_links = 1, 124 + .links = { SM8150_A2NOC_SNOC_SLV }, 125 + }; 126 + 127 + static struct qcom_icc_node qhm_tsif = { 128 + .name = "qhm_tsif", 129 + .id = SM8150_MASTER_TSIF, 130 + .channels = 1, 131 + .buswidth = 4, 132 + .num_links = 1, 133 + .links = { SM8150_A2NOC_SNOC_SLV }, 134 + }; 135 + 136 + static struct qcom_icc_node qnm_cnoc = { 137 + .name = "qnm_cnoc", 138 + .id = SM8150_MASTER_CNOC_A2NOC, 139 + .channels = 1, 140 + .buswidth = 8, 141 + .num_links = 1, 142 + .links = { SM8150_A2NOC_SNOC_SLV }, 143 + }; 144 + 145 + static struct qcom_icc_node qxm_crypto = { 146 + .name = "qxm_crypto", 147 + .id = SM8150_MASTER_CRYPTO_CORE_0, 148 + .channels = 1, 149 + .buswidth = 8, 150 + .num_links = 1, 151 + .links = { SM8150_A2NOC_SNOC_SLV }, 152 + }; 153 + 154 + static struct qcom_icc_node qxm_ipa = { 155 + .name = "qxm_ipa", 156 + .id = SM8150_MASTER_IPA, 157 + .channels = 1, 158 + .buswidth = 8, 159 + .num_links = 1, 160 + .links = { SM8150_A2NOC_SNOC_SLV }, 161 + }; 162 + 163 + static struct qcom_icc_node xm_pcie3_0 = { 164 + .name = "xm_pcie3_0", 165 + .id = SM8150_MASTER_PCIE, 166 + .channels = 1, 167 + .buswidth = 8, 168 + .num_links = 1, 169 + .links = { SM8150_SLAVE_ANOC_PCIE_GEM_NOC }, 170 + }; 171 + 172 + static struct qcom_icc_node xm_pcie3_1 = { 173 + .name = "xm_pcie3_1", 174 + .id = SM8150_MASTER_PCIE_1, 175 + .channels = 1, 176 + .buswidth = 8, 177 + .num_links = 1, 178 + .links = { SM8150_SLAVE_ANOC_PCIE_GEM_NOC }, 179 + }; 180 + 181 + static struct qcom_icc_node xm_qdss_etr = { 182 + .name = "xm_qdss_etr", 183 + .id = SM8150_MASTER_QDSS_ETR, 184 + .channels = 1, 185 + .buswidth = 8, 186 + .num_links = 1, 187 + .links = { SM8150_A2NOC_SNOC_SLV }, 188 + }; 189 + 190 + static struct qcom_icc_node xm_sdc2 = { 191 + .name = "xm_sdc2", 192 + .id = SM8150_MASTER_SDCC_2, 193 + .channels = 1, 194 + .buswidth = 8, 195 + .num_links = 1, 196 + .links = { SM8150_A2NOC_SNOC_SLV }, 197 + }; 198 + 199 + static struct qcom_icc_node xm_sdc4 = { 200 + .name = "xm_sdc4", 201 + .id = SM8150_MASTER_SDCC_4, 202 + .channels = 1, 203 + .buswidth = 8, 204 + .num_links = 1, 205 + .links = { SM8150_A2NOC_SNOC_SLV }, 206 + }; 207 + 208 + static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 209 + .name = "qxm_camnoc_hf0_uncomp", 210 + .id = SM8150_MASTER_CAMNOC_HF0_UNCOMP, 211 + .channels = 1, 212 + .buswidth = 32, 213 + .num_links = 1, 214 + .links = { SM8150_SLAVE_CAMNOC_UNCOMP }, 215 + }; 216 + 217 + static struct qcom_icc_node qxm_camnoc_hf1_uncomp = { 218 + .name = "qxm_camnoc_hf1_uncomp", 219 + .id = SM8150_MASTER_CAMNOC_HF1_UNCOMP, 220 + .channels = 1, 221 + .buswidth = 32, 222 + .num_links = 1, 223 + .links = { SM8150_SLAVE_CAMNOC_UNCOMP }, 224 + }; 225 + 226 + static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 227 + .name = "qxm_camnoc_sf_uncomp", 228 + .id = SM8150_MASTER_CAMNOC_SF_UNCOMP, 229 + .channels = 1, 230 + .buswidth = 32, 231 + .num_links = 1, 232 + .links = { SM8150_SLAVE_CAMNOC_UNCOMP }, 233 + }; 234 + 235 + static struct qcom_icc_node qnm_npu = { 236 + .name = "qnm_npu", 237 + .id = SM8150_MASTER_NPU, 238 + .channels = 1, 239 + .buswidth = 32, 240 + .num_links = 1, 241 + .links = { SM8150_SLAVE_CDSP_MEM_NOC }, 242 + }; 243 + 244 + static struct qcom_icc_node qhm_spdm = { 245 + .name = "qhm_spdm", 246 + .id = SM8150_MASTER_SPDM, 247 + .channels = 1, 248 + .buswidth = 4, 249 + .num_links = 1, 250 + .links = { SM8150_SLAVE_CNOC_A2NOC }, 251 + }; 252 + 253 + static struct qcom_icc_node qnm_snoc = { 254 + .name = "qnm_snoc", 255 + .id = SM8150_SNOC_CNOC_MAS, 256 + .channels = 1, 257 + .buswidth = 8, 258 + .num_links = 50, 259 + .links = { SM8150_SLAVE_TLMM_SOUTH, 260 + SM8150_SLAVE_CDSP_CFG, 261 + SM8150_SLAVE_SPSS_CFG, 262 + SM8150_SLAVE_CAMERA_CFG, 263 + SM8150_SLAVE_SDCC_4, 264 + SM8150_SLAVE_SDCC_2, 265 + SM8150_SLAVE_CNOC_MNOC_CFG, 266 + SM8150_SLAVE_EMAC_CFG, 267 + SM8150_SLAVE_UFS_MEM_CFG, 268 + SM8150_SLAVE_TLMM_EAST, 269 + SM8150_SLAVE_SSC_CFG, 270 + SM8150_SLAVE_SNOC_CFG, 271 + SM8150_SLAVE_NORTH_PHY_CFG, 272 + SM8150_SLAVE_QUP_0, 273 + SM8150_SLAVE_GLM, 274 + SM8150_SLAVE_PCIE_1_CFG, 275 + SM8150_SLAVE_A2NOC_CFG, 276 + SM8150_SLAVE_QDSS_CFG, 277 + SM8150_SLAVE_DISPLAY_CFG, 278 + SM8150_SLAVE_TCSR, 279 + SM8150_SLAVE_CNOC_DDRSS, 280 + SM8150_SLAVE_RBCPR_MMCX_CFG, 281 + SM8150_SLAVE_NPU_CFG, 282 + SM8150_SLAVE_PCIE_0_CFG, 283 + SM8150_SLAVE_GRAPHICS_3D_CFG, 284 + SM8150_SLAVE_VENUS_CFG, 285 + SM8150_SLAVE_TSIF, 286 + SM8150_SLAVE_IPA_CFG, 287 + SM8150_SLAVE_CLK_CTL, 288 + SM8150_SLAVE_AOP, 289 + SM8150_SLAVE_QUP_1, 290 + SM8150_SLAVE_AHB2PHY_SOUTH, 291 + SM8150_SLAVE_USB3_1, 292 + SM8150_SLAVE_SERVICE_CNOC, 293 + SM8150_SLAVE_UFS_CARD_CFG, 294 + SM8150_SLAVE_QUP_2, 295 + SM8150_SLAVE_RBCPR_CX_CFG, 296 + SM8150_SLAVE_TLMM_WEST, 297 + SM8150_SLAVE_A1NOC_CFG, 298 + SM8150_SLAVE_AOSS, 299 + SM8150_SLAVE_PRNG, 300 + SM8150_SLAVE_VSENSE_CTRL_CFG, 301 + SM8150_SLAVE_QSPI, 302 + SM8150_SLAVE_USB3, 303 + SM8150_SLAVE_SPDM_WRAPPER, 304 + SM8150_SLAVE_CRYPTO_0_CFG, 305 + SM8150_SLAVE_PIMEM_CFG, 306 + SM8150_SLAVE_TLMM_NORTH, 307 + SM8150_SLAVE_RBCPR_MX_CFG, 308 + SM8150_SLAVE_IMEM_CFG 309 + }, 310 + }; 311 + 312 + static struct qcom_icc_node xm_qdss_dap = { 313 + .name = "xm_qdss_dap", 314 + .id = SM8150_MASTER_QDSS_DAP, 315 + .channels = 1, 316 + .buswidth = 8, 317 + .num_links = 51, 318 + .links = { SM8150_SLAVE_TLMM_SOUTH, 319 + SM8150_SLAVE_CDSP_CFG, 320 + SM8150_SLAVE_SPSS_CFG, 321 + SM8150_SLAVE_CAMERA_CFG, 322 + SM8150_SLAVE_SDCC_4, 323 + SM8150_SLAVE_SDCC_2, 324 + SM8150_SLAVE_CNOC_MNOC_CFG, 325 + SM8150_SLAVE_EMAC_CFG, 326 + SM8150_SLAVE_UFS_MEM_CFG, 327 + SM8150_SLAVE_TLMM_EAST, 328 + SM8150_SLAVE_SSC_CFG, 329 + SM8150_SLAVE_SNOC_CFG, 330 + SM8150_SLAVE_NORTH_PHY_CFG, 331 + SM8150_SLAVE_QUP_0, 332 + SM8150_SLAVE_GLM, 333 + SM8150_SLAVE_PCIE_1_CFG, 334 + SM8150_SLAVE_A2NOC_CFG, 335 + SM8150_SLAVE_QDSS_CFG, 336 + SM8150_SLAVE_DISPLAY_CFG, 337 + SM8150_SLAVE_TCSR, 338 + SM8150_SLAVE_CNOC_DDRSS, 339 + SM8150_SLAVE_CNOC_A2NOC, 340 + SM8150_SLAVE_RBCPR_MMCX_CFG, 341 + SM8150_SLAVE_NPU_CFG, 342 + SM8150_SLAVE_PCIE_0_CFG, 343 + SM8150_SLAVE_GRAPHICS_3D_CFG, 344 + SM8150_SLAVE_VENUS_CFG, 345 + SM8150_SLAVE_TSIF, 346 + SM8150_SLAVE_IPA_CFG, 347 + SM8150_SLAVE_CLK_CTL, 348 + SM8150_SLAVE_AOP, 349 + SM8150_SLAVE_QUP_1, 350 + SM8150_SLAVE_AHB2PHY_SOUTH, 351 + SM8150_SLAVE_USB3_1, 352 + SM8150_SLAVE_SERVICE_CNOC, 353 + SM8150_SLAVE_UFS_CARD_CFG, 354 + SM8150_SLAVE_QUP_2, 355 + SM8150_SLAVE_RBCPR_CX_CFG, 356 + SM8150_SLAVE_TLMM_WEST, 357 + SM8150_SLAVE_A1NOC_CFG, 358 + SM8150_SLAVE_AOSS, 359 + SM8150_SLAVE_PRNG, 360 + SM8150_SLAVE_VSENSE_CTRL_CFG, 361 + SM8150_SLAVE_QSPI, 362 + SM8150_SLAVE_USB3, 363 + SM8150_SLAVE_SPDM_WRAPPER, 364 + SM8150_SLAVE_CRYPTO_0_CFG, 365 + SM8150_SLAVE_PIMEM_CFG, 366 + SM8150_SLAVE_TLMM_NORTH, 367 + SM8150_SLAVE_RBCPR_MX_CFG, 368 + SM8150_SLAVE_IMEM_CFG 369 + }, 370 + }; 371 + 372 + static struct qcom_icc_node qhm_cnoc_dc_noc = { 373 + .name = "qhm_cnoc_dc_noc", 374 + .id = SM8150_MASTER_CNOC_DC_NOC, 375 + .channels = 1, 376 + .buswidth = 4, 377 + .num_links = 2, 378 + .links = { SM8150_SLAVE_GEM_NOC_CFG, 379 + SM8150_SLAVE_LLCC_CFG 380 + }, 381 + }; 382 + 383 + static struct qcom_icc_node acm_apps = { 384 + .name = "acm_apps", 385 + .id = SM8150_MASTER_AMPSS_M0, 386 + .channels = 2, 387 + .buswidth = 32, 388 + .num_links = 3, 389 + .links = { SM8150_SLAVE_ECC, 390 + SM8150_SLAVE_LLCC, 391 + SM8150_SLAVE_GEM_NOC_SNOC 392 + }, 393 + }; 394 + 395 + static struct qcom_icc_node acm_gpu_tcu = { 396 + .name = "acm_gpu_tcu", 397 + .id = SM8150_MASTER_GPU_TCU, 398 + .channels = 1, 399 + .buswidth = 8, 400 + .num_links = 2, 401 + .links = { SM8150_SLAVE_LLCC, 402 + SM8150_SLAVE_GEM_NOC_SNOC 403 + }, 404 + }; 405 + 406 + static struct qcom_icc_node acm_sys_tcu = { 407 + .name = "acm_sys_tcu", 408 + .id = SM8150_MASTER_SYS_TCU, 409 + .channels = 1, 410 + .buswidth = 8, 411 + .num_links = 2, 412 + .links = { SM8150_SLAVE_LLCC, 413 + SM8150_SLAVE_GEM_NOC_SNOC 414 + }, 415 + }; 416 + 417 + static struct qcom_icc_node qhm_gemnoc_cfg = { 418 + .name = "qhm_gemnoc_cfg", 419 + .id = SM8150_MASTER_GEM_NOC_CFG, 420 + .channels = 1, 421 + .buswidth = 4, 422 + .num_links = 2, 423 + .links = { SM8150_SLAVE_SERVICE_GEM_NOC, 424 + SM8150_SLAVE_MSS_PROC_MS_MPU_CFG 425 + }, 426 + }; 427 + 428 + static struct qcom_icc_node qnm_cmpnoc = { 429 + .name = "qnm_cmpnoc", 430 + .id = SM8150_MASTER_COMPUTE_NOC, 431 + .channels = 2, 432 + .buswidth = 32, 433 + .num_links = 3, 434 + .links = { SM8150_SLAVE_ECC, 435 + SM8150_SLAVE_LLCC, 436 + SM8150_SLAVE_GEM_NOC_SNOC 437 + }, 438 + }; 439 + 440 + static struct qcom_icc_node qnm_gpu = { 441 + .name = "qnm_gpu", 442 + .id = SM8150_MASTER_GRAPHICS_3D, 443 + .channels = 2, 444 + .buswidth = 32, 445 + .num_links = 2, 446 + .links = { SM8150_SLAVE_LLCC, 447 + SM8150_SLAVE_GEM_NOC_SNOC 448 + }, 449 + }; 450 + 451 + static struct qcom_icc_node qnm_mnoc_hf = { 452 + .name = "qnm_mnoc_hf", 453 + .id = SM8150_MASTER_MNOC_HF_MEM_NOC, 454 + .channels = 2, 455 + .buswidth = 32, 456 + .num_links = 1, 457 + .links = { SM8150_SLAVE_LLCC }, 458 + }; 459 + 460 + static struct qcom_icc_node qnm_mnoc_sf = { 461 + .name = "qnm_mnoc_sf", 462 + .id = SM8150_MASTER_MNOC_SF_MEM_NOC, 463 + .channels = 1, 464 + .buswidth = 32, 465 + .num_links = 2, 466 + .links = { SM8150_SLAVE_LLCC, 467 + SM8150_SLAVE_GEM_NOC_SNOC 468 + }, 469 + }; 470 + 471 + static struct qcom_icc_node qnm_pcie = { 472 + .name = "qnm_pcie", 473 + .id = SM8150_MASTER_GEM_NOC_PCIE_SNOC, 474 + .channels = 1, 475 + .buswidth = 16, 476 + .num_links = 2, 477 + .links = { SM8150_SLAVE_LLCC, 478 + SM8150_SLAVE_GEM_NOC_SNOC 479 + }, 480 + }; 481 + 482 + static struct qcom_icc_node qnm_snoc_gc = { 483 + .name = "qnm_snoc_gc", 484 + .id = SM8150_MASTER_SNOC_GC_MEM_NOC, 485 + .channels = 1, 486 + .buswidth = 8, 487 + .num_links = 1, 488 + .links = { SM8150_SLAVE_LLCC }, 489 + }; 490 + 491 + static struct qcom_icc_node qnm_snoc_sf = { 492 + .name = "qnm_snoc_sf", 493 + .id = SM8150_MASTER_SNOC_SF_MEM_NOC, 494 + .channels = 1, 495 + .buswidth = 16, 496 + .num_links = 1, 497 + .links = { SM8150_SLAVE_LLCC }, 498 + }; 499 + 500 + static struct qcom_icc_node qxm_ecc = { 501 + .name = "qxm_ecc", 502 + .id = SM8150_MASTER_ECC, 503 + .channels = 2, 504 + .buswidth = 32, 505 + .num_links = 1, 506 + .links = { SM8150_SLAVE_LLCC }, 507 + }; 508 + 509 + static struct qcom_icc_node llcc_mc = { 510 + .name = "llcc_mc", 511 + .id = SM8150_MASTER_LLCC, 512 + .channels = 4, 513 + .buswidth = 4, 514 + .num_links = 1, 515 + .links = { SM8150_SLAVE_EBI_CH0 }, 516 + }; 517 + 518 + static struct qcom_icc_node qhm_mnoc_cfg = { 519 + .name = "qhm_mnoc_cfg", 520 + .id = SM8150_MASTER_CNOC_MNOC_CFG, 521 + .channels = 1, 522 + .buswidth = 4, 523 + .num_links = 1, 524 + .links = { SM8150_SLAVE_SERVICE_MNOC }, 525 + }; 526 + 527 + static struct qcom_icc_node qxm_camnoc_hf0 = { 528 + .name = "qxm_camnoc_hf0", 529 + .id = SM8150_MASTER_CAMNOC_HF0, 530 + .channels = 1, 531 + .buswidth = 32, 532 + .num_links = 1, 533 + .links = { SM8150_SLAVE_MNOC_HF_MEM_NOC }, 534 + }; 535 + 536 + static struct qcom_icc_node qxm_camnoc_hf1 = { 537 + .name = "qxm_camnoc_hf1", 538 + .id = SM8150_MASTER_CAMNOC_HF1, 539 + .channels = 1, 540 + .buswidth = 32, 541 + .num_links = 1, 542 + .links = { SM8150_SLAVE_MNOC_HF_MEM_NOC }, 543 + }; 544 + 545 + static struct qcom_icc_node qxm_camnoc_sf = { 546 + .name = "qxm_camnoc_sf", 547 + .id = SM8150_MASTER_CAMNOC_SF, 548 + .channels = 1, 549 + .buswidth = 32, 550 + .num_links = 1, 551 + .links = { SM8150_SLAVE_MNOC_SF_MEM_NOC }, 552 + }; 553 + 554 + static struct qcom_icc_node qxm_mdp0 = { 555 + .name = "qxm_mdp0", 556 + .id = SM8150_MASTER_MDP_PORT0, 557 + .channels = 1, 558 + .buswidth = 32, 559 + .num_links = 1, 560 + .links = { SM8150_SLAVE_MNOC_HF_MEM_NOC }, 561 + }; 562 + 563 + static struct qcom_icc_node qxm_mdp1 = { 564 + .name = "qxm_mdp1", 565 + .id = SM8150_MASTER_MDP_PORT1, 566 + .channels = 1, 567 + .buswidth = 32, 568 + .num_links = 1, 569 + .links = { SM8150_SLAVE_MNOC_HF_MEM_NOC }, 570 + }; 571 + 572 + static struct qcom_icc_node qxm_rot = { 573 + .name = "qxm_rot", 574 + .id = SM8150_MASTER_ROTATOR, 575 + .channels = 1, 576 + .buswidth = 32, 577 + .num_links = 1, 578 + .links = { SM8150_SLAVE_MNOC_SF_MEM_NOC }, 579 + }; 580 + 581 + static struct qcom_icc_node qxm_venus0 = { 582 + .name = "qxm_venus0", 583 + .id = SM8150_MASTER_VIDEO_P0, 584 + .channels = 1, 585 + .buswidth = 32, 586 + .num_links = 1, 587 + .links = { SM8150_SLAVE_MNOC_SF_MEM_NOC }, 588 + }; 589 + 590 + static struct qcom_icc_node qxm_venus1 = { 591 + .name = "qxm_venus1", 592 + .id = SM8150_MASTER_VIDEO_P1, 593 + .channels = 1, 594 + .buswidth = 32, 595 + .num_links = 1, 596 + .links = { SM8150_SLAVE_MNOC_SF_MEM_NOC }, 597 + }; 598 + 599 + static struct qcom_icc_node qxm_venus_arm9 = { 600 + .name = "qxm_venus_arm9", 601 + .id = SM8150_MASTER_VIDEO_PROC, 602 + .channels = 1, 603 + .buswidth = 8, 604 + .num_links = 1, 605 + .links = { SM8150_SLAVE_MNOC_SF_MEM_NOC }, 606 + }; 607 + 608 + static struct qcom_icc_node qhm_snoc_cfg = { 609 + .name = "qhm_snoc_cfg", 610 + .id = SM8150_MASTER_SNOC_CFG, 611 + .channels = 1, 612 + .buswidth = 4, 613 + .num_links = 1, 614 + .links = { SM8150_SLAVE_SERVICE_SNOC }, 615 + }; 616 + 617 + static struct qcom_icc_node qnm_aggre1_noc = { 618 + .name = "qnm_aggre1_noc", 619 + .id = SM8150_A1NOC_SNOC_MAS, 620 + .channels = 1, 621 + .buswidth = 16, 622 + .num_links = 6, 623 + .links = { SM8150_SLAVE_SNOC_GEM_NOC_SF, 624 + SM8150_SLAVE_PIMEM, 625 + SM8150_SLAVE_OCIMEM, 626 + SM8150_SLAVE_APPSS, 627 + SM8150_SNOC_CNOC_SLV, 628 + SM8150_SLAVE_QDSS_STM 629 + }, 630 + }; 631 + 632 + static struct qcom_icc_node qnm_aggre2_noc = { 633 + .name = "qnm_aggre2_noc", 634 + .id = SM8150_A2NOC_SNOC_MAS, 635 + .channels = 1, 636 + .buswidth = 16, 637 + .num_links = 9, 638 + .links = { SM8150_SLAVE_SNOC_GEM_NOC_SF, 639 + SM8150_SLAVE_PIMEM, 640 + SM8150_SLAVE_OCIMEM, 641 + SM8150_SLAVE_APPSS, 642 + SM8150_SNOC_CNOC_SLV, 643 + SM8150_SLAVE_PCIE_0, 644 + SM8150_SLAVE_PCIE_1, 645 + SM8150_SLAVE_TCU, 646 + SM8150_SLAVE_QDSS_STM 647 + }, 648 + }; 649 + 650 + static struct qcom_icc_node qnm_gemnoc = { 651 + .name = "qnm_gemnoc", 652 + .id = SM8150_MASTER_GEM_NOC_SNOC, 653 + .channels = 1, 654 + .buswidth = 8, 655 + .num_links = 6, 656 + .links = { SM8150_SLAVE_PIMEM, 657 + SM8150_SLAVE_OCIMEM, 658 + SM8150_SLAVE_APPSS, 659 + SM8150_SNOC_CNOC_SLV, 660 + SM8150_SLAVE_TCU, 661 + SM8150_SLAVE_QDSS_STM 662 + }, 663 + }; 664 + 665 + static struct qcom_icc_node qxm_pimem = { 666 + .name = "qxm_pimem", 667 + .id = SM8150_MASTER_PIMEM, 668 + .channels = 1, 669 + .buswidth = 8, 670 + .num_links = 2, 671 + .links = { SM8150_SLAVE_SNOC_GEM_NOC_GC, 672 + SM8150_SLAVE_OCIMEM 673 + }, 674 + }; 675 + 676 + static struct qcom_icc_node xm_gic = { 677 + .name = "xm_gic", 678 + .id = SM8150_MASTER_GIC, 679 + .channels = 1, 680 + .buswidth = 8, 681 + .num_links = 2, 682 + .links = { SM8150_SLAVE_SNOC_GEM_NOC_GC, 683 + SM8150_SLAVE_OCIMEM 684 + }, 685 + }; 686 + 687 + static struct qcom_icc_node qns_a1noc_snoc = { 688 + .name = "qns_a1noc_snoc", 689 + .id = SM8150_A1NOC_SNOC_SLV, 690 + .channels = 1, 691 + .buswidth = 16, 692 + .num_links = 1, 693 + .links = { SM8150_A1NOC_SNOC_MAS }, 694 + }; 695 + 696 + static struct qcom_icc_node srvc_aggre1_noc = { 697 + .name = "srvc_aggre1_noc", 698 + .id = SM8150_SLAVE_SERVICE_A1NOC, 699 + .channels = 1, 700 + .buswidth = 4, 701 + }; 702 + 703 + static struct qcom_icc_node qns_a2noc_snoc = { 704 + .name = "qns_a2noc_snoc", 705 + .id = SM8150_A2NOC_SNOC_SLV, 706 + .channels = 1, 707 + .buswidth = 16, 708 + .num_links = 1, 709 + .links = { SM8150_A2NOC_SNOC_MAS }, 710 + }; 711 + 712 + static struct qcom_icc_node qns_pcie_mem_noc = { 713 + .name = "qns_pcie_mem_noc", 714 + .id = SM8150_SLAVE_ANOC_PCIE_GEM_NOC, 715 + .channels = 1, 716 + .buswidth = 16, 717 + .num_links = 1, 718 + .links = { SM8150_MASTER_GEM_NOC_PCIE_SNOC }, 719 + }; 720 + 721 + static struct qcom_icc_node srvc_aggre2_noc = { 722 + .name = "srvc_aggre2_noc", 723 + .id = SM8150_SLAVE_SERVICE_A2NOC, 724 + .channels = 1, 725 + .buswidth = 4, 726 + }; 727 + 728 + static struct qcom_icc_node qns_camnoc_uncomp = { 729 + .name = "qns_camnoc_uncomp", 730 + .id = SM8150_SLAVE_CAMNOC_UNCOMP, 731 + .channels = 1, 732 + .buswidth = 32, 733 + }; 734 + 735 + static struct qcom_icc_node qns_cdsp_mem_noc = { 736 + .name = "qns_cdsp_mem_noc", 737 + .id = SM8150_SLAVE_CDSP_MEM_NOC, 738 + .channels = 2, 739 + .buswidth = 32, 740 + .num_links = 1, 741 + .links = { SM8150_MASTER_COMPUTE_NOC }, 742 + }; 743 + 744 + static struct qcom_icc_node qhs_a1_noc_cfg = { 745 + .name = "qhs_a1_noc_cfg", 746 + .id = SM8150_SLAVE_A1NOC_CFG, 747 + .channels = 1, 748 + .buswidth = 4, 749 + .num_links = 1, 750 + .links = { SM8150_MASTER_A1NOC_CFG }, 751 + }; 752 + 753 + static struct qcom_icc_node qhs_a2_noc_cfg = { 754 + .name = "qhs_a2_noc_cfg", 755 + .id = SM8150_SLAVE_A2NOC_CFG, 756 + .channels = 1, 757 + .buswidth = 4, 758 + .num_links = 1, 759 + .links = { SM8150_MASTER_A2NOC_CFG }, 760 + }; 761 + 762 + static struct qcom_icc_node qhs_ahb2phy_south = { 763 + .name = "qhs_ahb2phy_south", 764 + .id = SM8150_SLAVE_AHB2PHY_SOUTH, 765 + .channels = 1, 766 + .buswidth = 4, 767 + }; 768 + 769 + static struct qcom_icc_node qhs_aop = { 770 + .name = "qhs_aop", 771 + .id = SM8150_SLAVE_AOP, 772 + .channels = 1, 773 + .buswidth = 4, 774 + }; 775 + 776 + static struct qcom_icc_node qhs_aoss = { 777 + .name = "qhs_aoss", 778 + .id = SM8150_SLAVE_AOSS, 779 + .channels = 1, 780 + .buswidth = 4, 781 + }; 782 + 783 + static struct qcom_icc_node qhs_camera_cfg = { 784 + .name = "qhs_camera_cfg", 785 + .id = SM8150_SLAVE_CAMERA_CFG, 786 + .channels = 1, 787 + .buswidth = 4, 788 + }; 789 + 790 + static struct qcom_icc_node qhs_clk_ctl = { 791 + .name = "qhs_clk_ctl", 792 + .id = SM8150_SLAVE_CLK_CTL, 793 + .channels = 1, 794 + .buswidth = 4, 795 + }; 796 + 797 + static struct qcom_icc_node qhs_compute_dsp = { 798 + .name = "qhs_compute_dsp", 799 + .id = SM8150_SLAVE_CDSP_CFG, 800 + .channels = 1, 801 + .buswidth = 4, 802 + }; 803 + 804 + static struct qcom_icc_node qhs_cpr_cx = { 805 + .name = "qhs_cpr_cx", 806 + .id = SM8150_SLAVE_RBCPR_CX_CFG, 807 + .channels = 1, 808 + .buswidth = 4, 809 + }; 810 + 811 + static struct qcom_icc_node qhs_cpr_mmcx = { 812 + .name = "qhs_cpr_mmcx", 813 + .id = SM8150_SLAVE_RBCPR_MMCX_CFG, 814 + .channels = 1, 815 + .buswidth = 4, 816 + }; 817 + 818 + static struct qcom_icc_node qhs_cpr_mx = { 819 + .name = "qhs_cpr_mx", 820 + .id = SM8150_SLAVE_RBCPR_MX_CFG, 821 + .channels = 1, 822 + .buswidth = 4, 823 + }; 824 + 825 + static struct qcom_icc_node qhs_crypto0_cfg = { 826 + .name = "qhs_crypto0_cfg", 827 + .id = SM8150_SLAVE_CRYPTO_0_CFG, 828 + .channels = 1, 829 + .buswidth = 4, 830 + }; 831 + 832 + static struct qcom_icc_node qhs_ddrss_cfg = { 833 + .name = "qhs_ddrss_cfg", 834 + .id = SM8150_SLAVE_CNOC_DDRSS, 835 + .channels = 1, 836 + .buswidth = 4, 837 + .num_links = 1, 838 + .links = { SM8150_MASTER_CNOC_DC_NOC }, 839 + }; 840 + 841 + static struct qcom_icc_node qhs_display_cfg = { 842 + .name = "qhs_display_cfg", 843 + .id = SM8150_SLAVE_DISPLAY_CFG, 844 + .channels = 1, 845 + .buswidth = 4, 846 + }; 847 + 848 + static struct qcom_icc_node qhs_emac_cfg = { 849 + .name = "qhs_emac_cfg", 850 + .id = SM8150_SLAVE_EMAC_CFG, 851 + .channels = 1, 852 + .buswidth = 4, 853 + }; 854 + 855 + static struct qcom_icc_node qhs_glm = { 856 + .name = "qhs_glm", 857 + .id = SM8150_SLAVE_GLM, 858 + .channels = 1, 859 + .buswidth = 4, 860 + }; 861 + 862 + static struct qcom_icc_node qhs_gpuss_cfg = { 863 + .name = "qhs_gpuss_cfg", 864 + .id = SM8150_SLAVE_GRAPHICS_3D_CFG, 865 + .channels = 1, 866 + .buswidth = 8, 867 + }; 868 + 869 + static struct qcom_icc_node qhs_imem_cfg = { 870 + .name = "qhs_imem_cfg", 871 + .id = SM8150_SLAVE_IMEM_CFG, 872 + .channels = 1, 873 + .buswidth = 4, 874 + }; 875 + 876 + static struct qcom_icc_node qhs_ipa = { 877 + .name = "qhs_ipa", 878 + .id = SM8150_SLAVE_IPA_CFG, 879 + .channels = 1, 880 + .buswidth = 4, 881 + }; 882 + 883 + static struct qcom_icc_node qhs_mnoc_cfg = { 884 + .name = "qhs_mnoc_cfg", 885 + .id = SM8150_SLAVE_CNOC_MNOC_CFG, 886 + .channels = 1, 887 + .buswidth = 4, 888 + .num_links = 1, 889 + .links = { SM8150_MASTER_CNOC_MNOC_CFG }, 890 + }; 891 + 892 + static struct qcom_icc_node qhs_npu_cfg = { 893 + .name = "qhs_npu_cfg", 894 + .id = SM8150_SLAVE_NPU_CFG, 895 + .channels = 1, 896 + .buswidth = 4, 897 + }; 898 + 899 + static struct qcom_icc_node qhs_pcie0_cfg = { 900 + .name = "qhs_pcie0_cfg", 901 + .id = SM8150_SLAVE_PCIE_0_CFG, 902 + .channels = 1, 903 + .buswidth = 4, 904 + }; 905 + 906 + static struct qcom_icc_node qhs_pcie1_cfg = { 907 + .name = "qhs_pcie1_cfg", 908 + .id = SM8150_SLAVE_PCIE_1_CFG, 909 + .channels = 1, 910 + .buswidth = 4, 911 + }; 912 + 913 + static struct qcom_icc_node qhs_phy_refgen_north = { 914 + .name = "qhs_phy_refgen_north", 915 + .id = SM8150_SLAVE_NORTH_PHY_CFG, 916 + .channels = 1, 917 + .buswidth = 4, 918 + }; 919 + 920 + static struct qcom_icc_node qhs_pimem_cfg = { 921 + .name = "qhs_pimem_cfg", 922 + .id = SM8150_SLAVE_PIMEM_CFG, 923 + .channels = 1, 924 + .buswidth = 4, 925 + }; 926 + 927 + static struct qcom_icc_node qhs_prng = { 928 + .name = "qhs_prng", 929 + .id = SM8150_SLAVE_PRNG, 930 + .channels = 1, 931 + .buswidth = 4, 932 + }; 933 + 934 + static struct qcom_icc_node qhs_qdss_cfg = { 935 + .name = "qhs_qdss_cfg", 936 + .id = SM8150_SLAVE_QDSS_CFG, 937 + .channels = 1, 938 + .buswidth = 4, 939 + }; 940 + 941 + static struct qcom_icc_node qhs_qspi = { 942 + .name = "qhs_qspi", 943 + .id = SM8150_SLAVE_QSPI, 944 + .channels = 1, 945 + .buswidth = 4, 946 + }; 947 + 948 + static struct qcom_icc_node qhs_qupv3_east = { 949 + .name = "qhs_qupv3_east", 950 + .id = SM8150_SLAVE_QUP_2, 951 + .channels = 1, 952 + .buswidth = 4, 953 + }; 954 + 955 + static struct qcom_icc_node qhs_qupv3_north = { 956 + .name = "qhs_qupv3_north", 957 + .id = SM8150_SLAVE_QUP_1, 958 + .channels = 1, 959 + .buswidth = 4, 960 + }; 961 + 962 + static struct qcom_icc_node qhs_qupv3_south = { 963 + .name = "qhs_qupv3_south", 964 + .id = SM8150_SLAVE_QUP_0, 965 + .channels = 1, 966 + .buswidth = 4, 967 + }; 968 + 969 + static struct qcom_icc_node qhs_sdc2 = { 970 + .name = "qhs_sdc2", 971 + .id = SM8150_SLAVE_SDCC_2, 972 + .channels = 1, 973 + .buswidth = 4, 974 + }; 975 + 976 + static struct qcom_icc_node qhs_sdc4 = { 977 + .name = "qhs_sdc4", 978 + .id = SM8150_SLAVE_SDCC_4, 979 + .channels = 1, 980 + .buswidth = 4, 981 + }; 982 + 983 + static struct qcom_icc_node qhs_snoc_cfg = { 984 + .name = "qhs_snoc_cfg", 985 + .id = SM8150_SLAVE_SNOC_CFG, 986 + .channels = 1, 987 + .buswidth = 4, 988 + .num_links = 1, 989 + .links = { SM8150_MASTER_SNOC_CFG }, 990 + }; 991 + 992 + static struct qcom_icc_node qhs_spdm = { 993 + .name = "qhs_spdm", 994 + .id = SM8150_SLAVE_SPDM_WRAPPER, 995 + .channels = 1, 996 + .buswidth = 4, 997 + }; 998 + 999 + static struct qcom_icc_node qhs_spss_cfg = { 1000 + .name = "qhs_spss_cfg", 1001 + .id = SM8150_SLAVE_SPSS_CFG, 1002 + .channels = 1, 1003 + .buswidth = 4, 1004 + }; 1005 + 1006 + static struct qcom_icc_node qhs_ssc_cfg = { 1007 + .name = "qhs_ssc_cfg", 1008 + .id = SM8150_SLAVE_SSC_CFG, 1009 + .channels = 1, 1010 + .buswidth = 4, 1011 + }; 1012 + 1013 + static struct qcom_icc_node qhs_tcsr = { 1014 + .name = "qhs_tcsr", 1015 + .id = SM8150_SLAVE_TCSR, 1016 + .channels = 1, 1017 + .buswidth = 4, 1018 + }; 1019 + 1020 + static struct qcom_icc_node qhs_tlmm_east = { 1021 + .name = "qhs_tlmm_east", 1022 + .id = SM8150_SLAVE_TLMM_EAST, 1023 + .channels = 1, 1024 + .buswidth = 4, 1025 + }; 1026 + 1027 + static struct qcom_icc_node qhs_tlmm_north = { 1028 + .name = "qhs_tlmm_north", 1029 + .id = SM8150_SLAVE_TLMM_NORTH, 1030 + .channels = 1, 1031 + .buswidth = 4, 1032 + }; 1033 + 1034 + static struct qcom_icc_node qhs_tlmm_south = { 1035 + .name = "qhs_tlmm_south", 1036 + .id = SM8150_SLAVE_TLMM_SOUTH, 1037 + .channels = 1, 1038 + .buswidth = 4, 1039 + }; 1040 + 1041 + static struct qcom_icc_node qhs_tlmm_west = { 1042 + .name = "qhs_tlmm_west", 1043 + .id = SM8150_SLAVE_TLMM_WEST, 1044 + .channels = 1, 1045 + .buswidth = 4, 1046 + }; 1047 + 1048 + static struct qcom_icc_node qhs_tsif = { 1049 + .name = "qhs_tsif", 1050 + .id = SM8150_SLAVE_TSIF, 1051 + .channels = 1, 1052 + .buswidth = 4, 1053 + }; 1054 + 1055 + static struct qcom_icc_node qhs_ufs_card_cfg = { 1056 + .name = "qhs_ufs_card_cfg", 1057 + .id = SM8150_SLAVE_UFS_CARD_CFG, 1058 + .channels = 1, 1059 + .buswidth = 4, 1060 + }; 1061 + 1062 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 1063 + .name = "qhs_ufs_mem_cfg", 1064 + .id = SM8150_SLAVE_UFS_MEM_CFG, 1065 + .channels = 1, 1066 + .buswidth = 4, 1067 + }; 1068 + 1069 + static struct qcom_icc_node qhs_usb3_0 = { 1070 + .name = "qhs_usb3_0", 1071 + .id = SM8150_SLAVE_USB3, 1072 + .channels = 1, 1073 + .buswidth = 4, 1074 + }; 1075 + 1076 + static struct qcom_icc_node qhs_usb3_1 = { 1077 + .name = "qhs_usb3_1", 1078 + .id = SM8150_SLAVE_USB3_1, 1079 + .channels = 1, 1080 + .buswidth = 4, 1081 + }; 1082 + 1083 + static struct qcom_icc_node qhs_venus_cfg = { 1084 + .name = "qhs_venus_cfg", 1085 + .id = SM8150_SLAVE_VENUS_CFG, 1086 + .channels = 1, 1087 + .buswidth = 4, 1088 + }; 1089 + 1090 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1091 + .name = "qhs_vsense_ctrl_cfg", 1092 + .id = SM8150_SLAVE_VSENSE_CTRL_CFG, 1093 + .channels = 1, 1094 + .buswidth = 4, 1095 + }; 1096 + 1097 + static struct qcom_icc_node qns_cnoc_a2noc = { 1098 + .name = "qns_cnoc_a2noc", 1099 + .id = SM8150_SLAVE_CNOC_A2NOC, 1100 + .channels = 1, 1101 + .buswidth = 8, 1102 + .num_links = 1, 1103 + .links = { SM8150_MASTER_CNOC_A2NOC }, 1104 + }; 1105 + 1106 + static struct qcom_icc_node srvc_cnoc = { 1107 + .name = "srvc_cnoc", 1108 + .id = SM8150_SLAVE_SERVICE_CNOC, 1109 + .channels = 1, 1110 + .buswidth = 4, 1111 + }; 1112 + 1113 + static struct qcom_icc_node qhs_llcc = { 1114 + .name = "qhs_llcc", 1115 + .id = SM8150_SLAVE_LLCC_CFG, 1116 + .channels = 1, 1117 + .buswidth = 4, 1118 + }; 1119 + 1120 + static struct qcom_icc_node qhs_memnoc = { 1121 + .name = "qhs_memnoc", 1122 + .id = SM8150_SLAVE_GEM_NOC_CFG, 1123 + .channels = 1, 1124 + .buswidth = 4, 1125 + .num_links = 1, 1126 + .links = { SM8150_MASTER_GEM_NOC_CFG }, 1127 + }; 1128 + 1129 + static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 1130 + .name = "qhs_mdsp_ms_mpu_cfg", 1131 + .id = SM8150_SLAVE_MSS_PROC_MS_MPU_CFG, 1132 + .channels = 1, 1133 + .buswidth = 4, 1134 + }; 1135 + 1136 + static struct qcom_icc_node qns_ecc = { 1137 + .name = "qns_ecc", 1138 + .id = SM8150_SLAVE_ECC, 1139 + .channels = 1, 1140 + .buswidth = 32, 1141 + }; 1142 + 1143 + static struct qcom_icc_node qns_gem_noc_snoc = { 1144 + .name = "qns_gem_noc_snoc", 1145 + .id = SM8150_SLAVE_GEM_NOC_SNOC, 1146 + .channels = 1, 1147 + .buswidth = 8, 1148 + .num_links = 1, 1149 + .links = { SM8150_MASTER_GEM_NOC_SNOC }, 1150 + }; 1151 + 1152 + static struct qcom_icc_node qns_llcc = { 1153 + .name = "qns_llcc", 1154 + .id = SM8150_SLAVE_LLCC, 1155 + .channels = 4, 1156 + .buswidth = 16, 1157 + .num_links = 1, 1158 + .links = { SM8150_MASTER_LLCC }, 1159 + }; 1160 + 1161 + static struct qcom_icc_node srvc_gemnoc = { 1162 + .name = "srvc_gemnoc", 1163 + .id = SM8150_SLAVE_SERVICE_GEM_NOC, 1164 + .channels = 1, 1165 + .buswidth = 4, 1166 + }; 1167 + 1168 + static struct qcom_icc_node ebi = { 1169 + .name = "ebi", 1170 + .id = SM8150_SLAVE_EBI_CH0, 1171 + .channels = 4, 1172 + .buswidth = 4, 1173 + }; 1174 + 1175 + static struct qcom_icc_node qns2_mem_noc = { 1176 + .name = "qns2_mem_noc", 1177 + .id = SM8150_SLAVE_MNOC_SF_MEM_NOC, 1178 + .channels = 1, 1179 + .buswidth = 32, 1180 + .num_links = 1, 1181 + .links = { SM8150_MASTER_MNOC_SF_MEM_NOC }, 1182 + }; 1183 + 1184 + static struct qcom_icc_node qns_mem_noc_hf = { 1185 + .name = "qns_mem_noc_hf", 1186 + .id = SM8150_SLAVE_MNOC_HF_MEM_NOC, 1187 + .channels = 2, 1188 + .buswidth = 32, 1189 + .num_links = 1, 1190 + .links = { SM8150_MASTER_MNOC_HF_MEM_NOC }, 1191 + }; 1192 + 1193 + static struct qcom_icc_node srvc_mnoc = { 1194 + .name = "srvc_mnoc", 1195 + .id = SM8150_SLAVE_SERVICE_MNOC, 1196 + .channels = 1, 1197 + .buswidth = 4, 1198 + }; 1199 + 1200 + static struct qcom_icc_node qhs_apss = { 1201 + .name = "qhs_apss", 1202 + .id = SM8150_SLAVE_APPSS, 1203 + .channels = 1, 1204 + .buswidth = 8, 1205 + }; 1206 + 1207 + static struct qcom_icc_node qns_cnoc = { 1208 + .name = "qns_cnoc", 1209 + .id = SM8150_SNOC_CNOC_SLV, 1210 + .channels = 1, 1211 + .buswidth = 8, 1212 + .num_links = 1, 1213 + .links = { SM8150_SNOC_CNOC_MAS }, 1214 + }; 1215 + 1216 + static struct qcom_icc_node qns_gemnoc_gc = { 1217 + .name = "qns_gemnoc_gc", 1218 + .id = SM8150_SLAVE_SNOC_GEM_NOC_GC, 1219 + .channels = 1, 1220 + .buswidth = 8, 1221 + .num_links = 1, 1222 + .links = { SM8150_MASTER_SNOC_GC_MEM_NOC }, 1223 + }; 1224 + 1225 + static struct qcom_icc_node qns_gemnoc_sf = { 1226 + .name = "qns_gemnoc_sf", 1227 + .id = SM8150_SLAVE_SNOC_GEM_NOC_SF, 1228 + .channels = 1, 1229 + .buswidth = 16, 1230 + .num_links = 1, 1231 + .links = { SM8150_MASTER_SNOC_SF_MEM_NOC }, 1232 + }; 1233 + 1234 + static struct qcom_icc_node qxs_imem = { 1235 + .name = "qxs_imem", 1236 + .id = SM8150_SLAVE_OCIMEM, 1237 + .channels = 1, 1238 + .buswidth = 8, 1239 + }; 1240 + 1241 + static struct qcom_icc_node qxs_pimem = { 1242 + .name = "qxs_pimem", 1243 + .id = SM8150_SLAVE_PIMEM, 1244 + .channels = 1, 1245 + .buswidth = 8, 1246 + }; 1247 + 1248 + static struct qcom_icc_node srvc_snoc = { 1249 + .name = "srvc_snoc", 1250 + .id = SM8150_SLAVE_SERVICE_SNOC, 1251 + .channels = 1, 1252 + .buswidth = 4, 1253 + }; 1254 + 1255 + static struct qcom_icc_node xs_pcie_0 = { 1256 + .name = "xs_pcie_0", 1257 + .id = SM8150_SLAVE_PCIE_0, 1258 + .channels = 1, 1259 + .buswidth = 8, 1260 + }; 1261 + 1262 + static struct qcom_icc_node xs_pcie_1 = { 1263 + .name = "xs_pcie_1", 1264 + .id = SM8150_SLAVE_PCIE_1, 1265 + .channels = 1, 1266 + .buswidth = 8, 1267 + }; 1268 + 1269 + static struct qcom_icc_node xs_qdss_stm = { 1270 + .name = "xs_qdss_stm", 1271 + .id = SM8150_SLAVE_QDSS_STM, 1272 + .channels = 1, 1273 + .buswidth = 4, 1274 + }; 1275 + 1276 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1277 + .name = "xs_sys_tcu_cfg", 1278 + .id = SM8150_SLAVE_TCU, 1279 + .channels = 1, 1280 + .buswidth = 8, 1281 + }; 1282 + 1283 + static struct qcom_icc_bcm bcm_acv = { 1284 + .name = "ACV", 1285 + .keepalive = false, 1286 + .num_nodes = 1, 1287 + .nodes = { &ebi }, 1288 + }; 1289 + 1290 + static struct qcom_icc_bcm bcm_mc0 = { 1291 + .name = "MC0", 1292 + .keepalive = true, 1293 + .num_nodes = 1, 1294 + .nodes = { &ebi }, 1295 + }; 1296 + 1297 + static struct qcom_icc_bcm bcm_sh0 = { 1298 + .name = "SH0", 1299 + .keepalive = true, 1300 + .num_nodes = 1, 1301 + .nodes = { &qns_llcc }, 1302 + }; 1303 + 1304 + static struct qcom_icc_bcm bcm_mm0 = { 1305 + .name = "MM0", 1306 + .keepalive = true, 1307 + .num_nodes = 1, 1308 + .nodes = { &qns_mem_noc_hf }, 1309 + }; 1310 + 1311 + static struct qcom_icc_bcm bcm_mm1 = { 1312 + .name = "MM1", 1313 + .keepalive = false, 1314 + .num_nodes = 7, 1315 + .nodes = { &qxm_camnoc_hf0_uncomp, 1316 + &qxm_camnoc_hf1_uncomp, 1317 + &qxm_camnoc_sf_uncomp, 1318 + &qxm_camnoc_hf0, 1319 + &qxm_camnoc_hf1, 1320 + &qxm_mdp0, 1321 + &qxm_mdp1 1322 + }, 1323 + }; 1324 + 1325 + static struct qcom_icc_bcm bcm_sh2 = { 1326 + .name = "SH2", 1327 + .keepalive = false, 1328 + .num_nodes = 1, 1329 + .nodes = { &qns_gem_noc_snoc }, 1330 + }; 1331 + 1332 + static struct qcom_icc_bcm bcm_mm2 = { 1333 + .name = "MM2", 1334 + .keepalive = false, 1335 + .num_nodes = 2, 1336 + .nodes = { &qxm_camnoc_sf, &qns2_mem_noc }, 1337 + }; 1338 + 1339 + static struct qcom_icc_bcm bcm_sh3 = { 1340 + .name = "SH3", 1341 + .keepalive = false, 1342 + .num_nodes = 2, 1343 + .nodes = { &acm_gpu_tcu, &acm_sys_tcu }, 1344 + }; 1345 + 1346 + static struct qcom_icc_bcm bcm_mm3 = { 1347 + .name = "MM3", 1348 + .keepalive = false, 1349 + .num_nodes = 4, 1350 + .nodes = { &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9 }, 1351 + }; 1352 + 1353 + static struct qcom_icc_bcm bcm_sh4 = { 1354 + .name = "SH4", 1355 + .keepalive = false, 1356 + .num_nodes = 1, 1357 + .nodes = { &qnm_cmpnoc }, 1358 + }; 1359 + 1360 + static struct qcom_icc_bcm bcm_sh5 = { 1361 + .name = "SH5", 1362 + .keepalive = false, 1363 + .num_nodes = 1, 1364 + .nodes = { &acm_apps }, 1365 + }; 1366 + 1367 + static struct qcom_icc_bcm bcm_sn0 = { 1368 + .name = "SN0", 1369 + .keepalive = true, 1370 + .num_nodes = 1, 1371 + .nodes = { &qns_gemnoc_sf }, 1372 + }; 1373 + 1374 + static struct qcom_icc_bcm bcm_co0 = { 1375 + .name = "CO0", 1376 + .keepalive = false, 1377 + .num_nodes = 1, 1378 + .nodes = { &qns_cdsp_mem_noc }, 1379 + }; 1380 + 1381 + static struct qcom_icc_bcm bcm_ce0 = { 1382 + .name = "CE0", 1383 + .keepalive = false, 1384 + .num_nodes = 1, 1385 + .nodes = { &qxm_crypto }, 1386 + }; 1387 + 1388 + static struct qcom_icc_bcm bcm_sn1 = { 1389 + .name = "SN1", 1390 + .keepalive = false, 1391 + .num_nodes = 1, 1392 + .nodes = { &qxs_imem }, 1393 + }; 1394 + 1395 + static struct qcom_icc_bcm bcm_co1 = { 1396 + .name = "CO1", 1397 + .keepalive = false, 1398 + .num_nodes = 1, 1399 + .nodes = { &qnm_npu }, 1400 + }; 1401 + 1402 + static struct qcom_icc_bcm bcm_cn0 = { 1403 + .name = "CN0", 1404 + .keepalive = true, 1405 + .num_nodes = 53, 1406 + .nodes = { &qhm_spdm, 1407 + &qnm_snoc, 1408 + &qhs_a1_noc_cfg, 1409 + &qhs_a2_noc_cfg, 1410 + &qhs_ahb2phy_south, 1411 + &qhs_aop, 1412 + &qhs_aoss, 1413 + &qhs_camera_cfg, 1414 + &qhs_clk_ctl, 1415 + &qhs_compute_dsp, 1416 + &qhs_cpr_cx, 1417 + &qhs_cpr_mmcx, 1418 + &qhs_cpr_mx, 1419 + &qhs_crypto0_cfg, 1420 + &qhs_ddrss_cfg, 1421 + &qhs_display_cfg, 1422 + &qhs_emac_cfg, 1423 + &qhs_glm, 1424 + &qhs_gpuss_cfg, 1425 + &qhs_imem_cfg, 1426 + &qhs_ipa, 1427 + &qhs_mnoc_cfg, 1428 + &qhs_npu_cfg, 1429 + &qhs_pcie0_cfg, 1430 + &qhs_pcie1_cfg, 1431 + &qhs_phy_refgen_north, 1432 + &qhs_pimem_cfg, 1433 + &qhs_prng, 1434 + &qhs_qdss_cfg, 1435 + &qhs_qspi, 1436 + &qhs_qupv3_east, 1437 + &qhs_qupv3_north, 1438 + &qhs_qupv3_south, 1439 + &qhs_sdc2, 1440 + &qhs_sdc4, 1441 + &qhs_snoc_cfg, 1442 + &qhs_spdm, 1443 + &qhs_spss_cfg, 1444 + &qhs_ssc_cfg, 1445 + &qhs_tcsr, 1446 + &qhs_tlmm_east, 1447 + &qhs_tlmm_north, 1448 + &qhs_tlmm_south, 1449 + &qhs_tlmm_west, 1450 + &qhs_tsif, 1451 + &qhs_ufs_card_cfg, 1452 + &qhs_ufs_mem_cfg, 1453 + &qhs_usb3_0, 1454 + &qhs_usb3_1, 1455 + &qhs_venus_cfg, 1456 + &qhs_vsense_ctrl_cfg, 1457 + &qns_cnoc_a2noc, 1458 + &srvc_cnoc 1459 + }, 1460 + }; 1461 + 1462 + static struct qcom_icc_bcm bcm_qup0 = { 1463 + .name = "QUP0", 1464 + .keepalive = false, 1465 + .num_nodes = 3, 1466 + .nodes = { &qhm_qup0, &qhm_qup1, &qhm_qup2 }, 1467 + }; 1468 + 1469 + static struct qcom_icc_bcm bcm_sn2 = { 1470 + .name = "SN2", 1471 + .keepalive = false, 1472 + .num_nodes = 1, 1473 + .nodes = { &qns_gemnoc_gc }, 1474 + }; 1475 + 1476 + static struct qcom_icc_bcm bcm_sn3 = { 1477 + .name = "SN3", 1478 + .keepalive = false, 1479 + .num_nodes = 3, 1480 + .nodes = { &srvc_aggre1_noc, &srvc_aggre2_noc, &qns_cnoc }, 1481 + }; 1482 + 1483 + static struct qcom_icc_bcm bcm_sn4 = { 1484 + .name = "SN4", 1485 + .keepalive = false, 1486 + .num_nodes = 1, 1487 + .nodes = { &qxs_pimem }, 1488 + }; 1489 + 1490 + static struct qcom_icc_bcm bcm_sn5 = { 1491 + .name = "SN5", 1492 + .keepalive = false, 1493 + .num_nodes = 1, 1494 + .nodes = { &xs_qdss_stm }, 1495 + }; 1496 + 1497 + static struct qcom_icc_bcm bcm_sn8 = { 1498 + .name = "SN8", 1499 + .keepalive = false, 1500 + .num_nodes = 2, 1501 + .nodes = { &xs_pcie_0, &xs_pcie_1 }, 1502 + }; 1503 + 1504 + static struct qcom_icc_bcm bcm_sn9 = { 1505 + .name = "SN9", 1506 + .keepalive = false, 1507 + .num_nodes = 1, 1508 + .nodes = { &qnm_aggre1_noc }, 1509 + }; 1510 + 1511 + static struct qcom_icc_bcm bcm_sn11 = { 1512 + .name = "SN11", 1513 + .keepalive = false, 1514 + .num_nodes = 1, 1515 + .nodes = { &qnm_aggre2_noc }, 1516 + }; 1517 + 1518 + static struct qcom_icc_bcm bcm_sn12 = { 1519 + .name = "SN12", 1520 + .keepalive = false, 1521 + .num_nodes = 2, 1522 + .nodes = { &qxm_pimem, &xm_gic }, 1523 + }; 1524 + 1525 + static struct qcom_icc_bcm bcm_sn14 = { 1526 + .name = "SN14", 1527 + .keepalive = false, 1528 + .num_nodes = 1, 1529 + .nodes = { &qns_pcie_mem_noc }, 1530 + }; 1531 + 1532 + static struct qcom_icc_bcm bcm_sn15 = { 1533 + .name = "SN15", 1534 + .keepalive = false, 1535 + .num_nodes = 1, 1536 + .nodes = { &qnm_gemnoc }, 1537 + }; 186 1538 187 1539 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 188 1540 &bcm_qup0,
+1570 -175
drivers/interconnect/qcom/sm8250.c
··· 16 16 #include "icc-rpmh.h" 17 17 #include "sm8250.h" 18 18 19 - DEFINE_QNODE(qhm_a1noc_cfg, SM8250_MASTER_A1NOC_CFG, 1, 4, SM8250_SLAVE_SERVICE_A1NOC); 20 - DEFINE_QNODE(qhm_qspi, SM8250_MASTER_QSPI_0, 1, 4, SM8250_A1NOC_SNOC_SLV); 21 - DEFINE_QNODE(qhm_qup1, SM8250_MASTER_QUP_1, 1, 4, SM8250_A1NOC_SNOC_SLV); 22 - DEFINE_QNODE(qhm_qup2, SM8250_MASTER_QUP_2, 1, 4, SM8250_A1NOC_SNOC_SLV); 23 - DEFINE_QNODE(qhm_tsif, SM8250_MASTER_TSIF, 1, 4, SM8250_A1NOC_SNOC_SLV); 24 - DEFINE_QNODE(xm_pcie3_modem, SM8250_MASTER_PCIE_2, 1, 8, SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1); 25 - DEFINE_QNODE(xm_sdc4, SM8250_MASTER_SDCC_4, 1, 8, SM8250_A1NOC_SNOC_SLV); 26 - DEFINE_QNODE(xm_ufs_mem, SM8250_MASTER_UFS_MEM, 1, 8, SM8250_A1NOC_SNOC_SLV); 27 - DEFINE_QNODE(xm_usb3_0, SM8250_MASTER_USB3, 1, 8, SM8250_A1NOC_SNOC_SLV); 28 - DEFINE_QNODE(xm_usb3_1, SM8250_MASTER_USB3_1, 1, 8, SM8250_A1NOC_SNOC_SLV); 29 - DEFINE_QNODE(qhm_a2noc_cfg, SM8250_MASTER_A2NOC_CFG, 1, 4, SM8250_SLAVE_SERVICE_A2NOC); 30 - DEFINE_QNODE(qhm_qdss_bam, SM8250_MASTER_QDSS_BAM, 1, 4, SM8250_A2NOC_SNOC_SLV); 31 - DEFINE_QNODE(qhm_qup0, SM8250_MASTER_QUP_0, 1, 4, SM8250_A2NOC_SNOC_SLV); 32 - DEFINE_QNODE(qnm_cnoc, SM8250_MASTER_CNOC_A2NOC, 1, 8, SM8250_A2NOC_SNOC_SLV); 33 - DEFINE_QNODE(qxm_crypto, SM8250_MASTER_CRYPTO_CORE_0, 1, 8, SM8250_A2NOC_SNOC_SLV); 34 - DEFINE_QNODE(qxm_ipa, SM8250_MASTER_IPA, 1, 8, SM8250_A2NOC_SNOC_SLV); 35 - DEFINE_QNODE(xm_pcie3_0, SM8250_MASTER_PCIE, 1, 8, SM8250_SLAVE_ANOC_PCIE_GEM_NOC); 36 - DEFINE_QNODE(xm_pcie3_1, SM8250_MASTER_PCIE_1, 1, 8, SM8250_SLAVE_ANOC_PCIE_GEM_NOC); 37 - DEFINE_QNODE(xm_qdss_etr, SM8250_MASTER_QDSS_ETR, 1, 8, SM8250_A2NOC_SNOC_SLV); 38 - DEFINE_QNODE(xm_sdc2, SM8250_MASTER_SDCC_2, 1, 8, SM8250_A2NOC_SNOC_SLV); 39 - DEFINE_QNODE(xm_ufs_card, SM8250_MASTER_UFS_CARD, 1, 8, SM8250_A2NOC_SNOC_SLV); 40 - DEFINE_QNODE(qnm_npu, SM8250_MASTER_NPU, 2, 32, SM8250_SLAVE_CDSP_MEM_NOC); 41 - DEFINE_QNODE(qnm_snoc, SM8250_SNOC_CNOC_MAS, 1, 8, SM8250_SLAVE_CDSP_CFG, SM8250_SLAVE_CAMERA_CFG, SM8250_SLAVE_TLMM_SOUTH, SM8250_SLAVE_TLMM_NORTH, SM8250_SLAVE_SDCC_4, SM8250_SLAVE_TLMM_WEST, SM8250_SLAVE_SDCC_2, SM8250_SLAVE_CNOC_MNOC_CFG, SM8250_SLAVE_UFS_MEM_CFG, SM8250_SLAVE_SNOC_CFG, SM8250_SLAVE_PDM, SM8250_SLAVE_CX_RDPM, SM8250_SLAVE_PCIE_1_CFG, SM8250_SLAVE_A2NOC_CFG, SM8250_SLAVE_QDSS_CFG, SM8250_SLAVE_DISPLAY_CFG, SM8250_SLAVE_PCIE_2_CFG, SM8250_SLAVE_TCSR, SM8250_SLAVE_DCC_CFG, SM8250_SLAVE_CNOC_DDRSS, SM8250_SLAVE_IPC_ROUTER_CFG, SM8250_SLAVE_PCIE_0_CFG, SM8250_SLAVE_RBCPR_MMCX_CFG, SM8250_SLAVE_NPU_CFG, SM8250_SLAVE_AHB2PHY_SOUTH, SM8250_SLAVE_AHB2PHY_NORTH, SM8250_SLAVE_GRAPHICS_3D_CFG, SM8250_SLAVE_VENUS_CFG, SM8250_SLAVE_TSIF, SM8250_SLAVE_IPA_CFG, SM8250_SLAVE_IMEM_CFG, SM8250_SLAVE_USB3, SM8250_SLAVE_SERVICE_CNOC, SM8250_SLAVE_UFS_CARD_CFG, SM8250_SLAVE_USB3_1, SM8250_SLAVE_LPASS, SM8250_SLAVE_RBCPR_CX_CFG, SM8250_SLAVE_A1NOC_CFG, SM8250_SLAVE_AOSS, SM8250_SLAVE_PRNG, SM8250_SLAVE_VSENSE_CTRL_CFG, SM8250_SLAVE_QSPI_0, SM8250_SLAVE_CRYPTO_0_CFG, SM8250_SLAVE_PIMEM_CFG, SM8250_SLAVE_RBCPR_MX_CFG, SM8250_SLAVE_QUP_0, SM8250_SLAVE_QUP_1, SM8250_SLAVE_QUP_2, SM8250_SLAVE_CLK_CTL); 42 - DEFINE_QNODE(xm_qdss_dap, SM8250_MASTER_QDSS_DAP, 1, 8, SM8250_SLAVE_CDSP_CFG, SM8250_SLAVE_CAMERA_CFG, SM8250_SLAVE_TLMM_SOUTH, SM8250_SLAVE_TLMM_NORTH, SM8250_SLAVE_SDCC_4, SM8250_SLAVE_TLMM_WEST, SM8250_SLAVE_SDCC_2, SM8250_SLAVE_CNOC_MNOC_CFG, SM8250_SLAVE_UFS_MEM_CFG, SM8250_SLAVE_SNOC_CFG, SM8250_SLAVE_PDM, SM8250_SLAVE_CX_RDPM, SM8250_SLAVE_PCIE_1_CFG, SM8250_SLAVE_A2NOC_CFG, SM8250_SLAVE_QDSS_CFG, SM8250_SLAVE_DISPLAY_CFG, SM8250_SLAVE_PCIE_2_CFG, SM8250_SLAVE_TCSR, SM8250_SLAVE_DCC_CFG, SM8250_SLAVE_CNOC_DDRSS, SM8250_SLAVE_IPC_ROUTER_CFG, SM8250_SLAVE_CNOC_A2NOC, SM8250_SLAVE_PCIE_0_CFG, SM8250_SLAVE_RBCPR_MMCX_CFG, SM8250_SLAVE_NPU_CFG, SM8250_SLAVE_AHB2PHY_SOUTH, SM8250_SLAVE_AHB2PHY_NORTH, SM8250_SLAVE_GRAPHICS_3D_CFG, SM8250_SLAVE_VENUS_CFG, SM8250_SLAVE_TSIF, SM8250_SLAVE_IPA_CFG, SM8250_SLAVE_IMEM_CFG, SM8250_SLAVE_USB3, SM8250_SLAVE_SERVICE_CNOC, SM8250_SLAVE_UFS_CARD_CFG, SM8250_SLAVE_USB3_1, SM8250_SLAVE_LPASS, SM8250_SLAVE_RBCPR_CX_CFG, SM8250_SLAVE_A1NOC_CFG, SM8250_SLAVE_AOSS, SM8250_SLAVE_PRNG, SM8250_SLAVE_VSENSE_CTRL_CFG, SM8250_SLAVE_QSPI_0, SM8250_SLAVE_CRYPTO_0_CFG, SM8250_SLAVE_PIMEM_CFG, SM8250_SLAVE_RBCPR_MX_CFG, SM8250_SLAVE_QUP_0, SM8250_SLAVE_QUP_1, SM8250_SLAVE_QUP_2, SM8250_SLAVE_CLK_CTL); 43 - DEFINE_QNODE(qhm_cnoc_dc_noc, SM8250_MASTER_CNOC_DC_NOC, 1, 4, SM8250_SLAVE_GEM_NOC_CFG, SM8250_SLAVE_LLCC_CFG); 44 - DEFINE_QNODE(alm_gpu_tcu, SM8250_MASTER_GPU_TCU, 1, 8, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC); 45 - DEFINE_QNODE(alm_sys_tcu, SM8250_MASTER_SYS_TCU, 1, 8, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC); 46 - DEFINE_QNODE(chm_apps, SM8250_MASTER_AMPSS_M0, 2, 32, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC, SM8250_SLAVE_MEM_NOC_PCIE_SNOC); 47 - DEFINE_QNODE(qhm_gemnoc_cfg, SM8250_MASTER_GEM_NOC_CFG, 1, 4, SM8250_SLAVE_SERVICE_GEM_NOC_2, SM8250_SLAVE_SERVICE_GEM_NOC_1, SM8250_SLAVE_SERVICE_GEM_NOC); 48 - DEFINE_QNODE(qnm_cmpnoc, SM8250_MASTER_COMPUTE_NOC, 2, 32, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC); 49 - DEFINE_QNODE(qnm_gpu, SM8250_MASTER_GRAPHICS_3D, 2, 32, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC); 50 - DEFINE_QNODE(qnm_mnoc_hf, SM8250_MASTER_MNOC_HF_MEM_NOC, 2, 32, SM8250_SLAVE_LLCC); 51 - DEFINE_QNODE(qnm_mnoc_sf, SM8250_MASTER_MNOC_SF_MEM_NOC, 2, 32, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC); 52 - DEFINE_QNODE(qnm_pcie, SM8250_MASTER_ANOC_PCIE_GEM_NOC, 1, 16, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC); 53 - DEFINE_QNODE(qnm_snoc_gc, SM8250_MASTER_SNOC_GC_MEM_NOC, 1, 8, SM8250_SLAVE_LLCC); 54 - DEFINE_QNODE(qnm_snoc_sf, SM8250_MASTER_SNOC_SF_MEM_NOC, 1, 16, SM8250_SLAVE_LLCC, SM8250_SLAVE_GEM_NOC_SNOC, SM8250_SLAVE_MEM_NOC_PCIE_SNOC); 55 - DEFINE_QNODE(llcc_mc, SM8250_MASTER_LLCC, 4, 4, SM8250_SLAVE_EBI_CH0); 56 - DEFINE_QNODE(qhm_mnoc_cfg, SM8250_MASTER_CNOC_MNOC_CFG, 1, 4, SM8250_SLAVE_SERVICE_MNOC); 57 - DEFINE_QNODE(qnm_camnoc_hf, SM8250_MASTER_CAMNOC_HF, 2, 32, SM8250_SLAVE_MNOC_HF_MEM_NOC); 58 - DEFINE_QNODE(qnm_camnoc_icp, SM8250_MASTER_CAMNOC_ICP, 1, 8, SM8250_SLAVE_MNOC_SF_MEM_NOC); 59 - DEFINE_QNODE(qnm_camnoc_sf, SM8250_MASTER_CAMNOC_SF, 2, 32, SM8250_SLAVE_MNOC_SF_MEM_NOC); 60 - DEFINE_QNODE(qnm_video0, SM8250_MASTER_VIDEO_P0, 1, 32, SM8250_SLAVE_MNOC_SF_MEM_NOC); 61 - DEFINE_QNODE(qnm_video1, SM8250_MASTER_VIDEO_P1, 1, 32, SM8250_SLAVE_MNOC_SF_MEM_NOC); 62 - DEFINE_QNODE(qnm_video_cvp, SM8250_MASTER_VIDEO_PROC, 1, 32, SM8250_SLAVE_MNOC_SF_MEM_NOC); 63 - DEFINE_QNODE(qxm_mdp0, SM8250_MASTER_MDP_PORT0, 1, 32, SM8250_SLAVE_MNOC_HF_MEM_NOC); 64 - DEFINE_QNODE(qxm_mdp1, SM8250_MASTER_MDP_PORT1, 1, 32, SM8250_SLAVE_MNOC_HF_MEM_NOC); 65 - DEFINE_QNODE(qxm_rot, SM8250_MASTER_ROTATOR, 1, 32, SM8250_SLAVE_MNOC_SF_MEM_NOC); 66 - DEFINE_QNODE(amm_npu_sys, SM8250_MASTER_NPU_SYS, 4, 32, SM8250_SLAVE_NPU_COMPUTE_NOC); 67 - DEFINE_QNODE(amm_npu_sys_cdp_w, SM8250_MASTER_NPU_CDP, 2, 16, SM8250_SLAVE_NPU_COMPUTE_NOC); 68 - DEFINE_QNODE(qhm_cfg, SM8250_MASTER_NPU_NOC_CFG, 1, 4, SM8250_SLAVE_SERVICE_NPU_NOC, SM8250_SLAVE_ISENSE_CFG, SM8250_SLAVE_NPU_LLM_CFG, SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG, SM8250_SLAVE_NPU_CP, SM8250_SLAVE_NPU_TCM, SM8250_SLAVE_NPU_CAL_DP0, SM8250_SLAVE_NPU_CAL_DP1, SM8250_SLAVE_NPU_DPM); 69 - DEFINE_QNODE(qhm_snoc_cfg, SM8250_MASTER_SNOC_CFG, 1, 4, SM8250_SLAVE_SERVICE_SNOC); 70 - DEFINE_QNODE(qnm_aggre1_noc, SM8250_A1NOC_SNOC_MAS, 1, 16, SM8250_SLAVE_SNOC_GEM_NOC_SF); 71 - DEFINE_QNODE(qnm_aggre2_noc, SM8250_A2NOC_SNOC_MAS, 1, 16, SM8250_SLAVE_SNOC_GEM_NOC_SF); 72 - DEFINE_QNODE(qnm_gemnoc, SM8250_MASTER_GEM_NOC_SNOC, 1, 16, SM8250_SLAVE_PIMEM, SM8250_SLAVE_OCIMEM, SM8250_SLAVE_APPSS, SM8250_SNOC_CNOC_SLV, SM8250_SLAVE_TCU, SM8250_SLAVE_QDSS_STM); 73 - DEFINE_QNODE(qnm_gemnoc_pcie, SM8250_MASTER_GEM_NOC_PCIE_SNOC, 1, 8, SM8250_SLAVE_PCIE_2, SM8250_SLAVE_PCIE_0, SM8250_SLAVE_PCIE_1); 74 - DEFINE_QNODE(qxm_pimem, SM8250_MASTER_PIMEM, 1, 8, SM8250_SLAVE_SNOC_GEM_NOC_GC); 75 - DEFINE_QNODE(xm_gic, SM8250_MASTER_GIC, 1, 8, SM8250_SLAVE_SNOC_GEM_NOC_GC); 76 - DEFINE_QNODE(qns_a1noc_snoc, SM8250_A1NOC_SNOC_SLV, 1, 16, SM8250_A1NOC_SNOC_MAS); 77 - DEFINE_QNODE(qns_pcie_modem_mem_noc, SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1, 1, 16, SM8250_MASTER_ANOC_PCIE_GEM_NOC); 78 - DEFINE_QNODE(srvc_aggre1_noc, SM8250_SLAVE_SERVICE_A1NOC, 1, 4); 79 - DEFINE_QNODE(qns_a2noc_snoc, SM8250_A2NOC_SNOC_SLV, 1, 16, SM8250_A2NOC_SNOC_MAS); 80 - DEFINE_QNODE(qns_pcie_mem_noc, SM8250_SLAVE_ANOC_PCIE_GEM_NOC, 1, 16, SM8250_MASTER_ANOC_PCIE_GEM_NOC); 81 - DEFINE_QNODE(srvc_aggre2_noc, SM8250_SLAVE_SERVICE_A2NOC, 1, 4); 82 - DEFINE_QNODE(qns_cdsp_mem_noc, SM8250_SLAVE_CDSP_MEM_NOC, 2, 32, SM8250_MASTER_COMPUTE_NOC); 83 - DEFINE_QNODE(qhs_a1_noc_cfg, SM8250_SLAVE_A1NOC_CFG, 1, 4, SM8250_MASTER_A1NOC_CFG); 84 - DEFINE_QNODE(qhs_a2_noc_cfg, SM8250_SLAVE_A2NOC_CFG, 1, 4, SM8250_MASTER_A2NOC_CFG); 85 - DEFINE_QNODE(qhs_ahb2phy0, SM8250_SLAVE_AHB2PHY_SOUTH, 1, 4); 86 - DEFINE_QNODE(qhs_ahb2phy1, SM8250_SLAVE_AHB2PHY_NORTH, 1, 4); 87 - DEFINE_QNODE(qhs_aoss, SM8250_SLAVE_AOSS, 1, 4); 88 - DEFINE_QNODE(qhs_camera_cfg, SM8250_SLAVE_CAMERA_CFG, 1, 4); 89 - DEFINE_QNODE(qhs_clk_ctl, SM8250_SLAVE_CLK_CTL, 1, 4); 90 - DEFINE_QNODE(qhs_compute_dsp, SM8250_SLAVE_CDSP_CFG, 1, 4); 91 - DEFINE_QNODE(qhs_cpr_cx, SM8250_SLAVE_RBCPR_CX_CFG, 1, 4); 92 - DEFINE_QNODE(qhs_cpr_mmcx, SM8250_SLAVE_RBCPR_MMCX_CFG, 1, 4); 93 - DEFINE_QNODE(qhs_cpr_mx, SM8250_SLAVE_RBCPR_MX_CFG, 1, 4); 94 - DEFINE_QNODE(qhs_crypto0_cfg, SM8250_SLAVE_CRYPTO_0_CFG, 1, 4); 95 - DEFINE_QNODE(qhs_cx_rdpm, SM8250_SLAVE_CX_RDPM, 1, 4); 96 - DEFINE_QNODE(qhs_dcc_cfg, SM8250_SLAVE_DCC_CFG, 1, 4); 97 - DEFINE_QNODE(qhs_ddrss_cfg, SM8250_SLAVE_CNOC_DDRSS, 1, 4, SM8250_MASTER_CNOC_DC_NOC); 98 - DEFINE_QNODE(qhs_display_cfg, SM8250_SLAVE_DISPLAY_CFG, 1, 4); 99 - DEFINE_QNODE(qhs_gpuss_cfg, SM8250_SLAVE_GRAPHICS_3D_CFG, 1, 8); 100 - DEFINE_QNODE(qhs_imem_cfg, SM8250_SLAVE_IMEM_CFG, 1, 4); 101 - DEFINE_QNODE(qhs_ipa, SM8250_SLAVE_IPA_CFG, 1, 4); 102 - DEFINE_QNODE(qhs_ipc_router, SM8250_SLAVE_IPC_ROUTER_CFG, 1, 4); 103 - DEFINE_QNODE(qhs_lpass_cfg, SM8250_SLAVE_LPASS, 1, 4); 104 - DEFINE_QNODE(qhs_mnoc_cfg, SM8250_SLAVE_CNOC_MNOC_CFG, 1, 4, SM8250_MASTER_CNOC_MNOC_CFG); 105 - DEFINE_QNODE(qhs_npu_cfg, SM8250_SLAVE_NPU_CFG, 1, 4, SM8250_MASTER_NPU_NOC_CFG); 106 - DEFINE_QNODE(qhs_pcie0_cfg, SM8250_SLAVE_PCIE_0_CFG, 1, 4); 107 - DEFINE_QNODE(qhs_pcie1_cfg, SM8250_SLAVE_PCIE_1_CFG, 1, 4); 108 - DEFINE_QNODE(qhs_pcie_modem_cfg, SM8250_SLAVE_PCIE_2_CFG, 1, 4); 109 - DEFINE_QNODE(qhs_pdm, SM8250_SLAVE_PDM, 1, 4); 110 - DEFINE_QNODE(qhs_pimem_cfg, SM8250_SLAVE_PIMEM_CFG, 1, 4); 111 - DEFINE_QNODE(qhs_prng, SM8250_SLAVE_PRNG, 1, 4); 112 - DEFINE_QNODE(qhs_qdss_cfg, SM8250_SLAVE_QDSS_CFG, 1, 4); 113 - DEFINE_QNODE(qhs_qspi, SM8250_SLAVE_QSPI_0, 1, 4); 114 - DEFINE_QNODE(qhs_qup0, SM8250_SLAVE_QUP_0, 1, 4); 115 - DEFINE_QNODE(qhs_qup1, SM8250_SLAVE_QUP_1, 1, 4); 116 - DEFINE_QNODE(qhs_qup2, SM8250_SLAVE_QUP_2, 1, 4); 117 - DEFINE_QNODE(qhs_sdc2, SM8250_SLAVE_SDCC_2, 1, 4); 118 - DEFINE_QNODE(qhs_sdc4, SM8250_SLAVE_SDCC_4, 1, 4); 119 - DEFINE_QNODE(qhs_snoc_cfg, SM8250_SLAVE_SNOC_CFG, 1, 4, SM8250_MASTER_SNOC_CFG); 120 - DEFINE_QNODE(qhs_tcsr, SM8250_SLAVE_TCSR, 1, 4); 121 - DEFINE_QNODE(qhs_tlmm0, SM8250_SLAVE_TLMM_NORTH, 1, 4); 122 - DEFINE_QNODE(qhs_tlmm1, SM8250_SLAVE_TLMM_SOUTH, 1, 4); 123 - DEFINE_QNODE(qhs_tlmm2, SM8250_SLAVE_TLMM_WEST, 1, 4); 124 - DEFINE_QNODE(qhs_tsif, SM8250_SLAVE_TSIF, 1, 4); 125 - DEFINE_QNODE(qhs_ufs_card_cfg, SM8250_SLAVE_UFS_CARD_CFG, 1, 4); 126 - DEFINE_QNODE(qhs_ufs_mem_cfg, SM8250_SLAVE_UFS_MEM_CFG, 1, 4); 127 - DEFINE_QNODE(qhs_usb3_0, SM8250_SLAVE_USB3, 1, 4); 128 - DEFINE_QNODE(qhs_usb3_1, SM8250_SLAVE_USB3_1, 1, 4); 129 - DEFINE_QNODE(qhs_venus_cfg, SM8250_SLAVE_VENUS_CFG, 1, 4); 130 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SM8250_SLAVE_VSENSE_CTRL_CFG, 1, 4); 131 - DEFINE_QNODE(qns_cnoc_a2noc, SM8250_SLAVE_CNOC_A2NOC, 1, 8, SM8250_MASTER_CNOC_A2NOC); 132 - DEFINE_QNODE(srvc_cnoc, SM8250_SLAVE_SERVICE_CNOC, 1, 4); 133 - DEFINE_QNODE(qhs_llcc, SM8250_SLAVE_LLCC_CFG, 1, 4); 134 - DEFINE_QNODE(qhs_memnoc, SM8250_SLAVE_GEM_NOC_CFG, 1, 4, SM8250_MASTER_GEM_NOC_CFG); 135 - DEFINE_QNODE(qns_gem_noc_snoc, SM8250_SLAVE_GEM_NOC_SNOC, 1, 16, SM8250_MASTER_GEM_NOC_SNOC); 136 - DEFINE_QNODE(qns_llcc, SM8250_SLAVE_LLCC, 4, 16, SM8250_MASTER_LLCC); 137 - DEFINE_QNODE(qns_sys_pcie, SM8250_SLAVE_MEM_NOC_PCIE_SNOC, 1, 8, SM8250_MASTER_GEM_NOC_PCIE_SNOC); 138 - DEFINE_QNODE(srvc_even_gemnoc, SM8250_SLAVE_SERVICE_GEM_NOC_1, 1, 4); 139 - DEFINE_QNODE(srvc_odd_gemnoc, SM8250_SLAVE_SERVICE_GEM_NOC_2, 1, 4); 140 - DEFINE_QNODE(srvc_sys_gemnoc, SM8250_SLAVE_SERVICE_GEM_NOC, 1, 4); 141 - DEFINE_QNODE(ebi, SM8250_SLAVE_EBI_CH0, 4, 4); 142 - DEFINE_QNODE(qns_mem_noc_hf, SM8250_SLAVE_MNOC_HF_MEM_NOC, 2, 32, SM8250_MASTER_MNOC_HF_MEM_NOC); 143 - DEFINE_QNODE(qns_mem_noc_sf, SM8250_SLAVE_MNOC_SF_MEM_NOC, 2, 32, SM8250_MASTER_MNOC_SF_MEM_NOC); 144 - DEFINE_QNODE(srvc_mnoc, SM8250_SLAVE_SERVICE_MNOC, 1, 4); 145 - DEFINE_QNODE(qhs_cal_dp0, SM8250_SLAVE_NPU_CAL_DP0, 1, 4); 146 - DEFINE_QNODE(qhs_cal_dp1, SM8250_SLAVE_NPU_CAL_DP1, 1, 4); 147 - DEFINE_QNODE(qhs_cp, SM8250_SLAVE_NPU_CP, 1, 4); 148 - DEFINE_QNODE(qhs_dma_bwmon, SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG, 1, 4); 149 - DEFINE_QNODE(qhs_dpm, SM8250_SLAVE_NPU_DPM, 1, 4); 150 - DEFINE_QNODE(qhs_isense, SM8250_SLAVE_ISENSE_CFG, 1, 4); 151 - DEFINE_QNODE(qhs_llm, SM8250_SLAVE_NPU_LLM_CFG, 1, 4); 152 - DEFINE_QNODE(qhs_tcm, SM8250_SLAVE_NPU_TCM, 1, 4); 153 - DEFINE_QNODE(qns_npu_sys, SM8250_SLAVE_NPU_COMPUTE_NOC, 2, 32); 154 - DEFINE_QNODE(srvc_noc, SM8250_SLAVE_SERVICE_NPU_NOC, 1, 4); 155 - DEFINE_QNODE(qhs_apss, SM8250_SLAVE_APPSS, 1, 8); 156 - DEFINE_QNODE(qns_cnoc, SM8250_SNOC_CNOC_SLV, 1, 8, SM8250_SNOC_CNOC_MAS); 157 - DEFINE_QNODE(qns_gemnoc_gc, SM8250_SLAVE_SNOC_GEM_NOC_GC, 1, 8, SM8250_MASTER_SNOC_GC_MEM_NOC); 158 - DEFINE_QNODE(qns_gemnoc_sf, SM8250_SLAVE_SNOC_GEM_NOC_SF, 1, 16, SM8250_MASTER_SNOC_SF_MEM_NOC); 159 - DEFINE_QNODE(qxs_imem, SM8250_SLAVE_OCIMEM, 1, 8); 160 - DEFINE_QNODE(qxs_pimem, SM8250_SLAVE_PIMEM, 1, 8); 161 - DEFINE_QNODE(srvc_snoc, SM8250_SLAVE_SERVICE_SNOC, 1, 4); 162 - DEFINE_QNODE(xs_pcie_0, SM8250_SLAVE_PCIE_0, 1, 8); 163 - DEFINE_QNODE(xs_pcie_1, SM8250_SLAVE_PCIE_1, 1, 8); 164 - DEFINE_QNODE(xs_pcie_modem, SM8250_SLAVE_PCIE_2, 1, 8); 165 - DEFINE_QNODE(xs_qdss_stm, SM8250_SLAVE_QDSS_STM, 1, 4); 166 - DEFINE_QNODE(xs_sys_tcu_cfg, SM8250_SLAVE_TCU, 1, 8); 19 + static struct qcom_icc_node qhm_a1noc_cfg = { 20 + .name = "qhm_a1noc_cfg", 21 + .id = SM8250_MASTER_A1NOC_CFG, 22 + .channels = 1, 23 + .buswidth = 4, 24 + .num_links = 1, 25 + .links = { SM8250_SLAVE_SERVICE_A1NOC }, 26 + }; 27 + 28 + static struct qcom_icc_node qhm_qspi = { 29 + .name = "qhm_qspi", 30 + .id = SM8250_MASTER_QSPI_0, 31 + .channels = 1, 32 + .buswidth = 4, 33 + .num_links = 1, 34 + .links = { SM8250_A1NOC_SNOC_SLV }, 35 + }; 36 + 37 + static struct qcom_icc_node qhm_qup1 = { 38 + .name = "qhm_qup1", 39 + .id = SM8250_MASTER_QUP_1, 40 + .channels = 1, 41 + .buswidth = 4, 42 + .num_links = 1, 43 + .links = { SM8250_A1NOC_SNOC_SLV }, 44 + }; 45 + 46 + static struct qcom_icc_node qhm_qup2 = { 47 + .name = "qhm_qup2", 48 + .id = SM8250_MASTER_QUP_2, 49 + .channels = 1, 50 + .buswidth = 4, 51 + .num_links = 1, 52 + .links = { SM8250_A1NOC_SNOC_SLV }, 53 + }; 54 + 55 + static struct qcom_icc_node qhm_tsif = { 56 + .name = "qhm_tsif", 57 + .id = SM8250_MASTER_TSIF, 58 + .channels = 1, 59 + .buswidth = 4, 60 + .num_links = 1, 61 + .links = { SM8250_A1NOC_SNOC_SLV }, 62 + }; 63 + 64 + static struct qcom_icc_node xm_pcie3_modem = { 65 + .name = "xm_pcie3_modem", 66 + .id = SM8250_MASTER_PCIE_2, 67 + .channels = 1, 68 + .buswidth = 8, 69 + .num_links = 1, 70 + .links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1 }, 71 + }; 72 + 73 + static struct qcom_icc_node xm_sdc4 = { 74 + .name = "xm_sdc4", 75 + .id = SM8250_MASTER_SDCC_4, 76 + .channels = 1, 77 + .buswidth = 8, 78 + .num_links = 1, 79 + .links = { SM8250_A1NOC_SNOC_SLV }, 80 + }; 81 + 82 + static struct qcom_icc_node xm_ufs_mem = { 83 + .name = "xm_ufs_mem", 84 + .id = SM8250_MASTER_UFS_MEM, 85 + .channels = 1, 86 + .buswidth = 8, 87 + .num_links = 1, 88 + .links = { SM8250_A1NOC_SNOC_SLV }, 89 + }; 90 + 91 + static struct qcom_icc_node xm_usb3_0 = { 92 + .name = "xm_usb3_0", 93 + .id = SM8250_MASTER_USB3, 94 + .channels = 1, 95 + .buswidth = 8, 96 + .num_links = 1, 97 + .links = { SM8250_A1NOC_SNOC_SLV }, 98 + }; 99 + 100 + static struct qcom_icc_node xm_usb3_1 = { 101 + .name = "xm_usb3_1", 102 + .id = SM8250_MASTER_USB3_1, 103 + .channels = 1, 104 + .buswidth = 8, 105 + .num_links = 1, 106 + .links = { SM8250_A1NOC_SNOC_SLV }, 107 + }; 108 + 109 + static struct qcom_icc_node qhm_a2noc_cfg = { 110 + .name = "qhm_a2noc_cfg", 111 + .id = SM8250_MASTER_A2NOC_CFG, 112 + .channels = 1, 113 + .buswidth = 4, 114 + .num_links = 1, 115 + .links = { SM8250_SLAVE_SERVICE_A2NOC }, 116 + }; 117 + 118 + static struct qcom_icc_node qhm_qdss_bam = { 119 + .name = "qhm_qdss_bam", 120 + .id = SM8250_MASTER_QDSS_BAM, 121 + .channels = 1, 122 + .buswidth = 4, 123 + .num_links = 1, 124 + .links = { SM8250_A2NOC_SNOC_SLV }, 125 + }; 126 + 127 + static struct qcom_icc_node qhm_qup0 = { 128 + .name = "qhm_qup0", 129 + .id = SM8250_MASTER_QUP_0, 130 + .channels = 1, 131 + .buswidth = 4, 132 + .num_links = 1, 133 + .links = { SM8250_A2NOC_SNOC_SLV }, 134 + }; 135 + 136 + static struct qcom_icc_node qnm_cnoc = { 137 + .name = "qnm_cnoc", 138 + .id = SM8250_MASTER_CNOC_A2NOC, 139 + .channels = 1, 140 + .buswidth = 8, 141 + .num_links = 1, 142 + .links = { SM8250_A2NOC_SNOC_SLV }, 143 + }; 144 + 145 + static struct qcom_icc_node qxm_crypto = { 146 + .name = "qxm_crypto", 147 + .id = SM8250_MASTER_CRYPTO_CORE_0, 148 + .channels = 1, 149 + .buswidth = 8, 150 + .num_links = 1, 151 + .links = { SM8250_A2NOC_SNOC_SLV }, 152 + }; 153 + 154 + static struct qcom_icc_node qxm_ipa = { 155 + .name = "qxm_ipa", 156 + .id = SM8250_MASTER_IPA, 157 + .channels = 1, 158 + .buswidth = 8, 159 + .num_links = 1, 160 + .links = { SM8250_A2NOC_SNOC_SLV }, 161 + }; 162 + 163 + static struct qcom_icc_node xm_pcie3_0 = { 164 + .name = "xm_pcie3_0", 165 + .id = SM8250_MASTER_PCIE, 166 + .channels = 1, 167 + .buswidth = 8, 168 + .num_links = 1, 169 + .links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC }, 170 + }; 171 + 172 + static struct qcom_icc_node xm_pcie3_1 = { 173 + .name = "xm_pcie3_1", 174 + .id = SM8250_MASTER_PCIE_1, 175 + .channels = 1, 176 + .buswidth = 8, 177 + .num_links = 1, 178 + .links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC }, 179 + }; 180 + 181 + static struct qcom_icc_node xm_qdss_etr = { 182 + .name = "xm_qdss_etr", 183 + .id = SM8250_MASTER_QDSS_ETR, 184 + .channels = 1, 185 + .buswidth = 8, 186 + .num_links = 1, 187 + .links = { SM8250_A2NOC_SNOC_SLV }, 188 + }; 189 + 190 + static struct qcom_icc_node xm_sdc2 = { 191 + .name = "xm_sdc2", 192 + .id = SM8250_MASTER_SDCC_2, 193 + .channels = 1, 194 + .buswidth = 8, 195 + .num_links = 1, 196 + .links = { SM8250_A2NOC_SNOC_SLV }, 197 + }; 198 + 199 + static struct qcom_icc_node xm_ufs_card = { 200 + .name = "xm_ufs_card", 201 + .id = SM8250_MASTER_UFS_CARD, 202 + .channels = 1, 203 + .buswidth = 8, 204 + .num_links = 1, 205 + .links = { SM8250_A2NOC_SNOC_SLV }, 206 + }; 207 + 208 + static struct qcom_icc_node qnm_npu = { 209 + .name = "qnm_npu", 210 + .id = SM8250_MASTER_NPU, 211 + .channels = 2, 212 + .buswidth = 32, 213 + .num_links = 1, 214 + .links = { SM8250_SLAVE_CDSP_MEM_NOC }, 215 + }; 216 + 217 + static struct qcom_icc_node qnm_snoc = { 218 + .name = "qnm_snoc", 219 + .id = SM8250_SNOC_CNOC_MAS, 220 + .channels = 1, 221 + .buswidth = 8, 222 + .num_links = 49, 223 + .links = { SM8250_SLAVE_CDSP_CFG, 224 + SM8250_SLAVE_CAMERA_CFG, 225 + SM8250_SLAVE_TLMM_SOUTH, 226 + SM8250_SLAVE_TLMM_NORTH, 227 + SM8250_SLAVE_SDCC_4, 228 + SM8250_SLAVE_TLMM_WEST, 229 + SM8250_SLAVE_SDCC_2, 230 + SM8250_SLAVE_CNOC_MNOC_CFG, 231 + SM8250_SLAVE_UFS_MEM_CFG, 232 + SM8250_SLAVE_SNOC_CFG, 233 + SM8250_SLAVE_PDM, 234 + SM8250_SLAVE_CX_RDPM, 235 + SM8250_SLAVE_PCIE_1_CFG, 236 + SM8250_SLAVE_A2NOC_CFG, 237 + SM8250_SLAVE_QDSS_CFG, 238 + SM8250_SLAVE_DISPLAY_CFG, 239 + SM8250_SLAVE_PCIE_2_CFG, 240 + SM8250_SLAVE_TCSR, 241 + SM8250_SLAVE_DCC_CFG, 242 + SM8250_SLAVE_CNOC_DDRSS, 243 + SM8250_SLAVE_IPC_ROUTER_CFG, 244 + SM8250_SLAVE_PCIE_0_CFG, 245 + SM8250_SLAVE_RBCPR_MMCX_CFG, 246 + SM8250_SLAVE_NPU_CFG, 247 + SM8250_SLAVE_AHB2PHY_SOUTH, 248 + SM8250_SLAVE_AHB2PHY_NORTH, 249 + SM8250_SLAVE_GRAPHICS_3D_CFG, 250 + SM8250_SLAVE_VENUS_CFG, 251 + SM8250_SLAVE_TSIF, 252 + SM8250_SLAVE_IPA_CFG, 253 + SM8250_SLAVE_IMEM_CFG, 254 + SM8250_SLAVE_USB3, 255 + SM8250_SLAVE_SERVICE_CNOC, 256 + SM8250_SLAVE_UFS_CARD_CFG, 257 + SM8250_SLAVE_USB3_1, 258 + SM8250_SLAVE_LPASS, 259 + SM8250_SLAVE_RBCPR_CX_CFG, 260 + SM8250_SLAVE_A1NOC_CFG, 261 + SM8250_SLAVE_AOSS, 262 + SM8250_SLAVE_PRNG, 263 + SM8250_SLAVE_VSENSE_CTRL_CFG, 264 + SM8250_SLAVE_QSPI_0, 265 + SM8250_SLAVE_CRYPTO_0_CFG, 266 + SM8250_SLAVE_PIMEM_CFG, 267 + SM8250_SLAVE_RBCPR_MX_CFG, 268 + SM8250_SLAVE_QUP_0, 269 + SM8250_SLAVE_QUP_1, 270 + SM8250_SLAVE_QUP_2, 271 + SM8250_SLAVE_CLK_CTL 272 + }, 273 + }; 274 + 275 + static struct qcom_icc_node xm_qdss_dap = { 276 + .name = "xm_qdss_dap", 277 + .id = SM8250_MASTER_QDSS_DAP, 278 + .channels = 1, 279 + .buswidth = 8, 280 + .num_links = 50, 281 + .links = { SM8250_SLAVE_CDSP_CFG, 282 + SM8250_SLAVE_CAMERA_CFG, 283 + SM8250_SLAVE_TLMM_SOUTH, 284 + SM8250_SLAVE_TLMM_NORTH, 285 + SM8250_SLAVE_SDCC_4, 286 + SM8250_SLAVE_TLMM_WEST, 287 + SM8250_SLAVE_SDCC_2, 288 + SM8250_SLAVE_CNOC_MNOC_CFG, 289 + SM8250_SLAVE_UFS_MEM_CFG, 290 + SM8250_SLAVE_SNOC_CFG, 291 + SM8250_SLAVE_PDM, 292 + SM8250_SLAVE_CX_RDPM, 293 + SM8250_SLAVE_PCIE_1_CFG, 294 + SM8250_SLAVE_A2NOC_CFG, 295 + SM8250_SLAVE_QDSS_CFG, 296 + SM8250_SLAVE_DISPLAY_CFG, 297 + SM8250_SLAVE_PCIE_2_CFG, 298 + SM8250_SLAVE_TCSR, 299 + SM8250_SLAVE_DCC_CFG, 300 + SM8250_SLAVE_CNOC_DDRSS, 301 + SM8250_SLAVE_IPC_ROUTER_CFG, 302 + SM8250_SLAVE_CNOC_A2NOC, 303 + SM8250_SLAVE_PCIE_0_CFG, 304 + SM8250_SLAVE_RBCPR_MMCX_CFG, 305 + SM8250_SLAVE_NPU_CFG, 306 + SM8250_SLAVE_AHB2PHY_SOUTH, 307 + SM8250_SLAVE_AHB2PHY_NORTH, 308 + SM8250_SLAVE_GRAPHICS_3D_CFG, 309 + SM8250_SLAVE_VENUS_CFG, 310 + SM8250_SLAVE_TSIF, 311 + SM8250_SLAVE_IPA_CFG, 312 + SM8250_SLAVE_IMEM_CFG, 313 + SM8250_SLAVE_USB3, 314 + SM8250_SLAVE_SERVICE_CNOC, 315 + SM8250_SLAVE_UFS_CARD_CFG, 316 + SM8250_SLAVE_USB3_1, 317 + SM8250_SLAVE_LPASS, 318 + SM8250_SLAVE_RBCPR_CX_CFG, 319 + SM8250_SLAVE_A1NOC_CFG, 320 + SM8250_SLAVE_AOSS, 321 + SM8250_SLAVE_PRNG, 322 + SM8250_SLAVE_VSENSE_CTRL_CFG, 323 + SM8250_SLAVE_QSPI_0, 324 + SM8250_SLAVE_CRYPTO_0_CFG, 325 + SM8250_SLAVE_PIMEM_CFG, 326 + SM8250_SLAVE_RBCPR_MX_CFG, 327 + SM8250_SLAVE_QUP_0, 328 + SM8250_SLAVE_QUP_1, 329 + SM8250_SLAVE_QUP_2, 330 + SM8250_SLAVE_CLK_CTL 331 + }, 332 + }; 333 + 334 + static struct qcom_icc_node qhm_cnoc_dc_noc = { 335 + .name = "qhm_cnoc_dc_noc", 336 + .id = SM8250_MASTER_CNOC_DC_NOC, 337 + .channels = 1, 338 + .buswidth = 4, 339 + .num_links = 2, 340 + .links = { SM8250_SLAVE_GEM_NOC_CFG, 341 + SM8250_SLAVE_LLCC_CFG 342 + }, 343 + }; 344 + 345 + static struct qcom_icc_node alm_gpu_tcu = { 346 + .name = "alm_gpu_tcu", 347 + .id = SM8250_MASTER_GPU_TCU, 348 + .channels = 1, 349 + .buswidth = 8, 350 + .num_links = 2, 351 + .links = { SM8250_SLAVE_LLCC, 352 + SM8250_SLAVE_GEM_NOC_SNOC 353 + }, 354 + }; 355 + 356 + static struct qcom_icc_node alm_sys_tcu = { 357 + .name = "alm_sys_tcu", 358 + .id = SM8250_MASTER_SYS_TCU, 359 + .channels = 1, 360 + .buswidth = 8, 361 + .num_links = 2, 362 + .links = { SM8250_SLAVE_LLCC, 363 + SM8250_SLAVE_GEM_NOC_SNOC 364 + }, 365 + }; 366 + 367 + static struct qcom_icc_node chm_apps = { 368 + .name = "chm_apps", 369 + .id = SM8250_MASTER_AMPSS_M0, 370 + .channels = 2, 371 + .buswidth = 32, 372 + .num_links = 3, 373 + .links = { SM8250_SLAVE_LLCC, 374 + SM8250_SLAVE_GEM_NOC_SNOC, 375 + SM8250_SLAVE_MEM_NOC_PCIE_SNOC 376 + }, 377 + }; 378 + 379 + static struct qcom_icc_node qhm_gemnoc_cfg = { 380 + .name = "qhm_gemnoc_cfg", 381 + .id = SM8250_MASTER_GEM_NOC_CFG, 382 + .channels = 1, 383 + .buswidth = 4, 384 + .num_links = 3, 385 + .links = { SM8250_SLAVE_SERVICE_GEM_NOC_2, 386 + SM8250_SLAVE_SERVICE_GEM_NOC_1, 387 + SM8250_SLAVE_SERVICE_GEM_NOC 388 + }, 389 + }; 390 + 391 + static struct qcom_icc_node qnm_cmpnoc = { 392 + .name = "qnm_cmpnoc", 393 + .id = SM8250_MASTER_COMPUTE_NOC, 394 + .channels = 2, 395 + .buswidth = 32, 396 + .num_links = 2, 397 + .links = { SM8250_SLAVE_LLCC, 398 + SM8250_SLAVE_GEM_NOC_SNOC 399 + }, 400 + }; 401 + 402 + static struct qcom_icc_node qnm_gpu = { 403 + .name = "qnm_gpu", 404 + .id = SM8250_MASTER_GRAPHICS_3D, 405 + .channels = 2, 406 + .buswidth = 32, 407 + .num_links = 2, 408 + .links = { SM8250_SLAVE_LLCC, 409 + SM8250_SLAVE_GEM_NOC_SNOC }, 410 + }; 411 + 412 + static struct qcom_icc_node qnm_mnoc_hf = { 413 + .name = "qnm_mnoc_hf", 414 + .id = SM8250_MASTER_MNOC_HF_MEM_NOC, 415 + .channels = 2, 416 + .buswidth = 32, 417 + .num_links = 1, 418 + .links = { SM8250_SLAVE_LLCC }, 419 + }; 420 + 421 + static struct qcom_icc_node qnm_mnoc_sf = { 422 + .name = "qnm_mnoc_sf", 423 + .id = SM8250_MASTER_MNOC_SF_MEM_NOC, 424 + .channels = 2, 425 + .buswidth = 32, 426 + .num_links = 2, 427 + .links = { SM8250_SLAVE_LLCC, 428 + SM8250_SLAVE_GEM_NOC_SNOC 429 + }, 430 + }; 431 + 432 + static struct qcom_icc_node qnm_pcie = { 433 + .name = "qnm_pcie", 434 + .id = SM8250_MASTER_ANOC_PCIE_GEM_NOC, 435 + .channels = 1, 436 + .buswidth = 16, 437 + .num_links = 2, 438 + .links = { SM8250_SLAVE_LLCC, 439 + SM8250_SLAVE_GEM_NOC_SNOC 440 + }, 441 + }; 442 + 443 + static struct qcom_icc_node qnm_snoc_gc = { 444 + .name = "qnm_snoc_gc", 445 + .id = SM8250_MASTER_SNOC_GC_MEM_NOC, 446 + .channels = 1, 447 + .buswidth = 8, 448 + .num_links = 1, 449 + .links = { SM8250_SLAVE_LLCC }, 450 + }; 451 + 452 + static struct qcom_icc_node qnm_snoc_sf = { 453 + .name = "qnm_snoc_sf", 454 + .id = SM8250_MASTER_SNOC_SF_MEM_NOC, 455 + .channels = 1, 456 + .buswidth = 16, 457 + .num_links = 3, 458 + .links = { SM8250_SLAVE_LLCC, 459 + SM8250_SLAVE_GEM_NOC_SNOC, 460 + SM8250_SLAVE_MEM_NOC_PCIE_SNOC 461 + }, 462 + }; 463 + 464 + static struct qcom_icc_node llcc_mc = { 465 + .name = "llcc_mc", 466 + .id = SM8250_MASTER_LLCC, 467 + .channels = 4, 468 + .buswidth = 4, 469 + .num_links = 1, 470 + .links = { SM8250_SLAVE_EBI_CH0 }, 471 + }; 472 + 473 + static struct qcom_icc_node qhm_mnoc_cfg = { 474 + .name = "qhm_mnoc_cfg", 475 + .id = SM8250_MASTER_CNOC_MNOC_CFG, 476 + .channels = 1, 477 + .buswidth = 4, 478 + .num_links = 1, 479 + .links = { SM8250_SLAVE_SERVICE_MNOC }, 480 + }; 481 + 482 + static struct qcom_icc_node qnm_camnoc_hf = { 483 + .name = "qnm_camnoc_hf", 484 + .id = SM8250_MASTER_CAMNOC_HF, 485 + .channels = 2, 486 + .buswidth = 32, 487 + .num_links = 1, 488 + .links = { SM8250_SLAVE_MNOC_HF_MEM_NOC }, 489 + }; 490 + 491 + static struct qcom_icc_node qnm_camnoc_icp = { 492 + .name = "qnm_camnoc_icp", 493 + .id = SM8250_MASTER_CAMNOC_ICP, 494 + .channels = 1, 495 + .buswidth = 8, 496 + .num_links = 1, 497 + .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 498 + }; 499 + 500 + static struct qcom_icc_node qnm_camnoc_sf = { 501 + .name = "qnm_camnoc_sf", 502 + .id = SM8250_MASTER_CAMNOC_SF, 503 + .channels = 2, 504 + .buswidth = 32, 505 + .num_links = 1, 506 + .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 507 + }; 508 + 509 + static struct qcom_icc_node qnm_video0 = { 510 + .name = "qnm_video0", 511 + .id = SM8250_MASTER_VIDEO_P0, 512 + .channels = 1, 513 + .buswidth = 32, 514 + .num_links = 1, 515 + .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 516 + }; 517 + 518 + static struct qcom_icc_node qnm_video1 = { 519 + .name = "qnm_video1", 520 + .id = SM8250_MASTER_VIDEO_P1, 521 + .channels = 1, 522 + .buswidth = 32, 523 + .num_links = 1, 524 + .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 525 + }; 526 + 527 + static struct qcom_icc_node qnm_video_cvp = { 528 + .name = "qnm_video_cvp", 529 + .id = SM8250_MASTER_VIDEO_PROC, 530 + .channels = 1, 531 + .buswidth = 32, 532 + .num_links = 1, 533 + .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 534 + }; 535 + 536 + static struct qcom_icc_node qxm_mdp0 = { 537 + .name = "qxm_mdp0", 538 + .id = SM8250_MASTER_MDP_PORT0, 539 + .channels = 1, 540 + .buswidth = 32, 541 + .num_links = 1, 542 + .links = { SM8250_SLAVE_MNOC_HF_MEM_NOC }, 543 + }; 544 + 545 + static struct qcom_icc_node qxm_mdp1 = { 546 + .name = "qxm_mdp1", 547 + .id = SM8250_MASTER_MDP_PORT1, 548 + .channels = 1, 549 + .buswidth = 32, 550 + .num_links = 1, 551 + .links = { SM8250_SLAVE_MNOC_HF_MEM_NOC }, 552 + }; 553 + 554 + static struct qcom_icc_node qxm_rot = { 555 + .name = "qxm_rot", 556 + .id = SM8250_MASTER_ROTATOR, 557 + .channels = 1, 558 + .buswidth = 32, 559 + .num_links = 1, 560 + .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 561 + }; 562 + 563 + static struct qcom_icc_node amm_npu_sys = { 564 + .name = "amm_npu_sys", 565 + .id = SM8250_MASTER_NPU_SYS, 566 + .channels = 4, 567 + .buswidth = 32, 568 + .num_links = 1, 569 + .links = { SM8250_SLAVE_NPU_COMPUTE_NOC }, 570 + }; 571 + 572 + static struct qcom_icc_node amm_npu_sys_cdp_w = { 573 + .name = "amm_npu_sys_cdp_w", 574 + .id = SM8250_MASTER_NPU_CDP, 575 + .channels = 2, 576 + .buswidth = 16, 577 + .num_links = 1, 578 + .links = { SM8250_SLAVE_NPU_COMPUTE_NOC }, 579 + }; 580 + 581 + static struct qcom_icc_node qhm_cfg = { 582 + .name = "qhm_cfg", 583 + .id = SM8250_MASTER_NPU_NOC_CFG, 584 + .channels = 1, 585 + .buswidth = 4, 586 + .num_links = 9, 587 + .links = { SM8250_SLAVE_SERVICE_NPU_NOC, 588 + SM8250_SLAVE_ISENSE_CFG, 589 + SM8250_SLAVE_NPU_LLM_CFG, 590 + SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG, 591 + SM8250_SLAVE_NPU_CP, 592 + SM8250_SLAVE_NPU_TCM, 593 + SM8250_SLAVE_NPU_CAL_DP0, 594 + SM8250_SLAVE_NPU_CAL_DP1, 595 + SM8250_SLAVE_NPU_DPM 596 + }, 597 + }; 598 + 599 + static struct qcom_icc_node qhm_snoc_cfg = { 600 + .name = "qhm_snoc_cfg", 601 + .id = SM8250_MASTER_SNOC_CFG, 602 + .channels = 1, 603 + .buswidth = 4, 604 + .num_links = 1, 605 + .links = { SM8250_SLAVE_SERVICE_SNOC }, 606 + }; 607 + 608 + static struct qcom_icc_node qnm_aggre1_noc = { 609 + .name = "qnm_aggre1_noc", 610 + .id = SM8250_A1NOC_SNOC_MAS, 611 + .channels = 1, 612 + .buswidth = 16, 613 + .num_links = 1, 614 + .links = { SM8250_SLAVE_SNOC_GEM_NOC_SF }, 615 + }; 616 + 617 + static struct qcom_icc_node qnm_aggre2_noc = { 618 + .name = "qnm_aggre2_noc", 619 + .id = SM8250_A2NOC_SNOC_MAS, 620 + .channels = 1, 621 + .buswidth = 16, 622 + .num_links = 1, 623 + .links = { SM8250_SLAVE_SNOC_GEM_NOC_SF }, 624 + }; 625 + 626 + static struct qcom_icc_node qnm_gemnoc = { 627 + .name = "qnm_gemnoc", 628 + .id = SM8250_MASTER_GEM_NOC_SNOC, 629 + .channels = 1, 630 + .buswidth = 16, 631 + .num_links = 6, 632 + .links = { SM8250_SLAVE_PIMEM, 633 + SM8250_SLAVE_OCIMEM, 634 + SM8250_SLAVE_APPSS, 635 + SM8250_SNOC_CNOC_SLV, 636 + SM8250_SLAVE_TCU, 637 + SM8250_SLAVE_QDSS_STM 638 + }, 639 + }; 640 + 641 + static struct qcom_icc_node qnm_gemnoc_pcie = { 642 + .name = "qnm_gemnoc_pcie", 643 + .id = SM8250_MASTER_GEM_NOC_PCIE_SNOC, 644 + .channels = 1, 645 + .buswidth = 8, 646 + .num_links = 3, 647 + .links = { SM8250_SLAVE_PCIE_2, 648 + SM8250_SLAVE_PCIE_0, 649 + SM8250_SLAVE_PCIE_1 650 + }, 651 + }; 652 + 653 + static struct qcom_icc_node qxm_pimem = { 654 + .name = "qxm_pimem", 655 + .id = SM8250_MASTER_PIMEM, 656 + .channels = 1, 657 + .buswidth = 8, 658 + .num_links = 1, 659 + .links = { SM8250_SLAVE_SNOC_GEM_NOC_GC }, 660 + }; 661 + 662 + static struct qcom_icc_node xm_gic = { 663 + .name = "xm_gic", 664 + .id = SM8250_MASTER_GIC, 665 + .channels = 1, 666 + .buswidth = 8, 667 + .num_links = 1, 668 + .links = { SM8250_SLAVE_SNOC_GEM_NOC_GC }, 669 + }; 670 + 671 + static struct qcom_icc_node qns_a1noc_snoc = { 672 + .name = "qns_a1noc_snoc", 673 + .id = SM8250_A1NOC_SNOC_SLV, 674 + .channels = 1, 675 + .buswidth = 16, 676 + .num_links = 1, 677 + .links = { SM8250_A1NOC_SNOC_MAS }, 678 + }; 679 + 680 + static struct qcom_icc_node qns_pcie_modem_mem_noc = { 681 + .name = "qns_pcie_modem_mem_noc", 682 + .id = SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1, 683 + .channels = 1, 684 + .buswidth = 16, 685 + .num_links = 1, 686 + .links = { SM8250_MASTER_ANOC_PCIE_GEM_NOC }, 687 + }; 688 + 689 + static struct qcom_icc_node srvc_aggre1_noc = { 690 + .name = "srvc_aggre1_noc", 691 + .id = SM8250_SLAVE_SERVICE_A1NOC, 692 + .channels = 1, 693 + .buswidth = 4, 694 + }; 695 + 696 + static struct qcom_icc_node qns_a2noc_snoc = { 697 + .name = "qns_a2noc_snoc", 698 + .id = SM8250_A2NOC_SNOC_SLV, 699 + .channels = 1, 700 + .buswidth = 16, 701 + .num_links = 1, 702 + .links = { SM8250_A2NOC_SNOC_MAS }, 703 + }; 704 + 705 + static struct qcom_icc_node qns_pcie_mem_noc = { 706 + .name = "qns_pcie_mem_noc", 707 + .id = SM8250_SLAVE_ANOC_PCIE_GEM_NOC, 708 + .channels = 1, 709 + .buswidth = 16, 710 + .num_links = 1, 711 + .links = { SM8250_MASTER_ANOC_PCIE_GEM_NOC }, 712 + }; 713 + 714 + static struct qcom_icc_node srvc_aggre2_noc = { 715 + .name = "srvc_aggre2_noc", 716 + .id = SM8250_SLAVE_SERVICE_A2NOC, 717 + .channels = 1, 718 + .buswidth = 4, 719 + }; 720 + 721 + static struct qcom_icc_node qns_cdsp_mem_noc = { 722 + .name = "qns_cdsp_mem_noc", 723 + .id = SM8250_SLAVE_CDSP_MEM_NOC, 724 + .channels = 2, 725 + .buswidth = 32, 726 + .num_links = 1, 727 + .links = { SM8250_MASTER_COMPUTE_NOC }, 728 + }; 729 + 730 + static struct qcom_icc_node qhs_a1_noc_cfg = { 731 + .name = "qhs_a1_noc_cfg", 732 + .id = SM8250_SLAVE_A1NOC_CFG, 733 + .channels = 1, 734 + .buswidth = 4, 735 + .num_links = 1, 736 + .links = { SM8250_MASTER_A1NOC_CFG }, 737 + }; 738 + 739 + static struct qcom_icc_node qhs_a2_noc_cfg = { 740 + .name = "qhs_a2_noc_cfg", 741 + .id = SM8250_SLAVE_A2NOC_CFG, 742 + .channels = 1, 743 + .buswidth = 4, 744 + .num_links = 1, 745 + .links = { SM8250_MASTER_A2NOC_CFG }, 746 + }; 747 + 748 + static struct qcom_icc_node qhs_ahb2phy0 = { 749 + .name = "qhs_ahb2phy0", 750 + .id = SM8250_SLAVE_AHB2PHY_SOUTH, 751 + .channels = 1, 752 + .buswidth = 4, 753 + }; 754 + 755 + static struct qcom_icc_node qhs_ahb2phy1 = { 756 + .name = "qhs_ahb2phy1", 757 + .id = SM8250_SLAVE_AHB2PHY_NORTH, 758 + .channels = 1, 759 + .buswidth = 4, 760 + }; 761 + 762 + static struct qcom_icc_node qhs_aoss = { 763 + .name = "qhs_aoss", 764 + .id = SM8250_SLAVE_AOSS, 765 + .channels = 1, 766 + .buswidth = 4, 767 + }; 768 + 769 + static struct qcom_icc_node qhs_camera_cfg = { 770 + .name = "qhs_camera_cfg", 771 + .id = SM8250_SLAVE_CAMERA_CFG, 772 + .channels = 1, 773 + .buswidth = 4, 774 + }; 775 + 776 + static struct qcom_icc_node qhs_clk_ctl = { 777 + .name = "qhs_clk_ctl", 778 + .id = SM8250_SLAVE_CLK_CTL, 779 + .channels = 1, 780 + .buswidth = 4, 781 + }; 782 + 783 + static struct qcom_icc_node qhs_compute_dsp = { 784 + .name = "qhs_compute_dsp", 785 + .id = SM8250_SLAVE_CDSP_CFG, 786 + .channels = 1, 787 + .buswidth = 4, 788 + }; 789 + 790 + static struct qcom_icc_node qhs_cpr_cx = { 791 + .name = "qhs_cpr_cx", 792 + .id = SM8250_SLAVE_RBCPR_CX_CFG, 793 + .channels = 1, 794 + .buswidth = 4, 795 + }; 796 + 797 + static struct qcom_icc_node qhs_cpr_mmcx = { 798 + .name = "qhs_cpr_mmcx", 799 + .id = SM8250_SLAVE_RBCPR_MMCX_CFG, 800 + .channels = 1, 801 + .buswidth = 4, 802 + }; 803 + 804 + static struct qcom_icc_node qhs_cpr_mx = { 805 + .name = "qhs_cpr_mx", 806 + .id = SM8250_SLAVE_RBCPR_MX_CFG, 807 + .channels = 1, 808 + .buswidth = 4, 809 + }; 810 + 811 + static struct qcom_icc_node qhs_crypto0_cfg = { 812 + .name = "qhs_crypto0_cfg", 813 + .id = SM8250_SLAVE_CRYPTO_0_CFG, 814 + .channels = 1, 815 + .buswidth = 4, 816 + }; 817 + 818 + static struct qcom_icc_node qhs_cx_rdpm = { 819 + .name = "qhs_cx_rdpm", 820 + .id = SM8250_SLAVE_CX_RDPM, 821 + .channels = 1, 822 + .buswidth = 4, 823 + }; 824 + 825 + static struct qcom_icc_node qhs_dcc_cfg = { 826 + .name = "qhs_dcc_cfg", 827 + .id = SM8250_SLAVE_DCC_CFG, 828 + .channels = 1, 829 + .buswidth = 4, 830 + }; 831 + 832 + static struct qcom_icc_node qhs_ddrss_cfg = { 833 + .name = "qhs_ddrss_cfg", 834 + .id = SM8250_SLAVE_CNOC_DDRSS, 835 + .channels = 1, 836 + .buswidth = 4, 837 + .num_links = 1, 838 + .links = { SM8250_MASTER_CNOC_DC_NOC }, 839 + }; 840 + 841 + static struct qcom_icc_node qhs_display_cfg = { 842 + .name = "qhs_display_cfg", 843 + .id = SM8250_SLAVE_DISPLAY_CFG, 844 + .channels = 1, 845 + .buswidth = 4, 846 + }; 847 + 848 + static struct qcom_icc_node qhs_gpuss_cfg = { 849 + .name = "qhs_gpuss_cfg", 850 + .id = SM8250_SLAVE_GRAPHICS_3D_CFG, 851 + .channels = 1, 852 + .buswidth = 8, 853 + }; 854 + 855 + static struct qcom_icc_node qhs_imem_cfg = { 856 + .name = "qhs_imem_cfg", 857 + .id = SM8250_SLAVE_IMEM_CFG, 858 + .channels = 1, 859 + .buswidth = 4, 860 + }; 861 + 862 + static struct qcom_icc_node qhs_ipa = { 863 + .name = "qhs_ipa", 864 + .id = SM8250_SLAVE_IPA_CFG, 865 + .channels = 1, 866 + .buswidth = 4, 867 + }; 868 + 869 + static struct qcom_icc_node qhs_ipc_router = { 870 + .name = "qhs_ipc_router", 871 + .id = SM8250_SLAVE_IPC_ROUTER_CFG, 872 + .channels = 1, 873 + .buswidth = 4, 874 + }; 875 + 876 + static struct qcom_icc_node qhs_lpass_cfg = { 877 + .name = "qhs_lpass_cfg", 878 + .id = SM8250_SLAVE_LPASS, 879 + .channels = 1, 880 + .buswidth = 4, 881 + }; 882 + 883 + static struct qcom_icc_node qhs_mnoc_cfg = { 884 + .name = "qhs_mnoc_cfg", 885 + .id = SM8250_SLAVE_CNOC_MNOC_CFG, 886 + .channels = 1, 887 + .buswidth = 4, 888 + .num_links = 1, 889 + .links = { SM8250_MASTER_CNOC_MNOC_CFG }, 890 + }; 891 + 892 + static struct qcom_icc_node qhs_npu_cfg = { 893 + .name = "qhs_npu_cfg", 894 + .id = SM8250_SLAVE_NPU_CFG, 895 + .channels = 1, 896 + .buswidth = 4, 897 + .num_links = 1, 898 + .links = { SM8250_MASTER_NPU_NOC_CFG }, 899 + }; 900 + 901 + static struct qcom_icc_node qhs_pcie0_cfg = { 902 + .name = "qhs_pcie0_cfg", 903 + .id = SM8250_SLAVE_PCIE_0_CFG, 904 + .channels = 1, 905 + .buswidth = 4, 906 + }; 907 + 908 + static struct qcom_icc_node qhs_pcie1_cfg = { 909 + .name = "qhs_pcie1_cfg", 910 + .id = SM8250_SLAVE_PCIE_1_CFG, 911 + .channels = 1, 912 + .buswidth = 4, 913 + }; 914 + 915 + static struct qcom_icc_node qhs_pcie_modem_cfg = { 916 + .name = "qhs_pcie_modem_cfg", 917 + .id = SM8250_SLAVE_PCIE_2_CFG, 918 + .channels = 1, 919 + .buswidth = 4, 920 + }; 921 + 922 + static struct qcom_icc_node qhs_pdm = { 923 + .name = "qhs_pdm", 924 + .id = SM8250_SLAVE_PDM, 925 + .channels = 1, 926 + .buswidth = 4, 927 + }; 928 + 929 + static struct qcom_icc_node qhs_pimem_cfg = { 930 + .name = "qhs_pimem_cfg", 931 + .id = SM8250_SLAVE_PIMEM_CFG, 932 + .channels = 1, 933 + .buswidth = 4, 934 + }; 935 + 936 + static struct qcom_icc_node qhs_prng = { 937 + .name = "qhs_prng", 938 + .id = SM8250_SLAVE_PRNG, 939 + .channels = 1, 940 + .buswidth = 4, 941 + }; 942 + 943 + static struct qcom_icc_node qhs_qdss_cfg = { 944 + .name = "qhs_qdss_cfg", 945 + .id = SM8250_SLAVE_QDSS_CFG, 946 + .channels = 1, 947 + .buswidth = 4, 948 + }; 949 + 950 + static struct qcom_icc_node qhs_qspi = { 951 + .name = "qhs_qspi", 952 + .id = SM8250_SLAVE_QSPI_0, 953 + .channels = 1, 954 + .buswidth = 4, 955 + }; 956 + 957 + static struct qcom_icc_node qhs_qup0 = { 958 + .name = "qhs_qup0", 959 + .id = SM8250_SLAVE_QUP_0, 960 + .channels = 1, 961 + .buswidth = 4, 962 + }; 963 + 964 + static struct qcom_icc_node qhs_qup1 = { 965 + .name = "qhs_qup1", 966 + .id = SM8250_SLAVE_QUP_1, 967 + .channels = 1, 968 + .buswidth = 4, 969 + }; 970 + 971 + static struct qcom_icc_node qhs_qup2 = { 972 + .name = "qhs_qup2", 973 + .id = SM8250_SLAVE_QUP_2, 974 + .channels = 1, 975 + .buswidth = 4, 976 + }; 977 + 978 + static struct qcom_icc_node qhs_sdc2 = { 979 + .name = "qhs_sdc2", 980 + .id = SM8250_SLAVE_SDCC_2, 981 + .channels = 1, 982 + .buswidth = 4, 983 + }; 984 + 985 + static struct qcom_icc_node qhs_sdc4 = { 986 + .name = "qhs_sdc4", 987 + .id = SM8250_SLAVE_SDCC_4, 988 + .channels = 1, 989 + .buswidth = 4, 990 + }; 991 + 992 + static struct qcom_icc_node qhs_snoc_cfg = { 993 + .name = "qhs_snoc_cfg", 994 + .id = SM8250_SLAVE_SNOC_CFG, 995 + .channels = 1, 996 + .buswidth = 4, 997 + .num_links = 1, 998 + .links = { SM8250_MASTER_SNOC_CFG }, 999 + }; 1000 + 1001 + static struct qcom_icc_node qhs_tcsr = { 1002 + .name = "qhs_tcsr", 1003 + .id = SM8250_SLAVE_TCSR, 1004 + .channels = 1, 1005 + .buswidth = 4, 1006 + }; 1007 + 1008 + static struct qcom_icc_node qhs_tlmm0 = { 1009 + .name = "qhs_tlmm0", 1010 + .id = SM8250_SLAVE_TLMM_NORTH, 1011 + .channels = 1, 1012 + .buswidth = 4, 1013 + }; 1014 + 1015 + static struct qcom_icc_node qhs_tlmm1 = { 1016 + .name = "qhs_tlmm1", 1017 + .id = SM8250_SLAVE_TLMM_SOUTH, 1018 + .channels = 1, 1019 + .buswidth = 4, 1020 + }; 1021 + 1022 + static struct qcom_icc_node qhs_tlmm2 = { 1023 + .name = "qhs_tlmm2", 1024 + .id = SM8250_SLAVE_TLMM_WEST, 1025 + .channels = 1, 1026 + .buswidth = 4, 1027 + }; 1028 + 1029 + static struct qcom_icc_node qhs_tsif = { 1030 + .name = "qhs_tsif", 1031 + .id = SM8250_SLAVE_TSIF, 1032 + .channels = 1, 1033 + .buswidth = 4, 1034 + }; 1035 + 1036 + static struct qcom_icc_node qhs_ufs_card_cfg = { 1037 + .name = "qhs_ufs_card_cfg", 1038 + .id = SM8250_SLAVE_UFS_CARD_CFG, 1039 + .channels = 1, 1040 + .buswidth = 4, 1041 + }; 1042 + 1043 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 1044 + .name = "qhs_ufs_mem_cfg", 1045 + .id = SM8250_SLAVE_UFS_MEM_CFG, 1046 + .channels = 1, 1047 + .buswidth = 4, 1048 + }; 1049 + 1050 + static struct qcom_icc_node qhs_usb3_0 = { 1051 + .name = "qhs_usb3_0", 1052 + .id = SM8250_SLAVE_USB3, 1053 + .channels = 1, 1054 + .buswidth = 4, 1055 + }; 1056 + 1057 + static struct qcom_icc_node qhs_usb3_1 = { 1058 + .name = "qhs_usb3_1", 1059 + .id = SM8250_SLAVE_USB3_1, 1060 + .channels = 1, 1061 + .buswidth = 4, 1062 + }; 1063 + 1064 + static struct qcom_icc_node qhs_venus_cfg = { 1065 + .name = "qhs_venus_cfg", 1066 + .id = SM8250_SLAVE_VENUS_CFG, 1067 + .channels = 1, 1068 + .buswidth = 4, 1069 + }; 1070 + 1071 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1072 + .name = "qhs_vsense_ctrl_cfg", 1073 + .id = SM8250_SLAVE_VSENSE_CTRL_CFG, 1074 + .channels = 1, 1075 + .buswidth = 4, 1076 + }; 1077 + 1078 + static struct qcom_icc_node qns_cnoc_a2noc = { 1079 + .name = "qns_cnoc_a2noc", 1080 + .id = SM8250_SLAVE_CNOC_A2NOC, 1081 + .channels = 1, 1082 + .buswidth = 8, 1083 + .num_links = 1, 1084 + .links = { SM8250_MASTER_CNOC_A2NOC }, 1085 + }; 1086 + 1087 + static struct qcom_icc_node srvc_cnoc = { 1088 + .name = "srvc_cnoc", 1089 + .id = SM8250_SLAVE_SERVICE_CNOC, 1090 + .channels = 1, 1091 + .buswidth = 4, 1092 + }; 1093 + 1094 + static struct qcom_icc_node qhs_llcc = { 1095 + .name = "qhs_llcc", 1096 + .id = SM8250_SLAVE_LLCC_CFG, 1097 + .channels = 1, 1098 + .buswidth = 4, 1099 + }; 1100 + 1101 + static struct qcom_icc_node qhs_memnoc = { 1102 + .name = "qhs_memnoc", 1103 + .id = SM8250_SLAVE_GEM_NOC_CFG, 1104 + .channels = 1, 1105 + .buswidth = 4, 1106 + .num_links = 1, 1107 + .links = { SM8250_MASTER_GEM_NOC_CFG }, 1108 + }; 1109 + 1110 + static struct qcom_icc_node qns_gem_noc_snoc = { 1111 + .name = "qns_gem_noc_snoc", 1112 + .id = SM8250_SLAVE_GEM_NOC_SNOC, 1113 + .channels = 1, 1114 + .buswidth = 16, 1115 + .num_links = 1, 1116 + .links = { SM8250_MASTER_GEM_NOC_SNOC }, 1117 + }; 1118 + 1119 + static struct qcom_icc_node qns_llcc = { 1120 + .name = "qns_llcc", 1121 + .id = SM8250_SLAVE_LLCC, 1122 + .channels = 4, 1123 + .buswidth = 16, 1124 + .num_links = 1, 1125 + .links = { SM8250_MASTER_LLCC }, 1126 + }; 1127 + 1128 + static struct qcom_icc_node qns_sys_pcie = { 1129 + .name = "qns_sys_pcie", 1130 + .id = SM8250_SLAVE_MEM_NOC_PCIE_SNOC, 1131 + .channels = 1, 1132 + .buswidth = 8, 1133 + .num_links = 1, 1134 + .links = { SM8250_MASTER_GEM_NOC_PCIE_SNOC }, 1135 + }; 1136 + 1137 + static struct qcom_icc_node srvc_even_gemnoc = { 1138 + .name = "srvc_even_gemnoc", 1139 + .id = SM8250_SLAVE_SERVICE_GEM_NOC_1, 1140 + .channels = 1, 1141 + .buswidth = 4, 1142 + }; 1143 + 1144 + static struct qcom_icc_node srvc_odd_gemnoc = { 1145 + .name = "srvc_odd_gemnoc", 1146 + .id = SM8250_SLAVE_SERVICE_GEM_NOC_2, 1147 + .channels = 1, 1148 + .buswidth = 4, 1149 + }; 1150 + 1151 + static struct qcom_icc_node srvc_sys_gemnoc = { 1152 + .name = "srvc_sys_gemnoc", 1153 + .id = SM8250_SLAVE_SERVICE_GEM_NOC, 1154 + .channels = 1, 1155 + .buswidth = 4, 1156 + }; 1157 + 1158 + static struct qcom_icc_node ebi = { 1159 + .name = "ebi", 1160 + .id = SM8250_SLAVE_EBI_CH0, 1161 + .channels = 4, 1162 + .buswidth = 4, 1163 + }; 1164 + 1165 + static struct qcom_icc_node qns_mem_noc_hf = { 1166 + .name = "qns_mem_noc_hf", 1167 + .id = SM8250_SLAVE_MNOC_HF_MEM_NOC, 1168 + .channels = 2, 1169 + .buswidth = 32, 1170 + .num_links = 1, 1171 + .links = { SM8250_MASTER_MNOC_HF_MEM_NOC }, 1172 + }; 1173 + 1174 + static struct qcom_icc_node qns_mem_noc_sf = { 1175 + .name = "qns_mem_noc_sf", 1176 + .id = SM8250_SLAVE_MNOC_SF_MEM_NOC, 1177 + .channels = 2, 1178 + .buswidth = 32, 1179 + .num_links = 1, 1180 + .links = { SM8250_MASTER_MNOC_SF_MEM_NOC }, 1181 + }; 1182 + 1183 + static struct qcom_icc_node srvc_mnoc = { 1184 + .name = "srvc_mnoc", 1185 + .id = SM8250_SLAVE_SERVICE_MNOC, 1186 + .channels = 1, 1187 + .buswidth = 4, 1188 + }; 1189 + 1190 + static struct qcom_icc_node qhs_cal_dp0 = { 1191 + .name = "qhs_cal_dp0", 1192 + .id = SM8250_SLAVE_NPU_CAL_DP0, 1193 + .channels = 1, 1194 + .buswidth = 4, 1195 + }; 1196 + 1197 + static struct qcom_icc_node qhs_cal_dp1 = { 1198 + .name = "qhs_cal_dp1", 1199 + .id = SM8250_SLAVE_NPU_CAL_DP1, 1200 + .channels = 1, 1201 + .buswidth = 4, 1202 + }; 1203 + 1204 + static struct qcom_icc_node qhs_cp = { 1205 + .name = "qhs_cp", 1206 + .id = SM8250_SLAVE_NPU_CP, 1207 + .channels = 1, 1208 + .buswidth = 4, 1209 + }; 1210 + 1211 + static struct qcom_icc_node qhs_dma_bwmon = { 1212 + .name = "qhs_dma_bwmon", 1213 + .id = SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG, 1214 + .channels = 1, 1215 + .buswidth = 4, 1216 + }; 1217 + 1218 + static struct qcom_icc_node qhs_dpm = { 1219 + .name = "qhs_dpm", 1220 + .id = SM8250_SLAVE_NPU_DPM, 1221 + .channels = 1, 1222 + .buswidth = 4, 1223 + }; 1224 + 1225 + static struct qcom_icc_node qhs_isense = { 1226 + .name = "qhs_isense", 1227 + .id = SM8250_SLAVE_ISENSE_CFG, 1228 + .channels = 1, 1229 + .buswidth = 4, 1230 + }; 1231 + 1232 + static struct qcom_icc_node qhs_llm = { 1233 + .name = "qhs_llm", 1234 + .id = SM8250_SLAVE_NPU_LLM_CFG, 1235 + .channels = 1, 1236 + .buswidth = 4, 1237 + }; 1238 + 1239 + static struct qcom_icc_node qhs_tcm = { 1240 + .name = "qhs_tcm", 1241 + .id = SM8250_SLAVE_NPU_TCM, 1242 + .channels = 1, 1243 + .buswidth = 4, 1244 + }; 1245 + 1246 + static struct qcom_icc_node qns_npu_sys = { 1247 + .name = "qns_npu_sys", 1248 + .id = SM8250_SLAVE_NPU_COMPUTE_NOC, 1249 + .channels = 2, 1250 + .buswidth = 32, 1251 + }; 1252 + 1253 + static struct qcom_icc_node srvc_noc = { 1254 + .name = "srvc_noc", 1255 + .id = SM8250_SLAVE_SERVICE_NPU_NOC, 1256 + .channels = 1, 1257 + .buswidth = 4, 1258 + }; 1259 + 1260 + static struct qcom_icc_node qhs_apss = { 1261 + .name = "qhs_apss", 1262 + .id = SM8250_SLAVE_APPSS, 1263 + .channels = 1, 1264 + .buswidth = 8, 1265 + }; 1266 + 1267 + static struct qcom_icc_node qns_cnoc = { 1268 + .name = "qns_cnoc", 1269 + .id = SM8250_SNOC_CNOC_SLV, 1270 + .channels = 1, 1271 + .buswidth = 8, 1272 + .num_links = 1, 1273 + .links = { SM8250_SNOC_CNOC_MAS }, 1274 + }; 1275 + 1276 + static struct qcom_icc_node qns_gemnoc_gc = { 1277 + .name = "qns_gemnoc_gc", 1278 + .id = SM8250_SLAVE_SNOC_GEM_NOC_GC, 1279 + .channels = 1, 1280 + .buswidth = 8, 1281 + .num_links = 1, 1282 + .links = { SM8250_MASTER_SNOC_GC_MEM_NOC }, 1283 + }; 1284 + 1285 + static struct qcom_icc_node qns_gemnoc_sf = { 1286 + .name = "qns_gemnoc_sf", 1287 + .id = SM8250_SLAVE_SNOC_GEM_NOC_SF, 1288 + .channels = 1, 1289 + .buswidth = 16, 1290 + .num_links = 1, 1291 + .links = { SM8250_MASTER_SNOC_SF_MEM_NOC }, 1292 + }; 1293 + 1294 + static struct qcom_icc_node qxs_imem = { 1295 + .name = "qxs_imem", 1296 + .id = SM8250_SLAVE_OCIMEM, 1297 + .channels = 1, 1298 + .buswidth = 8, 1299 + }; 1300 + 1301 + static struct qcom_icc_node qxs_pimem = { 1302 + .name = "qxs_pimem", 1303 + .id = SM8250_SLAVE_PIMEM, 1304 + .channels = 1, 1305 + .buswidth = 8, 1306 + }; 1307 + 1308 + static struct qcom_icc_node srvc_snoc = { 1309 + .name = "srvc_snoc", 1310 + .id = SM8250_SLAVE_SERVICE_SNOC, 1311 + .channels = 1, 1312 + .buswidth = 4, 1313 + }; 1314 + 1315 + static struct qcom_icc_node xs_pcie_0 = { 1316 + .name = "xs_pcie_0", 1317 + .id = SM8250_SLAVE_PCIE_0, 1318 + .channels = 1, 1319 + .buswidth = 8, 1320 + }; 1321 + 1322 + static struct qcom_icc_node xs_pcie_1 = { 1323 + .name = "xs_pcie_1", 1324 + .id = SM8250_SLAVE_PCIE_1, 1325 + .channels = 1, 1326 + .buswidth = 8, 1327 + }; 1328 + 1329 + static struct qcom_icc_node xs_pcie_modem = { 1330 + .name = "xs_pcie_modem", 1331 + .id = SM8250_SLAVE_PCIE_2, 1332 + .channels = 1, 1333 + .buswidth = 8, 1334 + }; 1335 + 1336 + static struct qcom_icc_node xs_qdss_stm = { 1337 + .name = "xs_qdss_stm", 1338 + .id = SM8250_SLAVE_QDSS_STM, 1339 + .channels = 1, 1340 + .buswidth = 4, 1341 + }; 1342 + 1343 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1344 + .name = "xs_sys_tcu_cfg", 1345 + .id = SM8250_SLAVE_TCU, 1346 + .channels = 1, 1347 + .buswidth = 8, 1348 + }; 167 1349 168 1350 static struct qcom_icc_node qup0_core_master = { 169 1351 .name = "qup0_core_master", ··· 1395 213 .buswidth = 4, 1396 214 }; 1397 215 1398 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 1399 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 1400 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 1401 - DEFINE_QBCM(bcm_mm0, "MM0", true, &qns_mem_noc_hf); 1402 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 1403 - DEFINE_QBCM(bcm_mm1, "MM1", false, &qnm_camnoc_hf, &qxm_mdp0, &qxm_mdp1); 1404 - DEFINE_QBCM(bcm_sh2, "SH2", false, &alm_gpu_tcu, &alm_sys_tcu); 1405 - DEFINE_QBCM(bcm_mm2, "MM2", false, &qns_mem_noc_sf); 1406 - DEFINE_QBCM(bcm_qup0, "QUP0", false, &qup0_core_master, &qup1_core_master, &qup2_core_master); 1407 - DEFINE_QBCM(bcm_sh3, "SH3", false, &qnm_cmpnoc); 1408 - DEFINE_QBCM(bcm_mm3, "MM3", false, &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_video0, &qnm_video1, &qnm_video_cvp); 1409 - DEFINE_QBCM(bcm_sh4, "SH4", false, &chm_apps); 1410 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_gemnoc_sf); 1411 - DEFINE_QBCM(bcm_co0, "CO0", false, &qns_cdsp_mem_noc); 1412 - DEFINE_QBCM(bcm_cn0, "CN0", true, &qnm_snoc, &xm_qdss_dap, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_ahb2phy0, &qhs_ahb2phy1, &qhs_aoss, &qhs_camera_cfg, &qhs_clk_ctl, &qhs_compute_dsp, &qhs_cpr_cx, &qhs_cpr_mmcx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_cx_rdpm, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_ipc_router, &qhs_lpass_cfg, &qhs_mnoc_cfg, &qhs_npu_cfg, &qhs_pcie0_cfg, &qhs_pcie1_cfg, &qhs_pcie_modem_cfg, &qhs_pdm, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qspi, &qhs_qup0, &qhs_qup1, &qhs_qup2, &qhs_sdc2, &qhs_sdc4, &qhs_snoc_cfg, &qhs_tcsr, &qhs_tlmm0, &qhs_tlmm1, &qhs_tlmm2, &qhs_tsif, &qhs_ufs_card_cfg, &qhs_ufs_mem_cfg, &qhs_usb3_0, &qhs_usb3_1, &qhs_venus_cfg, &qhs_vsense_ctrl_cfg, &qns_cnoc_a2noc, &srvc_cnoc); 1413 - DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); 1414 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qns_gemnoc_gc); 1415 - DEFINE_QBCM(bcm_co2, "CO2", false, &qnm_npu); 1416 - DEFINE_QBCM(bcm_sn3, "SN3", false, &qxs_pimem); 1417 - DEFINE_QBCM(bcm_sn4, "SN4", false, &xs_qdss_stm); 1418 - DEFINE_QBCM(bcm_sn5, "SN5", false, &xs_pcie_modem); 1419 - DEFINE_QBCM(bcm_sn6, "SN6", false, &xs_pcie_0, &xs_pcie_1); 1420 - DEFINE_QBCM(bcm_sn7, "SN7", false, &qnm_aggre1_noc); 1421 - DEFINE_QBCM(bcm_sn8, "SN8", false, &qnm_aggre2_noc); 1422 - DEFINE_QBCM(bcm_sn9, "SN9", false, &qnm_gemnoc_pcie); 1423 - DEFINE_QBCM(bcm_sn11, "SN11", false, &qnm_gemnoc); 1424 - DEFINE_QBCM(bcm_sn12, "SN12", false, &qns_pcie_modem_mem_noc, &qns_pcie_mem_noc); 216 + static struct qcom_icc_bcm bcm_acv = { 217 + .name = "ACV", 218 + .keepalive = false, 219 + .num_nodes = 1, 220 + .nodes = { &ebi }, 221 + }; 222 + 223 + static struct qcom_icc_bcm bcm_mc0 = { 224 + .name = "MC0", 225 + .keepalive = true, 226 + .num_nodes = 1, 227 + .nodes = { &ebi }, 228 + }; 229 + 230 + static struct qcom_icc_bcm bcm_sh0 = { 231 + .name = "SH0", 232 + .keepalive = true, 233 + .num_nodes = 1, 234 + .nodes = { &qns_llcc }, 235 + }; 236 + 237 + static struct qcom_icc_bcm bcm_mm0 = { 238 + .name = "MM0", 239 + .keepalive = true, 240 + .num_nodes = 1, 241 + .nodes = { &qns_mem_noc_hf }, 242 + }; 243 + 244 + static struct qcom_icc_bcm bcm_ce0 = { 245 + .name = "CE0", 246 + .keepalive = false, 247 + .num_nodes = 1, 248 + .nodes = { &qxm_crypto }, 249 + }; 250 + 251 + static struct qcom_icc_bcm bcm_mm1 = { 252 + .name = "MM1", 253 + .keepalive = false, 254 + .num_nodes = 3, 255 + .nodes = { &qnm_camnoc_hf, &qxm_mdp0, &qxm_mdp1 }, 256 + }; 257 + 258 + static struct qcom_icc_bcm bcm_sh2 = { 259 + .name = "SH2", 260 + .keepalive = false, 261 + .num_nodes = 2, 262 + .nodes = { &alm_gpu_tcu, &alm_sys_tcu }, 263 + }; 264 + 265 + static struct qcom_icc_bcm bcm_mm2 = { 266 + .name = "MM2", 267 + .keepalive = false, 268 + .num_nodes = 1, 269 + .nodes = { &qns_mem_noc_sf }, 270 + }; 271 + 272 + static struct qcom_icc_bcm bcm_qup0 = { 273 + .name = "QUP0", 274 + .keepalive = false, 275 + .num_nodes = 3, 276 + .nodes = { &qup0_core_master, &qup1_core_master, &qup2_core_master }, 277 + }; 278 + 279 + static struct qcom_icc_bcm bcm_sh3 = { 280 + .name = "SH3", 281 + .keepalive = false, 282 + .num_nodes = 1, 283 + .nodes = { &qnm_cmpnoc }, 284 + }; 285 + 286 + static struct qcom_icc_bcm bcm_mm3 = { 287 + .name = "MM3", 288 + .keepalive = false, 289 + .num_nodes = 5, 290 + .nodes = { &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_video0, &qnm_video1, &qnm_video_cvp }, 291 + }; 292 + 293 + static struct qcom_icc_bcm bcm_sh4 = { 294 + .name = "SH4", 295 + .keepalive = false, 296 + .num_nodes = 1, 297 + .nodes = { &chm_apps }, 298 + }; 299 + 300 + static struct qcom_icc_bcm bcm_sn0 = { 301 + .name = "SN0", 302 + .keepalive = true, 303 + .num_nodes = 1, 304 + .nodes = { &qns_gemnoc_sf }, 305 + }; 306 + 307 + static struct qcom_icc_bcm bcm_co0 = { 308 + .name = "CO0", 309 + .keepalive = false, 310 + .num_nodes = 1, 311 + .nodes = { &qns_cdsp_mem_noc }, 312 + }; 313 + 314 + static struct qcom_icc_bcm bcm_cn0 = { 315 + .name = "CN0", 316 + .keepalive = true, 317 + .num_nodes = 52, 318 + .nodes = { &qnm_snoc, 319 + &xm_qdss_dap, 320 + &qhs_a1_noc_cfg, 321 + &qhs_a2_noc_cfg, 322 + &qhs_ahb2phy0, 323 + &qhs_ahb2phy1, 324 + &qhs_aoss, 325 + &qhs_camera_cfg, 326 + &qhs_clk_ctl, 327 + &qhs_compute_dsp, 328 + &qhs_cpr_cx, 329 + &qhs_cpr_mmcx, 330 + &qhs_cpr_mx, 331 + &qhs_crypto0_cfg, 332 + &qhs_cx_rdpm, 333 + &qhs_dcc_cfg, 334 + &qhs_ddrss_cfg, 335 + &qhs_display_cfg, 336 + &qhs_gpuss_cfg, 337 + &qhs_imem_cfg, 338 + &qhs_ipa, 339 + &qhs_ipc_router, 340 + &qhs_lpass_cfg, 341 + &qhs_mnoc_cfg, 342 + &qhs_npu_cfg, 343 + &qhs_pcie0_cfg, 344 + &qhs_pcie1_cfg, 345 + &qhs_pcie_modem_cfg, 346 + &qhs_pdm, 347 + &qhs_pimem_cfg, 348 + &qhs_prng, 349 + &qhs_qdss_cfg, 350 + &qhs_qspi, 351 + &qhs_qup0, 352 + &qhs_qup1, 353 + &qhs_qup2, 354 + &qhs_sdc2, 355 + &qhs_sdc4, 356 + &qhs_snoc_cfg, 357 + &qhs_tcsr, 358 + &qhs_tlmm0, 359 + &qhs_tlmm1, 360 + &qhs_tlmm2, 361 + &qhs_tsif, 362 + &qhs_ufs_card_cfg, 363 + &qhs_ufs_mem_cfg, 364 + &qhs_usb3_0, 365 + &qhs_usb3_1, 366 + &qhs_venus_cfg, 367 + &qhs_vsense_ctrl_cfg, 368 + &qns_cnoc_a2noc, 369 + &srvc_cnoc 370 + }, 371 + }; 372 + 373 + static struct qcom_icc_bcm bcm_sn1 = { 374 + .name = "SN1", 375 + .keepalive = false, 376 + .num_nodes = 1, 377 + .nodes = { &qxs_imem }, 378 + }; 379 + 380 + static struct qcom_icc_bcm bcm_sn2 = { 381 + .name = "SN2", 382 + .keepalive = false, 383 + .num_nodes = 1, 384 + .nodes = { &qns_gemnoc_gc }, 385 + }; 386 + 387 + static struct qcom_icc_bcm bcm_co2 = { 388 + .name = "CO2", 389 + .keepalive = false, 390 + .num_nodes = 1, 391 + .nodes = { &qnm_npu }, 392 + }; 393 + 394 + static struct qcom_icc_bcm bcm_sn3 = { 395 + .name = "SN3", 396 + .keepalive = false, 397 + .num_nodes = 1, 398 + .nodes = { &qxs_pimem }, 399 + }; 400 + 401 + static struct qcom_icc_bcm bcm_sn4 = { 402 + .name = "SN4", 403 + .keepalive = false, 404 + .num_nodes = 1, 405 + .nodes = { &xs_qdss_stm }, 406 + }; 407 + 408 + static struct qcom_icc_bcm bcm_sn5 = { 409 + .name = "SN5", 410 + .keepalive = false, 411 + .num_nodes = 1, 412 + .nodes = { &xs_pcie_modem }, 413 + }; 414 + 415 + static struct qcom_icc_bcm bcm_sn6 = { 416 + .name = "SN6", 417 + .keepalive = false, 418 + .num_nodes = 2, 419 + .nodes = { &xs_pcie_0, &xs_pcie_1 }, 420 + }; 421 + 422 + static struct qcom_icc_bcm bcm_sn7 = { 423 + .name = "SN7", 424 + .keepalive = false, 425 + .num_nodes = 1, 426 + .nodes = { &qnm_aggre1_noc }, 427 + }; 428 + 429 + static struct qcom_icc_bcm bcm_sn8 = { 430 + .name = "SN8", 431 + .keepalive = false, 432 + .num_nodes = 1, 433 + .nodes = { &qnm_aggre2_noc }, 434 + }; 435 + 436 + static struct qcom_icc_bcm bcm_sn9 = { 437 + .name = "SN9", 438 + .keepalive = false, 439 + .num_nodes = 1, 440 + .nodes = { &qnm_gemnoc_pcie }, 441 + }; 442 + 443 + static struct qcom_icc_bcm bcm_sn11 = { 444 + .name = "SN11", 445 + .keepalive = false, 446 + .num_nodes = 1, 447 + .nodes = { &qnm_gemnoc }, 448 + }; 449 + 450 + static struct qcom_icc_bcm bcm_sn12 = { 451 + .name = "SN12", 452 + .keepalive = false, 453 + .num_nodes = 2, 454 + .nodes = { &qns_pcie_modem_mem_noc, &qns_pcie_mem_noc }, 455 + }; 1425 456 1426 457 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 1427 458 &bcm_sn12,
+1614 -182
drivers/interconnect/qcom/sm8350.c
··· 15 15 #include "icc-rpmh.h" 16 16 #include "sm8350.h" 17 17 18 - DEFINE_QNODE(qhm_qspi, SM8350_MASTER_QSPI_0, 1, 4, SM8350_SLAVE_A1NOC_SNOC); 19 - DEFINE_QNODE(qhm_qup0, SM8350_MASTER_QUP_0, 1, 4, SM8350_SLAVE_A2NOC_SNOC); 20 - DEFINE_QNODE(qhm_qup1, SM8350_MASTER_QUP_1, 1, 4, SM8350_SLAVE_A1NOC_SNOC); 21 - DEFINE_QNODE(qhm_qup2, SM8350_MASTER_QUP_2, 1, 4, SM8350_SLAVE_A2NOC_SNOC); 22 - DEFINE_QNODE(qnm_a1noc_cfg, SM8350_MASTER_A1NOC_CFG, 1, 4, SM8350_SLAVE_SERVICE_A1NOC); 23 - DEFINE_QNODE(xm_sdc4, SM8350_MASTER_SDCC_4, 1, 8, SM8350_SLAVE_A1NOC_SNOC); 24 - DEFINE_QNODE(xm_ufs_mem, SM8350_MASTER_UFS_MEM, 1, 8, SM8350_SLAVE_A1NOC_SNOC); 25 - DEFINE_QNODE(xm_usb3_0, SM8350_MASTER_USB3_0, 1, 8, SM8350_SLAVE_A1NOC_SNOC); 26 - DEFINE_QNODE(xm_usb3_1, SM8350_MASTER_USB3_1, 1, 8, SM8350_SLAVE_A1NOC_SNOC); 27 - DEFINE_QNODE(qhm_qdss_bam, SM8350_MASTER_QDSS_BAM, 1, 4, SM8350_SLAVE_A2NOC_SNOC); 28 - DEFINE_QNODE(qnm_a2noc_cfg, SM8350_MASTER_A2NOC_CFG, 1, 4, SM8350_SLAVE_SERVICE_A2NOC); 29 - DEFINE_QNODE(qxm_crypto, SM8350_MASTER_CRYPTO, 1, 8, SM8350_SLAVE_A2NOC_SNOC); 30 - DEFINE_QNODE(qxm_ipa, SM8350_MASTER_IPA, 1, 8, SM8350_SLAVE_A2NOC_SNOC); 31 - DEFINE_QNODE(xm_pcie3_0, SM8350_MASTER_PCIE_0, 1, 8, SM8350_SLAVE_ANOC_PCIE_GEM_NOC); 32 - DEFINE_QNODE(xm_pcie3_1, SM8350_MASTER_PCIE_1, 1, 8, SM8350_SLAVE_ANOC_PCIE_GEM_NOC); 33 - DEFINE_QNODE(xm_qdss_etr, SM8350_MASTER_QDSS_ETR, 1, 8, SM8350_SLAVE_A2NOC_SNOC); 34 - DEFINE_QNODE(xm_sdc2, SM8350_MASTER_SDCC_2, 1, 8, SM8350_SLAVE_A2NOC_SNOC); 35 - DEFINE_QNODE(xm_ufs_card, SM8350_MASTER_UFS_CARD, 1, 8, SM8350_SLAVE_A2NOC_SNOC); 36 - DEFINE_QNODE(qnm_gemnoc_cnoc, SM8350_MASTER_GEM_NOC_CNOC, 1, 16, SM8350_SLAVE_AHB2PHY_SOUTH, SM8350_SLAVE_AHB2PHY_NORTH, SM8350_SLAVE_AOSS, SM8350_SLAVE_APPSS, SM8350_SLAVE_CAMERA_CFG, SM8350_SLAVE_CLK_CTL, SM8350_SLAVE_CDSP_CFG, SM8350_SLAVE_RBCPR_CX_CFG, SM8350_SLAVE_RBCPR_MMCX_CFG, SM8350_SLAVE_RBCPR_MX_CFG, SM8350_SLAVE_CRYPTO_0_CFG, SM8350_SLAVE_CX_RDPM, SM8350_SLAVE_DCC_CFG, SM8350_SLAVE_DISPLAY_CFG, SM8350_SLAVE_GFX3D_CFG, SM8350_SLAVE_HWKM, SM8350_SLAVE_IMEM_CFG, SM8350_SLAVE_IPA_CFG, SM8350_SLAVE_IPC_ROUTER_CFG, SM8350_SLAVE_LPASS, SM8350_SLAVE_CNOC_MSS, SM8350_SLAVE_MX_RDPM, SM8350_SLAVE_PCIE_0_CFG, SM8350_SLAVE_PCIE_1_CFG, SM8350_SLAVE_PDM, SM8350_SLAVE_PIMEM_CFG, SM8350_SLAVE_PKA_WRAPPER_CFG, SM8350_SLAVE_PMU_WRAPPER_CFG, SM8350_SLAVE_QDSS_CFG, SM8350_SLAVE_QSPI_0, SM8350_SLAVE_QUP_0, SM8350_SLAVE_QUP_1, SM8350_SLAVE_QUP_2, SM8350_SLAVE_SDCC_2, SM8350_SLAVE_SDCC_4, SM8350_SLAVE_SECURITY, SM8350_SLAVE_SPSS_CFG, SM8350_SLAVE_TCSR, SM8350_SLAVE_TLMM, SM8350_SLAVE_UFS_CARD_CFG, SM8350_SLAVE_UFS_MEM_CFG, SM8350_SLAVE_USB3_0, SM8350_SLAVE_USB3_1, SM8350_SLAVE_VENUS_CFG, SM8350_SLAVE_VSENSE_CTRL_CFG, SM8350_SLAVE_A1NOC_CFG, SM8350_SLAVE_A2NOC_CFG, SM8350_SLAVE_DDRSS_CFG, SM8350_SLAVE_CNOC_MNOC_CFG, SM8350_SLAVE_SNOC_CFG, SM8350_SLAVE_BOOT_IMEM, SM8350_SLAVE_IMEM, SM8350_SLAVE_PIMEM, SM8350_SLAVE_SERVICE_CNOC, SM8350_SLAVE_QDSS_STM, SM8350_SLAVE_TCU); 37 - DEFINE_QNODE(qnm_gemnoc_pcie, SM8350_MASTER_GEM_NOC_PCIE_SNOC, 1, 8, SM8350_SLAVE_PCIE_0, SM8350_SLAVE_PCIE_1); 38 - DEFINE_QNODE(xm_qdss_dap, SM8350_MASTER_QDSS_DAP, 1, 8, SM8350_SLAVE_AHB2PHY_SOUTH, SM8350_SLAVE_AHB2PHY_NORTH, SM8350_SLAVE_AOSS, SM8350_SLAVE_APPSS, SM8350_SLAVE_CAMERA_CFG, SM8350_SLAVE_CLK_CTL, SM8350_SLAVE_CDSP_CFG, SM8350_SLAVE_RBCPR_CX_CFG, SM8350_SLAVE_RBCPR_MMCX_CFG, SM8350_SLAVE_RBCPR_MX_CFG, SM8350_SLAVE_CRYPTO_0_CFG, SM8350_SLAVE_CX_RDPM, SM8350_SLAVE_DCC_CFG, SM8350_SLAVE_DISPLAY_CFG, SM8350_SLAVE_GFX3D_CFG, SM8350_SLAVE_HWKM, SM8350_SLAVE_IMEM_CFG, SM8350_SLAVE_IPA_CFG, SM8350_SLAVE_IPC_ROUTER_CFG, SM8350_SLAVE_LPASS, SM8350_SLAVE_CNOC_MSS, SM8350_SLAVE_MX_RDPM, SM8350_SLAVE_PCIE_0_CFG, SM8350_SLAVE_PCIE_1_CFG, SM8350_SLAVE_PDM, SM8350_SLAVE_PIMEM_CFG, SM8350_SLAVE_PKA_WRAPPER_CFG, SM8350_SLAVE_PMU_WRAPPER_CFG, SM8350_SLAVE_QDSS_CFG, SM8350_SLAVE_QSPI_0, SM8350_SLAVE_QUP_0, SM8350_SLAVE_QUP_1, SM8350_SLAVE_QUP_2, SM8350_SLAVE_SDCC_2, SM8350_SLAVE_SDCC_4, SM8350_SLAVE_SECURITY, SM8350_SLAVE_SPSS_CFG, SM8350_SLAVE_TCSR, SM8350_SLAVE_TLMM, SM8350_SLAVE_UFS_CARD_CFG, SM8350_SLAVE_UFS_MEM_CFG, SM8350_SLAVE_USB3_0, SM8350_SLAVE_USB3_1, SM8350_SLAVE_VENUS_CFG, SM8350_SLAVE_VSENSE_CTRL_CFG, SM8350_SLAVE_A1NOC_CFG, SM8350_SLAVE_A2NOC_CFG, SM8350_SLAVE_DDRSS_CFG, SM8350_SLAVE_CNOC_MNOC_CFG, SM8350_SLAVE_SNOC_CFG, SM8350_SLAVE_BOOT_IMEM, SM8350_SLAVE_IMEM, SM8350_SLAVE_PIMEM, SM8350_SLAVE_SERVICE_CNOC, SM8350_SLAVE_QDSS_STM, SM8350_SLAVE_TCU); 39 - DEFINE_QNODE(qnm_cnoc_dc_noc, SM8350_MASTER_CNOC_DC_NOC, 1, 4, SM8350_SLAVE_LLCC_CFG, SM8350_SLAVE_GEM_NOC_CFG); 40 - DEFINE_QNODE(alm_gpu_tcu, SM8350_MASTER_GPU_TCU, 1, 8, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC); 41 - DEFINE_QNODE(alm_sys_tcu, SM8350_MASTER_SYS_TCU, 1, 8, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC); 42 - DEFINE_QNODE(chm_apps, SM8350_MASTER_APPSS_PROC, 2, 32, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC, SM8350_SLAVE_MEM_NOC_PCIE_SNOC); 43 - DEFINE_QNODE(qnm_cmpnoc, SM8350_MASTER_COMPUTE_NOC, 2, 32, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC); 44 - DEFINE_QNODE(qnm_gemnoc_cfg, SM8350_MASTER_GEM_NOC_CFG, 1, 4, SM8350_SLAVE_MSS_PROC_MS_MPU_CFG, SM8350_SLAVE_MCDMA_MS_MPU_CFG, SM8350_SLAVE_SERVICE_GEM_NOC_1, SM8350_SLAVE_SERVICE_GEM_NOC_2, SM8350_SLAVE_SERVICE_GEM_NOC); 45 - DEFINE_QNODE(qnm_gpu, SM8350_MASTER_GFX3D, 2, 32, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC); 46 - DEFINE_QNODE(qnm_mnoc_hf, SM8350_MASTER_MNOC_HF_MEM_NOC, 2, 32, SM8350_SLAVE_LLCC); 47 - DEFINE_QNODE(qnm_mnoc_sf, SM8350_MASTER_MNOC_SF_MEM_NOC, 2, 32, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC); 48 - DEFINE_QNODE(qnm_pcie, SM8350_MASTER_ANOC_PCIE_GEM_NOC, 1, 16, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC); 49 - DEFINE_QNODE(qnm_snoc_gc, SM8350_MASTER_SNOC_GC_MEM_NOC, 1, 8, SM8350_SLAVE_LLCC); 50 - DEFINE_QNODE(qnm_snoc_sf, SM8350_MASTER_SNOC_SF_MEM_NOC, 1, 16, SM8350_SLAVE_GEM_NOC_CNOC, SM8350_SLAVE_LLCC, SM8350_SLAVE_MEM_NOC_PCIE_SNOC); 51 - DEFINE_QNODE(qhm_config_noc, SM8350_MASTER_CNOC_LPASS_AG_NOC, 1, 4, SM8350_SLAVE_LPASS_CORE_CFG, SM8350_SLAVE_LPASS_LPI_CFG, SM8350_SLAVE_LPASS_MPU_CFG, SM8350_SLAVE_LPASS_TOP_CFG, SM8350_SLAVE_SERVICES_LPASS_AML_NOC, SM8350_SLAVE_SERVICE_LPASS_AG_NOC); 52 - DEFINE_QNODE(llcc_mc, SM8350_MASTER_LLCC, 4, 4, SM8350_SLAVE_EBI1); 53 - DEFINE_QNODE(qnm_camnoc_hf, SM8350_MASTER_CAMNOC_HF, 2, 32, SM8350_SLAVE_MNOC_HF_MEM_NOC); 54 - DEFINE_QNODE(qnm_camnoc_icp, SM8350_MASTER_CAMNOC_ICP, 1, 8, SM8350_SLAVE_MNOC_SF_MEM_NOC); 55 - DEFINE_QNODE(qnm_camnoc_sf, SM8350_MASTER_CAMNOC_SF, 2, 32, SM8350_SLAVE_MNOC_SF_MEM_NOC); 56 - DEFINE_QNODE(qnm_mnoc_cfg, SM8350_MASTER_CNOC_MNOC_CFG, 1, 4, SM8350_SLAVE_SERVICE_MNOC); 57 - DEFINE_QNODE(qnm_video0, SM8350_MASTER_VIDEO_P0, 1, 32, SM8350_SLAVE_MNOC_SF_MEM_NOC); 58 - DEFINE_QNODE(qnm_video1, SM8350_MASTER_VIDEO_P1, 1, 32, SM8350_SLAVE_MNOC_SF_MEM_NOC); 59 - DEFINE_QNODE(qnm_video_cvp, SM8350_MASTER_VIDEO_PROC, 1, 32, SM8350_SLAVE_MNOC_SF_MEM_NOC); 60 - DEFINE_QNODE(qxm_mdp0, SM8350_MASTER_MDP0, 1, 32, SM8350_SLAVE_MNOC_HF_MEM_NOC); 61 - DEFINE_QNODE(qxm_mdp1, SM8350_MASTER_MDP1, 1, 32, SM8350_SLAVE_MNOC_HF_MEM_NOC); 62 - DEFINE_QNODE(qxm_rot, SM8350_MASTER_ROTATOR, 1, 32, SM8350_SLAVE_MNOC_SF_MEM_NOC); 63 - DEFINE_QNODE(qhm_nsp_noc_config, SM8350_MASTER_CDSP_NOC_CFG, 1, 4, SM8350_SLAVE_SERVICE_NSP_NOC); 64 - DEFINE_QNODE(qxm_nsp, SM8350_MASTER_CDSP_PROC, 2, 32, SM8350_SLAVE_CDSP_MEM_NOC); 65 - DEFINE_QNODE(qnm_aggre1_noc, SM8350_MASTER_A1NOC_SNOC, 1, 16, SM8350_SLAVE_SNOC_GEM_NOC_SF); 66 - DEFINE_QNODE(qnm_aggre2_noc, SM8350_MASTER_A2NOC_SNOC, 1, 16, SM8350_SLAVE_SNOC_GEM_NOC_SF); 67 - DEFINE_QNODE(qnm_snoc_cfg, SM8350_MASTER_SNOC_CFG, 1, 4, SM8350_SLAVE_SERVICE_SNOC); 68 - DEFINE_QNODE(qxm_pimem, SM8350_MASTER_PIMEM, 1, 8, SM8350_SLAVE_SNOC_GEM_NOC_GC); 69 - DEFINE_QNODE(xm_gic, SM8350_MASTER_GIC, 1, 8, SM8350_SLAVE_SNOC_GEM_NOC_GC); 70 - DEFINE_QNODE(qnm_mnoc_hf_disp, SM8350_MASTER_MNOC_HF_MEM_NOC_DISP, 2, 32, SM8350_SLAVE_LLCC_DISP); 71 - DEFINE_QNODE(qnm_mnoc_sf_disp, SM8350_MASTER_MNOC_SF_MEM_NOC_DISP, 2, 32, SM8350_SLAVE_LLCC_DISP); 72 - DEFINE_QNODE(llcc_mc_disp, SM8350_MASTER_LLCC_DISP, 4, 4, SM8350_SLAVE_EBI1_DISP); 73 - DEFINE_QNODE(qxm_mdp0_disp, SM8350_MASTER_MDP0_DISP, 1, 32, SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP); 74 - DEFINE_QNODE(qxm_mdp1_disp, SM8350_MASTER_MDP1_DISP, 1, 32, SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP); 75 - DEFINE_QNODE(qxm_rot_disp, SM8350_MASTER_ROTATOR_DISP, 1, 32, SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP); 76 - DEFINE_QNODE(qns_a1noc_snoc, SM8350_SLAVE_A1NOC_SNOC, 1, 16, SM8350_MASTER_A1NOC_SNOC); 77 - DEFINE_QNODE(srvc_aggre1_noc, SM8350_SLAVE_SERVICE_A1NOC, 1, 4); 78 - DEFINE_QNODE(qns_a2noc_snoc, SM8350_SLAVE_A2NOC_SNOC, 1, 16, SM8350_MASTER_A2NOC_SNOC); 79 - DEFINE_QNODE(qns_pcie_mem_noc, SM8350_SLAVE_ANOC_PCIE_GEM_NOC, 1, 16, SM8350_MASTER_ANOC_PCIE_GEM_NOC); 80 - DEFINE_QNODE(srvc_aggre2_noc, SM8350_SLAVE_SERVICE_A2NOC, 1, 4); 81 - DEFINE_QNODE(qhs_ahb2phy0, SM8350_SLAVE_AHB2PHY_SOUTH, 1, 4); 82 - DEFINE_QNODE(qhs_ahb2phy1, SM8350_SLAVE_AHB2PHY_NORTH, 1, 4); 83 - DEFINE_QNODE(qhs_aoss, SM8350_SLAVE_AOSS, 1, 4); 84 - DEFINE_QNODE(qhs_apss, SM8350_SLAVE_APPSS, 1, 8); 85 - DEFINE_QNODE(qhs_camera_cfg, SM8350_SLAVE_CAMERA_CFG, 1, 4); 86 - DEFINE_QNODE(qhs_clk_ctl, SM8350_SLAVE_CLK_CTL, 1, 4); 87 - DEFINE_QNODE(qhs_compute_cfg, SM8350_SLAVE_CDSP_CFG, 1, 4); 88 - DEFINE_QNODE(qhs_cpr_cx, SM8350_SLAVE_RBCPR_CX_CFG, 1, 4); 89 - DEFINE_QNODE(qhs_cpr_mmcx, SM8350_SLAVE_RBCPR_MMCX_CFG, 1, 4); 90 - DEFINE_QNODE(qhs_cpr_mx, SM8350_SLAVE_RBCPR_MX_CFG, 1, 4); 91 - DEFINE_QNODE(qhs_crypto0_cfg, SM8350_SLAVE_CRYPTO_0_CFG, 1, 4); 92 - DEFINE_QNODE(qhs_cx_rdpm, SM8350_SLAVE_CX_RDPM, 1, 4); 93 - DEFINE_QNODE(qhs_dcc_cfg, SM8350_SLAVE_DCC_CFG, 1, 4); 94 - DEFINE_QNODE(qhs_display_cfg, SM8350_SLAVE_DISPLAY_CFG, 1, 4); 95 - DEFINE_QNODE(qhs_gpuss_cfg, SM8350_SLAVE_GFX3D_CFG, 1, 8); 96 - DEFINE_QNODE(qhs_hwkm, SM8350_SLAVE_HWKM, 1, 4); 97 - DEFINE_QNODE(qhs_imem_cfg, SM8350_SLAVE_IMEM_CFG, 1, 4); 98 - DEFINE_QNODE(qhs_ipa, SM8350_SLAVE_IPA_CFG, 1, 4); 99 - DEFINE_QNODE(qhs_ipc_router, SM8350_SLAVE_IPC_ROUTER_CFG, 1, 4); 100 - DEFINE_QNODE(qhs_lpass_cfg, SM8350_SLAVE_LPASS, 1, 4, SM8350_MASTER_CNOC_LPASS_AG_NOC); 101 - DEFINE_QNODE(qhs_mss_cfg, SM8350_SLAVE_CNOC_MSS, 1, 4); 102 - DEFINE_QNODE(qhs_mx_rdpm, SM8350_SLAVE_MX_RDPM, 1, 4); 103 - DEFINE_QNODE(qhs_pcie0_cfg, SM8350_SLAVE_PCIE_0_CFG, 1, 4); 104 - DEFINE_QNODE(qhs_pcie1_cfg, SM8350_SLAVE_PCIE_1_CFG, 1, 4); 105 - DEFINE_QNODE(qhs_pdm, SM8350_SLAVE_PDM, 1, 4); 106 - DEFINE_QNODE(qhs_pimem_cfg, SM8350_SLAVE_PIMEM_CFG, 1, 4); 107 - DEFINE_QNODE(qhs_pka_wrapper_cfg, SM8350_SLAVE_PKA_WRAPPER_CFG, 1, 4); 108 - DEFINE_QNODE(qhs_pmu_wrapper_cfg, SM8350_SLAVE_PMU_WRAPPER_CFG, 1, 4); 109 - DEFINE_QNODE(qhs_qdss_cfg, SM8350_SLAVE_QDSS_CFG, 1, 4); 110 - DEFINE_QNODE(qhs_qspi, SM8350_SLAVE_QSPI_0, 1, 4); 111 - DEFINE_QNODE(qhs_qup0, SM8350_SLAVE_QUP_0, 1, 4); 112 - DEFINE_QNODE(qhs_qup1, SM8350_SLAVE_QUP_1, 1, 4); 113 - DEFINE_QNODE(qhs_qup2, SM8350_SLAVE_QUP_2, 1, 4); 114 - DEFINE_QNODE(qhs_sdc2, SM8350_SLAVE_SDCC_2, 1, 4); 115 - DEFINE_QNODE(qhs_sdc4, SM8350_SLAVE_SDCC_4, 1, 4); 116 - DEFINE_QNODE(qhs_security, SM8350_SLAVE_SECURITY, 1, 4); 117 - DEFINE_QNODE(qhs_spss_cfg, SM8350_SLAVE_SPSS_CFG, 1, 4); 118 - DEFINE_QNODE(qhs_tcsr, SM8350_SLAVE_TCSR, 1, 4); 119 - DEFINE_QNODE(qhs_tlmm, SM8350_SLAVE_TLMM, 1, 4); 120 - DEFINE_QNODE(qhs_ufs_card_cfg, SM8350_SLAVE_UFS_CARD_CFG, 1, 4); 121 - DEFINE_QNODE(qhs_ufs_mem_cfg, SM8350_SLAVE_UFS_MEM_CFG, 1, 4); 122 - DEFINE_QNODE(qhs_usb3_0, SM8350_SLAVE_USB3_0, 1, 4); 123 - DEFINE_QNODE(qhs_usb3_1, SM8350_SLAVE_USB3_1, 1, 4); 124 - DEFINE_QNODE(qhs_venus_cfg, SM8350_SLAVE_VENUS_CFG, 1, 4); 125 - DEFINE_QNODE(qhs_vsense_ctrl_cfg, SM8350_SLAVE_VSENSE_CTRL_CFG, 1, 4); 126 - DEFINE_QNODE(qns_a1_noc_cfg, SM8350_SLAVE_A1NOC_CFG, 1, 4); 127 - DEFINE_QNODE(qns_a2_noc_cfg, SM8350_SLAVE_A2NOC_CFG, 1, 4); 128 - DEFINE_QNODE(qns_ddrss_cfg, SM8350_SLAVE_DDRSS_CFG, 1, 4); 129 - DEFINE_QNODE(qns_mnoc_cfg, SM8350_SLAVE_CNOC_MNOC_CFG, 1, 4); 130 - DEFINE_QNODE(qns_snoc_cfg, SM8350_SLAVE_SNOC_CFG, 1, 4); 131 - DEFINE_QNODE(qxs_boot_imem, SM8350_SLAVE_BOOT_IMEM, 1, 8); 132 - DEFINE_QNODE(qxs_imem, SM8350_SLAVE_IMEM, 1, 8); 133 - DEFINE_QNODE(qxs_pimem, SM8350_SLAVE_PIMEM, 1, 8); 134 - DEFINE_QNODE(srvc_cnoc, SM8350_SLAVE_SERVICE_CNOC, 1, 4); 135 - DEFINE_QNODE(xs_pcie_0, SM8350_SLAVE_PCIE_0, 1, 8); 136 - DEFINE_QNODE(xs_pcie_1, SM8350_SLAVE_PCIE_1, 1, 8); 137 - DEFINE_QNODE(xs_qdss_stm, SM8350_SLAVE_QDSS_STM, 1, 4); 138 - DEFINE_QNODE(xs_sys_tcu_cfg, SM8350_SLAVE_TCU, 1, 8); 139 - DEFINE_QNODE(qhs_llcc, SM8350_SLAVE_LLCC_CFG, 1, 4); 140 - DEFINE_QNODE(qns_gemnoc, SM8350_SLAVE_GEM_NOC_CFG, 1, 4); 141 - DEFINE_QNODE(qhs_mdsp_ms_mpu_cfg, SM8350_SLAVE_MSS_PROC_MS_MPU_CFG, 1, 4); 142 - DEFINE_QNODE(qhs_modem_ms_mpu_cfg, SM8350_SLAVE_MCDMA_MS_MPU_CFG, 1, 4); 143 - DEFINE_QNODE(qns_gem_noc_cnoc, SM8350_SLAVE_GEM_NOC_CNOC, 1, 16, SM8350_MASTER_GEM_NOC_CNOC); 144 - DEFINE_QNODE(qns_llcc, SM8350_SLAVE_LLCC, 4, 16, SM8350_MASTER_LLCC); 145 - DEFINE_QNODE(qns_pcie, SM8350_SLAVE_MEM_NOC_PCIE_SNOC, 1, 8); 146 - DEFINE_QNODE(srvc_even_gemnoc, SM8350_SLAVE_SERVICE_GEM_NOC_1, 1, 4); 147 - DEFINE_QNODE(srvc_odd_gemnoc, SM8350_SLAVE_SERVICE_GEM_NOC_2, 1, 4); 148 - DEFINE_QNODE(srvc_sys_gemnoc, SM8350_SLAVE_SERVICE_GEM_NOC, 1, 4); 149 - DEFINE_QNODE(qhs_lpass_core, SM8350_SLAVE_LPASS_CORE_CFG, 1, 4); 150 - DEFINE_QNODE(qhs_lpass_lpi, SM8350_SLAVE_LPASS_LPI_CFG, 1, 4); 151 - DEFINE_QNODE(qhs_lpass_mpu, SM8350_SLAVE_LPASS_MPU_CFG, 1, 4); 152 - DEFINE_QNODE(qhs_lpass_top, SM8350_SLAVE_LPASS_TOP_CFG, 1, 4); 153 - DEFINE_QNODE(srvc_niu_aml_noc, SM8350_SLAVE_SERVICES_LPASS_AML_NOC, 1, 4); 154 - DEFINE_QNODE(srvc_niu_lpass_agnoc, SM8350_SLAVE_SERVICE_LPASS_AG_NOC, 1, 4); 155 - DEFINE_QNODE(ebi, SM8350_SLAVE_EBI1, 4, 4); 156 - DEFINE_QNODE(qns_mem_noc_hf, SM8350_SLAVE_MNOC_HF_MEM_NOC, 2, 32, SM8350_MASTER_MNOC_HF_MEM_NOC); 157 - DEFINE_QNODE(qns_mem_noc_sf, SM8350_SLAVE_MNOC_SF_MEM_NOC, 2, 32, SM8350_MASTER_MNOC_SF_MEM_NOC); 158 - DEFINE_QNODE(srvc_mnoc, SM8350_SLAVE_SERVICE_MNOC, 1, 4); 159 - DEFINE_QNODE(qns_nsp_gemnoc, SM8350_SLAVE_CDSP_MEM_NOC, 2, 32, SM8350_MASTER_COMPUTE_NOC); 160 - DEFINE_QNODE(service_nsp_noc, SM8350_SLAVE_SERVICE_NSP_NOC, 1, 4); 161 - DEFINE_QNODE(qns_gemnoc_gc, SM8350_SLAVE_SNOC_GEM_NOC_GC, 1, 8, SM8350_MASTER_SNOC_GC_MEM_NOC); 162 - DEFINE_QNODE(qns_gemnoc_sf, SM8350_SLAVE_SNOC_GEM_NOC_SF, 1, 16, SM8350_MASTER_SNOC_SF_MEM_NOC); 163 - DEFINE_QNODE(srvc_snoc, SM8350_SLAVE_SERVICE_SNOC, 1, 4); 164 - DEFINE_QNODE(qns_llcc_disp, SM8350_SLAVE_LLCC_DISP, 4, 16, SM8350_MASTER_LLCC_DISP); 165 - DEFINE_QNODE(ebi_disp, SM8350_SLAVE_EBI1_DISP, 4, 4); 166 - DEFINE_QNODE(qns_mem_noc_hf_disp, SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP, 2, 32, SM8350_MASTER_MNOC_HF_MEM_NOC_DISP); 167 - DEFINE_QNODE(qns_mem_noc_sf_disp, SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP, 2, 32, SM8350_MASTER_MNOC_SF_MEM_NOC_DISP); 18 + static struct qcom_icc_node qhm_qspi = { 19 + .name = "qhm_qspi", 20 + .id = SM8350_MASTER_QSPI_0, 21 + .channels = 1, 22 + .buswidth = 4, 23 + .num_links = 1, 24 + .links = { SM8350_SLAVE_A1NOC_SNOC }, 25 + }; 168 26 169 - DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); 170 - DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); 171 - DEFINE_QBCM(bcm_cn0, "CN0", true, &qnm_gemnoc_cnoc, &qnm_gemnoc_pcie); 172 - DEFINE_QBCM(bcm_cn1, "CN1", false, &xm_qdss_dap, &qhs_ahb2phy0, &qhs_ahb2phy1, &qhs_aoss, &qhs_apss, &qhs_camera_cfg, &qhs_clk_ctl, &qhs_compute_cfg, &qhs_cpr_cx, &qhs_cpr_mmcx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_cx_rdpm, &qhs_dcc_cfg, &qhs_display_cfg, &qhs_gpuss_cfg, &qhs_hwkm, &qhs_imem_cfg, &qhs_ipa, &qhs_ipc_router, &qhs_mss_cfg, &qhs_mx_rdpm, &qhs_pcie0_cfg, &qhs_pcie1_cfg, &qhs_pimem_cfg, &qhs_pka_wrapper_cfg, &qhs_pmu_wrapper_cfg, &qhs_qdss_cfg, &qhs_qup0, &qhs_qup1, &qhs_qup2, &qhs_security, &qhs_spss_cfg, &qhs_tcsr, &qhs_tlmm, &qhs_ufs_card_cfg, &qhs_ufs_mem_cfg, &qhs_usb3_0, &qhs_usb3_1, &qhs_venus_cfg, &qhs_vsense_ctrl_cfg, &qns_a1_noc_cfg, &qns_a2_noc_cfg, &qns_ddrss_cfg, &qns_mnoc_cfg, &qns_snoc_cfg, &srvc_cnoc); 173 - DEFINE_QBCM(bcm_cn2, "CN2", false, &qhs_lpass_cfg, &qhs_pdm, &qhs_qspi, &qhs_sdc2, &qhs_sdc4); 174 - DEFINE_QBCM(bcm_co0, "CO0", false, &qns_nsp_gemnoc); 175 - DEFINE_QBCM(bcm_co3, "CO3", false, &qxm_nsp); 176 - DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); 177 - DEFINE_QBCM(bcm_mm0, "MM0", true, &qns_mem_noc_hf); 178 - DEFINE_QBCM(bcm_mm1, "MM1", false, &qnm_camnoc_hf, &qxm_mdp0, &qxm_mdp1); 179 - DEFINE_QBCM(bcm_mm4, "MM4", false, &qns_mem_noc_sf); 180 - DEFINE_QBCM(bcm_mm5, "MM5", false, &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_video0, &qnm_video1, &qnm_video_cvp, &qxm_rot); 181 - DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); 182 - DEFINE_QBCM(bcm_sh2, "SH2", false, &alm_gpu_tcu, &alm_sys_tcu); 183 - DEFINE_QBCM(bcm_sh3, "SH3", false, &qnm_cmpnoc); 184 - DEFINE_QBCM(bcm_sh4, "SH4", false, &chm_apps); 185 - DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_gemnoc_sf); 186 - DEFINE_QBCM(bcm_sn2, "SN2", false, &qns_gemnoc_gc); 187 - DEFINE_QBCM(bcm_sn3, "SN3", false, &qxs_pimem); 188 - DEFINE_QBCM(bcm_sn4, "SN4", false, &xs_qdss_stm); 189 - DEFINE_QBCM(bcm_sn5, "SN5", false, &xm_pcie3_0); 190 - DEFINE_QBCM(bcm_sn6, "SN6", false, &xm_pcie3_1); 191 - DEFINE_QBCM(bcm_sn7, "SN7", false, &qnm_aggre1_noc); 192 - DEFINE_QBCM(bcm_sn8, "SN8", false, &qnm_aggre2_noc); 193 - DEFINE_QBCM(bcm_sn14, "SN14", false, &qns_pcie_mem_noc); 194 - DEFINE_QBCM(bcm_acv_disp, "ACV", false, &ebi_disp); 195 - DEFINE_QBCM(bcm_mc0_disp, "MC0", false, &ebi_disp); 196 - DEFINE_QBCM(bcm_mm0_disp, "MM0", false, &qns_mem_noc_hf_disp); 197 - DEFINE_QBCM(bcm_mm1_disp, "MM1", false, &qxm_mdp0_disp, &qxm_mdp1_disp); 198 - DEFINE_QBCM(bcm_mm4_disp, "MM4", false, &qns_mem_noc_sf_disp); 199 - DEFINE_QBCM(bcm_mm5_disp, "MM5", false, &qxm_rot_disp); 200 - DEFINE_QBCM(bcm_sh0_disp, "SH0", false, &qns_llcc_disp); 27 + static struct qcom_icc_node qhm_qup0 = { 28 + .name = "qhm_qup0", 29 + .id = SM8350_MASTER_QUP_0, 30 + .channels = 1, 31 + .buswidth = 4, 32 + .num_links = 1, 33 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 34 + }; 35 + 36 + static struct qcom_icc_node qhm_qup1 = { 37 + .name = "qhm_qup1", 38 + .id = SM8350_MASTER_QUP_1, 39 + .channels = 1, 40 + .buswidth = 4, 41 + .num_links = 1, 42 + .links = { SM8350_SLAVE_A1NOC_SNOC }, 43 + }; 44 + 45 + static struct qcom_icc_node qhm_qup2 = { 46 + .name = "qhm_qup2", 47 + .id = SM8350_MASTER_QUP_2, 48 + .channels = 1, 49 + .buswidth = 4, 50 + .num_links = 1, 51 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 52 + }; 53 + 54 + static struct qcom_icc_node qnm_a1noc_cfg = { 55 + .name = "qnm_a1noc_cfg", 56 + .id = SM8350_MASTER_A1NOC_CFG, 57 + .channels = 1, 58 + .buswidth = 4, 59 + .num_links = 1, 60 + .links = { SM8350_SLAVE_SERVICE_A1NOC }, 61 + }; 62 + 63 + static struct qcom_icc_node xm_sdc4 = { 64 + .name = "xm_sdc4", 65 + .id = SM8350_MASTER_SDCC_4, 66 + .channels = 1, 67 + .buswidth = 8, 68 + .num_links = 1, 69 + .links = { SM8350_SLAVE_A1NOC_SNOC }, 70 + }; 71 + 72 + static struct qcom_icc_node xm_ufs_mem = { 73 + .name = "xm_ufs_mem", 74 + .id = SM8350_MASTER_UFS_MEM, 75 + .channels = 1, 76 + .buswidth = 8, 77 + .num_links = 1, 78 + .links = { SM8350_SLAVE_A1NOC_SNOC }, 79 + }; 80 + 81 + static struct qcom_icc_node xm_usb3_0 = { 82 + .name = "xm_usb3_0", 83 + .id = SM8350_MASTER_USB3_0, 84 + .channels = 1, 85 + .buswidth = 8, 86 + .num_links = 1, 87 + .links = { SM8350_SLAVE_A1NOC_SNOC }, 88 + }; 89 + 90 + static struct qcom_icc_node xm_usb3_1 = { 91 + .name = "xm_usb3_1", 92 + .id = SM8350_MASTER_USB3_1, 93 + .channels = 1, 94 + .buswidth = 8, 95 + .num_links = 1, 96 + .links = { SM8350_SLAVE_A1NOC_SNOC }, 97 + }; 98 + 99 + static struct qcom_icc_node qhm_qdss_bam = { 100 + .name = "qhm_qdss_bam", 101 + .id = SM8350_MASTER_QDSS_BAM, 102 + .channels = 1, 103 + .buswidth = 4, 104 + .num_links = 1, 105 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 106 + }; 107 + 108 + static struct qcom_icc_node qnm_a2noc_cfg = { 109 + .name = "qnm_a2noc_cfg", 110 + .id = SM8350_MASTER_A2NOC_CFG, 111 + .channels = 1, 112 + .buswidth = 4, 113 + .num_links = 1, 114 + .links = { SM8350_SLAVE_SERVICE_A2NOC }, 115 + }; 116 + 117 + static struct qcom_icc_node qxm_crypto = { 118 + .name = "qxm_crypto", 119 + .id = SM8350_MASTER_CRYPTO, 120 + .channels = 1, 121 + .buswidth = 8, 122 + .num_links = 1, 123 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 124 + }; 125 + 126 + static struct qcom_icc_node qxm_ipa = { 127 + .name = "qxm_ipa", 128 + .id = SM8350_MASTER_IPA, 129 + .channels = 1, 130 + .buswidth = 8, 131 + .num_links = 1, 132 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 133 + }; 134 + 135 + static struct qcom_icc_node xm_pcie3_0 = { 136 + .name = "xm_pcie3_0", 137 + .id = SM8350_MASTER_PCIE_0, 138 + .channels = 1, 139 + .buswidth = 8, 140 + .num_links = 1, 141 + .links = { SM8350_SLAVE_ANOC_PCIE_GEM_NOC }, 142 + }; 143 + 144 + static struct qcom_icc_node xm_pcie3_1 = { 145 + .name = "xm_pcie3_1", 146 + .id = SM8350_MASTER_PCIE_1, 147 + .channels = 1, 148 + .buswidth = 8, 149 + .num_links = 1, 150 + .links = { SM8350_SLAVE_ANOC_PCIE_GEM_NOC }, 151 + }; 152 + 153 + static struct qcom_icc_node xm_qdss_etr = { 154 + .name = "xm_qdss_etr", 155 + .id = SM8350_MASTER_QDSS_ETR, 156 + .channels = 1, 157 + .buswidth = 8, 158 + .num_links = 1, 159 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 160 + }; 161 + 162 + static struct qcom_icc_node xm_sdc2 = { 163 + .name = "xm_sdc2", 164 + .id = SM8350_MASTER_SDCC_2, 165 + .channels = 1, 166 + .buswidth = 8, 167 + .num_links = 1, 168 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 169 + }; 170 + 171 + static struct qcom_icc_node xm_ufs_card = { 172 + .name = "xm_ufs_card", 173 + .id = SM8350_MASTER_UFS_CARD, 174 + .channels = 1, 175 + .buswidth = 8, 176 + .num_links = 1, 177 + .links = { SM8350_SLAVE_A2NOC_SNOC }, 178 + }; 179 + 180 + static struct qcom_icc_node qnm_gemnoc_cnoc = { 181 + .name = "qnm_gemnoc_cnoc", 182 + .id = SM8350_MASTER_GEM_NOC_CNOC, 183 + .channels = 1, 184 + .buswidth = 16, 185 + .num_links = 56, 186 + .links = { SM8350_SLAVE_AHB2PHY_SOUTH, 187 + SM8350_SLAVE_AHB2PHY_NORTH, 188 + SM8350_SLAVE_AOSS, 189 + SM8350_SLAVE_APPSS, 190 + SM8350_SLAVE_CAMERA_CFG, 191 + SM8350_SLAVE_CLK_CTL, 192 + SM8350_SLAVE_CDSP_CFG, 193 + SM8350_SLAVE_RBCPR_CX_CFG, 194 + SM8350_SLAVE_RBCPR_MMCX_CFG, 195 + SM8350_SLAVE_RBCPR_MX_CFG, 196 + SM8350_SLAVE_CRYPTO_0_CFG, 197 + SM8350_SLAVE_CX_RDPM, 198 + SM8350_SLAVE_DCC_CFG, 199 + SM8350_SLAVE_DISPLAY_CFG, 200 + SM8350_SLAVE_GFX3D_CFG, 201 + SM8350_SLAVE_HWKM, 202 + SM8350_SLAVE_IMEM_CFG, 203 + SM8350_SLAVE_IPA_CFG, 204 + SM8350_SLAVE_IPC_ROUTER_CFG, 205 + SM8350_SLAVE_LPASS, 206 + SM8350_SLAVE_CNOC_MSS, 207 + SM8350_SLAVE_MX_RDPM, 208 + SM8350_SLAVE_PCIE_0_CFG, 209 + SM8350_SLAVE_PCIE_1_CFG, 210 + SM8350_SLAVE_PDM, 211 + SM8350_SLAVE_PIMEM_CFG, 212 + SM8350_SLAVE_PKA_WRAPPER_CFG, 213 + SM8350_SLAVE_PMU_WRAPPER_CFG, 214 + SM8350_SLAVE_QDSS_CFG, 215 + SM8350_SLAVE_QSPI_0, 216 + SM8350_SLAVE_QUP_0, 217 + SM8350_SLAVE_QUP_1, 218 + SM8350_SLAVE_QUP_2, 219 + SM8350_SLAVE_SDCC_2, 220 + SM8350_SLAVE_SDCC_4, 221 + SM8350_SLAVE_SECURITY, 222 + SM8350_SLAVE_SPSS_CFG, 223 + SM8350_SLAVE_TCSR, 224 + SM8350_SLAVE_TLMM, 225 + SM8350_SLAVE_UFS_CARD_CFG, 226 + SM8350_SLAVE_UFS_MEM_CFG, 227 + SM8350_SLAVE_USB3_0, 228 + SM8350_SLAVE_USB3_1, 229 + SM8350_SLAVE_VENUS_CFG, 230 + SM8350_SLAVE_VSENSE_CTRL_CFG, 231 + SM8350_SLAVE_A1NOC_CFG, 232 + SM8350_SLAVE_A2NOC_CFG, 233 + SM8350_SLAVE_DDRSS_CFG, 234 + SM8350_SLAVE_CNOC_MNOC_CFG, 235 + SM8350_SLAVE_SNOC_CFG, 236 + SM8350_SLAVE_BOOT_IMEM, 237 + SM8350_SLAVE_IMEM, 238 + SM8350_SLAVE_PIMEM, 239 + SM8350_SLAVE_SERVICE_CNOC, 240 + SM8350_SLAVE_QDSS_STM, 241 + SM8350_SLAVE_TCU 242 + }, 243 + }; 244 + 245 + static struct qcom_icc_node qnm_gemnoc_pcie = { 246 + .name = "qnm_gemnoc_pcie", 247 + .id = SM8350_MASTER_GEM_NOC_PCIE_SNOC, 248 + .channels = 1, 249 + .buswidth = 8, 250 + .num_links = 2, 251 + .links = { SM8350_SLAVE_PCIE_0, 252 + SM8350_SLAVE_PCIE_1 253 + }, 254 + }; 255 + 256 + static struct qcom_icc_node xm_qdss_dap = { 257 + .name = "xm_qdss_dap", 258 + .id = SM8350_MASTER_QDSS_DAP, 259 + .channels = 1, 260 + .buswidth = 8, 261 + .num_links = 56, 262 + .links = { SM8350_SLAVE_AHB2PHY_SOUTH, 263 + SM8350_SLAVE_AHB2PHY_NORTH, 264 + SM8350_SLAVE_AOSS, 265 + SM8350_SLAVE_APPSS, 266 + SM8350_SLAVE_CAMERA_CFG, 267 + SM8350_SLAVE_CLK_CTL, 268 + SM8350_SLAVE_CDSP_CFG, 269 + SM8350_SLAVE_RBCPR_CX_CFG, 270 + SM8350_SLAVE_RBCPR_MMCX_CFG, 271 + SM8350_SLAVE_RBCPR_MX_CFG, 272 + SM8350_SLAVE_CRYPTO_0_CFG, 273 + SM8350_SLAVE_CX_RDPM, 274 + SM8350_SLAVE_DCC_CFG, 275 + SM8350_SLAVE_DISPLAY_CFG, 276 + SM8350_SLAVE_GFX3D_CFG, 277 + SM8350_SLAVE_HWKM, 278 + SM8350_SLAVE_IMEM_CFG, 279 + SM8350_SLAVE_IPA_CFG, 280 + SM8350_SLAVE_IPC_ROUTER_CFG, 281 + SM8350_SLAVE_LPASS, 282 + SM8350_SLAVE_CNOC_MSS, 283 + SM8350_SLAVE_MX_RDPM, 284 + SM8350_SLAVE_PCIE_0_CFG, 285 + SM8350_SLAVE_PCIE_1_CFG, 286 + SM8350_SLAVE_PDM, 287 + SM8350_SLAVE_PIMEM_CFG, 288 + SM8350_SLAVE_PKA_WRAPPER_CFG, 289 + SM8350_SLAVE_PMU_WRAPPER_CFG, 290 + SM8350_SLAVE_QDSS_CFG, 291 + SM8350_SLAVE_QSPI_0, 292 + SM8350_SLAVE_QUP_0, 293 + SM8350_SLAVE_QUP_1, 294 + SM8350_SLAVE_QUP_2, 295 + SM8350_SLAVE_SDCC_2, 296 + SM8350_SLAVE_SDCC_4, 297 + SM8350_SLAVE_SECURITY, 298 + SM8350_SLAVE_SPSS_CFG, 299 + SM8350_SLAVE_TCSR, 300 + SM8350_SLAVE_TLMM, 301 + SM8350_SLAVE_UFS_CARD_CFG, 302 + SM8350_SLAVE_UFS_MEM_CFG, 303 + SM8350_SLAVE_USB3_0, 304 + SM8350_SLAVE_USB3_1, 305 + SM8350_SLAVE_VENUS_CFG, 306 + SM8350_SLAVE_VSENSE_CTRL_CFG, 307 + SM8350_SLAVE_A1NOC_CFG, 308 + SM8350_SLAVE_A2NOC_CFG, 309 + SM8350_SLAVE_DDRSS_CFG, 310 + SM8350_SLAVE_CNOC_MNOC_CFG, 311 + SM8350_SLAVE_SNOC_CFG, 312 + SM8350_SLAVE_BOOT_IMEM, 313 + SM8350_SLAVE_IMEM, 314 + SM8350_SLAVE_PIMEM, 315 + SM8350_SLAVE_SERVICE_CNOC, 316 + SM8350_SLAVE_QDSS_STM, 317 + SM8350_SLAVE_TCU 318 + }, 319 + }; 320 + 321 + static struct qcom_icc_node qnm_cnoc_dc_noc = { 322 + .name = "qnm_cnoc_dc_noc", 323 + .id = SM8350_MASTER_CNOC_DC_NOC, 324 + .channels = 1, 325 + .buswidth = 4, 326 + .num_links = 2, 327 + .links = { SM8350_SLAVE_LLCC_CFG, 328 + SM8350_SLAVE_GEM_NOC_CFG 329 + }, 330 + }; 331 + 332 + static struct qcom_icc_node alm_gpu_tcu = { 333 + .name = "alm_gpu_tcu", 334 + .id = SM8350_MASTER_GPU_TCU, 335 + .channels = 1, 336 + .buswidth = 8, 337 + .num_links = 2, 338 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 339 + SM8350_SLAVE_LLCC 340 + }, 341 + }; 342 + 343 + static struct qcom_icc_node alm_sys_tcu = { 344 + .name = "alm_sys_tcu", 345 + .id = SM8350_MASTER_SYS_TCU, 346 + .channels = 1, 347 + .buswidth = 8, 348 + .num_links = 2, 349 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 350 + SM8350_SLAVE_LLCC 351 + }, 352 + }; 353 + 354 + static struct qcom_icc_node chm_apps = { 355 + .name = "chm_apps", 356 + .id = SM8350_MASTER_APPSS_PROC, 357 + .channels = 2, 358 + .buswidth = 32, 359 + .num_links = 3, 360 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 361 + SM8350_SLAVE_LLCC, 362 + SM8350_SLAVE_MEM_NOC_PCIE_SNOC 363 + }, 364 + }; 365 + 366 + static struct qcom_icc_node qnm_cmpnoc = { 367 + .name = "qnm_cmpnoc", 368 + .id = SM8350_MASTER_COMPUTE_NOC, 369 + .channels = 2, 370 + .buswidth = 32, 371 + .num_links = 2, 372 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 373 + SM8350_SLAVE_LLCC 374 + }, 375 + }; 376 + 377 + static struct qcom_icc_node qnm_gemnoc_cfg = { 378 + .name = "qnm_gemnoc_cfg", 379 + .id = SM8350_MASTER_GEM_NOC_CFG, 380 + .channels = 1, 381 + .buswidth = 4, 382 + .num_links = 5, 383 + .links = { SM8350_SLAVE_MSS_PROC_MS_MPU_CFG, 384 + SM8350_SLAVE_MCDMA_MS_MPU_CFG, 385 + SM8350_SLAVE_SERVICE_GEM_NOC_1, 386 + SM8350_SLAVE_SERVICE_GEM_NOC_2, 387 + SM8350_SLAVE_SERVICE_GEM_NOC 388 + }, 389 + }; 390 + 391 + static struct qcom_icc_node qnm_gpu = { 392 + .name = "qnm_gpu", 393 + .id = SM8350_MASTER_GFX3D, 394 + .channels = 2, 395 + .buswidth = 32, 396 + .num_links = 2, 397 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 398 + SM8350_SLAVE_LLCC 399 + }, 400 + }; 401 + 402 + static struct qcom_icc_node qnm_mnoc_hf = { 403 + .name = "qnm_mnoc_hf", 404 + .id = SM8350_MASTER_MNOC_HF_MEM_NOC, 405 + .channels = 2, 406 + .buswidth = 32, 407 + .num_links = 1, 408 + .links = { SM8350_SLAVE_LLCC }, 409 + }; 410 + 411 + static struct qcom_icc_node qnm_mnoc_sf = { 412 + .name = "qnm_mnoc_sf", 413 + .id = SM8350_MASTER_MNOC_SF_MEM_NOC, 414 + .channels = 2, 415 + .buswidth = 32, 416 + .num_links = 2, 417 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 418 + SM8350_SLAVE_LLCC 419 + }, 420 + }; 421 + 422 + static struct qcom_icc_node qnm_pcie = { 423 + .name = "qnm_pcie", 424 + .id = SM8350_MASTER_ANOC_PCIE_GEM_NOC, 425 + .channels = 1, 426 + .buswidth = 16, 427 + .num_links = 2, 428 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 429 + SM8350_SLAVE_LLCC 430 + }, 431 + }; 432 + 433 + static struct qcom_icc_node qnm_snoc_gc = { 434 + .name = "qnm_snoc_gc", 435 + .id = SM8350_MASTER_SNOC_GC_MEM_NOC, 436 + .channels = 1, 437 + .buswidth = 8, 438 + .num_links = 1, 439 + .links = { SM8350_SLAVE_LLCC }, 440 + }; 441 + 442 + static struct qcom_icc_node qnm_snoc_sf = { 443 + .name = "qnm_snoc_sf", 444 + .id = SM8350_MASTER_SNOC_SF_MEM_NOC, 445 + .channels = 1, 446 + .buswidth = 16, 447 + .num_links = 3, 448 + .links = { SM8350_SLAVE_GEM_NOC_CNOC, 449 + SM8350_SLAVE_LLCC, 450 + SM8350_SLAVE_MEM_NOC_PCIE_SNOC 451 + }, 452 + }; 453 + 454 + static struct qcom_icc_node qhm_config_noc = { 455 + .name = "qhm_config_noc", 456 + .id = SM8350_MASTER_CNOC_LPASS_AG_NOC, 457 + .channels = 1, 458 + .buswidth = 4, 459 + .num_links = 6, 460 + .links = { SM8350_SLAVE_LPASS_CORE_CFG, 461 + SM8350_SLAVE_LPASS_LPI_CFG, 462 + SM8350_SLAVE_LPASS_MPU_CFG, 463 + SM8350_SLAVE_LPASS_TOP_CFG, 464 + SM8350_SLAVE_SERVICES_LPASS_AML_NOC, 465 + SM8350_SLAVE_SERVICE_LPASS_AG_NOC 466 + }, 467 + }; 468 + 469 + static struct qcom_icc_node llcc_mc = { 470 + .name = "llcc_mc", 471 + .id = SM8350_MASTER_LLCC, 472 + .channels = 4, 473 + .buswidth = 4, 474 + .num_links = 1, 475 + .links = { SM8350_SLAVE_EBI1 }, 476 + }; 477 + 478 + static struct qcom_icc_node qnm_camnoc_hf = { 479 + .name = "qnm_camnoc_hf", 480 + .id = SM8350_MASTER_CAMNOC_HF, 481 + .channels = 2, 482 + .buswidth = 32, 483 + .num_links = 1, 484 + .links = { SM8350_SLAVE_MNOC_HF_MEM_NOC }, 485 + }; 486 + 487 + static struct qcom_icc_node qnm_camnoc_icp = { 488 + .name = "qnm_camnoc_icp", 489 + .id = SM8350_MASTER_CAMNOC_ICP, 490 + .channels = 1, 491 + .buswidth = 8, 492 + .num_links = 1, 493 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC }, 494 + }; 495 + 496 + static struct qcom_icc_node qnm_camnoc_sf = { 497 + .name = "qnm_camnoc_sf", 498 + .id = SM8350_MASTER_CAMNOC_SF, 499 + .channels = 2, 500 + .buswidth = 32, 501 + .num_links = 1, 502 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC }, 503 + }; 504 + 505 + static struct qcom_icc_node qnm_mnoc_cfg = { 506 + .name = "qnm_mnoc_cfg", 507 + .id = SM8350_MASTER_CNOC_MNOC_CFG, 508 + .channels = 1, 509 + .buswidth = 4, 510 + .num_links = 1, 511 + .links = { SM8350_SLAVE_SERVICE_MNOC }, 512 + }; 513 + 514 + static struct qcom_icc_node qnm_video0 = { 515 + .name = "qnm_video0", 516 + .id = SM8350_MASTER_VIDEO_P0, 517 + .channels = 1, 518 + .buswidth = 32, 519 + .num_links = 1, 520 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC }, 521 + }; 522 + 523 + static struct qcom_icc_node qnm_video1 = { 524 + .name = "qnm_video1", 525 + .id = SM8350_MASTER_VIDEO_P1, 526 + .channels = 1, 527 + .buswidth = 32, 528 + .num_links = 1, 529 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC }, 530 + }; 531 + 532 + static struct qcom_icc_node qnm_video_cvp = { 533 + .name = "qnm_video_cvp", 534 + .id = SM8350_MASTER_VIDEO_PROC, 535 + .channels = 1, 536 + .buswidth = 32, 537 + .num_links = 1, 538 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC }, 539 + }; 540 + 541 + static struct qcom_icc_node qxm_mdp0 = { 542 + .name = "qxm_mdp0", 543 + .id = SM8350_MASTER_MDP0, 544 + .channels = 1, 545 + .buswidth = 32, 546 + .num_links = 1, 547 + .links = { SM8350_SLAVE_MNOC_HF_MEM_NOC }, 548 + }; 549 + 550 + static struct qcom_icc_node qxm_mdp1 = { 551 + .name = "qxm_mdp1", 552 + .id = SM8350_MASTER_MDP1, 553 + .channels = 1, 554 + .buswidth = 32, 555 + .num_links = 1, 556 + .links = { SM8350_SLAVE_MNOC_HF_MEM_NOC }, 557 + }; 558 + 559 + static struct qcom_icc_node qxm_rot = { 560 + .name = "qxm_rot", 561 + .id = SM8350_MASTER_ROTATOR, 562 + .channels = 1, 563 + .buswidth = 32, 564 + .num_links = 1, 565 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC }, 566 + }; 567 + 568 + static struct qcom_icc_node qhm_nsp_noc_config = { 569 + .name = "qhm_nsp_noc_config", 570 + .id = SM8350_MASTER_CDSP_NOC_CFG, 571 + .channels = 1, 572 + .buswidth = 4, 573 + .num_links = 1, 574 + .links = { SM8350_SLAVE_SERVICE_NSP_NOC }, 575 + }; 576 + 577 + static struct qcom_icc_node qxm_nsp = { 578 + .name = "qxm_nsp", 579 + .id = SM8350_MASTER_CDSP_PROC, 580 + .channels = 2, 581 + .buswidth = 32, 582 + .num_links = 1, 583 + .links = { SM8350_SLAVE_CDSP_MEM_NOC }, 584 + }; 585 + 586 + static struct qcom_icc_node qnm_aggre1_noc = { 587 + .name = "qnm_aggre1_noc", 588 + .id = SM8350_MASTER_A1NOC_SNOC, 589 + .channels = 1, 590 + .buswidth = 16, 591 + .num_links = 1, 592 + .links = { SM8350_SLAVE_SNOC_GEM_NOC_SF }, 593 + }; 594 + 595 + static struct qcom_icc_node qnm_aggre2_noc = { 596 + .name = "qnm_aggre2_noc", 597 + .id = SM8350_MASTER_A2NOC_SNOC, 598 + .channels = 1, 599 + .buswidth = 16, 600 + .num_links = 1, 601 + .links = { SM8350_SLAVE_SNOC_GEM_NOC_SF }, 602 + }; 603 + 604 + static struct qcom_icc_node qnm_snoc_cfg = { 605 + .name = "qnm_snoc_cfg", 606 + .id = SM8350_MASTER_SNOC_CFG, 607 + .channels = 1, 608 + .buswidth = 4, 609 + .num_links = 1, 610 + .links = { SM8350_SLAVE_SERVICE_SNOC }, 611 + }; 612 + 613 + static struct qcom_icc_node qxm_pimem = { 614 + .name = "qxm_pimem", 615 + .id = SM8350_MASTER_PIMEM, 616 + .channels = 1, 617 + .buswidth = 8, 618 + .num_links = 1, 619 + .links = { SM8350_SLAVE_SNOC_GEM_NOC_GC }, 620 + }; 621 + 622 + static struct qcom_icc_node xm_gic = { 623 + .name = "xm_gic", 624 + .id = SM8350_MASTER_GIC, 625 + .channels = 1, 626 + .buswidth = 8, 627 + .num_links = 1, 628 + .links = { SM8350_SLAVE_SNOC_GEM_NOC_GC }, 629 + }; 630 + 631 + static struct qcom_icc_node qnm_mnoc_hf_disp = { 632 + .name = "qnm_mnoc_hf_disp", 633 + .id = SM8350_MASTER_MNOC_HF_MEM_NOC_DISP, 634 + .channels = 2, 635 + .buswidth = 32, 636 + .num_links = 1, 637 + .links = { SM8350_SLAVE_LLCC_DISP }, 638 + }; 639 + 640 + static struct qcom_icc_node qnm_mnoc_sf_disp = { 641 + .name = "qnm_mnoc_sf_disp", 642 + .id = SM8350_MASTER_MNOC_SF_MEM_NOC_DISP, 643 + .channels = 2, 644 + .buswidth = 32, 645 + .num_links = 1, 646 + .links = { SM8350_SLAVE_LLCC_DISP }, 647 + }; 648 + 649 + static struct qcom_icc_node llcc_mc_disp = { 650 + .name = "llcc_mc_disp", 651 + .id = SM8350_MASTER_LLCC_DISP, 652 + .channels = 4, 653 + .buswidth = 4, 654 + .num_links = 1, 655 + .links = { SM8350_SLAVE_EBI1_DISP }, 656 + }; 657 + 658 + static struct qcom_icc_node qxm_mdp0_disp = { 659 + .name = "qxm_mdp0_disp", 660 + .id = SM8350_MASTER_MDP0_DISP, 661 + .channels = 1, 662 + .buswidth = 32, 663 + .num_links = 1, 664 + .links = { SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP }, 665 + }; 666 + 667 + static struct qcom_icc_node qxm_mdp1_disp = { 668 + .name = "qxm_mdp1_disp", 669 + .id = SM8350_MASTER_MDP1_DISP, 670 + .channels = 1, 671 + .buswidth = 32, 672 + .num_links = 1, 673 + .links = { SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP }, 674 + }; 675 + 676 + static struct qcom_icc_node qxm_rot_disp = { 677 + .name = "qxm_rot_disp", 678 + .id = SM8350_MASTER_ROTATOR_DISP, 679 + .channels = 1, 680 + .buswidth = 32, 681 + .num_links = 1, 682 + .links = { SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP }, 683 + }; 684 + 685 + static struct qcom_icc_node qns_a1noc_snoc = { 686 + .name = "qns_a1noc_snoc", 687 + .id = SM8350_SLAVE_A1NOC_SNOC, 688 + .channels = 1, 689 + .buswidth = 16, 690 + .num_links = 1, 691 + .links = { SM8350_MASTER_A1NOC_SNOC }, 692 + }; 693 + 694 + static struct qcom_icc_node srvc_aggre1_noc = { 695 + .name = "srvc_aggre1_noc", 696 + .id = SM8350_SLAVE_SERVICE_A1NOC, 697 + .channels = 1, 698 + .buswidth = 4, 699 + }; 700 + 701 + static struct qcom_icc_node qns_a2noc_snoc = { 702 + .name = "qns_a2noc_snoc", 703 + .id = SM8350_SLAVE_A2NOC_SNOC, 704 + .channels = 1, 705 + .buswidth = 16, 706 + .num_links = 1, 707 + .links = { SM8350_MASTER_A2NOC_SNOC }, 708 + }; 709 + 710 + static struct qcom_icc_node qns_pcie_mem_noc = { 711 + .name = "qns_pcie_mem_noc", 712 + .id = SM8350_SLAVE_ANOC_PCIE_GEM_NOC, 713 + .channels = 1, 714 + .buswidth = 16, 715 + .num_links = 1, 716 + .links = { SM8350_MASTER_ANOC_PCIE_GEM_NOC }, 717 + }; 718 + 719 + static struct qcom_icc_node srvc_aggre2_noc = { 720 + .name = "srvc_aggre2_noc", 721 + .id = SM8350_SLAVE_SERVICE_A2NOC, 722 + .channels = 1, 723 + .buswidth = 4, 724 + }; 725 + 726 + static struct qcom_icc_node qhs_ahb2phy0 = { 727 + .name = "qhs_ahb2phy0", 728 + .id = SM8350_SLAVE_AHB2PHY_SOUTH, 729 + .channels = 1, 730 + .buswidth = 4, 731 + }; 732 + 733 + static struct qcom_icc_node qhs_ahb2phy1 = { 734 + .name = "qhs_ahb2phy1", 735 + .id = SM8350_SLAVE_AHB2PHY_NORTH, 736 + .channels = 1, 737 + .buswidth = 4, 738 + }; 739 + 740 + static struct qcom_icc_node qhs_aoss = { 741 + .name = "qhs_aoss", 742 + .id = SM8350_SLAVE_AOSS, 743 + .channels = 1, 744 + .buswidth = 4, 745 + }; 746 + 747 + static struct qcom_icc_node qhs_apss = { 748 + .name = "qhs_apss", 749 + .id = SM8350_SLAVE_APPSS, 750 + .channels = 1, 751 + .buswidth = 8, 752 + }; 753 + 754 + static struct qcom_icc_node qhs_camera_cfg = { 755 + .name = "qhs_camera_cfg", 756 + .id = SM8350_SLAVE_CAMERA_CFG, 757 + .channels = 1, 758 + .buswidth = 4, 759 + }; 760 + 761 + static struct qcom_icc_node qhs_clk_ctl = { 762 + .name = "qhs_clk_ctl", 763 + .id = SM8350_SLAVE_CLK_CTL, 764 + .channels = 1, 765 + .buswidth = 4, 766 + }; 767 + 768 + static struct qcom_icc_node qhs_compute_cfg = { 769 + .name = "qhs_compute_cfg", 770 + .id = SM8350_SLAVE_CDSP_CFG, 771 + .channels = 1, 772 + .buswidth = 4, 773 + }; 774 + 775 + static struct qcom_icc_node qhs_cpr_cx = { 776 + .name = "qhs_cpr_cx", 777 + .id = SM8350_SLAVE_RBCPR_CX_CFG, 778 + .channels = 1, 779 + .buswidth = 4, 780 + }; 781 + 782 + static struct qcom_icc_node qhs_cpr_mmcx = { 783 + .name = "qhs_cpr_mmcx", 784 + .id = SM8350_SLAVE_RBCPR_MMCX_CFG, 785 + .channels = 1, 786 + .buswidth = 4, 787 + }; 788 + 789 + static struct qcom_icc_node qhs_cpr_mx = { 790 + .name = "qhs_cpr_mx", 791 + .id = SM8350_SLAVE_RBCPR_MX_CFG, 792 + .channels = 1, 793 + .buswidth = 4, 794 + }; 795 + 796 + static struct qcom_icc_node qhs_crypto0_cfg = { 797 + .name = "qhs_crypto0_cfg", 798 + .id = SM8350_SLAVE_CRYPTO_0_CFG, 799 + .channels = 1, 800 + .buswidth = 4, 801 + }; 802 + 803 + static struct qcom_icc_node qhs_cx_rdpm = { 804 + .name = "qhs_cx_rdpm", 805 + .id = SM8350_SLAVE_CX_RDPM, 806 + .channels = 1, 807 + .buswidth = 4, 808 + }; 809 + 810 + static struct qcom_icc_node qhs_dcc_cfg = { 811 + .name = "qhs_dcc_cfg", 812 + .id = SM8350_SLAVE_DCC_CFG, 813 + .channels = 1, 814 + .buswidth = 4, 815 + }; 816 + 817 + static struct qcom_icc_node qhs_display_cfg = { 818 + .name = "qhs_display_cfg", 819 + .id = SM8350_SLAVE_DISPLAY_CFG, 820 + .channels = 1, 821 + .buswidth = 4, 822 + }; 823 + 824 + static struct qcom_icc_node qhs_gpuss_cfg = { 825 + .name = "qhs_gpuss_cfg", 826 + .id = SM8350_SLAVE_GFX3D_CFG, 827 + .channels = 1, 828 + .buswidth = 8, 829 + }; 830 + 831 + static struct qcom_icc_node qhs_hwkm = { 832 + .name = "qhs_hwkm", 833 + .id = SM8350_SLAVE_HWKM, 834 + .channels = 1, 835 + .buswidth = 4, 836 + }; 837 + 838 + static struct qcom_icc_node qhs_imem_cfg = { 839 + .name = "qhs_imem_cfg", 840 + .id = SM8350_SLAVE_IMEM_CFG, 841 + .channels = 1, 842 + .buswidth = 4, 843 + }; 844 + 845 + static struct qcom_icc_node qhs_ipa = { 846 + .name = "qhs_ipa", 847 + .id = SM8350_SLAVE_IPA_CFG, 848 + .channels = 1, 849 + .buswidth = 4, 850 + }; 851 + 852 + static struct qcom_icc_node qhs_ipc_router = { 853 + .name = "qhs_ipc_router", 854 + .id = SM8350_SLAVE_IPC_ROUTER_CFG, 855 + .channels = 1, 856 + .buswidth = 4, 857 + }; 858 + 859 + static struct qcom_icc_node qhs_lpass_cfg = { 860 + .name = "qhs_lpass_cfg", 861 + .id = SM8350_SLAVE_LPASS, 862 + .channels = 1, 863 + .buswidth = 4, 864 + .num_links = 1, 865 + .links = { SM8350_MASTER_CNOC_LPASS_AG_NOC }, 866 + }; 867 + 868 + static struct qcom_icc_node qhs_mss_cfg = { 869 + .name = "qhs_mss_cfg", 870 + .id = SM8350_SLAVE_CNOC_MSS, 871 + .channels = 1, 872 + .buswidth = 4, 873 + }; 874 + 875 + static struct qcom_icc_node qhs_mx_rdpm = { 876 + .name = "qhs_mx_rdpm", 877 + .id = SM8350_SLAVE_MX_RDPM, 878 + .channels = 1, 879 + .buswidth = 4, 880 + }; 881 + 882 + static struct qcom_icc_node qhs_pcie0_cfg = { 883 + .name = "qhs_pcie0_cfg", 884 + .id = SM8350_SLAVE_PCIE_0_CFG, 885 + .channels = 1, 886 + .buswidth = 4, 887 + }; 888 + 889 + static struct qcom_icc_node qhs_pcie1_cfg = { 890 + .name = "qhs_pcie1_cfg", 891 + .id = SM8350_SLAVE_PCIE_1_CFG, 892 + .channels = 1, 893 + .buswidth = 4, 894 + }; 895 + 896 + static struct qcom_icc_node qhs_pdm = { 897 + .name = "qhs_pdm", 898 + .id = SM8350_SLAVE_PDM, 899 + .channels = 1, 900 + .buswidth = 4, 901 + }; 902 + 903 + static struct qcom_icc_node qhs_pimem_cfg = { 904 + .name = "qhs_pimem_cfg", 905 + .id = SM8350_SLAVE_PIMEM_CFG, 906 + .channels = 1, 907 + .buswidth = 4, 908 + }; 909 + 910 + static struct qcom_icc_node qhs_pka_wrapper_cfg = { 911 + .name = "qhs_pka_wrapper_cfg", 912 + .id = SM8350_SLAVE_PKA_WRAPPER_CFG, 913 + .channels = 1, 914 + .buswidth = 4, 915 + }; 916 + 917 + static struct qcom_icc_node qhs_pmu_wrapper_cfg = { 918 + .name = "qhs_pmu_wrapper_cfg", 919 + .id = SM8350_SLAVE_PMU_WRAPPER_CFG, 920 + .channels = 1, 921 + .buswidth = 4, 922 + }; 923 + 924 + static struct qcom_icc_node qhs_qdss_cfg = { 925 + .name = "qhs_qdss_cfg", 926 + .id = SM8350_SLAVE_QDSS_CFG, 927 + .channels = 1, 928 + .buswidth = 4, 929 + }; 930 + 931 + static struct qcom_icc_node qhs_qspi = { 932 + .name = "qhs_qspi", 933 + .id = SM8350_SLAVE_QSPI_0, 934 + .channels = 1, 935 + .buswidth = 4, 936 + }; 937 + 938 + static struct qcom_icc_node qhs_qup0 = { 939 + .name = "qhs_qup0", 940 + .id = SM8350_SLAVE_QUP_0, 941 + .channels = 1, 942 + .buswidth = 4, 943 + }; 944 + 945 + static struct qcom_icc_node qhs_qup1 = { 946 + .name = "qhs_qup1", 947 + .id = SM8350_SLAVE_QUP_1, 948 + .channels = 1, 949 + .buswidth = 4, 950 + }; 951 + 952 + static struct qcom_icc_node qhs_qup2 = { 953 + .name = "qhs_qup2", 954 + .id = SM8350_SLAVE_QUP_2, 955 + .channels = 1, 956 + .buswidth = 4, 957 + }; 958 + 959 + static struct qcom_icc_node qhs_sdc2 = { 960 + .name = "qhs_sdc2", 961 + .id = SM8350_SLAVE_SDCC_2, 962 + .channels = 1, 963 + .buswidth = 4, 964 + }; 965 + 966 + static struct qcom_icc_node qhs_sdc4 = { 967 + .name = "qhs_sdc4", 968 + .id = SM8350_SLAVE_SDCC_4, 969 + .channels = 1, 970 + .buswidth = 4, 971 + }; 972 + 973 + static struct qcom_icc_node qhs_security = { 974 + .name = "qhs_security", 975 + .id = SM8350_SLAVE_SECURITY, 976 + .channels = 1, 977 + .buswidth = 4, 978 + }; 979 + 980 + static struct qcom_icc_node qhs_spss_cfg = { 981 + .name = "qhs_spss_cfg", 982 + .id = SM8350_SLAVE_SPSS_CFG, 983 + .channels = 1, 984 + .buswidth = 4, 985 + }; 986 + 987 + static struct qcom_icc_node qhs_tcsr = { 988 + .name = "qhs_tcsr", 989 + .id = SM8350_SLAVE_TCSR, 990 + .channels = 1, 991 + .buswidth = 4, 992 + }; 993 + 994 + static struct qcom_icc_node qhs_tlmm = { 995 + .name = "qhs_tlmm", 996 + .id = SM8350_SLAVE_TLMM, 997 + .channels = 1, 998 + .buswidth = 4, 999 + }; 1000 + 1001 + static struct qcom_icc_node qhs_ufs_card_cfg = { 1002 + .name = "qhs_ufs_card_cfg", 1003 + .id = SM8350_SLAVE_UFS_CARD_CFG, 1004 + .channels = 1, 1005 + .buswidth = 4, 1006 + }; 1007 + 1008 + static struct qcom_icc_node qhs_ufs_mem_cfg = { 1009 + .name = "qhs_ufs_mem_cfg", 1010 + .id = SM8350_SLAVE_UFS_MEM_CFG, 1011 + .channels = 1, 1012 + .buswidth = 4, 1013 + }; 1014 + 1015 + static struct qcom_icc_node qhs_usb3_0 = { 1016 + .name = "qhs_usb3_0", 1017 + .id = SM8350_SLAVE_USB3_0, 1018 + .channels = 1, 1019 + .buswidth = 4, 1020 + }; 1021 + 1022 + static struct qcom_icc_node qhs_usb3_1 = { 1023 + .name = "qhs_usb3_1", 1024 + .id = SM8350_SLAVE_USB3_1, 1025 + .channels = 1, 1026 + .buswidth = 4, 1027 + }; 1028 + 1029 + static struct qcom_icc_node qhs_venus_cfg = { 1030 + .name = "qhs_venus_cfg", 1031 + .id = SM8350_SLAVE_VENUS_CFG, 1032 + .channels = 1, 1033 + .buswidth = 4, 1034 + }; 1035 + 1036 + static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1037 + .name = "qhs_vsense_ctrl_cfg", 1038 + .id = SM8350_SLAVE_VSENSE_CTRL_CFG, 1039 + .channels = 1, 1040 + .buswidth = 4, 1041 + }; 1042 + 1043 + static struct qcom_icc_node qns_a1_noc_cfg = { 1044 + .name = "qns_a1_noc_cfg", 1045 + .id = SM8350_SLAVE_A1NOC_CFG, 1046 + .channels = 1, 1047 + .buswidth = 4, 1048 + }; 1049 + 1050 + static struct qcom_icc_node qns_a2_noc_cfg = { 1051 + .name = "qns_a2_noc_cfg", 1052 + .id = SM8350_SLAVE_A2NOC_CFG, 1053 + .channels = 1, 1054 + .buswidth = 4, 1055 + }; 1056 + 1057 + static struct qcom_icc_node qns_ddrss_cfg = { 1058 + .name = "qns_ddrss_cfg", 1059 + .id = SM8350_SLAVE_DDRSS_CFG, 1060 + .channels = 1, 1061 + .buswidth = 4, 1062 + }; 1063 + 1064 + static struct qcom_icc_node qns_mnoc_cfg = { 1065 + .name = "qns_mnoc_cfg", 1066 + .id = SM8350_SLAVE_CNOC_MNOC_CFG, 1067 + .channels = 1, 1068 + .buswidth = 4, 1069 + }; 1070 + 1071 + static struct qcom_icc_node qns_snoc_cfg = { 1072 + .name = "qns_snoc_cfg", 1073 + .id = SM8350_SLAVE_SNOC_CFG, 1074 + .channels = 1, 1075 + .buswidth = 4, 1076 + }; 1077 + 1078 + static struct qcom_icc_node qxs_boot_imem = { 1079 + .name = "qxs_boot_imem", 1080 + .id = SM8350_SLAVE_BOOT_IMEM, 1081 + .channels = 1, 1082 + .buswidth = 8, 1083 + }; 1084 + 1085 + static struct qcom_icc_node qxs_imem = { 1086 + .name = "qxs_imem", 1087 + .id = SM8350_SLAVE_IMEM, 1088 + .channels = 1, 1089 + .buswidth = 8, 1090 + }; 1091 + 1092 + static struct qcom_icc_node qxs_pimem = { 1093 + .name = "qxs_pimem", 1094 + .id = SM8350_SLAVE_PIMEM, 1095 + .channels = 1, 1096 + .buswidth = 8, 1097 + }; 1098 + 1099 + static struct qcom_icc_node srvc_cnoc = { 1100 + .name = "srvc_cnoc", 1101 + .id = SM8350_SLAVE_SERVICE_CNOC, 1102 + .channels = 1, 1103 + .buswidth = 4, 1104 + }; 1105 + 1106 + static struct qcom_icc_node xs_pcie_0 = { 1107 + .name = "xs_pcie_0", 1108 + .id = SM8350_SLAVE_PCIE_0, 1109 + .channels = 1, 1110 + .buswidth = 8, 1111 + }; 1112 + 1113 + static struct qcom_icc_node xs_pcie_1 = { 1114 + .name = "xs_pcie_1", 1115 + .id = SM8350_SLAVE_PCIE_1, 1116 + .channels = 1, 1117 + .buswidth = 8, 1118 + }; 1119 + 1120 + static struct qcom_icc_node xs_qdss_stm = { 1121 + .name = "xs_qdss_stm", 1122 + .id = SM8350_SLAVE_QDSS_STM, 1123 + .channels = 1, 1124 + .buswidth = 4, 1125 + }; 1126 + 1127 + static struct qcom_icc_node xs_sys_tcu_cfg = { 1128 + .name = "xs_sys_tcu_cfg", 1129 + .id = SM8350_SLAVE_TCU, 1130 + .channels = 1, 1131 + .buswidth = 8, 1132 + }; 1133 + 1134 + static struct qcom_icc_node qhs_llcc = { 1135 + .name = "qhs_llcc", 1136 + .id = SM8350_SLAVE_LLCC_CFG, 1137 + .channels = 1, 1138 + .buswidth = 4, 1139 + }; 1140 + 1141 + static struct qcom_icc_node qns_gemnoc = { 1142 + .name = "qns_gemnoc", 1143 + .id = SM8350_SLAVE_GEM_NOC_CFG, 1144 + .channels = 1, 1145 + .buswidth = 4, 1146 + }; 1147 + 1148 + static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 1149 + .name = "qhs_mdsp_ms_mpu_cfg", 1150 + .id = SM8350_SLAVE_MSS_PROC_MS_MPU_CFG, 1151 + .channels = 1, 1152 + .buswidth = 4, 1153 + }; 1154 + 1155 + static struct qcom_icc_node qhs_modem_ms_mpu_cfg = { 1156 + .name = "qhs_modem_ms_mpu_cfg", 1157 + .id = SM8350_SLAVE_MCDMA_MS_MPU_CFG, 1158 + .channels = 1, 1159 + .buswidth = 4, 1160 + }; 1161 + 1162 + static struct qcom_icc_node qns_gem_noc_cnoc = { 1163 + .name = "qns_gem_noc_cnoc", 1164 + .id = SM8350_SLAVE_GEM_NOC_CNOC, 1165 + .channels = 1, 1166 + .buswidth = 16, 1167 + .num_links = 1, 1168 + .links = { SM8350_MASTER_GEM_NOC_CNOC }, 1169 + }; 1170 + 1171 + static struct qcom_icc_node qns_llcc = { 1172 + .name = "qns_llcc", 1173 + .id = SM8350_SLAVE_LLCC, 1174 + .channels = 4, 1175 + .buswidth = 16, 1176 + .num_links = 1, 1177 + .links = { SM8350_MASTER_LLCC }, 1178 + }; 1179 + 1180 + static struct qcom_icc_node qns_pcie = { 1181 + .name = "qns_pcie", 1182 + .id = SM8350_SLAVE_MEM_NOC_PCIE_SNOC, 1183 + .channels = 1, 1184 + .buswidth = 8, 1185 + }; 1186 + 1187 + static struct qcom_icc_node srvc_even_gemnoc = { 1188 + .name = "srvc_even_gemnoc", 1189 + .id = SM8350_SLAVE_SERVICE_GEM_NOC_1, 1190 + .channels = 1, 1191 + .buswidth = 4, 1192 + }; 1193 + 1194 + static struct qcom_icc_node srvc_odd_gemnoc = { 1195 + .name = "srvc_odd_gemnoc", 1196 + .id = SM8350_SLAVE_SERVICE_GEM_NOC_2, 1197 + .channels = 1, 1198 + .buswidth = 4, 1199 + }; 1200 + 1201 + static struct qcom_icc_node srvc_sys_gemnoc = { 1202 + .name = "srvc_sys_gemnoc", 1203 + .id = SM8350_SLAVE_SERVICE_GEM_NOC, 1204 + .channels = 1, 1205 + .buswidth = 4, 1206 + }; 1207 + 1208 + static struct qcom_icc_node qhs_lpass_core = { 1209 + .name = "qhs_lpass_core", 1210 + .id = SM8350_SLAVE_LPASS_CORE_CFG, 1211 + .channels = 1, 1212 + .buswidth = 4, 1213 + }; 1214 + 1215 + static struct qcom_icc_node qhs_lpass_lpi = { 1216 + .name = "qhs_lpass_lpi", 1217 + .id = SM8350_SLAVE_LPASS_LPI_CFG, 1218 + .channels = 1, 1219 + .buswidth = 4, 1220 + }; 1221 + 1222 + static struct qcom_icc_node qhs_lpass_mpu = { 1223 + .name = "qhs_lpass_mpu", 1224 + .id = SM8350_SLAVE_LPASS_MPU_CFG, 1225 + .channels = 1, 1226 + .buswidth = 4, 1227 + }; 1228 + 1229 + static struct qcom_icc_node qhs_lpass_top = { 1230 + .name = "qhs_lpass_top", 1231 + .id = SM8350_SLAVE_LPASS_TOP_CFG, 1232 + .channels = 1, 1233 + .buswidth = 4, 1234 + }; 1235 + 1236 + static struct qcom_icc_node srvc_niu_aml_noc = { 1237 + .name = "srvc_niu_aml_noc", 1238 + .id = SM8350_SLAVE_SERVICES_LPASS_AML_NOC, 1239 + .channels = 1, 1240 + .buswidth = 4, 1241 + }; 1242 + 1243 + static struct qcom_icc_node srvc_niu_lpass_agnoc = { 1244 + .name = "srvc_niu_lpass_agnoc", 1245 + .id = SM8350_SLAVE_SERVICE_LPASS_AG_NOC, 1246 + .channels = 1, 1247 + .buswidth = 4, 1248 + }; 1249 + 1250 + static struct qcom_icc_node ebi = { 1251 + .name = "ebi", 1252 + .id = SM8350_SLAVE_EBI1, 1253 + .channels = 4, 1254 + .buswidth = 4, 1255 + }; 1256 + 1257 + static struct qcom_icc_node qns_mem_noc_hf = { 1258 + .name = "qns_mem_noc_hf", 1259 + .id = SM8350_SLAVE_MNOC_HF_MEM_NOC, 1260 + .channels = 2, 1261 + .buswidth = 32, 1262 + .num_links = 1, 1263 + .links = { SM8350_MASTER_MNOC_HF_MEM_NOC }, 1264 + }; 1265 + 1266 + static struct qcom_icc_node qns_mem_noc_sf = { 1267 + .name = "qns_mem_noc_sf", 1268 + .id = SM8350_SLAVE_MNOC_SF_MEM_NOC, 1269 + .channels = 2, 1270 + .buswidth = 32, 1271 + .num_links = 1, 1272 + .links = { SM8350_MASTER_MNOC_SF_MEM_NOC }, 1273 + }; 1274 + 1275 + static struct qcom_icc_node srvc_mnoc = { 1276 + .name = "srvc_mnoc", 1277 + .id = SM8350_SLAVE_SERVICE_MNOC, 1278 + .channels = 1, 1279 + .buswidth = 4, 1280 + }; 1281 + 1282 + static struct qcom_icc_node qns_nsp_gemnoc = { 1283 + .name = "qns_nsp_gemnoc", 1284 + .id = SM8350_SLAVE_CDSP_MEM_NOC, 1285 + .channels = 2, 1286 + .buswidth = 32, 1287 + .num_links = 1, 1288 + .links = { SM8350_MASTER_COMPUTE_NOC }, 1289 + }; 1290 + 1291 + static struct qcom_icc_node service_nsp_noc = { 1292 + .name = "service_nsp_noc", 1293 + .id = SM8350_SLAVE_SERVICE_NSP_NOC, 1294 + .channels = 1, 1295 + .buswidth = 4, 1296 + }; 1297 + 1298 + static struct qcom_icc_node qns_gemnoc_gc = { 1299 + .name = "qns_gemnoc_gc", 1300 + .id = SM8350_SLAVE_SNOC_GEM_NOC_GC, 1301 + .channels = 1, 1302 + .buswidth = 8, 1303 + .num_links = 1, 1304 + .links = { SM8350_MASTER_SNOC_GC_MEM_NOC }, 1305 + }; 1306 + 1307 + static struct qcom_icc_node qns_gemnoc_sf = { 1308 + .name = "qns_gemnoc_sf", 1309 + .id = SM8350_SLAVE_SNOC_GEM_NOC_SF, 1310 + .channels = 1, 1311 + .buswidth = 16, 1312 + .num_links = 1, 1313 + .links = { SM8350_MASTER_SNOC_SF_MEM_NOC }, 1314 + }; 1315 + 1316 + static struct qcom_icc_node srvc_snoc = { 1317 + .name = "srvc_snoc", 1318 + .id = SM8350_SLAVE_SERVICE_SNOC, 1319 + .channels = 1, 1320 + .buswidth = 4, 1321 + }; 1322 + 1323 + static struct qcom_icc_node qns_llcc_disp = { 1324 + .name = "qns_llcc_disp", 1325 + .id = SM8350_SLAVE_LLCC_DISP, 1326 + .channels = 4, 1327 + .buswidth = 16, 1328 + .num_links = 1, 1329 + .links = { SM8350_MASTER_LLCC_DISP }, 1330 + }; 1331 + 1332 + static struct qcom_icc_node ebi_disp = { 1333 + .name = "ebi_disp", 1334 + .id = SM8350_SLAVE_EBI1_DISP, 1335 + .channels = 4, 1336 + .buswidth = 4, 1337 + }; 1338 + 1339 + static struct qcom_icc_node qns_mem_noc_hf_disp = { 1340 + .name = "qns_mem_noc_hf_disp", 1341 + .id = SM8350_SLAVE_MNOC_HF_MEM_NOC_DISP, 1342 + .channels = 2, 1343 + .buswidth = 32, 1344 + .num_links = 1, 1345 + .links = { SM8350_MASTER_MNOC_HF_MEM_NOC_DISP }, 1346 + }; 1347 + 1348 + static struct qcom_icc_node qns_mem_noc_sf_disp = { 1349 + .name = "qns_mem_noc_sf_disp", 1350 + .id = SM8350_SLAVE_MNOC_SF_MEM_NOC_DISP, 1351 + .channels = 2, 1352 + .buswidth = 32, 1353 + .num_links = 1, 1354 + .links = { SM8350_MASTER_MNOC_SF_MEM_NOC_DISP }, 1355 + }; 1356 + 1357 + static struct qcom_icc_bcm bcm_acv = { 1358 + .name = "ACV", 1359 + .keepalive = false, 1360 + .num_nodes = 1, 1361 + .nodes = { &ebi }, 1362 + }; 1363 + 1364 + static struct qcom_icc_bcm bcm_ce0 = { 1365 + .name = "CE0", 1366 + .keepalive = false, 1367 + .num_nodes = 1, 1368 + .nodes = { &qxm_crypto }, 1369 + }; 1370 + 1371 + static struct qcom_icc_bcm bcm_cn0 = { 1372 + .name = "CN0", 1373 + .keepalive = true, 1374 + .num_nodes = 2, 1375 + .nodes = { &qnm_gemnoc_cnoc, &qnm_gemnoc_pcie }, 1376 + }; 1377 + 1378 + static struct qcom_icc_bcm bcm_cn1 = { 1379 + .name = "CN1", 1380 + .keepalive = false, 1381 + .num_nodes = 47, 1382 + .nodes = { &xm_qdss_dap, 1383 + &qhs_ahb2phy0, 1384 + &qhs_ahb2phy1, 1385 + &qhs_aoss, 1386 + &qhs_apss, 1387 + &qhs_camera_cfg, 1388 + &qhs_clk_ctl, 1389 + &qhs_compute_cfg, 1390 + &qhs_cpr_cx, 1391 + &qhs_cpr_mmcx, 1392 + &qhs_cpr_mx, 1393 + &qhs_crypto0_cfg, 1394 + &qhs_cx_rdpm, 1395 + &qhs_dcc_cfg, 1396 + &qhs_display_cfg, 1397 + &qhs_gpuss_cfg, 1398 + &qhs_hwkm, 1399 + &qhs_imem_cfg, 1400 + &qhs_ipa, 1401 + &qhs_ipc_router, 1402 + &qhs_mss_cfg, 1403 + &qhs_mx_rdpm, 1404 + &qhs_pcie0_cfg, 1405 + &qhs_pcie1_cfg, 1406 + &qhs_pimem_cfg, 1407 + &qhs_pka_wrapper_cfg, 1408 + &qhs_pmu_wrapper_cfg, 1409 + &qhs_qdss_cfg, 1410 + &qhs_qup0, 1411 + &qhs_qup1, 1412 + &qhs_qup2, 1413 + &qhs_security, 1414 + &qhs_spss_cfg, 1415 + &qhs_tcsr, 1416 + &qhs_tlmm, 1417 + &qhs_ufs_card_cfg, 1418 + &qhs_ufs_mem_cfg, 1419 + &qhs_usb3_0, 1420 + &qhs_usb3_1, 1421 + &qhs_venus_cfg, 1422 + &qhs_vsense_ctrl_cfg, 1423 + &qns_a1_noc_cfg, 1424 + &qns_a2_noc_cfg, 1425 + &qns_ddrss_cfg, 1426 + &qns_mnoc_cfg, 1427 + &qns_snoc_cfg, 1428 + &srvc_cnoc 1429 + }, 1430 + }; 1431 + 1432 + static struct qcom_icc_bcm bcm_cn2 = { 1433 + .name = "CN2", 1434 + .keepalive = false, 1435 + .num_nodes = 5, 1436 + .nodes = { &qhs_lpass_cfg, &qhs_pdm, &qhs_qspi, &qhs_sdc2, &qhs_sdc4 }, 1437 + }; 1438 + 1439 + static struct qcom_icc_bcm bcm_co0 = { 1440 + .name = "CO0", 1441 + .keepalive = false, 1442 + .num_nodes = 1, 1443 + .nodes = { &qns_nsp_gemnoc }, 1444 + }; 1445 + 1446 + static struct qcom_icc_bcm bcm_co3 = { 1447 + .name = "CO3", 1448 + .keepalive = false, 1449 + .num_nodes = 1, 1450 + .nodes = { &qxm_nsp }, 1451 + }; 1452 + 1453 + static struct qcom_icc_bcm bcm_mc0 = { 1454 + .name = "MC0", 1455 + .keepalive = true, 1456 + .num_nodes = 1, 1457 + .nodes = { &ebi }, 1458 + }; 1459 + 1460 + static struct qcom_icc_bcm bcm_mm0 = { 1461 + .name = "MM0", 1462 + .keepalive = true, 1463 + .num_nodes = 1, 1464 + .nodes = { &qns_mem_noc_hf }, 1465 + }; 1466 + 1467 + static struct qcom_icc_bcm bcm_mm1 = { 1468 + .name = "MM1", 1469 + .keepalive = false, 1470 + .num_nodes = 3, 1471 + .nodes = { &qnm_camnoc_hf, &qxm_mdp0, &qxm_mdp1 }, 1472 + }; 1473 + 1474 + static struct qcom_icc_bcm bcm_mm4 = { 1475 + .name = "MM4", 1476 + .keepalive = false, 1477 + .num_nodes = 1, 1478 + .nodes = { &qns_mem_noc_sf }, 1479 + }; 1480 + 1481 + static struct qcom_icc_bcm bcm_mm5 = { 1482 + .name = "MM5", 1483 + .keepalive = false, 1484 + .num_nodes = 6, 1485 + .nodes = { &qnm_camnoc_icp, 1486 + &qnm_camnoc_sf, 1487 + &qnm_video0, 1488 + &qnm_video1, 1489 + &qnm_video_cvp, 1490 + &qxm_rot 1491 + }, 1492 + }; 1493 + 1494 + static struct qcom_icc_bcm bcm_sh0 = { 1495 + .name = "SH0", 1496 + .keepalive = true, 1497 + .num_nodes = 1, 1498 + .nodes = { &qns_llcc }, 1499 + }; 1500 + 1501 + static struct qcom_icc_bcm bcm_sh2 = { 1502 + .name = "SH2", 1503 + .keepalive = false, 1504 + .num_nodes = 2, 1505 + .nodes = { &alm_gpu_tcu, &alm_sys_tcu }, 1506 + }; 1507 + 1508 + static struct qcom_icc_bcm bcm_sh3 = { 1509 + .name = "SH3", 1510 + .keepalive = false, 1511 + .num_nodes = 1, 1512 + .nodes = { &qnm_cmpnoc }, 1513 + }; 1514 + 1515 + static struct qcom_icc_bcm bcm_sh4 = { 1516 + .name = "SH4", 1517 + .keepalive = false, 1518 + .num_nodes = 1, 1519 + .nodes = { &chm_apps }, 1520 + }; 1521 + 1522 + static struct qcom_icc_bcm bcm_sn0 = { 1523 + .name = "SN0", 1524 + .keepalive = true, 1525 + .num_nodes = 1, 1526 + .nodes = { &qns_gemnoc_sf }, 1527 + }; 1528 + 1529 + static struct qcom_icc_bcm bcm_sn2 = { 1530 + .name = "SN2", 1531 + .keepalive = false, 1532 + .num_nodes = 1, 1533 + .nodes = { &qns_gemnoc_gc }, 1534 + }; 1535 + 1536 + static struct qcom_icc_bcm bcm_sn3 = { 1537 + .name = "SN3", 1538 + .keepalive = false, 1539 + .num_nodes = 1, 1540 + .nodes = { &qxs_pimem }, 1541 + }; 1542 + 1543 + static struct qcom_icc_bcm bcm_sn4 = { 1544 + .name = "SN4", 1545 + .keepalive = false, 1546 + .num_nodes = 1, 1547 + .nodes = { &xs_qdss_stm }, 1548 + }; 1549 + 1550 + static struct qcom_icc_bcm bcm_sn5 = { 1551 + .name = "SN5", 1552 + .keepalive = false, 1553 + .num_nodes = 1, 1554 + .nodes = { &xm_pcie3_0 }, 1555 + }; 1556 + 1557 + static struct qcom_icc_bcm bcm_sn6 = { 1558 + .name = "SN6", 1559 + .keepalive = false, 1560 + .num_nodes = 1, 1561 + .nodes = { &xm_pcie3_1 }, 1562 + }; 1563 + 1564 + static struct qcom_icc_bcm bcm_sn7 = { 1565 + .name = "SN7", 1566 + .keepalive = false, 1567 + .num_nodes = 1, 1568 + .nodes = { &qnm_aggre1_noc }, 1569 + }; 1570 + 1571 + static struct qcom_icc_bcm bcm_sn8 = { 1572 + .name = "SN8", 1573 + .keepalive = false, 1574 + .num_nodes = 1, 1575 + .nodes = { &qnm_aggre2_noc }, 1576 + }; 1577 + 1578 + static struct qcom_icc_bcm bcm_sn14 = { 1579 + .name = "SN14", 1580 + .keepalive = false, 1581 + .num_nodes = 1, 1582 + .nodes = { &qns_pcie_mem_noc }, 1583 + }; 1584 + 1585 + static struct qcom_icc_bcm bcm_acv_disp = { 1586 + .name = "ACV", 1587 + .keepalive = false, 1588 + .num_nodes = 1, 1589 + .nodes = { &ebi_disp }, 1590 + }; 1591 + 1592 + static struct qcom_icc_bcm bcm_mc0_disp = { 1593 + .name = "MC0", 1594 + .keepalive = false, 1595 + .num_nodes = 1, 1596 + .nodes = { &ebi_disp }, 1597 + }; 1598 + 1599 + static struct qcom_icc_bcm bcm_mm0_disp = { 1600 + .name = "MM0", 1601 + .keepalive = false, 1602 + .num_nodes = 1, 1603 + .nodes = { &qns_mem_noc_hf_disp }, 1604 + }; 1605 + 1606 + static struct qcom_icc_bcm bcm_mm1_disp = { 1607 + .name = "MM1", 1608 + .keepalive = false, 1609 + .num_nodes = 2, 1610 + .nodes = { &qxm_mdp0_disp, &qxm_mdp1_disp }, 1611 + }; 1612 + 1613 + static struct qcom_icc_bcm bcm_mm4_disp = { 1614 + .name = "MM4", 1615 + .keepalive = false, 1616 + .num_nodes = 1, 1617 + .nodes = { &qns_mem_noc_sf_disp }, 1618 + }; 1619 + 1620 + static struct qcom_icc_bcm bcm_mm5_disp = { 1621 + .name = "MM5", 1622 + .keepalive = false, 1623 + .num_nodes = 1, 1624 + .nodes = { &qxm_rot_disp }, 1625 + }; 1626 + 1627 + static struct qcom_icc_bcm bcm_sh0_disp = { 1628 + .name = "SH0", 1629 + .keepalive = false, 1630 + .num_nodes = 1, 1631 + .nodes = { &qns_llcc_disp }, 1632 + }; 201 1633 202 1634 static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 203 1635 };