12d1f95abSOdelu Kukatla // SPDX-License-Identifier: GPL-2.0 22d1f95abSOdelu Kukatla /* 32d1f95abSOdelu Kukatla * Copyright (c) 2020, The Linux Foundation. All rights reserved. 42d1f95abSOdelu Kukatla * 52d1f95abSOdelu Kukatla */ 62d1f95abSOdelu Kukatla 72d1f95abSOdelu Kukatla #include <linux/device.h> 82d1f95abSOdelu Kukatla #include <linux/interconnect.h> 92d1f95abSOdelu Kukatla #include <linux/interconnect-provider.h> 10cff66aceSRob Herring #include <linux/mod_devicetable.h> 112d1f95abSOdelu Kukatla #include <linux/module.h> 12cff66aceSRob Herring #include <linux/platform_device.h> 132d1f95abSOdelu Kukatla #include <dt-bindings/interconnect/qcom,sc7180.h> 142d1f95abSOdelu Kukatla 152d1f95abSOdelu Kukatla #include "bcm-voter.h" 162d1f95abSOdelu Kukatla #include "icc-rpmh.h" 172d1f95abSOdelu Kukatla #include "sc7180.h" 182d1f95abSOdelu Kukatla 19ea168170SKonrad Dybcio static struct qcom_icc_node qhm_a1noc_cfg = { 20ea168170SKonrad Dybcio .name = "qhm_a1noc_cfg", 21ea168170SKonrad Dybcio .id = SC7180_MASTER_A1NOC_CFG, 22ea168170SKonrad Dybcio .channels = 1, 23ea168170SKonrad Dybcio .buswidth = 4, 24ea168170SKonrad Dybcio .num_links = 1, 25ea168170SKonrad Dybcio .links = { SC7180_SLAVE_SERVICE_A1NOC }, 26ea168170SKonrad Dybcio }; 27ea168170SKonrad Dybcio 28ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qspi = { 29ea168170SKonrad Dybcio .name = "qhm_qspi", 30ea168170SKonrad Dybcio .id = SC7180_MASTER_QSPI, 31ea168170SKonrad Dybcio .channels = 1, 32ea168170SKonrad Dybcio .buswidth = 4, 33ea168170SKonrad Dybcio .num_links = 1, 34ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_SNOC }, 35ea168170SKonrad Dybcio }; 36ea168170SKonrad Dybcio 37ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qup_0 = { 38ea168170SKonrad Dybcio .name = "qhm_qup_0", 39ea168170SKonrad Dybcio .id = SC7180_MASTER_QUP_0, 40ea168170SKonrad Dybcio .channels = 1, 41ea168170SKonrad Dybcio .buswidth = 4, 42ea168170SKonrad Dybcio .num_links = 1, 43ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_SNOC }, 44ea168170SKonrad Dybcio }; 45ea168170SKonrad Dybcio 46ea168170SKonrad Dybcio static struct qcom_icc_node xm_sdc2 = { 47ea168170SKonrad Dybcio .name = "xm_sdc2", 48ea168170SKonrad Dybcio .id = SC7180_MASTER_SDCC_2, 49ea168170SKonrad Dybcio .channels = 1, 50ea168170SKonrad Dybcio .buswidth = 8, 51ea168170SKonrad Dybcio .num_links = 1, 52ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_SNOC }, 53ea168170SKonrad Dybcio }; 54ea168170SKonrad Dybcio 55ea168170SKonrad Dybcio static struct qcom_icc_node xm_emmc = { 56ea168170SKonrad Dybcio .name = "xm_emmc", 57ea168170SKonrad Dybcio .id = SC7180_MASTER_EMMC, 58ea168170SKonrad Dybcio .channels = 1, 59ea168170SKonrad Dybcio .buswidth = 8, 60ea168170SKonrad Dybcio .num_links = 1, 61ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_SNOC }, 62ea168170SKonrad Dybcio }; 63ea168170SKonrad Dybcio 64ea168170SKonrad Dybcio static struct qcom_icc_node xm_ufs_mem = { 65ea168170SKonrad Dybcio .name = "xm_ufs_mem", 66ea168170SKonrad Dybcio .id = SC7180_MASTER_UFS_MEM, 67ea168170SKonrad Dybcio .channels = 1, 68ea168170SKonrad Dybcio .buswidth = 8, 69ea168170SKonrad Dybcio .num_links = 1, 70ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_SNOC }, 71ea168170SKonrad Dybcio }; 72ea168170SKonrad Dybcio 73ea168170SKonrad Dybcio static struct qcom_icc_node qhm_a2noc_cfg = { 74ea168170SKonrad Dybcio .name = "qhm_a2noc_cfg", 75ea168170SKonrad Dybcio .id = SC7180_MASTER_A2NOC_CFG, 76ea168170SKonrad Dybcio .channels = 1, 77ea168170SKonrad Dybcio .buswidth = 4, 78ea168170SKonrad Dybcio .num_links = 1, 79ea168170SKonrad Dybcio .links = { SC7180_SLAVE_SERVICE_A2NOC }, 80ea168170SKonrad Dybcio }; 81ea168170SKonrad Dybcio 82ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qdss_bam = { 83ea168170SKonrad Dybcio .name = "qhm_qdss_bam", 84ea168170SKonrad Dybcio .id = SC7180_MASTER_QDSS_BAM, 85ea168170SKonrad Dybcio .channels = 1, 86ea168170SKonrad Dybcio .buswidth = 4, 87ea168170SKonrad Dybcio .num_links = 1, 88ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A2NOC_SNOC }, 89ea168170SKonrad Dybcio }; 90ea168170SKonrad Dybcio 91ea168170SKonrad Dybcio static struct qcom_icc_node qhm_qup_1 = { 92ea168170SKonrad Dybcio .name = "qhm_qup_1", 93ea168170SKonrad Dybcio .id = SC7180_MASTER_QUP_1, 94ea168170SKonrad Dybcio .channels = 1, 95ea168170SKonrad Dybcio .buswidth = 4, 96ea168170SKonrad Dybcio .num_links = 1, 97ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A2NOC_SNOC }, 98ea168170SKonrad Dybcio }; 99ea168170SKonrad Dybcio 100ea168170SKonrad Dybcio static struct qcom_icc_node qxm_crypto = { 101ea168170SKonrad Dybcio .name = "qxm_crypto", 102ea168170SKonrad Dybcio .id = SC7180_MASTER_CRYPTO, 103ea168170SKonrad Dybcio .channels = 1, 104ea168170SKonrad Dybcio .buswidth = 8, 105ea168170SKonrad Dybcio .num_links = 1, 106ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A2NOC_SNOC }, 107ea168170SKonrad Dybcio }; 108ea168170SKonrad Dybcio 109ea168170SKonrad Dybcio static struct qcom_icc_node qxm_ipa = { 110ea168170SKonrad Dybcio .name = "qxm_ipa", 111ea168170SKonrad Dybcio .id = SC7180_MASTER_IPA, 112ea168170SKonrad Dybcio .channels = 1, 113ea168170SKonrad Dybcio .buswidth = 8, 114ea168170SKonrad Dybcio .num_links = 1, 115ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A2NOC_SNOC }, 116ea168170SKonrad Dybcio }; 117ea168170SKonrad Dybcio 118ea168170SKonrad Dybcio static struct qcom_icc_node xm_qdss_etr = { 119ea168170SKonrad Dybcio .name = "xm_qdss_etr", 120ea168170SKonrad Dybcio .id = SC7180_MASTER_QDSS_ETR, 121ea168170SKonrad Dybcio .channels = 1, 122ea168170SKonrad Dybcio .buswidth = 8, 123ea168170SKonrad Dybcio .num_links = 1, 124ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A2NOC_SNOC }, 125ea168170SKonrad Dybcio }; 126ea168170SKonrad Dybcio 127ea168170SKonrad Dybcio static struct qcom_icc_node qhm_usb3 = { 128ea168170SKonrad Dybcio .name = "qhm_usb3", 129ea168170SKonrad Dybcio .id = SC7180_MASTER_USB3, 130ea168170SKonrad Dybcio .channels = 1, 131ea168170SKonrad Dybcio .buswidth = 8, 132ea168170SKonrad Dybcio .num_links = 1, 133ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A2NOC_SNOC }, 134ea168170SKonrad Dybcio }; 135ea168170SKonrad Dybcio 136ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 137ea168170SKonrad Dybcio .name = "qxm_camnoc_hf0_uncomp", 138ea168170SKonrad Dybcio .id = SC7180_MASTER_CAMNOC_HF0_UNCOMP, 139ea168170SKonrad Dybcio .channels = 1, 140ea168170SKonrad Dybcio .buswidth = 32, 141ea168170SKonrad Dybcio .num_links = 1, 142ea168170SKonrad Dybcio .links = { SC7180_SLAVE_CAMNOC_UNCOMP }, 143ea168170SKonrad Dybcio }; 144ea168170SKonrad Dybcio 145ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1_uncomp = { 146ea168170SKonrad Dybcio .name = "qxm_camnoc_hf1_uncomp", 147ea168170SKonrad Dybcio .id = SC7180_MASTER_CAMNOC_HF1_UNCOMP, 148ea168170SKonrad Dybcio .channels = 1, 149ea168170SKonrad Dybcio .buswidth = 32, 150ea168170SKonrad Dybcio .num_links = 1, 151ea168170SKonrad Dybcio .links = { SC7180_SLAVE_CAMNOC_UNCOMP }, 152ea168170SKonrad Dybcio }; 153ea168170SKonrad Dybcio 154ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 155ea168170SKonrad Dybcio .name = "qxm_camnoc_sf_uncomp", 156ea168170SKonrad Dybcio .id = SC7180_MASTER_CAMNOC_SF_UNCOMP, 157ea168170SKonrad Dybcio .channels = 1, 158ea168170SKonrad Dybcio .buswidth = 32, 159ea168170SKonrad Dybcio .num_links = 1, 160ea168170SKonrad Dybcio .links = { SC7180_SLAVE_CAMNOC_UNCOMP }, 161ea168170SKonrad Dybcio }; 162ea168170SKonrad Dybcio 163ea168170SKonrad Dybcio static struct qcom_icc_node qnm_npu = { 164ea168170SKonrad Dybcio .name = "qnm_npu", 165ea168170SKonrad Dybcio .id = SC7180_MASTER_NPU, 166ea168170SKonrad Dybcio .channels = 2, 167ea168170SKonrad Dybcio .buswidth = 32, 168ea168170SKonrad Dybcio .num_links = 1, 169ea168170SKonrad Dybcio .links = { SC7180_SLAVE_CDSP_GEM_NOC }, 170ea168170SKonrad Dybcio }; 171ea168170SKonrad Dybcio 172ea168170SKonrad Dybcio static struct qcom_icc_node qxm_npu_dsp = { 173ea168170SKonrad Dybcio .name = "qxm_npu_dsp", 174ea168170SKonrad Dybcio .id = SC7180_MASTER_NPU_PROC, 175ea168170SKonrad Dybcio .channels = 1, 176ea168170SKonrad Dybcio .buswidth = 8, 177ea168170SKonrad Dybcio .num_links = 1, 178ea168170SKonrad Dybcio .links = { SC7180_SLAVE_CDSP_GEM_NOC }, 179ea168170SKonrad Dybcio }; 180ea168170SKonrad Dybcio 181ea168170SKonrad Dybcio static struct qcom_icc_node qnm_snoc = { 182ea168170SKonrad Dybcio .name = "qnm_snoc", 183ea168170SKonrad Dybcio .id = SC7180_MASTER_SNOC_CNOC, 184ea168170SKonrad Dybcio .channels = 1, 185ea168170SKonrad Dybcio .buswidth = 8, 186ea168170SKonrad Dybcio .num_links = 51, 187ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_CFG, 188ea168170SKonrad Dybcio SC7180_SLAVE_A2NOC_CFG, 189ea168170SKonrad Dybcio SC7180_SLAVE_AHB2PHY_SOUTH, 190ea168170SKonrad Dybcio SC7180_SLAVE_AHB2PHY_CENTER, 191ea168170SKonrad Dybcio SC7180_SLAVE_AOP, 192ea168170SKonrad Dybcio SC7180_SLAVE_AOSS, 193ea168170SKonrad Dybcio SC7180_SLAVE_BOOT_ROM, 194ea168170SKonrad Dybcio SC7180_SLAVE_CAMERA_CFG, 195ea168170SKonrad Dybcio SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 196ea168170SKonrad Dybcio SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 197ea168170SKonrad Dybcio SC7180_SLAVE_CLK_CTL, 198ea168170SKonrad Dybcio SC7180_SLAVE_RBCPR_CX_CFG, 199ea168170SKonrad Dybcio SC7180_SLAVE_RBCPR_MX_CFG, 200ea168170SKonrad Dybcio SC7180_SLAVE_CRYPTO_0_CFG, 201ea168170SKonrad Dybcio SC7180_SLAVE_DCC_CFG, 202ea168170SKonrad Dybcio SC7180_SLAVE_CNOC_DDRSS, 203ea168170SKonrad Dybcio SC7180_SLAVE_DISPLAY_CFG, 204ea168170SKonrad Dybcio SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 205ea168170SKonrad Dybcio SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 206ea168170SKonrad Dybcio SC7180_SLAVE_EMMC_CFG, 207ea168170SKonrad Dybcio SC7180_SLAVE_GLM, 208ea168170SKonrad Dybcio SC7180_SLAVE_GFX3D_CFG, 209ea168170SKonrad Dybcio SC7180_SLAVE_IMEM_CFG, 210ea168170SKonrad Dybcio SC7180_SLAVE_IPA_CFG, 211ea168170SKonrad Dybcio SC7180_SLAVE_CNOC_MNOC_CFG, 212ea168170SKonrad Dybcio SC7180_SLAVE_CNOC_MSS, 213ea168170SKonrad Dybcio SC7180_SLAVE_NPU_CFG, 214ea168170SKonrad Dybcio SC7180_SLAVE_NPU_DMA_BWMON_CFG, 215ea168170SKonrad Dybcio SC7180_SLAVE_NPU_PROC_BWMON_CFG, 216ea168170SKonrad Dybcio SC7180_SLAVE_PDM, 217ea168170SKonrad Dybcio SC7180_SLAVE_PIMEM_CFG, 218ea168170SKonrad Dybcio SC7180_SLAVE_PRNG, 219ea168170SKonrad Dybcio SC7180_SLAVE_QDSS_CFG, 220ea168170SKonrad Dybcio SC7180_SLAVE_QM_CFG, 221ea168170SKonrad Dybcio SC7180_SLAVE_QM_MPU_CFG, 222ea168170SKonrad Dybcio SC7180_SLAVE_QSPI_0, 223ea168170SKonrad Dybcio SC7180_SLAVE_QUP_0, 224ea168170SKonrad Dybcio SC7180_SLAVE_QUP_1, 225ea168170SKonrad Dybcio SC7180_SLAVE_SDCC_2, 226ea168170SKonrad Dybcio SC7180_SLAVE_SECURITY, 227ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_CFG, 228ea168170SKonrad Dybcio SC7180_SLAVE_TCSR, 229ea168170SKonrad Dybcio SC7180_SLAVE_TLMM_WEST, 230ea168170SKonrad Dybcio SC7180_SLAVE_TLMM_NORTH, 231ea168170SKonrad Dybcio SC7180_SLAVE_TLMM_SOUTH, 232ea168170SKonrad Dybcio SC7180_SLAVE_UFS_MEM_CFG, 233ea168170SKonrad Dybcio SC7180_SLAVE_USB3, 234ea168170SKonrad Dybcio SC7180_SLAVE_VENUS_CFG, 235ea168170SKonrad Dybcio SC7180_SLAVE_VENUS_THROTTLE_CFG, 236ea168170SKonrad Dybcio SC7180_SLAVE_VSENSE_CTRL_CFG, 237ea168170SKonrad Dybcio SC7180_SLAVE_SERVICE_CNOC 238ea168170SKonrad Dybcio }, 239ea168170SKonrad Dybcio }; 240ea168170SKonrad Dybcio 241ea168170SKonrad Dybcio static struct qcom_icc_node xm_qdss_dap = { 242ea168170SKonrad Dybcio .name = "xm_qdss_dap", 243ea168170SKonrad Dybcio .id = SC7180_MASTER_QDSS_DAP, 244ea168170SKonrad Dybcio .channels = 1, 245ea168170SKonrad Dybcio .buswidth = 8, 246ea168170SKonrad Dybcio .num_links = 51, 247ea168170SKonrad Dybcio .links = { SC7180_SLAVE_A1NOC_CFG, 248ea168170SKonrad Dybcio SC7180_SLAVE_A2NOC_CFG, 249ea168170SKonrad Dybcio SC7180_SLAVE_AHB2PHY_SOUTH, 250ea168170SKonrad Dybcio SC7180_SLAVE_AHB2PHY_CENTER, 251ea168170SKonrad Dybcio SC7180_SLAVE_AOP, 252ea168170SKonrad Dybcio SC7180_SLAVE_AOSS, 253ea168170SKonrad Dybcio SC7180_SLAVE_BOOT_ROM, 254ea168170SKonrad Dybcio SC7180_SLAVE_CAMERA_CFG, 255ea168170SKonrad Dybcio SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 256ea168170SKonrad Dybcio SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 257ea168170SKonrad Dybcio SC7180_SLAVE_CLK_CTL, 258ea168170SKonrad Dybcio SC7180_SLAVE_RBCPR_CX_CFG, 259ea168170SKonrad Dybcio SC7180_SLAVE_RBCPR_MX_CFG, 260ea168170SKonrad Dybcio SC7180_SLAVE_CRYPTO_0_CFG, 261ea168170SKonrad Dybcio SC7180_SLAVE_DCC_CFG, 262ea168170SKonrad Dybcio SC7180_SLAVE_CNOC_DDRSS, 263ea168170SKonrad Dybcio SC7180_SLAVE_DISPLAY_CFG, 264ea168170SKonrad Dybcio SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 265ea168170SKonrad Dybcio SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 266ea168170SKonrad Dybcio SC7180_SLAVE_EMMC_CFG, 267ea168170SKonrad Dybcio SC7180_SLAVE_GLM, 268ea168170SKonrad Dybcio SC7180_SLAVE_GFX3D_CFG, 269ea168170SKonrad Dybcio SC7180_SLAVE_IMEM_CFG, 270ea168170SKonrad Dybcio SC7180_SLAVE_IPA_CFG, 271ea168170SKonrad Dybcio SC7180_SLAVE_CNOC_MNOC_CFG, 272ea168170SKonrad Dybcio SC7180_SLAVE_CNOC_MSS, 273ea168170SKonrad Dybcio SC7180_SLAVE_NPU_CFG, 274ea168170SKonrad Dybcio SC7180_SLAVE_NPU_DMA_BWMON_CFG, 275ea168170SKonrad Dybcio SC7180_SLAVE_NPU_PROC_BWMON_CFG, 276ea168170SKonrad Dybcio SC7180_SLAVE_PDM, 277ea168170SKonrad Dybcio SC7180_SLAVE_PIMEM_CFG, 278ea168170SKonrad Dybcio SC7180_SLAVE_PRNG, 279ea168170SKonrad Dybcio SC7180_SLAVE_QDSS_CFG, 280ea168170SKonrad Dybcio SC7180_SLAVE_QM_CFG, 281ea168170SKonrad Dybcio SC7180_SLAVE_QM_MPU_CFG, 282ea168170SKonrad Dybcio SC7180_SLAVE_QSPI_0, 283ea168170SKonrad Dybcio SC7180_SLAVE_QUP_0, 284ea168170SKonrad Dybcio SC7180_SLAVE_QUP_1, 285ea168170SKonrad Dybcio SC7180_SLAVE_SDCC_2, 286ea168170SKonrad Dybcio SC7180_SLAVE_SECURITY, 287ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_CFG, 288ea168170SKonrad Dybcio SC7180_SLAVE_TCSR, 289ea168170SKonrad Dybcio SC7180_SLAVE_TLMM_WEST, 290ea168170SKonrad Dybcio SC7180_SLAVE_TLMM_NORTH, 291ea168170SKonrad Dybcio SC7180_SLAVE_TLMM_SOUTH, 292ea168170SKonrad Dybcio SC7180_SLAVE_UFS_MEM_CFG, 293ea168170SKonrad Dybcio SC7180_SLAVE_USB3, 294ea168170SKonrad Dybcio SC7180_SLAVE_VENUS_CFG, 295ea168170SKonrad Dybcio SC7180_SLAVE_VENUS_THROTTLE_CFG, 296ea168170SKonrad Dybcio SC7180_SLAVE_VSENSE_CTRL_CFG, 297ea168170SKonrad Dybcio SC7180_SLAVE_SERVICE_CNOC 298ea168170SKonrad Dybcio }, 299ea168170SKonrad Dybcio }; 300ea168170SKonrad Dybcio 301ea168170SKonrad Dybcio static struct qcom_icc_node qhm_cnoc_dc_noc = { 302ea168170SKonrad Dybcio .name = "qhm_cnoc_dc_noc", 303ea168170SKonrad Dybcio .id = SC7180_MASTER_CNOC_DC_NOC, 304ea168170SKonrad Dybcio .channels = 1, 305ea168170SKonrad Dybcio .buswidth = 4, 306ea168170SKonrad Dybcio .num_links = 2, 307ea168170SKonrad Dybcio .links = { SC7180_SLAVE_GEM_NOC_CFG, 308ea168170SKonrad Dybcio SC7180_SLAVE_LLCC_CFG 309ea168170SKonrad Dybcio }, 310ea168170SKonrad Dybcio }; 311ea168170SKonrad Dybcio 312ea168170SKonrad Dybcio static struct qcom_icc_node acm_apps0 = { 313ea168170SKonrad Dybcio .name = "acm_apps0", 314ea168170SKonrad Dybcio .id = SC7180_MASTER_APPSS_PROC, 315ea168170SKonrad Dybcio .channels = 1, 316ea168170SKonrad Dybcio .buswidth = 16, 317ea168170SKonrad Dybcio .num_links = 2, 318ea168170SKonrad Dybcio .links = { SC7180_SLAVE_GEM_NOC_SNOC, 319ea168170SKonrad Dybcio SC7180_SLAVE_LLCC 320ea168170SKonrad Dybcio }, 321ea168170SKonrad Dybcio }; 322ea168170SKonrad Dybcio 323ea168170SKonrad Dybcio static struct qcom_icc_node acm_sys_tcu = { 324ea168170SKonrad Dybcio .name = "acm_sys_tcu", 325ea168170SKonrad Dybcio .id = SC7180_MASTER_SYS_TCU, 326ea168170SKonrad Dybcio .channels = 1, 327ea168170SKonrad Dybcio .buswidth = 8, 328ea168170SKonrad Dybcio .num_links = 2, 329ea168170SKonrad Dybcio .links = { SC7180_SLAVE_GEM_NOC_SNOC, 330ea168170SKonrad Dybcio SC7180_SLAVE_LLCC 331ea168170SKonrad Dybcio }, 332ea168170SKonrad Dybcio }; 333ea168170SKonrad Dybcio 334ea168170SKonrad Dybcio static struct qcom_icc_node qhm_gemnoc_cfg = { 335ea168170SKonrad Dybcio .name = "qhm_gemnoc_cfg", 336ea168170SKonrad Dybcio .id = SC7180_MASTER_GEM_NOC_CFG, 337ea168170SKonrad Dybcio .channels = 1, 338ea168170SKonrad Dybcio .buswidth = 4, 339ea168170SKonrad Dybcio .num_links = 2, 340ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, 341ea168170SKonrad Dybcio SC7180_SLAVE_SERVICE_GEM_NOC 342ea168170SKonrad Dybcio }, 343ea168170SKonrad Dybcio }; 344ea168170SKonrad Dybcio 345ea168170SKonrad Dybcio static struct qcom_icc_node qnm_cmpnoc = { 346ea168170SKonrad Dybcio .name = "qnm_cmpnoc", 347ea168170SKonrad Dybcio .id = SC7180_MASTER_COMPUTE_NOC, 348ea168170SKonrad Dybcio .channels = 1, 349ea168170SKonrad Dybcio .buswidth = 32, 350ea168170SKonrad Dybcio .num_links = 2, 351ea168170SKonrad Dybcio .links = { SC7180_SLAVE_GEM_NOC_SNOC, 352ea168170SKonrad Dybcio SC7180_SLAVE_LLCC 353ea168170SKonrad Dybcio }, 354ea168170SKonrad Dybcio }; 355ea168170SKonrad Dybcio 356ea168170SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_hf = { 357ea168170SKonrad Dybcio .name = "qnm_mnoc_hf", 358ea168170SKonrad Dybcio .id = SC7180_MASTER_MNOC_HF_MEM_NOC, 359ea168170SKonrad Dybcio .channels = 1, 360ea168170SKonrad Dybcio .buswidth = 32, 361ea168170SKonrad Dybcio .num_links = 1, 362ea168170SKonrad Dybcio .links = { SC7180_SLAVE_LLCC }, 363ea168170SKonrad Dybcio }; 364ea168170SKonrad Dybcio 365ea168170SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_sf = { 366ea168170SKonrad Dybcio .name = "qnm_mnoc_sf", 367ea168170SKonrad Dybcio .id = SC7180_MASTER_MNOC_SF_MEM_NOC, 368ea168170SKonrad Dybcio .channels = 1, 369ea168170SKonrad Dybcio .buswidth = 32, 370ea168170SKonrad Dybcio .num_links = 2, 371ea168170SKonrad Dybcio .links = { SC7180_SLAVE_GEM_NOC_SNOC, 372ea168170SKonrad Dybcio SC7180_SLAVE_LLCC 373ea168170SKonrad Dybcio }, 374ea168170SKonrad Dybcio }; 375ea168170SKonrad Dybcio 376ea168170SKonrad Dybcio static struct qcom_icc_node qnm_snoc_gc = { 377ea168170SKonrad Dybcio .name = "qnm_snoc_gc", 378ea168170SKonrad Dybcio .id = SC7180_MASTER_SNOC_GC_MEM_NOC, 379ea168170SKonrad Dybcio .channels = 1, 380ea168170SKonrad Dybcio .buswidth = 8, 381ea168170SKonrad Dybcio .num_links = 1, 382ea168170SKonrad Dybcio .links = { SC7180_SLAVE_LLCC }, 383ea168170SKonrad Dybcio }; 384ea168170SKonrad Dybcio 385ea168170SKonrad Dybcio static struct qcom_icc_node qnm_snoc_sf = { 386ea168170SKonrad Dybcio .name = "qnm_snoc_sf", 387ea168170SKonrad Dybcio .id = SC7180_MASTER_SNOC_SF_MEM_NOC, 388ea168170SKonrad Dybcio .channels = 1, 389ea168170SKonrad Dybcio .buswidth = 16, 390ea168170SKonrad Dybcio .num_links = 1, 391ea168170SKonrad Dybcio .links = { SC7180_SLAVE_LLCC }, 392ea168170SKonrad Dybcio }; 393ea168170SKonrad Dybcio 394ea168170SKonrad Dybcio static struct qcom_icc_node qxm_gpu = { 395ea168170SKonrad Dybcio .name = "qxm_gpu", 396ea168170SKonrad Dybcio .id = SC7180_MASTER_GFX3D, 397ea168170SKonrad Dybcio .channels = 2, 398ea168170SKonrad Dybcio .buswidth = 32, 399ea168170SKonrad Dybcio .num_links = 2, 400ea168170SKonrad Dybcio .links = { SC7180_SLAVE_GEM_NOC_SNOC, 401ea168170SKonrad Dybcio SC7180_SLAVE_LLCC 402ea168170SKonrad Dybcio }, 403ea168170SKonrad Dybcio }; 404ea168170SKonrad Dybcio 405ea168170SKonrad Dybcio static struct qcom_icc_node llcc_mc = { 406ea168170SKonrad Dybcio .name = "llcc_mc", 407ea168170SKonrad Dybcio .id = SC7180_MASTER_LLCC, 408ea168170SKonrad Dybcio .channels = 2, 409ea168170SKonrad Dybcio .buswidth = 4, 410ea168170SKonrad Dybcio .num_links = 1, 411ea168170SKonrad Dybcio .links = { SC7180_SLAVE_EBI1 }, 412ea168170SKonrad Dybcio }; 413ea168170SKonrad Dybcio 414ea168170SKonrad Dybcio static struct qcom_icc_node qhm_mnoc_cfg = { 415ea168170SKonrad Dybcio .name = "qhm_mnoc_cfg", 416ea168170SKonrad Dybcio .id = SC7180_MASTER_CNOC_MNOC_CFG, 417ea168170SKonrad Dybcio .channels = 1, 418ea168170SKonrad Dybcio .buswidth = 4, 419ea168170SKonrad Dybcio .num_links = 1, 420ea168170SKonrad Dybcio .links = { SC7180_SLAVE_SERVICE_MNOC }, 421ea168170SKonrad Dybcio }; 422ea168170SKonrad Dybcio 423ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0 = { 424ea168170SKonrad Dybcio .name = "qxm_camnoc_hf0", 425ea168170SKonrad Dybcio .id = SC7180_MASTER_CAMNOC_HF0, 426ea168170SKonrad Dybcio .channels = 2, 427ea168170SKonrad Dybcio .buswidth = 32, 428ea168170SKonrad Dybcio .num_links = 1, 429ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_HF_MEM_NOC }, 430ea168170SKonrad Dybcio }; 431ea168170SKonrad Dybcio 432ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1 = { 433ea168170SKonrad Dybcio .name = "qxm_camnoc_hf1", 434ea168170SKonrad Dybcio .id = SC7180_MASTER_CAMNOC_HF1, 435ea168170SKonrad Dybcio .channels = 2, 436ea168170SKonrad Dybcio .buswidth = 32, 437ea168170SKonrad Dybcio .num_links = 1, 438ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_HF_MEM_NOC }, 439ea168170SKonrad Dybcio }; 440ea168170SKonrad Dybcio 441ea168170SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf = { 442ea168170SKonrad Dybcio .name = "qxm_camnoc_sf", 443ea168170SKonrad Dybcio .id = SC7180_MASTER_CAMNOC_SF, 444ea168170SKonrad Dybcio .channels = 1, 445ea168170SKonrad Dybcio .buswidth = 32, 446ea168170SKonrad Dybcio .num_links = 1, 447ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 448ea168170SKonrad Dybcio }; 449ea168170SKonrad Dybcio 450ea168170SKonrad Dybcio static struct qcom_icc_node qxm_mdp0 = { 451ea168170SKonrad Dybcio .name = "qxm_mdp0", 452ea168170SKonrad Dybcio .id = SC7180_MASTER_MDP0, 453ea168170SKonrad Dybcio .channels = 1, 454ea168170SKonrad Dybcio .buswidth = 32, 455ea168170SKonrad Dybcio .num_links = 1, 456ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_HF_MEM_NOC }, 457ea168170SKonrad Dybcio }; 458ea168170SKonrad Dybcio 459ea168170SKonrad Dybcio static struct qcom_icc_node qxm_rot = { 460ea168170SKonrad Dybcio .name = "qxm_rot", 461ea168170SKonrad Dybcio .id = SC7180_MASTER_ROTATOR, 462ea168170SKonrad Dybcio .channels = 1, 463ea168170SKonrad Dybcio .buswidth = 16, 464ea168170SKonrad Dybcio .num_links = 1, 465ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 466ea168170SKonrad Dybcio }; 467ea168170SKonrad Dybcio 468ea168170SKonrad Dybcio static struct qcom_icc_node qxm_venus0 = { 469ea168170SKonrad Dybcio .name = "qxm_venus0", 470ea168170SKonrad Dybcio .id = SC7180_MASTER_VIDEO_P0, 471ea168170SKonrad Dybcio .channels = 1, 472ea168170SKonrad Dybcio .buswidth = 32, 473ea168170SKonrad Dybcio .num_links = 1, 474ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 475ea168170SKonrad Dybcio }; 476ea168170SKonrad Dybcio 477ea168170SKonrad Dybcio static struct qcom_icc_node qxm_venus_arm9 = { 478ea168170SKonrad Dybcio .name = "qxm_venus_arm9", 479ea168170SKonrad Dybcio .id = SC7180_MASTER_VIDEO_PROC, 480ea168170SKonrad Dybcio .channels = 1, 481ea168170SKonrad Dybcio .buswidth = 8, 482ea168170SKonrad Dybcio .num_links = 1, 483ea168170SKonrad Dybcio .links = { SC7180_SLAVE_MNOC_SF_MEM_NOC }, 484ea168170SKonrad Dybcio }; 485ea168170SKonrad Dybcio 486ea168170SKonrad Dybcio static struct qcom_icc_node amm_npu_sys = { 487ea168170SKonrad Dybcio .name = "amm_npu_sys", 488ea168170SKonrad Dybcio .id = SC7180_MASTER_NPU_SYS, 489ea168170SKonrad Dybcio .channels = 2, 490ea168170SKonrad Dybcio .buswidth = 32, 491ea168170SKonrad Dybcio .num_links = 1, 492ea168170SKonrad Dybcio .links = { SC7180_SLAVE_NPU_COMPUTE_NOC }, 493ea168170SKonrad Dybcio }; 494ea168170SKonrad Dybcio 495ea168170SKonrad Dybcio static struct qcom_icc_node qhm_npu_cfg = { 496ea168170SKonrad Dybcio .name = "qhm_npu_cfg", 497ea168170SKonrad Dybcio .id = SC7180_MASTER_NPU_NOC_CFG, 498ea168170SKonrad Dybcio .channels = 1, 499ea168170SKonrad Dybcio .buswidth = 4, 500ea168170SKonrad Dybcio .num_links = 8, 501ea168170SKonrad Dybcio .links = { SC7180_SLAVE_NPU_CAL_DP0, 502ea168170SKonrad Dybcio SC7180_SLAVE_NPU_CP, 503ea168170SKonrad Dybcio SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG, 504ea168170SKonrad Dybcio SC7180_SLAVE_NPU_DPM, 505ea168170SKonrad Dybcio SC7180_SLAVE_ISENSE_CFG, 506ea168170SKonrad Dybcio SC7180_SLAVE_NPU_LLM_CFG, 507ea168170SKonrad Dybcio SC7180_SLAVE_NPU_TCM, 508ea168170SKonrad Dybcio SC7180_SLAVE_SERVICE_NPU_NOC 509ea168170SKonrad Dybcio }, 510ea168170SKonrad Dybcio }; 511ea168170SKonrad Dybcio 512ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_master_1 = { 513ea168170SKonrad Dybcio .name = "qup_core_master_1", 514ea168170SKonrad Dybcio .id = SC7180_MASTER_QUP_CORE_0, 515ea168170SKonrad Dybcio .channels = 1, 516ea168170SKonrad Dybcio .buswidth = 4, 517ea168170SKonrad Dybcio .num_links = 1, 518ea168170SKonrad Dybcio .links = { SC7180_SLAVE_QUP_CORE_0 }, 519ea168170SKonrad Dybcio }; 520ea168170SKonrad Dybcio 521ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_master_2 = { 522ea168170SKonrad Dybcio .name = "qup_core_master_2", 523ea168170SKonrad Dybcio .id = SC7180_MASTER_QUP_CORE_1, 524ea168170SKonrad Dybcio .channels = 1, 525ea168170SKonrad Dybcio .buswidth = 4, 526ea168170SKonrad Dybcio .num_links = 1, 527ea168170SKonrad Dybcio .links = { SC7180_SLAVE_QUP_CORE_1 }, 528ea168170SKonrad Dybcio }; 529ea168170SKonrad Dybcio 530ea168170SKonrad Dybcio static struct qcom_icc_node qhm_snoc_cfg = { 531ea168170SKonrad Dybcio .name = "qhm_snoc_cfg", 532ea168170SKonrad Dybcio .id = SC7180_MASTER_SNOC_CFG, 533ea168170SKonrad Dybcio .channels = 1, 534ea168170SKonrad Dybcio .buswidth = 4, 535ea168170SKonrad Dybcio .num_links = 1, 536ea168170SKonrad Dybcio .links = { SC7180_SLAVE_SERVICE_SNOC }, 537ea168170SKonrad Dybcio }; 538ea168170SKonrad Dybcio 539ea168170SKonrad Dybcio static struct qcom_icc_node qnm_aggre1_noc = { 540ea168170SKonrad Dybcio .name = "qnm_aggre1_noc", 541ea168170SKonrad Dybcio .id = SC7180_MASTER_A1NOC_SNOC, 542ea168170SKonrad Dybcio .channels = 1, 543ea168170SKonrad Dybcio .buswidth = 16, 544ea168170SKonrad Dybcio .num_links = 6, 545ea168170SKonrad Dybcio .links = { SC7180_SLAVE_APPSS, 546ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_CNOC, 547ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_GEM_NOC_SF, 548ea168170SKonrad Dybcio SC7180_SLAVE_IMEM, 549ea168170SKonrad Dybcio SC7180_SLAVE_PIMEM, 550ea168170SKonrad Dybcio SC7180_SLAVE_QDSS_STM 551ea168170SKonrad Dybcio }, 552ea168170SKonrad Dybcio }; 553ea168170SKonrad Dybcio 554ea168170SKonrad Dybcio static struct qcom_icc_node qnm_aggre2_noc = { 555ea168170SKonrad Dybcio .name = "qnm_aggre2_noc", 556ea168170SKonrad Dybcio .id = SC7180_MASTER_A2NOC_SNOC, 557ea168170SKonrad Dybcio .channels = 1, 558ea168170SKonrad Dybcio .buswidth = 16, 559ea168170SKonrad Dybcio .num_links = 7, 560ea168170SKonrad Dybcio .links = { SC7180_SLAVE_APPSS, 561ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_CNOC, 562ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_GEM_NOC_SF, 563ea168170SKonrad Dybcio SC7180_SLAVE_IMEM, 564ea168170SKonrad Dybcio SC7180_SLAVE_PIMEM, 565ea168170SKonrad Dybcio SC7180_SLAVE_QDSS_STM, 566ea168170SKonrad Dybcio SC7180_SLAVE_TCU 567ea168170SKonrad Dybcio }, 568ea168170SKonrad Dybcio }; 569ea168170SKonrad Dybcio 570ea168170SKonrad Dybcio static struct qcom_icc_node qnm_gemnoc = { 571ea168170SKonrad Dybcio .name = "qnm_gemnoc", 572ea168170SKonrad Dybcio .id = SC7180_MASTER_GEM_NOC_SNOC, 573ea168170SKonrad Dybcio .channels = 1, 574ea168170SKonrad Dybcio .buswidth = 8, 575ea168170SKonrad Dybcio .num_links = 6, 576ea168170SKonrad Dybcio .links = { SC7180_SLAVE_APPSS, 577ea168170SKonrad Dybcio SC7180_SLAVE_SNOC_CNOC, 578ea168170SKonrad Dybcio SC7180_SLAVE_IMEM, 579ea168170SKonrad Dybcio SC7180_SLAVE_PIMEM, 580ea168170SKonrad Dybcio SC7180_SLAVE_QDSS_STM, 581ea168170SKonrad Dybcio SC7180_SLAVE_TCU 582ea168170SKonrad Dybcio }, 583ea168170SKonrad Dybcio }; 584ea168170SKonrad Dybcio 585ea168170SKonrad Dybcio static struct qcom_icc_node qxm_pimem = { 586ea168170SKonrad Dybcio .name = "qxm_pimem", 587ea168170SKonrad Dybcio .id = SC7180_MASTER_PIMEM, 588ea168170SKonrad Dybcio .channels = 1, 589ea168170SKonrad Dybcio .buswidth = 8, 590ea168170SKonrad Dybcio .num_links = 2, 591ea168170SKonrad Dybcio .links = { SC7180_SLAVE_SNOC_GEM_NOC_GC, 592ea168170SKonrad Dybcio SC7180_SLAVE_IMEM 593ea168170SKonrad Dybcio }, 594ea168170SKonrad Dybcio }; 595ea168170SKonrad Dybcio 596ea168170SKonrad Dybcio static struct qcom_icc_node qns_a1noc_snoc = { 597ea168170SKonrad Dybcio .name = "qns_a1noc_snoc", 598ea168170SKonrad Dybcio .id = SC7180_SLAVE_A1NOC_SNOC, 599ea168170SKonrad Dybcio .channels = 1, 600ea168170SKonrad Dybcio .buswidth = 16, 601ea168170SKonrad Dybcio .num_links = 1, 602ea168170SKonrad Dybcio .links = { SC7180_MASTER_A1NOC_SNOC }, 603ea168170SKonrad Dybcio }; 604ea168170SKonrad Dybcio 605ea168170SKonrad Dybcio static struct qcom_icc_node srvc_aggre1_noc = { 606ea168170SKonrad Dybcio .name = "srvc_aggre1_noc", 607ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_A1NOC, 608ea168170SKonrad Dybcio .channels = 1, 609ea168170SKonrad Dybcio .buswidth = 4, 610ea168170SKonrad Dybcio }; 611ea168170SKonrad Dybcio 612ea168170SKonrad Dybcio static struct qcom_icc_node qns_a2noc_snoc = { 613ea168170SKonrad Dybcio .name = "qns_a2noc_snoc", 614ea168170SKonrad Dybcio .id = SC7180_SLAVE_A2NOC_SNOC, 615ea168170SKonrad Dybcio .channels = 1, 616ea168170SKonrad Dybcio .buswidth = 16, 617ea168170SKonrad Dybcio .num_links = 1, 618ea168170SKonrad Dybcio .links = { SC7180_MASTER_A2NOC_SNOC }, 619ea168170SKonrad Dybcio }; 620ea168170SKonrad Dybcio 621ea168170SKonrad Dybcio static struct qcom_icc_node srvc_aggre2_noc = { 622ea168170SKonrad Dybcio .name = "srvc_aggre2_noc", 623ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_A2NOC, 624ea168170SKonrad Dybcio .channels = 1, 625ea168170SKonrad Dybcio .buswidth = 4, 626ea168170SKonrad Dybcio }; 627ea168170SKonrad Dybcio 628ea168170SKonrad Dybcio static struct qcom_icc_node qns_camnoc_uncomp = { 629ea168170SKonrad Dybcio .name = "qns_camnoc_uncomp", 630ea168170SKonrad Dybcio .id = SC7180_SLAVE_CAMNOC_UNCOMP, 631ea168170SKonrad Dybcio .channels = 1, 632ea168170SKonrad Dybcio .buswidth = 32, 633ea168170SKonrad Dybcio }; 634ea168170SKonrad Dybcio 635ea168170SKonrad Dybcio static struct qcom_icc_node qns_cdsp_gemnoc = { 636ea168170SKonrad Dybcio .name = "qns_cdsp_gemnoc", 637ea168170SKonrad Dybcio .id = SC7180_SLAVE_CDSP_GEM_NOC, 638ea168170SKonrad Dybcio .channels = 1, 639ea168170SKonrad Dybcio .buswidth = 32, 640ea168170SKonrad Dybcio .num_links = 1, 641ea168170SKonrad Dybcio .links = { SC7180_MASTER_COMPUTE_NOC }, 642ea168170SKonrad Dybcio }; 643ea168170SKonrad Dybcio 644ea168170SKonrad Dybcio static struct qcom_icc_node qhs_a1_noc_cfg = { 645ea168170SKonrad Dybcio .name = "qhs_a1_noc_cfg", 646ea168170SKonrad Dybcio .id = SC7180_SLAVE_A1NOC_CFG, 647ea168170SKonrad Dybcio .channels = 1, 648ea168170SKonrad Dybcio .buswidth = 4, 649ea168170SKonrad Dybcio .num_links = 1, 650ea168170SKonrad Dybcio .links = { SC7180_MASTER_A1NOC_CFG }, 651ea168170SKonrad Dybcio }; 652ea168170SKonrad Dybcio 653ea168170SKonrad Dybcio static struct qcom_icc_node qhs_a2_noc_cfg = { 654ea168170SKonrad Dybcio .name = "qhs_a2_noc_cfg", 655ea168170SKonrad Dybcio .id = SC7180_SLAVE_A2NOC_CFG, 656ea168170SKonrad Dybcio .channels = 1, 657ea168170SKonrad Dybcio .buswidth = 4, 658ea168170SKonrad Dybcio .num_links = 1, 659ea168170SKonrad Dybcio .links = { SC7180_MASTER_A2NOC_CFG }, 660ea168170SKonrad Dybcio }; 661ea168170SKonrad Dybcio 662ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy0 = { 663ea168170SKonrad Dybcio .name = "qhs_ahb2phy0", 664ea168170SKonrad Dybcio .id = SC7180_SLAVE_AHB2PHY_SOUTH, 665ea168170SKonrad Dybcio .channels = 1, 666ea168170SKonrad Dybcio .buswidth = 4, 667ea168170SKonrad Dybcio }; 668ea168170SKonrad Dybcio 669ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy2 = { 670ea168170SKonrad Dybcio .name = "qhs_ahb2phy2", 671ea168170SKonrad Dybcio .id = SC7180_SLAVE_AHB2PHY_CENTER, 672ea168170SKonrad Dybcio .channels = 1, 673ea168170SKonrad Dybcio .buswidth = 4, 674ea168170SKonrad Dybcio }; 675ea168170SKonrad Dybcio 676ea168170SKonrad Dybcio static struct qcom_icc_node qhs_aop = { 677ea168170SKonrad Dybcio .name = "qhs_aop", 678ea168170SKonrad Dybcio .id = SC7180_SLAVE_AOP, 679ea168170SKonrad Dybcio .channels = 1, 680ea168170SKonrad Dybcio .buswidth = 4, 681ea168170SKonrad Dybcio }; 682ea168170SKonrad Dybcio 683ea168170SKonrad Dybcio static struct qcom_icc_node qhs_aoss = { 684ea168170SKonrad Dybcio .name = "qhs_aoss", 685ea168170SKonrad Dybcio .id = SC7180_SLAVE_AOSS, 686ea168170SKonrad Dybcio .channels = 1, 687ea168170SKonrad Dybcio .buswidth = 4, 688ea168170SKonrad Dybcio }; 689ea168170SKonrad Dybcio 690ea168170SKonrad Dybcio static struct qcom_icc_node qhs_boot_rom = { 691ea168170SKonrad Dybcio .name = "qhs_boot_rom", 692ea168170SKonrad Dybcio .id = SC7180_SLAVE_BOOT_ROM, 693ea168170SKonrad Dybcio .channels = 1, 694ea168170SKonrad Dybcio .buswidth = 4, 695ea168170SKonrad Dybcio }; 696ea168170SKonrad Dybcio 697ea168170SKonrad Dybcio static struct qcom_icc_node qhs_camera_cfg = { 698ea168170SKonrad Dybcio .name = "qhs_camera_cfg", 699ea168170SKonrad Dybcio .id = SC7180_SLAVE_CAMERA_CFG, 700ea168170SKonrad Dybcio .channels = 1, 701ea168170SKonrad Dybcio .buswidth = 4, 702ea168170SKonrad Dybcio }; 703ea168170SKonrad Dybcio 704ea168170SKonrad Dybcio static struct qcom_icc_node qhs_camera_nrt_throttle_cfg = { 705ea168170SKonrad Dybcio .name = "qhs_camera_nrt_throttle_cfg", 706ea168170SKonrad Dybcio .id = SC7180_SLAVE_CAMERA_NRT_THROTTLE_CFG, 707ea168170SKonrad Dybcio .channels = 1, 708ea168170SKonrad Dybcio .buswidth = 4, 709ea168170SKonrad Dybcio }; 710ea168170SKonrad Dybcio 711ea168170SKonrad Dybcio static struct qcom_icc_node qhs_camera_rt_throttle_cfg = { 712ea168170SKonrad Dybcio .name = "qhs_camera_rt_throttle_cfg", 713ea168170SKonrad Dybcio .id = SC7180_SLAVE_CAMERA_RT_THROTTLE_CFG, 714ea168170SKonrad Dybcio .channels = 1, 715ea168170SKonrad Dybcio .buswidth = 4, 716ea168170SKonrad Dybcio }; 717ea168170SKonrad Dybcio 718ea168170SKonrad Dybcio static struct qcom_icc_node qhs_clk_ctl = { 719ea168170SKonrad Dybcio .name = "qhs_clk_ctl", 720ea168170SKonrad Dybcio .id = SC7180_SLAVE_CLK_CTL, 721ea168170SKonrad Dybcio .channels = 1, 722ea168170SKonrad Dybcio .buswidth = 4, 723ea168170SKonrad Dybcio }; 724ea168170SKonrad Dybcio 725ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cpr_cx = { 726ea168170SKonrad Dybcio .name = "qhs_cpr_cx", 727ea168170SKonrad Dybcio .id = SC7180_SLAVE_RBCPR_CX_CFG, 728ea168170SKonrad Dybcio .channels = 1, 729ea168170SKonrad Dybcio .buswidth = 4, 730ea168170SKonrad Dybcio }; 731ea168170SKonrad Dybcio 732ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cpr_mx = { 733ea168170SKonrad Dybcio .name = "qhs_cpr_mx", 734ea168170SKonrad Dybcio .id = SC7180_SLAVE_RBCPR_MX_CFG, 735ea168170SKonrad Dybcio .channels = 1, 736ea168170SKonrad Dybcio .buswidth = 4, 737ea168170SKonrad Dybcio }; 738ea168170SKonrad Dybcio 739ea168170SKonrad Dybcio static struct qcom_icc_node qhs_crypto0_cfg = { 740ea168170SKonrad Dybcio .name = "qhs_crypto0_cfg", 741ea168170SKonrad Dybcio .id = SC7180_SLAVE_CRYPTO_0_CFG, 742ea168170SKonrad Dybcio .channels = 1, 743ea168170SKonrad Dybcio .buswidth = 4, 744ea168170SKonrad Dybcio }; 745ea168170SKonrad Dybcio 746ea168170SKonrad Dybcio static struct qcom_icc_node qhs_dcc_cfg = { 747ea168170SKonrad Dybcio .name = "qhs_dcc_cfg", 748ea168170SKonrad Dybcio .id = SC7180_SLAVE_DCC_CFG, 749ea168170SKonrad Dybcio .channels = 1, 750ea168170SKonrad Dybcio .buswidth = 4, 751ea168170SKonrad Dybcio }; 752ea168170SKonrad Dybcio 753ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ddrss_cfg = { 754ea168170SKonrad Dybcio .name = "qhs_ddrss_cfg", 755ea168170SKonrad Dybcio .id = SC7180_SLAVE_CNOC_DDRSS, 756ea168170SKonrad Dybcio .channels = 1, 757ea168170SKonrad Dybcio .buswidth = 4, 758ea168170SKonrad Dybcio .num_links = 1, 759ea168170SKonrad Dybcio .links = { SC7180_MASTER_CNOC_DC_NOC }, 760ea168170SKonrad Dybcio }; 761ea168170SKonrad Dybcio 762ea168170SKonrad Dybcio static struct qcom_icc_node qhs_display_cfg = { 763ea168170SKonrad Dybcio .name = "qhs_display_cfg", 764ea168170SKonrad Dybcio .id = SC7180_SLAVE_DISPLAY_CFG, 765ea168170SKonrad Dybcio .channels = 1, 766ea168170SKonrad Dybcio .buswidth = 4, 767ea168170SKonrad Dybcio }; 768ea168170SKonrad Dybcio 769ea168170SKonrad Dybcio static struct qcom_icc_node qhs_display_rt_throttle_cfg = { 770ea168170SKonrad Dybcio .name = "qhs_display_rt_throttle_cfg", 771ea168170SKonrad Dybcio .id = SC7180_SLAVE_DISPLAY_RT_THROTTLE_CFG, 772ea168170SKonrad Dybcio .channels = 1, 773ea168170SKonrad Dybcio .buswidth = 4, 774ea168170SKonrad Dybcio }; 775ea168170SKonrad Dybcio 776ea168170SKonrad Dybcio static struct qcom_icc_node qhs_display_throttle_cfg = { 777ea168170SKonrad Dybcio .name = "qhs_display_throttle_cfg", 778ea168170SKonrad Dybcio .id = SC7180_SLAVE_DISPLAY_THROTTLE_CFG, 779ea168170SKonrad Dybcio .channels = 1, 780ea168170SKonrad Dybcio .buswidth = 4, 781ea168170SKonrad Dybcio }; 782ea168170SKonrad Dybcio 783ea168170SKonrad Dybcio static struct qcom_icc_node qhs_emmc_cfg = { 784ea168170SKonrad Dybcio .name = "qhs_emmc_cfg", 785ea168170SKonrad Dybcio .id = SC7180_SLAVE_EMMC_CFG, 786ea168170SKonrad Dybcio .channels = 1, 787ea168170SKonrad Dybcio .buswidth = 4, 788ea168170SKonrad Dybcio }; 789ea168170SKonrad Dybcio 790ea168170SKonrad Dybcio static struct qcom_icc_node qhs_glm = { 791ea168170SKonrad Dybcio .name = "qhs_glm", 792ea168170SKonrad Dybcio .id = SC7180_SLAVE_GLM, 793ea168170SKonrad Dybcio .channels = 1, 794ea168170SKonrad Dybcio .buswidth = 4, 795ea168170SKonrad Dybcio }; 796ea168170SKonrad Dybcio 797ea168170SKonrad Dybcio static struct qcom_icc_node qhs_gpuss_cfg = { 798ea168170SKonrad Dybcio .name = "qhs_gpuss_cfg", 799ea168170SKonrad Dybcio .id = SC7180_SLAVE_GFX3D_CFG, 800ea168170SKonrad Dybcio .channels = 1, 801ea168170SKonrad Dybcio .buswidth = 8, 802ea168170SKonrad Dybcio }; 803ea168170SKonrad Dybcio 804ea168170SKonrad Dybcio static struct qcom_icc_node qhs_imem_cfg = { 805ea168170SKonrad Dybcio .name = "qhs_imem_cfg", 806ea168170SKonrad Dybcio .id = SC7180_SLAVE_IMEM_CFG, 807ea168170SKonrad Dybcio .channels = 1, 808ea168170SKonrad Dybcio .buswidth = 4, 809ea168170SKonrad Dybcio }; 810ea168170SKonrad Dybcio 811ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ipa = { 812ea168170SKonrad Dybcio .name = "qhs_ipa", 813ea168170SKonrad Dybcio .id = SC7180_SLAVE_IPA_CFG, 814ea168170SKonrad Dybcio .channels = 1, 815ea168170SKonrad Dybcio .buswidth = 4, 816ea168170SKonrad Dybcio }; 817ea168170SKonrad Dybcio 818ea168170SKonrad Dybcio static struct qcom_icc_node qhs_mnoc_cfg = { 819ea168170SKonrad Dybcio .name = "qhs_mnoc_cfg", 820ea168170SKonrad Dybcio .id = SC7180_SLAVE_CNOC_MNOC_CFG, 821ea168170SKonrad Dybcio .channels = 1, 822ea168170SKonrad Dybcio .buswidth = 4, 823ea168170SKonrad Dybcio .num_links = 1, 824ea168170SKonrad Dybcio .links = { SC7180_MASTER_CNOC_MNOC_CFG }, 825ea168170SKonrad Dybcio }; 826ea168170SKonrad Dybcio 827ea168170SKonrad Dybcio static struct qcom_icc_node qhs_mss_cfg = { 828ea168170SKonrad Dybcio .name = "qhs_mss_cfg", 829ea168170SKonrad Dybcio .id = SC7180_SLAVE_CNOC_MSS, 830ea168170SKonrad Dybcio .channels = 1, 831ea168170SKonrad Dybcio .buswidth = 4, 832ea168170SKonrad Dybcio }; 833ea168170SKonrad Dybcio 834ea168170SKonrad Dybcio static struct qcom_icc_node qhs_npu_cfg = { 835ea168170SKonrad Dybcio .name = "qhs_npu_cfg", 836ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_CFG, 837ea168170SKonrad Dybcio .channels = 1, 838ea168170SKonrad Dybcio .buswidth = 4, 839ea168170SKonrad Dybcio .num_links = 1, 840ea168170SKonrad Dybcio .links = { SC7180_MASTER_NPU_NOC_CFG }, 841ea168170SKonrad Dybcio }; 842ea168170SKonrad Dybcio 843ea168170SKonrad Dybcio static struct qcom_icc_node qhs_npu_dma_throttle_cfg = { 844ea168170SKonrad Dybcio .name = "qhs_npu_dma_throttle_cfg", 845ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_DMA_BWMON_CFG, 846ea168170SKonrad Dybcio .channels = 1, 847ea168170SKonrad Dybcio .buswidth = 4, 848ea168170SKonrad Dybcio }; 849ea168170SKonrad Dybcio 850ea168170SKonrad Dybcio static struct qcom_icc_node qhs_npu_dsp_throttle_cfg = { 851ea168170SKonrad Dybcio .name = "qhs_npu_dsp_throttle_cfg", 852ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_PROC_BWMON_CFG, 853ea168170SKonrad Dybcio .channels = 1, 854ea168170SKonrad Dybcio .buswidth = 4, 855ea168170SKonrad Dybcio }; 856ea168170SKonrad Dybcio 857ea168170SKonrad Dybcio static struct qcom_icc_node qhs_pdm = { 858ea168170SKonrad Dybcio .name = "qhs_pdm", 859ea168170SKonrad Dybcio .id = SC7180_SLAVE_PDM, 860ea168170SKonrad Dybcio .channels = 1, 861ea168170SKonrad Dybcio .buswidth = 4, 862ea168170SKonrad Dybcio }; 863ea168170SKonrad Dybcio 864ea168170SKonrad Dybcio static struct qcom_icc_node qhs_pimem_cfg = { 865ea168170SKonrad Dybcio .name = "qhs_pimem_cfg", 866ea168170SKonrad Dybcio .id = SC7180_SLAVE_PIMEM_CFG, 867ea168170SKonrad Dybcio .channels = 1, 868ea168170SKonrad Dybcio .buswidth = 4, 869ea168170SKonrad Dybcio }; 870ea168170SKonrad Dybcio 871ea168170SKonrad Dybcio static struct qcom_icc_node qhs_prng = { 872ea168170SKonrad Dybcio .name = "qhs_prng", 873ea168170SKonrad Dybcio .id = SC7180_SLAVE_PRNG, 874ea168170SKonrad Dybcio .channels = 1, 875ea168170SKonrad Dybcio .buswidth = 4, 876ea168170SKonrad Dybcio }; 877ea168170SKonrad Dybcio 878ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qdss_cfg = { 879ea168170SKonrad Dybcio .name = "qhs_qdss_cfg", 880ea168170SKonrad Dybcio .id = SC7180_SLAVE_QDSS_CFG, 881ea168170SKonrad Dybcio .channels = 1, 882ea168170SKonrad Dybcio .buswidth = 4, 883ea168170SKonrad Dybcio }; 884ea168170SKonrad Dybcio 885ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qm_cfg = { 886ea168170SKonrad Dybcio .name = "qhs_qm_cfg", 887ea168170SKonrad Dybcio .id = SC7180_SLAVE_QM_CFG, 888ea168170SKonrad Dybcio .channels = 1, 889ea168170SKonrad Dybcio .buswidth = 4, 890ea168170SKonrad Dybcio }; 891ea168170SKonrad Dybcio 892ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qm_mpu_cfg = { 893ea168170SKonrad Dybcio .name = "qhs_qm_mpu_cfg", 894ea168170SKonrad Dybcio .id = SC7180_SLAVE_QM_MPU_CFG, 895ea168170SKonrad Dybcio .channels = 1, 896ea168170SKonrad Dybcio .buswidth = 4, 897ea168170SKonrad Dybcio }; 898ea168170SKonrad Dybcio 899ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qspi = { 900ea168170SKonrad Dybcio .name = "qhs_qspi", 901ea168170SKonrad Dybcio .id = SC7180_SLAVE_QSPI_0, 902ea168170SKonrad Dybcio .channels = 1, 903ea168170SKonrad Dybcio .buswidth = 4, 904ea168170SKonrad Dybcio }; 905ea168170SKonrad Dybcio 906ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qup0 = { 907ea168170SKonrad Dybcio .name = "qhs_qup0", 908ea168170SKonrad Dybcio .id = SC7180_SLAVE_QUP_0, 909ea168170SKonrad Dybcio .channels = 1, 910ea168170SKonrad Dybcio .buswidth = 4, 911ea168170SKonrad Dybcio }; 912ea168170SKonrad Dybcio 913ea168170SKonrad Dybcio static struct qcom_icc_node qhs_qup1 = { 914ea168170SKonrad Dybcio .name = "qhs_qup1", 915ea168170SKonrad Dybcio .id = SC7180_SLAVE_QUP_1, 916ea168170SKonrad Dybcio .channels = 1, 917ea168170SKonrad Dybcio .buswidth = 4, 918ea168170SKonrad Dybcio }; 919ea168170SKonrad Dybcio 920ea168170SKonrad Dybcio static struct qcom_icc_node qhs_sdc2 = { 921ea168170SKonrad Dybcio .name = "qhs_sdc2", 922ea168170SKonrad Dybcio .id = SC7180_SLAVE_SDCC_2, 923ea168170SKonrad Dybcio .channels = 1, 924ea168170SKonrad Dybcio .buswidth = 4, 925ea168170SKonrad Dybcio }; 926ea168170SKonrad Dybcio 927ea168170SKonrad Dybcio static struct qcom_icc_node qhs_security = { 928ea168170SKonrad Dybcio .name = "qhs_security", 929ea168170SKonrad Dybcio .id = SC7180_SLAVE_SECURITY, 930ea168170SKonrad Dybcio .channels = 1, 931ea168170SKonrad Dybcio .buswidth = 4, 932ea168170SKonrad Dybcio }; 933ea168170SKonrad Dybcio 934ea168170SKonrad Dybcio static struct qcom_icc_node qhs_snoc_cfg = { 935ea168170SKonrad Dybcio .name = "qhs_snoc_cfg", 936ea168170SKonrad Dybcio .id = SC7180_SLAVE_SNOC_CFG, 937ea168170SKonrad Dybcio .channels = 1, 938ea168170SKonrad Dybcio .buswidth = 4, 939ea168170SKonrad Dybcio .num_links = 1, 940ea168170SKonrad Dybcio .links = { SC7180_MASTER_SNOC_CFG }, 941ea168170SKonrad Dybcio }; 942ea168170SKonrad Dybcio 943ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tcsr = { 944ea168170SKonrad Dybcio .name = "qhs_tcsr", 945ea168170SKonrad Dybcio .id = SC7180_SLAVE_TCSR, 946ea168170SKonrad Dybcio .channels = 1, 947ea168170SKonrad Dybcio .buswidth = 4, 948ea168170SKonrad Dybcio }; 949ea168170SKonrad Dybcio 950ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_1 = { 951ea168170SKonrad Dybcio .name = "qhs_tlmm_1", 952ea168170SKonrad Dybcio .id = SC7180_SLAVE_TLMM_WEST, 953ea168170SKonrad Dybcio .channels = 1, 954ea168170SKonrad Dybcio .buswidth = 4, 955ea168170SKonrad Dybcio }; 956ea168170SKonrad Dybcio 957ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_2 = { 958ea168170SKonrad Dybcio .name = "qhs_tlmm_2", 959ea168170SKonrad Dybcio .id = SC7180_SLAVE_TLMM_NORTH, 960ea168170SKonrad Dybcio .channels = 1, 961ea168170SKonrad Dybcio .buswidth = 4, 962ea168170SKonrad Dybcio }; 963ea168170SKonrad Dybcio 964ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_3 = { 965ea168170SKonrad Dybcio .name = "qhs_tlmm_3", 966ea168170SKonrad Dybcio .id = SC7180_SLAVE_TLMM_SOUTH, 967ea168170SKonrad Dybcio .channels = 1, 968ea168170SKonrad Dybcio .buswidth = 4, 969ea168170SKonrad Dybcio }; 970ea168170SKonrad Dybcio 971ea168170SKonrad Dybcio static struct qcom_icc_node qhs_ufs_mem_cfg = { 972ea168170SKonrad Dybcio .name = "qhs_ufs_mem_cfg", 973ea168170SKonrad Dybcio .id = SC7180_SLAVE_UFS_MEM_CFG, 974ea168170SKonrad Dybcio .channels = 1, 975ea168170SKonrad Dybcio .buswidth = 4, 976ea168170SKonrad Dybcio }; 977ea168170SKonrad Dybcio 978ea168170SKonrad Dybcio static struct qcom_icc_node qhs_usb3 = { 979ea168170SKonrad Dybcio .name = "qhs_usb3", 980ea168170SKonrad Dybcio .id = SC7180_SLAVE_USB3, 981ea168170SKonrad Dybcio .channels = 1, 982ea168170SKonrad Dybcio .buswidth = 4, 983ea168170SKonrad Dybcio }; 984ea168170SKonrad Dybcio 985ea168170SKonrad Dybcio static struct qcom_icc_node qhs_venus_cfg = { 986ea168170SKonrad Dybcio .name = "qhs_venus_cfg", 987ea168170SKonrad Dybcio .id = SC7180_SLAVE_VENUS_CFG, 988ea168170SKonrad Dybcio .channels = 1, 989ea168170SKonrad Dybcio .buswidth = 4, 990ea168170SKonrad Dybcio }; 991ea168170SKonrad Dybcio 992ea168170SKonrad Dybcio static struct qcom_icc_node qhs_venus_throttle_cfg = { 993ea168170SKonrad Dybcio .name = "qhs_venus_throttle_cfg", 994ea168170SKonrad Dybcio .id = SC7180_SLAVE_VENUS_THROTTLE_CFG, 995ea168170SKonrad Dybcio .channels = 1, 996ea168170SKonrad Dybcio .buswidth = 4, 997ea168170SKonrad Dybcio }; 998ea168170SKonrad Dybcio 999ea168170SKonrad Dybcio static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1000ea168170SKonrad Dybcio .name = "qhs_vsense_ctrl_cfg", 1001ea168170SKonrad Dybcio .id = SC7180_SLAVE_VSENSE_CTRL_CFG, 1002ea168170SKonrad Dybcio .channels = 1, 1003ea168170SKonrad Dybcio .buswidth = 4, 1004ea168170SKonrad Dybcio }; 1005ea168170SKonrad Dybcio 1006ea168170SKonrad Dybcio static struct qcom_icc_node srvc_cnoc = { 1007ea168170SKonrad Dybcio .name = "srvc_cnoc", 1008ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_CNOC, 1009ea168170SKonrad Dybcio .channels = 1, 1010ea168170SKonrad Dybcio .buswidth = 4, 1011ea168170SKonrad Dybcio }; 1012ea168170SKonrad Dybcio 1013ea168170SKonrad Dybcio static struct qcom_icc_node qhs_gemnoc = { 1014ea168170SKonrad Dybcio .name = "qhs_gemnoc", 1015ea168170SKonrad Dybcio .id = SC7180_SLAVE_GEM_NOC_CFG, 1016ea168170SKonrad Dybcio .channels = 1, 1017ea168170SKonrad Dybcio .buswidth = 4, 1018ea168170SKonrad Dybcio .num_links = 1, 1019ea168170SKonrad Dybcio .links = { SC7180_MASTER_GEM_NOC_CFG }, 1020ea168170SKonrad Dybcio }; 1021ea168170SKonrad Dybcio 1022ea168170SKonrad Dybcio static struct qcom_icc_node qhs_llcc = { 1023ea168170SKonrad Dybcio .name = "qhs_llcc", 1024ea168170SKonrad Dybcio .id = SC7180_SLAVE_LLCC_CFG, 1025ea168170SKonrad Dybcio .channels = 1, 1026ea168170SKonrad Dybcio .buswidth = 4, 1027ea168170SKonrad Dybcio }; 1028ea168170SKonrad Dybcio 1029ea168170SKonrad Dybcio static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 1030ea168170SKonrad Dybcio .name = "qhs_mdsp_ms_mpu_cfg", 1031ea168170SKonrad Dybcio .id = SC7180_SLAVE_MSS_PROC_MS_MPU_CFG, 1032ea168170SKonrad Dybcio .channels = 1, 1033ea168170SKonrad Dybcio .buswidth = 4, 1034ea168170SKonrad Dybcio }; 1035ea168170SKonrad Dybcio 1036ea168170SKonrad Dybcio static struct qcom_icc_node qns_gem_noc_snoc = { 1037ea168170SKonrad Dybcio .name = "qns_gem_noc_snoc", 1038ea168170SKonrad Dybcio .id = SC7180_SLAVE_GEM_NOC_SNOC, 1039ea168170SKonrad Dybcio .channels = 1, 1040ea168170SKonrad Dybcio .buswidth = 8, 1041ea168170SKonrad Dybcio .num_links = 1, 1042ea168170SKonrad Dybcio .links = { SC7180_MASTER_GEM_NOC_SNOC }, 1043ea168170SKonrad Dybcio }; 1044ea168170SKonrad Dybcio 1045ea168170SKonrad Dybcio static struct qcom_icc_node qns_llcc = { 1046ea168170SKonrad Dybcio .name = "qns_llcc", 1047ea168170SKonrad Dybcio .id = SC7180_SLAVE_LLCC, 1048ea168170SKonrad Dybcio .channels = 1, 1049ea168170SKonrad Dybcio .buswidth = 16, 1050ea168170SKonrad Dybcio .num_links = 1, 1051ea168170SKonrad Dybcio .links = { SC7180_MASTER_LLCC }, 1052ea168170SKonrad Dybcio }; 1053ea168170SKonrad Dybcio 1054ea168170SKonrad Dybcio static struct qcom_icc_node srvc_gemnoc = { 1055ea168170SKonrad Dybcio .name = "srvc_gemnoc", 1056ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_GEM_NOC, 1057ea168170SKonrad Dybcio .channels = 1, 1058ea168170SKonrad Dybcio .buswidth = 4, 1059ea168170SKonrad Dybcio }; 1060ea168170SKonrad Dybcio 1061ea168170SKonrad Dybcio static struct qcom_icc_node ebi = { 1062ea168170SKonrad Dybcio .name = "ebi", 1063ea168170SKonrad Dybcio .id = SC7180_SLAVE_EBI1, 1064ea168170SKonrad Dybcio .channels = 2, 1065ea168170SKonrad Dybcio .buswidth = 4, 1066ea168170SKonrad Dybcio }; 1067ea168170SKonrad Dybcio 1068ea168170SKonrad Dybcio static struct qcom_icc_node qns_mem_noc_hf = { 1069ea168170SKonrad Dybcio .name = "qns_mem_noc_hf", 1070ea168170SKonrad Dybcio .id = SC7180_SLAVE_MNOC_HF_MEM_NOC, 1071ea168170SKonrad Dybcio .channels = 1, 1072ea168170SKonrad Dybcio .buswidth = 32, 1073ea168170SKonrad Dybcio .num_links = 1, 1074ea168170SKonrad Dybcio .links = { SC7180_MASTER_MNOC_HF_MEM_NOC }, 1075ea168170SKonrad Dybcio }; 1076ea168170SKonrad Dybcio 1077ea168170SKonrad Dybcio static struct qcom_icc_node qns_mem_noc_sf = { 1078ea168170SKonrad Dybcio .name = "qns_mem_noc_sf", 1079ea168170SKonrad Dybcio .id = SC7180_SLAVE_MNOC_SF_MEM_NOC, 1080ea168170SKonrad Dybcio .channels = 1, 1081ea168170SKonrad Dybcio .buswidth = 32, 1082ea168170SKonrad Dybcio .num_links = 1, 1083ea168170SKonrad Dybcio .links = { SC7180_MASTER_MNOC_SF_MEM_NOC }, 1084ea168170SKonrad Dybcio }; 1085ea168170SKonrad Dybcio 1086ea168170SKonrad Dybcio static struct qcom_icc_node srvc_mnoc = { 1087ea168170SKonrad Dybcio .name = "srvc_mnoc", 1088ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_MNOC, 1089ea168170SKonrad Dybcio .channels = 1, 1090ea168170SKonrad Dybcio .buswidth = 4, 1091ea168170SKonrad Dybcio }; 1092ea168170SKonrad Dybcio 1093ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cal_dp0 = { 1094ea168170SKonrad Dybcio .name = "qhs_cal_dp0", 1095ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_CAL_DP0, 1096ea168170SKonrad Dybcio .channels = 1, 1097ea168170SKonrad Dybcio .buswidth = 4, 1098ea168170SKonrad Dybcio }; 1099ea168170SKonrad Dybcio 1100ea168170SKonrad Dybcio static struct qcom_icc_node qhs_cp = { 1101ea168170SKonrad Dybcio .name = "qhs_cp", 1102ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_CP, 1103ea168170SKonrad Dybcio .channels = 1, 1104ea168170SKonrad Dybcio .buswidth = 4, 1105ea168170SKonrad Dybcio }; 1106ea168170SKonrad Dybcio 1107ea168170SKonrad Dybcio static struct qcom_icc_node qhs_dma_bwmon = { 1108ea168170SKonrad Dybcio .name = "qhs_dma_bwmon", 1109ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_INT_DMA_BWMON_CFG, 1110ea168170SKonrad Dybcio .channels = 1, 1111ea168170SKonrad Dybcio .buswidth = 4, 1112ea168170SKonrad Dybcio }; 1113ea168170SKonrad Dybcio 1114ea168170SKonrad Dybcio static struct qcom_icc_node qhs_dpm = { 1115ea168170SKonrad Dybcio .name = "qhs_dpm", 1116ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_DPM, 1117ea168170SKonrad Dybcio .channels = 1, 1118ea168170SKonrad Dybcio .buswidth = 4, 1119ea168170SKonrad Dybcio }; 1120ea168170SKonrad Dybcio 1121ea168170SKonrad Dybcio static struct qcom_icc_node qhs_isense = { 1122ea168170SKonrad Dybcio .name = "qhs_isense", 1123ea168170SKonrad Dybcio .id = SC7180_SLAVE_ISENSE_CFG, 1124ea168170SKonrad Dybcio .channels = 1, 1125ea168170SKonrad Dybcio .buswidth = 4, 1126ea168170SKonrad Dybcio }; 1127ea168170SKonrad Dybcio 1128ea168170SKonrad Dybcio static struct qcom_icc_node qhs_llm = { 1129ea168170SKonrad Dybcio .name = "qhs_llm", 1130ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_LLM_CFG, 1131ea168170SKonrad Dybcio .channels = 1, 1132ea168170SKonrad Dybcio .buswidth = 4, 1133ea168170SKonrad Dybcio }; 1134ea168170SKonrad Dybcio 1135ea168170SKonrad Dybcio static struct qcom_icc_node qhs_tcm = { 1136ea168170SKonrad Dybcio .name = "qhs_tcm", 1137ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_TCM, 1138ea168170SKonrad Dybcio .channels = 1, 1139ea168170SKonrad Dybcio .buswidth = 4, 1140ea168170SKonrad Dybcio }; 1141ea168170SKonrad Dybcio 1142ea168170SKonrad Dybcio static struct qcom_icc_node qns_npu_sys = { 1143ea168170SKonrad Dybcio .name = "qns_npu_sys", 1144ea168170SKonrad Dybcio .id = SC7180_SLAVE_NPU_COMPUTE_NOC, 1145ea168170SKonrad Dybcio .channels = 2, 1146ea168170SKonrad Dybcio .buswidth = 32, 1147ea168170SKonrad Dybcio }; 1148ea168170SKonrad Dybcio 1149ea168170SKonrad Dybcio static struct qcom_icc_node srvc_noc = { 1150ea168170SKonrad Dybcio .name = "srvc_noc", 1151ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_NPU_NOC, 1152ea168170SKonrad Dybcio .channels = 1, 1153ea168170SKonrad Dybcio .buswidth = 4, 1154ea168170SKonrad Dybcio }; 1155ea168170SKonrad Dybcio 1156ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_slave_1 = { 1157ea168170SKonrad Dybcio .name = "qup_core_slave_1", 1158ea168170SKonrad Dybcio .id = SC7180_SLAVE_QUP_CORE_0, 1159ea168170SKonrad Dybcio .channels = 1, 1160ea168170SKonrad Dybcio .buswidth = 4, 1161ea168170SKonrad Dybcio }; 1162ea168170SKonrad Dybcio 1163ea168170SKonrad Dybcio static struct qcom_icc_node qup_core_slave_2 = { 1164ea168170SKonrad Dybcio .name = "qup_core_slave_2", 1165ea168170SKonrad Dybcio .id = SC7180_SLAVE_QUP_CORE_1, 1166ea168170SKonrad Dybcio .channels = 1, 1167ea168170SKonrad Dybcio .buswidth = 4, 1168ea168170SKonrad Dybcio }; 1169ea168170SKonrad Dybcio 1170ea168170SKonrad Dybcio static struct qcom_icc_node qhs_apss = { 1171ea168170SKonrad Dybcio .name = "qhs_apss", 1172ea168170SKonrad Dybcio .id = SC7180_SLAVE_APPSS, 1173ea168170SKonrad Dybcio .channels = 1, 1174ea168170SKonrad Dybcio .buswidth = 8, 1175ea168170SKonrad Dybcio }; 1176ea168170SKonrad Dybcio 1177ea168170SKonrad Dybcio static struct qcom_icc_node qns_cnoc = { 1178ea168170SKonrad Dybcio .name = "qns_cnoc", 1179ea168170SKonrad Dybcio .id = SC7180_SLAVE_SNOC_CNOC, 1180ea168170SKonrad Dybcio .channels = 1, 1181ea168170SKonrad Dybcio .buswidth = 8, 1182ea168170SKonrad Dybcio .num_links = 1, 1183ea168170SKonrad Dybcio .links = { SC7180_MASTER_SNOC_CNOC }, 1184ea168170SKonrad Dybcio }; 1185ea168170SKonrad Dybcio 1186ea168170SKonrad Dybcio static struct qcom_icc_node qns_gemnoc_gc = { 1187ea168170SKonrad Dybcio .name = "qns_gemnoc_gc", 1188ea168170SKonrad Dybcio .id = SC7180_SLAVE_SNOC_GEM_NOC_GC, 1189ea168170SKonrad Dybcio .channels = 1, 1190ea168170SKonrad Dybcio .buswidth = 8, 1191ea168170SKonrad Dybcio .num_links = 1, 1192ea168170SKonrad Dybcio .links = { SC7180_MASTER_SNOC_GC_MEM_NOC }, 1193ea168170SKonrad Dybcio }; 1194ea168170SKonrad Dybcio 1195ea168170SKonrad Dybcio static struct qcom_icc_node qns_gemnoc_sf = { 1196ea168170SKonrad Dybcio .name = "qns_gemnoc_sf", 1197ea168170SKonrad Dybcio .id = SC7180_SLAVE_SNOC_GEM_NOC_SF, 1198ea168170SKonrad Dybcio .channels = 1, 1199ea168170SKonrad Dybcio .buswidth = 16, 1200ea168170SKonrad Dybcio .num_links = 1, 1201ea168170SKonrad Dybcio .links = { SC7180_MASTER_SNOC_SF_MEM_NOC }, 1202ea168170SKonrad Dybcio }; 1203ea168170SKonrad Dybcio 1204ea168170SKonrad Dybcio static struct qcom_icc_node qxs_imem = { 1205ea168170SKonrad Dybcio .name = "qxs_imem", 1206ea168170SKonrad Dybcio .id = SC7180_SLAVE_IMEM, 1207ea168170SKonrad Dybcio .channels = 1, 1208ea168170SKonrad Dybcio .buswidth = 8, 1209ea168170SKonrad Dybcio }; 1210ea168170SKonrad Dybcio 1211ea168170SKonrad Dybcio static struct qcom_icc_node qxs_pimem = { 1212ea168170SKonrad Dybcio .name = "qxs_pimem", 1213ea168170SKonrad Dybcio .id = SC7180_SLAVE_PIMEM, 1214ea168170SKonrad Dybcio .channels = 1, 1215ea168170SKonrad Dybcio .buswidth = 8, 1216ea168170SKonrad Dybcio }; 1217ea168170SKonrad Dybcio 1218ea168170SKonrad Dybcio static struct qcom_icc_node srvc_snoc = { 1219ea168170SKonrad Dybcio .name = "srvc_snoc", 1220ea168170SKonrad Dybcio .id = SC7180_SLAVE_SERVICE_SNOC, 1221ea168170SKonrad Dybcio .channels = 1, 1222ea168170SKonrad Dybcio .buswidth = 4, 1223ea168170SKonrad Dybcio }; 1224ea168170SKonrad Dybcio 1225ea168170SKonrad Dybcio static struct qcom_icc_node xs_qdss_stm = { 1226ea168170SKonrad Dybcio .name = "xs_qdss_stm", 1227ea168170SKonrad Dybcio .id = SC7180_SLAVE_QDSS_STM, 1228ea168170SKonrad Dybcio .channels = 1, 1229ea168170SKonrad Dybcio .buswidth = 4, 1230ea168170SKonrad Dybcio }; 1231ea168170SKonrad Dybcio 1232ea168170SKonrad Dybcio static struct qcom_icc_node xs_sys_tcu_cfg = { 1233ea168170SKonrad Dybcio .name = "xs_sys_tcu_cfg", 1234ea168170SKonrad Dybcio .id = SC7180_SLAVE_TCU, 1235ea168170SKonrad Dybcio .channels = 1, 1236ea168170SKonrad Dybcio .buswidth = 8, 1237ea168170SKonrad Dybcio }; 12382d1f95abSOdelu Kukatla 1239e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_acv = { 1240e451b2eaSKonrad Dybcio .name = "ACV", 1241*5eb5d9c4SKonrad Dybcio .enable_mask = BIT(3), 1242e451b2eaSKonrad Dybcio .keepalive = false, 1243e451b2eaSKonrad Dybcio .num_nodes = 1, 1244e451b2eaSKonrad Dybcio .nodes = { &ebi }, 1245e451b2eaSKonrad Dybcio }; 1246e451b2eaSKonrad Dybcio 1247e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mc0 = { 1248e451b2eaSKonrad Dybcio .name = "MC0", 1249e451b2eaSKonrad Dybcio .keepalive = true, 1250e451b2eaSKonrad Dybcio .num_nodes = 1, 1251e451b2eaSKonrad Dybcio .nodes = { &ebi }, 1252e451b2eaSKonrad Dybcio }; 1253e451b2eaSKonrad Dybcio 1254e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh0 = { 1255e451b2eaSKonrad Dybcio .name = "SH0", 1256e451b2eaSKonrad Dybcio .keepalive = true, 1257e451b2eaSKonrad Dybcio .num_nodes = 1, 1258e451b2eaSKonrad Dybcio .nodes = { &qns_llcc }, 1259e451b2eaSKonrad Dybcio }; 1260e451b2eaSKonrad Dybcio 1261e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mm0 = { 1262e451b2eaSKonrad Dybcio .name = "MM0", 1263e451b2eaSKonrad Dybcio .keepalive = false, 1264e451b2eaSKonrad Dybcio .num_nodes = 1, 1265e451b2eaSKonrad Dybcio .nodes = { &qns_mem_noc_hf }, 1266e451b2eaSKonrad Dybcio }; 1267e451b2eaSKonrad Dybcio 1268e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_ce0 = { 1269e451b2eaSKonrad Dybcio .name = "CE0", 1270e451b2eaSKonrad Dybcio .keepalive = false, 1271e451b2eaSKonrad Dybcio .num_nodes = 1, 1272e451b2eaSKonrad Dybcio .nodes = { &qxm_crypto }, 1273e451b2eaSKonrad Dybcio }; 1274e451b2eaSKonrad Dybcio 1275e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_cn0 = { 1276e451b2eaSKonrad Dybcio .name = "CN0", 1277e451b2eaSKonrad Dybcio .keepalive = true, 1278e451b2eaSKonrad Dybcio .num_nodes = 48, 1279e451b2eaSKonrad Dybcio .nodes = { &qnm_snoc, 1280e451b2eaSKonrad Dybcio &xm_qdss_dap, 1281e451b2eaSKonrad Dybcio &qhs_a1_noc_cfg, 1282e451b2eaSKonrad Dybcio &qhs_a2_noc_cfg, 1283e451b2eaSKonrad Dybcio &qhs_ahb2phy0, 1284e451b2eaSKonrad Dybcio &qhs_aop, 1285e451b2eaSKonrad Dybcio &qhs_aoss, 1286e451b2eaSKonrad Dybcio &qhs_boot_rom, 1287e451b2eaSKonrad Dybcio &qhs_camera_cfg, 1288e451b2eaSKonrad Dybcio &qhs_camera_nrt_throttle_cfg, 1289e451b2eaSKonrad Dybcio &qhs_camera_rt_throttle_cfg, 1290e451b2eaSKonrad Dybcio &qhs_clk_ctl, 1291e451b2eaSKonrad Dybcio &qhs_cpr_cx, 1292e451b2eaSKonrad Dybcio &qhs_cpr_mx, 1293e451b2eaSKonrad Dybcio &qhs_crypto0_cfg, 1294e451b2eaSKonrad Dybcio &qhs_dcc_cfg, 1295e451b2eaSKonrad Dybcio &qhs_ddrss_cfg, 1296e451b2eaSKonrad Dybcio &qhs_display_cfg, 1297e451b2eaSKonrad Dybcio &qhs_display_rt_throttle_cfg, 1298e451b2eaSKonrad Dybcio &qhs_display_throttle_cfg, 1299e451b2eaSKonrad Dybcio &qhs_glm, 1300e451b2eaSKonrad Dybcio &qhs_gpuss_cfg, 1301e451b2eaSKonrad Dybcio &qhs_imem_cfg, 1302e451b2eaSKonrad Dybcio &qhs_ipa, 1303e451b2eaSKonrad Dybcio &qhs_mnoc_cfg, 1304e451b2eaSKonrad Dybcio &qhs_mss_cfg, 1305e451b2eaSKonrad Dybcio &qhs_npu_cfg, 1306e451b2eaSKonrad Dybcio &qhs_npu_dma_throttle_cfg, 1307e451b2eaSKonrad Dybcio &qhs_npu_dsp_throttle_cfg, 1308e451b2eaSKonrad Dybcio &qhs_pimem_cfg, 1309e451b2eaSKonrad Dybcio &qhs_prng, 1310e451b2eaSKonrad Dybcio &qhs_qdss_cfg, 1311e451b2eaSKonrad Dybcio &qhs_qm_cfg, 1312e451b2eaSKonrad Dybcio &qhs_qm_mpu_cfg, 1313e451b2eaSKonrad Dybcio &qhs_qup0, 1314e451b2eaSKonrad Dybcio &qhs_qup1, 1315e451b2eaSKonrad Dybcio &qhs_security, 1316e451b2eaSKonrad Dybcio &qhs_snoc_cfg, 1317e451b2eaSKonrad Dybcio &qhs_tcsr, 1318e451b2eaSKonrad Dybcio &qhs_tlmm_1, 1319e451b2eaSKonrad Dybcio &qhs_tlmm_2, 1320e451b2eaSKonrad Dybcio &qhs_tlmm_3, 1321e451b2eaSKonrad Dybcio &qhs_ufs_mem_cfg, 1322e451b2eaSKonrad Dybcio &qhs_usb3, 1323e451b2eaSKonrad Dybcio &qhs_venus_cfg, 1324e451b2eaSKonrad Dybcio &qhs_venus_throttle_cfg, 1325e451b2eaSKonrad Dybcio &qhs_vsense_ctrl_cfg, 1326e451b2eaSKonrad Dybcio &srvc_cnoc 1327e451b2eaSKonrad Dybcio }, 1328e451b2eaSKonrad Dybcio }; 1329e451b2eaSKonrad Dybcio 1330e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mm1 = { 1331e451b2eaSKonrad Dybcio .name = "MM1", 1332e451b2eaSKonrad Dybcio .keepalive = false, 1333e451b2eaSKonrad Dybcio .num_nodes = 8, 1334e451b2eaSKonrad Dybcio .nodes = { &qxm_camnoc_hf0_uncomp, 1335e451b2eaSKonrad Dybcio &qxm_camnoc_hf1_uncomp, 1336e451b2eaSKonrad Dybcio &qxm_camnoc_sf_uncomp, 1337e451b2eaSKonrad Dybcio &qhm_mnoc_cfg, 1338e451b2eaSKonrad Dybcio &qxm_mdp0, 1339e451b2eaSKonrad Dybcio &qxm_rot, 1340e451b2eaSKonrad Dybcio &qxm_venus0, 1341e451b2eaSKonrad Dybcio &qxm_venus_arm9 1342e451b2eaSKonrad Dybcio }, 1343e451b2eaSKonrad Dybcio }; 1344e451b2eaSKonrad Dybcio 1345e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh2 = { 1346e451b2eaSKonrad Dybcio .name = "SH2", 1347e451b2eaSKonrad Dybcio .keepalive = false, 1348e451b2eaSKonrad Dybcio .num_nodes = 1, 1349e451b2eaSKonrad Dybcio .nodes = { &acm_sys_tcu }, 1350e451b2eaSKonrad Dybcio }; 1351e451b2eaSKonrad Dybcio 1352e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_mm2 = { 1353e451b2eaSKonrad Dybcio .name = "MM2", 1354e451b2eaSKonrad Dybcio .keepalive = false, 1355e451b2eaSKonrad Dybcio .num_nodes = 1, 1356e451b2eaSKonrad Dybcio .nodes = { &qns_mem_noc_sf }, 1357e451b2eaSKonrad Dybcio }; 1358e451b2eaSKonrad Dybcio 1359e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_qup0 = { 1360e451b2eaSKonrad Dybcio .name = "QUP0", 1361e451b2eaSKonrad Dybcio .keepalive = false, 1362e451b2eaSKonrad Dybcio .num_nodes = 2, 1363e451b2eaSKonrad Dybcio .nodes = { &qup_core_master_1, &qup_core_master_2 }, 1364e451b2eaSKonrad Dybcio }; 1365e451b2eaSKonrad Dybcio 1366e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh3 = { 1367e451b2eaSKonrad Dybcio .name = "SH3", 1368e451b2eaSKonrad Dybcio .keepalive = false, 1369e451b2eaSKonrad Dybcio .num_nodes = 1, 1370e451b2eaSKonrad Dybcio .nodes = { &qnm_cmpnoc }, 1371e451b2eaSKonrad Dybcio }; 1372e451b2eaSKonrad Dybcio 1373e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sh4 = { 1374e451b2eaSKonrad Dybcio .name = "SH4", 1375e451b2eaSKonrad Dybcio .keepalive = false, 1376e451b2eaSKonrad Dybcio .num_nodes = 1, 1377e451b2eaSKonrad Dybcio .nodes = { &acm_apps0 }, 1378e451b2eaSKonrad Dybcio }; 1379e451b2eaSKonrad Dybcio 1380e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn0 = { 1381e451b2eaSKonrad Dybcio .name = "SN0", 1382e451b2eaSKonrad Dybcio .keepalive = true, 1383e451b2eaSKonrad Dybcio .num_nodes = 1, 1384e451b2eaSKonrad Dybcio .nodes = { &qns_gemnoc_sf }, 1385e451b2eaSKonrad Dybcio }; 1386e451b2eaSKonrad Dybcio 1387e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_co0 = { 1388e451b2eaSKonrad Dybcio .name = "CO0", 1389e451b2eaSKonrad Dybcio .keepalive = false, 1390e451b2eaSKonrad Dybcio .num_nodes = 1, 1391e451b2eaSKonrad Dybcio .nodes = { &qns_cdsp_gemnoc }, 1392e451b2eaSKonrad Dybcio }; 1393e451b2eaSKonrad Dybcio 1394e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn1 = { 1395e451b2eaSKonrad Dybcio .name = "SN1", 1396e451b2eaSKonrad Dybcio .keepalive = false, 1397e451b2eaSKonrad Dybcio .num_nodes = 1, 1398e451b2eaSKonrad Dybcio .nodes = { &qxs_imem }, 1399e451b2eaSKonrad Dybcio }; 1400e451b2eaSKonrad Dybcio 1401e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_cn1 = { 1402e451b2eaSKonrad Dybcio .name = "CN1", 1403e451b2eaSKonrad Dybcio .keepalive = false, 1404e451b2eaSKonrad Dybcio .num_nodes = 8, 1405e451b2eaSKonrad Dybcio .nodes = { &qhm_qspi, 1406e451b2eaSKonrad Dybcio &xm_sdc2, 1407e451b2eaSKonrad Dybcio &xm_emmc, 1408e451b2eaSKonrad Dybcio &qhs_ahb2phy2, 1409e451b2eaSKonrad Dybcio &qhs_emmc_cfg, 1410e451b2eaSKonrad Dybcio &qhs_pdm, 1411e451b2eaSKonrad Dybcio &qhs_qspi, 1412e451b2eaSKonrad Dybcio &qhs_sdc2 1413e451b2eaSKonrad Dybcio }, 1414e451b2eaSKonrad Dybcio }; 1415e451b2eaSKonrad Dybcio 1416e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn2 = { 1417e451b2eaSKonrad Dybcio .name = "SN2", 1418e451b2eaSKonrad Dybcio .keepalive = false, 1419e451b2eaSKonrad Dybcio .num_nodes = 2, 1420e451b2eaSKonrad Dybcio .nodes = { &qxm_pimem, &qns_gemnoc_gc }, 1421e451b2eaSKonrad Dybcio }; 1422e451b2eaSKonrad Dybcio 1423e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_co2 = { 1424e451b2eaSKonrad Dybcio .name = "CO2", 1425e451b2eaSKonrad Dybcio .keepalive = false, 1426e451b2eaSKonrad Dybcio .num_nodes = 1, 1427e451b2eaSKonrad Dybcio .nodes = { &qnm_npu }, 1428e451b2eaSKonrad Dybcio }; 1429e451b2eaSKonrad Dybcio 1430e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn3 = { 1431e451b2eaSKonrad Dybcio .name = "SN3", 1432e451b2eaSKonrad Dybcio .keepalive = false, 1433e451b2eaSKonrad Dybcio .num_nodes = 1, 1434e451b2eaSKonrad Dybcio .nodes = { &qxs_pimem }, 1435e451b2eaSKonrad Dybcio }; 1436e451b2eaSKonrad Dybcio 1437e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_co3 = { 1438e451b2eaSKonrad Dybcio .name = "CO3", 1439e451b2eaSKonrad Dybcio .keepalive = false, 1440e451b2eaSKonrad Dybcio .num_nodes = 1, 1441e451b2eaSKonrad Dybcio .nodes = { &qxm_npu_dsp }, 1442e451b2eaSKonrad Dybcio }; 1443e451b2eaSKonrad Dybcio 1444e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn4 = { 1445e451b2eaSKonrad Dybcio .name = "SN4", 1446e451b2eaSKonrad Dybcio .keepalive = false, 1447e451b2eaSKonrad Dybcio .num_nodes = 1, 1448e451b2eaSKonrad Dybcio .nodes = { &xs_qdss_stm }, 1449e451b2eaSKonrad Dybcio }; 1450e451b2eaSKonrad Dybcio 1451e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn7 = { 1452e451b2eaSKonrad Dybcio .name = "SN7", 1453e451b2eaSKonrad Dybcio .keepalive = false, 1454e451b2eaSKonrad Dybcio .num_nodes = 1, 1455e451b2eaSKonrad Dybcio .nodes = { &qnm_aggre1_noc }, 1456e451b2eaSKonrad Dybcio }; 1457e451b2eaSKonrad Dybcio 1458e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn9 = { 1459e451b2eaSKonrad Dybcio .name = "SN9", 1460e451b2eaSKonrad Dybcio .keepalive = false, 1461e451b2eaSKonrad Dybcio .num_nodes = 1, 1462e451b2eaSKonrad Dybcio .nodes = { &qnm_aggre2_noc }, 1463e451b2eaSKonrad Dybcio }; 1464e451b2eaSKonrad Dybcio 1465e451b2eaSKonrad Dybcio static struct qcom_icc_bcm bcm_sn12 = { 1466e451b2eaSKonrad Dybcio .name = "SN12", 1467e451b2eaSKonrad Dybcio .keepalive = false, 1468e451b2eaSKonrad Dybcio .num_nodes = 1, 1469e451b2eaSKonrad Dybcio .nodes = { &qnm_gemnoc }, 1470e451b2eaSKonrad Dybcio }; 14712d1f95abSOdelu Kukatla 14727123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 14732d1f95abSOdelu Kukatla &bcm_cn1, 14742d1f95abSOdelu Kukatla }; 14752d1f95abSOdelu Kukatla 14762ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = { 14772d1f95abSOdelu Kukatla [MASTER_A1NOC_CFG] = &qhm_a1noc_cfg, 14782d1f95abSOdelu Kukatla [MASTER_QSPI] = &qhm_qspi, 14792d1f95abSOdelu Kukatla [MASTER_QUP_0] = &qhm_qup_0, 14802d1f95abSOdelu Kukatla [MASTER_SDCC_2] = &xm_sdc2, 14812d1f95abSOdelu Kukatla [MASTER_EMMC] = &xm_emmc, 14822d1f95abSOdelu Kukatla [MASTER_UFS_MEM] = &xm_ufs_mem, 14832d1f95abSOdelu Kukatla [SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc, 14842d1f95abSOdelu Kukatla [SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc, 14852d1f95abSOdelu Kukatla }; 14862d1f95abSOdelu Kukatla 14871625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_aggre1_noc = { 14882d1f95abSOdelu Kukatla .nodes = aggre1_noc_nodes, 14892d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(aggre1_noc_nodes), 14902d1f95abSOdelu Kukatla .bcms = aggre1_noc_bcms, 14912d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(aggre1_noc_bcms), 14922d1f95abSOdelu Kukatla }; 14932d1f95abSOdelu Kukatla 14947123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = { 14952d1f95abSOdelu Kukatla &bcm_ce0, 14962d1f95abSOdelu Kukatla }; 14972d1f95abSOdelu Kukatla 14982ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = { 14992d1f95abSOdelu Kukatla [MASTER_A2NOC_CFG] = &qhm_a2noc_cfg, 15002d1f95abSOdelu Kukatla [MASTER_QDSS_BAM] = &qhm_qdss_bam, 15012d1f95abSOdelu Kukatla [MASTER_QUP_1] = &qhm_qup_1, 15022d1f95abSOdelu Kukatla [MASTER_USB3] = &qhm_usb3, 15032d1f95abSOdelu Kukatla [MASTER_CRYPTO] = &qxm_crypto, 15042d1f95abSOdelu Kukatla [MASTER_IPA] = &qxm_ipa, 15052d1f95abSOdelu Kukatla [MASTER_QDSS_ETR] = &xm_qdss_etr, 15062d1f95abSOdelu Kukatla [SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc, 15072d1f95abSOdelu Kukatla [SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc, 15082d1f95abSOdelu Kukatla }; 15092d1f95abSOdelu Kukatla 15101625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_aggre2_noc = { 15112d1f95abSOdelu Kukatla .nodes = aggre2_noc_nodes, 15122d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(aggre2_noc_nodes), 15132d1f95abSOdelu Kukatla .bcms = aggre2_noc_bcms, 15142d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(aggre2_noc_bcms), 15152d1f95abSOdelu Kukatla }; 15162d1f95abSOdelu Kukatla 15177123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const camnoc_virt_bcms[] = { 15182d1f95abSOdelu Kukatla &bcm_mm1, 15192d1f95abSOdelu Kukatla }; 15202d1f95abSOdelu Kukatla 15212ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const camnoc_virt_nodes[] = { 15222d1f95abSOdelu Kukatla [MASTER_CAMNOC_HF0_UNCOMP] = &qxm_camnoc_hf0_uncomp, 15232d1f95abSOdelu Kukatla [MASTER_CAMNOC_HF1_UNCOMP] = &qxm_camnoc_hf1_uncomp, 15242d1f95abSOdelu Kukatla [MASTER_CAMNOC_SF_UNCOMP] = &qxm_camnoc_sf_uncomp, 15252d1f95abSOdelu Kukatla [SLAVE_CAMNOC_UNCOMP] = &qns_camnoc_uncomp, 15262d1f95abSOdelu Kukatla }; 15272d1f95abSOdelu Kukatla 15281625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_camnoc_virt = { 15292d1f95abSOdelu Kukatla .nodes = camnoc_virt_nodes, 15302d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(camnoc_virt_nodes), 15312d1f95abSOdelu Kukatla .bcms = camnoc_virt_bcms, 15322d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(camnoc_virt_bcms), 15332d1f95abSOdelu Kukatla }; 15342d1f95abSOdelu Kukatla 15357123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const compute_noc_bcms[] = { 15362d1f95abSOdelu Kukatla &bcm_co0, 15372d1f95abSOdelu Kukatla &bcm_co2, 15382d1f95abSOdelu Kukatla &bcm_co3, 15392d1f95abSOdelu Kukatla }; 15402d1f95abSOdelu Kukatla 15412ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const compute_noc_nodes[] = { 15422d1f95abSOdelu Kukatla [MASTER_NPU] = &qnm_npu, 15432d1f95abSOdelu Kukatla [MASTER_NPU_PROC] = &qxm_npu_dsp, 15442d1f95abSOdelu Kukatla [SLAVE_CDSP_GEM_NOC] = &qns_cdsp_gemnoc, 15452d1f95abSOdelu Kukatla }; 15462d1f95abSOdelu Kukatla 15471625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_compute_noc = { 15482d1f95abSOdelu Kukatla .nodes = compute_noc_nodes, 15492d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(compute_noc_nodes), 15502d1f95abSOdelu Kukatla .bcms = compute_noc_bcms, 15512d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(compute_noc_bcms), 15522d1f95abSOdelu Kukatla }; 15532d1f95abSOdelu Kukatla 15547123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = { 15552d1f95abSOdelu Kukatla &bcm_cn0, 15562d1f95abSOdelu Kukatla &bcm_cn1, 15572d1f95abSOdelu Kukatla }; 15582d1f95abSOdelu Kukatla 15592ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = { 15602d1f95abSOdelu Kukatla [MASTER_SNOC_CNOC] = &qnm_snoc, 15612d1f95abSOdelu Kukatla [MASTER_QDSS_DAP] = &xm_qdss_dap, 15622d1f95abSOdelu Kukatla [SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg, 15632d1f95abSOdelu Kukatla [SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg, 15642d1f95abSOdelu Kukatla [SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0, 15652d1f95abSOdelu Kukatla [SLAVE_AHB2PHY_CENTER] = &qhs_ahb2phy2, 15662d1f95abSOdelu Kukatla [SLAVE_AOP] = &qhs_aop, 15672d1f95abSOdelu Kukatla [SLAVE_AOSS] = &qhs_aoss, 15682d1f95abSOdelu Kukatla [SLAVE_BOOT_ROM] = &qhs_boot_rom, 15692d1f95abSOdelu Kukatla [SLAVE_CAMERA_CFG] = &qhs_camera_cfg, 15702d1f95abSOdelu Kukatla [SLAVE_CAMERA_NRT_THROTTLE_CFG] = &qhs_camera_nrt_throttle_cfg, 15712d1f95abSOdelu Kukatla [SLAVE_CAMERA_RT_THROTTLE_CFG] = &qhs_camera_rt_throttle_cfg, 15722d1f95abSOdelu Kukatla [SLAVE_CLK_CTL] = &qhs_clk_ctl, 15732d1f95abSOdelu Kukatla [SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx, 15742d1f95abSOdelu Kukatla [SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx, 15752d1f95abSOdelu Kukatla [SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg, 15762d1f95abSOdelu Kukatla [SLAVE_DCC_CFG] = &qhs_dcc_cfg, 15772d1f95abSOdelu Kukatla [SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg, 15782d1f95abSOdelu Kukatla [SLAVE_DISPLAY_CFG] = &qhs_display_cfg, 15792d1f95abSOdelu Kukatla [SLAVE_DISPLAY_RT_THROTTLE_CFG] = &qhs_display_rt_throttle_cfg, 15802d1f95abSOdelu Kukatla [SLAVE_DISPLAY_THROTTLE_CFG] = &qhs_display_throttle_cfg, 15812d1f95abSOdelu Kukatla [SLAVE_EMMC_CFG] = &qhs_emmc_cfg, 15822d1f95abSOdelu Kukatla [SLAVE_GLM] = &qhs_glm, 15832d1f95abSOdelu Kukatla [SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg, 15842d1f95abSOdelu Kukatla [SLAVE_IMEM_CFG] = &qhs_imem_cfg, 15852d1f95abSOdelu Kukatla [SLAVE_IPA_CFG] = &qhs_ipa, 15862d1f95abSOdelu Kukatla [SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg, 15872d1f95abSOdelu Kukatla [SLAVE_CNOC_MSS] = &qhs_mss_cfg, 15882d1f95abSOdelu Kukatla [SLAVE_NPU_CFG] = &qhs_npu_cfg, 15892d1f95abSOdelu Kukatla [SLAVE_NPU_DMA_BWMON_CFG] = &qhs_npu_dma_throttle_cfg, 15902d1f95abSOdelu Kukatla [SLAVE_NPU_PROC_BWMON_CFG] = &qhs_npu_dsp_throttle_cfg, 15912d1f95abSOdelu Kukatla [SLAVE_PDM] = &qhs_pdm, 15922d1f95abSOdelu Kukatla [SLAVE_PIMEM_CFG] = &qhs_pimem_cfg, 15932d1f95abSOdelu Kukatla [SLAVE_PRNG] = &qhs_prng, 15942d1f95abSOdelu Kukatla [SLAVE_QDSS_CFG] = &qhs_qdss_cfg, 15952d1f95abSOdelu Kukatla [SLAVE_QM_CFG] = &qhs_qm_cfg, 15962d1f95abSOdelu Kukatla [SLAVE_QM_MPU_CFG] = &qhs_qm_mpu_cfg, 15972d1f95abSOdelu Kukatla [SLAVE_QSPI_0] = &qhs_qspi, 15982d1f95abSOdelu Kukatla [SLAVE_QUP_0] = &qhs_qup0, 15992d1f95abSOdelu Kukatla [SLAVE_QUP_1] = &qhs_qup1, 16002d1f95abSOdelu Kukatla [SLAVE_SDCC_2] = &qhs_sdc2, 16012d1f95abSOdelu Kukatla [SLAVE_SECURITY] = &qhs_security, 16022d1f95abSOdelu Kukatla [SLAVE_SNOC_CFG] = &qhs_snoc_cfg, 16032d1f95abSOdelu Kukatla [SLAVE_TCSR] = &qhs_tcsr, 16042d1f95abSOdelu Kukatla [SLAVE_TLMM_WEST] = &qhs_tlmm_1, 16052d1f95abSOdelu Kukatla [SLAVE_TLMM_NORTH] = &qhs_tlmm_2, 16062d1f95abSOdelu Kukatla [SLAVE_TLMM_SOUTH] = &qhs_tlmm_3, 16072d1f95abSOdelu Kukatla [SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg, 16082d1f95abSOdelu Kukatla [SLAVE_USB3] = &qhs_usb3, 16092d1f95abSOdelu Kukatla [SLAVE_VENUS_CFG] = &qhs_venus_cfg, 16102d1f95abSOdelu Kukatla [SLAVE_VENUS_THROTTLE_CFG] = &qhs_venus_throttle_cfg, 16112d1f95abSOdelu Kukatla [SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg, 16122d1f95abSOdelu Kukatla [SLAVE_SERVICE_CNOC] = &srvc_cnoc, 16132d1f95abSOdelu Kukatla }; 16142d1f95abSOdelu Kukatla 16151625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_config_noc = { 16162d1f95abSOdelu Kukatla .nodes = config_noc_nodes, 16172d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(config_noc_nodes), 16182d1f95abSOdelu Kukatla .bcms = config_noc_bcms, 16192d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(config_noc_bcms), 16202d1f95abSOdelu Kukatla }; 16212d1f95abSOdelu Kukatla 16222ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = { 16232d1f95abSOdelu Kukatla [MASTER_CNOC_DC_NOC] = &qhm_cnoc_dc_noc, 16242d1f95abSOdelu Kukatla [SLAVE_GEM_NOC_CFG] = &qhs_gemnoc, 16252d1f95abSOdelu Kukatla [SLAVE_LLCC_CFG] = &qhs_llcc, 16262d1f95abSOdelu Kukatla }; 16272d1f95abSOdelu Kukatla 16281625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_dc_noc = { 16292d1f95abSOdelu Kukatla .nodes = dc_noc_nodes, 16302d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(dc_noc_nodes), 16312d1f95abSOdelu Kukatla }; 16322d1f95abSOdelu Kukatla 16337123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gem_noc_bcms[] = { 16342d1f95abSOdelu Kukatla &bcm_sh0, 16352d1f95abSOdelu Kukatla &bcm_sh2, 16362d1f95abSOdelu Kukatla &bcm_sh3, 16372d1f95abSOdelu Kukatla &bcm_sh4, 16382d1f95abSOdelu Kukatla }; 16392d1f95abSOdelu Kukatla 16402ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gem_noc_nodes[] = { 16412d1f95abSOdelu Kukatla [MASTER_APPSS_PROC] = &acm_apps0, 16422d1f95abSOdelu Kukatla [MASTER_SYS_TCU] = &acm_sys_tcu, 16432d1f95abSOdelu Kukatla [MASTER_GEM_NOC_CFG] = &qhm_gemnoc_cfg, 16442d1f95abSOdelu Kukatla [MASTER_COMPUTE_NOC] = &qnm_cmpnoc, 16452d1f95abSOdelu Kukatla [MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf, 16462d1f95abSOdelu Kukatla [MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf, 16472d1f95abSOdelu Kukatla [MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc, 16482d1f95abSOdelu Kukatla [MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf, 16492d1f95abSOdelu Kukatla [MASTER_GFX3D] = &qxm_gpu, 16502d1f95abSOdelu Kukatla [SLAVE_MSS_PROC_MS_MPU_CFG] = &qhs_mdsp_ms_mpu_cfg, 16512d1f95abSOdelu Kukatla [SLAVE_GEM_NOC_SNOC] = &qns_gem_noc_snoc, 16522d1f95abSOdelu Kukatla [SLAVE_LLCC] = &qns_llcc, 16532d1f95abSOdelu Kukatla [SLAVE_SERVICE_GEM_NOC] = &srvc_gemnoc, 16542d1f95abSOdelu Kukatla }; 16552d1f95abSOdelu Kukatla 16561625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_gem_noc = { 16572d1f95abSOdelu Kukatla .nodes = gem_noc_nodes, 16582d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(gem_noc_nodes), 16592d1f95abSOdelu Kukatla .bcms = gem_noc_bcms, 16602d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(gem_noc_bcms), 16612d1f95abSOdelu Kukatla }; 16622d1f95abSOdelu Kukatla 1663f24227a6SKrzysztof Kozlowski static struct qcom_icc_bcm * const mc_virt_bcms[] = { 16642d1f95abSOdelu Kukatla &bcm_acv, 16652d1f95abSOdelu Kukatla &bcm_mc0, 16662d1f95abSOdelu Kukatla }; 16672d1f95abSOdelu Kukatla 16682ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mc_virt_nodes[] = { 16692d1f95abSOdelu Kukatla [MASTER_LLCC] = &llcc_mc, 16702d1f95abSOdelu Kukatla [SLAVE_EBI1] = &ebi, 16712d1f95abSOdelu Kukatla }; 16722d1f95abSOdelu Kukatla 16731625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_mc_virt = { 16742d1f95abSOdelu Kukatla .nodes = mc_virt_nodes, 16752d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(mc_virt_nodes), 16762d1f95abSOdelu Kukatla .bcms = mc_virt_bcms, 16772d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(mc_virt_bcms), 16782d1f95abSOdelu Kukatla }; 16792d1f95abSOdelu Kukatla 16807123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = { 16812d1f95abSOdelu Kukatla &bcm_mm0, 16822d1f95abSOdelu Kukatla &bcm_mm1, 16832d1f95abSOdelu Kukatla &bcm_mm2, 16842d1f95abSOdelu Kukatla }; 16852d1f95abSOdelu Kukatla 16862ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = { 16872d1f95abSOdelu Kukatla [MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg, 16882d1f95abSOdelu Kukatla [MASTER_CAMNOC_HF0] = &qxm_camnoc_hf0, 16892d1f95abSOdelu Kukatla [MASTER_CAMNOC_HF1] = &qxm_camnoc_hf1, 16902d1f95abSOdelu Kukatla [MASTER_CAMNOC_SF] = &qxm_camnoc_sf, 16912d1f95abSOdelu Kukatla [MASTER_MDP0] = &qxm_mdp0, 16922d1f95abSOdelu Kukatla [MASTER_ROTATOR] = &qxm_rot, 16932d1f95abSOdelu Kukatla [MASTER_VIDEO_P0] = &qxm_venus0, 16942d1f95abSOdelu Kukatla [MASTER_VIDEO_PROC] = &qxm_venus_arm9, 16952d1f95abSOdelu Kukatla [SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf, 16962d1f95abSOdelu Kukatla [SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf, 16972d1f95abSOdelu Kukatla [SLAVE_SERVICE_MNOC] = &srvc_mnoc, 16982d1f95abSOdelu Kukatla }; 16992d1f95abSOdelu Kukatla 17001625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_mmss_noc = { 17012d1f95abSOdelu Kukatla .nodes = mmss_noc_nodes, 17022d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(mmss_noc_nodes), 17032d1f95abSOdelu Kukatla .bcms = mmss_noc_bcms, 17042d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(mmss_noc_bcms), 17052d1f95abSOdelu Kukatla }; 17062d1f95abSOdelu Kukatla 17072ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const npu_noc_nodes[] = { 17082d1f95abSOdelu Kukatla [MASTER_NPU_SYS] = &amm_npu_sys, 17092d1f95abSOdelu Kukatla [MASTER_NPU_NOC_CFG] = &qhm_npu_cfg, 17102d1f95abSOdelu Kukatla [SLAVE_NPU_CAL_DP0] = &qhs_cal_dp0, 17112d1f95abSOdelu Kukatla [SLAVE_NPU_CP] = &qhs_cp, 17122d1f95abSOdelu Kukatla [SLAVE_NPU_INT_DMA_BWMON_CFG] = &qhs_dma_bwmon, 17132d1f95abSOdelu Kukatla [SLAVE_NPU_DPM] = &qhs_dpm, 17142d1f95abSOdelu Kukatla [SLAVE_ISENSE_CFG] = &qhs_isense, 17152d1f95abSOdelu Kukatla [SLAVE_NPU_LLM_CFG] = &qhs_llm, 17162d1f95abSOdelu Kukatla [SLAVE_NPU_TCM] = &qhs_tcm, 17172d1f95abSOdelu Kukatla [SLAVE_NPU_COMPUTE_NOC] = &qns_npu_sys, 17182d1f95abSOdelu Kukatla [SLAVE_SERVICE_NPU_NOC] = &srvc_noc, 17192d1f95abSOdelu Kukatla }; 17202d1f95abSOdelu Kukatla 17211625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_npu_noc = { 17222d1f95abSOdelu Kukatla .nodes = npu_noc_nodes, 17232d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(npu_noc_nodes), 17242d1f95abSOdelu Kukatla }; 17252d1f95abSOdelu Kukatla 17267123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const qup_virt_bcms[] = { 17272d1f95abSOdelu Kukatla &bcm_qup0, 17282d1f95abSOdelu Kukatla }; 17292d1f95abSOdelu Kukatla 17302ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const qup_virt_nodes[] = { 17312d1f95abSOdelu Kukatla [MASTER_QUP_CORE_0] = &qup_core_master_1, 17322d1f95abSOdelu Kukatla [MASTER_QUP_CORE_1] = &qup_core_master_2, 17332d1f95abSOdelu Kukatla [SLAVE_QUP_CORE_0] = &qup_core_slave_1, 17342d1f95abSOdelu Kukatla [SLAVE_QUP_CORE_1] = &qup_core_slave_2, 17352d1f95abSOdelu Kukatla }; 17362d1f95abSOdelu Kukatla 17371625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_qup_virt = { 17382d1f95abSOdelu Kukatla .nodes = qup_virt_nodes, 17392d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(qup_virt_nodes), 17402d1f95abSOdelu Kukatla .bcms = qup_virt_bcms, 17412d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(qup_virt_bcms), 17422d1f95abSOdelu Kukatla }; 17432d1f95abSOdelu Kukatla 17447123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = { 17452d1f95abSOdelu Kukatla &bcm_sn0, 17462d1f95abSOdelu Kukatla &bcm_sn1, 17472d1f95abSOdelu Kukatla &bcm_sn2, 17482d1f95abSOdelu Kukatla &bcm_sn3, 17492d1f95abSOdelu Kukatla &bcm_sn4, 17502d1f95abSOdelu Kukatla &bcm_sn7, 17512d1f95abSOdelu Kukatla &bcm_sn9, 17522d1f95abSOdelu Kukatla &bcm_sn12, 17532d1f95abSOdelu Kukatla }; 17542d1f95abSOdelu Kukatla 17552ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = { 17562d1f95abSOdelu Kukatla [MASTER_SNOC_CFG] = &qhm_snoc_cfg, 17572d1f95abSOdelu Kukatla [MASTER_A1NOC_SNOC] = &qnm_aggre1_noc, 17582d1f95abSOdelu Kukatla [MASTER_A2NOC_SNOC] = &qnm_aggre2_noc, 17592d1f95abSOdelu Kukatla [MASTER_GEM_NOC_SNOC] = &qnm_gemnoc, 17602d1f95abSOdelu Kukatla [MASTER_PIMEM] = &qxm_pimem, 17612d1f95abSOdelu Kukatla [SLAVE_APPSS] = &qhs_apss, 17622d1f95abSOdelu Kukatla [SLAVE_SNOC_CNOC] = &qns_cnoc, 17632d1f95abSOdelu Kukatla [SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc, 17642d1f95abSOdelu Kukatla [SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf, 17652d1f95abSOdelu Kukatla [SLAVE_IMEM] = &qxs_imem, 17662d1f95abSOdelu Kukatla [SLAVE_PIMEM] = &qxs_pimem, 17672d1f95abSOdelu Kukatla [SLAVE_SERVICE_SNOC] = &srvc_snoc, 17682d1f95abSOdelu Kukatla [SLAVE_QDSS_STM] = &xs_qdss_stm, 17692d1f95abSOdelu Kukatla [SLAVE_TCU] = &xs_sys_tcu_cfg, 17702d1f95abSOdelu Kukatla }; 17712d1f95abSOdelu Kukatla 17721625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sc7180_system_noc = { 17732d1f95abSOdelu Kukatla .nodes = system_noc_nodes, 17742d1f95abSOdelu Kukatla .num_nodes = ARRAY_SIZE(system_noc_nodes), 17752d1f95abSOdelu Kukatla .bcms = system_noc_bcms, 17762d1f95abSOdelu Kukatla .num_bcms = ARRAY_SIZE(system_noc_bcms), 17772d1f95abSOdelu Kukatla }; 17782d1f95abSOdelu Kukatla 17792d1f95abSOdelu Kukatla static const struct of_device_id qnoc_of_match[] = { 17802d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-aggre1-noc", 17812d1f95abSOdelu Kukatla .data = &sc7180_aggre1_noc}, 17822d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-aggre2-noc", 17832d1f95abSOdelu Kukatla .data = &sc7180_aggre2_noc}, 17842d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-camnoc-virt", 17852d1f95abSOdelu Kukatla .data = &sc7180_camnoc_virt}, 17862d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-compute-noc", 17872d1f95abSOdelu Kukatla .data = &sc7180_compute_noc}, 17882d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-config-noc", 17892d1f95abSOdelu Kukatla .data = &sc7180_config_noc}, 17902d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-dc-noc", 17912d1f95abSOdelu Kukatla .data = &sc7180_dc_noc}, 17922d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-gem-noc", 17932d1f95abSOdelu Kukatla .data = &sc7180_gem_noc}, 17942d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-mc-virt", 17952d1f95abSOdelu Kukatla .data = &sc7180_mc_virt}, 17962d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-mmss-noc", 17972d1f95abSOdelu Kukatla .data = &sc7180_mmss_noc}, 17982d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-npu-noc", 17992d1f95abSOdelu Kukatla .data = &sc7180_npu_noc}, 18002d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-qup-virt", 18012d1f95abSOdelu Kukatla .data = &sc7180_qup_virt}, 18022d1f95abSOdelu Kukatla { .compatible = "qcom,sc7180-system-noc", 18032d1f95abSOdelu Kukatla .data = &sc7180_system_noc}, 18042d1f95abSOdelu Kukatla { } 18052d1f95abSOdelu Kukatla }; 18062d1f95abSOdelu Kukatla MODULE_DEVICE_TABLE(of, qnoc_of_match); 18072d1f95abSOdelu Kukatla 18082d1f95abSOdelu Kukatla static struct platform_driver qnoc_driver = { 1809789a39adSMike Tipton .probe = qcom_icc_rpmh_probe, 1810789a39adSMike Tipton .remove = qcom_icc_rpmh_remove, 18112d1f95abSOdelu Kukatla .driver = { 18122d1f95abSOdelu Kukatla .name = "qnoc-sc7180", 18132d1f95abSOdelu Kukatla .of_match_table = qnoc_of_match, 18147d3b0b0dSGeorgi Djakov .sync_state = icc_sync_state, 18152d1f95abSOdelu Kukatla }, 18162d1f95abSOdelu Kukatla }; 18172d1f95abSOdelu Kukatla module_platform_driver(qnoc_driver); 18182d1f95abSOdelu Kukatla 18192d1f95abSOdelu Kukatla MODULE_DESCRIPTION("Qualcomm SC7180 NoC driver"); 18202d1f95abSOdelu Kukatla MODULE_LICENSE("GPL v2"); 1821