1b5d2f741SDavid Dai // SPDX-License-Identifier: GPL-2.0 2b5d2f741SDavid Dai /* 3aae57773SDavid Dai * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 4b5d2f741SDavid Dai */ 5b5d2f741SDavid Dai 6b5d2f741SDavid Dai #include <linux/device.h> 7b5d2f741SDavid Dai #include <linux/interconnect.h> 8b5d2f741SDavid Dai #include <linux/interconnect-provider.h> 9b5d2f741SDavid Dai #include <linux/module.h> 10cff66aceSRob Herring #include <linux/mod_devicetable.h> 11cff66aceSRob Herring #include <linux/platform_device.h> 12b5d2f741SDavid Dai 13aae57773SDavid Dai #include <dt-bindings/interconnect/qcom,sdm845.h> 14b5d2f741SDavid Dai 15aae57773SDavid Dai #include "bcm-voter.h" 16aae57773SDavid Dai #include "icc-rpmh.h" 1778465b0dSSibi Sankar #include "sdm845.h" 18b5d2f741SDavid Dai 19664e8087SKonrad Dybcio static struct qcom_icc_node qhm_a1noc_cfg = { 20664e8087SKonrad Dybcio .name = "qhm_a1noc_cfg", 21664e8087SKonrad Dybcio .id = SDM845_MASTER_A1NOC_CFG, 22664e8087SKonrad Dybcio .channels = 1, 23664e8087SKonrad Dybcio .buswidth = 4, 24664e8087SKonrad Dybcio .num_links = 1, 25664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SERVICE_A1NOC }, 26664e8087SKonrad Dybcio }; 27664e8087SKonrad Dybcio 28664e8087SKonrad Dybcio static struct qcom_icc_node qhm_qup1 = { 29664e8087SKonrad Dybcio .name = "qhm_qup1", 30664e8087SKonrad Dybcio .id = SDM845_MASTER_BLSP_1, 31664e8087SKonrad Dybcio .channels = 1, 32664e8087SKonrad Dybcio .buswidth = 4, 33664e8087SKonrad Dybcio .num_links = 1, 34664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_SNOC }, 35664e8087SKonrad Dybcio }; 36664e8087SKonrad Dybcio 37664e8087SKonrad Dybcio static struct qcom_icc_node qhm_tsif = { 38664e8087SKonrad Dybcio .name = "qhm_tsif", 39664e8087SKonrad Dybcio .id = SDM845_MASTER_TSIF, 40664e8087SKonrad Dybcio .channels = 1, 41664e8087SKonrad Dybcio .buswidth = 4, 42664e8087SKonrad Dybcio .num_links = 1, 43664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_SNOC }, 44664e8087SKonrad Dybcio }; 45664e8087SKonrad Dybcio 46664e8087SKonrad Dybcio static struct qcom_icc_node xm_sdc2 = { 47664e8087SKonrad Dybcio .name = "xm_sdc2", 48664e8087SKonrad Dybcio .id = SDM845_MASTER_SDCC_2, 49664e8087SKonrad Dybcio .channels = 1, 50664e8087SKonrad Dybcio .buswidth = 8, 51664e8087SKonrad Dybcio .num_links = 1, 52664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_SNOC }, 53664e8087SKonrad Dybcio }; 54664e8087SKonrad Dybcio 55664e8087SKonrad Dybcio static struct qcom_icc_node xm_sdc4 = { 56664e8087SKonrad Dybcio .name = "xm_sdc4", 57664e8087SKonrad Dybcio .id = SDM845_MASTER_SDCC_4, 58664e8087SKonrad Dybcio .channels = 1, 59664e8087SKonrad Dybcio .buswidth = 8, 60664e8087SKonrad Dybcio .num_links = 1, 61664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_SNOC }, 62664e8087SKonrad Dybcio }; 63664e8087SKonrad Dybcio 64664e8087SKonrad Dybcio static struct qcom_icc_node xm_ufs_card = { 65664e8087SKonrad Dybcio .name = "xm_ufs_card", 66664e8087SKonrad Dybcio .id = SDM845_MASTER_UFS_CARD, 67664e8087SKonrad Dybcio .channels = 1, 68664e8087SKonrad Dybcio .buswidth = 8, 69664e8087SKonrad Dybcio .num_links = 1, 70664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_SNOC }, 71664e8087SKonrad Dybcio }; 72664e8087SKonrad Dybcio 73664e8087SKonrad Dybcio static struct qcom_icc_node xm_ufs_mem = { 74664e8087SKonrad Dybcio .name = "xm_ufs_mem", 75664e8087SKonrad Dybcio .id = SDM845_MASTER_UFS_MEM, 76664e8087SKonrad Dybcio .channels = 1, 77664e8087SKonrad Dybcio .buswidth = 8, 78664e8087SKonrad Dybcio .num_links = 1, 79664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_SNOC }, 80664e8087SKonrad Dybcio }; 81664e8087SKonrad Dybcio 82664e8087SKonrad Dybcio static struct qcom_icc_node xm_pcie_0 = { 83664e8087SKonrad Dybcio .name = "xm_pcie_0", 84664e8087SKonrad Dybcio .id = SDM845_MASTER_PCIE_0, 85664e8087SKonrad Dybcio .channels = 1, 86664e8087SKonrad Dybcio .buswidth = 8, 87664e8087SKonrad Dybcio .num_links = 1, 88664e8087SKonrad Dybcio .links = { SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC }, 89664e8087SKonrad Dybcio }; 90664e8087SKonrad Dybcio 91664e8087SKonrad Dybcio static struct qcom_icc_node qhm_a2noc_cfg = { 92664e8087SKonrad Dybcio .name = "qhm_a2noc_cfg", 93664e8087SKonrad Dybcio .id = SDM845_MASTER_A2NOC_CFG, 94664e8087SKonrad Dybcio .channels = 1, 95664e8087SKonrad Dybcio .buswidth = 4, 96664e8087SKonrad Dybcio .num_links = 1, 97664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SERVICE_A2NOC }, 98664e8087SKonrad Dybcio }; 99664e8087SKonrad Dybcio 100664e8087SKonrad Dybcio static struct qcom_icc_node qhm_qdss_bam = { 101664e8087SKonrad Dybcio .name = "qhm_qdss_bam", 102664e8087SKonrad Dybcio .id = SDM845_MASTER_QDSS_BAM, 103664e8087SKonrad Dybcio .channels = 1, 104664e8087SKonrad Dybcio .buswidth = 4, 105664e8087SKonrad Dybcio .num_links = 1, 106664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 107664e8087SKonrad Dybcio }; 108664e8087SKonrad Dybcio 109664e8087SKonrad Dybcio static struct qcom_icc_node qhm_qup2 = { 110664e8087SKonrad Dybcio .name = "qhm_qup2", 111664e8087SKonrad Dybcio .id = SDM845_MASTER_BLSP_2, 112664e8087SKonrad Dybcio .channels = 1, 113664e8087SKonrad Dybcio .buswidth = 4, 114664e8087SKonrad Dybcio .num_links = 1, 115664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 116664e8087SKonrad Dybcio }; 117664e8087SKonrad Dybcio 118664e8087SKonrad Dybcio static struct qcom_icc_node qnm_cnoc = { 119664e8087SKonrad Dybcio .name = "qnm_cnoc", 120664e8087SKonrad Dybcio .id = SDM845_MASTER_CNOC_A2NOC, 121664e8087SKonrad Dybcio .channels = 1, 122664e8087SKonrad Dybcio .buswidth = 8, 123664e8087SKonrad Dybcio .num_links = 1, 124664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 125664e8087SKonrad Dybcio }; 126664e8087SKonrad Dybcio 127664e8087SKonrad Dybcio static struct qcom_icc_node qxm_crypto = { 128664e8087SKonrad Dybcio .name = "qxm_crypto", 129664e8087SKonrad Dybcio .id = SDM845_MASTER_CRYPTO, 130664e8087SKonrad Dybcio .channels = 1, 131664e8087SKonrad Dybcio .buswidth = 8, 132664e8087SKonrad Dybcio .num_links = 1, 133664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 134664e8087SKonrad Dybcio }; 135664e8087SKonrad Dybcio 136664e8087SKonrad Dybcio static struct qcom_icc_node qxm_ipa = { 137664e8087SKonrad Dybcio .name = "qxm_ipa", 138664e8087SKonrad Dybcio .id = SDM845_MASTER_IPA, 139664e8087SKonrad Dybcio .channels = 1, 140664e8087SKonrad Dybcio .buswidth = 8, 141664e8087SKonrad Dybcio .num_links = 1, 142664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 143664e8087SKonrad Dybcio }; 144664e8087SKonrad Dybcio 145664e8087SKonrad Dybcio static struct qcom_icc_node xm_pcie3_1 = { 146664e8087SKonrad Dybcio .name = "xm_pcie3_1", 147664e8087SKonrad Dybcio .id = SDM845_MASTER_PCIE_1, 148664e8087SKonrad Dybcio .channels = 1, 149664e8087SKonrad Dybcio .buswidth = 8, 150664e8087SKonrad Dybcio .num_links = 1, 151664e8087SKonrad Dybcio .links = { SDM845_SLAVE_ANOC_PCIE_SNOC }, 152664e8087SKonrad Dybcio }; 153664e8087SKonrad Dybcio 154664e8087SKonrad Dybcio static struct qcom_icc_node xm_qdss_etr = { 155664e8087SKonrad Dybcio .name = "xm_qdss_etr", 156664e8087SKonrad Dybcio .id = SDM845_MASTER_QDSS_ETR, 157664e8087SKonrad Dybcio .channels = 1, 158664e8087SKonrad Dybcio .buswidth = 8, 159664e8087SKonrad Dybcio .num_links = 1, 160664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 161664e8087SKonrad Dybcio }; 162664e8087SKonrad Dybcio 163664e8087SKonrad Dybcio static struct qcom_icc_node xm_usb3_0 = { 164664e8087SKonrad Dybcio .name = "xm_usb3_0", 165664e8087SKonrad Dybcio .id = SDM845_MASTER_USB3_0, 166664e8087SKonrad Dybcio .channels = 1, 167664e8087SKonrad Dybcio .buswidth = 8, 168664e8087SKonrad Dybcio .num_links = 1, 169664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 170664e8087SKonrad Dybcio }; 171664e8087SKonrad Dybcio 172664e8087SKonrad Dybcio static struct qcom_icc_node xm_usb3_1 = { 173664e8087SKonrad Dybcio .name = "xm_usb3_1", 174664e8087SKonrad Dybcio .id = SDM845_MASTER_USB3_1, 175664e8087SKonrad Dybcio .channels = 1, 176664e8087SKonrad Dybcio .buswidth = 8, 177664e8087SKonrad Dybcio .num_links = 1, 178664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A2NOC_SNOC }, 179664e8087SKonrad Dybcio }; 180664e8087SKonrad Dybcio 181664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0_uncomp = { 182664e8087SKonrad Dybcio .name = "qxm_camnoc_hf0_uncomp", 183664e8087SKonrad Dybcio .id = SDM845_MASTER_CAMNOC_HF0_UNCOMP, 184664e8087SKonrad Dybcio .channels = 1, 185664e8087SKonrad Dybcio .buswidth = 32, 186664e8087SKonrad Dybcio .num_links = 1, 187664e8087SKonrad Dybcio .links = { SDM845_SLAVE_CAMNOC_UNCOMP }, 188664e8087SKonrad Dybcio }; 189664e8087SKonrad Dybcio 190664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1_uncomp = { 191664e8087SKonrad Dybcio .name = "qxm_camnoc_hf1_uncomp", 192664e8087SKonrad Dybcio .id = SDM845_MASTER_CAMNOC_HF1_UNCOMP, 193664e8087SKonrad Dybcio .channels = 1, 194664e8087SKonrad Dybcio .buswidth = 32, 195664e8087SKonrad Dybcio .num_links = 1, 196664e8087SKonrad Dybcio .links = { SDM845_SLAVE_CAMNOC_UNCOMP }, 197664e8087SKonrad Dybcio }; 198664e8087SKonrad Dybcio 199664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf_uncomp = { 200664e8087SKonrad Dybcio .name = "qxm_camnoc_sf_uncomp", 201664e8087SKonrad Dybcio .id = SDM845_MASTER_CAMNOC_SF_UNCOMP, 202664e8087SKonrad Dybcio .channels = 1, 203664e8087SKonrad Dybcio .buswidth = 32, 204664e8087SKonrad Dybcio .num_links = 1, 205664e8087SKonrad Dybcio .links = { SDM845_SLAVE_CAMNOC_UNCOMP }, 206664e8087SKonrad Dybcio }; 207664e8087SKonrad Dybcio 208664e8087SKonrad Dybcio static struct qcom_icc_node qhm_spdm = { 209664e8087SKonrad Dybcio .name = "qhm_spdm", 210664e8087SKonrad Dybcio .id = SDM845_MASTER_SPDM, 211664e8087SKonrad Dybcio .channels = 1, 212664e8087SKonrad Dybcio .buswidth = 4, 213664e8087SKonrad Dybcio .num_links = 1, 214664e8087SKonrad Dybcio .links = { SDM845_SLAVE_CNOC_A2NOC }, 215664e8087SKonrad Dybcio }; 216664e8087SKonrad Dybcio 217664e8087SKonrad Dybcio static struct qcom_icc_node qhm_tic = { 218664e8087SKonrad Dybcio .name = "qhm_tic", 219664e8087SKonrad Dybcio .id = SDM845_MASTER_TIC, 220664e8087SKonrad Dybcio .channels = 1, 221664e8087SKonrad Dybcio .buswidth = 4, 222664e8087SKonrad Dybcio .num_links = 43, 223664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_CFG, 224664e8087SKonrad Dybcio SDM845_SLAVE_A2NOC_CFG, 225664e8087SKonrad Dybcio SDM845_SLAVE_AOP, 226664e8087SKonrad Dybcio SDM845_SLAVE_AOSS, 227664e8087SKonrad Dybcio SDM845_SLAVE_CAMERA_CFG, 228664e8087SKonrad Dybcio SDM845_SLAVE_CLK_CTL, 229664e8087SKonrad Dybcio SDM845_SLAVE_CDSP_CFG, 230664e8087SKonrad Dybcio SDM845_SLAVE_RBCPR_CX_CFG, 231664e8087SKonrad Dybcio SDM845_SLAVE_CRYPTO_0_CFG, 232664e8087SKonrad Dybcio SDM845_SLAVE_DCC_CFG, 233664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_DDRSS, 234664e8087SKonrad Dybcio SDM845_SLAVE_DISPLAY_CFG, 235664e8087SKonrad Dybcio SDM845_SLAVE_GLM, 236664e8087SKonrad Dybcio SDM845_SLAVE_GFX3D_CFG, 237664e8087SKonrad Dybcio SDM845_SLAVE_IMEM_CFG, 238664e8087SKonrad Dybcio SDM845_SLAVE_IPA_CFG, 239664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_MNOC_CFG, 240664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_0_CFG, 241664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_1_CFG, 242664e8087SKonrad Dybcio SDM845_SLAVE_PDM, 243664e8087SKonrad Dybcio SDM845_SLAVE_SOUTH_PHY_CFG, 244664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM_CFG, 245664e8087SKonrad Dybcio SDM845_SLAVE_PRNG, 246664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_CFG, 247664e8087SKonrad Dybcio SDM845_SLAVE_BLSP_2, 248664e8087SKonrad Dybcio SDM845_SLAVE_BLSP_1, 249664e8087SKonrad Dybcio SDM845_SLAVE_SDCC_2, 250664e8087SKonrad Dybcio SDM845_SLAVE_SDCC_4, 251664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CFG, 252664e8087SKonrad Dybcio SDM845_SLAVE_SPDM_WRAPPER, 253664e8087SKonrad Dybcio SDM845_SLAVE_SPSS_CFG, 254664e8087SKonrad Dybcio SDM845_SLAVE_TCSR, 255664e8087SKonrad Dybcio SDM845_SLAVE_TLMM_NORTH, 256664e8087SKonrad Dybcio SDM845_SLAVE_TLMM_SOUTH, 257664e8087SKonrad Dybcio SDM845_SLAVE_TSIF, 258664e8087SKonrad Dybcio SDM845_SLAVE_UFS_CARD_CFG, 259664e8087SKonrad Dybcio SDM845_SLAVE_UFS_MEM_CFG, 260664e8087SKonrad Dybcio SDM845_SLAVE_USB3_0, 261664e8087SKonrad Dybcio SDM845_SLAVE_USB3_1, 262664e8087SKonrad Dybcio SDM845_SLAVE_VENUS_CFG, 263664e8087SKonrad Dybcio SDM845_SLAVE_VSENSE_CTRL_CFG, 264664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_A2NOC, 265664e8087SKonrad Dybcio SDM845_SLAVE_SERVICE_CNOC 266664e8087SKonrad Dybcio }, 267664e8087SKonrad Dybcio }; 268664e8087SKonrad Dybcio 269664e8087SKonrad Dybcio static struct qcom_icc_node qnm_snoc = { 270664e8087SKonrad Dybcio .name = "qnm_snoc", 271664e8087SKonrad Dybcio .id = SDM845_MASTER_SNOC_CNOC, 272664e8087SKonrad Dybcio .channels = 1, 273664e8087SKonrad Dybcio .buswidth = 8, 274664e8087SKonrad Dybcio .num_links = 42, 275664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_CFG, 276664e8087SKonrad Dybcio SDM845_SLAVE_A2NOC_CFG, 277664e8087SKonrad Dybcio SDM845_SLAVE_AOP, 278664e8087SKonrad Dybcio SDM845_SLAVE_AOSS, 279664e8087SKonrad Dybcio SDM845_SLAVE_CAMERA_CFG, 280664e8087SKonrad Dybcio SDM845_SLAVE_CLK_CTL, 281664e8087SKonrad Dybcio SDM845_SLAVE_CDSP_CFG, 282664e8087SKonrad Dybcio SDM845_SLAVE_RBCPR_CX_CFG, 283664e8087SKonrad Dybcio SDM845_SLAVE_CRYPTO_0_CFG, 284664e8087SKonrad Dybcio SDM845_SLAVE_DCC_CFG, 285664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_DDRSS, 286664e8087SKonrad Dybcio SDM845_SLAVE_DISPLAY_CFG, 287664e8087SKonrad Dybcio SDM845_SLAVE_GLM, 288664e8087SKonrad Dybcio SDM845_SLAVE_GFX3D_CFG, 289664e8087SKonrad Dybcio SDM845_SLAVE_IMEM_CFG, 290664e8087SKonrad Dybcio SDM845_SLAVE_IPA_CFG, 291664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_MNOC_CFG, 292664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_0_CFG, 293664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_1_CFG, 294664e8087SKonrad Dybcio SDM845_SLAVE_PDM, 295664e8087SKonrad Dybcio SDM845_SLAVE_SOUTH_PHY_CFG, 296664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM_CFG, 297664e8087SKonrad Dybcio SDM845_SLAVE_PRNG, 298664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_CFG, 299664e8087SKonrad Dybcio SDM845_SLAVE_BLSP_2, 300664e8087SKonrad Dybcio SDM845_SLAVE_BLSP_1, 301664e8087SKonrad Dybcio SDM845_SLAVE_SDCC_2, 302664e8087SKonrad Dybcio SDM845_SLAVE_SDCC_4, 303664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CFG, 304664e8087SKonrad Dybcio SDM845_SLAVE_SPDM_WRAPPER, 305664e8087SKonrad Dybcio SDM845_SLAVE_SPSS_CFG, 306664e8087SKonrad Dybcio SDM845_SLAVE_TCSR, 307664e8087SKonrad Dybcio SDM845_SLAVE_TLMM_NORTH, 308664e8087SKonrad Dybcio SDM845_SLAVE_TLMM_SOUTH, 309664e8087SKonrad Dybcio SDM845_SLAVE_TSIF, 310664e8087SKonrad Dybcio SDM845_SLAVE_UFS_CARD_CFG, 311664e8087SKonrad Dybcio SDM845_SLAVE_UFS_MEM_CFG, 312664e8087SKonrad Dybcio SDM845_SLAVE_USB3_0, 313664e8087SKonrad Dybcio SDM845_SLAVE_USB3_1, 314664e8087SKonrad Dybcio SDM845_SLAVE_VENUS_CFG, 315664e8087SKonrad Dybcio SDM845_SLAVE_VSENSE_CTRL_CFG, 316664e8087SKonrad Dybcio SDM845_SLAVE_SERVICE_CNOC 317664e8087SKonrad Dybcio }, 318664e8087SKonrad Dybcio }; 319664e8087SKonrad Dybcio 320664e8087SKonrad Dybcio static struct qcom_icc_node xm_qdss_dap = { 321664e8087SKonrad Dybcio .name = "xm_qdss_dap", 322664e8087SKonrad Dybcio .id = SDM845_MASTER_QDSS_DAP, 323664e8087SKonrad Dybcio .channels = 1, 324664e8087SKonrad Dybcio .buswidth = 8, 325664e8087SKonrad Dybcio .num_links = 43, 326664e8087SKonrad Dybcio .links = { SDM845_SLAVE_A1NOC_CFG, 327664e8087SKonrad Dybcio SDM845_SLAVE_A2NOC_CFG, 328664e8087SKonrad Dybcio SDM845_SLAVE_AOP, 329664e8087SKonrad Dybcio SDM845_SLAVE_AOSS, 330664e8087SKonrad Dybcio SDM845_SLAVE_CAMERA_CFG, 331664e8087SKonrad Dybcio SDM845_SLAVE_CLK_CTL, 332664e8087SKonrad Dybcio SDM845_SLAVE_CDSP_CFG, 333664e8087SKonrad Dybcio SDM845_SLAVE_RBCPR_CX_CFG, 334664e8087SKonrad Dybcio SDM845_SLAVE_CRYPTO_0_CFG, 335664e8087SKonrad Dybcio SDM845_SLAVE_DCC_CFG, 336664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_DDRSS, 337664e8087SKonrad Dybcio SDM845_SLAVE_DISPLAY_CFG, 338664e8087SKonrad Dybcio SDM845_SLAVE_GLM, 339664e8087SKonrad Dybcio SDM845_SLAVE_GFX3D_CFG, 340664e8087SKonrad Dybcio SDM845_SLAVE_IMEM_CFG, 341664e8087SKonrad Dybcio SDM845_SLAVE_IPA_CFG, 342664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_MNOC_CFG, 343664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_0_CFG, 344664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_1_CFG, 345664e8087SKonrad Dybcio SDM845_SLAVE_PDM, 346664e8087SKonrad Dybcio SDM845_SLAVE_SOUTH_PHY_CFG, 347664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM_CFG, 348664e8087SKonrad Dybcio SDM845_SLAVE_PRNG, 349664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_CFG, 350664e8087SKonrad Dybcio SDM845_SLAVE_BLSP_2, 351664e8087SKonrad Dybcio SDM845_SLAVE_BLSP_1, 352664e8087SKonrad Dybcio SDM845_SLAVE_SDCC_2, 353664e8087SKonrad Dybcio SDM845_SLAVE_SDCC_4, 354664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CFG, 355664e8087SKonrad Dybcio SDM845_SLAVE_SPDM_WRAPPER, 356664e8087SKonrad Dybcio SDM845_SLAVE_SPSS_CFG, 357664e8087SKonrad Dybcio SDM845_SLAVE_TCSR, 358664e8087SKonrad Dybcio SDM845_SLAVE_TLMM_NORTH, 359664e8087SKonrad Dybcio SDM845_SLAVE_TLMM_SOUTH, 360664e8087SKonrad Dybcio SDM845_SLAVE_TSIF, 361664e8087SKonrad Dybcio SDM845_SLAVE_UFS_CARD_CFG, 362664e8087SKonrad Dybcio SDM845_SLAVE_UFS_MEM_CFG, 363664e8087SKonrad Dybcio SDM845_SLAVE_USB3_0, 364664e8087SKonrad Dybcio SDM845_SLAVE_USB3_1, 365664e8087SKonrad Dybcio SDM845_SLAVE_VENUS_CFG, 366664e8087SKonrad Dybcio SDM845_SLAVE_VSENSE_CTRL_CFG, 367664e8087SKonrad Dybcio SDM845_SLAVE_CNOC_A2NOC, 368664e8087SKonrad Dybcio SDM845_SLAVE_SERVICE_CNOC 369664e8087SKonrad Dybcio }, 370664e8087SKonrad Dybcio }; 371664e8087SKonrad Dybcio 372664e8087SKonrad Dybcio static struct qcom_icc_node qhm_cnoc = { 373664e8087SKonrad Dybcio .name = "qhm_cnoc", 374664e8087SKonrad Dybcio .id = SDM845_MASTER_CNOC_DC_NOC, 375664e8087SKonrad Dybcio .channels = 1, 376664e8087SKonrad Dybcio .buswidth = 4, 377664e8087SKonrad Dybcio .num_links = 2, 378664e8087SKonrad Dybcio .links = { SDM845_SLAVE_LLCC_CFG, 379664e8087SKonrad Dybcio SDM845_SLAVE_MEM_NOC_CFG 380664e8087SKonrad Dybcio }, 381664e8087SKonrad Dybcio }; 382664e8087SKonrad Dybcio 383664e8087SKonrad Dybcio static struct qcom_icc_node acm_l3 = { 384664e8087SKonrad Dybcio .name = "acm_l3", 385664e8087SKonrad Dybcio .id = SDM845_MASTER_APPSS_PROC, 386664e8087SKonrad Dybcio .channels = 1, 387664e8087SKonrad Dybcio .buswidth = 16, 388664e8087SKonrad Dybcio .num_links = 3, 389664e8087SKonrad Dybcio .links = { SDM845_SLAVE_GNOC_SNOC, 390664e8087SKonrad Dybcio SDM845_SLAVE_GNOC_MEM_NOC, 391664e8087SKonrad Dybcio SDM845_SLAVE_SERVICE_GNOC 392664e8087SKonrad Dybcio }, 393664e8087SKonrad Dybcio }; 394664e8087SKonrad Dybcio 395664e8087SKonrad Dybcio static struct qcom_icc_node pm_gnoc_cfg = { 396664e8087SKonrad Dybcio .name = "pm_gnoc_cfg", 397664e8087SKonrad Dybcio .id = SDM845_MASTER_GNOC_CFG, 398664e8087SKonrad Dybcio .channels = 1, 399664e8087SKonrad Dybcio .buswidth = 4, 400664e8087SKonrad Dybcio .num_links = 1, 401664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SERVICE_GNOC }, 402664e8087SKonrad Dybcio }; 403664e8087SKonrad Dybcio 404664e8087SKonrad Dybcio static struct qcom_icc_node llcc_mc = { 405664e8087SKonrad Dybcio .name = "llcc_mc", 406664e8087SKonrad Dybcio .id = SDM845_MASTER_LLCC, 407664e8087SKonrad Dybcio .channels = 4, 408664e8087SKonrad Dybcio .buswidth = 4, 409664e8087SKonrad Dybcio .num_links = 1, 410664e8087SKonrad Dybcio .links = { SDM845_SLAVE_EBI1 }, 411664e8087SKonrad Dybcio }; 412664e8087SKonrad Dybcio 413664e8087SKonrad Dybcio static struct qcom_icc_node acm_tcu = { 414664e8087SKonrad Dybcio .name = "acm_tcu", 415664e8087SKonrad Dybcio .id = SDM845_MASTER_TCU_0, 416664e8087SKonrad Dybcio .channels = 1, 417664e8087SKonrad Dybcio .buswidth = 8, 418664e8087SKonrad Dybcio .num_links = 3, 419664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MEM_NOC_GNOC, 420664e8087SKonrad Dybcio SDM845_SLAVE_LLCC, 421664e8087SKonrad Dybcio SDM845_SLAVE_MEM_NOC_SNOC 422664e8087SKonrad Dybcio }, 423664e8087SKonrad Dybcio }; 424664e8087SKonrad Dybcio 425664e8087SKonrad Dybcio static struct qcom_icc_node qhm_memnoc_cfg = { 426664e8087SKonrad Dybcio .name = "qhm_memnoc_cfg", 427664e8087SKonrad Dybcio .id = SDM845_MASTER_MEM_NOC_CFG, 428664e8087SKonrad Dybcio .channels = 1, 429664e8087SKonrad Dybcio .buswidth = 4, 430664e8087SKonrad Dybcio .num_links = 2, 431664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MSS_PROC_MS_MPU_CFG, 432664e8087SKonrad Dybcio SDM845_SLAVE_SERVICE_MEM_NOC 433664e8087SKonrad Dybcio }, 434664e8087SKonrad Dybcio }; 435664e8087SKonrad Dybcio 436664e8087SKonrad Dybcio static struct qcom_icc_node qnm_apps = { 437664e8087SKonrad Dybcio .name = "qnm_apps", 438664e8087SKonrad Dybcio .id = SDM845_MASTER_GNOC_MEM_NOC, 439664e8087SKonrad Dybcio .channels = 2, 440664e8087SKonrad Dybcio .buswidth = 32, 441664e8087SKonrad Dybcio .num_links = 1, 442664e8087SKonrad Dybcio .links = { SDM845_SLAVE_LLCC }, 443664e8087SKonrad Dybcio }; 444664e8087SKonrad Dybcio 445664e8087SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_hf = { 446664e8087SKonrad Dybcio .name = "qnm_mnoc_hf", 447664e8087SKonrad Dybcio .id = SDM845_MASTER_MNOC_HF_MEM_NOC, 448664e8087SKonrad Dybcio .channels = 2, 449664e8087SKonrad Dybcio .buswidth = 32, 450664e8087SKonrad Dybcio .num_links = 2, 451664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MEM_NOC_GNOC, 452664e8087SKonrad Dybcio SDM845_SLAVE_LLCC 453664e8087SKonrad Dybcio }, 454664e8087SKonrad Dybcio }; 455664e8087SKonrad Dybcio 456664e8087SKonrad Dybcio static struct qcom_icc_node qnm_mnoc_sf = { 457664e8087SKonrad Dybcio .name = "qnm_mnoc_sf", 458664e8087SKonrad Dybcio .id = SDM845_MASTER_MNOC_SF_MEM_NOC, 459664e8087SKonrad Dybcio .channels = 1, 460664e8087SKonrad Dybcio .buswidth = 32, 461664e8087SKonrad Dybcio .num_links = 3, 462664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MEM_NOC_GNOC, 463664e8087SKonrad Dybcio SDM845_SLAVE_LLCC, 464664e8087SKonrad Dybcio SDM845_SLAVE_MEM_NOC_SNOC 465664e8087SKonrad Dybcio }, 466664e8087SKonrad Dybcio }; 467664e8087SKonrad Dybcio 468664e8087SKonrad Dybcio static struct qcom_icc_node qnm_snoc_gc = { 469664e8087SKonrad Dybcio .name = "qnm_snoc_gc", 470664e8087SKonrad Dybcio .id = SDM845_MASTER_SNOC_GC_MEM_NOC, 471664e8087SKonrad Dybcio .channels = 1, 472664e8087SKonrad Dybcio .buswidth = 8, 473664e8087SKonrad Dybcio .num_links = 1, 474664e8087SKonrad Dybcio .links = { SDM845_SLAVE_LLCC }, 475664e8087SKonrad Dybcio }; 476664e8087SKonrad Dybcio 477664e8087SKonrad Dybcio static struct qcom_icc_node qnm_snoc_sf = { 478664e8087SKonrad Dybcio .name = "qnm_snoc_sf", 479664e8087SKonrad Dybcio .id = SDM845_MASTER_SNOC_SF_MEM_NOC, 480664e8087SKonrad Dybcio .channels = 1, 481664e8087SKonrad Dybcio .buswidth = 16, 482664e8087SKonrad Dybcio .num_links = 2, 483664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MEM_NOC_GNOC, 484664e8087SKonrad Dybcio SDM845_SLAVE_LLCC 485664e8087SKonrad Dybcio }, 486664e8087SKonrad Dybcio }; 487664e8087SKonrad Dybcio 488664e8087SKonrad Dybcio static struct qcom_icc_node qxm_gpu = { 489664e8087SKonrad Dybcio .name = "qxm_gpu", 490664e8087SKonrad Dybcio .id = SDM845_MASTER_GFX3D, 491664e8087SKonrad Dybcio .channels = 2, 492664e8087SKonrad Dybcio .buswidth = 32, 493664e8087SKonrad Dybcio .num_links = 3, 494664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MEM_NOC_GNOC, 495664e8087SKonrad Dybcio SDM845_SLAVE_LLCC, 496664e8087SKonrad Dybcio SDM845_SLAVE_MEM_NOC_SNOC 497664e8087SKonrad Dybcio }, 498664e8087SKonrad Dybcio }; 499664e8087SKonrad Dybcio 500664e8087SKonrad Dybcio static struct qcom_icc_node qhm_mnoc_cfg = { 501664e8087SKonrad Dybcio .name = "qhm_mnoc_cfg", 502664e8087SKonrad Dybcio .id = SDM845_MASTER_CNOC_MNOC_CFG, 503664e8087SKonrad Dybcio .channels = 1, 504664e8087SKonrad Dybcio .buswidth = 4, 505664e8087SKonrad Dybcio .num_links = 1, 506664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SERVICE_MNOC }, 507664e8087SKonrad Dybcio }; 508664e8087SKonrad Dybcio 509664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf0 = { 510664e8087SKonrad Dybcio .name = "qxm_camnoc_hf0", 511664e8087SKonrad Dybcio .id = SDM845_MASTER_CAMNOC_HF0, 512664e8087SKonrad Dybcio .channels = 1, 513664e8087SKonrad Dybcio .buswidth = 32, 514664e8087SKonrad Dybcio .num_links = 1, 515664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 516664e8087SKonrad Dybcio }; 517664e8087SKonrad Dybcio 518664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_hf1 = { 519664e8087SKonrad Dybcio .name = "qxm_camnoc_hf1", 520664e8087SKonrad Dybcio .id = SDM845_MASTER_CAMNOC_HF1, 521664e8087SKonrad Dybcio .channels = 1, 522664e8087SKonrad Dybcio .buswidth = 32, 523664e8087SKonrad Dybcio .num_links = 1, 524664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 525664e8087SKonrad Dybcio }; 526664e8087SKonrad Dybcio 527664e8087SKonrad Dybcio static struct qcom_icc_node qxm_camnoc_sf = { 528664e8087SKonrad Dybcio .name = "qxm_camnoc_sf", 529664e8087SKonrad Dybcio .id = SDM845_MASTER_CAMNOC_SF, 530664e8087SKonrad Dybcio .channels = 1, 531664e8087SKonrad Dybcio .buswidth = 32, 532664e8087SKonrad Dybcio .num_links = 1, 533664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 534664e8087SKonrad Dybcio }; 535664e8087SKonrad Dybcio 536664e8087SKonrad Dybcio static struct qcom_icc_node qxm_mdp0 = { 537664e8087SKonrad Dybcio .name = "qxm_mdp0", 538664e8087SKonrad Dybcio .id = SDM845_MASTER_MDP0, 539664e8087SKonrad Dybcio .channels = 1, 540664e8087SKonrad Dybcio .buswidth = 32, 541664e8087SKonrad Dybcio .num_links = 1, 542664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 543664e8087SKonrad Dybcio }; 544664e8087SKonrad Dybcio 545664e8087SKonrad Dybcio static struct qcom_icc_node qxm_mdp1 = { 546664e8087SKonrad Dybcio .name = "qxm_mdp1", 547664e8087SKonrad Dybcio .id = SDM845_MASTER_MDP1, 548664e8087SKonrad Dybcio .channels = 1, 549664e8087SKonrad Dybcio .buswidth = 32, 550664e8087SKonrad Dybcio .num_links = 1, 551664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_HF_MEM_NOC }, 552664e8087SKonrad Dybcio }; 553664e8087SKonrad Dybcio 554664e8087SKonrad Dybcio static struct qcom_icc_node qxm_rot = { 555664e8087SKonrad Dybcio .name = "qxm_rot", 556664e8087SKonrad Dybcio .id = SDM845_MASTER_ROTATOR, 557664e8087SKonrad Dybcio .channels = 1, 558664e8087SKonrad Dybcio .buswidth = 32, 559664e8087SKonrad Dybcio .num_links = 1, 560664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 561664e8087SKonrad Dybcio }; 562664e8087SKonrad Dybcio 563664e8087SKonrad Dybcio static struct qcom_icc_node qxm_venus0 = { 564664e8087SKonrad Dybcio .name = "qxm_venus0", 565664e8087SKonrad Dybcio .id = SDM845_MASTER_VIDEO_P0, 566664e8087SKonrad Dybcio .channels = 1, 567664e8087SKonrad Dybcio .buswidth = 32, 568664e8087SKonrad Dybcio .num_links = 1, 569664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 570664e8087SKonrad Dybcio }; 571664e8087SKonrad Dybcio 572664e8087SKonrad Dybcio static struct qcom_icc_node qxm_venus1 = { 573664e8087SKonrad Dybcio .name = "qxm_venus1", 574664e8087SKonrad Dybcio .id = SDM845_MASTER_VIDEO_P1, 575664e8087SKonrad Dybcio .channels = 1, 576664e8087SKonrad Dybcio .buswidth = 32, 577664e8087SKonrad Dybcio .num_links = 1, 578664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 579664e8087SKonrad Dybcio }; 580664e8087SKonrad Dybcio 581664e8087SKonrad Dybcio static struct qcom_icc_node qxm_venus_arm9 = { 582664e8087SKonrad Dybcio .name = "qxm_venus_arm9", 583664e8087SKonrad Dybcio .id = SDM845_MASTER_VIDEO_PROC, 584664e8087SKonrad Dybcio .channels = 1, 585664e8087SKonrad Dybcio .buswidth = 8, 586664e8087SKonrad Dybcio .num_links = 1, 587664e8087SKonrad Dybcio .links = { SDM845_SLAVE_MNOC_SF_MEM_NOC }, 588664e8087SKonrad Dybcio }; 589664e8087SKonrad Dybcio 590664e8087SKonrad Dybcio static struct qcom_icc_node qhm_snoc_cfg = { 591664e8087SKonrad Dybcio .name = "qhm_snoc_cfg", 592664e8087SKonrad Dybcio .id = SDM845_MASTER_SNOC_CFG, 593664e8087SKonrad Dybcio .channels = 1, 594664e8087SKonrad Dybcio .buswidth = 4, 595664e8087SKonrad Dybcio .num_links = 1, 596664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SERVICE_SNOC }, 597664e8087SKonrad Dybcio }; 598664e8087SKonrad Dybcio 599664e8087SKonrad Dybcio static struct qcom_icc_node qnm_aggre1_noc = { 600664e8087SKonrad Dybcio .name = "qnm_aggre1_noc", 601664e8087SKonrad Dybcio .id = SDM845_MASTER_A1NOC_SNOC, 602664e8087SKonrad Dybcio .channels = 1, 603664e8087SKonrad Dybcio .buswidth = 16, 604664e8087SKonrad Dybcio .num_links = 6, 605664e8087SKonrad Dybcio .links = { SDM845_SLAVE_APPSS, 606664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CNOC, 607664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_MEM_NOC_SF, 608664e8087SKonrad Dybcio SDM845_SLAVE_IMEM, 609664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM, 610664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_STM 611664e8087SKonrad Dybcio }, 612664e8087SKonrad Dybcio }; 613664e8087SKonrad Dybcio 614664e8087SKonrad Dybcio static struct qcom_icc_node qnm_aggre2_noc = { 615664e8087SKonrad Dybcio .name = "qnm_aggre2_noc", 616664e8087SKonrad Dybcio .id = SDM845_MASTER_A2NOC_SNOC, 617664e8087SKonrad Dybcio .channels = 1, 618664e8087SKonrad Dybcio .buswidth = 16, 619664e8087SKonrad Dybcio .num_links = 9, 620664e8087SKonrad Dybcio .links = { SDM845_SLAVE_APPSS, 621664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CNOC, 622664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_MEM_NOC_SF, 623664e8087SKonrad Dybcio SDM845_SLAVE_IMEM, 624664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_0, 625664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_1, 626664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM, 627664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_STM, 628664e8087SKonrad Dybcio SDM845_SLAVE_TCU 629664e8087SKonrad Dybcio }, 630664e8087SKonrad Dybcio }; 631664e8087SKonrad Dybcio 632664e8087SKonrad Dybcio static struct qcom_icc_node qnm_gladiator_sodv = { 633664e8087SKonrad Dybcio .name = "qnm_gladiator_sodv", 634664e8087SKonrad Dybcio .id = SDM845_MASTER_GNOC_SNOC, 635664e8087SKonrad Dybcio .channels = 1, 636664e8087SKonrad Dybcio .buswidth = 8, 637664e8087SKonrad Dybcio .num_links = 8, 638664e8087SKonrad Dybcio .links = { SDM845_SLAVE_APPSS, 639664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CNOC, 640664e8087SKonrad Dybcio SDM845_SLAVE_IMEM, 641664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_0, 642664e8087SKonrad Dybcio SDM845_SLAVE_PCIE_1, 643664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM, 644664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_STM, 645664e8087SKonrad Dybcio SDM845_SLAVE_TCU 646664e8087SKonrad Dybcio }, 647664e8087SKonrad Dybcio }; 648664e8087SKonrad Dybcio 649664e8087SKonrad Dybcio static struct qcom_icc_node qnm_memnoc = { 650664e8087SKonrad Dybcio .name = "qnm_memnoc", 651664e8087SKonrad Dybcio .id = SDM845_MASTER_MEM_NOC_SNOC, 652664e8087SKonrad Dybcio .channels = 1, 653664e8087SKonrad Dybcio .buswidth = 8, 654664e8087SKonrad Dybcio .num_links = 5, 655664e8087SKonrad Dybcio .links = { SDM845_SLAVE_APPSS, 656664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CNOC, 657664e8087SKonrad Dybcio SDM845_SLAVE_IMEM, 658664e8087SKonrad Dybcio SDM845_SLAVE_PIMEM, 659664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_STM 660664e8087SKonrad Dybcio }, 661664e8087SKonrad Dybcio }; 662664e8087SKonrad Dybcio 663664e8087SKonrad Dybcio static struct qcom_icc_node qnm_pcie_anoc = { 664664e8087SKonrad Dybcio .name = "qnm_pcie_anoc", 665664e8087SKonrad Dybcio .id = SDM845_MASTER_ANOC_PCIE_SNOC, 666664e8087SKonrad Dybcio .channels = 1, 667664e8087SKonrad Dybcio .buswidth = 16, 668664e8087SKonrad Dybcio .num_links = 5, 669664e8087SKonrad Dybcio .links = { SDM845_SLAVE_APPSS, 670664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_CNOC, 671664e8087SKonrad Dybcio SDM845_SLAVE_SNOC_MEM_NOC_SF, 672664e8087SKonrad Dybcio SDM845_SLAVE_IMEM, 673664e8087SKonrad Dybcio SDM845_SLAVE_QDSS_STM 674664e8087SKonrad Dybcio }, 675664e8087SKonrad Dybcio }; 676664e8087SKonrad Dybcio 677664e8087SKonrad Dybcio static struct qcom_icc_node qxm_pimem = { 678664e8087SKonrad Dybcio .name = "qxm_pimem", 679664e8087SKonrad Dybcio .id = SDM845_MASTER_PIMEM, 680664e8087SKonrad Dybcio .channels = 1, 681664e8087SKonrad Dybcio .buswidth = 8, 682664e8087SKonrad Dybcio .num_links = 2, 683664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SNOC_MEM_NOC_GC, 684664e8087SKonrad Dybcio SDM845_SLAVE_IMEM 685664e8087SKonrad Dybcio }, 686664e8087SKonrad Dybcio }; 687664e8087SKonrad Dybcio 688664e8087SKonrad Dybcio static struct qcom_icc_node xm_gic = { 689664e8087SKonrad Dybcio .name = "xm_gic", 690664e8087SKonrad Dybcio .id = SDM845_MASTER_GIC, 691664e8087SKonrad Dybcio .channels = 1, 692664e8087SKonrad Dybcio .buswidth = 8, 693664e8087SKonrad Dybcio .num_links = 2, 694664e8087SKonrad Dybcio .links = { SDM845_SLAVE_SNOC_MEM_NOC_GC, 695664e8087SKonrad Dybcio SDM845_SLAVE_IMEM 696664e8087SKonrad Dybcio }, 697664e8087SKonrad Dybcio }; 698664e8087SKonrad Dybcio 699664e8087SKonrad Dybcio static struct qcom_icc_node qns_a1noc_snoc = { 700664e8087SKonrad Dybcio .name = "qns_a1noc_snoc", 701664e8087SKonrad Dybcio .id = SDM845_SLAVE_A1NOC_SNOC, 702664e8087SKonrad Dybcio .channels = 1, 703664e8087SKonrad Dybcio .buswidth = 16, 704664e8087SKonrad Dybcio .num_links = 1, 705664e8087SKonrad Dybcio .links = { SDM845_MASTER_A1NOC_SNOC }, 706664e8087SKonrad Dybcio }; 707664e8087SKonrad Dybcio 708664e8087SKonrad Dybcio static struct qcom_icc_node srvc_aggre1_noc = { 709664e8087SKonrad Dybcio .name = "srvc_aggre1_noc", 710664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_A1NOC, 711664e8087SKonrad Dybcio .channels = 1, 712664e8087SKonrad Dybcio .buswidth = 4, 713664e8087SKonrad Dybcio .num_links = 1, 714664e8087SKonrad Dybcio .links = { 0 }, 715664e8087SKonrad Dybcio }; 716664e8087SKonrad Dybcio 717664e8087SKonrad Dybcio static struct qcom_icc_node qns_pcie_a1noc_snoc = { 718664e8087SKonrad Dybcio .name = "qns_pcie_a1noc_snoc", 719664e8087SKonrad Dybcio .id = SDM845_SLAVE_ANOC_PCIE_A1NOC_SNOC, 720664e8087SKonrad Dybcio .channels = 1, 721664e8087SKonrad Dybcio .buswidth = 16, 722664e8087SKonrad Dybcio .num_links = 1, 723664e8087SKonrad Dybcio .links = { SDM845_MASTER_ANOC_PCIE_SNOC }, 724664e8087SKonrad Dybcio }; 725664e8087SKonrad Dybcio 726664e8087SKonrad Dybcio static struct qcom_icc_node qns_a2noc_snoc = { 727664e8087SKonrad Dybcio .name = "qns_a2noc_snoc", 728664e8087SKonrad Dybcio .id = SDM845_SLAVE_A2NOC_SNOC, 729664e8087SKonrad Dybcio .channels = 1, 730664e8087SKonrad Dybcio .buswidth = 16, 731664e8087SKonrad Dybcio .num_links = 1, 732664e8087SKonrad Dybcio .links = { SDM845_MASTER_A2NOC_SNOC }, 733664e8087SKonrad Dybcio }; 734664e8087SKonrad Dybcio 735664e8087SKonrad Dybcio static struct qcom_icc_node qns_pcie_snoc = { 736664e8087SKonrad Dybcio .name = "qns_pcie_snoc", 737664e8087SKonrad Dybcio .id = SDM845_SLAVE_ANOC_PCIE_SNOC, 738664e8087SKonrad Dybcio .channels = 1, 739664e8087SKonrad Dybcio .buswidth = 16, 740664e8087SKonrad Dybcio .num_links = 1, 741664e8087SKonrad Dybcio .links = { SDM845_MASTER_ANOC_PCIE_SNOC }, 742664e8087SKonrad Dybcio }; 743664e8087SKonrad Dybcio 744664e8087SKonrad Dybcio static struct qcom_icc_node srvc_aggre2_noc = { 745664e8087SKonrad Dybcio .name = "srvc_aggre2_noc", 746664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_A2NOC, 747664e8087SKonrad Dybcio .channels = 1, 748664e8087SKonrad Dybcio .buswidth = 4, 749664e8087SKonrad Dybcio }; 750664e8087SKonrad Dybcio 751664e8087SKonrad Dybcio static struct qcom_icc_node qns_camnoc_uncomp = { 752664e8087SKonrad Dybcio .name = "qns_camnoc_uncomp", 753664e8087SKonrad Dybcio .id = SDM845_SLAVE_CAMNOC_UNCOMP, 754664e8087SKonrad Dybcio .channels = 1, 755664e8087SKonrad Dybcio .buswidth = 32, 756664e8087SKonrad Dybcio }; 757664e8087SKonrad Dybcio 758664e8087SKonrad Dybcio static struct qcom_icc_node qhs_a1_noc_cfg = { 759664e8087SKonrad Dybcio .name = "qhs_a1_noc_cfg", 760664e8087SKonrad Dybcio .id = SDM845_SLAVE_A1NOC_CFG, 761664e8087SKonrad Dybcio .channels = 1, 762664e8087SKonrad Dybcio .buswidth = 4, 763664e8087SKonrad Dybcio .num_links = 1, 764664e8087SKonrad Dybcio .links = { SDM845_MASTER_A1NOC_CFG }, 765664e8087SKonrad Dybcio }; 766664e8087SKonrad Dybcio 767664e8087SKonrad Dybcio static struct qcom_icc_node qhs_a2_noc_cfg = { 768664e8087SKonrad Dybcio .name = "qhs_a2_noc_cfg", 769664e8087SKonrad Dybcio .id = SDM845_SLAVE_A2NOC_CFG, 770664e8087SKonrad Dybcio .channels = 1, 771664e8087SKonrad Dybcio .buswidth = 4, 772664e8087SKonrad Dybcio .num_links = 1, 773664e8087SKonrad Dybcio .links = { SDM845_MASTER_A2NOC_CFG }, 774664e8087SKonrad Dybcio }; 775664e8087SKonrad Dybcio 776664e8087SKonrad Dybcio static struct qcom_icc_node qhs_aop = { 777664e8087SKonrad Dybcio .name = "qhs_aop", 778664e8087SKonrad Dybcio .id = SDM845_SLAVE_AOP, 779664e8087SKonrad Dybcio .channels = 1, 780664e8087SKonrad Dybcio .buswidth = 4, 781664e8087SKonrad Dybcio }; 782664e8087SKonrad Dybcio 783664e8087SKonrad Dybcio static struct qcom_icc_node qhs_aoss = { 784664e8087SKonrad Dybcio .name = "qhs_aoss", 785664e8087SKonrad Dybcio .id = SDM845_SLAVE_AOSS, 786664e8087SKonrad Dybcio .channels = 1, 787664e8087SKonrad Dybcio .buswidth = 4, 788664e8087SKonrad Dybcio }; 789664e8087SKonrad Dybcio 790664e8087SKonrad Dybcio static struct qcom_icc_node qhs_camera_cfg = { 791664e8087SKonrad Dybcio .name = "qhs_camera_cfg", 792664e8087SKonrad Dybcio .id = SDM845_SLAVE_CAMERA_CFG, 793664e8087SKonrad Dybcio .channels = 1, 794664e8087SKonrad Dybcio .buswidth = 4, 795664e8087SKonrad Dybcio }; 796664e8087SKonrad Dybcio 797664e8087SKonrad Dybcio static struct qcom_icc_node qhs_clk_ctl = { 798664e8087SKonrad Dybcio .name = "qhs_clk_ctl", 799664e8087SKonrad Dybcio .id = SDM845_SLAVE_CLK_CTL, 800664e8087SKonrad Dybcio .channels = 1, 801664e8087SKonrad Dybcio .buswidth = 4, 802664e8087SKonrad Dybcio }; 803664e8087SKonrad Dybcio 804664e8087SKonrad Dybcio static struct qcom_icc_node qhs_compute_dsp_cfg = { 805664e8087SKonrad Dybcio .name = "qhs_compute_dsp_cfg", 806664e8087SKonrad Dybcio .id = SDM845_SLAVE_CDSP_CFG, 807664e8087SKonrad Dybcio .channels = 1, 808664e8087SKonrad Dybcio .buswidth = 4, 809664e8087SKonrad Dybcio }; 810664e8087SKonrad Dybcio 811664e8087SKonrad Dybcio static struct qcom_icc_node qhs_cpr_cx = { 812664e8087SKonrad Dybcio .name = "qhs_cpr_cx", 813664e8087SKonrad Dybcio .id = SDM845_SLAVE_RBCPR_CX_CFG, 814664e8087SKonrad Dybcio .channels = 1, 815664e8087SKonrad Dybcio .buswidth = 4, 816664e8087SKonrad Dybcio }; 817664e8087SKonrad Dybcio 818664e8087SKonrad Dybcio static struct qcom_icc_node qhs_crypto0_cfg = { 819664e8087SKonrad Dybcio .name = "qhs_crypto0_cfg", 820664e8087SKonrad Dybcio .id = SDM845_SLAVE_CRYPTO_0_CFG, 821664e8087SKonrad Dybcio .channels = 1, 822664e8087SKonrad Dybcio .buswidth = 4, 823664e8087SKonrad Dybcio }; 824664e8087SKonrad Dybcio 825664e8087SKonrad Dybcio static struct qcom_icc_node qhs_dcc_cfg = { 826664e8087SKonrad Dybcio .name = "qhs_dcc_cfg", 827664e8087SKonrad Dybcio .id = SDM845_SLAVE_DCC_CFG, 828664e8087SKonrad Dybcio .channels = 1, 829664e8087SKonrad Dybcio .buswidth = 4, 830664e8087SKonrad Dybcio .num_links = 1, 831664e8087SKonrad Dybcio .links = { SDM845_MASTER_CNOC_DC_NOC }, 832664e8087SKonrad Dybcio }; 833664e8087SKonrad Dybcio 834664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ddrss_cfg = { 835664e8087SKonrad Dybcio .name = "qhs_ddrss_cfg", 836664e8087SKonrad Dybcio .id = SDM845_SLAVE_CNOC_DDRSS, 837664e8087SKonrad Dybcio .channels = 1, 838664e8087SKonrad Dybcio .buswidth = 4, 839664e8087SKonrad Dybcio }; 840664e8087SKonrad Dybcio 841664e8087SKonrad Dybcio static struct qcom_icc_node qhs_display_cfg = { 842664e8087SKonrad Dybcio .name = "qhs_display_cfg", 843664e8087SKonrad Dybcio .id = SDM845_SLAVE_DISPLAY_CFG, 844664e8087SKonrad Dybcio .channels = 1, 845664e8087SKonrad Dybcio .buswidth = 4, 846664e8087SKonrad Dybcio }; 847664e8087SKonrad Dybcio 848664e8087SKonrad Dybcio static struct qcom_icc_node qhs_glm = { 849664e8087SKonrad Dybcio .name = "qhs_glm", 850664e8087SKonrad Dybcio .id = SDM845_SLAVE_GLM, 851664e8087SKonrad Dybcio .channels = 1, 852664e8087SKonrad Dybcio .buswidth = 4, 853664e8087SKonrad Dybcio }; 854664e8087SKonrad Dybcio 855664e8087SKonrad Dybcio static struct qcom_icc_node qhs_gpuss_cfg = { 856664e8087SKonrad Dybcio .name = "qhs_gpuss_cfg", 857664e8087SKonrad Dybcio .id = SDM845_SLAVE_GFX3D_CFG, 858664e8087SKonrad Dybcio .channels = 1, 859664e8087SKonrad Dybcio .buswidth = 8, 860664e8087SKonrad Dybcio }; 861664e8087SKonrad Dybcio 862664e8087SKonrad Dybcio static struct qcom_icc_node qhs_imem_cfg = { 863664e8087SKonrad Dybcio .name = "qhs_imem_cfg", 864664e8087SKonrad Dybcio .id = SDM845_SLAVE_IMEM_CFG, 865664e8087SKonrad Dybcio .channels = 1, 866664e8087SKonrad Dybcio .buswidth = 4, 867664e8087SKonrad Dybcio }; 868664e8087SKonrad Dybcio 869664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ipa = { 870664e8087SKonrad Dybcio .name = "qhs_ipa", 871664e8087SKonrad Dybcio .id = SDM845_SLAVE_IPA_CFG, 872664e8087SKonrad Dybcio .channels = 1, 873664e8087SKonrad Dybcio .buswidth = 4, 874664e8087SKonrad Dybcio }; 875664e8087SKonrad Dybcio 876664e8087SKonrad Dybcio static struct qcom_icc_node qhs_mnoc_cfg = { 877664e8087SKonrad Dybcio .name = "qhs_mnoc_cfg", 878664e8087SKonrad Dybcio .id = SDM845_SLAVE_CNOC_MNOC_CFG, 879664e8087SKonrad Dybcio .channels = 1, 880664e8087SKonrad Dybcio .buswidth = 4, 881664e8087SKonrad Dybcio .num_links = 1, 882664e8087SKonrad Dybcio .links = { SDM845_MASTER_CNOC_MNOC_CFG }, 883664e8087SKonrad Dybcio }; 884664e8087SKonrad Dybcio 885664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pcie0_cfg = { 886664e8087SKonrad Dybcio .name = "qhs_pcie0_cfg", 887664e8087SKonrad Dybcio .id = SDM845_SLAVE_PCIE_0_CFG, 888664e8087SKonrad Dybcio .channels = 1, 889664e8087SKonrad Dybcio .buswidth = 4, 890664e8087SKonrad Dybcio }; 891664e8087SKonrad Dybcio 892664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pcie_gen3_cfg = { 893664e8087SKonrad Dybcio .name = "qhs_pcie_gen3_cfg", 894664e8087SKonrad Dybcio .id = SDM845_SLAVE_PCIE_1_CFG, 895664e8087SKonrad Dybcio .channels = 1, 896664e8087SKonrad Dybcio .buswidth = 4, 897664e8087SKonrad Dybcio }; 898664e8087SKonrad Dybcio 899664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pdm = { 900664e8087SKonrad Dybcio .name = "qhs_pdm", 901664e8087SKonrad Dybcio .id = SDM845_SLAVE_PDM, 902664e8087SKonrad Dybcio .channels = 1, 903664e8087SKonrad Dybcio .buswidth = 4, 904664e8087SKonrad Dybcio }; 905664e8087SKonrad Dybcio 906664e8087SKonrad Dybcio static struct qcom_icc_node qhs_phy_refgen_south = { 907664e8087SKonrad Dybcio .name = "qhs_phy_refgen_south", 908664e8087SKonrad Dybcio .id = SDM845_SLAVE_SOUTH_PHY_CFG, 909664e8087SKonrad Dybcio .channels = 1, 910664e8087SKonrad Dybcio .buswidth = 4, 911664e8087SKonrad Dybcio }; 912664e8087SKonrad Dybcio 913664e8087SKonrad Dybcio static struct qcom_icc_node qhs_pimem_cfg = { 914664e8087SKonrad Dybcio .name = "qhs_pimem_cfg", 915664e8087SKonrad Dybcio .id = SDM845_SLAVE_PIMEM_CFG, 916664e8087SKonrad Dybcio .channels = 1, 917664e8087SKonrad Dybcio .buswidth = 4, 918664e8087SKonrad Dybcio }; 919664e8087SKonrad Dybcio 920664e8087SKonrad Dybcio static struct qcom_icc_node qhs_prng = { 921664e8087SKonrad Dybcio .name = "qhs_prng", 922664e8087SKonrad Dybcio .id = SDM845_SLAVE_PRNG, 923664e8087SKonrad Dybcio .channels = 1, 924664e8087SKonrad Dybcio .buswidth = 4, 925664e8087SKonrad Dybcio }; 926664e8087SKonrad Dybcio 927664e8087SKonrad Dybcio static struct qcom_icc_node qhs_qdss_cfg = { 928664e8087SKonrad Dybcio .name = "qhs_qdss_cfg", 929664e8087SKonrad Dybcio .id = SDM845_SLAVE_QDSS_CFG, 930664e8087SKonrad Dybcio .channels = 1, 931664e8087SKonrad Dybcio .buswidth = 4, 932664e8087SKonrad Dybcio }; 933664e8087SKonrad Dybcio 934664e8087SKonrad Dybcio static struct qcom_icc_node qhs_qupv3_north = { 935664e8087SKonrad Dybcio .name = "qhs_qupv3_north", 936664e8087SKonrad Dybcio .id = SDM845_SLAVE_BLSP_2, 937664e8087SKonrad Dybcio .channels = 1, 938664e8087SKonrad Dybcio .buswidth = 4, 939664e8087SKonrad Dybcio }; 940664e8087SKonrad Dybcio 941664e8087SKonrad Dybcio static struct qcom_icc_node qhs_qupv3_south = { 942664e8087SKonrad Dybcio .name = "qhs_qupv3_south", 943664e8087SKonrad Dybcio .id = SDM845_SLAVE_BLSP_1, 944664e8087SKonrad Dybcio .channels = 1, 945664e8087SKonrad Dybcio .buswidth = 4, 946664e8087SKonrad Dybcio }; 947664e8087SKonrad Dybcio 948664e8087SKonrad Dybcio static struct qcom_icc_node qhs_sdc2 = { 949664e8087SKonrad Dybcio .name = "qhs_sdc2", 950664e8087SKonrad Dybcio .id = SDM845_SLAVE_SDCC_2, 951664e8087SKonrad Dybcio .channels = 1, 952664e8087SKonrad Dybcio .buswidth = 4, 953664e8087SKonrad Dybcio }; 954664e8087SKonrad Dybcio 955664e8087SKonrad Dybcio static struct qcom_icc_node qhs_sdc4 = { 956664e8087SKonrad Dybcio .name = "qhs_sdc4", 957664e8087SKonrad Dybcio .id = SDM845_SLAVE_SDCC_4, 958664e8087SKonrad Dybcio .channels = 1, 959664e8087SKonrad Dybcio .buswidth = 4, 960664e8087SKonrad Dybcio }; 961664e8087SKonrad Dybcio 962664e8087SKonrad Dybcio static struct qcom_icc_node qhs_snoc_cfg = { 963664e8087SKonrad Dybcio .name = "qhs_snoc_cfg", 964664e8087SKonrad Dybcio .id = SDM845_SLAVE_SNOC_CFG, 965664e8087SKonrad Dybcio .channels = 1, 966664e8087SKonrad Dybcio .buswidth = 4, 967664e8087SKonrad Dybcio .num_links = 1, 968664e8087SKonrad Dybcio .links = { SDM845_MASTER_SNOC_CFG }, 969664e8087SKonrad Dybcio }; 970664e8087SKonrad Dybcio 971664e8087SKonrad Dybcio static struct qcom_icc_node qhs_spdm = { 972664e8087SKonrad Dybcio .name = "qhs_spdm", 973664e8087SKonrad Dybcio .id = SDM845_SLAVE_SPDM_WRAPPER, 974664e8087SKonrad Dybcio .channels = 1, 975664e8087SKonrad Dybcio .buswidth = 4, 976664e8087SKonrad Dybcio }; 977664e8087SKonrad Dybcio 978664e8087SKonrad Dybcio static struct qcom_icc_node qhs_spss_cfg = { 979664e8087SKonrad Dybcio .name = "qhs_spss_cfg", 980664e8087SKonrad Dybcio .id = SDM845_SLAVE_SPSS_CFG, 981664e8087SKonrad Dybcio .channels = 1, 982664e8087SKonrad Dybcio .buswidth = 4, 983664e8087SKonrad Dybcio }; 984664e8087SKonrad Dybcio 985664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tcsr = { 986664e8087SKonrad Dybcio .name = "qhs_tcsr", 987664e8087SKonrad Dybcio .id = SDM845_SLAVE_TCSR, 988664e8087SKonrad Dybcio .channels = 1, 989664e8087SKonrad Dybcio .buswidth = 4, 990664e8087SKonrad Dybcio }; 991664e8087SKonrad Dybcio 992664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_north = { 993664e8087SKonrad Dybcio .name = "qhs_tlmm_north", 994664e8087SKonrad Dybcio .id = SDM845_SLAVE_TLMM_NORTH, 995664e8087SKonrad Dybcio .channels = 1, 996664e8087SKonrad Dybcio .buswidth = 4, 997664e8087SKonrad Dybcio }; 998664e8087SKonrad Dybcio 999664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tlmm_south = { 1000664e8087SKonrad Dybcio .name = "qhs_tlmm_south", 1001664e8087SKonrad Dybcio .id = SDM845_SLAVE_TLMM_SOUTH, 1002664e8087SKonrad Dybcio .channels = 1, 1003664e8087SKonrad Dybcio .buswidth = 4, 1004664e8087SKonrad Dybcio }; 1005664e8087SKonrad Dybcio 1006664e8087SKonrad Dybcio static struct qcom_icc_node qhs_tsif = { 1007664e8087SKonrad Dybcio .name = "qhs_tsif", 1008664e8087SKonrad Dybcio .id = SDM845_SLAVE_TSIF, 1009664e8087SKonrad Dybcio .channels = 1, 1010664e8087SKonrad Dybcio .buswidth = 4, 1011664e8087SKonrad Dybcio }; 1012664e8087SKonrad Dybcio 1013664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ufs_card_cfg = { 1014664e8087SKonrad Dybcio .name = "qhs_ufs_card_cfg", 1015664e8087SKonrad Dybcio .id = SDM845_SLAVE_UFS_CARD_CFG, 1016664e8087SKonrad Dybcio .channels = 1, 1017664e8087SKonrad Dybcio .buswidth = 4, 1018664e8087SKonrad Dybcio }; 1019664e8087SKonrad Dybcio 1020664e8087SKonrad Dybcio static struct qcom_icc_node qhs_ufs_mem_cfg = { 1021664e8087SKonrad Dybcio .name = "qhs_ufs_mem_cfg", 1022664e8087SKonrad Dybcio .id = SDM845_SLAVE_UFS_MEM_CFG, 1023664e8087SKonrad Dybcio .channels = 1, 1024664e8087SKonrad Dybcio .buswidth = 4, 1025664e8087SKonrad Dybcio }; 1026664e8087SKonrad Dybcio 1027664e8087SKonrad Dybcio static struct qcom_icc_node qhs_usb3_0 = { 1028664e8087SKonrad Dybcio .name = "qhs_usb3_0", 1029664e8087SKonrad Dybcio .id = SDM845_SLAVE_USB3_0, 1030664e8087SKonrad Dybcio .channels = 1, 1031664e8087SKonrad Dybcio .buswidth = 4, 1032664e8087SKonrad Dybcio }; 1033664e8087SKonrad Dybcio 1034664e8087SKonrad Dybcio static struct qcom_icc_node qhs_usb3_1 = { 1035664e8087SKonrad Dybcio .name = "qhs_usb3_1", 1036664e8087SKonrad Dybcio .id = SDM845_SLAVE_USB3_1, 1037664e8087SKonrad Dybcio .channels = 1, 1038664e8087SKonrad Dybcio .buswidth = 4, 1039664e8087SKonrad Dybcio }; 1040664e8087SKonrad Dybcio 1041664e8087SKonrad Dybcio static struct qcom_icc_node qhs_venus_cfg = { 1042664e8087SKonrad Dybcio .name = "qhs_venus_cfg", 1043664e8087SKonrad Dybcio .id = SDM845_SLAVE_VENUS_CFG, 1044664e8087SKonrad Dybcio .channels = 1, 1045664e8087SKonrad Dybcio .buswidth = 4, 1046664e8087SKonrad Dybcio }; 1047664e8087SKonrad Dybcio 1048664e8087SKonrad Dybcio static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1049664e8087SKonrad Dybcio .name = "qhs_vsense_ctrl_cfg", 1050664e8087SKonrad Dybcio .id = SDM845_SLAVE_VSENSE_CTRL_CFG, 1051664e8087SKonrad Dybcio .channels = 1, 1052664e8087SKonrad Dybcio .buswidth = 4, 1053664e8087SKonrad Dybcio }; 1054664e8087SKonrad Dybcio 1055664e8087SKonrad Dybcio static struct qcom_icc_node qns_cnoc_a2noc = { 1056664e8087SKonrad Dybcio .name = "qns_cnoc_a2noc", 1057664e8087SKonrad Dybcio .id = SDM845_SLAVE_CNOC_A2NOC, 1058664e8087SKonrad Dybcio .channels = 1, 1059664e8087SKonrad Dybcio .buswidth = 8, 1060664e8087SKonrad Dybcio .num_links = 1, 1061664e8087SKonrad Dybcio .links = { SDM845_MASTER_CNOC_A2NOC }, 1062664e8087SKonrad Dybcio }; 1063664e8087SKonrad Dybcio 1064664e8087SKonrad Dybcio static struct qcom_icc_node srvc_cnoc = { 1065664e8087SKonrad Dybcio .name = "srvc_cnoc", 1066664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_CNOC, 1067664e8087SKonrad Dybcio .channels = 1, 1068664e8087SKonrad Dybcio .buswidth = 4, 1069664e8087SKonrad Dybcio }; 1070664e8087SKonrad Dybcio 1071664e8087SKonrad Dybcio static struct qcom_icc_node qhs_llcc = { 1072664e8087SKonrad Dybcio .name = "qhs_llcc", 1073664e8087SKonrad Dybcio .id = SDM845_SLAVE_LLCC_CFG, 1074664e8087SKonrad Dybcio .channels = 1, 1075664e8087SKonrad Dybcio .buswidth = 4, 1076664e8087SKonrad Dybcio }; 1077664e8087SKonrad Dybcio 1078664e8087SKonrad Dybcio static struct qcom_icc_node qhs_memnoc = { 1079664e8087SKonrad Dybcio .name = "qhs_memnoc", 1080664e8087SKonrad Dybcio .id = SDM845_SLAVE_MEM_NOC_CFG, 1081664e8087SKonrad Dybcio .channels = 1, 1082664e8087SKonrad Dybcio .buswidth = 4, 1083664e8087SKonrad Dybcio .num_links = 1, 1084664e8087SKonrad Dybcio .links = { SDM845_MASTER_MEM_NOC_CFG }, 1085664e8087SKonrad Dybcio }; 1086664e8087SKonrad Dybcio 1087664e8087SKonrad Dybcio static struct qcom_icc_node qns_gladiator_sodv = { 1088664e8087SKonrad Dybcio .name = "qns_gladiator_sodv", 1089664e8087SKonrad Dybcio .id = SDM845_SLAVE_GNOC_SNOC, 1090664e8087SKonrad Dybcio .channels = 1, 1091664e8087SKonrad Dybcio .buswidth = 8, 1092664e8087SKonrad Dybcio .num_links = 1, 1093664e8087SKonrad Dybcio .links = { SDM845_MASTER_GNOC_SNOC }, 1094664e8087SKonrad Dybcio }; 1095664e8087SKonrad Dybcio 1096664e8087SKonrad Dybcio static struct qcom_icc_node qns_gnoc_memnoc = { 1097664e8087SKonrad Dybcio .name = "qns_gnoc_memnoc", 1098664e8087SKonrad Dybcio .id = SDM845_SLAVE_GNOC_MEM_NOC, 1099664e8087SKonrad Dybcio .channels = 2, 1100664e8087SKonrad Dybcio .buswidth = 32, 1101664e8087SKonrad Dybcio .num_links = 1, 1102664e8087SKonrad Dybcio .links = { SDM845_MASTER_GNOC_MEM_NOC }, 1103664e8087SKonrad Dybcio }; 1104664e8087SKonrad Dybcio 1105664e8087SKonrad Dybcio static struct qcom_icc_node srvc_gnoc = { 1106664e8087SKonrad Dybcio .name = "srvc_gnoc", 1107664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_GNOC, 1108664e8087SKonrad Dybcio .channels = 1, 1109664e8087SKonrad Dybcio .buswidth = 4, 1110664e8087SKonrad Dybcio }; 1111664e8087SKonrad Dybcio 1112664e8087SKonrad Dybcio static struct qcom_icc_node ebi = { 1113664e8087SKonrad Dybcio .name = "ebi", 1114664e8087SKonrad Dybcio .id = SDM845_SLAVE_EBI1, 1115664e8087SKonrad Dybcio .channels = 4, 1116664e8087SKonrad Dybcio .buswidth = 4, 1117664e8087SKonrad Dybcio }; 1118664e8087SKonrad Dybcio 1119664e8087SKonrad Dybcio static struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = { 1120664e8087SKonrad Dybcio .name = "qhs_mdsp_ms_mpu_cfg", 1121664e8087SKonrad Dybcio .id = SDM845_SLAVE_MSS_PROC_MS_MPU_CFG, 1122664e8087SKonrad Dybcio .channels = 1, 1123664e8087SKonrad Dybcio .buswidth = 4, 1124664e8087SKonrad Dybcio }; 1125664e8087SKonrad Dybcio 1126664e8087SKonrad Dybcio static struct qcom_icc_node qns_apps_io = { 1127664e8087SKonrad Dybcio .name = "qns_apps_io", 1128664e8087SKonrad Dybcio .id = SDM845_SLAVE_MEM_NOC_GNOC, 1129664e8087SKonrad Dybcio .channels = 1, 1130664e8087SKonrad Dybcio .buswidth = 32, 1131664e8087SKonrad Dybcio }; 1132664e8087SKonrad Dybcio 1133664e8087SKonrad Dybcio static struct qcom_icc_node qns_llcc = { 1134664e8087SKonrad Dybcio .name = "qns_llcc", 1135664e8087SKonrad Dybcio .id = SDM845_SLAVE_LLCC, 1136664e8087SKonrad Dybcio .channels = 4, 1137664e8087SKonrad Dybcio .buswidth = 16, 1138664e8087SKonrad Dybcio .num_links = 1, 1139664e8087SKonrad Dybcio .links = { SDM845_MASTER_LLCC }, 1140664e8087SKonrad Dybcio }; 1141664e8087SKonrad Dybcio 1142664e8087SKonrad Dybcio static struct qcom_icc_node qns_memnoc_snoc = { 1143664e8087SKonrad Dybcio .name = "qns_memnoc_snoc", 1144664e8087SKonrad Dybcio .id = SDM845_SLAVE_MEM_NOC_SNOC, 1145664e8087SKonrad Dybcio .channels = 1, 1146664e8087SKonrad Dybcio .buswidth = 8, 1147664e8087SKonrad Dybcio .num_links = 1, 1148664e8087SKonrad Dybcio .links = { SDM845_MASTER_MEM_NOC_SNOC }, 1149664e8087SKonrad Dybcio }; 1150664e8087SKonrad Dybcio 1151664e8087SKonrad Dybcio static struct qcom_icc_node srvc_memnoc = { 1152664e8087SKonrad Dybcio .name = "srvc_memnoc", 1153664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_MEM_NOC, 1154664e8087SKonrad Dybcio .channels = 1, 1155664e8087SKonrad Dybcio .buswidth = 4, 1156664e8087SKonrad Dybcio }; 1157664e8087SKonrad Dybcio 1158664e8087SKonrad Dybcio static struct qcom_icc_node qns2_mem_noc = { 1159664e8087SKonrad Dybcio .name = "qns2_mem_noc", 1160664e8087SKonrad Dybcio .id = SDM845_SLAVE_MNOC_SF_MEM_NOC, 1161664e8087SKonrad Dybcio .channels = 1, 1162664e8087SKonrad Dybcio .buswidth = 32, 1163664e8087SKonrad Dybcio .num_links = 1, 1164664e8087SKonrad Dybcio .links = { SDM845_MASTER_MNOC_SF_MEM_NOC }, 1165664e8087SKonrad Dybcio }; 1166664e8087SKonrad Dybcio 1167664e8087SKonrad Dybcio static struct qcom_icc_node qns_mem_noc_hf = { 1168664e8087SKonrad Dybcio .name = "qns_mem_noc_hf", 1169664e8087SKonrad Dybcio .id = SDM845_SLAVE_MNOC_HF_MEM_NOC, 1170664e8087SKonrad Dybcio .channels = 2, 1171664e8087SKonrad Dybcio .buswidth = 32, 1172664e8087SKonrad Dybcio .num_links = 1, 1173664e8087SKonrad Dybcio .links = { SDM845_MASTER_MNOC_HF_MEM_NOC }, 1174664e8087SKonrad Dybcio }; 1175664e8087SKonrad Dybcio 1176664e8087SKonrad Dybcio static struct qcom_icc_node srvc_mnoc = { 1177664e8087SKonrad Dybcio .name = "srvc_mnoc", 1178664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_MNOC, 1179664e8087SKonrad Dybcio .channels = 1, 1180664e8087SKonrad Dybcio .buswidth = 4, 1181664e8087SKonrad Dybcio }; 1182664e8087SKonrad Dybcio 1183664e8087SKonrad Dybcio static struct qcom_icc_node qhs_apss = { 1184664e8087SKonrad Dybcio .name = "qhs_apss", 1185664e8087SKonrad Dybcio .id = SDM845_SLAVE_APPSS, 1186664e8087SKonrad Dybcio .channels = 1, 1187664e8087SKonrad Dybcio .buswidth = 8, 1188664e8087SKonrad Dybcio }; 1189664e8087SKonrad Dybcio 1190664e8087SKonrad Dybcio static struct qcom_icc_node qns_cnoc = { 1191664e8087SKonrad Dybcio .name = "qns_cnoc", 1192664e8087SKonrad Dybcio .id = SDM845_SLAVE_SNOC_CNOC, 1193664e8087SKonrad Dybcio .channels = 1, 1194664e8087SKonrad Dybcio .buswidth = 8, 1195664e8087SKonrad Dybcio .num_links = 1, 1196664e8087SKonrad Dybcio .links = { SDM845_MASTER_SNOC_CNOC }, 1197664e8087SKonrad Dybcio }; 1198664e8087SKonrad Dybcio 1199664e8087SKonrad Dybcio static struct qcom_icc_node qns_memnoc_gc = { 1200664e8087SKonrad Dybcio .name = "qns_memnoc_gc", 1201664e8087SKonrad Dybcio .id = SDM845_SLAVE_SNOC_MEM_NOC_GC, 1202664e8087SKonrad Dybcio .channels = 1, 1203664e8087SKonrad Dybcio .buswidth = 8, 1204664e8087SKonrad Dybcio .num_links = 1, 1205664e8087SKonrad Dybcio .links = { SDM845_MASTER_SNOC_GC_MEM_NOC }, 1206664e8087SKonrad Dybcio }; 1207664e8087SKonrad Dybcio 1208664e8087SKonrad Dybcio static struct qcom_icc_node qns_memnoc_sf = { 1209664e8087SKonrad Dybcio .name = "qns_memnoc_sf", 1210664e8087SKonrad Dybcio .id = SDM845_SLAVE_SNOC_MEM_NOC_SF, 1211664e8087SKonrad Dybcio .channels = 1, 1212664e8087SKonrad Dybcio .buswidth = 16, 1213664e8087SKonrad Dybcio .num_links = 1, 1214664e8087SKonrad Dybcio .links = { SDM845_MASTER_SNOC_SF_MEM_NOC }, 1215664e8087SKonrad Dybcio }; 1216664e8087SKonrad Dybcio 1217664e8087SKonrad Dybcio static struct qcom_icc_node qxs_imem = { 1218664e8087SKonrad Dybcio .name = "qxs_imem", 1219664e8087SKonrad Dybcio .id = SDM845_SLAVE_IMEM, 1220664e8087SKonrad Dybcio .channels = 1, 1221664e8087SKonrad Dybcio .buswidth = 8, 1222664e8087SKonrad Dybcio }; 1223664e8087SKonrad Dybcio 1224664e8087SKonrad Dybcio static struct qcom_icc_node qxs_pcie = { 1225664e8087SKonrad Dybcio .name = "qxs_pcie", 1226664e8087SKonrad Dybcio .id = SDM845_SLAVE_PCIE_0, 1227664e8087SKonrad Dybcio .channels = 1, 1228664e8087SKonrad Dybcio .buswidth = 8, 1229664e8087SKonrad Dybcio }; 1230664e8087SKonrad Dybcio 1231664e8087SKonrad Dybcio static struct qcom_icc_node qxs_pcie_gen3 = { 1232664e8087SKonrad Dybcio .name = "qxs_pcie_gen3", 1233664e8087SKonrad Dybcio .id = SDM845_SLAVE_PCIE_1, 1234664e8087SKonrad Dybcio .channels = 1, 1235664e8087SKonrad Dybcio .buswidth = 8, 1236664e8087SKonrad Dybcio }; 1237664e8087SKonrad Dybcio 1238664e8087SKonrad Dybcio static struct qcom_icc_node qxs_pimem = { 1239664e8087SKonrad Dybcio .name = "qxs_pimem", 1240664e8087SKonrad Dybcio .id = SDM845_SLAVE_PIMEM, 1241664e8087SKonrad Dybcio .channels = 1, 1242664e8087SKonrad Dybcio .buswidth = 8, 1243664e8087SKonrad Dybcio }; 1244664e8087SKonrad Dybcio 1245664e8087SKonrad Dybcio static struct qcom_icc_node srvc_snoc = { 1246664e8087SKonrad Dybcio .name = "srvc_snoc", 1247664e8087SKonrad Dybcio .id = SDM845_SLAVE_SERVICE_SNOC, 1248664e8087SKonrad Dybcio .channels = 1, 1249664e8087SKonrad Dybcio .buswidth = 4, 1250664e8087SKonrad Dybcio }; 1251664e8087SKonrad Dybcio 1252664e8087SKonrad Dybcio static struct qcom_icc_node xs_qdss_stm = { 1253664e8087SKonrad Dybcio .name = "xs_qdss_stm", 1254664e8087SKonrad Dybcio .id = SDM845_SLAVE_QDSS_STM, 1255664e8087SKonrad Dybcio .channels = 1, 1256664e8087SKonrad Dybcio .buswidth = 4, 1257664e8087SKonrad Dybcio }; 1258664e8087SKonrad Dybcio 1259664e8087SKonrad Dybcio static struct qcom_icc_node xs_sys_tcu_cfg = { 1260664e8087SKonrad Dybcio .name = "xs_sys_tcu_cfg", 1261664e8087SKonrad Dybcio .id = SDM845_SLAVE_TCU, 1262664e8087SKonrad Dybcio .channels = 1, 1263664e8087SKonrad Dybcio .buswidth = 8, 1264664e8087SKonrad Dybcio }; 1265aae57773SDavid Dai 126635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_acv = { 126735f490c5SKonrad Dybcio .name = "ACV", 1268*a6fe6665SKonrad Dybcio .enable_mask = BIT(3), 126935f490c5SKonrad Dybcio .keepalive = false, 127035f490c5SKonrad Dybcio .num_nodes = 1, 127135f490c5SKonrad Dybcio .nodes = { &ebi }, 127235f490c5SKonrad Dybcio }; 127335f490c5SKonrad Dybcio 127435f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mc0 = { 127535f490c5SKonrad Dybcio .name = "MC0", 127635f490c5SKonrad Dybcio .keepalive = true, 127735f490c5SKonrad Dybcio .num_nodes = 1, 127835f490c5SKonrad Dybcio .nodes = { &ebi }, 127935f490c5SKonrad Dybcio }; 128035f490c5SKonrad Dybcio 128135f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh0 = { 128235f490c5SKonrad Dybcio .name = "SH0", 128335f490c5SKonrad Dybcio .keepalive = true, 128435f490c5SKonrad Dybcio .num_nodes = 1, 128535f490c5SKonrad Dybcio .nodes = { &qns_llcc }, 128635f490c5SKonrad Dybcio }; 128735f490c5SKonrad Dybcio 128835f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm0 = { 128935f490c5SKonrad Dybcio .name = "MM0", 129035f490c5SKonrad Dybcio .keepalive = false, 129135f490c5SKonrad Dybcio .num_nodes = 1, 129235f490c5SKonrad Dybcio .nodes = { &qns_mem_noc_hf }, 129335f490c5SKonrad Dybcio }; 129435f490c5SKonrad Dybcio 129535f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh1 = { 129635f490c5SKonrad Dybcio .name = "SH1", 129735f490c5SKonrad Dybcio .keepalive = false, 129835f490c5SKonrad Dybcio .num_nodes = 1, 129935f490c5SKonrad Dybcio .nodes = { &qns_apps_io }, 130035f490c5SKonrad Dybcio }; 130135f490c5SKonrad Dybcio 130235f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm1 = { 130335f490c5SKonrad Dybcio .name = "MM1", 130435f490c5SKonrad Dybcio .keepalive = true, 130535f490c5SKonrad Dybcio .num_nodes = 7, 130635f490c5SKonrad Dybcio .nodes = { &qxm_camnoc_hf0_uncomp, 130735f490c5SKonrad Dybcio &qxm_camnoc_hf1_uncomp, 130835f490c5SKonrad Dybcio &qxm_camnoc_sf_uncomp, 130935f490c5SKonrad Dybcio &qxm_camnoc_hf0, 131035f490c5SKonrad Dybcio &qxm_camnoc_hf1, 131135f490c5SKonrad Dybcio &qxm_mdp0, 131235f490c5SKonrad Dybcio &qxm_mdp1 131335f490c5SKonrad Dybcio }, 131435f490c5SKonrad Dybcio }; 131535f490c5SKonrad Dybcio 131635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh2 = { 131735f490c5SKonrad Dybcio .name = "SH2", 131835f490c5SKonrad Dybcio .keepalive = false, 131935f490c5SKonrad Dybcio .num_nodes = 1, 132035f490c5SKonrad Dybcio .nodes = { &qns_memnoc_snoc }, 132135f490c5SKonrad Dybcio }; 132235f490c5SKonrad Dybcio 132335f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm2 = { 132435f490c5SKonrad Dybcio .name = "MM2", 132535f490c5SKonrad Dybcio .keepalive = false, 132635f490c5SKonrad Dybcio .num_nodes = 1, 132735f490c5SKonrad Dybcio .nodes = { &qns2_mem_noc }, 132835f490c5SKonrad Dybcio }; 132935f490c5SKonrad Dybcio 133035f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh3 = { 133135f490c5SKonrad Dybcio .name = "SH3", 133235f490c5SKonrad Dybcio .keepalive = false, 133335f490c5SKonrad Dybcio .num_nodes = 1, 133435f490c5SKonrad Dybcio .nodes = { &acm_tcu }, 133535f490c5SKonrad Dybcio }; 133635f490c5SKonrad Dybcio 133735f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_mm3 = { 133835f490c5SKonrad Dybcio .name = "MM3", 133935f490c5SKonrad Dybcio .keepalive = false, 134035f490c5SKonrad Dybcio .num_nodes = 5, 134135f490c5SKonrad Dybcio .nodes = { &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9 }, 134235f490c5SKonrad Dybcio }; 134335f490c5SKonrad Dybcio 134435f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sh5 = { 134535f490c5SKonrad Dybcio .name = "SH5", 134635f490c5SKonrad Dybcio .keepalive = false, 134735f490c5SKonrad Dybcio .num_nodes = 1, 134835f490c5SKonrad Dybcio .nodes = { &qnm_apps }, 134935f490c5SKonrad Dybcio }; 135035f490c5SKonrad Dybcio 135135f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn0 = { 135235f490c5SKonrad Dybcio .name = "SN0", 135335f490c5SKonrad Dybcio .keepalive = true, 135435f490c5SKonrad Dybcio .num_nodes = 1, 135535f490c5SKonrad Dybcio .nodes = { &qns_memnoc_sf }, 135635f490c5SKonrad Dybcio }; 135735f490c5SKonrad Dybcio 135835f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_ce0 = { 135935f490c5SKonrad Dybcio .name = "CE0", 136035f490c5SKonrad Dybcio .keepalive = false, 136135f490c5SKonrad Dybcio .num_nodes = 1, 136235f490c5SKonrad Dybcio .nodes = { &qxm_crypto }, 136335f490c5SKonrad Dybcio }; 136435f490c5SKonrad Dybcio 136535f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_cn0 = { 136635f490c5SKonrad Dybcio .name = "CN0", 136735f490c5SKonrad Dybcio .keepalive = false, 136835f490c5SKonrad Dybcio .num_nodes = 47, 136935f490c5SKonrad Dybcio .nodes = { &qhm_spdm, 137035f490c5SKonrad Dybcio &qhm_tic, 137135f490c5SKonrad Dybcio &qnm_snoc, 137235f490c5SKonrad Dybcio &xm_qdss_dap, 137335f490c5SKonrad Dybcio &qhs_a1_noc_cfg, 137435f490c5SKonrad Dybcio &qhs_a2_noc_cfg, 137535f490c5SKonrad Dybcio &qhs_aop, 137635f490c5SKonrad Dybcio &qhs_aoss, 137735f490c5SKonrad Dybcio &qhs_camera_cfg, 137835f490c5SKonrad Dybcio &qhs_clk_ctl, 137935f490c5SKonrad Dybcio &qhs_compute_dsp_cfg, 138035f490c5SKonrad Dybcio &qhs_cpr_cx, 138135f490c5SKonrad Dybcio &qhs_crypto0_cfg, 138235f490c5SKonrad Dybcio &qhs_dcc_cfg, 138335f490c5SKonrad Dybcio &qhs_ddrss_cfg, 138435f490c5SKonrad Dybcio &qhs_display_cfg, 138535f490c5SKonrad Dybcio &qhs_glm, 138635f490c5SKonrad Dybcio &qhs_gpuss_cfg, 138735f490c5SKonrad Dybcio &qhs_imem_cfg, 138835f490c5SKonrad Dybcio &qhs_ipa, 138935f490c5SKonrad Dybcio &qhs_mnoc_cfg, 139035f490c5SKonrad Dybcio &qhs_pcie0_cfg, 139135f490c5SKonrad Dybcio &qhs_pcie_gen3_cfg, 139235f490c5SKonrad Dybcio &qhs_pdm, 139335f490c5SKonrad Dybcio &qhs_phy_refgen_south, 139435f490c5SKonrad Dybcio &qhs_pimem_cfg, 139535f490c5SKonrad Dybcio &qhs_prng, 139635f490c5SKonrad Dybcio &qhs_qdss_cfg, 139735f490c5SKonrad Dybcio &qhs_qupv3_north, 139835f490c5SKonrad Dybcio &qhs_qupv3_south, 139935f490c5SKonrad Dybcio &qhs_sdc2, 140035f490c5SKonrad Dybcio &qhs_sdc4, 140135f490c5SKonrad Dybcio &qhs_snoc_cfg, 140235f490c5SKonrad Dybcio &qhs_spdm, 140335f490c5SKonrad Dybcio &qhs_spss_cfg, 140435f490c5SKonrad Dybcio &qhs_tcsr, 140535f490c5SKonrad Dybcio &qhs_tlmm_north, 140635f490c5SKonrad Dybcio &qhs_tlmm_south, 140735f490c5SKonrad Dybcio &qhs_tsif, 140835f490c5SKonrad Dybcio &qhs_ufs_card_cfg, 140935f490c5SKonrad Dybcio &qhs_ufs_mem_cfg, 141035f490c5SKonrad Dybcio &qhs_usb3_0, 141135f490c5SKonrad Dybcio &qhs_usb3_1, 141235f490c5SKonrad Dybcio &qhs_venus_cfg, 141335f490c5SKonrad Dybcio &qhs_vsense_ctrl_cfg, 141435f490c5SKonrad Dybcio &qns_cnoc_a2noc, 141535f490c5SKonrad Dybcio &srvc_cnoc 141635f490c5SKonrad Dybcio }, 141735f490c5SKonrad Dybcio }; 141835f490c5SKonrad Dybcio 141935f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_qup0 = { 142035f490c5SKonrad Dybcio .name = "QUP0", 142135f490c5SKonrad Dybcio .keepalive = false, 142235f490c5SKonrad Dybcio .num_nodes = 2, 142335f490c5SKonrad Dybcio .nodes = { &qhm_qup1, &qhm_qup2 }, 142435f490c5SKonrad Dybcio }; 142535f490c5SKonrad Dybcio 142635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn1 = { 142735f490c5SKonrad Dybcio .name = "SN1", 142835f490c5SKonrad Dybcio .keepalive = false, 142935f490c5SKonrad Dybcio .num_nodes = 1, 143035f490c5SKonrad Dybcio .nodes = { &qxs_imem }, 143135f490c5SKonrad Dybcio }; 143235f490c5SKonrad Dybcio 143335f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn2 = { 143435f490c5SKonrad Dybcio .name = "SN2", 143535f490c5SKonrad Dybcio .keepalive = false, 143635f490c5SKonrad Dybcio .num_nodes = 1, 143735f490c5SKonrad Dybcio .nodes = { &qns_memnoc_gc }, 143835f490c5SKonrad Dybcio }; 143935f490c5SKonrad Dybcio 144035f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn3 = { 144135f490c5SKonrad Dybcio .name = "SN3", 144235f490c5SKonrad Dybcio .keepalive = false, 144335f490c5SKonrad Dybcio .num_nodes = 1, 144435f490c5SKonrad Dybcio .nodes = { &qns_cnoc }, 144535f490c5SKonrad Dybcio }; 144635f490c5SKonrad Dybcio 144735f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn4 = { 144835f490c5SKonrad Dybcio .name = "SN4", 144935f490c5SKonrad Dybcio .keepalive = false, 145035f490c5SKonrad Dybcio .num_nodes = 1, 145135f490c5SKonrad Dybcio .nodes = { &qxm_pimem }, 145235f490c5SKonrad Dybcio }; 145335f490c5SKonrad Dybcio 145435f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn5 = { 145535f490c5SKonrad Dybcio .name = "SN5", 145635f490c5SKonrad Dybcio .keepalive = false, 145735f490c5SKonrad Dybcio .num_nodes = 1, 145835f490c5SKonrad Dybcio .nodes = { &xs_qdss_stm }, 145935f490c5SKonrad Dybcio }; 146035f490c5SKonrad Dybcio 146135f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn6 = { 146235f490c5SKonrad Dybcio .name = "SN6", 146335f490c5SKonrad Dybcio .keepalive = false, 146435f490c5SKonrad Dybcio .num_nodes = 3, 146535f490c5SKonrad Dybcio .nodes = { &qhs_apss, &srvc_snoc, &xs_sys_tcu_cfg }, 146635f490c5SKonrad Dybcio }; 146735f490c5SKonrad Dybcio 146835f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn7 = { 146935f490c5SKonrad Dybcio .name = "SN7", 147035f490c5SKonrad Dybcio .keepalive = false, 147135f490c5SKonrad Dybcio .num_nodes = 1, 147235f490c5SKonrad Dybcio .nodes = { &qxs_pcie }, 147335f490c5SKonrad Dybcio }; 147435f490c5SKonrad Dybcio 147535f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn8 = { 147635f490c5SKonrad Dybcio .name = "SN8", 147735f490c5SKonrad Dybcio .keepalive = false, 147835f490c5SKonrad Dybcio .num_nodes = 1, 147935f490c5SKonrad Dybcio .nodes = { &qxs_pcie_gen3 }, 148035f490c5SKonrad Dybcio }; 148135f490c5SKonrad Dybcio 148235f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn9 = { 148335f490c5SKonrad Dybcio .name = "SN9", 148435f490c5SKonrad Dybcio .keepalive = false, 148535f490c5SKonrad Dybcio .num_nodes = 2, 148635f490c5SKonrad Dybcio .nodes = { &srvc_aggre1_noc, &qnm_aggre1_noc }, 148735f490c5SKonrad Dybcio }; 148835f490c5SKonrad Dybcio 148935f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn11 = { 149035f490c5SKonrad Dybcio .name = "SN11", 149135f490c5SKonrad Dybcio .keepalive = false, 149235f490c5SKonrad Dybcio .num_nodes = 2, 149335f490c5SKonrad Dybcio .nodes = { &srvc_aggre2_noc, &qnm_aggre2_noc }, 149435f490c5SKonrad Dybcio }; 149535f490c5SKonrad Dybcio 149635f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn12 = { 149735f490c5SKonrad Dybcio .name = "SN12", 149835f490c5SKonrad Dybcio .keepalive = false, 149935f490c5SKonrad Dybcio .num_nodes = 2, 150035f490c5SKonrad Dybcio .nodes = { &qnm_gladiator_sodv, &xm_gic }, 150135f490c5SKonrad Dybcio }; 150235f490c5SKonrad Dybcio 150335f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn14 = { 150435f490c5SKonrad Dybcio .name = "SN14", 150535f490c5SKonrad Dybcio .keepalive = false, 150635f490c5SKonrad Dybcio .num_nodes = 1, 150735f490c5SKonrad Dybcio .nodes = { &qnm_pcie_anoc }, 150835f490c5SKonrad Dybcio }; 150935f490c5SKonrad Dybcio 151035f490c5SKonrad Dybcio static struct qcom_icc_bcm bcm_sn15 = { 151135f490c5SKonrad Dybcio .name = "SN15", 151235f490c5SKonrad Dybcio .keepalive = false, 151335f490c5SKonrad Dybcio .num_nodes = 1, 151435f490c5SKonrad Dybcio .nodes = { &qnm_memnoc }, 151535f490c5SKonrad Dybcio }; 1516aae57773SDavid Dai 15177123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 1518aae57773SDavid Dai &bcm_sn9, 1519cd5fc457SGeorgi Djakov &bcm_qup0, 1520b5d2f741SDavid Dai }; 1521b5d2f741SDavid Dai 15222ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = { 1523b5d2f741SDavid Dai [MASTER_A1NOC_CFG] = &qhm_a1noc_cfg, 1524b5d2f741SDavid Dai [MASTER_TSIF] = &qhm_tsif, 1525b5d2f741SDavid Dai [MASTER_SDCC_2] = &xm_sdc2, 1526b5d2f741SDavid Dai [MASTER_SDCC_4] = &xm_sdc4, 1527b5d2f741SDavid Dai [MASTER_UFS_CARD] = &xm_ufs_card, 1528b5d2f741SDavid Dai [MASTER_UFS_MEM] = &xm_ufs_mem, 1529aae57773SDavid Dai [MASTER_PCIE_0] = &xm_pcie_0, 1530aae57773SDavid Dai [SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc, 1531aae57773SDavid Dai [SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc, 1532aae57773SDavid Dai [SLAVE_ANOC_PCIE_A1NOC_SNOC] = &qns_pcie_a1noc_snoc, 1533cd5fc457SGeorgi Djakov [MASTER_QUP_1] = &qhm_qup1, 1534aae57773SDavid Dai }; 1535aae57773SDavid Dai 15365409e0ccSChenTao static const struct qcom_icc_desc sdm845_aggre1_noc = { 1537aae57773SDavid Dai .nodes = aggre1_noc_nodes, 1538aae57773SDavid Dai .num_nodes = ARRAY_SIZE(aggre1_noc_nodes), 1539aae57773SDavid Dai .bcms = aggre1_noc_bcms, 1540aae57773SDavid Dai .num_bcms = ARRAY_SIZE(aggre1_noc_bcms), 1541aae57773SDavid Dai }; 1542aae57773SDavid Dai 15437123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = { 1544aae57773SDavid Dai &bcm_ce0, 1545aae57773SDavid Dai &bcm_sn11, 1546aae57773SDavid Dai &bcm_qup0, 1547aae57773SDavid Dai }; 1548aae57773SDavid Dai 15492ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = { 1550aae57773SDavid Dai [MASTER_A2NOC_CFG] = &qhm_a2noc_cfg, 1551aae57773SDavid Dai [MASTER_QDSS_BAM] = &qhm_qdss_bam, 1552aae57773SDavid Dai [MASTER_CNOC_A2NOC] = &qnm_cnoc, 1553aae57773SDavid Dai [MASTER_CRYPTO] = &qxm_crypto, 1554aae57773SDavid Dai [MASTER_IPA] = &qxm_ipa, 1555aae57773SDavid Dai [MASTER_PCIE_1] = &xm_pcie3_1, 1556aae57773SDavid Dai [MASTER_QDSS_ETR] = &xm_qdss_etr, 1557b5d2f741SDavid Dai [MASTER_USB3_0] = &xm_usb3_0, 1558b5d2f741SDavid Dai [MASTER_USB3_1] = &xm_usb3_1, 1559aae57773SDavid Dai [SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc, 1560aae57773SDavid Dai [SLAVE_ANOC_PCIE_SNOC] = &qns_pcie_snoc, 1561aae57773SDavid Dai [SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc, 1562cd5fc457SGeorgi Djakov [MASTER_QUP_2] = &qhm_qup2, 1563aae57773SDavid Dai }; 1564aae57773SDavid Dai 15655409e0ccSChenTao static const struct qcom_icc_desc sdm845_aggre2_noc = { 1566aae57773SDavid Dai .nodes = aggre2_noc_nodes, 1567aae57773SDavid Dai .num_nodes = ARRAY_SIZE(aggre2_noc_nodes), 1568aae57773SDavid Dai .bcms = aggre2_noc_bcms, 1569aae57773SDavid Dai .num_bcms = ARRAY_SIZE(aggre2_noc_bcms), 1570aae57773SDavid Dai }; 1571aae57773SDavid Dai 15727123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = { 1573aae57773SDavid Dai &bcm_cn0, 1574aae57773SDavid Dai }; 1575aae57773SDavid Dai 15762ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = { 1577aae57773SDavid Dai [MASTER_SPDM] = &qhm_spdm, 1578aae57773SDavid Dai [MASTER_TIC] = &qhm_tic, 1579aae57773SDavid Dai [MASTER_SNOC_CNOC] = &qnm_snoc, 1580aae57773SDavid Dai [MASTER_QDSS_DAP] = &xm_qdss_dap, 1581b5d2f741SDavid Dai [SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg, 1582b5d2f741SDavid Dai [SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg, 1583b5d2f741SDavid Dai [SLAVE_AOP] = &qhs_aop, 1584b5d2f741SDavid Dai [SLAVE_AOSS] = &qhs_aoss, 1585b5d2f741SDavid Dai [SLAVE_CAMERA_CFG] = &qhs_camera_cfg, 1586b5d2f741SDavid Dai [SLAVE_CLK_CTL] = &qhs_clk_ctl, 1587b5d2f741SDavid Dai [SLAVE_CDSP_CFG] = &qhs_compute_dsp_cfg, 1588b5d2f741SDavid Dai [SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx, 1589b5d2f741SDavid Dai [SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg, 1590b5d2f741SDavid Dai [SLAVE_DCC_CFG] = &qhs_dcc_cfg, 1591b5d2f741SDavid Dai [SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg, 1592b5d2f741SDavid Dai [SLAVE_DISPLAY_CFG] = &qhs_display_cfg, 1593b5d2f741SDavid Dai [SLAVE_GLM] = &qhs_glm, 1594b5d2f741SDavid Dai [SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg, 1595b5d2f741SDavid Dai [SLAVE_IMEM_CFG] = &qhs_imem_cfg, 1596b5d2f741SDavid Dai [SLAVE_IPA_CFG] = &qhs_ipa, 1597b5d2f741SDavid Dai [SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg, 1598b5d2f741SDavid Dai [SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg, 1599b5d2f741SDavid Dai [SLAVE_PCIE_1_CFG] = &qhs_pcie_gen3_cfg, 1600b5d2f741SDavid Dai [SLAVE_PDM] = &qhs_pdm, 1601b5d2f741SDavid Dai [SLAVE_SOUTH_PHY_CFG] = &qhs_phy_refgen_south, 1602b5d2f741SDavid Dai [SLAVE_PIMEM_CFG] = &qhs_pimem_cfg, 1603b5d2f741SDavid Dai [SLAVE_PRNG] = &qhs_prng, 1604b5d2f741SDavid Dai [SLAVE_QDSS_CFG] = &qhs_qdss_cfg, 1605b5d2f741SDavid Dai [SLAVE_BLSP_2] = &qhs_qupv3_north, 1606b5d2f741SDavid Dai [SLAVE_BLSP_1] = &qhs_qupv3_south, 1607b5d2f741SDavid Dai [SLAVE_SDCC_2] = &qhs_sdc2, 1608b5d2f741SDavid Dai [SLAVE_SDCC_4] = &qhs_sdc4, 1609b5d2f741SDavid Dai [SLAVE_SNOC_CFG] = &qhs_snoc_cfg, 1610b5d2f741SDavid Dai [SLAVE_SPDM_WRAPPER] = &qhs_spdm, 1611b5d2f741SDavid Dai [SLAVE_SPSS_CFG] = &qhs_spss_cfg, 1612b5d2f741SDavid Dai [SLAVE_TCSR] = &qhs_tcsr, 1613b5d2f741SDavid Dai [SLAVE_TLMM_NORTH] = &qhs_tlmm_north, 1614b5d2f741SDavid Dai [SLAVE_TLMM_SOUTH] = &qhs_tlmm_south, 1615b5d2f741SDavid Dai [SLAVE_TSIF] = &qhs_tsif, 1616b5d2f741SDavid Dai [SLAVE_UFS_CARD_CFG] = &qhs_ufs_card_cfg, 1617b5d2f741SDavid Dai [SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg, 1618b5d2f741SDavid Dai [SLAVE_USB3_0] = &qhs_usb3_0, 1619b5d2f741SDavid Dai [SLAVE_USB3_1] = &qhs_usb3_1, 1620b5d2f741SDavid Dai [SLAVE_VENUS_CFG] = &qhs_venus_cfg, 1621b5d2f741SDavid Dai [SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg, 1622b5d2f741SDavid Dai [SLAVE_CNOC_A2NOC] = &qns_cnoc_a2noc, 1623b5d2f741SDavid Dai [SLAVE_SERVICE_CNOC] = &srvc_cnoc, 1624b5d2f741SDavid Dai }; 1625b5d2f741SDavid Dai 16265409e0ccSChenTao static const struct qcom_icc_desc sdm845_config_noc = { 1627aae57773SDavid Dai .nodes = config_noc_nodes, 1628aae57773SDavid Dai .num_nodes = ARRAY_SIZE(config_noc_nodes), 1629aae57773SDavid Dai .bcms = config_noc_bcms, 1630aae57773SDavid Dai .num_bcms = ARRAY_SIZE(config_noc_bcms), 1631aae57773SDavid Dai }; 1632aae57773SDavid Dai 16337123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const dc_noc_bcms[] = { 1634aae57773SDavid Dai }; 1635aae57773SDavid Dai 16362ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = { 1637aae57773SDavid Dai [MASTER_CNOC_DC_NOC] = &qhm_cnoc, 1638aae57773SDavid Dai [SLAVE_LLCC_CFG] = &qhs_llcc, 1639aae57773SDavid Dai [SLAVE_MEM_NOC_CFG] = &qhs_memnoc, 1640aae57773SDavid Dai }; 1641aae57773SDavid Dai 16425409e0ccSChenTao static const struct qcom_icc_desc sdm845_dc_noc = { 1643aae57773SDavid Dai .nodes = dc_noc_nodes, 1644aae57773SDavid Dai .num_nodes = ARRAY_SIZE(dc_noc_nodes), 1645aae57773SDavid Dai .bcms = dc_noc_bcms, 1646aae57773SDavid Dai .num_bcms = ARRAY_SIZE(dc_noc_bcms), 1647aae57773SDavid Dai }; 1648aae57773SDavid Dai 16497123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gladiator_noc_bcms[] = { 1650aae57773SDavid Dai }; 1651aae57773SDavid Dai 16522ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gladiator_noc_nodes[] = { 1653aae57773SDavid Dai [MASTER_APPSS_PROC] = &acm_l3, 1654aae57773SDavid Dai [MASTER_GNOC_CFG] = &pm_gnoc_cfg, 1655aae57773SDavid Dai [SLAVE_GNOC_SNOC] = &qns_gladiator_sodv, 1656aae57773SDavid Dai [SLAVE_GNOC_MEM_NOC] = &qns_gnoc_memnoc, 1657aae57773SDavid Dai [SLAVE_SERVICE_GNOC] = &srvc_gnoc, 1658aae57773SDavid Dai }; 1659aae57773SDavid Dai 16605409e0ccSChenTao static const struct qcom_icc_desc sdm845_gladiator_noc = { 1661aae57773SDavid Dai .nodes = gladiator_noc_nodes, 1662aae57773SDavid Dai .num_nodes = ARRAY_SIZE(gladiator_noc_nodes), 1663aae57773SDavid Dai .bcms = gladiator_noc_bcms, 1664aae57773SDavid Dai .num_bcms = ARRAY_SIZE(gladiator_noc_bcms), 1665aae57773SDavid Dai }; 1666aae57773SDavid Dai 16677123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mem_noc_bcms[] = { 1668b5d2f741SDavid Dai &bcm_mc0, 1669aae57773SDavid Dai &bcm_acv, 1670b5d2f741SDavid Dai &bcm_sh0, 1671b5d2f741SDavid Dai &bcm_sh1, 1672b5d2f741SDavid Dai &bcm_sh2, 1673b5d2f741SDavid Dai &bcm_sh3, 1674b5d2f741SDavid Dai &bcm_sh5, 1675aae57773SDavid Dai }; 1676aae57773SDavid Dai 16772ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mem_noc_nodes[] = { 1678aae57773SDavid Dai [MASTER_TCU_0] = &acm_tcu, 1679aae57773SDavid Dai [MASTER_MEM_NOC_CFG] = &qhm_memnoc_cfg, 1680aae57773SDavid Dai [MASTER_GNOC_MEM_NOC] = &qnm_apps, 1681aae57773SDavid Dai [MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf, 1682aae57773SDavid Dai [MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf, 1683aae57773SDavid Dai [MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc, 1684aae57773SDavid Dai [MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf, 1685aae57773SDavid Dai [MASTER_GFX3D] = &qxm_gpu, 1686aae57773SDavid Dai [SLAVE_MSS_PROC_MS_MPU_CFG] = &qhs_mdsp_ms_mpu_cfg, 1687aae57773SDavid Dai [SLAVE_MEM_NOC_GNOC] = &qns_apps_io, 1688aae57773SDavid Dai [SLAVE_LLCC] = &qns_llcc, 1689aae57773SDavid Dai [SLAVE_MEM_NOC_SNOC] = &qns_memnoc_snoc, 1690aae57773SDavid Dai [SLAVE_SERVICE_MEM_NOC] = &srvc_memnoc, 1691aae57773SDavid Dai [MASTER_LLCC] = &llcc_mc, 1692aae57773SDavid Dai [SLAVE_EBI1] = &ebi, 1693aae57773SDavid Dai }; 1694aae57773SDavid Dai 16955409e0ccSChenTao static const struct qcom_icc_desc sdm845_mem_noc = { 1696aae57773SDavid Dai .nodes = mem_noc_nodes, 1697aae57773SDavid Dai .num_nodes = ARRAY_SIZE(mem_noc_nodes), 1698aae57773SDavid Dai .bcms = mem_noc_bcms, 1699aae57773SDavid Dai .num_bcms = ARRAY_SIZE(mem_noc_bcms), 1700aae57773SDavid Dai }; 1701aae57773SDavid Dai 17027123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = { 1703aae57773SDavid Dai &bcm_mm0, 1704aae57773SDavid Dai &bcm_mm1, 1705aae57773SDavid Dai &bcm_mm2, 1706aae57773SDavid Dai &bcm_mm3, 1707aae57773SDavid Dai }; 1708aae57773SDavid Dai 17092ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = { 1710aae57773SDavid Dai [MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg, 1711aae57773SDavid Dai [MASTER_CAMNOC_HF0] = &qxm_camnoc_hf0, 1712aae57773SDavid Dai [MASTER_CAMNOC_HF1] = &qxm_camnoc_hf1, 1713aae57773SDavid Dai [MASTER_CAMNOC_SF] = &qxm_camnoc_sf, 1714aae57773SDavid Dai [MASTER_MDP0] = &qxm_mdp0, 1715aae57773SDavid Dai [MASTER_MDP1] = &qxm_mdp1, 1716aae57773SDavid Dai [MASTER_ROTATOR] = &qxm_rot, 1717aae57773SDavid Dai [MASTER_VIDEO_P0] = &qxm_venus0, 1718aae57773SDavid Dai [MASTER_VIDEO_P1] = &qxm_venus1, 1719aae57773SDavid Dai [MASTER_VIDEO_PROC] = &qxm_venus_arm9, 1720aae57773SDavid Dai [SLAVE_MNOC_SF_MEM_NOC] = &qns2_mem_noc, 1721aae57773SDavid Dai [SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf, 1722aae57773SDavid Dai [SLAVE_SERVICE_MNOC] = &srvc_mnoc, 1723aae57773SDavid Dai [MASTER_CAMNOC_HF0_UNCOMP] = &qxm_camnoc_hf0_uncomp, 1724aae57773SDavid Dai [MASTER_CAMNOC_HF1_UNCOMP] = &qxm_camnoc_hf1_uncomp, 1725aae57773SDavid Dai [MASTER_CAMNOC_SF_UNCOMP] = &qxm_camnoc_sf_uncomp, 1726aae57773SDavid Dai [SLAVE_CAMNOC_UNCOMP] = &qns_camnoc_uncomp, 1727aae57773SDavid Dai }; 1728aae57773SDavid Dai 17295409e0ccSChenTao static const struct qcom_icc_desc sdm845_mmss_noc = { 1730aae57773SDavid Dai .nodes = mmss_noc_nodes, 1731aae57773SDavid Dai .num_nodes = ARRAY_SIZE(mmss_noc_nodes), 1732aae57773SDavid Dai .bcms = mmss_noc_bcms, 1733aae57773SDavid Dai .num_bcms = ARRAY_SIZE(mmss_noc_bcms), 1734aae57773SDavid Dai }; 1735aae57773SDavid Dai 17367123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = { 1737b5d2f741SDavid Dai &bcm_sn0, 1738b5d2f741SDavid Dai &bcm_sn1, 1739b5d2f741SDavid Dai &bcm_sn2, 1740b5d2f741SDavid Dai &bcm_sn3, 1741b5d2f741SDavid Dai &bcm_sn4, 1742b5d2f741SDavid Dai &bcm_sn5, 1743b5d2f741SDavid Dai &bcm_sn6, 1744b5d2f741SDavid Dai &bcm_sn7, 1745b5d2f741SDavid Dai &bcm_sn8, 1746b5d2f741SDavid Dai &bcm_sn9, 1747b5d2f741SDavid Dai &bcm_sn11, 1748b5d2f741SDavid Dai &bcm_sn12, 1749b5d2f741SDavid Dai &bcm_sn14, 1750b5d2f741SDavid Dai &bcm_sn15, 1751b5d2f741SDavid Dai }; 1752b5d2f741SDavid Dai 17532ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = { 1754aae57773SDavid Dai [MASTER_SNOC_CFG] = &qhm_snoc_cfg, 1755aae57773SDavid Dai [MASTER_A1NOC_SNOC] = &qnm_aggre1_noc, 1756aae57773SDavid Dai [MASTER_A2NOC_SNOC] = &qnm_aggre2_noc, 1757aae57773SDavid Dai [MASTER_GNOC_SNOC] = &qnm_gladiator_sodv, 1758aae57773SDavid Dai [MASTER_MEM_NOC_SNOC] = &qnm_memnoc, 1759aae57773SDavid Dai [MASTER_ANOC_PCIE_SNOC] = &qnm_pcie_anoc, 1760aae57773SDavid Dai [MASTER_PIMEM] = &qxm_pimem, 1761aae57773SDavid Dai [MASTER_GIC] = &xm_gic, 1762aae57773SDavid Dai [SLAVE_APPSS] = &qhs_apss, 1763aae57773SDavid Dai [SLAVE_SNOC_CNOC] = &qns_cnoc, 1764aae57773SDavid Dai [SLAVE_SNOC_MEM_NOC_GC] = &qns_memnoc_gc, 1765aae57773SDavid Dai [SLAVE_SNOC_MEM_NOC_SF] = &qns_memnoc_sf, 1766aae57773SDavid Dai [SLAVE_IMEM] = &qxs_imem, 1767aae57773SDavid Dai [SLAVE_PCIE_0] = &qxs_pcie, 1768aae57773SDavid Dai [SLAVE_PCIE_1] = &qxs_pcie_gen3, 1769aae57773SDavid Dai [SLAVE_PIMEM] = &qxs_pimem, 1770aae57773SDavid Dai [SLAVE_SERVICE_SNOC] = &srvc_snoc, 1771aae57773SDavid Dai [SLAVE_QDSS_STM] = &xs_qdss_stm, 1772aae57773SDavid Dai [SLAVE_TCU] = &xs_sys_tcu_cfg, 1773b5d2f741SDavid Dai }; 1774b5d2f741SDavid Dai 17755409e0ccSChenTao static const struct qcom_icc_desc sdm845_system_noc = { 1776aae57773SDavid Dai .nodes = system_noc_nodes, 1777aae57773SDavid Dai .num_nodes = ARRAY_SIZE(system_noc_nodes), 1778aae57773SDavid Dai .bcms = system_noc_bcms, 1779aae57773SDavid Dai .num_bcms = ARRAY_SIZE(system_noc_bcms), 1780aae57773SDavid Dai }; 1781b5d2f741SDavid Dai 1782b5d2f741SDavid Dai static const struct of_device_id qnoc_of_match[] = { 1783aae57773SDavid Dai { .compatible = "qcom,sdm845-aggre1-noc", 1784aae57773SDavid Dai .data = &sdm845_aggre1_noc}, 1785aae57773SDavid Dai { .compatible = "qcom,sdm845-aggre2-noc", 1786aae57773SDavid Dai .data = &sdm845_aggre2_noc}, 1787aae57773SDavid Dai { .compatible = "qcom,sdm845-config-noc", 1788aae57773SDavid Dai .data = &sdm845_config_noc}, 1789aae57773SDavid Dai { .compatible = "qcom,sdm845-dc-noc", 1790aae57773SDavid Dai .data = &sdm845_dc_noc}, 1791aae57773SDavid Dai { .compatible = "qcom,sdm845-gladiator-noc", 1792aae57773SDavid Dai .data = &sdm845_gladiator_noc}, 1793aae57773SDavid Dai { .compatible = "qcom,sdm845-mem-noc", 1794aae57773SDavid Dai .data = &sdm845_mem_noc}, 1795aae57773SDavid Dai { .compatible = "qcom,sdm845-mmss-noc", 1796aae57773SDavid Dai .data = &sdm845_mmss_noc}, 1797aae57773SDavid Dai { .compatible = "qcom,sdm845-system-noc", 1798aae57773SDavid Dai .data = &sdm845_system_noc}, 1799aae57773SDavid Dai { } 1800b5d2f741SDavid Dai }; 1801b5d2f741SDavid Dai MODULE_DEVICE_TABLE(of, qnoc_of_match); 1802b5d2f741SDavid Dai 1803b5d2f741SDavid Dai static struct platform_driver qnoc_driver = { 1804789a39adSMike Tipton .probe = qcom_icc_rpmh_probe, 1805789a39adSMike Tipton .remove = qcom_icc_rpmh_remove, 1806b5d2f741SDavid Dai .driver = { 1807b5d2f741SDavid Dai .name = "qnoc-sdm845", 1808b5d2f741SDavid Dai .of_match_table = qnoc_of_match, 18097d3b0b0dSGeorgi Djakov .sync_state = icc_sync_state, 1810b5d2f741SDavid Dai }, 1811b5d2f741SDavid Dai }; 1812b5d2f741SDavid Dai module_platform_driver(qnoc_driver); 1813b5d2f741SDavid Dai 1814b5d2f741SDavid Dai MODULE_AUTHOR("David Dai <daidavid1@codeaurora.org>"); 1815b5d2f741SDavid Dai MODULE_DESCRIPTION("Qualcomm sdm845 NoC driver"); 1816b5d2f741SDavid Dai MODULE_LICENSE("GPL v2"); 1817