16df5b349SJonathan Marek // SPDX-License-Identifier: GPL-2.0 26df5b349SJonathan Marek /* 36df5b349SJonathan Marek * Copyright (c) 2020, The Linux Foundation. All rights reserved. 46df5b349SJonathan Marek * 56df5b349SJonathan Marek */ 66df5b349SJonathan Marek 76df5b349SJonathan Marek #include <linux/device.h> 86df5b349SJonathan Marek #include <linux/interconnect.h> 96df5b349SJonathan Marek #include <linux/interconnect-provider.h> 10cff66aceSRob Herring #include <linux/mod_devicetable.h> 116df5b349SJonathan Marek #include <linux/module.h> 12cff66aceSRob Herring #include <linux/platform_device.h> 136df5b349SJonathan Marek #include <dt-bindings/interconnect/qcom,sm8250.h> 146df5b349SJonathan Marek 156df5b349SJonathan Marek #include "bcm-voter.h" 166df5b349SJonathan Marek #include "icc-rpmh.h" 176df5b349SJonathan Marek #include "sm8250.h" 186df5b349SJonathan Marek 19aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_a1noc_cfg = { 20aaf7d02fSKonrad Dybcio .name = "qhm_a1noc_cfg", 21aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_A1NOC_CFG, 22aaf7d02fSKonrad Dybcio .channels = 1, 23aaf7d02fSKonrad Dybcio .buswidth = 4, 24aaf7d02fSKonrad Dybcio .num_links = 1, 25aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SERVICE_A1NOC }, 26aaf7d02fSKonrad Dybcio }; 27aaf7d02fSKonrad Dybcio 28aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qspi = { 29aaf7d02fSKonrad Dybcio .name = "qhm_qspi", 30aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QSPI_0, 31aaf7d02fSKonrad Dybcio .channels = 1, 32aaf7d02fSKonrad Dybcio .buswidth = 4, 33aaf7d02fSKonrad Dybcio .num_links = 1, 34aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 35aaf7d02fSKonrad Dybcio }; 36aaf7d02fSKonrad Dybcio 37aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qup1 = { 38aaf7d02fSKonrad Dybcio .name = "qhm_qup1", 39aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QUP_1, 40aaf7d02fSKonrad Dybcio .channels = 1, 41aaf7d02fSKonrad Dybcio .buswidth = 4, 42aaf7d02fSKonrad Dybcio .num_links = 1, 43aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 44aaf7d02fSKonrad Dybcio }; 45aaf7d02fSKonrad Dybcio 46aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qup2 = { 47aaf7d02fSKonrad Dybcio .name = "qhm_qup2", 48aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QUP_2, 49aaf7d02fSKonrad Dybcio .channels = 1, 50aaf7d02fSKonrad Dybcio .buswidth = 4, 51aaf7d02fSKonrad Dybcio .num_links = 1, 52aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 53aaf7d02fSKonrad Dybcio }; 54aaf7d02fSKonrad Dybcio 55aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_tsif = { 56aaf7d02fSKonrad Dybcio .name = "qhm_tsif", 57aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_TSIF, 58aaf7d02fSKonrad Dybcio .channels = 1, 59aaf7d02fSKonrad Dybcio .buswidth = 4, 60aaf7d02fSKonrad Dybcio .num_links = 1, 61aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 62aaf7d02fSKonrad Dybcio }; 63aaf7d02fSKonrad Dybcio 64aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_pcie3_modem = { 65aaf7d02fSKonrad Dybcio .name = "xm_pcie3_modem", 66aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_PCIE_2, 67aaf7d02fSKonrad Dybcio .channels = 1, 68aaf7d02fSKonrad Dybcio .buswidth = 8, 69aaf7d02fSKonrad Dybcio .num_links = 1, 70aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1 }, 71aaf7d02fSKonrad Dybcio }; 72aaf7d02fSKonrad Dybcio 73aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_sdc4 = { 74aaf7d02fSKonrad Dybcio .name = "xm_sdc4", 75aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_SDCC_4, 76aaf7d02fSKonrad Dybcio .channels = 1, 77aaf7d02fSKonrad Dybcio .buswidth = 8, 78aaf7d02fSKonrad Dybcio .num_links = 1, 79aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 80aaf7d02fSKonrad Dybcio }; 81aaf7d02fSKonrad Dybcio 82aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_ufs_mem = { 83aaf7d02fSKonrad Dybcio .name = "xm_ufs_mem", 84aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_UFS_MEM, 85aaf7d02fSKonrad Dybcio .channels = 1, 86aaf7d02fSKonrad Dybcio .buswidth = 8, 87aaf7d02fSKonrad Dybcio .num_links = 1, 88aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 89aaf7d02fSKonrad Dybcio }; 90aaf7d02fSKonrad Dybcio 91aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_usb3_0 = { 92aaf7d02fSKonrad Dybcio .name = "xm_usb3_0", 93aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_USB3, 94aaf7d02fSKonrad Dybcio .channels = 1, 95aaf7d02fSKonrad Dybcio .buswidth = 8, 96aaf7d02fSKonrad Dybcio .num_links = 1, 97aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 98aaf7d02fSKonrad Dybcio }; 99aaf7d02fSKonrad Dybcio 100aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_usb3_1 = { 101aaf7d02fSKonrad Dybcio .name = "xm_usb3_1", 102aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_USB3_1, 103aaf7d02fSKonrad Dybcio .channels = 1, 104aaf7d02fSKonrad Dybcio .buswidth = 8, 105aaf7d02fSKonrad Dybcio .num_links = 1, 106aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_SLV }, 107aaf7d02fSKonrad Dybcio }; 108aaf7d02fSKonrad Dybcio 109aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_a2noc_cfg = { 110aaf7d02fSKonrad Dybcio .name = "qhm_a2noc_cfg", 111aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_A2NOC_CFG, 112aaf7d02fSKonrad Dybcio .channels = 1, 113aaf7d02fSKonrad Dybcio .buswidth = 4, 114aaf7d02fSKonrad Dybcio .num_links = 1, 115aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SERVICE_A2NOC }, 116aaf7d02fSKonrad Dybcio }; 117aaf7d02fSKonrad Dybcio 118aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qdss_bam = { 119aaf7d02fSKonrad Dybcio .name = "qhm_qdss_bam", 120aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QDSS_BAM, 121aaf7d02fSKonrad Dybcio .channels = 1, 122aaf7d02fSKonrad Dybcio .buswidth = 4, 123aaf7d02fSKonrad Dybcio .num_links = 1, 124aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 125aaf7d02fSKonrad Dybcio }; 126aaf7d02fSKonrad Dybcio 127aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_qup0 = { 128aaf7d02fSKonrad Dybcio .name = "qhm_qup0", 129aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QUP_0, 130aaf7d02fSKonrad Dybcio .channels = 1, 131aaf7d02fSKonrad Dybcio .buswidth = 4, 132aaf7d02fSKonrad Dybcio .num_links = 1, 133aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 134aaf7d02fSKonrad Dybcio }; 135aaf7d02fSKonrad Dybcio 136aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_cnoc = { 137aaf7d02fSKonrad Dybcio .name = "qnm_cnoc", 138aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CNOC_A2NOC, 139aaf7d02fSKonrad Dybcio .channels = 1, 140aaf7d02fSKonrad Dybcio .buswidth = 8, 141aaf7d02fSKonrad Dybcio .num_links = 1, 142aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 143aaf7d02fSKonrad Dybcio }; 144aaf7d02fSKonrad Dybcio 145aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_crypto = { 146aaf7d02fSKonrad Dybcio .name = "qxm_crypto", 147aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CRYPTO_CORE_0, 148aaf7d02fSKonrad Dybcio .channels = 1, 149aaf7d02fSKonrad Dybcio .buswidth = 8, 150aaf7d02fSKonrad Dybcio .num_links = 1, 151aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 152aaf7d02fSKonrad Dybcio }; 153aaf7d02fSKonrad Dybcio 154aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_ipa = { 155aaf7d02fSKonrad Dybcio .name = "qxm_ipa", 156aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_IPA, 157aaf7d02fSKonrad Dybcio .channels = 1, 158aaf7d02fSKonrad Dybcio .buswidth = 8, 159aaf7d02fSKonrad Dybcio .num_links = 1, 160aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 161aaf7d02fSKonrad Dybcio }; 162aaf7d02fSKonrad Dybcio 163aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_pcie3_0 = { 164aaf7d02fSKonrad Dybcio .name = "xm_pcie3_0", 165aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_PCIE, 166aaf7d02fSKonrad Dybcio .channels = 1, 167aaf7d02fSKonrad Dybcio .buswidth = 8, 168aaf7d02fSKonrad Dybcio .num_links = 1, 169aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC }, 170aaf7d02fSKonrad Dybcio }; 171aaf7d02fSKonrad Dybcio 172aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_pcie3_1 = { 173aaf7d02fSKonrad Dybcio .name = "xm_pcie3_1", 174aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_PCIE_1, 175aaf7d02fSKonrad Dybcio .channels = 1, 176aaf7d02fSKonrad Dybcio .buswidth = 8, 177aaf7d02fSKonrad Dybcio .num_links = 1, 178aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_ANOC_PCIE_GEM_NOC }, 179aaf7d02fSKonrad Dybcio }; 180aaf7d02fSKonrad Dybcio 181aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_qdss_etr = { 182aaf7d02fSKonrad Dybcio .name = "xm_qdss_etr", 183aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QDSS_ETR, 184aaf7d02fSKonrad Dybcio .channels = 1, 185aaf7d02fSKonrad Dybcio .buswidth = 8, 186aaf7d02fSKonrad Dybcio .num_links = 1, 187aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 188aaf7d02fSKonrad Dybcio }; 189aaf7d02fSKonrad Dybcio 190aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_sdc2 = { 191aaf7d02fSKonrad Dybcio .name = "xm_sdc2", 192aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_SDCC_2, 193aaf7d02fSKonrad Dybcio .channels = 1, 194aaf7d02fSKonrad Dybcio .buswidth = 8, 195aaf7d02fSKonrad Dybcio .num_links = 1, 196aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 197aaf7d02fSKonrad Dybcio }; 198aaf7d02fSKonrad Dybcio 199aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_ufs_card = { 200aaf7d02fSKonrad Dybcio .name = "xm_ufs_card", 201aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_UFS_CARD, 202aaf7d02fSKonrad Dybcio .channels = 1, 203aaf7d02fSKonrad Dybcio .buswidth = 8, 204aaf7d02fSKonrad Dybcio .num_links = 1, 205aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_SLV }, 206aaf7d02fSKonrad Dybcio }; 207aaf7d02fSKonrad Dybcio 208aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_npu = { 209aaf7d02fSKonrad Dybcio .name = "qnm_npu", 210aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_NPU, 211aaf7d02fSKonrad Dybcio .channels = 2, 212aaf7d02fSKonrad Dybcio .buswidth = 32, 213aaf7d02fSKonrad Dybcio .num_links = 1, 214aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_CDSP_MEM_NOC }, 215aaf7d02fSKonrad Dybcio }; 216aaf7d02fSKonrad Dybcio 217aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_snoc = { 218aaf7d02fSKonrad Dybcio .name = "qnm_snoc", 219aaf7d02fSKonrad Dybcio .id = SM8250_SNOC_CNOC_MAS, 220aaf7d02fSKonrad Dybcio .channels = 1, 221aaf7d02fSKonrad Dybcio .buswidth = 8, 222aaf7d02fSKonrad Dybcio .num_links = 49, 223aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_CDSP_CFG, 224aaf7d02fSKonrad Dybcio SM8250_SLAVE_CAMERA_CFG, 225aaf7d02fSKonrad Dybcio SM8250_SLAVE_TLMM_SOUTH, 226aaf7d02fSKonrad Dybcio SM8250_SLAVE_TLMM_NORTH, 227aaf7d02fSKonrad Dybcio SM8250_SLAVE_SDCC_4, 228aaf7d02fSKonrad Dybcio SM8250_SLAVE_TLMM_WEST, 229aaf7d02fSKonrad Dybcio SM8250_SLAVE_SDCC_2, 230aaf7d02fSKonrad Dybcio SM8250_SLAVE_CNOC_MNOC_CFG, 231aaf7d02fSKonrad Dybcio SM8250_SLAVE_UFS_MEM_CFG, 232aaf7d02fSKonrad Dybcio SM8250_SLAVE_SNOC_CFG, 233aaf7d02fSKonrad Dybcio SM8250_SLAVE_PDM, 234aaf7d02fSKonrad Dybcio SM8250_SLAVE_CX_RDPM, 235aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_1_CFG, 236aaf7d02fSKonrad Dybcio SM8250_SLAVE_A2NOC_CFG, 237aaf7d02fSKonrad Dybcio SM8250_SLAVE_QDSS_CFG, 238aaf7d02fSKonrad Dybcio SM8250_SLAVE_DISPLAY_CFG, 239aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_2_CFG, 240aaf7d02fSKonrad Dybcio SM8250_SLAVE_TCSR, 241aaf7d02fSKonrad Dybcio SM8250_SLAVE_DCC_CFG, 242aaf7d02fSKonrad Dybcio SM8250_SLAVE_CNOC_DDRSS, 243aaf7d02fSKonrad Dybcio SM8250_SLAVE_IPC_ROUTER_CFG, 244aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_0_CFG, 245aaf7d02fSKonrad Dybcio SM8250_SLAVE_RBCPR_MMCX_CFG, 246aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_CFG, 247aaf7d02fSKonrad Dybcio SM8250_SLAVE_AHB2PHY_SOUTH, 248aaf7d02fSKonrad Dybcio SM8250_SLAVE_AHB2PHY_NORTH, 249aaf7d02fSKonrad Dybcio SM8250_SLAVE_GRAPHICS_3D_CFG, 250aaf7d02fSKonrad Dybcio SM8250_SLAVE_VENUS_CFG, 251aaf7d02fSKonrad Dybcio SM8250_SLAVE_TSIF, 252aaf7d02fSKonrad Dybcio SM8250_SLAVE_IPA_CFG, 253aaf7d02fSKonrad Dybcio SM8250_SLAVE_IMEM_CFG, 254aaf7d02fSKonrad Dybcio SM8250_SLAVE_USB3, 255aaf7d02fSKonrad Dybcio SM8250_SLAVE_SERVICE_CNOC, 256aaf7d02fSKonrad Dybcio SM8250_SLAVE_UFS_CARD_CFG, 257aaf7d02fSKonrad Dybcio SM8250_SLAVE_USB3_1, 258aaf7d02fSKonrad Dybcio SM8250_SLAVE_LPASS, 259aaf7d02fSKonrad Dybcio SM8250_SLAVE_RBCPR_CX_CFG, 260aaf7d02fSKonrad Dybcio SM8250_SLAVE_A1NOC_CFG, 261aaf7d02fSKonrad Dybcio SM8250_SLAVE_AOSS, 262aaf7d02fSKonrad Dybcio SM8250_SLAVE_PRNG, 263aaf7d02fSKonrad Dybcio SM8250_SLAVE_VSENSE_CTRL_CFG, 264aaf7d02fSKonrad Dybcio SM8250_SLAVE_QSPI_0, 265aaf7d02fSKonrad Dybcio SM8250_SLAVE_CRYPTO_0_CFG, 266aaf7d02fSKonrad Dybcio SM8250_SLAVE_PIMEM_CFG, 267aaf7d02fSKonrad Dybcio SM8250_SLAVE_RBCPR_MX_CFG, 268aaf7d02fSKonrad Dybcio SM8250_SLAVE_QUP_0, 269aaf7d02fSKonrad Dybcio SM8250_SLAVE_QUP_1, 270aaf7d02fSKonrad Dybcio SM8250_SLAVE_QUP_2, 271aaf7d02fSKonrad Dybcio SM8250_SLAVE_CLK_CTL 272aaf7d02fSKonrad Dybcio }, 273aaf7d02fSKonrad Dybcio }; 274aaf7d02fSKonrad Dybcio 275aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_qdss_dap = { 276aaf7d02fSKonrad Dybcio .name = "xm_qdss_dap", 277aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_QDSS_DAP, 278aaf7d02fSKonrad Dybcio .channels = 1, 279aaf7d02fSKonrad Dybcio .buswidth = 8, 280aaf7d02fSKonrad Dybcio .num_links = 50, 281aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_CDSP_CFG, 282aaf7d02fSKonrad Dybcio SM8250_SLAVE_CAMERA_CFG, 283aaf7d02fSKonrad Dybcio SM8250_SLAVE_TLMM_SOUTH, 284aaf7d02fSKonrad Dybcio SM8250_SLAVE_TLMM_NORTH, 285aaf7d02fSKonrad Dybcio SM8250_SLAVE_SDCC_4, 286aaf7d02fSKonrad Dybcio SM8250_SLAVE_TLMM_WEST, 287aaf7d02fSKonrad Dybcio SM8250_SLAVE_SDCC_2, 288aaf7d02fSKonrad Dybcio SM8250_SLAVE_CNOC_MNOC_CFG, 289aaf7d02fSKonrad Dybcio SM8250_SLAVE_UFS_MEM_CFG, 290aaf7d02fSKonrad Dybcio SM8250_SLAVE_SNOC_CFG, 291aaf7d02fSKonrad Dybcio SM8250_SLAVE_PDM, 292aaf7d02fSKonrad Dybcio SM8250_SLAVE_CX_RDPM, 293aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_1_CFG, 294aaf7d02fSKonrad Dybcio SM8250_SLAVE_A2NOC_CFG, 295aaf7d02fSKonrad Dybcio SM8250_SLAVE_QDSS_CFG, 296aaf7d02fSKonrad Dybcio SM8250_SLAVE_DISPLAY_CFG, 297aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_2_CFG, 298aaf7d02fSKonrad Dybcio SM8250_SLAVE_TCSR, 299aaf7d02fSKonrad Dybcio SM8250_SLAVE_DCC_CFG, 300aaf7d02fSKonrad Dybcio SM8250_SLAVE_CNOC_DDRSS, 301aaf7d02fSKonrad Dybcio SM8250_SLAVE_IPC_ROUTER_CFG, 302aaf7d02fSKonrad Dybcio SM8250_SLAVE_CNOC_A2NOC, 303aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_0_CFG, 304aaf7d02fSKonrad Dybcio SM8250_SLAVE_RBCPR_MMCX_CFG, 305aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_CFG, 306aaf7d02fSKonrad Dybcio SM8250_SLAVE_AHB2PHY_SOUTH, 307aaf7d02fSKonrad Dybcio SM8250_SLAVE_AHB2PHY_NORTH, 308aaf7d02fSKonrad Dybcio SM8250_SLAVE_GRAPHICS_3D_CFG, 309aaf7d02fSKonrad Dybcio SM8250_SLAVE_VENUS_CFG, 310aaf7d02fSKonrad Dybcio SM8250_SLAVE_TSIF, 311aaf7d02fSKonrad Dybcio SM8250_SLAVE_IPA_CFG, 312aaf7d02fSKonrad Dybcio SM8250_SLAVE_IMEM_CFG, 313aaf7d02fSKonrad Dybcio SM8250_SLAVE_USB3, 314aaf7d02fSKonrad Dybcio SM8250_SLAVE_SERVICE_CNOC, 315aaf7d02fSKonrad Dybcio SM8250_SLAVE_UFS_CARD_CFG, 316aaf7d02fSKonrad Dybcio SM8250_SLAVE_USB3_1, 317aaf7d02fSKonrad Dybcio SM8250_SLAVE_LPASS, 318aaf7d02fSKonrad Dybcio SM8250_SLAVE_RBCPR_CX_CFG, 319aaf7d02fSKonrad Dybcio SM8250_SLAVE_A1NOC_CFG, 320aaf7d02fSKonrad Dybcio SM8250_SLAVE_AOSS, 321aaf7d02fSKonrad Dybcio SM8250_SLAVE_PRNG, 322aaf7d02fSKonrad Dybcio SM8250_SLAVE_VSENSE_CTRL_CFG, 323aaf7d02fSKonrad Dybcio SM8250_SLAVE_QSPI_0, 324aaf7d02fSKonrad Dybcio SM8250_SLAVE_CRYPTO_0_CFG, 325aaf7d02fSKonrad Dybcio SM8250_SLAVE_PIMEM_CFG, 326aaf7d02fSKonrad Dybcio SM8250_SLAVE_RBCPR_MX_CFG, 327aaf7d02fSKonrad Dybcio SM8250_SLAVE_QUP_0, 328aaf7d02fSKonrad Dybcio SM8250_SLAVE_QUP_1, 329aaf7d02fSKonrad Dybcio SM8250_SLAVE_QUP_2, 330aaf7d02fSKonrad Dybcio SM8250_SLAVE_CLK_CTL 331aaf7d02fSKonrad Dybcio }, 332aaf7d02fSKonrad Dybcio }; 333aaf7d02fSKonrad Dybcio 334aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_cnoc_dc_noc = { 335aaf7d02fSKonrad Dybcio .name = "qhm_cnoc_dc_noc", 336aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CNOC_DC_NOC, 337aaf7d02fSKonrad Dybcio .channels = 1, 338aaf7d02fSKonrad Dybcio .buswidth = 4, 339aaf7d02fSKonrad Dybcio .num_links = 2, 340aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_GEM_NOC_CFG, 341aaf7d02fSKonrad Dybcio SM8250_SLAVE_LLCC_CFG 342aaf7d02fSKonrad Dybcio }, 343aaf7d02fSKonrad Dybcio }; 344aaf7d02fSKonrad Dybcio 345aaf7d02fSKonrad Dybcio static struct qcom_icc_node alm_gpu_tcu = { 346aaf7d02fSKonrad Dybcio .name = "alm_gpu_tcu", 347aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_GPU_TCU, 348aaf7d02fSKonrad Dybcio .channels = 1, 349aaf7d02fSKonrad Dybcio .buswidth = 8, 350aaf7d02fSKonrad Dybcio .num_links = 2, 351aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 352aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC 353aaf7d02fSKonrad Dybcio }, 354aaf7d02fSKonrad Dybcio }; 355aaf7d02fSKonrad Dybcio 356aaf7d02fSKonrad Dybcio static struct qcom_icc_node alm_sys_tcu = { 357aaf7d02fSKonrad Dybcio .name = "alm_sys_tcu", 358aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_SYS_TCU, 359aaf7d02fSKonrad Dybcio .channels = 1, 360aaf7d02fSKonrad Dybcio .buswidth = 8, 361aaf7d02fSKonrad Dybcio .num_links = 2, 362aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 363aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC 364aaf7d02fSKonrad Dybcio }, 365aaf7d02fSKonrad Dybcio }; 366aaf7d02fSKonrad Dybcio 367aaf7d02fSKonrad Dybcio static struct qcom_icc_node chm_apps = { 368aaf7d02fSKonrad Dybcio .name = "chm_apps", 369aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_AMPSS_M0, 370aaf7d02fSKonrad Dybcio .channels = 2, 371aaf7d02fSKonrad Dybcio .buswidth = 32, 372aaf7d02fSKonrad Dybcio .num_links = 3, 373aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 374aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC, 375aaf7d02fSKonrad Dybcio SM8250_SLAVE_MEM_NOC_PCIE_SNOC 376aaf7d02fSKonrad Dybcio }, 377aaf7d02fSKonrad Dybcio }; 378aaf7d02fSKonrad Dybcio 379aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_gemnoc_cfg = { 380aaf7d02fSKonrad Dybcio .name = "qhm_gemnoc_cfg", 381aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_GEM_NOC_CFG, 382aaf7d02fSKonrad Dybcio .channels = 1, 383aaf7d02fSKonrad Dybcio .buswidth = 4, 384aaf7d02fSKonrad Dybcio .num_links = 3, 385aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SERVICE_GEM_NOC_2, 386aaf7d02fSKonrad Dybcio SM8250_SLAVE_SERVICE_GEM_NOC_1, 387aaf7d02fSKonrad Dybcio SM8250_SLAVE_SERVICE_GEM_NOC 388aaf7d02fSKonrad Dybcio }, 389aaf7d02fSKonrad Dybcio }; 390aaf7d02fSKonrad Dybcio 391aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_cmpnoc = { 392aaf7d02fSKonrad Dybcio .name = "qnm_cmpnoc", 393aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_COMPUTE_NOC, 394aaf7d02fSKonrad Dybcio .channels = 2, 395aaf7d02fSKonrad Dybcio .buswidth = 32, 396aaf7d02fSKonrad Dybcio .num_links = 2, 397aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 398aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC 399aaf7d02fSKonrad Dybcio }, 400aaf7d02fSKonrad Dybcio }; 401aaf7d02fSKonrad Dybcio 402aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_gpu = { 403aaf7d02fSKonrad Dybcio .name = "qnm_gpu", 404aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_GRAPHICS_3D, 405aaf7d02fSKonrad Dybcio .channels = 2, 406aaf7d02fSKonrad Dybcio .buswidth = 32, 407aaf7d02fSKonrad Dybcio .num_links = 2, 408aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 409aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC }, 410aaf7d02fSKonrad Dybcio }; 411aaf7d02fSKonrad Dybcio 412aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_mnoc_hf = { 413aaf7d02fSKonrad Dybcio .name = "qnm_mnoc_hf", 414aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_MNOC_HF_MEM_NOC, 415aaf7d02fSKonrad Dybcio .channels = 2, 416aaf7d02fSKonrad Dybcio .buswidth = 32, 417aaf7d02fSKonrad Dybcio .num_links = 1, 418aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC }, 419aaf7d02fSKonrad Dybcio }; 420aaf7d02fSKonrad Dybcio 421aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_mnoc_sf = { 422aaf7d02fSKonrad Dybcio .name = "qnm_mnoc_sf", 423aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_MNOC_SF_MEM_NOC, 424aaf7d02fSKonrad Dybcio .channels = 2, 425aaf7d02fSKonrad Dybcio .buswidth = 32, 426aaf7d02fSKonrad Dybcio .num_links = 2, 427aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 428aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC 429aaf7d02fSKonrad Dybcio }, 430aaf7d02fSKonrad Dybcio }; 431aaf7d02fSKonrad Dybcio 432aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_pcie = { 433aaf7d02fSKonrad Dybcio .name = "qnm_pcie", 434aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_ANOC_PCIE_GEM_NOC, 435aaf7d02fSKonrad Dybcio .channels = 1, 436aaf7d02fSKonrad Dybcio .buswidth = 16, 437aaf7d02fSKonrad Dybcio .num_links = 2, 438aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 439aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC 440aaf7d02fSKonrad Dybcio }, 441aaf7d02fSKonrad Dybcio }; 442aaf7d02fSKonrad Dybcio 443aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_snoc_gc = { 444aaf7d02fSKonrad Dybcio .name = "qnm_snoc_gc", 445aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_SNOC_GC_MEM_NOC, 446aaf7d02fSKonrad Dybcio .channels = 1, 447aaf7d02fSKonrad Dybcio .buswidth = 8, 448aaf7d02fSKonrad Dybcio .num_links = 1, 449aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC }, 450aaf7d02fSKonrad Dybcio }; 451aaf7d02fSKonrad Dybcio 452aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_snoc_sf = { 453aaf7d02fSKonrad Dybcio .name = "qnm_snoc_sf", 454aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_SNOC_SF_MEM_NOC, 455aaf7d02fSKonrad Dybcio .channels = 1, 456aaf7d02fSKonrad Dybcio .buswidth = 16, 457aaf7d02fSKonrad Dybcio .num_links = 3, 458aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_LLCC, 459aaf7d02fSKonrad Dybcio SM8250_SLAVE_GEM_NOC_SNOC, 460aaf7d02fSKonrad Dybcio SM8250_SLAVE_MEM_NOC_PCIE_SNOC 461aaf7d02fSKonrad Dybcio }, 462aaf7d02fSKonrad Dybcio }; 463aaf7d02fSKonrad Dybcio 464aaf7d02fSKonrad Dybcio static struct qcom_icc_node llcc_mc = { 465aaf7d02fSKonrad Dybcio .name = "llcc_mc", 466aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_LLCC, 467aaf7d02fSKonrad Dybcio .channels = 4, 468aaf7d02fSKonrad Dybcio .buswidth = 4, 469aaf7d02fSKonrad Dybcio .num_links = 1, 470aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_EBI_CH0 }, 471aaf7d02fSKonrad Dybcio }; 472aaf7d02fSKonrad Dybcio 473aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_mnoc_cfg = { 474aaf7d02fSKonrad Dybcio .name = "qhm_mnoc_cfg", 475aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CNOC_MNOC_CFG, 476aaf7d02fSKonrad Dybcio .channels = 1, 477aaf7d02fSKonrad Dybcio .buswidth = 4, 478aaf7d02fSKonrad Dybcio .num_links = 1, 479aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SERVICE_MNOC }, 480aaf7d02fSKonrad Dybcio }; 481aaf7d02fSKonrad Dybcio 482aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_camnoc_hf = { 483aaf7d02fSKonrad Dybcio .name = "qnm_camnoc_hf", 484aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CAMNOC_HF, 485aaf7d02fSKonrad Dybcio .channels = 2, 486aaf7d02fSKonrad Dybcio .buswidth = 32, 487aaf7d02fSKonrad Dybcio .num_links = 1, 488aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_HF_MEM_NOC }, 489aaf7d02fSKonrad Dybcio }; 490aaf7d02fSKonrad Dybcio 491aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_camnoc_icp = { 492aaf7d02fSKonrad Dybcio .name = "qnm_camnoc_icp", 493aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CAMNOC_ICP, 494aaf7d02fSKonrad Dybcio .channels = 1, 495aaf7d02fSKonrad Dybcio .buswidth = 8, 496aaf7d02fSKonrad Dybcio .num_links = 1, 497aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 498aaf7d02fSKonrad Dybcio }; 499aaf7d02fSKonrad Dybcio 500aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_camnoc_sf = { 501aaf7d02fSKonrad Dybcio .name = "qnm_camnoc_sf", 502aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_CAMNOC_SF, 503aaf7d02fSKonrad Dybcio .channels = 2, 504aaf7d02fSKonrad Dybcio .buswidth = 32, 505aaf7d02fSKonrad Dybcio .num_links = 1, 506aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 507aaf7d02fSKonrad Dybcio }; 508aaf7d02fSKonrad Dybcio 509aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_video0 = { 510aaf7d02fSKonrad Dybcio .name = "qnm_video0", 511aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_VIDEO_P0, 512aaf7d02fSKonrad Dybcio .channels = 1, 513aaf7d02fSKonrad Dybcio .buswidth = 32, 514aaf7d02fSKonrad Dybcio .num_links = 1, 515aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 516aaf7d02fSKonrad Dybcio }; 517aaf7d02fSKonrad Dybcio 518aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_video1 = { 519aaf7d02fSKonrad Dybcio .name = "qnm_video1", 520aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_VIDEO_P1, 521aaf7d02fSKonrad Dybcio .channels = 1, 522aaf7d02fSKonrad Dybcio .buswidth = 32, 523aaf7d02fSKonrad Dybcio .num_links = 1, 524aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 525aaf7d02fSKonrad Dybcio }; 526aaf7d02fSKonrad Dybcio 527aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_video_cvp = { 528aaf7d02fSKonrad Dybcio .name = "qnm_video_cvp", 529aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_VIDEO_PROC, 530aaf7d02fSKonrad Dybcio .channels = 1, 531aaf7d02fSKonrad Dybcio .buswidth = 32, 532aaf7d02fSKonrad Dybcio .num_links = 1, 533aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 534aaf7d02fSKonrad Dybcio }; 535aaf7d02fSKonrad Dybcio 536aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_mdp0 = { 537aaf7d02fSKonrad Dybcio .name = "qxm_mdp0", 538aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_MDP_PORT0, 539aaf7d02fSKonrad Dybcio .channels = 1, 540aaf7d02fSKonrad Dybcio .buswidth = 32, 541aaf7d02fSKonrad Dybcio .num_links = 1, 542aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_HF_MEM_NOC }, 543aaf7d02fSKonrad Dybcio }; 544aaf7d02fSKonrad Dybcio 545aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_mdp1 = { 546aaf7d02fSKonrad Dybcio .name = "qxm_mdp1", 547aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_MDP_PORT1, 548aaf7d02fSKonrad Dybcio .channels = 1, 549aaf7d02fSKonrad Dybcio .buswidth = 32, 550aaf7d02fSKonrad Dybcio .num_links = 1, 551aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_HF_MEM_NOC }, 552aaf7d02fSKonrad Dybcio }; 553aaf7d02fSKonrad Dybcio 554aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_rot = { 555aaf7d02fSKonrad Dybcio .name = "qxm_rot", 556aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_ROTATOR, 557aaf7d02fSKonrad Dybcio .channels = 1, 558aaf7d02fSKonrad Dybcio .buswidth = 32, 559aaf7d02fSKonrad Dybcio .num_links = 1, 560aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_MNOC_SF_MEM_NOC }, 561aaf7d02fSKonrad Dybcio }; 562aaf7d02fSKonrad Dybcio 563aaf7d02fSKonrad Dybcio static struct qcom_icc_node amm_npu_sys = { 564aaf7d02fSKonrad Dybcio .name = "amm_npu_sys", 565aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_NPU_SYS, 566aaf7d02fSKonrad Dybcio .channels = 4, 567aaf7d02fSKonrad Dybcio .buswidth = 32, 568aaf7d02fSKonrad Dybcio .num_links = 1, 569aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_NPU_COMPUTE_NOC }, 570aaf7d02fSKonrad Dybcio }; 571aaf7d02fSKonrad Dybcio 572aaf7d02fSKonrad Dybcio static struct qcom_icc_node amm_npu_sys_cdp_w = { 573aaf7d02fSKonrad Dybcio .name = "amm_npu_sys_cdp_w", 574aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_NPU_CDP, 575aaf7d02fSKonrad Dybcio .channels = 2, 576aaf7d02fSKonrad Dybcio .buswidth = 16, 577aaf7d02fSKonrad Dybcio .num_links = 1, 578aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_NPU_COMPUTE_NOC }, 579aaf7d02fSKonrad Dybcio }; 580aaf7d02fSKonrad Dybcio 581aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_cfg = { 582aaf7d02fSKonrad Dybcio .name = "qhm_cfg", 583aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_NPU_NOC_CFG, 584aaf7d02fSKonrad Dybcio .channels = 1, 585aaf7d02fSKonrad Dybcio .buswidth = 4, 586aaf7d02fSKonrad Dybcio .num_links = 9, 587aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SERVICE_NPU_NOC, 588aaf7d02fSKonrad Dybcio SM8250_SLAVE_ISENSE_CFG, 589aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_LLM_CFG, 590aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG, 591aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_CP, 592aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_TCM, 593aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_CAL_DP0, 594aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_CAL_DP1, 595aaf7d02fSKonrad Dybcio SM8250_SLAVE_NPU_DPM 596aaf7d02fSKonrad Dybcio }, 597aaf7d02fSKonrad Dybcio }; 598aaf7d02fSKonrad Dybcio 599aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhm_snoc_cfg = { 600aaf7d02fSKonrad Dybcio .name = "qhm_snoc_cfg", 601aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_SNOC_CFG, 602aaf7d02fSKonrad Dybcio .channels = 1, 603aaf7d02fSKonrad Dybcio .buswidth = 4, 604aaf7d02fSKonrad Dybcio .num_links = 1, 605aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SERVICE_SNOC }, 606aaf7d02fSKonrad Dybcio }; 607aaf7d02fSKonrad Dybcio 608aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_aggre1_noc = { 609aaf7d02fSKonrad Dybcio .name = "qnm_aggre1_noc", 610aaf7d02fSKonrad Dybcio .id = SM8250_A1NOC_SNOC_MAS, 611aaf7d02fSKonrad Dybcio .channels = 1, 612aaf7d02fSKonrad Dybcio .buswidth = 16, 613aaf7d02fSKonrad Dybcio .num_links = 1, 614aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SNOC_GEM_NOC_SF }, 615aaf7d02fSKonrad Dybcio }; 616aaf7d02fSKonrad Dybcio 617aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_aggre2_noc = { 618aaf7d02fSKonrad Dybcio .name = "qnm_aggre2_noc", 619aaf7d02fSKonrad Dybcio .id = SM8250_A2NOC_SNOC_MAS, 620aaf7d02fSKonrad Dybcio .channels = 1, 621aaf7d02fSKonrad Dybcio .buswidth = 16, 622aaf7d02fSKonrad Dybcio .num_links = 1, 623aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SNOC_GEM_NOC_SF }, 624aaf7d02fSKonrad Dybcio }; 625aaf7d02fSKonrad Dybcio 626aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_gemnoc = { 627aaf7d02fSKonrad Dybcio .name = "qnm_gemnoc", 628aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_GEM_NOC_SNOC, 629aaf7d02fSKonrad Dybcio .channels = 1, 630aaf7d02fSKonrad Dybcio .buswidth = 16, 631aaf7d02fSKonrad Dybcio .num_links = 6, 632aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_PIMEM, 633aaf7d02fSKonrad Dybcio SM8250_SLAVE_OCIMEM, 634aaf7d02fSKonrad Dybcio SM8250_SLAVE_APPSS, 635aaf7d02fSKonrad Dybcio SM8250_SNOC_CNOC_SLV, 636aaf7d02fSKonrad Dybcio SM8250_SLAVE_TCU, 637aaf7d02fSKonrad Dybcio SM8250_SLAVE_QDSS_STM 638aaf7d02fSKonrad Dybcio }, 639aaf7d02fSKonrad Dybcio }; 640aaf7d02fSKonrad Dybcio 641aaf7d02fSKonrad Dybcio static struct qcom_icc_node qnm_gemnoc_pcie = { 642aaf7d02fSKonrad Dybcio .name = "qnm_gemnoc_pcie", 643aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_GEM_NOC_PCIE_SNOC, 644aaf7d02fSKonrad Dybcio .channels = 1, 645aaf7d02fSKonrad Dybcio .buswidth = 8, 646aaf7d02fSKonrad Dybcio .num_links = 3, 647aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_PCIE_2, 648aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_0, 649aaf7d02fSKonrad Dybcio SM8250_SLAVE_PCIE_1 650aaf7d02fSKonrad Dybcio }, 651aaf7d02fSKonrad Dybcio }; 652aaf7d02fSKonrad Dybcio 653aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxm_pimem = { 654aaf7d02fSKonrad Dybcio .name = "qxm_pimem", 655aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_PIMEM, 656aaf7d02fSKonrad Dybcio .channels = 1, 657aaf7d02fSKonrad Dybcio .buswidth = 8, 658aaf7d02fSKonrad Dybcio .num_links = 1, 659aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SNOC_GEM_NOC_GC }, 660aaf7d02fSKonrad Dybcio }; 661aaf7d02fSKonrad Dybcio 662aaf7d02fSKonrad Dybcio static struct qcom_icc_node xm_gic = { 663aaf7d02fSKonrad Dybcio .name = "xm_gic", 664aaf7d02fSKonrad Dybcio .id = SM8250_MASTER_GIC, 665aaf7d02fSKonrad Dybcio .channels = 1, 666aaf7d02fSKonrad Dybcio .buswidth = 8, 667aaf7d02fSKonrad Dybcio .num_links = 1, 668aaf7d02fSKonrad Dybcio .links = { SM8250_SLAVE_SNOC_GEM_NOC_GC }, 669aaf7d02fSKonrad Dybcio }; 670aaf7d02fSKonrad Dybcio 671aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_a1noc_snoc = { 672aaf7d02fSKonrad Dybcio .name = "qns_a1noc_snoc", 673aaf7d02fSKonrad Dybcio .id = SM8250_A1NOC_SNOC_SLV, 674aaf7d02fSKonrad Dybcio .channels = 1, 675aaf7d02fSKonrad Dybcio .buswidth = 16, 676aaf7d02fSKonrad Dybcio .num_links = 1, 677aaf7d02fSKonrad Dybcio .links = { SM8250_A1NOC_SNOC_MAS }, 678aaf7d02fSKonrad Dybcio }; 679aaf7d02fSKonrad Dybcio 680aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_pcie_modem_mem_noc = { 681aaf7d02fSKonrad Dybcio .name = "qns_pcie_modem_mem_noc", 682aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_ANOC_PCIE_GEM_NOC_1, 683aaf7d02fSKonrad Dybcio .channels = 1, 684aaf7d02fSKonrad Dybcio .buswidth = 16, 685aaf7d02fSKonrad Dybcio .num_links = 1, 686aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_ANOC_PCIE_GEM_NOC }, 687aaf7d02fSKonrad Dybcio }; 688aaf7d02fSKonrad Dybcio 689aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_aggre1_noc = { 690aaf7d02fSKonrad Dybcio .name = "srvc_aggre1_noc", 691aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_A1NOC, 692aaf7d02fSKonrad Dybcio .channels = 1, 693aaf7d02fSKonrad Dybcio .buswidth = 4, 694aaf7d02fSKonrad Dybcio }; 695aaf7d02fSKonrad Dybcio 696aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_a2noc_snoc = { 697aaf7d02fSKonrad Dybcio .name = "qns_a2noc_snoc", 698aaf7d02fSKonrad Dybcio .id = SM8250_A2NOC_SNOC_SLV, 699aaf7d02fSKonrad Dybcio .channels = 1, 700aaf7d02fSKonrad Dybcio .buswidth = 16, 701aaf7d02fSKonrad Dybcio .num_links = 1, 702aaf7d02fSKonrad Dybcio .links = { SM8250_A2NOC_SNOC_MAS }, 703aaf7d02fSKonrad Dybcio }; 704aaf7d02fSKonrad Dybcio 705aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_pcie_mem_noc = { 706aaf7d02fSKonrad Dybcio .name = "qns_pcie_mem_noc", 707aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_ANOC_PCIE_GEM_NOC, 708aaf7d02fSKonrad Dybcio .channels = 1, 709aaf7d02fSKonrad Dybcio .buswidth = 16, 710aaf7d02fSKonrad Dybcio .num_links = 1, 711aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_ANOC_PCIE_GEM_NOC }, 712aaf7d02fSKonrad Dybcio }; 713aaf7d02fSKonrad Dybcio 714aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_aggre2_noc = { 715aaf7d02fSKonrad Dybcio .name = "srvc_aggre2_noc", 716aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_A2NOC, 717aaf7d02fSKonrad Dybcio .channels = 1, 718aaf7d02fSKonrad Dybcio .buswidth = 4, 719aaf7d02fSKonrad Dybcio }; 720aaf7d02fSKonrad Dybcio 721aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_cdsp_mem_noc = { 722aaf7d02fSKonrad Dybcio .name = "qns_cdsp_mem_noc", 723aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CDSP_MEM_NOC, 724aaf7d02fSKonrad Dybcio .channels = 2, 725aaf7d02fSKonrad Dybcio .buswidth = 32, 726aaf7d02fSKonrad Dybcio .num_links = 1, 727aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_COMPUTE_NOC }, 728aaf7d02fSKonrad Dybcio }; 729aaf7d02fSKonrad Dybcio 730aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_a1_noc_cfg = { 731aaf7d02fSKonrad Dybcio .name = "qhs_a1_noc_cfg", 732aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_A1NOC_CFG, 733aaf7d02fSKonrad Dybcio .channels = 1, 734aaf7d02fSKonrad Dybcio .buswidth = 4, 735aaf7d02fSKonrad Dybcio .num_links = 1, 736aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_A1NOC_CFG }, 737aaf7d02fSKonrad Dybcio }; 738aaf7d02fSKonrad Dybcio 739aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_a2_noc_cfg = { 740aaf7d02fSKonrad Dybcio .name = "qhs_a2_noc_cfg", 741aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_A2NOC_CFG, 742aaf7d02fSKonrad Dybcio .channels = 1, 743aaf7d02fSKonrad Dybcio .buswidth = 4, 744aaf7d02fSKonrad Dybcio .num_links = 1, 745aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_A2NOC_CFG }, 746aaf7d02fSKonrad Dybcio }; 747aaf7d02fSKonrad Dybcio 748aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy0 = { 749aaf7d02fSKonrad Dybcio .name = "qhs_ahb2phy0", 750aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_AHB2PHY_SOUTH, 751aaf7d02fSKonrad Dybcio .channels = 1, 752aaf7d02fSKonrad Dybcio .buswidth = 4, 753aaf7d02fSKonrad Dybcio }; 754aaf7d02fSKonrad Dybcio 755aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ahb2phy1 = { 756aaf7d02fSKonrad Dybcio .name = "qhs_ahb2phy1", 757aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_AHB2PHY_NORTH, 758aaf7d02fSKonrad Dybcio .channels = 1, 759aaf7d02fSKonrad Dybcio .buswidth = 4, 760aaf7d02fSKonrad Dybcio }; 761aaf7d02fSKonrad Dybcio 762aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_aoss = { 763aaf7d02fSKonrad Dybcio .name = "qhs_aoss", 764aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_AOSS, 765aaf7d02fSKonrad Dybcio .channels = 1, 766aaf7d02fSKonrad Dybcio .buswidth = 4, 767aaf7d02fSKonrad Dybcio }; 768aaf7d02fSKonrad Dybcio 769aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_camera_cfg = { 770aaf7d02fSKonrad Dybcio .name = "qhs_camera_cfg", 771aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CAMERA_CFG, 772aaf7d02fSKonrad Dybcio .channels = 1, 773aaf7d02fSKonrad Dybcio .buswidth = 4, 774aaf7d02fSKonrad Dybcio }; 775aaf7d02fSKonrad Dybcio 776aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_clk_ctl = { 777aaf7d02fSKonrad Dybcio .name = "qhs_clk_ctl", 778aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CLK_CTL, 779aaf7d02fSKonrad Dybcio .channels = 1, 780aaf7d02fSKonrad Dybcio .buswidth = 4, 781aaf7d02fSKonrad Dybcio }; 782aaf7d02fSKonrad Dybcio 783aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_compute_dsp = { 784aaf7d02fSKonrad Dybcio .name = "qhs_compute_dsp", 785aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CDSP_CFG, 786aaf7d02fSKonrad Dybcio .channels = 1, 787aaf7d02fSKonrad Dybcio .buswidth = 4, 788aaf7d02fSKonrad Dybcio }; 789aaf7d02fSKonrad Dybcio 790aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cpr_cx = { 791aaf7d02fSKonrad Dybcio .name = "qhs_cpr_cx", 792aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_RBCPR_CX_CFG, 793aaf7d02fSKonrad Dybcio .channels = 1, 794aaf7d02fSKonrad Dybcio .buswidth = 4, 795aaf7d02fSKonrad Dybcio }; 796aaf7d02fSKonrad Dybcio 797aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cpr_mmcx = { 798aaf7d02fSKonrad Dybcio .name = "qhs_cpr_mmcx", 799aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_RBCPR_MMCX_CFG, 800aaf7d02fSKonrad Dybcio .channels = 1, 801aaf7d02fSKonrad Dybcio .buswidth = 4, 802aaf7d02fSKonrad Dybcio }; 803aaf7d02fSKonrad Dybcio 804aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cpr_mx = { 805aaf7d02fSKonrad Dybcio .name = "qhs_cpr_mx", 806aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_RBCPR_MX_CFG, 807aaf7d02fSKonrad Dybcio .channels = 1, 808aaf7d02fSKonrad Dybcio .buswidth = 4, 809aaf7d02fSKonrad Dybcio }; 810aaf7d02fSKonrad Dybcio 811aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_crypto0_cfg = { 812aaf7d02fSKonrad Dybcio .name = "qhs_crypto0_cfg", 813aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CRYPTO_0_CFG, 814aaf7d02fSKonrad Dybcio .channels = 1, 815aaf7d02fSKonrad Dybcio .buswidth = 4, 816aaf7d02fSKonrad Dybcio }; 817aaf7d02fSKonrad Dybcio 818aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cx_rdpm = { 819aaf7d02fSKonrad Dybcio .name = "qhs_cx_rdpm", 820aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CX_RDPM, 821aaf7d02fSKonrad Dybcio .channels = 1, 822aaf7d02fSKonrad Dybcio .buswidth = 4, 823aaf7d02fSKonrad Dybcio }; 824aaf7d02fSKonrad Dybcio 825aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_dcc_cfg = { 826aaf7d02fSKonrad Dybcio .name = "qhs_dcc_cfg", 827aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_DCC_CFG, 828aaf7d02fSKonrad Dybcio .channels = 1, 829aaf7d02fSKonrad Dybcio .buswidth = 4, 830aaf7d02fSKonrad Dybcio }; 831aaf7d02fSKonrad Dybcio 832aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ddrss_cfg = { 833aaf7d02fSKonrad Dybcio .name = "qhs_ddrss_cfg", 834aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CNOC_DDRSS, 835aaf7d02fSKonrad Dybcio .channels = 1, 836aaf7d02fSKonrad Dybcio .buswidth = 4, 837aaf7d02fSKonrad Dybcio .num_links = 1, 838aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_CNOC_DC_NOC }, 839aaf7d02fSKonrad Dybcio }; 840aaf7d02fSKonrad Dybcio 841aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_display_cfg = { 842aaf7d02fSKonrad Dybcio .name = "qhs_display_cfg", 843aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_DISPLAY_CFG, 844aaf7d02fSKonrad Dybcio .channels = 1, 845aaf7d02fSKonrad Dybcio .buswidth = 4, 846aaf7d02fSKonrad Dybcio }; 847aaf7d02fSKonrad Dybcio 848aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_gpuss_cfg = { 849aaf7d02fSKonrad Dybcio .name = "qhs_gpuss_cfg", 850aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_GRAPHICS_3D_CFG, 851aaf7d02fSKonrad Dybcio .channels = 1, 852aaf7d02fSKonrad Dybcio .buswidth = 8, 853aaf7d02fSKonrad Dybcio }; 854aaf7d02fSKonrad Dybcio 855aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_imem_cfg = { 856aaf7d02fSKonrad Dybcio .name = "qhs_imem_cfg", 857aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_IMEM_CFG, 858aaf7d02fSKonrad Dybcio .channels = 1, 859aaf7d02fSKonrad Dybcio .buswidth = 4, 860aaf7d02fSKonrad Dybcio }; 861aaf7d02fSKonrad Dybcio 862aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ipa = { 863aaf7d02fSKonrad Dybcio .name = "qhs_ipa", 864aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_IPA_CFG, 865aaf7d02fSKonrad Dybcio .channels = 1, 866aaf7d02fSKonrad Dybcio .buswidth = 4, 867aaf7d02fSKonrad Dybcio }; 868aaf7d02fSKonrad Dybcio 869aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ipc_router = { 870aaf7d02fSKonrad Dybcio .name = "qhs_ipc_router", 871aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_IPC_ROUTER_CFG, 872aaf7d02fSKonrad Dybcio .channels = 1, 873aaf7d02fSKonrad Dybcio .buswidth = 4, 874aaf7d02fSKonrad Dybcio }; 875aaf7d02fSKonrad Dybcio 876aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_lpass_cfg = { 877aaf7d02fSKonrad Dybcio .name = "qhs_lpass_cfg", 878aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_LPASS, 879aaf7d02fSKonrad Dybcio .channels = 1, 880aaf7d02fSKonrad Dybcio .buswidth = 4, 881aaf7d02fSKonrad Dybcio }; 882aaf7d02fSKonrad Dybcio 883aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_mnoc_cfg = { 884aaf7d02fSKonrad Dybcio .name = "qhs_mnoc_cfg", 885aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CNOC_MNOC_CFG, 886aaf7d02fSKonrad Dybcio .channels = 1, 887aaf7d02fSKonrad Dybcio .buswidth = 4, 888aaf7d02fSKonrad Dybcio .num_links = 1, 889aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_CNOC_MNOC_CFG }, 890aaf7d02fSKonrad Dybcio }; 891aaf7d02fSKonrad Dybcio 892aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_npu_cfg = { 893aaf7d02fSKonrad Dybcio .name = "qhs_npu_cfg", 894aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_CFG, 895aaf7d02fSKonrad Dybcio .channels = 1, 896aaf7d02fSKonrad Dybcio .buswidth = 4, 897aaf7d02fSKonrad Dybcio .num_links = 1, 898aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_NPU_NOC_CFG }, 899aaf7d02fSKonrad Dybcio }; 900aaf7d02fSKonrad Dybcio 901aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pcie0_cfg = { 902aaf7d02fSKonrad Dybcio .name = "qhs_pcie0_cfg", 903aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PCIE_0_CFG, 904aaf7d02fSKonrad Dybcio .channels = 1, 905aaf7d02fSKonrad Dybcio .buswidth = 4, 906aaf7d02fSKonrad Dybcio }; 907aaf7d02fSKonrad Dybcio 908aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pcie1_cfg = { 909aaf7d02fSKonrad Dybcio .name = "qhs_pcie1_cfg", 910aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PCIE_1_CFG, 911aaf7d02fSKonrad Dybcio .channels = 1, 912aaf7d02fSKonrad Dybcio .buswidth = 4, 913aaf7d02fSKonrad Dybcio }; 914aaf7d02fSKonrad Dybcio 915aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pcie_modem_cfg = { 916aaf7d02fSKonrad Dybcio .name = "qhs_pcie_modem_cfg", 917aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PCIE_2_CFG, 918aaf7d02fSKonrad Dybcio .channels = 1, 919aaf7d02fSKonrad Dybcio .buswidth = 4, 920aaf7d02fSKonrad Dybcio }; 921aaf7d02fSKonrad Dybcio 922aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pdm = { 923aaf7d02fSKonrad Dybcio .name = "qhs_pdm", 924aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PDM, 925aaf7d02fSKonrad Dybcio .channels = 1, 926aaf7d02fSKonrad Dybcio .buswidth = 4, 927aaf7d02fSKonrad Dybcio }; 928aaf7d02fSKonrad Dybcio 929aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_pimem_cfg = { 930aaf7d02fSKonrad Dybcio .name = "qhs_pimem_cfg", 931aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PIMEM_CFG, 932aaf7d02fSKonrad Dybcio .channels = 1, 933aaf7d02fSKonrad Dybcio .buswidth = 4, 934aaf7d02fSKonrad Dybcio }; 935aaf7d02fSKonrad Dybcio 936aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_prng = { 937aaf7d02fSKonrad Dybcio .name = "qhs_prng", 938aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PRNG, 939aaf7d02fSKonrad Dybcio .channels = 1, 940aaf7d02fSKonrad Dybcio .buswidth = 4, 941aaf7d02fSKonrad Dybcio }; 942aaf7d02fSKonrad Dybcio 943aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qdss_cfg = { 944aaf7d02fSKonrad Dybcio .name = "qhs_qdss_cfg", 945aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_QDSS_CFG, 946aaf7d02fSKonrad Dybcio .channels = 1, 947aaf7d02fSKonrad Dybcio .buswidth = 4, 948aaf7d02fSKonrad Dybcio }; 949aaf7d02fSKonrad Dybcio 950aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qspi = { 951aaf7d02fSKonrad Dybcio .name = "qhs_qspi", 952aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_QSPI_0, 953aaf7d02fSKonrad Dybcio .channels = 1, 954aaf7d02fSKonrad Dybcio .buswidth = 4, 955aaf7d02fSKonrad Dybcio }; 956aaf7d02fSKonrad Dybcio 957aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qup0 = { 958aaf7d02fSKonrad Dybcio .name = "qhs_qup0", 959aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_QUP_0, 960aaf7d02fSKonrad Dybcio .channels = 1, 961aaf7d02fSKonrad Dybcio .buswidth = 4, 962aaf7d02fSKonrad Dybcio }; 963aaf7d02fSKonrad Dybcio 964aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qup1 = { 965aaf7d02fSKonrad Dybcio .name = "qhs_qup1", 966aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_QUP_1, 967aaf7d02fSKonrad Dybcio .channels = 1, 968aaf7d02fSKonrad Dybcio .buswidth = 4, 969aaf7d02fSKonrad Dybcio }; 970aaf7d02fSKonrad Dybcio 971aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_qup2 = { 972aaf7d02fSKonrad Dybcio .name = "qhs_qup2", 973aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_QUP_2, 974aaf7d02fSKonrad Dybcio .channels = 1, 975aaf7d02fSKonrad Dybcio .buswidth = 4, 976aaf7d02fSKonrad Dybcio }; 977aaf7d02fSKonrad Dybcio 978aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_sdc2 = { 979aaf7d02fSKonrad Dybcio .name = "qhs_sdc2", 980aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SDCC_2, 981aaf7d02fSKonrad Dybcio .channels = 1, 982aaf7d02fSKonrad Dybcio .buswidth = 4, 983aaf7d02fSKonrad Dybcio }; 984aaf7d02fSKonrad Dybcio 985aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_sdc4 = { 986aaf7d02fSKonrad Dybcio .name = "qhs_sdc4", 987aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SDCC_4, 988aaf7d02fSKonrad Dybcio .channels = 1, 989aaf7d02fSKonrad Dybcio .buswidth = 4, 990aaf7d02fSKonrad Dybcio }; 991aaf7d02fSKonrad Dybcio 992aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_snoc_cfg = { 993aaf7d02fSKonrad Dybcio .name = "qhs_snoc_cfg", 994aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SNOC_CFG, 995aaf7d02fSKonrad Dybcio .channels = 1, 996aaf7d02fSKonrad Dybcio .buswidth = 4, 997aaf7d02fSKonrad Dybcio .num_links = 1, 998aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_SNOC_CFG }, 999aaf7d02fSKonrad Dybcio }; 1000aaf7d02fSKonrad Dybcio 1001aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tcsr = { 1002aaf7d02fSKonrad Dybcio .name = "qhs_tcsr", 1003aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_TCSR, 1004aaf7d02fSKonrad Dybcio .channels = 1, 1005aaf7d02fSKonrad Dybcio .buswidth = 4, 1006aaf7d02fSKonrad Dybcio }; 1007aaf7d02fSKonrad Dybcio 1008aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tlmm0 = { 1009aaf7d02fSKonrad Dybcio .name = "qhs_tlmm0", 1010aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_TLMM_NORTH, 1011aaf7d02fSKonrad Dybcio .channels = 1, 1012aaf7d02fSKonrad Dybcio .buswidth = 4, 1013aaf7d02fSKonrad Dybcio }; 1014aaf7d02fSKonrad Dybcio 1015aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tlmm1 = { 1016aaf7d02fSKonrad Dybcio .name = "qhs_tlmm1", 1017aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_TLMM_SOUTH, 1018aaf7d02fSKonrad Dybcio .channels = 1, 1019aaf7d02fSKonrad Dybcio .buswidth = 4, 1020aaf7d02fSKonrad Dybcio }; 1021aaf7d02fSKonrad Dybcio 1022aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tlmm2 = { 1023aaf7d02fSKonrad Dybcio .name = "qhs_tlmm2", 1024aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_TLMM_WEST, 1025aaf7d02fSKonrad Dybcio .channels = 1, 1026aaf7d02fSKonrad Dybcio .buswidth = 4, 1027aaf7d02fSKonrad Dybcio }; 1028aaf7d02fSKonrad Dybcio 1029aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tsif = { 1030aaf7d02fSKonrad Dybcio .name = "qhs_tsif", 1031aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_TSIF, 1032aaf7d02fSKonrad Dybcio .channels = 1, 1033aaf7d02fSKonrad Dybcio .buswidth = 4, 1034aaf7d02fSKonrad Dybcio }; 1035aaf7d02fSKonrad Dybcio 1036aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ufs_card_cfg = { 1037aaf7d02fSKonrad Dybcio .name = "qhs_ufs_card_cfg", 1038aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_UFS_CARD_CFG, 1039aaf7d02fSKonrad Dybcio .channels = 1, 1040aaf7d02fSKonrad Dybcio .buswidth = 4, 1041aaf7d02fSKonrad Dybcio }; 1042aaf7d02fSKonrad Dybcio 1043aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_ufs_mem_cfg = { 1044aaf7d02fSKonrad Dybcio .name = "qhs_ufs_mem_cfg", 1045aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_UFS_MEM_CFG, 1046aaf7d02fSKonrad Dybcio .channels = 1, 1047aaf7d02fSKonrad Dybcio .buswidth = 4, 1048aaf7d02fSKonrad Dybcio }; 1049aaf7d02fSKonrad Dybcio 1050aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_usb3_0 = { 1051aaf7d02fSKonrad Dybcio .name = "qhs_usb3_0", 1052aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_USB3, 1053aaf7d02fSKonrad Dybcio .channels = 1, 1054aaf7d02fSKonrad Dybcio .buswidth = 4, 1055aaf7d02fSKonrad Dybcio }; 1056aaf7d02fSKonrad Dybcio 1057aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_usb3_1 = { 1058aaf7d02fSKonrad Dybcio .name = "qhs_usb3_1", 1059aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_USB3_1, 1060aaf7d02fSKonrad Dybcio .channels = 1, 1061aaf7d02fSKonrad Dybcio .buswidth = 4, 1062aaf7d02fSKonrad Dybcio }; 1063aaf7d02fSKonrad Dybcio 1064aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_venus_cfg = { 1065aaf7d02fSKonrad Dybcio .name = "qhs_venus_cfg", 1066aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_VENUS_CFG, 1067aaf7d02fSKonrad Dybcio .channels = 1, 1068aaf7d02fSKonrad Dybcio .buswidth = 4, 1069aaf7d02fSKonrad Dybcio }; 1070aaf7d02fSKonrad Dybcio 1071aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_vsense_ctrl_cfg = { 1072aaf7d02fSKonrad Dybcio .name = "qhs_vsense_ctrl_cfg", 1073aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_VSENSE_CTRL_CFG, 1074aaf7d02fSKonrad Dybcio .channels = 1, 1075aaf7d02fSKonrad Dybcio .buswidth = 4, 1076aaf7d02fSKonrad Dybcio }; 1077aaf7d02fSKonrad Dybcio 1078aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_cnoc_a2noc = { 1079aaf7d02fSKonrad Dybcio .name = "qns_cnoc_a2noc", 1080aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_CNOC_A2NOC, 1081aaf7d02fSKonrad Dybcio .channels = 1, 1082aaf7d02fSKonrad Dybcio .buswidth = 8, 1083aaf7d02fSKonrad Dybcio .num_links = 1, 1084aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_CNOC_A2NOC }, 1085aaf7d02fSKonrad Dybcio }; 1086aaf7d02fSKonrad Dybcio 1087aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_cnoc = { 1088aaf7d02fSKonrad Dybcio .name = "srvc_cnoc", 1089aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_CNOC, 1090aaf7d02fSKonrad Dybcio .channels = 1, 1091aaf7d02fSKonrad Dybcio .buswidth = 4, 1092aaf7d02fSKonrad Dybcio }; 1093aaf7d02fSKonrad Dybcio 1094aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_llcc = { 1095aaf7d02fSKonrad Dybcio .name = "qhs_llcc", 1096aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_LLCC_CFG, 1097aaf7d02fSKonrad Dybcio .channels = 1, 1098aaf7d02fSKonrad Dybcio .buswidth = 4, 1099aaf7d02fSKonrad Dybcio }; 1100aaf7d02fSKonrad Dybcio 1101aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_memnoc = { 1102aaf7d02fSKonrad Dybcio .name = "qhs_memnoc", 1103aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_GEM_NOC_CFG, 1104aaf7d02fSKonrad Dybcio .channels = 1, 1105aaf7d02fSKonrad Dybcio .buswidth = 4, 1106aaf7d02fSKonrad Dybcio .num_links = 1, 1107aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_GEM_NOC_CFG }, 1108aaf7d02fSKonrad Dybcio }; 1109aaf7d02fSKonrad Dybcio 1110aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_gem_noc_snoc = { 1111aaf7d02fSKonrad Dybcio .name = "qns_gem_noc_snoc", 1112aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_GEM_NOC_SNOC, 1113aaf7d02fSKonrad Dybcio .channels = 1, 1114aaf7d02fSKonrad Dybcio .buswidth = 16, 1115aaf7d02fSKonrad Dybcio .num_links = 1, 1116aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_GEM_NOC_SNOC }, 1117aaf7d02fSKonrad Dybcio }; 1118aaf7d02fSKonrad Dybcio 1119aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_llcc = { 1120aaf7d02fSKonrad Dybcio .name = "qns_llcc", 1121aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_LLCC, 1122aaf7d02fSKonrad Dybcio .channels = 4, 1123aaf7d02fSKonrad Dybcio .buswidth = 16, 1124aaf7d02fSKonrad Dybcio .num_links = 1, 1125aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_LLCC }, 1126aaf7d02fSKonrad Dybcio }; 1127aaf7d02fSKonrad Dybcio 1128aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_sys_pcie = { 1129aaf7d02fSKonrad Dybcio .name = "qns_sys_pcie", 1130aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_MEM_NOC_PCIE_SNOC, 1131aaf7d02fSKonrad Dybcio .channels = 1, 1132aaf7d02fSKonrad Dybcio .buswidth = 8, 1133aaf7d02fSKonrad Dybcio .num_links = 1, 1134aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_GEM_NOC_PCIE_SNOC }, 1135aaf7d02fSKonrad Dybcio }; 1136aaf7d02fSKonrad Dybcio 1137aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_even_gemnoc = { 1138aaf7d02fSKonrad Dybcio .name = "srvc_even_gemnoc", 1139aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_GEM_NOC_1, 1140aaf7d02fSKonrad Dybcio .channels = 1, 1141aaf7d02fSKonrad Dybcio .buswidth = 4, 1142aaf7d02fSKonrad Dybcio }; 1143aaf7d02fSKonrad Dybcio 1144aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_odd_gemnoc = { 1145aaf7d02fSKonrad Dybcio .name = "srvc_odd_gemnoc", 1146aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_GEM_NOC_2, 1147aaf7d02fSKonrad Dybcio .channels = 1, 1148aaf7d02fSKonrad Dybcio .buswidth = 4, 1149aaf7d02fSKonrad Dybcio }; 1150aaf7d02fSKonrad Dybcio 1151aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_sys_gemnoc = { 1152aaf7d02fSKonrad Dybcio .name = "srvc_sys_gemnoc", 1153aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_GEM_NOC, 1154aaf7d02fSKonrad Dybcio .channels = 1, 1155aaf7d02fSKonrad Dybcio .buswidth = 4, 1156aaf7d02fSKonrad Dybcio }; 1157aaf7d02fSKonrad Dybcio 1158aaf7d02fSKonrad Dybcio static struct qcom_icc_node ebi = { 1159aaf7d02fSKonrad Dybcio .name = "ebi", 1160aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_EBI_CH0, 1161aaf7d02fSKonrad Dybcio .channels = 4, 1162aaf7d02fSKonrad Dybcio .buswidth = 4, 1163aaf7d02fSKonrad Dybcio }; 1164aaf7d02fSKonrad Dybcio 1165aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_mem_noc_hf = { 1166aaf7d02fSKonrad Dybcio .name = "qns_mem_noc_hf", 1167aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_MNOC_HF_MEM_NOC, 1168aaf7d02fSKonrad Dybcio .channels = 2, 1169aaf7d02fSKonrad Dybcio .buswidth = 32, 1170aaf7d02fSKonrad Dybcio .num_links = 1, 1171aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_MNOC_HF_MEM_NOC }, 1172aaf7d02fSKonrad Dybcio }; 1173aaf7d02fSKonrad Dybcio 1174aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_mem_noc_sf = { 1175aaf7d02fSKonrad Dybcio .name = "qns_mem_noc_sf", 1176aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_MNOC_SF_MEM_NOC, 1177aaf7d02fSKonrad Dybcio .channels = 2, 1178aaf7d02fSKonrad Dybcio .buswidth = 32, 1179aaf7d02fSKonrad Dybcio .num_links = 1, 1180aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_MNOC_SF_MEM_NOC }, 1181aaf7d02fSKonrad Dybcio }; 1182aaf7d02fSKonrad Dybcio 1183aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_mnoc = { 1184aaf7d02fSKonrad Dybcio .name = "srvc_mnoc", 1185aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_MNOC, 1186aaf7d02fSKonrad Dybcio .channels = 1, 1187aaf7d02fSKonrad Dybcio .buswidth = 4, 1188aaf7d02fSKonrad Dybcio }; 1189aaf7d02fSKonrad Dybcio 1190aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cal_dp0 = { 1191aaf7d02fSKonrad Dybcio .name = "qhs_cal_dp0", 1192aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_CAL_DP0, 1193aaf7d02fSKonrad Dybcio .channels = 1, 1194aaf7d02fSKonrad Dybcio .buswidth = 4, 1195aaf7d02fSKonrad Dybcio }; 1196aaf7d02fSKonrad Dybcio 1197aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cal_dp1 = { 1198aaf7d02fSKonrad Dybcio .name = "qhs_cal_dp1", 1199aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_CAL_DP1, 1200aaf7d02fSKonrad Dybcio .channels = 1, 1201aaf7d02fSKonrad Dybcio .buswidth = 4, 1202aaf7d02fSKonrad Dybcio }; 1203aaf7d02fSKonrad Dybcio 1204aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_cp = { 1205aaf7d02fSKonrad Dybcio .name = "qhs_cp", 1206aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_CP, 1207aaf7d02fSKonrad Dybcio .channels = 1, 1208aaf7d02fSKonrad Dybcio .buswidth = 4, 1209aaf7d02fSKonrad Dybcio }; 1210aaf7d02fSKonrad Dybcio 1211aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_dma_bwmon = { 1212aaf7d02fSKonrad Dybcio .name = "qhs_dma_bwmon", 1213aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_INT_DMA_BWMON_CFG, 1214aaf7d02fSKonrad Dybcio .channels = 1, 1215aaf7d02fSKonrad Dybcio .buswidth = 4, 1216aaf7d02fSKonrad Dybcio }; 1217aaf7d02fSKonrad Dybcio 1218aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_dpm = { 1219aaf7d02fSKonrad Dybcio .name = "qhs_dpm", 1220aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_DPM, 1221aaf7d02fSKonrad Dybcio .channels = 1, 1222aaf7d02fSKonrad Dybcio .buswidth = 4, 1223aaf7d02fSKonrad Dybcio }; 1224aaf7d02fSKonrad Dybcio 1225aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_isense = { 1226aaf7d02fSKonrad Dybcio .name = "qhs_isense", 1227aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_ISENSE_CFG, 1228aaf7d02fSKonrad Dybcio .channels = 1, 1229aaf7d02fSKonrad Dybcio .buswidth = 4, 1230aaf7d02fSKonrad Dybcio }; 1231aaf7d02fSKonrad Dybcio 1232aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_llm = { 1233aaf7d02fSKonrad Dybcio .name = "qhs_llm", 1234aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_LLM_CFG, 1235aaf7d02fSKonrad Dybcio .channels = 1, 1236aaf7d02fSKonrad Dybcio .buswidth = 4, 1237aaf7d02fSKonrad Dybcio }; 1238aaf7d02fSKonrad Dybcio 1239aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_tcm = { 1240aaf7d02fSKonrad Dybcio .name = "qhs_tcm", 1241aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_TCM, 1242aaf7d02fSKonrad Dybcio .channels = 1, 1243aaf7d02fSKonrad Dybcio .buswidth = 4, 1244aaf7d02fSKonrad Dybcio }; 1245aaf7d02fSKonrad Dybcio 1246aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_npu_sys = { 1247aaf7d02fSKonrad Dybcio .name = "qns_npu_sys", 1248aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_NPU_COMPUTE_NOC, 1249aaf7d02fSKonrad Dybcio .channels = 2, 1250aaf7d02fSKonrad Dybcio .buswidth = 32, 1251aaf7d02fSKonrad Dybcio }; 1252aaf7d02fSKonrad Dybcio 1253aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_noc = { 1254aaf7d02fSKonrad Dybcio .name = "srvc_noc", 1255aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_NPU_NOC, 1256aaf7d02fSKonrad Dybcio .channels = 1, 1257aaf7d02fSKonrad Dybcio .buswidth = 4, 1258aaf7d02fSKonrad Dybcio }; 1259aaf7d02fSKonrad Dybcio 1260aaf7d02fSKonrad Dybcio static struct qcom_icc_node qhs_apss = { 1261aaf7d02fSKonrad Dybcio .name = "qhs_apss", 1262aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_APPSS, 1263aaf7d02fSKonrad Dybcio .channels = 1, 1264aaf7d02fSKonrad Dybcio .buswidth = 8, 1265aaf7d02fSKonrad Dybcio }; 1266aaf7d02fSKonrad Dybcio 1267aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_cnoc = { 1268aaf7d02fSKonrad Dybcio .name = "qns_cnoc", 1269aaf7d02fSKonrad Dybcio .id = SM8250_SNOC_CNOC_SLV, 1270aaf7d02fSKonrad Dybcio .channels = 1, 1271aaf7d02fSKonrad Dybcio .buswidth = 8, 1272aaf7d02fSKonrad Dybcio .num_links = 1, 1273aaf7d02fSKonrad Dybcio .links = { SM8250_SNOC_CNOC_MAS }, 1274aaf7d02fSKonrad Dybcio }; 1275aaf7d02fSKonrad Dybcio 1276aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_gemnoc_gc = { 1277aaf7d02fSKonrad Dybcio .name = "qns_gemnoc_gc", 1278aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SNOC_GEM_NOC_GC, 1279aaf7d02fSKonrad Dybcio .channels = 1, 1280aaf7d02fSKonrad Dybcio .buswidth = 8, 1281aaf7d02fSKonrad Dybcio .num_links = 1, 1282aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_SNOC_GC_MEM_NOC }, 1283aaf7d02fSKonrad Dybcio }; 1284aaf7d02fSKonrad Dybcio 1285aaf7d02fSKonrad Dybcio static struct qcom_icc_node qns_gemnoc_sf = { 1286aaf7d02fSKonrad Dybcio .name = "qns_gemnoc_sf", 1287aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SNOC_GEM_NOC_SF, 1288aaf7d02fSKonrad Dybcio .channels = 1, 1289aaf7d02fSKonrad Dybcio .buswidth = 16, 1290aaf7d02fSKonrad Dybcio .num_links = 1, 1291aaf7d02fSKonrad Dybcio .links = { SM8250_MASTER_SNOC_SF_MEM_NOC }, 1292aaf7d02fSKonrad Dybcio }; 1293aaf7d02fSKonrad Dybcio 1294aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxs_imem = { 1295aaf7d02fSKonrad Dybcio .name = "qxs_imem", 1296aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_OCIMEM, 1297aaf7d02fSKonrad Dybcio .channels = 1, 1298aaf7d02fSKonrad Dybcio .buswidth = 8, 1299aaf7d02fSKonrad Dybcio }; 1300aaf7d02fSKonrad Dybcio 1301aaf7d02fSKonrad Dybcio static struct qcom_icc_node qxs_pimem = { 1302aaf7d02fSKonrad Dybcio .name = "qxs_pimem", 1303aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PIMEM, 1304aaf7d02fSKonrad Dybcio .channels = 1, 1305aaf7d02fSKonrad Dybcio .buswidth = 8, 1306aaf7d02fSKonrad Dybcio }; 1307aaf7d02fSKonrad Dybcio 1308aaf7d02fSKonrad Dybcio static struct qcom_icc_node srvc_snoc = { 1309aaf7d02fSKonrad Dybcio .name = "srvc_snoc", 1310aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_SERVICE_SNOC, 1311aaf7d02fSKonrad Dybcio .channels = 1, 1312aaf7d02fSKonrad Dybcio .buswidth = 4, 1313aaf7d02fSKonrad Dybcio }; 1314aaf7d02fSKonrad Dybcio 1315aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_pcie_0 = { 1316aaf7d02fSKonrad Dybcio .name = "xs_pcie_0", 1317aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PCIE_0, 1318aaf7d02fSKonrad Dybcio .channels = 1, 1319aaf7d02fSKonrad Dybcio .buswidth = 8, 1320aaf7d02fSKonrad Dybcio }; 1321aaf7d02fSKonrad Dybcio 1322aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_pcie_1 = { 1323aaf7d02fSKonrad Dybcio .name = "xs_pcie_1", 1324aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PCIE_1, 1325aaf7d02fSKonrad Dybcio .channels = 1, 1326aaf7d02fSKonrad Dybcio .buswidth = 8, 1327aaf7d02fSKonrad Dybcio }; 1328aaf7d02fSKonrad Dybcio 1329aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_pcie_modem = { 1330aaf7d02fSKonrad Dybcio .name = "xs_pcie_modem", 1331aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_PCIE_2, 1332aaf7d02fSKonrad Dybcio .channels = 1, 1333aaf7d02fSKonrad Dybcio .buswidth = 8, 1334aaf7d02fSKonrad Dybcio }; 1335aaf7d02fSKonrad Dybcio 1336aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_qdss_stm = { 1337aaf7d02fSKonrad Dybcio .name = "xs_qdss_stm", 1338aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_QDSS_STM, 1339aaf7d02fSKonrad Dybcio .channels = 1, 1340aaf7d02fSKonrad Dybcio .buswidth = 4, 1341aaf7d02fSKonrad Dybcio }; 1342aaf7d02fSKonrad Dybcio 1343aaf7d02fSKonrad Dybcio static struct qcom_icc_node xs_sys_tcu_cfg = { 1344aaf7d02fSKonrad Dybcio .name = "xs_sys_tcu_cfg", 1345aaf7d02fSKonrad Dybcio .id = SM8250_SLAVE_TCU, 1346aaf7d02fSKonrad Dybcio .channels = 1, 1347aaf7d02fSKonrad Dybcio .buswidth = 8, 1348aaf7d02fSKonrad Dybcio }; 13496df5b349SJonathan Marek 1350cde2f928SKonrad Dybcio static struct qcom_icc_node qup0_core_master = { 1351cde2f928SKonrad Dybcio .name = "qup0_core_master", 1352cde2f928SKonrad Dybcio .id = SM8250_MASTER_QUP_CORE_0, 1353cde2f928SKonrad Dybcio .channels = 1, 1354cde2f928SKonrad Dybcio .buswidth = 4, 1355cde2f928SKonrad Dybcio .num_links = 1, 1356cde2f928SKonrad Dybcio .links = { SM8250_SLAVE_QUP_CORE_0 }, 1357cde2f928SKonrad Dybcio }; 1358cde2f928SKonrad Dybcio 1359cde2f928SKonrad Dybcio static struct qcom_icc_node qup1_core_master = { 1360cde2f928SKonrad Dybcio .name = "qup1_core_master", 1361cde2f928SKonrad Dybcio .id = SM8250_MASTER_QUP_CORE_1, 1362cde2f928SKonrad Dybcio .channels = 1, 1363cde2f928SKonrad Dybcio .buswidth = 4, 1364cde2f928SKonrad Dybcio .num_links = 1, 1365cde2f928SKonrad Dybcio .links = { SM8250_SLAVE_QUP_CORE_1 }, 1366cde2f928SKonrad Dybcio }; 1367cde2f928SKonrad Dybcio 1368cde2f928SKonrad Dybcio static struct qcom_icc_node qup2_core_master = { 1369cde2f928SKonrad Dybcio .name = "qup2_core_master", 1370cde2f928SKonrad Dybcio .id = SM8250_MASTER_QUP_CORE_2, 1371cde2f928SKonrad Dybcio .channels = 1, 1372cde2f928SKonrad Dybcio .buswidth = 4, 1373cde2f928SKonrad Dybcio .num_links = 1, 1374cde2f928SKonrad Dybcio .links = { SM8250_SLAVE_QUP_CORE_2 }, 1375cde2f928SKonrad Dybcio }; 1376cde2f928SKonrad Dybcio 1377cde2f928SKonrad Dybcio static struct qcom_icc_node qup0_core_slave = { 1378cde2f928SKonrad Dybcio .name = "qup0_core_slave", 1379cde2f928SKonrad Dybcio .id = SM8250_SLAVE_QUP_CORE_0, 1380cde2f928SKonrad Dybcio .channels = 1, 1381cde2f928SKonrad Dybcio .buswidth = 4, 1382cde2f928SKonrad Dybcio }; 1383cde2f928SKonrad Dybcio 1384cde2f928SKonrad Dybcio static struct qcom_icc_node qup1_core_slave = { 1385cde2f928SKonrad Dybcio .name = "qup1_core_slave", 1386cde2f928SKonrad Dybcio .id = SM8250_SLAVE_QUP_CORE_1, 1387cde2f928SKonrad Dybcio .channels = 1, 1388cde2f928SKonrad Dybcio .buswidth = 4, 1389cde2f928SKonrad Dybcio }; 1390cde2f928SKonrad Dybcio 1391cde2f928SKonrad Dybcio static struct qcom_icc_node qup2_core_slave = { 1392cde2f928SKonrad Dybcio .name = "qup2_core_slave", 1393cde2f928SKonrad Dybcio .id = SM8250_SLAVE_QUP_CORE_2, 1394cde2f928SKonrad Dybcio .channels = 1, 1395cde2f928SKonrad Dybcio .buswidth = 4, 1396cde2f928SKonrad Dybcio }; 1397cde2f928SKonrad Dybcio 13988e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_acv = { 13998e509d66SKonrad Dybcio .name = "ACV", 1400c2857e17SKonrad Dybcio .enable_mask = BIT(3), 14018e509d66SKonrad Dybcio .keepalive = false, 14028e509d66SKonrad Dybcio .num_nodes = 1, 14038e509d66SKonrad Dybcio .nodes = { &ebi }, 14048e509d66SKonrad Dybcio }; 14058e509d66SKonrad Dybcio 14068e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mc0 = { 14078e509d66SKonrad Dybcio .name = "MC0", 14088e509d66SKonrad Dybcio .keepalive = true, 14098e509d66SKonrad Dybcio .num_nodes = 1, 14108e509d66SKonrad Dybcio .nodes = { &ebi }, 14118e509d66SKonrad Dybcio }; 14128e509d66SKonrad Dybcio 14138e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh0 = { 14148e509d66SKonrad Dybcio .name = "SH0", 14158e509d66SKonrad Dybcio .keepalive = true, 14168e509d66SKonrad Dybcio .num_nodes = 1, 14178e509d66SKonrad Dybcio .nodes = { &qns_llcc }, 14188e509d66SKonrad Dybcio }; 14198e509d66SKonrad Dybcio 14208e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm0 = { 14218e509d66SKonrad Dybcio .name = "MM0", 14228e509d66SKonrad Dybcio .keepalive = true, 14238e509d66SKonrad Dybcio .num_nodes = 1, 14248e509d66SKonrad Dybcio .nodes = { &qns_mem_noc_hf }, 14258e509d66SKonrad Dybcio }; 14268e509d66SKonrad Dybcio 14278e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_ce0 = { 14288e509d66SKonrad Dybcio .name = "CE0", 14298e509d66SKonrad Dybcio .keepalive = false, 14308e509d66SKonrad Dybcio .num_nodes = 1, 14318e509d66SKonrad Dybcio .nodes = { &qxm_crypto }, 14328e509d66SKonrad Dybcio }; 14338e509d66SKonrad Dybcio 14348e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm1 = { 14358e509d66SKonrad Dybcio .name = "MM1", 14368e509d66SKonrad Dybcio .keepalive = false, 14378e509d66SKonrad Dybcio .num_nodes = 3, 14388e509d66SKonrad Dybcio .nodes = { &qnm_camnoc_hf, &qxm_mdp0, &qxm_mdp1 }, 14398e509d66SKonrad Dybcio }; 14408e509d66SKonrad Dybcio 14418e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh2 = { 14428e509d66SKonrad Dybcio .name = "SH2", 14438e509d66SKonrad Dybcio .keepalive = false, 14448e509d66SKonrad Dybcio .num_nodes = 2, 14458e509d66SKonrad Dybcio .nodes = { &alm_gpu_tcu, &alm_sys_tcu }, 14468e509d66SKonrad Dybcio }; 14478e509d66SKonrad Dybcio 14488e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm2 = { 14498e509d66SKonrad Dybcio .name = "MM2", 14508e509d66SKonrad Dybcio .keepalive = false, 14518e509d66SKonrad Dybcio .num_nodes = 1, 14528e509d66SKonrad Dybcio .nodes = { &qns_mem_noc_sf }, 14538e509d66SKonrad Dybcio }; 14548e509d66SKonrad Dybcio 14558e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_qup0 = { 14568e509d66SKonrad Dybcio .name = "QUP0", 14578e509d66SKonrad Dybcio .keepalive = false, 14588e509d66SKonrad Dybcio .num_nodes = 3, 14598e509d66SKonrad Dybcio .nodes = { &qup0_core_master, &qup1_core_master, &qup2_core_master }, 14608e509d66SKonrad Dybcio }; 14618e509d66SKonrad Dybcio 14628e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh3 = { 14638e509d66SKonrad Dybcio .name = "SH3", 14648e509d66SKonrad Dybcio .keepalive = false, 14658e509d66SKonrad Dybcio .num_nodes = 1, 14668e509d66SKonrad Dybcio .nodes = { &qnm_cmpnoc }, 14678e509d66SKonrad Dybcio }; 14688e509d66SKonrad Dybcio 14698e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_mm3 = { 14708e509d66SKonrad Dybcio .name = "MM3", 14718e509d66SKonrad Dybcio .keepalive = false, 14728e509d66SKonrad Dybcio .num_nodes = 5, 14738e509d66SKonrad Dybcio .nodes = { &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_video0, &qnm_video1, &qnm_video_cvp }, 14748e509d66SKonrad Dybcio }; 14758e509d66SKonrad Dybcio 14768e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sh4 = { 14778e509d66SKonrad Dybcio .name = "SH4", 14788e509d66SKonrad Dybcio .keepalive = false, 14798e509d66SKonrad Dybcio .num_nodes = 1, 14808e509d66SKonrad Dybcio .nodes = { &chm_apps }, 14818e509d66SKonrad Dybcio }; 14828e509d66SKonrad Dybcio 14838e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn0 = { 14848e509d66SKonrad Dybcio .name = "SN0", 14858e509d66SKonrad Dybcio .keepalive = true, 14868e509d66SKonrad Dybcio .num_nodes = 1, 14878e509d66SKonrad Dybcio .nodes = { &qns_gemnoc_sf }, 14888e509d66SKonrad Dybcio }; 14898e509d66SKonrad Dybcio 14908e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_co0 = { 14918e509d66SKonrad Dybcio .name = "CO0", 14928e509d66SKonrad Dybcio .keepalive = false, 14938e509d66SKonrad Dybcio .num_nodes = 1, 14948e509d66SKonrad Dybcio .nodes = { &qns_cdsp_mem_noc }, 14958e509d66SKonrad Dybcio }; 14968e509d66SKonrad Dybcio 14978e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_cn0 = { 14988e509d66SKonrad Dybcio .name = "CN0", 14998e509d66SKonrad Dybcio .keepalive = true, 15008e509d66SKonrad Dybcio .num_nodes = 52, 15018e509d66SKonrad Dybcio .nodes = { &qnm_snoc, 15028e509d66SKonrad Dybcio &xm_qdss_dap, 15038e509d66SKonrad Dybcio &qhs_a1_noc_cfg, 15048e509d66SKonrad Dybcio &qhs_a2_noc_cfg, 15058e509d66SKonrad Dybcio &qhs_ahb2phy0, 15068e509d66SKonrad Dybcio &qhs_ahb2phy1, 15078e509d66SKonrad Dybcio &qhs_aoss, 15088e509d66SKonrad Dybcio &qhs_camera_cfg, 15098e509d66SKonrad Dybcio &qhs_clk_ctl, 15108e509d66SKonrad Dybcio &qhs_compute_dsp, 15118e509d66SKonrad Dybcio &qhs_cpr_cx, 15128e509d66SKonrad Dybcio &qhs_cpr_mmcx, 15138e509d66SKonrad Dybcio &qhs_cpr_mx, 15148e509d66SKonrad Dybcio &qhs_crypto0_cfg, 15158e509d66SKonrad Dybcio &qhs_cx_rdpm, 15168e509d66SKonrad Dybcio &qhs_dcc_cfg, 15178e509d66SKonrad Dybcio &qhs_ddrss_cfg, 15188e509d66SKonrad Dybcio &qhs_display_cfg, 15198e509d66SKonrad Dybcio &qhs_gpuss_cfg, 15208e509d66SKonrad Dybcio &qhs_imem_cfg, 15218e509d66SKonrad Dybcio &qhs_ipa, 15228e509d66SKonrad Dybcio &qhs_ipc_router, 15238e509d66SKonrad Dybcio &qhs_lpass_cfg, 15248e509d66SKonrad Dybcio &qhs_mnoc_cfg, 15258e509d66SKonrad Dybcio &qhs_npu_cfg, 15268e509d66SKonrad Dybcio &qhs_pcie0_cfg, 15278e509d66SKonrad Dybcio &qhs_pcie1_cfg, 15288e509d66SKonrad Dybcio &qhs_pcie_modem_cfg, 15298e509d66SKonrad Dybcio &qhs_pdm, 15308e509d66SKonrad Dybcio &qhs_pimem_cfg, 15318e509d66SKonrad Dybcio &qhs_prng, 15328e509d66SKonrad Dybcio &qhs_qdss_cfg, 15338e509d66SKonrad Dybcio &qhs_qspi, 15348e509d66SKonrad Dybcio &qhs_qup0, 15358e509d66SKonrad Dybcio &qhs_qup1, 15368e509d66SKonrad Dybcio &qhs_qup2, 15378e509d66SKonrad Dybcio &qhs_sdc2, 15388e509d66SKonrad Dybcio &qhs_sdc4, 15398e509d66SKonrad Dybcio &qhs_snoc_cfg, 15408e509d66SKonrad Dybcio &qhs_tcsr, 15418e509d66SKonrad Dybcio &qhs_tlmm0, 15428e509d66SKonrad Dybcio &qhs_tlmm1, 15438e509d66SKonrad Dybcio &qhs_tlmm2, 15448e509d66SKonrad Dybcio &qhs_tsif, 15458e509d66SKonrad Dybcio &qhs_ufs_card_cfg, 15468e509d66SKonrad Dybcio &qhs_ufs_mem_cfg, 15478e509d66SKonrad Dybcio &qhs_usb3_0, 15488e509d66SKonrad Dybcio &qhs_usb3_1, 15498e509d66SKonrad Dybcio &qhs_venus_cfg, 15508e509d66SKonrad Dybcio &qhs_vsense_ctrl_cfg, 15518e509d66SKonrad Dybcio &qns_cnoc_a2noc, 15528e509d66SKonrad Dybcio &srvc_cnoc 15538e509d66SKonrad Dybcio }, 15548e509d66SKonrad Dybcio }; 15558e509d66SKonrad Dybcio 15568e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn1 = { 15578e509d66SKonrad Dybcio .name = "SN1", 15588e509d66SKonrad Dybcio .keepalive = false, 15598e509d66SKonrad Dybcio .num_nodes = 1, 15608e509d66SKonrad Dybcio .nodes = { &qxs_imem }, 15618e509d66SKonrad Dybcio }; 15628e509d66SKonrad Dybcio 15638e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn2 = { 15648e509d66SKonrad Dybcio .name = "SN2", 15658e509d66SKonrad Dybcio .keepalive = false, 15668e509d66SKonrad Dybcio .num_nodes = 1, 15678e509d66SKonrad Dybcio .nodes = { &qns_gemnoc_gc }, 15688e509d66SKonrad Dybcio }; 15698e509d66SKonrad Dybcio 15708e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_co2 = { 15718e509d66SKonrad Dybcio .name = "CO2", 15728e509d66SKonrad Dybcio .keepalive = false, 15738e509d66SKonrad Dybcio .num_nodes = 1, 15748e509d66SKonrad Dybcio .nodes = { &qnm_npu }, 15758e509d66SKonrad Dybcio }; 15768e509d66SKonrad Dybcio 15778e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn3 = { 15788e509d66SKonrad Dybcio .name = "SN3", 15798e509d66SKonrad Dybcio .keepalive = false, 15808e509d66SKonrad Dybcio .num_nodes = 1, 15818e509d66SKonrad Dybcio .nodes = { &qxs_pimem }, 15828e509d66SKonrad Dybcio }; 15838e509d66SKonrad Dybcio 15848e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn4 = { 15858e509d66SKonrad Dybcio .name = "SN4", 15868e509d66SKonrad Dybcio .keepalive = false, 15878e509d66SKonrad Dybcio .num_nodes = 1, 15888e509d66SKonrad Dybcio .nodes = { &xs_qdss_stm }, 15898e509d66SKonrad Dybcio }; 15908e509d66SKonrad Dybcio 15918e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn5 = { 15928e509d66SKonrad Dybcio .name = "SN5", 15938e509d66SKonrad Dybcio .keepalive = false, 15948e509d66SKonrad Dybcio .num_nodes = 1, 15958e509d66SKonrad Dybcio .nodes = { &xs_pcie_modem }, 15968e509d66SKonrad Dybcio }; 15978e509d66SKonrad Dybcio 15988e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn6 = { 15998e509d66SKonrad Dybcio .name = "SN6", 16008e509d66SKonrad Dybcio .keepalive = false, 16018e509d66SKonrad Dybcio .num_nodes = 2, 16028e509d66SKonrad Dybcio .nodes = { &xs_pcie_0, &xs_pcie_1 }, 16038e509d66SKonrad Dybcio }; 16048e509d66SKonrad Dybcio 16058e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn7 = { 16068e509d66SKonrad Dybcio .name = "SN7", 16078e509d66SKonrad Dybcio .keepalive = false, 16088e509d66SKonrad Dybcio .num_nodes = 1, 16098e509d66SKonrad Dybcio .nodes = { &qnm_aggre1_noc }, 16108e509d66SKonrad Dybcio }; 16118e509d66SKonrad Dybcio 16128e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn8 = { 16138e509d66SKonrad Dybcio .name = "SN8", 16148e509d66SKonrad Dybcio .keepalive = false, 16158e509d66SKonrad Dybcio .num_nodes = 1, 16168e509d66SKonrad Dybcio .nodes = { &qnm_aggre2_noc }, 16178e509d66SKonrad Dybcio }; 16188e509d66SKonrad Dybcio 16198e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn9 = { 16208e509d66SKonrad Dybcio .name = "SN9", 16218e509d66SKonrad Dybcio .keepalive = false, 16228e509d66SKonrad Dybcio .num_nodes = 1, 16238e509d66SKonrad Dybcio .nodes = { &qnm_gemnoc_pcie }, 16248e509d66SKonrad Dybcio }; 16258e509d66SKonrad Dybcio 16268e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn11 = { 16278e509d66SKonrad Dybcio .name = "SN11", 16288e509d66SKonrad Dybcio .keepalive = false, 16298e509d66SKonrad Dybcio .num_nodes = 1, 16308e509d66SKonrad Dybcio .nodes = { &qnm_gemnoc }, 16318e509d66SKonrad Dybcio }; 16328e509d66SKonrad Dybcio 16338e509d66SKonrad Dybcio static struct qcom_icc_bcm bcm_sn12 = { 16348e509d66SKonrad Dybcio .name = "SN12", 16358e509d66SKonrad Dybcio .keepalive = false, 16368e509d66SKonrad Dybcio .num_nodes = 2, 16378e509d66SKonrad Dybcio .nodes = { &qns_pcie_modem_mem_noc, &qns_pcie_mem_noc }, 16388e509d66SKonrad Dybcio }; 16396df5b349SJonathan Marek 16407123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre1_noc_bcms[] = { 16416df5b349SJonathan Marek &bcm_sn12, 16426df5b349SJonathan Marek }; 16436df5b349SJonathan Marek 16442ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre1_noc_nodes[] = { 16456df5b349SJonathan Marek [MASTER_A1NOC_CFG] = &qhm_a1noc_cfg, 16466df5b349SJonathan Marek [MASTER_QSPI_0] = &qhm_qspi, 16476df5b349SJonathan Marek [MASTER_QUP_1] = &qhm_qup1, 16486df5b349SJonathan Marek [MASTER_QUP_2] = &qhm_qup2, 16496df5b349SJonathan Marek [MASTER_TSIF] = &qhm_tsif, 16506df5b349SJonathan Marek [MASTER_PCIE_2] = &xm_pcie3_modem, 16516df5b349SJonathan Marek [MASTER_SDCC_4] = &xm_sdc4, 16526df5b349SJonathan Marek [MASTER_UFS_MEM] = &xm_ufs_mem, 16536df5b349SJonathan Marek [MASTER_USB3] = &xm_usb3_0, 16546df5b349SJonathan Marek [MASTER_USB3_1] = &xm_usb3_1, 16556df5b349SJonathan Marek [A1NOC_SNOC_SLV] = &qns_a1noc_snoc, 16566df5b349SJonathan Marek [SLAVE_ANOC_PCIE_GEM_NOC_1] = &qns_pcie_modem_mem_noc, 16576df5b349SJonathan Marek [SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc, 16586df5b349SJonathan Marek }; 16596df5b349SJonathan Marek 16601625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_aggre1_noc = { 16616df5b349SJonathan Marek .nodes = aggre1_noc_nodes, 16626df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(aggre1_noc_nodes), 16636df5b349SJonathan Marek .bcms = aggre1_noc_bcms, 16646df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(aggre1_noc_bcms), 16656df5b349SJonathan Marek }; 16666df5b349SJonathan Marek 16677123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const aggre2_noc_bcms[] = { 16686df5b349SJonathan Marek &bcm_ce0, 16696df5b349SJonathan Marek &bcm_sn12, 16706df5b349SJonathan Marek }; 16716df5b349SJonathan Marek 1672cde2f928SKonrad Dybcio static struct qcom_icc_bcm * const qup_virt_bcms[] = { 1673cde2f928SKonrad Dybcio &bcm_qup0, 1674cde2f928SKonrad Dybcio }; 1675cde2f928SKonrad Dybcio 1676cde2f928SKonrad Dybcio static struct qcom_icc_node *qup_virt_nodes[] = { 1677cde2f928SKonrad Dybcio [MASTER_QUP_CORE_0] = &qup0_core_master, 1678cde2f928SKonrad Dybcio [MASTER_QUP_CORE_1] = &qup1_core_master, 1679cde2f928SKonrad Dybcio [MASTER_QUP_CORE_2] = &qup2_core_master, 1680cde2f928SKonrad Dybcio [SLAVE_QUP_CORE_0] = &qup0_core_slave, 1681cde2f928SKonrad Dybcio [SLAVE_QUP_CORE_1] = &qup1_core_slave, 1682cde2f928SKonrad Dybcio [SLAVE_QUP_CORE_2] = &qup2_core_slave, 1683cde2f928SKonrad Dybcio }; 1684cde2f928SKonrad Dybcio 1685cde2f928SKonrad Dybcio static const struct qcom_icc_desc sm8250_qup_virt = { 1686cde2f928SKonrad Dybcio .nodes = qup_virt_nodes, 1687cde2f928SKonrad Dybcio .num_nodes = ARRAY_SIZE(qup_virt_nodes), 1688cde2f928SKonrad Dybcio .bcms = qup_virt_bcms, 1689cde2f928SKonrad Dybcio .num_bcms = ARRAY_SIZE(qup_virt_bcms), 1690cde2f928SKonrad Dybcio }; 1691cde2f928SKonrad Dybcio 16922ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const aggre2_noc_nodes[] = { 16936df5b349SJonathan Marek [MASTER_A2NOC_CFG] = &qhm_a2noc_cfg, 16946df5b349SJonathan Marek [MASTER_QDSS_BAM] = &qhm_qdss_bam, 16956df5b349SJonathan Marek [MASTER_QUP_0] = &qhm_qup0, 16966df5b349SJonathan Marek [MASTER_CNOC_A2NOC] = &qnm_cnoc, 16976df5b349SJonathan Marek [MASTER_CRYPTO_CORE_0] = &qxm_crypto, 16986df5b349SJonathan Marek [MASTER_IPA] = &qxm_ipa, 16996df5b349SJonathan Marek [MASTER_PCIE] = &xm_pcie3_0, 17006df5b349SJonathan Marek [MASTER_PCIE_1] = &xm_pcie3_1, 17016df5b349SJonathan Marek [MASTER_QDSS_ETR] = &xm_qdss_etr, 17026df5b349SJonathan Marek [MASTER_SDCC_2] = &xm_sdc2, 17036df5b349SJonathan Marek [MASTER_UFS_CARD] = &xm_ufs_card, 17046df5b349SJonathan Marek [A2NOC_SNOC_SLV] = &qns_a2noc_snoc, 17056df5b349SJonathan Marek [SLAVE_ANOC_PCIE_GEM_NOC] = &qns_pcie_mem_noc, 17066df5b349SJonathan Marek [SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc, 17076df5b349SJonathan Marek }; 17086df5b349SJonathan Marek 17091625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_aggre2_noc = { 17106df5b349SJonathan Marek .nodes = aggre2_noc_nodes, 17116df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(aggre2_noc_nodes), 17126df5b349SJonathan Marek .bcms = aggre2_noc_bcms, 17136df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(aggre2_noc_bcms), 17146df5b349SJonathan Marek }; 17156df5b349SJonathan Marek 17167123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const compute_noc_bcms[] = { 17176df5b349SJonathan Marek &bcm_co0, 17186df5b349SJonathan Marek &bcm_co2, 17196df5b349SJonathan Marek }; 17206df5b349SJonathan Marek 17212ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const compute_noc_nodes[] = { 17226df5b349SJonathan Marek [MASTER_NPU] = &qnm_npu, 17236df5b349SJonathan Marek [SLAVE_CDSP_MEM_NOC] = &qns_cdsp_mem_noc, 17246df5b349SJonathan Marek }; 17256df5b349SJonathan Marek 17261625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_compute_noc = { 17276df5b349SJonathan Marek .nodes = compute_noc_nodes, 17286df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(compute_noc_nodes), 17296df5b349SJonathan Marek .bcms = compute_noc_bcms, 17306df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(compute_noc_bcms), 17316df5b349SJonathan Marek }; 17326df5b349SJonathan Marek 17337123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const config_noc_bcms[] = { 17346df5b349SJonathan Marek &bcm_cn0, 17356df5b349SJonathan Marek }; 17366df5b349SJonathan Marek 17372ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const config_noc_nodes[] = { 17386df5b349SJonathan Marek [SNOC_CNOC_MAS] = &qnm_snoc, 17396df5b349SJonathan Marek [MASTER_QDSS_DAP] = &xm_qdss_dap, 17406df5b349SJonathan Marek [SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg, 17416df5b349SJonathan Marek [SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg, 17426df5b349SJonathan Marek [SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0, 17436df5b349SJonathan Marek [SLAVE_AHB2PHY_NORTH] = &qhs_ahb2phy1, 17446df5b349SJonathan Marek [SLAVE_AOSS] = &qhs_aoss, 17456df5b349SJonathan Marek [SLAVE_CAMERA_CFG] = &qhs_camera_cfg, 17466df5b349SJonathan Marek [SLAVE_CLK_CTL] = &qhs_clk_ctl, 17476df5b349SJonathan Marek [SLAVE_CDSP_CFG] = &qhs_compute_dsp, 17486df5b349SJonathan Marek [SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx, 17496df5b349SJonathan Marek [SLAVE_RBCPR_MMCX_CFG] = &qhs_cpr_mmcx, 17506df5b349SJonathan Marek [SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx, 17516df5b349SJonathan Marek [SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg, 17526df5b349SJonathan Marek [SLAVE_CX_RDPM] = &qhs_cx_rdpm, 17536df5b349SJonathan Marek [SLAVE_DCC_CFG] = &qhs_dcc_cfg, 17546df5b349SJonathan Marek [SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg, 17556df5b349SJonathan Marek [SLAVE_DISPLAY_CFG] = &qhs_display_cfg, 17566df5b349SJonathan Marek [SLAVE_GRAPHICS_3D_CFG] = &qhs_gpuss_cfg, 17576df5b349SJonathan Marek [SLAVE_IMEM_CFG] = &qhs_imem_cfg, 17586df5b349SJonathan Marek [SLAVE_IPA_CFG] = &qhs_ipa, 17596df5b349SJonathan Marek [SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router, 17606df5b349SJonathan Marek [SLAVE_LPASS] = &qhs_lpass_cfg, 17616df5b349SJonathan Marek [SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg, 17626df5b349SJonathan Marek [SLAVE_NPU_CFG] = &qhs_npu_cfg, 17636df5b349SJonathan Marek [SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg, 17646df5b349SJonathan Marek [SLAVE_PCIE_1_CFG] = &qhs_pcie1_cfg, 17656df5b349SJonathan Marek [SLAVE_PCIE_2_CFG] = &qhs_pcie_modem_cfg, 17666df5b349SJonathan Marek [SLAVE_PDM] = &qhs_pdm, 17676df5b349SJonathan Marek [SLAVE_PIMEM_CFG] = &qhs_pimem_cfg, 17686df5b349SJonathan Marek [SLAVE_PRNG] = &qhs_prng, 17696df5b349SJonathan Marek [SLAVE_QDSS_CFG] = &qhs_qdss_cfg, 17706df5b349SJonathan Marek [SLAVE_QSPI_0] = &qhs_qspi, 17716df5b349SJonathan Marek [SLAVE_QUP_0] = &qhs_qup0, 17726df5b349SJonathan Marek [SLAVE_QUP_1] = &qhs_qup1, 17736df5b349SJonathan Marek [SLAVE_QUP_2] = &qhs_qup2, 17746df5b349SJonathan Marek [SLAVE_SDCC_2] = &qhs_sdc2, 17756df5b349SJonathan Marek [SLAVE_SDCC_4] = &qhs_sdc4, 17766df5b349SJonathan Marek [SLAVE_SNOC_CFG] = &qhs_snoc_cfg, 17776df5b349SJonathan Marek [SLAVE_TCSR] = &qhs_tcsr, 17786df5b349SJonathan Marek [SLAVE_TLMM_NORTH] = &qhs_tlmm0, 17796df5b349SJonathan Marek [SLAVE_TLMM_SOUTH] = &qhs_tlmm1, 17806df5b349SJonathan Marek [SLAVE_TLMM_WEST] = &qhs_tlmm2, 17816df5b349SJonathan Marek [SLAVE_TSIF] = &qhs_tsif, 17826df5b349SJonathan Marek [SLAVE_UFS_CARD_CFG] = &qhs_ufs_card_cfg, 17836df5b349SJonathan Marek [SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg, 17846df5b349SJonathan Marek [SLAVE_USB3] = &qhs_usb3_0, 17856df5b349SJonathan Marek [SLAVE_USB3_1] = &qhs_usb3_1, 17866df5b349SJonathan Marek [SLAVE_VENUS_CFG] = &qhs_venus_cfg, 17876df5b349SJonathan Marek [SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg, 17886df5b349SJonathan Marek [SLAVE_CNOC_A2NOC] = &qns_cnoc_a2noc, 17896df5b349SJonathan Marek [SLAVE_SERVICE_CNOC] = &srvc_cnoc, 17906df5b349SJonathan Marek }; 17916df5b349SJonathan Marek 17921625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_config_noc = { 17936df5b349SJonathan Marek .nodes = config_noc_nodes, 17946df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(config_noc_nodes), 17956df5b349SJonathan Marek .bcms = config_noc_bcms, 17966df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(config_noc_bcms), 17976df5b349SJonathan Marek }; 17986df5b349SJonathan Marek 17997123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const dc_noc_bcms[] = { 18006df5b349SJonathan Marek }; 18016df5b349SJonathan Marek 18022ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const dc_noc_nodes[] = { 18036df5b349SJonathan Marek [MASTER_CNOC_DC_NOC] = &qhm_cnoc_dc_noc, 18046df5b349SJonathan Marek [SLAVE_LLCC_CFG] = &qhs_llcc, 18056df5b349SJonathan Marek [SLAVE_GEM_NOC_CFG] = &qhs_memnoc, 18066df5b349SJonathan Marek }; 18076df5b349SJonathan Marek 18081625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_dc_noc = { 18096df5b349SJonathan Marek .nodes = dc_noc_nodes, 18106df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(dc_noc_nodes), 18116df5b349SJonathan Marek .bcms = dc_noc_bcms, 18126df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(dc_noc_bcms), 18136df5b349SJonathan Marek }; 18146df5b349SJonathan Marek 18157123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const gem_noc_bcms[] = { 18166df5b349SJonathan Marek &bcm_sh0, 18176df5b349SJonathan Marek &bcm_sh2, 18186df5b349SJonathan Marek &bcm_sh3, 18196df5b349SJonathan Marek &bcm_sh4, 18206df5b349SJonathan Marek }; 18216df5b349SJonathan Marek 18222ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const gem_noc_nodes[] = { 18236df5b349SJonathan Marek [MASTER_GPU_TCU] = &alm_gpu_tcu, 18246df5b349SJonathan Marek [MASTER_SYS_TCU] = &alm_sys_tcu, 18256df5b349SJonathan Marek [MASTER_AMPSS_M0] = &chm_apps, 18266df5b349SJonathan Marek [MASTER_GEM_NOC_CFG] = &qhm_gemnoc_cfg, 18276df5b349SJonathan Marek [MASTER_COMPUTE_NOC] = &qnm_cmpnoc, 18286df5b349SJonathan Marek [MASTER_GRAPHICS_3D] = &qnm_gpu, 18296df5b349SJonathan Marek [MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf, 18306df5b349SJonathan Marek [MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf, 18316df5b349SJonathan Marek [MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie, 18326df5b349SJonathan Marek [MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc, 18336df5b349SJonathan Marek [MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf, 18346df5b349SJonathan Marek [SLAVE_GEM_NOC_SNOC] = &qns_gem_noc_snoc, 18356df5b349SJonathan Marek [SLAVE_LLCC] = &qns_llcc, 18366df5b349SJonathan Marek [SLAVE_MEM_NOC_PCIE_SNOC] = &qns_sys_pcie, 18376df5b349SJonathan Marek [SLAVE_SERVICE_GEM_NOC_1] = &srvc_even_gemnoc, 18386df5b349SJonathan Marek [SLAVE_SERVICE_GEM_NOC_2] = &srvc_odd_gemnoc, 18396df5b349SJonathan Marek [SLAVE_SERVICE_GEM_NOC] = &srvc_sys_gemnoc, 18406df5b349SJonathan Marek }; 18416df5b349SJonathan Marek 18421625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_gem_noc = { 18436df5b349SJonathan Marek .nodes = gem_noc_nodes, 18446df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(gem_noc_nodes), 18456df5b349SJonathan Marek .bcms = gem_noc_bcms, 18466df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(gem_noc_bcms), 18476df5b349SJonathan Marek }; 18486df5b349SJonathan Marek 18497123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mc_virt_bcms[] = { 18506df5b349SJonathan Marek &bcm_acv, 18516df5b349SJonathan Marek &bcm_mc0, 18526df5b349SJonathan Marek }; 18536df5b349SJonathan Marek 18542ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mc_virt_nodes[] = { 18556df5b349SJonathan Marek [MASTER_LLCC] = &llcc_mc, 18566df5b349SJonathan Marek [SLAVE_EBI_CH0] = &ebi, 18576df5b349SJonathan Marek }; 18586df5b349SJonathan Marek 18591625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_mc_virt = { 18606df5b349SJonathan Marek .nodes = mc_virt_nodes, 18616df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(mc_virt_nodes), 18626df5b349SJonathan Marek .bcms = mc_virt_bcms, 18636df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(mc_virt_bcms), 18646df5b349SJonathan Marek }; 18656df5b349SJonathan Marek 18667123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const mmss_noc_bcms[] = { 18676df5b349SJonathan Marek &bcm_mm0, 18686df5b349SJonathan Marek &bcm_mm1, 18696df5b349SJonathan Marek &bcm_mm2, 18706df5b349SJonathan Marek &bcm_mm3, 18716df5b349SJonathan Marek }; 18726df5b349SJonathan Marek 18732ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const mmss_noc_nodes[] = { 18746df5b349SJonathan Marek [MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg, 18756df5b349SJonathan Marek [MASTER_CAMNOC_HF] = &qnm_camnoc_hf, 18766df5b349SJonathan Marek [MASTER_CAMNOC_ICP] = &qnm_camnoc_icp, 18776df5b349SJonathan Marek [MASTER_CAMNOC_SF] = &qnm_camnoc_sf, 18786df5b349SJonathan Marek [MASTER_VIDEO_P0] = &qnm_video0, 18796df5b349SJonathan Marek [MASTER_VIDEO_P1] = &qnm_video1, 18806df5b349SJonathan Marek [MASTER_VIDEO_PROC] = &qnm_video_cvp, 18816df5b349SJonathan Marek [MASTER_MDP_PORT0] = &qxm_mdp0, 18826df5b349SJonathan Marek [MASTER_MDP_PORT1] = &qxm_mdp1, 18836df5b349SJonathan Marek [MASTER_ROTATOR] = &qxm_rot, 18846df5b349SJonathan Marek [SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf, 18856df5b349SJonathan Marek [SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf, 18866df5b349SJonathan Marek [SLAVE_SERVICE_MNOC] = &srvc_mnoc, 18876df5b349SJonathan Marek }; 18886df5b349SJonathan Marek 18891625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_mmss_noc = { 18906df5b349SJonathan Marek .nodes = mmss_noc_nodes, 18916df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(mmss_noc_nodes), 18926df5b349SJonathan Marek .bcms = mmss_noc_bcms, 18936df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(mmss_noc_bcms), 18946df5b349SJonathan Marek }; 18956df5b349SJonathan Marek 18967123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const npu_noc_bcms[] = { 18976df5b349SJonathan Marek }; 18986df5b349SJonathan Marek 18992ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const npu_noc_nodes[] = { 19006df5b349SJonathan Marek [MASTER_NPU_SYS] = &amm_npu_sys, 19016df5b349SJonathan Marek [MASTER_NPU_CDP] = &amm_npu_sys_cdp_w, 19026df5b349SJonathan Marek [MASTER_NPU_NOC_CFG] = &qhm_cfg, 19036df5b349SJonathan Marek [SLAVE_NPU_CAL_DP0] = &qhs_cal_dp0, 19046df5b349SJonathan Marek [SLAVE_NPU_CAL_DP1] = &qhs_cal_dp1, 19056df5b349SJonathan Marek [SLAVE_NPU_CP] = &qhs_cp, 19066df5b349SJonathan Marek [SLAVE_NPU_INT_DMA_BWMON_CFG] = &qhs_dma_bwmon, 19076df5b349SJonathan Marek [SLAVE_NPU_DPM] = &qhs_dpm, 19086df5b349SJonathan Marek [SLAVE_ISENSE_CFG] = &qhs_isense, 19096df5b349SJonathan Marek [SLAVE_NPU_LLM_CFG] = &qhs_llm, 19106df5b349SJonathan Marek [SLAVE_NPU_TCM] = &qhs_tcm, 19116df5b349SJonathan Marek [SLAVE_NPU_COMPUTE_NOC] = &qns_npu_sys, 19126df5b349SJonathan Marek [SLAVE_SERVICE_NPU_NOC] = &srvc_noc, 19136df5b349SJonathan Marek }; 19146df5b349SJonathan Marek 19151625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_npu_noc = { 19166df5b349SJonathan Marek .nodes = npu_noc_nodes, 19176df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(npu_noc_nodes), 19186df5b349SJonathan Marek .bcms = npu_noc_bcms, 19196df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(npu_noc_bcms), 19206df5b349SJonathan Marek }; 19216df5b349SJonathan Marek 19227123f883SKrzysztof Kozlowski static struct qcom_icc_bcm * const system_noc_bcms[] = { 19236df5b349SJonathan Marek &bcm_sn0, 19246df5b349SJonathan Marek &bcm_sn1, 19256df5b349SJonathan Marek &bcm_sn11, 19266df5b349SJonathan Marek &bcm_sn2, 19276df5b349SJonathan Marek &bcm_sn3, 19286df5b349SJonathan Marek &bcm_sn4, 19296df5b349SJonathan Marek &bcm_sn5, 19306df5b349SJonathan Marek &bcm_sn6, 19316df5b349SJonathan Marek &bcm_sn7, 19326df5b349SJonathan Marek &bcm_sn8, 19336df5b349SJonathan Marek &bcm_sn9, 19346df5b349SJonathan Marek }; 19356df5b349SJonathan Marek 19362ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const system_noc_nodes[] = { 19376df5b349SJonathan Marek [MASTER_SNOC_CFG] = &qhm_snoc_cfg, 19386df5b349SJonathan Marek [A1NOC_SNOC_MAS] = &qnm_aggre1_noc, 19396df5b349SJonathan Marek [A2NOC_SNOC_MAS] = &qnm_aggre2_noc, 19406df5b349SJonathan Marek [MASTER_GEM_NOC_SNOC] = &qnm_gemnoc, 19416df5b349SJonathan Marek [MASTER_GEM_NOC_PCIE_SNOC] = &qnm_gemnoc_pcie, 19426df5b349SJonathan Marek [MASTER_PIMEM] = &qxm_pimem, 19436df5b349SJonathan Marek [MASTER_GIC] = &xm_gic, 19446df5b349SJonathan Marek [SLAVE_APPSS] = &qhs_apss, 19456df5b349SJonathan Marek [SNOC_CNOC_SLV] = &qns_cnoc, 19466df5b349SJonathan Marek [SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc, 19476df5b349SJonathan Marek [SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf, 19486df5b349SJonathan Marek [SLAVE_OCIMEM] = &qxs_imem, 19496df5b349SJonathan Marek [SLAVE_PIMEM] = &qxs_pimem, 19506df5b349SJonathan Marek [SLAVE_SERVICE_SNOC] = &srvc_snoc, 19516df5b349SJonathan Marek [SLAVE_PCIE_0] = &xs_pcie_0, 19526df5b349SJonathan Marek [SLAVE_PCIE_1] = &xs_pcie_1, 19536df5b349SJonathan Marek [SLAVE_PCIE_2] = &xs_pcie_modem, 19546df5b349SJonathan Marek [SLAVE_QDSS_STM] = &xs_qdss_stm, 19556df5b349SJonathan Marek [SLAVE_TCU] = &xs_sys_tcu_cfg, 19566df5b349SJonathan Marek }; 19576df5b349SJonathan Marek 19581625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sm8250_system_noc = { 19596df5b349SJonathan Marek .nodes = system_noc_nodes, 19606df5b349SJonathan Marek .num_nodes = ARRAY_SIZE(system_noc_nodes), 19616df5b349SJonathan Marek .bcms = system_noc_bcms, 19626df5b349SJonathan Marek .num_bcms = ARRAY_SIZE(system_noc_bcms), 19636df5b349SJonathan Marek }; 19646df5b349SJonathan Marek 19656df5b349SJonathan Marek static const struct of_device_id qnoc_of_match[] = { 19666df5b349SJonathan Marek { .compatible = "qcom,sm8250-aggre1-noc", 19676df5b349SJonathan Marek .data = &sm8250_aggre1_noc}, 19686df5b349SJonathan Marek { .compatible = "qcom,sm8250-aggre2-noc", 19696df5b349SJonathan Marek .data = &sm8250_aggre2_noc}, 19706df5b349SJonathan Marek { .compatible = "qcom,sm8250-compute-noc", 19716df5b349SJonathan Marek .data = &sm8250_compute_noc}, 19726df5b349SJonathan Marek { .compatible = "qcom,sm8250-config-noc", 19736df5b349SJonathan Marek .data = &sm8250_config_noc}, 19746df5b349SJonathan Marek { .compatible = "qcom,sm8250-dc-noc", 19756df5b349SJonathan Marek .data = &sm8250_dc_noc}, 19766df5b349SJonathan Marek { .compatible = "qcom,sm8250-gem-noc", 19776df5b349SJonathan Marek .data = &sm8250_gem_noc}, 19786df5b349SJonathan Marek { .compatible = "qcom,sm8250-mc-virt", 19796df5b349SJonathan Marek .data = &sm8250_mc_virt}, 19806df5b349SJonathan Marek { .compatible = "qcom,sm8250-mmss-noc", 19816df5b349SJonathan Marek .data = &sm8250_mmss_noc}, 19826df5b349SJonathan Marek { .compatible = "qcom,sm8250-npu-noc", 19836df5b349SJonathan Marek .data = &sm8250_npu_noc}, 1984cde2f928SKonrad Dybcio { .compatible = "qcom,sm8250-qup-virt", 1985cde2f928SKonrad Dybcio .data = &sm8250_qup_virt }, 19866df5b349SJonathan Marek { .compatible = "qcom,sm8250-system-noc", 19876df5b349SJonathan Marek .data = &sm8250_system_noc}, 19886df5b349SJonathan Marek { } 19896df5b349SJonathan Marek }; 19906df5b349SJonathan Marek MODULE_DEVICE_TABLE(of, qnoc_of_match); 19916df5b349SJonathan Marek 19926df5b349SJonathan Marek static struct platform_driver qnoc_driver = { 1993789a39adSMike Tipton .probe = qcom_icc_rpmh_probe, 1994789a39adSMike Tipton .remove = qcom_icc_rpmh_remove, 19956df5b349SJonathan Marek .driver = { 19966df5b349SJonathan Marek .name = "qnoc-sm8250", 19976df5b349SJonathan Marek .of_match_table = qnoc_of_match, 1998*5832822aSKonrad Dybcio .sync_state = icc_sync_state, 19996df5b349SJonathan Marek }, 20006df5b349SJonathan Marek }; 20016df5b349SJonathan Marek module_platform_driver(qnoc_driver); 20026df5b349SJonathan Marek 20036df5b349SJonathan Marek MODULE_DESCRIPTION("Qualcomm SM8250 NoC driver"); 20046df5b349SJonathan Marek MODULE_LICENSE("GPL v2"); 2005