1*010f4d24SOdelu Kukatla // SPDX-License-Identifier: GPL-2.0-only 2*010f4d24SOdelu Kukatla /* 3*010f4d24SOdelu Kukatla * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. 4*010f4d24SOdelu Kukatla * 5*010f4d24SOdelu Kukatla */ 6*010f4d24SOdelu Kukatla 7*010f4d24SOdelu Kukatla #include <linux/device.h> 8*010f4d24SOdelu Kukatla #include <linux/interconnect.h> 9*010f4d24SOdelu Kukatla #include <linux/interconnect-provider.h> 10*010f4d24SOdelu Kukatla #include <linux/module.h> 11*010f4d24SOdelu Kukatla #include <linux/of_platform.h> 12*010f4d24SOdelu Kukatla #include <dt-bindings/interconnect/qcom,nord-rpmh.h> 13*010f4d24SOdelu Kukatla 14*010f4d24SOdelu Kukatla #include "bcm-voter.h" 15*010f4d24SOdelu Kukatla #include "icc-rpmh.h" 16*010f4d24SOdelu Kukatla 17*010f4d24SOdelu Kukatla static struct qcom_icc_node qup0_core_slave = { 18*010f4d24SOdelu Kukatla .name = "qup0_core_slave", 19*010f4d24SOdelu Kukatla .channels = 1, 20*010f4d24SOdelu Kukatla .buswidth = 4, 21*010f4d24SOdelu Kukatla }; 22*010f4d24SOdelu Kukatla 23*010f4d24SOdelu Kukatla static struct qcom_icc_node qup1_core_slave = { 24*010f4d24SOdelu Kukatla .name = "qup1_core_slave", 25*010f4d24SOdelu Kukatla .channels = 1, 26*010f4d24SOdelu Kukatla .buswidth = 4, 27*010f4d24SOdelu Kukatla }; 28*010f4d24SOdelu Kukatla 29*010f4d24SOdelu Kukatla static struct qcom_icc_node qup2_core_slave = { 30*010f4d24SOdelu Kukatla .name = "qup2_core_slave", 31*010f4d24SOdelu Kukatla .channels = 1, 32*010f4d24SOdelu Kukatla .buswidth = 4, 33*010f4d24SOdelu Kukatla }; 34*010f4d24SOdelu Kukatla 35*010f4d24SOdelu Kukatla static struct qcom_icc_node qup3_core_slave = { 36*010f4d24SOdelu Kukatla .name = "qup3_core_slave", 37*010f4d24SOdelu Kukatla .channels = 1, 38*010f4d24SOdelu Kukatla .buswidth = 4, 39*010f4d24SOdelu Kukatla }; 40*010f4d24SOdelu Kukatla 41*010f4d24SOdelu Kukatla static struct qcom_icc_node ps_eth_0 = { 42*010f4d24SOdelu Kukatla .name = "ps_eth_0", 43*010f4d24SOdelu Kukatla .channels = 1, 44*010f4d24SOdelu Kukatla .buswidth = 4, 45*010f4d24SOdelu Kukatla }; 46*010f4d24SOdelu Kukatla 47*010f4d24SOdelu Kukatla static struct qcom_icc_node ps_eth_1 = { 48*010f4d24SOdelu Kukatla .name = "ps_eth_1", 49*010f4d24SOdelu Kukatla .channels = 1, 50*010f4d24SOdelu Kukatla .buswidth = 4, 51*010f4d24SOdelu Kukatla }; 52*010f4d24SOdelu Kukatla 53*010f4d24SOdelu Kukatla static struct qcom_icc_node ps_shs_server = { 54*010f4d24SOdelu Kukatla .name = "ps_shs_server", 55*010f4d24SOdelu Kukatla .channels = 1, 56*010f4d24SOdelu Kukatla .buswidth = 4, 57*010f4d24SOdelu Kukatla }; 58*010f4d24SOdelu Kukatla 59*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy0 = { 60*010f4d24SOdelu Kukatla .name = "qhs_ahb2phy0", 61*010f4d24SOdelu Kukatla .channels = 1, 62*010f4d24SOdelu Kukatla .buswidth = 4, 63*010f4d24SOdelu Kukatla }; 64*010f4d24SOdelu Kukatla 65*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy1 = { 66*010f4d24SOdelu Kukatla .name = "qhs_ahb2phy1", 67*010f4d24SOdelu Kukatla .channels = 1, 68*010f4d24SOdelu Kukatla .buswidth = 4, 69*010f4d24SOdelu Kukatla }; 70*010f4d24SOdelu Kukatla 71*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy2 = { 72*010f4d24SOdelu Kukatla .name = "qhs_ahb2phy2", 73*010f4d24SOdelu Kukatla .channels = 1, 74*010f4d24SOdelu Kukatla .buswidth = 4, 75*010f4d24SOdelu Kukatla }; 76*010f4d24SOdelu Kukatla 77*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy3 = { 78*010f4d24SOdelu Kukatla .name = "qhs_ahb2phy3", 79*010f4d24SOdelu Kukatla .channels = 1, 80*010f4d24SOdelu Kukatla .buswidth = 4, 81*010f4d24SOdelu Kukatla }; 82*010f4d24SOdelu Kukatla 83*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy_eth_0 = { 84*010f4d24SOdelu Kukatla .name = "qhs_ahb2phy_eth_0", 85*010f4d24SOdelu Kukatla .channels = 1, 86*010f4d24SOdelu Kukatla .buswidth = 4, 87*010f4d24SOdelu Kukatla }; 88*010f4d24SOdelu Kukatla 89*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ahb2phy_eth_1 = { 90*010f4d24SOdelu Kukatla .name = "qhs_ahb2phy_eth_1", 91*010f4d24SOdelu Kukatla .channels = 1, 92*010f4d24SOdelu Kukatla .buswidth = 4, 93*010f4d24SOdelu Kukatla }; 94*010f4d24SOdelu Kukatla 95*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_camera_cfg = { 96*010f4d24SOdelu Kukatla .name = "qhs_camera_cfg", 97*010f4d24SOdelu Kukatla .channels = 1, 98*010f4d24SOdelu Kukatla .buswidth = 4, 99*010f4d24SOdelu Kukatla }; 100*010f4d24SOdelu Kukatla 101*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_clk_ctl = { 102*010f4d24SOdelu Kukatla .name = "qhs_clk_ctl", 103*010f4d24SOdelu Kukatla .channels = 1, 104*010f4d24SOdelu Kukatla .buswidth = 4, 105*010f4d24SOdelu Kukatla }; 106*010f4d24SOdelu Kukatla 107*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_crypto0_cfg = { 108*010f4d24SOdelu Kukatla .name = "qhs_crypto0_cfg", 109*010f4d24SOdelu Kukatla .channels = 1, 110*010f4d24SOdelu Kukatla .buswidth = 4, 111*010f4d24SOdelu Kukatla }; 112*010f4d24SOdelu Kukatla 113*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_crypto1_cfg = { 114*010f4d24SOdelu Kukatla .name = "qhs_crypto1_cfg", 115*010f4d24SOdelu Kukatla .channels = 1, 116*010f4d24SOdelu Kukatla .buswidth = 4, 117*010f4d24SOdelu Kukatla }; 118*010f4d24SOdelu Kukatla 119*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_crypto2_cfg = { 120*010f4d24SOdelu Kukatla .name = "qhs_crypto2_cfg", 121*010f4d24SOdelu Kukatla .channels = 1, 122*010f4d24SOdelu Kukatla .buswidth = 4, 123*010f4d24SOdelu Kukatla }; 124*010f4d24SOdelu Kukatla 125*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_display_1_cfg = { 126*010f4d24SOdelu Kukatla .name = "qhs_display_1_cfg", 127*010f4d24SOdelu Kukatla .channels = 1, 128*010f4d24SOdelu Kukatla .buswidth = 4, 129*010f4d24SOdelu Kukatla }; 130*010f4d24SOdelu Kukatla 131*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_display_cfg = { 132*010f4d24SOdelu Kukatla .name = "qhs_display_cfg", 133*010f4d24SOdelu Kukatla .channels = 1, 134*010f4d24SOdelu Kukatla .buswidth = 4, 135*010f4d24SOdelu Kukatla }; 136*010f4d24SOdelu Kukatla 137*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_dprx0 = { 138*010f4d24SOdelu Kukatla .name = "qhs_dprx0", 139*010f4d24SOdelu Kukatla .channels = 1, 140*010f4d24SOdelu Kukatla .buswidth = 4, 141*010f4d24SOdelu Kukatla }; 142*010f4d24SOdelu Kukatla 143*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_dprx1 = { 144*010f4d24SOdelu Kukatla .name = "qhs_dprx1", 145*010f4d24SOdelu Kukatla .channels = 1, 146*010f4d24SOdelu Kukatla .buswidth = 4, 147*010f4d24SOdelu Kukatla }; 148*010f4d24SOdelu Kukatla 149*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_eva_cfg = { 150*010f4d24SOdelu Kukatla .name = "qhs_eva_cfg", 151*010f4d24SOdelu Kukatla .channels = 1, 152*010f4d24SOdelu Kukatla .buswidth = 4, 153*010f4d24SOdelu Kukatla }; 154*010f4d24SOdelu Kukatla 155*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_gpuss_0_cfg = { 156*010f4d24SOdelu Kukatla .name = "qhs_gpuss_0_cfg", 157*010f4d24SOdelu Kukatla .channels = 1, 158*010f4d24SOdelu Kukatla .buswidth = 8, 159*010f4d24SOdelu Kukatla }; 160*010f4d24SOdelu Kukatla 161*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_gpuss_1_cfg = { 162*010f4d24SOdelu Kukatla .name = "qhs_gpuss_1_cfg", 163*010f4d24SOdelu Kukatla .channels = 1, 164*010f4d24SOdelu Kukatla .buswidth = 8, 165*010f4d24SOdelu Kukatla }; 166*010f4d24SOdelu Kukatla 167*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_i2c = { 168*010f4d24SOdelu Kukatla .name = "qhs_i2c", 169*010f4d24SOdelu Kukatla .channels = 1, 170*010f4d24SOdelu Kukatla .buswidth = 4, 171*010f4d24SOdelu Kukatla }; 172*010f4d24SOdelu Kukatla 173*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_imem_cfg = { 174*010f4d24SOdelu Kukatla .name = "qhs_imem_cfg", 175*010f4d24SOdelu Kukatla .channels = 1, 176*010f4d24SOdelu Kukatla .buswidth = 4, 177*010f4d24SOdelu Kukatla }; 178*010f4d24SOdelu Kukatla 179*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_mcw_pcie = { 180*010f4d24SOdelu Kukatla .name = "qhs_mcw_pcie", 181*010f4d24SOdelu Kukatla .channels = 1, 182*010f4d24SOdelu Kukatla .buswidth = 4, 183*010f4d24SOdelu Kukatla }; 184*010f4d24SOdelu Kukatla 185*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_mm_rscc = { 186*010f4d24SOdelu Kukatla .name = "qhs_mm_rscc", 187*010f4d24SOdelu Kukatla .channels = 1, 188*010f4d24SOdelu Kukatla .buswidth = 4, 189*010f4d24SOdelu Kukatla }; 190*010f4d24SOdelu Kukatla 191*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ne_clk_ctl = { 192*010f4d24SOdelu Kukatla .name = "qhs_ne_clk_ctl", 193*010f4d24SOdelu Kukatla .channels = 1, 194*010f4d24SOdelu Kukatla .buswidth = 4, 195*010f4d24SOdelu Kukatla }; 196*010f4d24SOdelu Kukatla 197*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_nspss0_cfg = { 198*010f4d24SOdelu Kukatla .name = "qhs_nspss0_cfg", 199*010f4d24SOdelu Kukatla .channels = 1, 200*010f4d24SOdelu Kukatla .buswidth = 4, 201*010f4d24SOdelu Kukatla }; 202*010f4d24SOdelu Kukatla 203*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_nspss1_cfg = { 204*010f4d24SOdelu Kukatla .name = "qhs_nspss1_cfg", 205*010f4d24SOdelu Kukatla .channels = 1, 206*010f4d24SOdelu Kukatla .buswidth = 4, 207*010f4d24SOdelu Kukatla }; 208*010f4d24SOdelu Kukatla 209*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_nspss2_cfg = { 210*010f4d24SOdelu Kukatla .name = "qhs_nspss2_cfg", 211*010f4d24SOdelu Kukatla .channels = 1, 212*010f4d24SOdelu Kukatla .buswidth = 4, 213*010f4d24SOdelu Kukatla }; 214*010f4d24SOdelu Kukatla 215*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_nspss3_cfg = { 216*010f4d24SOdelu Kukatla .name = "qhs_nspss3_cfg", 217*010f4d24SOdelu Kukatla .channels = 1, 218*010f4d24SOdelu Kukatla .buswidth = 4, 219*010f4d24SOdelu Kukatla }; 220*010f4d24SOdelu Kukatla 221*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_nw_clk_ctl = { 222*010f4d24SOdelu Kukatla .name = "qhs_nw_clk_ctl", 223*010f4d24SOdelu Kukatla .channels = 1, 224*010f4d24SOdelu Kukatla .buswidth = 4, 225*010f4d24SOdelu Kukatla }; 226*010f4d24SOdelu Kukatla 227*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_prng = { 228*010f4d24SOdelu Kukatla .name = "qhs_prng", 229*010f4d24SOdelu Kukatla .channels = 1, 230*010f4d24SOdelu Kukatla .buswidth = 4, 231*010f4d24SOdelu Kukatla }; 232*010f4d24SOdelu Kukatla 233*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_qdss_cfg = { 234*010f4d24SOdelu Kukatla .name = "qhs_qdss_cfg", 235*010f4d24SOdelu Kukatla .channels = 1, 236*010f4d24SOdelu Kukatla .buswidth = 4, 237*010f4d24SOdelu Kukatla }; 238*010f4d24SOdelu Kukatla 239*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_qspi = { 240*010f4d24SOdelu Kukatla .name = "qhs_qspi", 241*010f4d24SOdelu Kukatla .channels = 1, 242*010f4d24SOdelu Kukatla .buswidth = 4, 243*010f4d24SOdelu Kukatla }; 244*010f4d24SOdelu Kukatla 245*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_qup0 = { 246*010f4d24SOdelu Kukatla .name = "qhs_qup0", 247*010f4d24SOdelu Kukatla .channels = 1, 248*010f4d24SOdelu Kukatla .buswidth = 4, 249*010f4d24SOdelu Kukatla }; 250*010f4d24SOdelu Kukatla 251*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_qup3 = { 252*010f4d24SOdelu Kukatla .name = "qhs_qup3", 253*010f4d24SOdelu Kukatla .channels = 1, 254*010f4d24SOdelu Kukatla .buswidth = 4, 255*010f4d24SOdelu Kukatla }; 256*010f4d24SOdelu Kukatla 257*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_qup1 = { 258*010f4d24SOdelu Kukatla .name = "qhs_qup1", 259*010f4d24SOdelu Kukatla .channels = 1, 260*010f4d24SOdelu Kukatla .buswidth = 4, 261*010f4d24SOdelu Kukatla }; 262*010f4d24SOdelu Kukatla 263*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_qup2 = { 264*010f4d24SOdelu Kukatla .name = "qhs_qup2", 265*010f4d24SOdelu Kukatla .channels = 1, 266*010f4d24SOdelu Kukatla .buswidth = 4, 267*010f4d24SOdelu Kukatla }; 268*010f4d24SOdelu Kukatla 269*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_safedma_cfg = { 270*010f4d24SOdelu Kukatla .name = "qhs_safedma_cfg", 271*010f4d24SOdelu Kukatla .channels = 1, 272*010f4d24SOdelu Kukatla .buswidth = 4, 273*010f4d24SOdelu Kukatla }; 274*010f4d24SOdelu Kukatla 275*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_sdc4 = { 276*010f4d24SOdelu Kukatla .name = "qhs_sdc4", 277*010f4d24SOdelu Kukatla .channels = 1, 278*010f4d24SOdelu Kukatla .buswidth = 4, 279*010f4d24SOdelu Kukatla }; 280*010f4d24SOdelu Kukatla 281*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_se_clk_ctl = { 282*010f4d24SOdelu Kukatla .name = "qhs_se_clk_ctl", 283*010f4d24SOdelu Kukatla .channels = 1, 284*010f4d24SOdelu Kukatla .buswidth = 4, 285*010f4d24SOdelu Kukatla }; 286*010f4d24SOdelu Kukatla 287*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_tcsr = { 288*010f4d24SOdelu Kukatla .name = "qhs_tcsr", 289*010f4d24SOdelu Kukatla .channels = 1, 290*010f4d24SOdelu Kukatla .buswidth = 4, 291*010f4d24SOdelu Kukatla }; 292*010f4d24SOdelu Kukatla 293*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_tlmm = { 294*010f4d24SOdelu Kukatla .name = "qhs_tlmm", 295*010f4d24SOdelu Kukatla .channels = 1, 296*010f4d24SOdelu Kukatla .buswidth = 4, 297*010f4d24SOdelu Kukatla }; 298*010f4d24SOdelu Kukatla 299*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_tsc_cfg = { 300*010f4d24SOdelu Kukatla .name = "qhs_tsc_cfg", 301*010f4d24SOdelu Kukatla .channels = 1, 302*010f4d24SOdelu Kukatla .buswidth = 4, 303*010f4d24SOdelu Kukatla }; 304*010f4d24SOdelu Kukatla 305*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ufs_mem_cfg = { 306*010f4d24SOdelu Kukatla .name = "qhs_ufs_mem_cfg", 307*010f4d24SOdelu Kukatla .channels = 1, 308*010f4d24SOdelu Kukatla .buswidth = 4, 309*010f4d24SOdelu Kukatla }; 310*010f4d24SOdelu Kukatla 311*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_usb2 = { 312*010f4d24SOdelu Kukatla .name = "qhs_usb2", 313*010f4d24SOdelu Kukatla .channels = 1, 314*010f4d24SOdelu Kukatla .buswidth = 4, 315*010f4d24SOdelu Kukatla }; 316*010f4d24SOdelu Kukatla 317*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_usb3_0 = { 318*010f4d24SOdelu Kukatla .name = "qhs_usb3_0", 319*010f4d24SOdelu Kukatla .channels = 1, 320*010f4d24SOdelu Kukatla .buswidth = 4, 321*010f4d24SOdelu Kukatla }; 322*010f4d24SOdelu Kukatla 323*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_usb3_1 = { 324*010f4d24SOdelu Kukatla .name = "qhs_usb3_1", 325*010f4d24SOdelu Kukatla .channels = 1, 326*010f4d24SOdelu Kukatla .buswidth = 4, 327*010f4d24SOdelu Kukatla }; 328*010f4d24SOdelu Kukatla 329*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_venus_cfg = { 330*010f4d24SOdelu Kukatla .name = "qhs_venus_cfg", 331*010f4d24SOdelu Kukatla .channels = 1, 332*010f4d24SOdelu Kukatla .buswidth = 4, 333*010f4d24SOdelu Kukatla }; 334*010f4d24SOdelu Kukatla 335*010f4d24SOdelu Kukatla static struct qcom_icc_node qss_computenoc_cfg = { 336*010f4d24SOdelu Kukatla .name = "qss_computenoc_cfg", 337*010f4d24SOdelu Kukatla .channels = 1, 338*010f4d24SOdelu Kukatla .buswidth = 4, 339*010f4d24SOdelu Kukatla }; 340*010f4d24SOdelu Kukatla 341*010f4d24SOdelu Kukatla static struct qcom_icc_node qss_qtc_cfg = { 342*010f4d24SOdelu Kukatla .name = "qss_qtc_cfg", 343*010f4d24SOdelu Kukatla .channels = 1, 344*010f4d24SOdelu Kukatla .buswidth = 4, 345*010f4d24SOdelu Kukatla }; 346*010f4d24SOdelu Kukatla 347*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_qdss_stm = { 348*010f4d24SOdelu Kukatla .name = "xs_qdss_stm", 349*010f4d24SOdelu Kukatla .channels = 1, 350*010f4d24SOdelu Kukatla .buswidth = 4, 351*010f4d24SOdelu Kukatla }; 352*010f4d24SOdelu Kukatla 353*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_sys_tcu0_cfg = { 354*010f4d24SOdelu Kukatla .name = "xs_sys_tcu0_cfg", 355*010f4d24SOdelu Kukatla .channels = 1, 356*010f4d24SOdelu Kukatla .buswidth = 8, 357*010f4d24SOdelu Kukatla }; 358*010f4d24SOdelu Kukatla 359*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_sys_tcu1_cfg = { 360*010f4d24SOdelu Kukatla .name = "xs_sys_tcu1_cfg", 361*010f4d24SOdelu Kukatla .channels = 1, 362*010f4d24SOdelu Kukatla .buswidth = 8, 363*010f4d24SOdelu Kukatla }; 364*010f4d24SOdelu Kukatla 365*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_sys_tcu2_cfg = { 366*010f4d24SOdelu Kukatla .name = "xs_sys_tcu2_cfg", 367*010f4d24SOdelu Kukatla .channels = 1, 368*010f4d24SOdelu Kukatla .buswidth = 8, 369*010f4d24SOdelu Kukatla }; 370*010f4d24SOdelu Kukatla 371*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_aoss = { 372*010f4d24SOdelu Kukatla .name = "qhs_aoss", 373*010f4d24SOdelu Kukatla .channels = 1, 374*010f4d24SOdelu Kukatla .buswidth = 4, 375*010f4d24SOdelu Kukatla }; 376*010f4d24SOdelu Kukatla 377*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_hbcu = { 378*010f4d24SOdelu Kukatla .name = "qhs_hbcu", 379*010f4d24SOdelu Kukatla .channels = 1, 380*010f4d24SOdelu Kukatla .buswidth = 4, 381*010f4d24SOdelu Kukatla }; 382*010f4d24SOdelu Kukatla 383*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ipa = { 384*010f4d24SOdelu Kukatla .name = "qhs_ipa", 385*010f4d24SOdelu Kukatla .channels = 1, 386*010f4d24SOdelu Kukatla .buswidth = 4, 387*010f4d24SOdelu Kukatla }; 388*010f4d24SOdelu Kukatla 389*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_ipc_router = { 390*010f4d24SOdelu Kukatla .name = "qhs_ipc_router", 391*010f4d24SOdelu Kukatla .channels = 1, 392*010f4d24SOdelu Kukatla .buswidth = 4, 393*010f4d24SOdelu Kukatla }; 394*010f4d24SOdelu Kukatla 395*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_soccp = { 396*010f4d24SOdelu Kukatla .name = "qhs_soccp", 397*010f4d24SOdelu Kukatla .channels = 1, 398*010f4d24SOdelu Kukatla .buswidth = 4, 399*010f4d24SOdelu Kukatla }; 400*010f4d24SOdelu Kukatla 401*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_tme_cfg = { 402*010f4d24SOdelu Kukatla .name = "qhs_tme_cfg", 403*010f4d24SOdelu Kukatla .channels = 1, 404*010f4d24SOdelu Kukatla .buswidth = 4, 405*010f4d24SOdelu Kukatla }; 406*010f4d24SOdelu Kukatla 407*010f4d24SOdelu Kukatla static struct qcom_icc_node qss_ddrss_cfg = { 408*010f4d24SOdelu Kukatla .name = "qss_ddrss_cfg", 409*010f4d24SOdelu Kukatla .channels = 1, 410*010f4d24SOdelu Kukatla .buswidth = 4, 411*010f4d24SOdelu Kukatla }; 412*010f4d24SOdelu Kukatla 413*010f4d24SOdelu Kukatla static struct qcom_icc_node qxs_imem = { 414*010f4d24SOdelu Kukatla .name = "qxs_imem", 415*010f4d24SOdelu Kukatla .channels = 1, 416*010f4d24SOdelu Kukatla .buswidth = 8, 417*010f4d24SOdelu Kukatla }; 418*010f4d24SOdelu Kukatla 419*010f4d24SOdelu Kukatla static struct qcom_icc_node ebi = { 420*010f4d24SOdelu Kukatla .name = "ebi", 421*010f4d24SOdelu Kukatla .channels = 16, 422*010f4d24SOdelu Kukatla .buswidth = 4, 423*010f4d24SOdelu Kukatla }; 424*010f4d24SOdelu Kukatla 425*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_ahb2phy_cfg = { 426*010f4d24SOdelu Kukatla .name = "qhs_pcie_ahb2phy_cfg", 427*010f4d24SOdelu Kukatla .channels = 1, 428*010f4d24SOdelu Kukatla .buswidth = 4, 429*010f4d24SOdelu Kukatla }; 430*010f4d24SOdelu Kukatla 431*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_cfg_0 = { 432*010f4d24SOdelu Kukatla .name = "qhs_pcie_cfg_0", 433*010f4d24SOdelu Kukatla .channels = 1, 434*010f4d24SOdelu Kukatla .buswidth = 4, 435*010f4d24SOdelu Kukatla }; 436*010f4d24SOdelu Kukatla 437*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_cfg_1 = { 438*010f4d24SOdelu Kukatla .name = "qhs_pcie_cfg_1", 439*010f4d24SOdelu Kukatla .channels = 1, 440*010f4d24SOdelu Kukatla .buswidth = 4, 441*010f4d24SOdelu Kukatla }; 442*010f4d24SOdelu Kukatla 443*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_cfg_2 = { 444*010f4d24SOdelu Kukatla .name = "qhs_pcie_cfg_2", 445*010f4d24SOdelu Kukatla .channels = 1, 446*010f4d24SOdelu Kukatla .buswidth = 4, 447*010f4d24SOdelu Kukatla }; 448*010f4d24SOdelu Kukatla 449*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_cfg_3 = { 450*010f4d24SOdelu Kukatla .name = "qhs_pcie_cfg_3", 451*010f4d24SOdelu Kukatla .channels = 1, 452*010f4d24SOdelu Kukatla .buswidth = 4, 453*010f4d24SOdelu Kukatla }; 454*010f4d24SOdelu Kukatla 455*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_dma_0_cfg = { 456*010f4d24SOdelu Kukatla .name = "qhs_pcie_dma_0_cfg", 457*010f4d24SOdelu Kukatla .channels = 1, 458*010f4d24SOdelu Kukatla .buswidth = 4, 459*010f4d24SOdelu Kukatla }; 460*010f4d24SOdelu Kukatla 461*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_dma_1_cfg = { 462*010f4d24SOdelu Kukatla .name = "qhs_pcie_dma_1_cfg", 463*010f4d24SOdelu Kukatla .channels = 1, 464*010f4d24SOdelu Kukatla .buswidth = 4, 465*010f4d24SOdelu Kukatla }; 466*010f4d24SOdelu Kukatla 467*010f4d24SOdelu Kukatla static struct qcom_icc_node qhs_pcie_dma_2_cfg = { 468*010f4d24SOdelu Kukatla .name = "qhs_pcie_dma_2_cfg", 469*010f4d24SOdelu Kukatla .channels = 1, 470*010f4d24SOdelu Kukatla .buswidth = 4, 471*010f4d24SOdelu Kukatla }; 472*010f4d24SOdelu Kukatla 473*010f4d24SOdelu Kukatla static struct qcom_icc_node qxs_pcie_dma_0 = { 474*010f4d24SOdelu Kukatla .name = "qxs_pcie_dma_0", 475*010f4d24SOdelu Kukatla .channels = 1, 476*010f4d24SOdelu Kukatla .buswidth = 8, 477*010f4d24SOdelu Kukatla }; 478*010f4d24SOdelu Kukatla 479*010f4d24SOdelu Kukatla static struct qcom_icc_node qxs_pcie_dma_1 = { 480*010f4d24SOdelu Kukatla .name = "qxs_pcie_dma_1", 481*010f4d24SOdelu Kukatla .channels = 1, 482*010f4d24SOdelu Kukatla .buswidth = 8, 483*010f4d24SOdelu Kukatla }; 484*010f4d24SOdelu Kukatla 485*010f4d24SOdelu Kukatla static struct qcom_icc_node qxs_pcie_dma_2 = { 486*010f4d24SOdelu Kukatla .name = "qxs_pcie_dma_2", 487*010f4d24SOdelu Kukatla .channels = 1, 488*010f4d24SOdelu Kukatla .buswidth = 8, 489*010f4d24SOdelu Kukatla }; 490*010f4d24SOdelu Kukatla 491*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_pcie_0 = { 492*010f4d24SOdelu Kukatla .name = "xs_pcie_0", 493*010f4d24SOdelu Kukatla .channels = 1, 494*010f4d24SOdelu Kukatla .buswidth = 32, 495*010f4d24SOdelu Kukatla }; 496*010f4d24SOdelu Kukatla 497*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_pcie_1 = { 498*010f4d24SOdelu Kukatla .name = "xs_pcie_1", 499*010f4d24SOdelu Kukatla .channels = 1, 500*010f4d24SOdelu Kukatla .buswidth = 32, 501*010f4d24SOdelu Kukatla }; 502*010f4d24SOdelu Kukatla 503*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_pcie_2 = { 504*010f4d24SOdelu Kukatla .name = "xs_pcie_2", 505*010f4d24SOdelu Kukatla .channels = 1, 506*010f4d24SOdelu Kukatla .buswidth = 16, 507*010f4d24SOdelu Kukatla }; 508*010f4d24SOdelu Kukatla 509*010f4d24SOdelu Kukatla static struct qcom_icc_node xs_pcie_3 = { 510*010f4d24SOdelu Kukatla .name = "xs_pcie_3", 511*010f4d24SOdelu Kukatla .channels = 1, 512*010f4d24SOdelu Kukatla .buswidth = 8, 513*010f4d24SOdelu Kukatla }; 514*010f4d24SOdelu Kukatla 515*010f4d24SOdelu Kukatla static struct qcom_icc_node qup0_core_master = { 516*010f4d24SOdelu Kukatla .name = "qup0_core_master", 517*010f4d24SOdelu Kukatla .channels = 1, 518*010f4d24SOdelu Kukatla .buswidth = 4, 519*010f4d24SOdelu Kukatla .num_links = 1, 520*010f4d24SOdelu Kukatla .link_nodes = { &qup0_core_slave }, 521*010f4d24SOdelu Kukatla }; 522*010f4d24SOdelu Kukatla 523*010f4d24SOdelu Kukatla static struct qcom_icc_node qup1_core_master = { 524*010f4d24SOdelu Kukatla .name = "qup1_core_master", 525*010f4d24SOdelu Kukatla .channels = 1, 526*010f4d24SOdelu Kukatla .buswidth = 4, 527*010f4d24SOdelu Kukatla .num_links = 1, 528*010f4d24SOdelu Kukatla .link_nodes = { &qup1_core_slave }, 529*010f4d24SOdelu Kukatla }; 530*010f4d24SOdelu Kukatla 531*010f4d24SOdelu Kukatla static struct qcom_icc_node qup2_core_master = { 532*010f4d24SOdelu Kukatla .name = "qup2_core_master", 533*010f4d24SOdelu Kukatla .channels = 1, 534*010f4d24SOdelu Kukatla .buswidth = 4, 535*010f4d24SOdelu Kukatla .num_links = 1, 536*010f4d24SOdelu Kukatla .link_nodes = { &qup2_core_slave }, 537*010f4d24SOdelu Kukatla }; 538*010f4d24SOdelu Kukatla 539*010f4d24SOdelu Kukatla static struct qcom_icc_node qup3_core_master = { 540*010f4d24SOdelu Kukatla .name = "qup3_core_master", 541*010f4d24SOdelu Kukatla .channels = 1, 542*010f4d24SOdelu Kukatla .buswidth = 4, 543*010f4d24SOdelu Kukatla .num_links = 1, 544*010f4d24SOdelu Kukatla .link_nodes = { &qup3_core_slave }, 545*010f4d24SOdelu Kukatla }; 546*010f4d24SOdelu Kukatla 547*010f4d24SOdelu Kukatla static struct qcom_icc_node llcc_mc = { 548*010f4d24SOdelu Kukatla .name = "llcc_mc", 549*010f4d24SOdelu Kukatla .channels = 16, 550*010f4d24SOdelu Kukatla .buswidth = 4, 551*010f4d24SOdelu Kukatla .num_links = 1, 552*010f4d24SOdelu Kukatla .link_nodes = { &ebi }, 553*010f4d24SOdelu Kukatla }; 554*010f4d24SOdelu Kukatla 555*010f4d24SOdelu Kukatla static struct qcom_icc_node qsm_pcie_noc_cfg = { 556*010f4d24SOdelu Kukatla .name = "qsm_pcie_noc_cfg", 557*010f4d24SOdelu Kukatla .channels = 1, 558*010f4d24SOdelu Kukatla .buswidth = 4, 559*010f4d24SOdelu Kukatla .num_links = 8, 560*010f4d24SOdelu Kukatla .link_nodes = { &qhs_pcie_ahb2phy_cfg, &qhs_pcie_cfg_0, 561*010f4d24SOdelu Kukatla &qhs_pcie_cfg_1, &qhs_pcie_cfg_2, 562*010f4d24SOdelu Kukatla &qhs_pcie_cfg_3, &qhs_pcie_dma_0_cfg, 563*010f4d24SOdelu Kukatla &qhs_pcie_dma_1_cfg, &qhs_pcie_dma_2_cfg }, 564*010f4d24SOdelu Kukatla }; 565*010f4d24SOdelu Kukatla 566*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_cnoc_pcie_dma = { 567*010f4d24SOdelu Kukatla .name = "qnm_cnoc_pcie_dma", 568*010f4d24SOdelu Kukatla .channels = 1, 569*010f4d24SOdelu Kukatla .buswidth = 16, 570*010f4d24SOdelu Kukatla .num_links = 3, 571*010f4d24SOdelu Kukatla .link_nodes = { &qxs_pcie_dma_0, &qxs_pcie_dma_1, 572*010f4d24SOdelu Kukatla &qxs_pcie_dma_2 }, 573*010f4d24SOdelu Kukatla }; 574*010f4d24SOdelu Kukatla 575*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hscnoc_pcie = { 576*010f4d24SOdelu Kukatla .name = "qnm_hscnoc_pcie", 577*010f4d24SOdelu Kukatla .channels = 1, 578*010f4d24SOdelu Kukatla .buswidth = 32, 579*010f4d24SOdelu Kukatla .num_links = 4, 580*010f4d24SOdelu Kukatla .link_nodes = { &xs_pcie_0, &xs_pcie_1, 581*010f4d24SOdelu Kukatla &xs_pcie_2, &xs_pcie_3 }, 582*010f4d24SOdelu Kukatla }; 583*010f4d24SOdelu Kukatla 584*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_pcie_ibnoc_dma = { 585*010f4d24SOdelu Kukatla .name = "qnm_pcie_ibnoc_dma", 586*010f4d24SOdelu Kukatla .channels = 1, 587*010f4d24SOdelu Kukatla .buswidth = 16, 588*010f4d24SOdelu Kukatla .num_links = 1, 589*010f4d24SOdelu Kukatla .link_nodes = { &xs_pcie_0 }, 590*010f4d24SOdelu Kukatla }; 591*010f4d24SOdelu Kukatla 592*010f4d24SOdelu Kukatla static struct qcom_icc_node qss_pcie_noc_cfg = { 593*010f4d24SOdelu Kukatla .name = "qss_pcie_noc_cfg", 594*010f4d24SOdelu Kukatla .channels = 1, 595*010f4d24SOdelu Kukatla .buswidth = 4, 596*010f4d24SOdelu Kukatla .num_links = 1, 597*010f4d24SOdelu Kukatla .link_nodes = { &qsm_pcie_noc_cfg }, 598*010f4d24SOdelu Kukatla }; 599*010f4d24SOdelu Kukatla 600*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_pcie_dma = { 601*010f4d24SOdelu Kukatla .name = "qns_pcie_dma", 602*010f4d24SOdelu Kukatla .channels = 1, 603*010f4d24SOdelu Kukatla .buswidth = 16, 604*010f4d24SOdelu Kukatla .num_links = 1, 605*010f4d24SOdelu Kukatla .link_nodes = { &qnm_cnoc_pcie_dma }, 606*010f4d24SOdelu Kukatla }; 607*010f4d24SOdelu Kukatla 608*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_llcc = { 609*010f4d24SOdelu Kukatla .name = "qns_llcc", 610*010f4d24SOdelu Kukatla .channels = 16, 611*010f4d24SOdelu Kukatla .buswidth = 16, 612*010f4d24SOdelu Kukatla .num_links = 1, 613*010f4d24SOdelu Kukatla .link_nodes = { &llcc_mc }, 614*010f4d24SOdelu Kukatla }; 615*010f4d24SOdelu Kukatla 616*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_pcie = { 617*010f4d24SOdelu Kukatla .name = "qns_pcie", 618*010f4d24SOdelu Kukatla .channels = 1, 619*010f4d24SOdelu Kukatla .buswidth = 32, 620*010f4d24SOdelu Kukatla .num_links = 1, 621*010f4d24SOdelu Kukatla .link_nodes = { &qnm_hscnoc_pcie }, 622*010f4d24SOdelu Kukatla }; 623*010f4d24SOdelu Kukatla 624*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_pcie_obnoc_dma = { 625*010f4d24SOdelu Kukatla .name = "qns_pcie_obnoc_dma", 626*010f4d24SOdelu Kukatla .channels = 1, 627*010f4d24SOdelu Kukatla .buswidth = 16, 628*010f4d24SOdelu Kukatla .num_links = 1, 629*010f4d24SOdelu Kukatla .link_nodes = { &qnm_pcie_ibnoc_dma }, 630*010f4d24SOdelu Kukatla }; 631*010f4d24SOdelu Kukatla 632*010f4d24SOdelu Kukatla static struct qcom_icc_node qsm_cfg = { 633*010f4d24SOdelu Kukatla .name = "qsm_cfg", 634*010f4d24SOdelu Kukatla .channels = 1, 635*010f4d24SOdelu Kukatla .buswidth = 4, 636*010f4d24SOdelu Kukatla .num_links = 56, 637*010f4d24SOdelu Kukatla .link_nodes = { &ps_eth_0, &ps_eth_1, 638*010f4d24SOdelu Kukatla &ps_shs_server, &qhs_ahb2phy0, 639*010f4d24SOdelu Kukatla &qhs_ahb2phy1, &qhs_ahb2phy2, 640*010f4d24SOdelu Kukatla &qhs_ahb2phy3, &qhs_ahb2phy_eth_0, 641*010f4d24SOdelu Kukatla &qhs_ahb2phy_eth_1, &qhs_camera_cfg, 642*010f4d24SOdelu Kukatla &qhs_clk_ctl, &qhs_crypto0_cfg, 643*010f4d24SOdelu Kukatla &qhs_crypto1_cfg, &qhs_crypto2_cfg, 644*010f4d24SOdelu Kukatla &qhs_display_1_cfg, &qhs_display_cfg, 645*010f4d24SOdelu Kukatla &qhs_dprx0, &qhs_dprx1, 646*010f4d24SOdelu Kukatla &qhs_eva_cfg, &qhs_gpuss_0_cfg, 647*010f4d24SOdelu Kukatla &qhs_gpuss_1_cfg, &qhs_i2c, 648*010f4d24SOdelu Kukatla &qhs_imem_cfg, &qhs_mcw_pcie, 649*010f4d24SOdelu Kukatla &qhs_mm_rscc, &qhs_ne_clk_ctl, 650*010f4d24SOdelu Kukatla &qhs_nspss0_cfg, &qhs_nspss1_cfg, 651*010f4d24SOdelu Kukatla &qhs_nspss2_cfg, &qhs_nspss3_cfg, 652*010f4d24SOdelu Kukatla &qhs_nw_clk_ctl, &qhs_prng, 653*010f4d24SOdelu Kukatla &qhs_qdss_cfg, &qhs_qspi, 654*010f4d24SOdelu Kukatla &qhs_qup0, &qhs_qup3, 655*010f4d24SOdelu Kukatla &qhs_qup1, &qhs_qup2, 656*010f4d24SOdelu Kukatla &qhs_safedma_cfg, &qhs_sdc4, 657*010f4d24SOdelu Kukatla &qhs_se_clk_ctl, &qhs_tcsr, 658*010f4d24SOdelu Kukatla &qhs_tlmm, &qhs_tsc_cfg, 659*010f4d24SOdelu Kukatla &qhs_ufs_mem_cfg, &qhs_usb2, 660*010f4d24SOdelu Kukatla &qhs_usb3_0, &qhs_usb3_1, 661*010f4d24SOdelu Kukatla &qhs_venus_cfg, &qss_computenoc_cfg, 662*010f4d24SOdelu Kukatla &qss_pcie_noc_cfg, &qss_qtc_cfg, 663*010f4d24SOdelu Kukatla &xs_qdss_stm, &xs_sys_tcu0_cfg, 664*010f4d24SOdelu Kukatla &xs_sys_tcu1_cfg, &xs_sys_tcu2_cfg }, 665*010f4d24SOdelu Kukatla }; 666*010f4d24SOdelu Kukatla 667*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_gic = { 668*010f4d24SOdelu Kukatla .name = "xm_gic", 669*010f4d24SOdelu Kukatla .channels = 1, 670*010f4d24SOdelu Kukatla .buswidth = 8, 671*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 672*010f4d24SOdelu Kukatla .num_ports = 1, 673*010f4d24SOdelu Kukatla .port_offsets = { 0xa44000 }, 674*010f4d24SOdelu Kukatla .prio = 4, 675*010f4d24SOdelu Kukatla .urg_fwd = 0, 676*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 677*010f4d24SOdelu Kukatla }, 678*010f4d24SOdelu Kukatla .num_links = 1, 679*010f4d24SOdelu Kukatla .link_nodes = { &qns_llcc }, 680*010f4d24SOdelu Kukatla }; 681*010f4d24SOdelu Kukatla 682*010f4d24SOdelu Kukatla static struct qcom_icc_node qss_cfg = { 683*010f4d24SOdelu Kukatla .name = "qss_cfg", 684*010f4d24SOdelu Kukatla .channels = 1, 685*010f4d24SOdelu Kukatla .buswidth = 4, 686*010f4d24SOdelu Kukatla .num_links = 1, 687*010f4d24SOdelu Kukatla .link_nodes = { &qsm_cfg }, 688*010f4d24SOdelu Kukatla }; 689*010f4d24SOdelu Kukatla 690*010f4d24SOdelu Kukatla static struct qcom_icc_node qhm_mm_rscc = { 691*010f4d24SOdelu Kukatla .name = "qhm_mm_rscc", 692*010f4d24SOdelu Kukatla .channels = 1, 693*010f4d24SOdelu Kukatla .buswidth = 4, 694*010f4d24SOdelu Kukatla .num_links = 1, 695*010f4d24SOdelu Kukatla .link_nodes = { &qss_cfg }, 696*010f4d24SOdelu Kukatla }; 697*010f4d24SOdelu Kukatla 698*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hscnoc = { 699*010f4d24SOdelu Kukatla .name = "qnm_hscnoc", 700*010f4d24SOdelu Kukatla .channels = 1, 701*010f4d24SOdelu Kukatla .buswidth = 16, 702*010f4d24SOdelu Kukatla .num_links = 10, 703*010f4d24SOdelu Kukatla .link_nodes = { &qhs_aoss, &qhs_hbcu, 704*010f4d24SOdelu Kukatla &qhs_ipa, &qhs_ipc_router, 705*010f4d24SOdelu Kukatla &qhs_soccp, &qhs_tme_cfg, 706*010f4d24SOdelu Kukatla &qns_pcie_dma, &qss_cfg, 707*010f4d24SOdelu Kukatla &qss_ddrss_cfg, &qxs_imem }, 708*010f4d24SOdelu Kukatla }; 709*010f4d24SOdelu Kukatla 710*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_hscnoc_cnoc = { 711*010f4d24SOdelu Kukatla .name = "qns_hscnoc_cnoc", 712*010f4d24SOdelu Kukatla .channels = 1, 713*010f4d24SOdelu Kukatla .buswidth = 16, 714*010f4d24SOdelu Kukatla .num_links = 1, 715*010f4d24SOdelu Kukatla .link_nodes = { &qnm_hscnoc }, 716*010f4d24SOdelu Kukatla }; 717*010f4d24SOdelu Kukatla 718*010f4d24SOdelu Kukatla static struct qcom_icc_node alm_gpu_tcu = { 719*010f4d24SOdelu Kukatla .name = "alm_gpu_tcu", 720*010f4d24SOdelu Kukatla .channels = 2, 721*010f4d24SOdelu Kukatla .buswidth = 8, 722*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 723*010f4d24SOdelu Kukatla .num_ports = 2, 724*010f4d24SOdelu Kukatla .port_offsets = { 0x930000, 0xa45000 }, 725*010f4d24SOdelu Kukatla .prio = 1, 726*010f4d24SOdelu Kukatla .urg_fwd = 0, 727*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 728*010f4d24SOdelu Kukatla }, 729*010f4d24SOdelu Kukatla .num_links = 2, 730*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc }, 731*010f4d24SOdelu Kukatla }; 732*010f4d24SOdelu Kukatla 733*010f4d24SOdelu Kukatla static struct qcom_icc_node alm_qtc = { 734*010f4d24SOdelu Kukatla .name = "alm_qtc", 735*010f4d24SOdelu Kukatla .channels = 1, 736*010f4d24SOdelu Kukatla .buswidth = 8, 737*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 738*010f4d24SOdelu Kukatla .num_ports = 1, 739*010f4d24SOdelu Kukatla .port_offsets = { 0x2c0000 }, 740*010f4d24SOdelu Kukatla .prio = 3, 741*010f4d24SOdelu Kukatla .urg_fwd = 0, 742*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 743*010f4d24SOdelu Kukatla }, 744*010f4d24SOdelu Kukatla .num_links = 2, 745*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc }, 746*010f4d24SOdelu Kukatla }; 747*010f4d24SOdelu Kukatla 748*010f4d24SOdelu Kukatla static struct qcom_icc_node alm_sys_tcu0 = { 749*010f4d24SOdelu Kukatla .name = "alm_sys_tcu0", 750*010f4d24SOdelu Kukatla .channels = 1, 751*010f4d24SOdelu Kukatla .buswidth = 8, 752*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 753*010f4d24SOdelu Kukatla .num_ports = 1, 754*010f4d24SOdelu Kukatla .port_offsets = { 0xa42000 }, 755*010f4d24SOdelu Kukatla .prio = 6, 756*010f4d24SOdelu Kukatla .urg_fwd = 0, 757*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 758*010f4d24SOdelu Kukatla }, 759*010f4d24SOdelu Kukatla .num_links = 2, 760*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc }, 761*010f4d24SOdelu Kukatla }; 762*010f4d24SOdelu Kukatla 763*010f4d24SOdelu Kukatla static struct qcom_icc_node alm_sys_tcu1 = { 764*010f4d24SOdelu Kukatla .name = "alm_sys_tcu1", 765*010f4d24SOdelu Kukatla .channels = 1, 766*010f4d24SOdelu Kukatla .buswidth = 8, 767*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 768*010f4d24SOdelu Kukatla .num_ports = 1, 769*010f4d24SOdelu Kukatla .port_offsets = { 0x81f000 }, 770*010f4d24SOdelu Kukatla .prio = 6, 771*010f4d24SOdelu Kukatla .urg_fwd = 0, 772*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 773*010f4d24SOdelu Kukatla }, 774*010f4d24SOdelu Kukatla .num_links = 2, 775*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc }, 776*010f4d24SOdelu Kukatla }; 777*010f4d24SOdelu Kukatla 778*010f4d24SOdelu Kukatla static struct qcom_icc_node alm_sys_tcu2 = { 779*010f4d24SOdelu Kukatla .name = "alm_sys_tcu2", 780*010f4d24SOdelu Kukatla .channels = 1, 781*010f4d24SOdelu Kukatla .buswidth = 8, 782*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 783*010f4d24SOdelu Kukatla .num_ports = 1, 784*010f4d24SOdelu Kukatla .port_offsets = { 0x30000 }, 785*010f4d24SOdelu Kukatla .prio = 6, 786*010f4d24SOdelu Kukatla .urg_fwd = 0, 787*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 788*010f4d24SOdelu Kukatla }, 789*010f4d24SOdelu Kukatla .num_links = 2, 790*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc }, 791*010f4d24SOdelu Kukatla }; 792*010f4d24SOdelu Kukatla 793*010f4d24SOdelu Kukatla static struct qcom_icc_node chm_apps = { 794*010f4d24SOdelu Kukatla .name = "chm_apps", 795*010f4d24SOdelu Kukatla .channels = 6, 796*010f4d24SOdelu Kukatla .buswidth = 32, 797*010f4d24SOdelu Kukatla .num_links = 3, 798*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 799*010f4d24SOdelu Kukatla &qns_pcie }, 800*010f4d24SOdelu Kukatla }; 801*010f4d24SOdelu Kukatla 802*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_aggre_north = { 803*010f4d24SOdelu Kukatla .name = "qnm_aggre_north", 804*010f4d24SOdelu Kukatla .channels = 1, 805*010f4d24SOdelu Kukatla .buswidth = 16, 806*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 807*010f4d24SOdelu Kukatla .num_ports = 1, 808*010f4d24SOdelu Kukatla .port_offsets = { 0x935000 }, 809*010f4d24SOdelu Kukatla .prio = 0, 810*010f4d24SOdelu Kukatla .urg_fwd = 1, 811*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 812*010f4d24SOdelu Kukatla }, 813*010f4d24SOdelu Kukatla .num_links = 3, 814*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 815*010f4d24SOdelu Kukatla &qns_pcie }, 816*010f4d24SOdelu Kukatla }; 817*010f4d24SOdelu Kukatla 818*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_aggre_south = { 819*010f4d24SOdelu Kukatla .name = "qnm_aggre_south", 820*010f4d24SOdelu Kukatla .channels = 1, 821*010f4d24SOdelu Kukatla .buswidth = 16, 822*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 823*010f4d24SOdelu Kukatla .num_ports = 1, 824*010f4d24SOdelu Kukatla .port_offsets = { 0x31000 }, 825*010f4d24SOdelu Kukatla .prio = 0, 826*010f4d24SOdelu Kukatla .urg_fwd = 1, 827*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 828*010f4d24SOdelu Kukatla }, 829*010f4d24SOdelu Kukatla .num_links = 3, 830*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 831*010f4d24SOdelu Kukatla &qns_pcie }, 832*010f4d24SOdelu Kukatla }; 833*010f4d24SOdelu Kukatla 834*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_gpu0 = { 835*010f4d24SOdelu Kukatla .name = "qnm_gpu0", 836*010f4d24SOdelu Kukatla .channels = 4, 837*010f4d24SOdelu Kukatla .buswidth = 32, 838*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 839*010f4d24SOdelu Kukatla .num_ports = 4, 840*010f4d24SOdelu Kukatla .port_offsets = { 0x931000, 0x932000, 0x933000, 0x934000 }, 841*010f4d24SOdelu Kukatla .prio = 0, 842*010f4d24SOdelu Kukatla .urg_fwd = 0, 843*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 844*010f4d24SOdelu Kukatla }, 845*010f4d24SOdelu Kukatla .num_links = 3, 846*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 847*010f4d24SOdelu Kukatla &qns_pcie }, 848*010f4d24SOdelu Kukatla }; 849*010f4d24SOdelu Kukatla 850*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_gpu1 = { 851*010f4d24SOdelu Kukatla .name = "qnm_gpu1", 852*010f4d24SOdelu Kukatla .channels = 2, 853*010f4d24SOdelu Kukatla .buswidth = 32, 854*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 855*010f4d24SOdelu Kukatla .num_ports = 2, 856*010f4d24SOdelu Kukatla .port_offsets = { 0xa40000, 0xa41000 }, 857*010f4d24SOdelu Kukatla .prio = 0, 858*010f4d24SOdelu Kukatla .urg_fwd = 0, 859*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 860*010f4d24SOdelu Kukatla }, 861*010f4d24SOdelu Kukatla .num_links = 3, 862*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 863*010f4d24SOdelu Kukatla &qns_pcie }, 864*010f4d24SOdelu Kukatla }; 865*010f4d24SOdelu Kukatla 866*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hpass_adas_hscnoc = { 867*010f4d24SOdelu Kukatla .name = "qnm_hpass_adas_hscnoc", 868*010f4d24SOdelu Kukatla .channels = 2, 869*010f4d24SOdelu Kukatla .buswidth = 32, 870*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 871*010f4d24SOdelu Kukatla .num_ports = 2, 872*010f4d24SOdelu Kukatla .port_offsets = { 0x240000, 0x245000 }, 873*010f4d24SOdelu Kukatla .prio = 0, 874*010f4d24SOdelu Kukatla .urg_fwd = 1, 875*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 876*010f4d24SOdelu Kukatla }, 877*010f4d24SOdelu Kukatla .num_links = 3, 878*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 879*010f4d24SOdelu Kukatla &qns_pcie }, 880*010f4d24SOdelu Kukatla }; 881*010f4d24SOdelu Kukatla 882*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hpass_audio_hscnoc = { 883*010f4d24SOdelu Kukatla .name = "qnm_hpass_audio_hscnoc", 884*010f4d24SOdelu Kukatla .channels = 1, 885*010f4d24SOdelu Kukatla .buswidth = 32, 886*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 887*010f4d24SOdelu Kukatla .num_ports = 1, 888*010f4d24SOdelu Kukatla .port_offsets = { 0x241000 }, 889*010f4d24SOdelu Kukatla .prio = 3, 890*010f4d24SOdelu Kukatla .urg_fwd = 1, 891*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 892*010f4d24SOdelu Kukatla }, 893*010f4d24SOdelu Kukatla .num_links = 3, 894*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 895*010f4d24SOdelu Kukatla &qns_pcie }, 896*010f4d24SOdelu Kukatla }; 897*010f4d24SOdelu Kukatla 898*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_mnoc_hf = { 899*010f4d24SOdelu Kukatla .name = "qnm_mnoc_hf", 900*010f4d24SOdelu Kukatla .channels = 2, 901*010f4d24SOdelu Kukatla .buswidth = 32, 902*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 903*010f4d24SOdelu Kukatla .num_ports = 2, 904*010f4d24SOdelu Kukatla .port_offsets = { 0x81d000, 0x820000 }, 905*010f4d24SOdelu Kukatla .prio = 0, 906*010f4d24SOdelu Kukatla .urg_fwd = 1, 907*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 908*010f4d24SOdelu Kukatla }, 909*010f4d24SOdelu Kukatla .num_links = 3, 910*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 911*010f4d24SOdelu Kukatla &qns_pcie }, 912*010f4d24SOdelu Kukatla }; 913*010f4d24SOdelu Kukatla 914*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_mnoc_sf = { 915*010f4d24SOdelu Kukatla .name = "qnm_mnoc_sf", 916*010f4d24SOdelu Kukatla .channels = 2, 917*010f4d24SOdelu Kukatla .buswidth = 32, 918*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 919*010f4d24SOdelu Kukatla .num_ports = 2, 920*010f4d24SOdelu Kukatla .port_offsets = { 0x81e000, 0x821000 }, 921*010f4d24SOdelu Kukatla .prio = 0, 922*010f4d24SOdelu Kukatla .urg_fwd = 1, 923*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 924*010f4d24SOdelu Kukatla }, 925*010f4d24SOdelu Kukatla .num_links = 3, 926*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 927*010f4d24SOdelu Kukatla &qns_pcie }, 928*010f4d24SOdelu Kukatla }; 929*010f4d24SOdelu Kukatla 930*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp0_hscnoc = { 931*010f4d24SOdelu Kukatla .name = "qnm_nsp0_hscnoc", 932*010f4d24SOdelu Kukatla .channels = 2, 933*010f4d24SOdelu Kukatla .buswidth = 32, 934*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 935*010f4d24SOdelu Kukatla .num_ports = 2, 936*010f4d24SOdelu Kukatla .port_offsets = { 0x32000, 0x33000 }, 937*010f4d24SOdelu Kukatla .prio = 0, 938*010f4d24SOdelu Kukatla .urg_fwd = 0, 939*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 940*010f4d24SOdelu Kukatla }, 941*010f4d24SOdelu Kukatla .num_links = 3, 942*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 943*010f4d24SOdelu Kukatla &qns_pcie }, 944*010f4d24SOdelu Kukatla }; 945*010f4d24SOdelu Kukatla 946*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp1_hscnoc = { 947*010f4d24SOdelu Kukatla .name = "qnm_nsp1_hscnoc", 948*010f4d24SOdelu Kukatla .channels = 2, 949*010f4d24SOdelu Kukatla .buswidth = 32, 950*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 951*010f4d24SOdelu Kukatla .num_ports = 2, 952*010f4d24SOdelu Kukatla .port_offsets = { 0x34000, 0x35000 }, 953*010f4d24SOdelu Kukatla .prio = 0, 954*010f4d24SOdelu Kukatla .urg_fwd = 0, 955*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 956*010f4d24SOdelu Kukatla }, 957*010f4d24SOdelu Kukatla .num_links = 3, 958*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 959*010f4d24SOdelu Kukatla &qns_pcie }, 960*010f4d24SOdelu Kukatla }; 961*010f4d24SOdelu Kukatla 962*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp2_hscnoc = { 963*010f4d24SOdelu Kukatla .name = "qnm_nsp2_hscnoc", 964*010f4d24SOdelu Kukatla .channels = 2, 965*010f4d24SOdelu Kukatla .buswidth = 32, 966*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 967*010f4d24SOdelu Kukatla .num_ports = 2, 968*010f4d24SOdelu Kukatla .port_offsets = { 0x36000, 0x37000 }, 969*010f4d24SOdelu Kukatla .prio = 0, 970*010f4d24SOdelu Kukatla .urg_fwd = 0, 971*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 972*010f4d24SOdelu Kukatla }, 973*010f4d24SOdelu Kukatla .num_links = 3, 974*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 975*010f4d24SOdelu Kukatla &qns_pcie }, 976*010f4d24SOdelu Kukatla }; 977*010f4d24SOdelu Kukatla 978*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp3_hscnoc = { 979*010f4d24SOdelu Kukatla .name = "qnm_nsp3_hscnoc", 980*010f4d24SOdelu Kukatla .channels = 2, 981*010f4d24SOdelu Kukatla .buswidth = 32, 982*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 983*010f4d24SOdelu Kukatla .num_ports = 2, 984*010f4d24SOdelu Kukatla .port_offsets = { 0x38000, 0x39000 }, 985*010f4d24SOdelu Kukatla .prio = 0, 986*010f4d24SOdelu Kukatla .urg_fwd = 0, 987*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 988*010f4d24SOdelu Kukatla }, 989*010f4d24SOdelu Kukatla .num_links = 3, 990*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 991*010f4d24SOdelu Kukatla &qns_pcie }, 992*010f4d24SOdelu Kukatla }; 993*010f4d24SOdelu Kukatla 994*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_pcie = { 995*010f4d24SOdelu Kukatla .name = "qnm_pcie", 996*010f4d24SOdelu Kukatla .channels = 1, 997*010f4d24SOdelu Kukatla .buswidth = 64, 998*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 999*010f4d24SOdelu Kukatla .num_ports = 1, 1000*010f4d24SOdelu Kukatla .port_offsets = { 0x2c1000 }, 1001*010f4d24SOdelu Kukatla .prio = 2, 1002*010f4d24SOdelu Kukatla .urg_fwd = 1, 1003*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1004*010f4d24SOdelu Kukatla }, 1005*010f4d24SOdelu Kukatla .num_links = 2, 1006*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc }, 1007*010f4d24SOdelu Kukatla }; 1008*010f4d24SOdelu Kukatla 1009*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_sailss_md0_hscnoc = { 1010*010f4d24SOdelu Kukatla .name = "qnm_sailss_md0_hscnoc", 1011*010f4d24SOdelu Kukatla .channels = 1, 1012*010f4d24SOdelu Kukatla .buswidth = 16, 1013*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1014*010f4d24SOdelu Kukatla .num_ports = 1, 1015*010f4d24SOdelu Kukatla .port_offsets = { 0x243000 }, 1016*010f4d24SOdelu Kukatla .prio = 2, 1017*010f4d24SOdelu Kukatla .urg_fwd = 0, 1018*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1019*010f4d24SOdelu Kukatla }, 1020*010f4d24SOdelu Kukatla .num_links = 3, 1021*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 1022*010f4d24SOdelu Kukatla &qns_pcie }, 1023*010f4d24SOdelu Kukatla }; 1024*010f4d24SOdelu Kukatla 1025*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_snoc_sf = { 1026*010f4d24SOdelu Kukatla .name = "qnm_snoc_sf", 1027*010f4d24SOdelu Kukatla .channels = 1, 1028*010f4d24SOdelu Kukatla .buswidth = 64, 1029*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1030*010f4d24SOdelu Kukatla .num_ports = 1, 1031*010f4d24SOdelu Kukatla .port_offsets = { 0xa43000 }, 1032*010f4d24SOdelu Kukatla .prio = 0, 1033*010f4d24SOdelu Kukatla .urg_fwd = 1, 1034*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1035*010f4d24SOdelu Kukatla }, 1036*010f4d24SOdelu Kukatla .num_links = 3, 1037*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_cnoc, &qns_llcc, 1038*010f4d24SOdelu Kukatla &qns_pcie }, 1039*010f4d24SOdelu Kukatla }; 1040*010f4d24SOdelu Kukatla 1041*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_a1noc_hscnoc = { 1042*010f4d24SOdelu Kukatla .name = "qns_a1noc_hscnoc", 1043*010f4d24SOdelu Kukatla .channels = 1, 1044*010f4d24SOdelu Kukatla .buswidth = 16, 1045*010f4d24SOdelu Kukatla .num_links = 1, 1046*010f4d24SOdelu Kukatla .link_nodes = { &qnm_aggre_north }, 1047*010f4d24SOdelu Kukatla }; 1048*010f4d24SOdelu Kukatla 1049*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_a2noc_hscnoc = { 1050*010f4d24SOdelu Kukatla .name = "qns_a2noc_hscnoc", 1051*010f4d24SOdelu Kukatla .channels = 1, 1052*010f4d24SOdelu Kukatla .buswidth = 16, 1053*010f4d24SOdelu Kukatla .num_links = 1, 1054*010f4d24SOdelu Kukatla .link_nodes = { &qnm_aggre_south }, 1055*010f4d24SOdelu Kukatla }; 1056*010f4d24SOdelu Kukatla 1057*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_hpass_agnoc_audio = { 1058*010f4d24SOdelu Kukatla .name = "qns_hpass_agnoc_audio", 1059*010f4d24SOdelu Kukatla .channels = 1, 1060*010f4d24SOdelu Kukatla .buswidth = 32, 1061*010f4d24SOdelu Kukatla .num_links = 1, 1062*010f4d24SOdelu Kukatla .link_nodes = { &qnm_hpass_audio_hscnoc }, 1063*010f4d24SOdelu Kukatla }; 1064*010f4d24SOdelu Kukatla 1065*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_mem_noc_hf = { 1066*010f4d24SOdelu Kukatla .name = "qns_mem_noc_hf", 1067*010f4d24SOdelu Kukatla .channels = 2, 1068*010f4d24SOdelu Kukatla .buswidth = 32, 1069*010f4d24SOdelu Kukatla .num_links = 1, 1070*010f4d24SOdelu Kukatla .link_nodes = { &qnm_mnoc_hf }, 1071*010f4d24SOdelu Kukatla }; 1072*010f4d24SOdelu Kukatla 1073*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_mem_noc_sf = { 1074*010f4d24SOdelu Kukatla .name = "qns_mem_noc_sf", 1075*010f4d24SOdelu Kukatla .channels = 2, 1076*010f4d24SOdelu Kukatla .buswidth = 32, 1077*010f4d24SOdelu Kukatla .num_links = 1, 1078*010f4d24SOdelu Kukatla .link_nodes = { &qnm_mnoc_sf }, 1079*010f4d24SOdelu Kukatla }; 1080*010f4d24SOdelu Kukatla 1081*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_nsp0_hsc_noc = { 1082*010f4d24SOdelu Kukatla .name = "qns_nsp0_hsc_noc", 1083*010f4d24SOdelu Kukatla .channels = 2, 1084*010f4d24SOdelu Kukatla .buswidth = 32, 1085*010f4d24SOdelu Kukatla .num_links = 1, 1086*010f4d24SOdelu Kukatla .link_nodes = { &qnm_nsp0_hscnoc }, 1087*010f4d24SOdelu Kukatla }; 1088*010f4d24SOdelu Kukatla 1089*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_nsp1_hsc_noc = { 1090*010f4d24SOdelu Kukatla .name = "qns_nsp1_hsc_noc", 1091*010f4d24SOdelu Kukatla .channels = 2, 1092*010f4d24SOdelu Kukatla .buswidth = 32, 1093*010f4d24SOdelu Kukatla .num_links = 1, 1094*010f4d24SOdelu Kukatla .link_nodes = { &qnm_nsp1_hscnoc }, 1095*010f4d24SOdelu Kukatla }; 1096*010f4d24SOdelu Kukatla 1097*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_nsp2_hsc_noc = { 1098*010f4d24SOdelu Kukatla .name = "qns_nsp2_hsc_noc", 1099*010f4d24SOdelu Kukatla .channels = 2, 1100*010f4d24SOdelu Kukatla .buswidth = 32, 1101*010f4d24SOdelu Kukatla .num_links = 1, 1102*010f4d24SOdelu Kukatla .link_nodes = { &qnm_nsp2_hscnoc }, 1103*010f4d24SOdelu Kukatla }; 1104*010f4d24SOdelu Kukatla 1105*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_nsp3_hsc_noc = { 1106*010f4d24SOdelu Kukatla .name = "qns_nsp3_hsc_noc", 1107*010f4d24SOdelu Kukatla .channels = 2, 1108*010f4d24SOdelu Kukatla .buswidth = 32, 1109*010f4d24SOdelu Kukatla .num_links = 1, 1110*010f4d24SOdelu Kukatla .link_nodes = { &qnm_nsp3_hscnoc }, 1111*010f4d24SOdelu Kukatla }; 1112*010f4d24SOdelu Kukatla 1113*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_pcie_hscnoc = { 1114*010f4d24SOdelu Kukatla .name = "qns_pcie_hscnoc", 1115*010f4d24SOdelu Kukatla .channels = 1, 1116*010f4d24SOdelu Kukatla .buswidth = 64, 1117*010f4d24SOdelu Kukatla .num_links = 1, 1118*010f4d24SOdelu Kukatla .link_nodes = { &qnm_pcie }, 1119*010f4d24SOdelu Kukatla }; 1120*010f4d24SOdelu Kukatla 1121*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_hscnoc_sf = { 1122*010f4d24SOdelu Kukatla .name = "qns_hscnoc_sf", 1123*010f4d24SOdelu Kukatla .channels = 1, 1124*010f4d24SOdelu Kukatla .buswidth = 64, 1125*010f4d24SOdelu Kukatla .num_links = 1, 1126*010f4d24SOdelu Kukatla .link_nodes = { &qnm_snoc_sf }, 1127*010f4d24SOdelu Kukatla }; 1128*010f4d24SOdelu Kukatla 1129*010f4d24SOdelu Kukatla static struct qcom_icc_node qhm_qup2 = { 1130*010f4d24SOdelu Kukatla .name = "qhm_qup2", 1131*010f4d24SOdelu Kukatla .channels = 1, 1132*010f4d24SOdelu Kukatla .buswidth = 4, 1133*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1134*010f4d24SOdelu Kukatla .num_ports = 1, 1135*010f4d24SOdelu Kukatla .port_offsets = { 0x1b000 }, 1136*010f4d24SOdelu Kukatla .prio = 2, 1137*010f4d24SOdelu Kukatla .urg_fwd = 0, 1138*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1139*010f4d24SOdelu Kukatla }, 1140*010f4d24SOdelu Kukatla .num_links = 1, 1141*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1142*010f4d24SOdelu Kukatla }; 1143*010f4d24SOdelu Kukatla 1144*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_crypto_0 = { 1145*010f4d24SOdelu Kukatla .name = "qxm_crypto_0", 1146*010f4d24SOdelu Kukatla .channels = 1, 1147*010f4d24SOdelu Kukatla .buswidth = 8, 1148*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1149*010f4d24SOdelu Kukatla .num_ports = 1, 1150*010f4d24SOdelu Kukatla .port_offsets = { 0x1c000 }, 1151*010f4d24SOdelu Kukatla .prio = 2, 1152*010f4d24SOdelu Kukatla .urg_fwd = 0, 1153*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1154*010f4d24SOdelu Kukatla }, 1155*010f4d24SOdelu Kukatla .num_links = 1, 1156*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1157*010f4d24SOdelu Kukatla }; 1158*010f4d24SOdelu Kukatla 1159*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_crypto_1 = { 1160*010f4d24SOdelu Kukatla .name = "qxm_crypto_1", 1161*010f4d24SOdelu Kukatla .channels = 1, 1162*010f4d24SOdelu Kukatla .buswidth = 8, 1163*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1164*010f4d24SOdelu Kukatla .num_ports = 1, 1165*010f4d24SOdelu Kukatla .port_offsets = { 0x1d000 }, 1166*010f4d24SOdelu Kukatla .prio = 2, 1167*010f4d24SOdelu Kukatla .urg_fwd = 0, 1168*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1169*010f4d24SOdelu Kukatla }, 1170*010f4d24SOdelu Kukatla .num_links = 1, 1171*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1172*010f4d24SOdelu Kukatla }; 1173*010f4d24SOdelu Kukatla 1174*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_crypto_2 = { 1175*010f4d24SOdelu Kukatla .name = "qxm_crypto_2", 1176*010f4d24SOdelu Kukatla .channels = 1, 1177*010f4d24SOdelu Kukatla .buswidth = 8, 1178*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1179*010f4d24SOdelu Kukatla .num_ports = 1, 1180*010f4d24SOdelu Kukatla .port_offsets = { 0x1e000 }, 1181*010f4d24SOdelu Kukatla .prio = 2, 1182*010f4d24SOdelu Kukatla .urg_fwd = 0, 1183*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1184*010f4d24SOdelu Kukatla }, 1185*010f4d24SOdelu Kukatla .num_links = 1, 1186*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1187*010f4d24SOdelu Kukatla }; 1188*010f4d24SOdelu Kukatla 1189*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_sdc4 = { 1190*010f4d24SOdelu Kukatla .name = "xm_sdc4", 1191*010f4d24SOdelu Kukatla .channels = 1, 1192*010f4d24SOdelu Kukatla .buswidth = 8, 1193*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1194*010f4d24SOdelu Kukatla .num_ports = 1, 1195*010f4d24SOdelu Kukatla .port_offsets = { 0x16000 }, 1196*010f4d24SOdelu Kukatla .prio = 2, 1197*010f4d24SOdelu Kukatla .urg_fwd = 0, 1198*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1199*010f4d24SOdelu Kukatla }, 1200*010f4d24SOdelu Kukatla .num_links = 1, 1201*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1202*010f4d24SOdelu Kukatla }; 1203*010f4d24SOdelu Kukatla 1204*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_ufs_mem = { 1205*010f4d24SOdelu Kukatla .name = "xm_ufs_mem", 1206*010f4d24SOdelu Kukatla .channels = 1, 1207*010f4d24SOdelu Kukatla .buswidth = 16, 1208*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1209*010f4d24SOdelu Kukatla .num_ports = 1, 1210*010f4d24SOdelu Kukatla .port_offsets = { 0x17000 }, 1211*010f4d24SOdelu Kukatla .prio = 2, 1212*010f4d24SOdelu Kukatla .urg_fwd = 0, 1213*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1214*010f4d24SOdelu Kukatla }, 1215*010f4d24SOdelu Kukatla .num_links = 1, 1216*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1217*010f4d24SOdelu Kukatla }; 1218*010f4d24SOdelu Kukatla 1219*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_usb2 = { 1220*010f4d24SOdelu Kukatla .name = "xm_usb2", 1221*010f4d24SOdelu Kukatla .channels = 1, 1222*010f4d24SOdelu Kukatla .buswidth = 8, 1223*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1224*010f4d24SOdelu Kukatla .num_ports = 1, 1225*010f4d24SOdelu Kukatla .port_offsets = { 0x19000 }, 1226*010f4d24SOdelu Kukatla .prio = 2, 1227*010f4d24SOdelu Kukatla .urg_fwd = 0, 1228*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1229*010f4d24SOdelu Kukatla }, 1230*010f4d24SOdelu Kukatla .num_links = 1, 1231*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1232*010f4d24SOdelu Kukatla }; 1233*010f4d24SOdelu Kukatla 1234*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_usb3_0 = { 1235*010f4d24SOdelu Kukatla .name = "xm_usb3_0", 1236*010f4d24SOdelu Kukatla .channels = 1, 1237*010f4d24SOdelu Kukatla .buswidth = 8, 1238*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1239*010f4d24SOdelu Kukatla .num_ports = 1, 1240*010f4d24SOdelu Kukatla .port_offsets = { 0x18000 }, 1241*010f4d24SOdelu Kukatla .prio = 2, 1242*010f4d24SOdelu Kukatla .urg_fwd = 0, 1243*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1244*010f4d24SOdelu Kukatla }, 1245*010f4d24SOdelu Kukatla .num_links = 1, 1246*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1247*010f4d24SOdelu Kukatla }; 1248*010f4d24SOdelu Kukatla 1249*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_usb3_1 = { 1250*010f4d24SOdelu Kukatla .name = "xm_usb3_1", 1251*010f4d24SOdelu Kukatla .channels = 1, 1252*010f4d24SOdelu Kukatla .buswidth = 8, 1253*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1254*010f4d24SOdelu Kukatla .num_ports = 1, 1255*010f4d24SOdelu Kukatla .port_offsets = { 0x1a000 }, 1256*010f4d24SOdelu Kukatla .prio = 2, 1257*010f4d24SOdelu Kukatla .urg_fwd = 0, 1258*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1259*010f4d24SOdelu Kukatla }, 1260*010f4d24SOdelu Kukatla .num_links = 1, 1261*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_hscnoc }, 1262*010f4d24SOdelu Kukatla }; 1263*010f4d24SOdelu Kukatla 1264*010f4d24SOdelu Kukatla static struct qcom_icc_node qhm_qup0 = { 1265*010f4d24SOdelu Kukatla .name = "qhm_qup0", 1266*010f4d24SOdelu Kukatla .channels = 1, 1267*010f4d24SOdelu Kukatla .buswidth = 4, 1268*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1269*010f4d24SOdelu Kukatla .num_ports = 1, 1270*010f4d24SOdelu Kukatla .port_offsets = { 0x13000 }, 1271*010f4d24SOdelu Kukatla .prio = 2, 1272*010f4d24SOdelu Kukatla .urg_fwd = 0, 1273*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1274*010f4d24SOdelu Kukatla }, 1275*010f4d24SOdelu Kukatla .num_links = 1, 1276*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_hscnoc }, 1277*010f4d24SOdelu Kukatla }; 1278*010f4d24SOdelu Kukatla 1279*010f4d24SOdelu Kukatla static struct qcom_icc_node qhm_qup1 = { 1280*010f4d24SOdelu Kukatla .name = "qhm_qup1", 1281*010f4d24SOdelu Kukatla .channels = 1, 1282*010f4d24SOdelu Kukatla .buswidth = 4, 1283*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1284*010f4d24SOdelu Kukatla .num_ports = 1, 1285*010f4d24SOdelu Kukatla .port_offsets = { 0x14000 }, 1286*010f4d24SOdelu Kukatla .prio = 2, 1287*010f4d24SOdelu Kukatla .urg_fwd = 0, 1288*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1289*010f4d24SOdelu Kukatla }, 1290*010f4d24SOdelu Kukatla .num_links = 1, 1291*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_hscnoc }, 1292*010f4d24SOdelu Kukatla }; 1293*010f4d24SOdelu Kukatla 1294*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_emac_0 = { 1295*010f4d24SOdelu Kukatla .name = "xm_emac_0", 1296*010f4d24SOdelu Kukatla .channels = 1, 1297*010f4d24SOdelu Kukatla .buswidth = 16, 1298*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1299*010f4d24SOdelu Kukatla .num_ports = 1, 1300*010f4d24SOdelu Kukatla .port_offsets = { 0x16000 }, 1301*010f4d24SOdelu Kukatla .prio = 2, 1302*010f4d24SOdelu Kukatla .urg_fwd = 0, 1303*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1304*010f4d24SOdelu Kukatla }, 1305*010f4d24SOdelu Kukatla .num_links = 1, 1306*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_hscnoc }, 1307*010f4d24SOdelu Kukatla }; 1308*010f4d24SOdelu Kukatla 1309*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_emac_1 = { 1310*010f4d24SOdelu Kukatla .name = "xm_emac_1", 1311*010f4d24SOdelu Kukatla .channels = 1, 1312*010f4d24SOdelu Kukatla .buswidth = 16, 1313*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1314*010f4d24SOdelu Kukatla .num_ports = 1, 1315*010f4d24SOdelu Kukatla .port_offsets = { 0x17000 }, 1316*010f4d24SOdelu Kukatla .prio = 2, 1317*010f4d24SOdelu Kukatla .urg_fwd = 0, 1318*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1319*010f4d24SOdelu Kukatla }, 1320*010f4d24SOdelu Kukatla .num_links = 1, 1321*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_hscnoc }, 1322*010f4d24SOdelu Kukatla }; 1323*010f4d24SOdelu Kukatla 1324*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hpass_dsp0 = { 1325*010f4d24SOdelu Kukatla .name = "qnm_hpass_dsp0", 1326*010f4d24SOdelu Kukatla .channels = 2, 1327*010f4d24SOdelu Kukatla .buswidth = 32, 1328*010f4d24SOdelu Kukatla .num_links = 1, 1329*010f4d24SOdelu Kukatla .link_nodes = { &qns_hpass_agnoc_audio }, 1330*010f4d24SOdelu Kukatla }; 1331*010f4d24SOdelu Kukatla 1332*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hpass_dsp1 = { 1333*010f4d24SOdelu Kukatla .name = "qnm_hpass_dsp1", 1334*010f4d24SOdelu Kukatla .channels = 2, 1335*010f4d24SOdelu Kukatla .buswidth = 32, 1336*010f4d24SOdelu Kukatla .num_links = 1, 1337*010f4d24SOdelu Kukatla .link_nodes = { &qns_hpass_agnoc_audio }, 1338*010f4d24SOdelu Kukatla }; 1339*010f4d24SOdelu Kukatla 1340*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_hpass_dsp2 = { 1341*010f4d24SOdelu Kukatla .name = "qnm_hpass_dsp2", 1342*010f4d24SOdelu Kukatla .channels = 2, 1343*010f4d24SOdelu Kukatla .buswidth = 32, 1344*010f4d24SOdelu Kukatla .num_links = 1, 1345*010f4d24SOdelu Kukatla .link_nodes = { &qns_hpass_agnoc_audio }, 1346*010f4d24SOdelu Kukatla }; 1347*010f4d24SOdelu Kukatla 1348*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_camnoc_hf = { 1349*010f4d24SOdelu Kukatla .name = "qnm_camnoc_hf", 1350*010f4d24SOdelu Kukatla .channels = 2, 1351*010f4d24SOdelu Kukatla .buswidth = 32, 1352*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1353*010f4d24SOdelu Kukatla .num_ports = 2, 1354*010f4d24SOdelu Kukatla .port_offsets = { 0x57000, 0x58000 }, 1355*010f4d24SOdelu Kukatla .prio = 0, 1356*010f4d24SOdelu Kukatla .urg_fwd = 1, 1357*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1358*010f4d24SOdelu Kukatla }, 1359*010f4d24SOdelu Kukatla .num_links = 1, 1360*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_hf }, 1361*010f4d24SOdelu Kukatla }; 1362*010f4d24SOdelu Kukatla 1363*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_camnoc_nrt_icp_sf = { 1364*010f4d24SOdelu Kukatla .name = "qnm_camnoc_nrt_icp_sf", 1365*010f4d24SOdelu Kukatla .channels = 1, 1366*010f4d24SOdelu Kukatla .buswidth = 8, 1367*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1368*010f4d24SOdelu Kukatla .num_ports = 1, 1369*010f4d24SOdelu Kukatla .port_offsets = { 0x1a000 }, 1370*010f4d24SOdelu Kukatla .prio = 4, 1371*010f4d24SOdelu Kukatla .urg_fwd = 1, 1372*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1373*010f4d24SOdelu Kukatla }, 1374*010f4d24SOdelu Kukatla .num_links = 1, 1375*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1376*010f4d24SOdelu Kukatla }; 1377*010f4d24SOdelu Kukatla 1378*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_camnoc_rt_cdm_sf = { 1379*010f4d24SOdelu Kukatla .name = "qnm_camnoc_rt_cdm_sf", 1380*010f4d24SOdelu Kukatla .channels = 1, 1381*010f4d24SOdelu Kukatla .buswidth = 8, 1382*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1383*010f4d24SOdelu Kukatla .num_ports = 1, 1384*010f4d24SOdelu Kukatla .port_offsets = { 0x5b000 }, 1385*010f4d24SOdelu Kukatla .prio = 2, 1386*010f4d24SOdelu Kukatla .urg_fwd = 1, 1387*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1388*010f4d24SOdelu Kukatla }, 1389*010f4d24SOdelu Kukatla .num_links = 1, 1390*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1391*010f4d24SOdelu Kukatla }; 1392*010f4d24SOdelu Kukatla 1393*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_camnoc_sf = { 1394*010f4d24SOdelu Kukatla .name = "qnm_camnoc_sf", 1395*010f4d24SOdelu Kukatla .channels = 2, 1396*010f4d24SOdelu Kukatla .buswidth = 32, 1397*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1398*010f4d24SOdelu Kukatla .num_ports = 2, 1399*010f4d24SOdelu Kukatla .port_offsets = { 0x1b000, 0x1c000 }, 1400*010f4d24SOdelu Kukatla .prio = 0, 1401*010f4d24SOdelu Kukatla .urg_fwd = 1, 1402*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1403*010f4d24SOdelu Kukatla }, 1404*010f4d24SOdelu Kukatla .num_links = 1, 1405*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1406*010f4d24SOdelu Kukatla }; 1407*010f4d24SOdelu Kukatla 1408*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_dprx0 = { 1409*010f4d24SOdelu Kukatla .name = "qnm_dprx0", 1410*010f4d24SOdelu Kukatla .channels = 1, 1411*010f4d24SOdelu Kukatla .buswidth = 32, 1412*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1413*010f4d24SOdelu Kukatla .num_ports = 1, 1414*010f4d24SOdelu Kukatla .port_offsets = { 0x5c000 }, 1415*010f4d24SOdelu Kukatla .prio = 0, 1416*010f4d24SOdelu Kukatla .urg_fwd = 1, 1417*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1418*010f4d24SOdelu Kukatla }, 1419*010f4d24SOdelu Kukatla .num_links = 1, 1420*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_hf }, 1421*010f4d24SOdelu Kukatla }; 1422*010f4d24SOdelu Kukatla 1423*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_dprx1 = { 1424*010f4d24SOdelu Kukatla .name = "qnm_dprx1", 1425*010f4d24SOdelu Kukatla .channels = 1, 1426*010f4d24SOdelu Kukatla .buswidth = 32, 1427*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1428*010f4d24SOdelu Kukatla .num_ports = 1, 1429*010f4d24SOdelu Kukatla .port_offsets = { 0x5d000 }, 1430*010f4d24SOdelu Kukatla .prio = 0, 1431*010f4d24SOdelu Kukatla .urg_fwd = 1, 1432*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1433*010f4d24SOdelu Kukatla }, 1434*010f4d24SOdelu Kukatla .num_links = 1, 1435*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_hf }, 1436*010f4d24SOdelu Kukatla }; 1437*010f4d24SOdelu Kukatla 1438*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_mdp0 = { 1439*010f4d24SOdelu Kukatla .name = "qnm_mdp0", 1440*010f4d24SOdelu Kukatla .channels = 2, 1441*010f4d24SOdelu Kukatla .buswidth = 32, 1442*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1443*010f4d24SOdelu Kukatla .num_ports = 2, 1444*010f4d24SOdelu Kukatla .port_offsets = { 0x59000, 0x5a000 }, 1445*010f4d24SOdelu Kukatla .prio = 0, 1446*010f4d24SOdelu Kukatla .urg_fwd = 1, 1447*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1448*010f4d24SOdelu Kukatla }, 1449*010f4d24SOdelu Kukatla .num_links = 1, 1450*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_hf }, 1451*010f4d24SOdelu Kukatla }; 1452*010f4d24SOdelu Kukatla 1453*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_mdp1 = { 1454*010f4d24SOdelu Kukatla .name = "qnm_mdp1", 1455*010f4d24SOdelu Kukatla .channels = 2, 1456*010f4d24SOdelu Kukatla .buswidth = 32, 1457*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1458*010f4d24SOdelu Kukatla .num_ports = 2, 1459*010f4d24SOdelu Kukatla .port_offsets = { 0x5e000, 0x5f000 }, 1460*010f4d24SOdelu Kukatla .prio = 0, 1461*010f4d24SOdelu Kukatla .urg_fwd = 1, 1462*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1463*010f4d24SOdelu Kukatla }, 1464*010f4d24SOdelu Kukatla .num_links = 1, 1465*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_hf }, 1466*010f4d24SOdelu Kukatla }; 1467*010f4d24SOdelu Kukatla 1468*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_video_cv_cpu = { 1469*010f4d24SOdelu Kukatla .name = "qnm_video_cv_cpu", 1470*010f4d24SOdelu Kukatla .channels = 1, 1471*010f4d24SOdelu Kukatla .buswidth = 8, 1472*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1473*010f4d24SOdelu Kukatla .num_ports = 1, 1474*010f4d24SOdelu Kukatla .port_offsets = { 0x21000 }, 1475*010f4d24SOdelu Kukatla .prio = 4, 1476*010f4d24SOdelu Kukatla .urg_fwd = 1, 1477*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1478*010f4d24SOdelu Kukatla }, 1479*010f4d24SOdelu Kukatla .num_links = 1, 1480*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1481*010f4d24SOdelu Kukatla }; 1482*010f4d24SOdelu Kukatla 1483*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_video_eva = { 1484*010f4d24SOdelu Kukatla .name = "qnm_video_eva", 1485*010f4d24SOdelu Kukatla .channels = 2, 1486*010f4d24SOdelu Kukatla .buswidth = 32, 1487*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1488*010f4d24SOdelu Kukatla .num_ports = 2, 1489*010f4d24SOdelu Kukatla .port_offsets = { 0x22000, 0x23000 }, 1490*010f4d24SOdelu Kukatla .prio = 0, 1491*010f4d24SOdelu Kukatla .urg_fwd = 1, 1492*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1493*010f4d24SOdelu Kukatla }, 1494*010f4d24SOdelu Kukatla .num_links = 1, 1495*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1496*010f4d24SOdelu Kukatla }; 1497*010f4d24SOdelu Kukatla 1498*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_video_mvp0 = { 1499*010f4d24SOdelu Kukatla .name = "qnm_video_mvp0", 1500*010f4d24SOdelu Kukatla .channels = 2, 1501*010f4d24SOdelu Kukatla .buswidth = 32, 1502*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1503*010f4d24SOdelu Kukatla .num_ports = 2, 1504*010f4d24SOdelu Kukatla .port_offsets = { 0x1d000, 0x1e000 }, 1505*010f4d24SOdelu Kukatla .prio = 0, 1506*010f4d24SOdelu Kukatla .urg_fwd = 1, 1507*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1508*010f4d24SOdelu Kukatla }, 1509*010f4d24SOdelu Kukatla .num_links = 1, 1510*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1511*010f4d24SOdelu Kukatla }; 1512*010f4d24SOdelu Kukatla 1513*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_video_mvp1 = { 1514*010f4d24SOdelu Kukatla .name = "qnm_video_mvp1", 1515*010f4d24SOdelu Kukatla .channels = 2, 1516*010f4d24SOdelu Kukatla .buswidth = 32, 1517*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1518*010f4d24SOdelu Kukatla .num_ports = 2, 1519*010f4d24SOdelu Kukatla .port_offsets = { 0x1f000, 0x20000 }, 1520*010f4d24SOdelu Kukatla .prio = 0, 1521*010f4d24SOdelu Kukatla .urg_fwd = 1, 1522*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1523*010f4d24SOdelu Kukatla }, 1524*010f4d24SOdelu Kukatla .num_links = 1, 1525*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1526*010f4d24SOdelu Kukatla }; 1527*010f4d24SOdelu Kukatla 1528*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_video_v_cpu = { 1529*010f4d24SOdelu Kukatla .name = "qnm_video_v_cpu", 1530*010f4d24SOdelu Kukatla .channels = 1, 1531*010f4d24SOdelu Kukatla .buswidth = 8, 1532*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1533*010f4d24SOdelu Kukatla .num_ports = 1, 1534*010f4d24SOdelu Kukatla .port_offsets = { 0x24000 }, 1535*010f4d24SOdelu Kukatla .prio = 4, 1536*010f4d24SOdelu Kukatla .urg_fwd = 1, 1537*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1538*010f4d24SOdelu Kukatla }, 1539*010f4d24SOdelu Kukatla .num_links = 1, 1540*010f4d24SOdelu Kukatla .link_nodes = { &qns_mem_noc_sf }, 1541*010f4d24SOdelu Kukatla }; 1542*010f4d24SOdelu Kukatla 1543*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp_data00 = { 1544*010f4d24SOdelu Kukatla .name = "qnm_nsp_data00", 1545*010f4d24SOdelu Kukatla .channels = 2, 1546*010f4d24SOdelu Kukatla .buswidth = 32, 1547*010f4d24SOdelu Kukatla .num_links = 1, 1548*010f4d24SOdelu Kukatla .link_nodes = { &qns_nsp0_hsc_noc }, 1549*010f4d24SOdelu Kukatla }; 1550*010f4d24SOdelu Kukatla 1551*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp_data01 = { 1552*010f4d24SOdelu Kukatla .name = "qnm_nsp_data01", 1553*010f4d24SOdelu Kukatla .channels = 2, 1554*010f4d24SOdelu Kukatla .buswidth = 32, 1555*010f4d24SOdelu Kukatla .num_links = 1, 1556*010f4d24SOdelu Kukatla .link_nodes = { &qns_nsp1_hsc_noc }, 1557*010f4d24SOdelu Kukatla }; 1558*010f4d24SOdelu Kukatla 1559*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp_data02 = { 1560*010f4d24SOdelu Kukatla .name = "qnm_nsp_data02", 1561*010f4d24SOdelu Kukatla .channels = 2, 1562*010f4d24SOdelu Kukatla .buswidth = 32, 1563*010f4d24SOdelu Kukatla .num_links = 1, 1564*010f4d24SOdelu Kukatla .link_nodes = { &qns_nsp2_hsc_noc }, 1565*010f4d24SOdelu Kukatla }; 1566*010f4d24SOdelu Kukatla 1567*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsp_data03 = { 1568*010f4d24SOdelu Kukatla .name = "qnm_nsp_data03", 1569*010f4d24SOdelu Kukatla .channels = 2, 1570*010f4d24SOdelu Kukatla .buswidth = 32, 1571*010f4d24SOdelu Kukatla .num_links = 1, 1572*010f4d24SOdelu Kukatla .link_nodes = { &qns_nsp3_hsc_noc }, 1573*010f4d24SOdelu Kukatla }; 1574*010f4d24SOdelu Kukatla 1575*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_pcie_dma_0 = { 1576*010f4d24SOdelu Kukatla .name = "qxm_pcie_dma_0", 1577*010f4d24SOdelu Kukatla .channels = 1, 1578*010f4d24SOdelu Kukatla .buswidth = 8, 1579*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1580*010f4d24SOdelu Kukatla .num_ports = 1, 1581*010f4d24SOdelu Kukatla .port_offsets = { 0x49000 }, 1582*010f4d24SOdelu Kukatla .prio = 0, 1583*010f4d24SOdelu Kukatla .urg_fwd = 0, 1584*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1585*010f4d24SOdelu Kukatla }, 1586*010f4d24SOdelu Kukatla .num_links = 2, 1587*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc, &qns_pcie_obnoc_dma }, 1588*010f4d24SOdelu Kukatla }; 1589*010f4d24SOdelu Kukatla 1590*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_pcie_dma_1 = { 1591*010f4d24SOdelu Kukatla .name = "qxm_pcie_dma_1", 1592*010f4d24SOdelu Kukatla .channels = 1, 1593*010f4d24SOdelu Kukatla .buswidth = 8, 1594*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1595*010f4d24SOdelu Kukatla .num_ports = 1, 1596*010f4d24SOdelu Kukatla .port_offsets = { 0x4a000 }, 1597*010f4d24SOdelu Kukatla .prio = 0, 1598*010f4d24SOdelu Kukatla .urg_fwd = 0, 1599*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1600*010f4d24SOdelu Kukatla }, 1601*010f4d24SOdelu Kukatla .num_links = 2, 1602*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc, &qns_pcie_obnoc_dma }, 1603*010f4d24SOdelu Kukatla }; 1604*010f4d24SOdelu Kukatla 1605*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_pcie_dma_2 = { 1606*010f4d24SOdelu Kukatla .name = "qxm_pcie_dma_2", 1607*010f4d24SOdelu Kukatla .channels = 1, 1608*010f4d24SOdelu Kukatla .buswidth = 8, 1609*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1610*010f4d24SOdelu Kukatla .num_ports = 1, 1611*010f4d24SOdelu Kukatla .port_offsets = { 0x4b000 }, 1612*010f4d24SOdelu Kukatla .prio = 0, 1613*010f4d24SOdelu Kukatla .urg_fwd = 0, 1614*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1615*010f4d24SOdelu Kukatla }, 1616*010f4d24SOdelu Kukatla .num_links = 2, 1617*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc, &qns_pcie_obnoc_dma }, 1618*010f4d24SOdelu Kukatla }; 1619*010f4d24SOdelu Kukatla 1620*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_pcie_0 = { 1621*010f4d24SOdelu Kukatla .name = "xm_pcie_0", 1622*010f4d24SOdelu Kukatla .channels = 1, 1623*010f4d24SOdelu Kukatla .buswidth = 64, 1624*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1625*010f4d24SOdelu Kukatla .num_ports = 1, 1626*010f4d24SOdelu Kukatla .port_offsets = { 0x18000 }, 1627*010f4d24SOdelu Kukatla .prio = 2, 1628*010f4d24SOdelu Kukatla .urg_fwd = 0, 1629*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1630*010f4d24SOdelu Kukatla }, 1631*010f4d24SOdelu Kukatla .num_links = 1, 1632*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc }, 1633*010f4d24SOdelu Kukatla }; 1634*010f4d24SOdelu Kukatla 1635*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_pcie_1 = { 1636*010f4d24SOdelu Kukatla .name = "xm_pcie_1", 1637*010f4d24SOdelu Kukatla .channels = 1, 1638*010f4d24SOdelu Kukatla .buswidth = 32, 1639*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1640*010f4d24SOdelu Kukatla .num_ports = 1, 1641*010f4d24SOdelu Kukatla .port_offsets = { 0x19000 }, 1642*010f4d24SOdelu Kukatla .prio = 2, 1643*010f4d24SOdelu Kukatla .urg_fwd = 0, 1644*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1645*010f4d24SOdelu Kukatla }, 1646*010f4d24SOdelu Kukatla .num_links = 1, 1647*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc }, 1648*010f4d24SOdelu Kukatla }; 1649*010f4d24SOdelu Kukatla 1650*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_pcie_2 = { 1651*010f4d24SOdelu Kukatla .name = "xm_pcie_2", 1652*010f4d24SOdelu Kukatla .channels = 1, 1653*010f4d24SOdelu Kukatla .buswidth = 16, 1654*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1655*010f4d24SOdelu Kukatla .num_ports = 1, 1656*010f4d24SOdelu Kukatla .port_offsets = { 0x1a000 }, 1657*010f4d24SOdelu Kukatla .prio = 2, 1658*010f4d24SOdelu Kukatla .urg_fwd = 0, 1659*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1660*010f4d24SOdelu Kukatla }, 1661*010f4d24SOdelu Kukatla .num_links = 1, 1662*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc }, 1663*010f4d24SOdelu Kukatla }; 1664*010f4d24SOdelu Kukatla 1665*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_pcie_3 = { 1666*010f4d24SOdelu Kukatla .name = "xm_pcie_3", 1667*010f4d24SOdelu Kukatla .channels = 1, 1668*010f4d24SOdelu Kukatla .buswidth = 8, 1669*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1670*010f4d24SOdelu Kukatla .num_ports = 1, 1671*010f4d24SOdelu Kukatla .port_offsets = { 0x1b000 }, 1672*010f4d24SOdelu Kukatla .prio = 2, 1673*010f4d24SOdelu Kukatla .urg_fwd = 0, 1674*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1675*010f4d24SOdelu Kukatla }, 1676*010f4d24SOdelu Kukatla .num_links = 1, 1677*010f4d24SOdelu Kukatla .link_nodes = { &qns_pcie_hscnoc }, 1678*010f4d24SOdelu Kukatla }; 1679*010f4d24SOdelu Kukatla 1680*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_aggre1_noc = { 1681*010f4d24SOdelu Kukatla .name = "qnm_aggre1_noc", 1682*010f4d24SOdelu Kukatla .channels = 1, 1683*010f4d24SOdelu Kukatla .buswidth = 16, 1684*010f4d24SOdelu Kukatla .num_links = 1, 1685*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_sf }, 1686*010f4d24SOdelu Kukatla }; 1687*010f4d24SOdelu Kukatla 1688*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_aggre2_noc = { 1689*010f4d24SOdelu Kukatla .name = "qnm_aggre2_noc", 1690*010f4d24SOdelu Kukatla .channels = 1, 1691*010f4d24SOdelu Kukatla .buswidth = 16, 1692*010f4d24SOdelu Kukatla .num_links = 1, 1693*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_sf }, 1694*010f4d24SOdelu Kukatla }; 1695*010f4d24SOdelu Kukatla 1696*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_cnoc_data = { 1697*010f4d24SOdelu Kukatla .name = "qnm_cnoc_data", 1698*010f4d24SOdelu Kukatla .channels = 1, 1699*010f4d24SOdelu Kukatla .buswidth = 8, 1700*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1701*010f4d24SOdelu Kukatla .num_ports = 1, 1702*010f4d24SOdelu Kukatla .port_offsets = { 0x1a000 }, 1703*010f4d24SOdelu Kukatla .prio = 2, 1704*010f4d24SOdelu Kukatla .urg_fwd = 0, 1705*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1706*010f4d24SOdelu Kukatla }, 1707*010f4d24SOdelu Kukatla .num_links = 1, 1708*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_sf }, 1709*010f4d24SOdelu Kukatla }; 1710*010f4d24SOdelu Kukatla 1711*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_nsi_noc = { 1712*010f4d24SOdelu Kukatla .name = "qnm_nsi_noc", 1713*010f4d24SOdelu Kukatla .channels = 1, 1714*010f4d24SOdelu Kukatla .buswidth = 8, 1715*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1716*010f4d24SOdelu Kukatla .num_ports = 1, 1717*010f4d24SOdelu Kukatla .port_offsets = { 0x19000 }, 1718*010f4d24SOdelu Kukatla .prio = 2, 1719*010f4d24SOdelu Kukatla .urg_fwd = 0, 1720*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1721*010f4d24SOdelu Kukatla }, 1722*010f4d24SOdelu Kukatla .num_links = 1, 1723*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_sf }, 1724*010f4d24SOdelu Kukatla }; 1725*010f4d24SOdelu Kukatla 1726*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_safe_dma = { 1727*010f4d24SOdelu Kukatla .name = "qnm_safe_dma", 1728*010f4d24SOdelu Kukatla .channels = 1, 1729*010f4d24SOdelu Kukatla .buswidth = 64, 1730*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1731*010f4d24SOdelu Kukatla .num_ports = 1, 1732*010f4d24SOdelu Kukatla .port_offsets = { 0x1b000 }, 1733*010f4d24SOdelu Kukatla .prio = 0, 1734*010f4d24SOdelu Kukatla .urg_fwd = 1, 1735*010f4d24SOdelu Kukatla .prio_fwd_disable = 0, 1736*010f4d24SOdelu Kukatla }, 1737*010f4d24SOdelu Kukatla .num_links = 1, 1738*010f4d24SOdelu Kukatla .link_nodes = { &qns_hscnoc_sf }, 1739*010f4d24SOdelu Kukatla }; 1740*010f4d24SOdelu Kukatla 1741*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_a1noc_snoc = { 1742*010f4d24SOdelu Kukatla .name = "qns_a1noc_snoc", 1743*010f4d24SOdelu Kukatla .channels = 1, 1744*010f4d24SOdelu Kukatla .buswidth = 16, 1745*010f4d24SOdelu Kukatla .num_links = 1, 1746*010f4d24SOdelu Kukatla .link_nodes = { &qnm_aggre1_noc }, 1747*010f4d24SOdelu Kukatla }; 1748*010f4d24SOdelu Kukatla 1749*010f4d24SOdelu Kukatla static struct qcom_icc_node qns_a2noc_snoc = { 1750*010f4d24SOdelu Kukatla .name = "qns_a2noc_snoc", 1751*010f4d24SOdelu Kukatla .channels = 1, 1752*010f4d24SOdelu Kukatla .buswidth = 16, 1753*010f4d24SOdelu Kukatla .num_links = 1, 1754*010f4d24SOdelu Kukatla .link_nodes = { &qnm_aggre2_noc }, 1755*010f4d24SOdelu Kukatla }; 1756*010f4d24SOdelu Kukatla 1757*010f4d24SOdelu Kukatla static struct qcom_icc_node qhm_qspi = { 1758*010f4d24SOdelu Kukatla .name = "qhm_qspi", 1759*010f4d24SOdelu Kukatla .channels = 1, 1760*010f4d24SOdelu Kukatla .buswidth = 4, 1761*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1762*010f4d24SOdelu Kukatla .num_ports = 1, 1763*010f4d24SOdelu Kukatla .port_offsets = { 0x18000 }, 1764*010f4d24SOdelu Kukatla .prio = 2, 1765*010f4d24SOdelu Kukatla .urg_fwd = 0, 1766*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1767*010f4d24SOdelu Kukatla }, 1768*010f4d24SOdelu Kukatla .num_links = 1, 1769*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_snoc }, 1770*010f4d24SOdelu Kukatla }; 1771*010f4d24SOdelu Kukatla 1772*010f4d24SOdelu Kukatla static struct qcom_icc_node qnm_sailss_md1 = { 1773*010f4d24SOdelu Kukatla .name = "qnm_sailss_md1", 1774*010f4d24SOdelu Kukatla .channels = 1, 1775*010f4d24SOdelu Kukatla .buswidth = 8, 1776*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1777*010f4d24SOdelu Kukatla .num_ports = 1, 1778*010f4d24SOdelu Kukatla .port_offsets = { 0x16000 }, 1779*010f4d24SOdelu Kukatla .prio = 2, 1780*010f4d24SOdelu Kukatla .urg_fwd = 1, 1781*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1782*010f4d24SOdelu Kukatla }, 1783*010f4d24SOdelu Kukatla .num_links = 1, 1784*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_snoc }, 1785*010f4d24SOdelu Kukatla }; 1786*010f4d24SOdelu Kukatla 1787*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_qup3 = { 1788*010f4d24SOdelu Kukatla .name = "qxm_qup3", 1789*010f4d24SOdelu Kukatla .channels = 1, 1790*010f4d24SOdelu Kukatla .buswidth = 8, 1791*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1792*010f4d24SOdelu Kukatla .num_ports = 1, 1793*010f4d24SOdelu Kukatla .port_offsets = { 0x17000 }, 1794*010f4d24SOdelu Kukatla .prio = 2, 1795*010f4d24SOdelu Kukatla .urg_fwd = 1, 1796*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1797*010f4d24SOdelu Kukatla }, 1798*010f4d24SOdelu Kukatla .num_links = 1, 1799*010f4d24SOdelu Kukatla .link_nodes = { &qns_a1noc_snoc }, 1800*010f4d24SOdelu Kukatla }; 1801*010f4d24SOdelu Kukatla 1802*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_ipa = { 1803*010f4d24SOdelu Kukatla .name = "qxm_ipa", 1804*010f4d24SOdelu Kukatla .channels = 1, 1805*010f4d24SOdelu Kukatla .buswidth = 8, 1806*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1807*010f4d24SOdelu Kukatla .num_ports = 1, 1808*010f4d24SOdelu Kukatla .port_offsets = { 0x13000 }, 1809*010f4d24SOdelu Kukatla .prio = 2, 1810*010f4d24SOdelu Kukatla .urg_fwd = 1, 1811*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1812*010f4d24SOdelu Kukatla }, 1813*010f4d24SOdelu Kukatla .num_links = 1, 1814*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_snoc }, 1815*010f4d24SOdelu Kukatla }; 1816*010f4d24SOdelu Kukatla 1817*010f4d24SOdelu Kukatla static struct qcom_icc_node qxm_soccp = { 1818*010f4d24SOdelu Kukatla .name = "qxm_soccp", 1819*010f4d24SOdelu Kukatla .channels = 1, 1820*010f4d24SOdelu Kukatla .buswidth = 8, 1821*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1822*010f4d24SOdelu Kukatla .num_ports = 1, 1823*010f4d24SOdelu Kukatla .port_offsets = { 0x16000 }, 1824*010f4d24SOdelu Kukatla .prio = 2, 1825*010f4d24SOdelu Kukatla .urg_fwd = 1, 1826*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1827*010f4d24SOdelu Kukatla }, 1828*010f4d24SOdelu Kukatla .num_links = 1, 1829*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_snoc }, 1830*010f4d24SOdelu Kukatla }; 1831*010f4d24SOdelu Kukatla 1832*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_qdss_etr_0 = { 1833*010f4d24SOdelu Kukatla .name = "xm_qdss_etr_0", 1834*010f4d24SOdelu Kukatla .channels = 1, 1835*010f4d24SOdelu Kukatla .buswidth = 8, 1836*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1837*010f4d24SOdelu Kukatla .num_ports = 1, 1838*010f4d24SOdelu Kukatla .port_offsets = { 0x14000 }, 1839*010f4d24SOdelu Kukatla .prio = 2, 1840*010f4d24SOdelu Kukatla .urg_fwd = 0, 1841*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1842*010f4d24SOdelu Kukatla }, 1843*010f4d24SOdelu Kukatla .num_links = 1, 1844*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_snoc }, 1845*010f4d24SOdelu Kukatla }; 1846*010f4d24SOdelu Kukatla 1847*010f4d24SOdelu Kukatla static struct qcom_icc_node xm_qdss_etr_1 = { 1848*010f4d24SOdelu Kukatla .name = "xm_qdss_etr_1", 1849*010f4d24SOdelu Kukatla .channels = 1, 1850*010f4d24SOdelu Kukatla .buswidth = 8, 1851*010f4d24SOdelu Kukatla .qosbox = &(const struct qcom_icc_qosbox) { 1852*010f4d24SOdelu Kukatla .num_ports = 1, 1853*010f4d24SOdelu Kukatla .port_offsets = { 0x15000 }, 1854*010f4d24SOdelu Kukatla .prio = 2, 1855*010f4d24SOdelu Kukatla .urg_fwd = 0, 1856*010f4d24SOdelu Kukatla .prio_fwd_disable = 1, 1857*010f4d24SOdelu Kukatla }, 1858*010f4d24SOdelu Kukatla .num_links = 1, 1859*010f4d24SOdelu Kukatla .link_nodes = { &qns_a2noc_snoc }, 1860*010f4d24SOdelu Kukatla }; 1861*010f4d24SOdelu Kukatla 1862*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_c0n0 = { 1863*010f4d24SOdelu Kukatla .name = "C0N0", 1864*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1865*010f4d24SOdelu Kukatla .num_nodes = 2, 1866*010f4d24SOdelu Kukatla .nodes = { &qnm_nsp_data00, &qns_nsp0_hsc_noc }, 1867*010f4d24SOdelu Kukatla }; 1868*010f4d24SOdelu Kukatla 1869*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_c1n0 = { 1870*010f4d24SOdelu Kukatla .name = "C1N0", 1871*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1872*010f4d24SOdelu Kukatla .num_nodes = 2, 1873*010f4d24SOdelu Kukatla .nodes = { &qnm_nsp_data01, &qns_nsp1_hsc_noc }, 1874*010f4d24SOdelu Kukatla }; 1875*010f4d24SOdelu Kukatla 1876*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_c2n0 = { 1877*010f4d24SOdelu Kukatla .name = "C2N0", 1878*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1879*010f4d24SOdelu Kukatla .num_nodes = 2, 1880*010f4d24SOdelu Kukatla .nodes = { &qnm_nsp_data02, &qns_nsp2_hsc_noc }, 1881*010f4d24SOdelu Kukatla }; 1882*010f4d24SOdelu Kukatla 1883*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_c3n0 = { 1884*010f4d24SOdelu Kukatla .name = "C3N0", 1885*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1886*010f4d24SOdelu Kukatla .num_nodes = 2, 1887*010f4d24SOdelu Kukatla .nodes = { &qnm_nsp_data03, &qns_nsp3_hsc_noc }, 1888*010f4d24SOdelu Kukatla }; 1889*010f4d24SOdelu Kukatla 1890*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_ce0 = { 1891*010f4d24SOdelu Kukatla .name = "CE0", 1892*010f4d24SOdelu Kukatla .num_nodes = 1, 1893*010f4d24SOdelu Kukatla .nodes = { &qxm_crypto_0 }, 1894*010f4d24SOdelu Kukatla }; 1895*010f4d24SOdelu Kukatla 1896*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_ce1 = { 1897*010f4d24SOdelu Kukatla .name = "CE1", 1898*010f4d24SOdelu Kukatla .num_nodes = 1, 1899*010f4d24SOdelu Kukatla .nodes = { &qxm_crypto_1 }, 1900*010f4d24SOdelu Kukatla }; 1901*010f4d24SOdelu Kukatla 1902*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_ce2 = { 1903*010f4d24SOdelu Kukatla .name = "CE2", 1904*010f4d24SOdelu Kukatla .num_nodes = 1, 1905*010f4d24SOdelu Kukatla .nodes = { &qxm_crypto_2 }, 1906*010f4d24SOdelu Kukatla }; 1907*010f4d24SOdelu Kukatla 1908*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_cn0 = { 1909*010f4d24SOdelu Kukatla .name = "CN0", 1910*010f4d24SOdelu Kukatla .keepalive = true, 1911*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1912*010f4d24SOdelu Kukatla .num_nodes = 6, 1913*010f4d24SOdelu Kukatla .nodes = { &qsm_cfg, &qhm_mm_rscc, 1914*010f4d24SOdelu Kukatla &qnm_hscnoc, &qnm_cnoc_pcie_dma, 1915*010f4d24SOdelu Kukatla &qnm_hscnoc_pcie, &qnm_pcie_ibnoc_dma }, 1916*010f4d24SOdelu Kukatla }; 1917*010f4d24SOdelu Kukatla 1918*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_cn1 = { 1919*010f4d24SOdelu Kukatla .name = "CN1", 1920*010f4d24SOdelu Kukatla .num_nodes = 2, 1921*010f4d24SOdelu Kukatla .nodes = { &qhs_display_1_cfg, &qhs_display_cfg }, 1922*010f4d24SOdelu Kukatla }; 1923*010f4d24SOdelu Kukatla 1924*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_mc0 = { 1925*010f4d24SOdelu Kukatla .name = "MC0", 1926*010f4d24SOdelu Kukatla .keepalive = true, 1927*010f4d24SOdelu Kukatla .num_nodes = 1, 1928*010f4d24SOdelu Kukatla .nodes = { &ebi }, 1929*010f4d24SOdelu Kukatla }; 1930*010f4d24SOdelu Kukatla 1931*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_mm0 = { 1932*010f4d24SOdelu Kukatla .name = "MM0", 1933*010f4d24SOdelu Kukatla .num_nodes = 1, 1934*010f4d24SOdelu Kukatla .nodes = { &qns_mem_noc_hf }, 1935*010f4d24SOdelu Kukatla }; 1936*010f4d24SOdelu Kukatla 1937*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_mm1 = { 1938*010f4d24SOdelu Kukatla .name = "MM1", 1939*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1940*010f4d24SOdelu Kukatla .num_nodes = 14, 1941*010f4d24SOdelu Kukatla .nodes = { &qnm_camnoc_hf, &qnm_camnoc_nrt_icp_sf, 1942*010f4d24SOdelu Kukatla &qnm_camnoc_rt_cdm_sf, &qnm_camnoc_sf, 1943*010f4d24SOdelu Kukatla &qnm_dprx0, &qnm_dprx1, 1944*010f4d24SOdelu Kukatla &qnm_mdp0, &qnm_mdp1, 1945*010f4d24SOdelu Kukatla &qnm_video_cv_cpu, &qnm_video_eva, 1946*010f4d24SOdelu Kukatla &qnm_video_mvp0, &qnm_video_mvp1, 1947*010f4d24SOdelu Kukatla &qnm_video_v_cpu, &qns_mem_noc_sf }, 1948*010f4d24SOdelu Kukatla }; 1949*010f4d24SOdelu Kukatla 1950*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_qup0 = { 1951*010f4d24SOdelu Kukatla .name = "QUP0", 1952*010f4d24SOdelu Kukatla .vote_scale = 1, 1953*010f4d24SOdelu Kukatla .keepalive = true, 1954*010f4d24SOdelu Kukatla .num_nodes = 1, 1955*010f4d24SOdelu Kukatla .nodes = { &qup0_core_slave }, 1956*010f4d24SOdelu Kukatla }; 1957*010f4d24SOdelu Kukatla 1958*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_qup1 = { 1959*010f4d24SOdelu Kukatla .name = "QUP1", 1960*010f4d24SOdelu Kukatla .vote_scale = 1, 1961*010f4d24SOdelu Kukatla .keepalive = true, 1962*010f4d24SOdelu Kukatla .num_nodes = 1, 1963*010f4d24SOdelu Kukatla .nodes = { &qup1_core_slave }, 1964*010f4d24SOdelu Kukatla }; 1965*010f4d24SOdelu Kukatla 1966*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_qup2 = { 1967*010f4d24SOdelu Kukatla .name = "QUP2", 1968*010f4d24SOdelu Kukatla .vote_scale = 1, 1969*010f4d24SOdelu Kukatla .keepalive = true, 1970*010f4d24SOdelu Kukatla .num_nodes = 1, 1971*010f4d24SOdelu Kukatla .nodes = { &qup2_core_slave }, 1972*010f4d24SOdelu Kukatla }; 1973*010f4d24SOdelu Kukatla 1974*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_qup3 = { 1975*010f4d24SOdelu Kukatla .name = "QUP3", 1976*010f4d24SOdelu Kukatla .vote_scale = 1, 1977*010f4d24SOdelu Kukatla .keepalive = true, 1978*010f4d24SOdelu Kukatla .num_nodes = 1, 1979*010f4d24SOdelu Kukatla .nodes = { &qup3_core_slave }, 1980*010f4d24SOdelu Kukatla }; 1981*010f4d24SOdelu Kukatla 1982*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_sh0 = { 1983*010f4d24SOdelu Kukatla .name = "SH0", 1984*010f4d24SOdelu Kukatla .keepalive = true, 1985*010f4d24SOdelu Kukatla .num_nodes = 1, 1986*010f4d24SOdelu Kukatla .nodes = { &qns_llcc }, 1987*010f4d24SOdelu Kukatla }; 1988*010f4d24SOdelu Kukatla 1989*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_sh1 = { 1990*010f4d24SOdelu Kukatla .name = "SH1", 1991*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 1992*010f4d24SOdelu Kukatla .num_nodes = 24, 1993*010f4d24SOdelu Kukatla .nodes = { &alm_gpu_tcu, &alm_qtc, 1994*010f4d24SOdelu Kukatla &alm_sys_tcu0, &alm_sys_tcu1, 1995*010f4d24SOdelu Kukatla &alm_sys_tcu2, &chm_apps, 1996*010f4d24SOdelu Kukatla &qnm_aggre_north, &qnm_aggre_south, 1997*010f4d24SOdelu Kukatla &qnm_gpu0, &qnm_gpu1, 1998*010f4d24SOdelu Kukatla &qnm_hpass_adas_hscnoc, &qnm_hpass_audio_hscnoc, 1999*010f4d24SOdelu Kukatla &qnm_mnoc_hf, &qnm_mnoc_sf, 2000*010f4d24SOdelu Kukatla &qnm_nsp0_hscnoc, &qnm_nsp1_hscnoc, 2001*010f4d24SOdelu Kukatla &qnm_nsp2_hscnoc, &qnm_nsp3_hscnoc, 2002*010f4d24SOdelu Kukatla &qnm_pcie, &qnm_sailss_md0_hscnoc, 2003*010f4d24SOdelu Kukatla &qnm_snoc_sf, &xm_gic, 2004*010f4d24SOdelu Kukatla &qns_hscnoc_cnoc, &qns_pcie }, 2005*010f4d24SOdelu Kukatla }; 2006*010f4d24SOdelu Kukatla 2007*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_sn0 = { 2008*010f4d24SOdelu Kukatla .name = "SN0", 2009*010f4d24SOdelu Kukatla .keepalive = true, 2010*010f4d24SOdelu Kukatla .num_nodes = 1, 2011*010f4d24SOdelu Kukatla .nodes = { &qns_hscnoc_sf }, 2012*010f4d24SOdelu Kukatla }; 2013*010f4d24SOdelu Kukatla 2014*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_sn1 = { 2015*010f4d24SOdelu Kukatla .name = "SN1", 2016*010f4d24SOdelu Kukatla .enable_mask = BIT(0), 2017*010f4d24SOdelu Kukatla .num_nodes = 14, 2018*010f4d24SOdelu Kukatla .nodes = { &qns_a1noc_hscnoc, &qns_a2noc_hscnoc, 2019*010f4d24SOdelu Kukatla &qxm_pcie_dma_0, &qxm_pcie_dma_1, 2020*010f4d24SOdelu Kukatla &qxm_pcie_dma_2, &xm_pcie_0, 2021*010f4d24SOdelu Kukatla &xm_pcie_1, &xm_pcie_2, 2022*010f4d24SOdelu Kukatla &xm_pcie_3, &qns_pcie_hscnoc, 2023*010f4d24SOdelu Kukatla &qns_pcie_obnoc_dma, &qnm_cnoc_data, 2024*010f4d24SOdelu Kukatla &qnm_nsi_noc, &qnm_safe_dma }, 2025*010f4d24SOdelu Kukatla }; 2026*010f4d24SOdelu Kukatla 2027*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_sn2 = { 2028*010f4d24SOdelu Kukatla .name = "SN2", 2029*010f4d24SOdelu Kukatla .num_nodes = 1, 2030*010f4d24SOdelu Kukatla .nodes = { &qnm_aggre1_noc }, 2031*010f4d24SOdelu Kukatla }; 2032*010f4d24SOdelu Kukatla 2033*010f4d24SOdelu Kukatla static struct qcom_icc_bcm bcm_sn3 = { 2034*010f4d24SOdelu Kukatla .name = "SN3", 2035*010f4d24SOdelu Kukatla .num_nodes = 1, 2036*010f4d24SOdelu Kukatla .nodes = { &qnm_aggre2_noc }, 2037*010f4d24SOdelu Kukatla }; 2038*010f4d24SOdelu Kukatla 2039*010f4d24SOdelu Kukatla static struct qcom_icc_node * const aggre1_noc_nodes[] = { 2040*010f4d24SOdelu Kukatla [MASTER_QSPI_0] = &qhm_qspi, 2041*010f4d24SOdelu Kukatla [MASTER_SAILSS_MD1] = &qnm_sailss_md1, 2042*010f4d24SOdelu Kukatla [MASTER_QUP_3] = &qxm_qup3, 2043*010f4d24SOdelu Kukatla [SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc, 2044*010f4d24SOdelu Kukatla }; 2045*010f4d24SOdelu Kukatla 2046*010f4d24SOdelu Kukatla static const struct regmap_config nord_aggre1_noc_regmap_config = { 2047*010f4d24SOdelu Kukatla .reg_bits = 32, 2048*010f4d24SOdelu Kukatla .reg_stride = 4, 2049*010f4d24SOdelu Kukatla .val_bits = 32, 2050*010f4d24SOdelu Kukatla .max_register = 0x1c400, 2051*010f4d24SOdelu Kukatla .fast_io = true, 2052*010f4d24SOdelu Kukatla }; 2053*010f4d24SOdelu Kukatla 2054*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_aggre1_noc = { 2055*010f4d24SOdelu Kukatla .config = &nord_aggre1_noc_regmap_config, 2056*010f4d24SOdelu Kukatla .nodes = aggre1_noc_nodes, 2057*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(aggre1_noc_nodes), 2058*010f4d24SOdelu Kukatla }; 2059*010f4d24SOdelu Kukatla 2060*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const aggre1_noc_tile_bcms[] = { 2061*010f4d24SOdelu Kukatla &bcm_ce0, 2062*010f4d24SOdelu Kukatla &bcm_ce1, 2063*010f4d24SOdelu Kukatla &bcm_ce2, 2064*010f4d24SOdelu Kukatla &bcm_sn1, 2065*010f4d24SOdelu Kukatla }; 2066*010f4d24SOdelu Kukatla 2067*010f4d24SOdelu Kukatla static struct qcom_icc_node * const aggre1_noc_tile_nodes[] = { 2068*010f4d24SOdelu Kukatla [MASTER_QUP_2] = &qhm_qup2, 2069*010f4d24SOdelu Kukatla [MASTER_CRYPTO_CORE0] = &qxm_crypto_0, 2070*010f4d24SOdelu Kukatla [MASTER_CRYPTO_CORE1] = &qxm_crypto_1, 2071*010f4d24SOdelu Kukatla [MASTER_CRYPTO_CORE2] = &qxm_crypto_2, 2072*010f4d24SOdelu Kukatla [MASTER_SDCC_4] = &xm_sdc4, 2073*010f4d24SOdelu Kukatla [MASTER_UFS_MEM] = &xm_ufs_mem, 2074*010f4d24SOdelu Kukatla [MASTER_USB2] = &xm_usb2, 2075*010f4d24SOdelu Kukatla [MASTER_USB3_0] = &xm_usb3_0, 2076*010f4d24SOdelu Kukatla [MASTER_USB3_1] = &xm_usb3_1, 2077*010f4d24SOdelu Kukatla [SLAVE_A1NOC_HSCNOC] = &qns_a1noc_hscnoc, 2078*010f4d24SOdelu Kukatla }; 2079*010f4d24SOdelu Kukatla 2080*010f4d24SOdelu Kukatla static const struct regmap_config nord_aggre1_noc_tile_regmap_config = { 2081*010f4d24SOdelu Kukatla .reg_bits = 32, 2082*010f4d24SOdelu Kukatla .reg_stride = 4, 2083*010f4d24SOdelu Kukatla .val_bits = 32, 2084*010f4d24SOdelu Kukatla .max_register = 0x23400, 2085*010f4d24SOdelu Kukatla .fast_io = true, 2086*010f4d24SOdelu Kukatla }; 2087*010f4d24SOdelu Kukatla 2088*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_aggre1_noc_tile = { 2089*010f4d24SOdelu Kukatla .config = &nord_aggre1_noc_tile_regmap_config, 2090*010f4d24SOdelu Kukatla .nodes = aggre1_noc_tile_nodes, 2091*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(aggre1_noc_tile_nodes), 2092*010f4d24SOdelu Kukatla .bcms = aggre1_noc_tile_bcms, 2093*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(aggre1_noc_tile_bcms), 2094*010f4d24SOdelu Kukatla }; 2095*010f4d24SOdelu Kukatla 2096*010f4d24SOdelu Kukatla static struct qcom_icc_node * const aggre2_noc_nodes[] = { 2097*010f4d24SOdelu Kukatla [MASTER_IPA] = &qxm_ipa, 2098*010f4d24SOdelu Kukatla [MASTER_SOCCP_AGGR_NOC] = &qxm_soccp, 2099*010f4d24SOdelu Kukatla [MASTER_QDSS_ETR] = &xm_qdss_etr_0, 2100*010f4d24SOdelu Kukatla [MASTER_QDSS_ETR_1] = &xm_qdss_etr_1, 2101*010f4d24SOdelu Kukatla [SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc, 2102*010f4d24SOdelu Kukatla }; 2103*010f4d24SOdelu Kukatla 2104*010f4d24SOdelu Kukatla static const struct regmap_config nord_aggre2_noc_regmap_config = { 2105*010f4d24SOdelu Kukatla .reg_bits = 32, 2106*010f4d24SOdelu Kukatla .reg_stride = 4, 2107*010f4d24SOdelu Kukatla .val_bits = 32, 2108*010f4d24SOdelu Kukatla .max_register = 0x1b400, 2109*010f4d24SOdelu Kukatla .fast_io = true, 2110*010f4d24SOdelu Kukatla }; 2111*010f4d24SOdelu Kukatla 2112*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_aggre2_noc = { 2113*010f4d24SOdelu Kukatla .config = &nord_aggre2_noc_regmap_config, 2114*010f4d24SOdelu Kukatla .nodes = aggre2_noc_nodes, 2115*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(aggre2_noc_nodes), 2116*010f4d24SOdelu Kukatla }; 2117*010f4d24SOdelu Kukatla 2118*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const aggre2_noc_tile_bcms[] = { 2119*010f4d24SOdelu Kukatla &bcm_sn1, 2120*010f4d24SOdelu Kukatla }; 2121*010f4d24SOdelu Kukatla 2122*010f4d24SOdelu Kukatla static struct qcom_icc_node * const aggre2_noc_tile_nodes[] = { 2123*010f4d24SOdelu Kukatla [MASTER_QUP_0] = &qhm_qup0, 2124*010f4d24SOdelu Kukatla [MASTER_QUP_1] = &qhm_qup1, 2125*010f4d24SOdelu Kukatla [MASTER_EMAC_0] = &xm_emac_0, 2126*010f4d24SOdelu Kukatla [MASTER_EMAC_1] = &xm_emac_1, 2127*010f4d24SOdelu Kukatla [SLAVE_A2NOC_HSCNOC] = &qns_a2noc_hscnoc, 2128*010f4d24SOdelu Kukatla }; 2129*010f4d24SOdelu Kukatla 2130*010f4d24SOdelu Kukatla static const struct regmap_config nord_aggre2_noc_tile_regmap_config = { 2131*010f4d24SOdelu Kukatla .reg_bits = 32, 2132*010f4d24SOdelu Kukatla .reg_stride = 4, 2133*010f4d24SOdelu Kukatla .val_bits = 32, 2134*010f4d24SOdelu Kukatla .max_register = 0x1b400, 2135*010f4d24SOdelu Kukatla .fast_io = true, 2136*010f4d24SOdelu Kukatla }; 2137*010f4d24SOdelu Kukatla 2138*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_aggre2_noc_tile = { 2139*010f4d24SOdelu Kukatla .config = &nord_aggre2_noc_tile_regmap_config, 2140*010f4d24SOdelu Kukatla .nodes = aggre2_noc_tile_nodes, 2141*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(aggre2_noc_tile_nodes), 2142*010f4d24SOdelu Kukatla .bcms = aggre2_noc_tile_bcms, 2143*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(aggre2_noc_tile_bcms), 2144*010f4d24SOdelu Kukatla }; 2145*010f4d24SOdelu Kukatla 2146*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const clk_virt_bcms[] = { 2147*010f4d24SOdelu Kukatla &bcm_qup0, 2148*010f4d24SOdelu Kukatla &bcm_qup1, 2149*010f4d24SOdelu Kukatla &bcm_qup2, 2150*010f4d24SOdelu Kukatla &bcm_qup3, 2151*010f4d24SOdelu Kukatla }; 2152*010f4d24SOdelu Kukatla 2153*010f4d24SOdelu Kukatla static struct qcom_icc_node * const clk_virt_nodes[] = { 2154*010f4d24SOdelu Kukatla [MASTER_QUP_CORE_0] = &qup0_core_master, 2155*010f4d24SOdelu Kukatla [MASTER_QUP_CORE_1] = &qup1_core_master, 2156*010f4d24SOdelu Kukatla [MASTER_QUP_CORE_2] = &qup2_core_master, 2157*010f4d24SOdelu Kukatla [MASTER_QUP_CORE_3] = &qup3_core_master, 2158*010f4d24SOdelu Kukatla [SLAVE_QUP_CORE_0] = &qup0_core_slave, 2159*010f4d24SOdelu Kukatla [SLAVE_QUP_CORE_1] = &qup1_core_slave, 2160*010f4d24SOdelu Kukatla [SLAVE_QUP_CORE_2] = &qup2_core_slave, 2161*010f4d24SOdelu Kukatla [SLAVE_QUP_CORE_3] = &qup3_core_slave, 2162*010f4d24SOdelu Kukatla }; 2163*010f4d24SOdelu Kukatla 2164*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_clk_virt = { 2165*010f4d24SOdelu Kukatla .nodes = clk_virt_nodes, 2166*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(clk_virt_nodes), 2167*010f4d24SOdelu Kukatla .bcms = clk_virt_bcms, 2168*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(clk_virt_bcms), 2169*010f4d24SOdelu Kukatla }; 2170*010f4d24SOdelu Kukatla 2171*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const cnoc_cfg_bcms[] = { 2172*010f4d24SOdelu Kukatla &bcm_cn0, 2173*010f4d24SOdelu Kukatla &bcm_cn1, 2174*010f4d24SOdelu Kukatla }; 2175*010f4d24SOdelu Kukatla 2176*010f4d24SOdelu Kukatla static struct qcom_icc_node * const cnoc_cfg_nodes[] = { 2177*010f4d24SOdelu Kukatla [MASTER_CNOC_CFG] = &qsm_cfg, 2178*010f4d24SOdelu Kukatla [SLAVE_PS_ETH_0] = &ps_eth_0, 2179*010f4d24SOdelu Kukatla [SLAVE_PS_ETH_1] = &ps_eth_1, 2180*010f4d24SOdelu Kukatla [SLAVE_SHS_SERVER] = &ps_shs_server, 2181*010f4d24SOdelu Kukatla [SLAVE_AHB2PHY_0] = &qhs_ahb2phy0, 2182*010f4d24SOdelu Kukatla [SLAVE_AHB2PHY_1] = &qhs_ahb2phy1, 2183*010f4d24SOdelu Kukatla [SLAVE_AHB2PHY_2] = &qhs_ahb2phy2, 2184*010f4d24SOdelu Kukatla [SLAVE_AHB2PHY_3] = &qhs_ahb2phy3, 2185*010f4d24SOdelu Kukatla [SLAVE_AHB2PHY_ETH_0] = &qhs_ahb2phy_eth_0, 2186*010f4d24SOdelu Kukatla [SLAVE_AHB2PHY_ETH_1] = &qhs_ahb2phy_eth_1, 2187*010f4d24SOdelu Kukatla [SLAVE_CAMERA_CFG] = &qhs_camera_cfg, 2188*010f4d24SOdelu Kukatla [SLAVE_CLK_CTL] = &qhs_clk_ctl, 2189*010f4d24SOdelu Kukatla [SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg, 2190*010f4d24SOdelu Kukatla [SLAVE_CRYPTO_1_CFG] = &qhs_crypto1_cfg, 2191*010f4d24SOdelu Kukatla [SLAVE_CRYPTO_2_CFG] = &qhs_crypto2_cfg, 2192*010f4d24SOdelu Kukatla [SLAVE_DISPLAY_1_CFG] = &qhs_display_1_cfg, 2193*010f4d24SOdelu Kukatla [SLAVE_DISPLAY_CFG] = &qhs_display_cfg, 2194*010f4d24SOdelu Kukatla [SLAVE_DPRX0] = &qhs_dprx0, 2195*010f4d24SOdelu Kukatla [SLAVE_DPRX1] = &qhs_dprx1, 2196*010f4d24SOdelu Kukatla [SLAVE_EVA_CFG] = &qhs_eva_cfg, 2197*010f4d24SOdelu Kukatla [SLAVE_GFX3D_CFG] = &qhs_gpuss_0_cfg, 2198*010f4d24SOdelu Kukatla [SLAVE_GFX3D_1_CFG] = &qhs_gpuss_1_cfg, 2199*010f4d24SOdelu Kukatla [SLAVE_I2C] = &qhs_i2c, 2200*010f4d24SOdelu Kukatla [SLAVE_IMEM_CFG] = &qhs_imem_cfg, 2201*010f4d24SOdelu Kukatla [SLAVE_MCW_PCIE] = &qhs_mcw_pcie, 2202*010f4d24SOdelu Kukatla [SLAVE_MM_RSCC] = &qhs_mm_rscc, 2203*010f4d24SOdelu Kukatla [SLAVE_NE_CLK_CTL] = &qhs_ne_clk_ctl, 2204*010f4d24SOdelu Kukatla [SLAVE_NSPSS0_CFG] = &qhs_nspss0_cfg, 2205*010f4d24SOdelu Kukatla [SLAVE_NSPSS1_CFG] = &qhs_nspss1_cfg, 2206*010f4d24SOdelu Kukatla [SLAVE_NSPSS2_CFG] = &qhs_nspss2_cfg, 2207*010f4d24SOdelu Kukatla [SLAVE_NSPSS3_CFG] = &qhs_nspss3_cfg, 2208*010f4d24SOdelu Kukatla [SLAVE_NW_CLK_CTL] = &qhs_nw_clk_ctl, 2209*010f4d24SOdelu Kukatla [SLAVE_PRNG] = &qhs_prng, 2210*010f4d24SOdelu Kukatla [SLAVE_QDSS_CFG] = &qhs_qdss_cfg, 2211*010f4d24SOdelu Kukatla [SLAVE_QSPI_0] = &qhs_qspi, 2212*010f4d24SOdelu Kukatla [SLAVE_QUP_0] = &qhs_qup0, 2213*010f4d24SOdelu Kukatla [SLAVE_QUP_3] = &qhs_qup3, 2214*010f4d24SOdelu Kukatla [SLAVE_QUP_1] = &qhs_qup1, 2215*010f4d24SOdelu Kukatla [SLAVE_QUP_2] = &qhs_qup2, 2216*010f4d24SOdelu Kukatla [SLAVE_SAFEDMA_CFG] = &qhs_safedma_cfg, 2217*010f4d24SOdelu Kukatla [SLAVE_SDCC_4] = &qhs_sdc4, 2218*010f4d24SOdelu Kukatla [SLAVE_SE_CLK_CTL] = &qhs_se_clk_ctl, 2219*010f4d24SOdelu Kukatla [SLAVE_TCSR] = &qhs_tcsr, 2220*010f4d24SOdelu Kukatla [SLAVE_TLMM] = &qhs_tlmm, 2221*010f4d24SOdelu Kukatla [SLAVE_TSC_CFG] = &qhs_tsc_cfg, 2222*010f4d24SOdelu Kukatla [SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg, 2223*010f4d24SOdelu Kukatla [SLAVE_USB2] = &qhs_usb2, 2224*010f4d24SOdelu Kukatla [SLAVE_USB3_0] = &qhs_usb3_0, 2225*010f4d24SOdelu Kukatla [SLAVE_USB3_1] = &qhs_usb3_1, 2226*010f4d24SOdelu Kukatla [SLAVE_VENUS_CFG] = &qhs_venus_cfg, 2227*010f4d24SOdelu Kukatla [SLAVE_COMPUTENOC_CFG] = &qss_computenoc_cfg, 2228*010f4d24SOdelu Kukatla [SLAVE_PCIE_NOC_CFG] = &qss_pcie_noc_cfg, 2229*010f4d24SOdelu Kukatla [SLAVE_QTC_CFG] = &qss_qtc_cfg, 2230*010f4d24SOdelu Kukatla [SLAVE_QDSS_STM] = &xs_qdss_stm, 2231*010f4d24SOdelu Kukatla [SLAVE_SYS_TCU0_CFG] = &xs_sys_tcu0_cfg, 2232*010f4d24SOdelu Kukatla [SLAVE_SYS_TCU1_CFG] = &xs_sys_tcu1_cfg, 2233*010f4d24SOdelu Kukatla [SLAVE_SYS_TCU2_CFG] = &xs_sys_tcu2_cfg, 2234*010f4d24SOdelu Kukatla }; 2235*010f4d24SOdelu Kukatla 2236*010f4d24SOdelu Kukatla static const struct regmap_config nord_cnoc_cfg_regmap_config = { 2237*010f4d24SOdelu Kukatla .reg_bits = 32, 2238*010f4d24SOdelu Kukatla .reg_stride = 4, 2239*010f4d24SOdelu Kukatla .val_bits = 32, 2240*010f4d24SOdelu Kukatla .max_register = 0xd200, 2241*010f4d24SOdelu Kukatla .fast_io = true, 2242*010f4d24SOdelu Kukatla }; 2243*010f4d24SOdelu Kukatla 2244*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_cnoc_cfg = { 2245*010f4d24SOdelu Kukatla .config = &nord_cnoc_cfg_regmap_config, 2246*010f4d24SOdelu Kukatla .nodes = cnoc_cfg_nodes, 2247*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(cnoc_cfg_nodes), 2248*010f4d24SOdelu Kukatla .bcms = cnoc_cfg_bcms, 2249*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(cnoc_cfg_bcms), 2250*010f4d24SOdelu Kukatla }; 2251*010f4d24SOdelu Kukatla 2252*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const cnoc_main_bcms[] = { 2253*010f4d24SOdelu Kukatla &bcm_cn0, 2254*010f4d24SOdelu Kukatla }; 2255*010f4d24SOdelu Kukatla 2256*010f4d24SOdelu Kukatla static struct qcom_icc_node * const cnoc_main_nodes[] = { 2257*010f4d24SOdelu Kukatla [MASTER_MM_RSCC] = &qhm_mm_rscc, 2258*010f4d24SOdelu Kukatla [MASTER_HSCNOC_CNOC] = &qnm_hscnoc, 2259*010f4d24SOdelu Kukatla [SLAVE_AOSS] = &qhs_aoss, 2260*010f4d24SOdelu Kukatla [SLAVE_HBCU] = &qhs_hbcu, 2261*010f4d24SOdelu Kukatla [SLAVE_IPA_CFG] = &qhs_ipa, 2262*010f4d24SOdelu Kukatla [SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router, 2263*010f4d24SOdelu Kukatla [SLAVE_SOCCP] = &qhs_soccp, 2264*010f4d24SOdelu Kukatla [SLAVE_TME_CFG] = &qhs_tme_cfg, 2265*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA] = &qns_pcie_dma, 2266*010f4d24SOdelu Kukatla [SLAVE_CNOC_CFG] = &qss_cfg, 2267*010f4d24SOdelu Kukatla [SLAVE_DDRSS_CFG] = &qss_ddrss_cfg, 2268*010f4d24SOdelu Kukatla [SLAVE_IMEM] = &qxs_imem, 2269*010f4d24SOdelu Kukatla }; 2270*010f4d24SOdelu Kukatla 2271*010f4d24SOdelu Kukatla static const struct regmap_config nord_cnoc_main_regmap_config = { 2272*010f4d24SOdelu Kukatla .reg_bits = 32, 2273*010f4d24SOdelu Kukatla .reg_stride = 4, 2274*010f4d24SOdelu Kukatla .val_bits = 32, 2275*010f4d24SOdelu Kukatla .max_register = 0x1d200, 2276*010f4d24SOdelu Kukatla .fast_io = true, 2277*010f4d24SOdelu Kukatla }; 2278*010f4d24SOdelu Kukatla 2279*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_cnoc_main = { 2280*010f4d24SOdelu Kukatla .config = &nord_cnoc_main_regmap_config, 2281*010f4d24SOdelu Kukatla .nodes = cnoc_main_nodes, 2282*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(cnoc_main_nodes), 2283*010f4d24SOdelu Kukatla .bcms = cnoc_main_bcms, 2284*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(cnoc_main_bcms), 2285*010f4d24SOdelu Kukatla }; 2286*010f4d24SOdelu Kukatla 2287*010f4d24SOdelu Kukatla static struct qcom_icc_node * const hpass_ag_noc_nodes[] = { 2288*010f4d24SOdelu Kukatla [MASTER_HPASS_PROC_0] = &qnm_hpass_dsp0, 2289*010f4d24SOdelu Kukatla [MASTER_HPASS_PROC_1] = &qnm_hpass_dsp1, 2290*010f4d24SOdelu Kukatla [MASTER_HPASS_PROC_2] = &qnm_hpass_dsp2, 2291*010f4d24SOdelu Kukatla [SLAVE_HPASS_AGNOC_AUDIO] = &qns_hpass_agnoc_audio, 2292*010f4d24SOdelu Kukatla }; 2293*010f4d24SOdelu Kukatla 2294*010f4d24SOdelu Kukatla static const struct regmap_config nord_hpass_ag_noc_regmap_config = { 2295*010f4d24SOdelu Kukatla .reg_bits = 32, 2296*010f4d24SOdelu Kukatla .reg_stride = 4, 2297*010f4d24SOdelu Kukatla .val_bits = 32, 2298*010f4d24SOdelu Kukatla .max_register = 0x37080, 2299*010f4d24SOdelu Kukatla .fast_io = true, 2300*010f4d24SOdelu Kukatla }; 2301*010f4d24SOdelu Kukatla 2302*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_hpass_ag_noc = { 2303*010f4d24SOdelu Kukatla .config = &nord_hpass_ag_noc_regmap_config, 2304*010f4d24SOdelu Kukatla .nodes = hpass_ag_noc_nodes, 2305*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(hpass_ag_noc_nodes), 2306*010f4d24SOdelu Kukatla }; 2307*010f4d24SOdelu Kukatla 2308*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const hscnoc_bcms[] = { 2309*010f4d24SOdelu Kukatla &bcm_sh0, 2310*010f4d24SOdelu Kukatla &bcm_sh1, 2311*010f4d24SOdelu Kukatla }; 2312*010f4d24SOdelu Kukatla 2313*010f4d24SOdelu Kukatla static struct qcom_icc_node * const hscnoc_nodes[] = { 2314*010f4d24SOdelu Kukatla [MASTER_GPU_TCU] = &alm_gpu_tcu, 2315*010f4d24SOdelu Kukatla [MASTER_QTC_TCU] = &alm_qtc, 2316*010f4d24SOdelu Kukatla [MASTER_SYS_TCU_0] = &alm_sys_tcu0, 2317*010f4d24SOdelu Kukatla [MASTER_SYS_TCU_1] = &alm_sys_tcu1, 2318*010f4d24SOdelu Kukatla [MASTER_SYS_TCU_2] = &alm_sys_tcu2, 2319*010f4d24SOdelu Kukatla [MASTER_APPSS_PROC] = &chm_apps, 2320*010f4d24SOdelu Kukatla [MASTER_A1NOC_TILE_HSCNOC] = &qnm_aggre_north, 2321*010f4d24SOdelu Kukatla [MASTER_A2NOC_TILE_HSCNOC] = &qnm_aggre_south, 2322*010f4d24SOdelu Kukatla [MASTER_GFX3D] = &qnm_gpu0, 2323*010f4d24SOdelu Kukatla [MASTER_GFX3D_1] = &qnm_gpu1, 2324*010f4d24SOdelu Kukatla [MASTER_HPASS_ADAS_HSCNOC] = &qnm_hpass_adas_hscnoc, 2325*010f4d24SOdelu Kukatla [MASTER_HPASS_AUDIO_HSCNOC] = &qnm_hpass_audio_hscnoc, 2326*010f4d24SOdelu Kukatla [MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf, 2327*010f4d24SOdelu Kukatla [MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf, 2328*010f4d24SOdelu Kukatla [MASTER_NSP0_HSCNOC] = &qnm_nsp0_hscnoc, 2329*010f4d24SOdelu Kukatla [MASTER_NSP1_HSCNOC] = &qnm_nsp1_hscnoc, 2330*010f4d24SOdelu Kukatla [MASTER_NSP2_HSCNOC] = &qnm_nsp2_hscnoc, 2331*010f4d24SOdelu Kukatla [MASTER_NSP3_HSCNOC] = &qnm_nsp3_hscnoc, 2332*010f4d24SOdelu Kukatla [MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie, 2333*010f4d24SOdelu Kukatla [MASTER_SAILSS_MD0_HSCNOC] = &qnm_sailss_md0_hscnoc, 2334*010f4d24SOdelu Kukatla [MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf, 2335*010f4d24SOdelu Kukatla [MASTER_GIC] = &xm_gic, 2336*010f4d24SOdelu Kukatla [SLAVE_HSCNOC_CNOC] = &qns_hscnoc_cnoc, 2337*010f4d24SOdelu Kukatla [SLAVE_LLCC] = &qns_llcc, 2338*010f4d24SOdelu Kukatla [SLAVE_MEM_NOC_PCIE_SNOC] = &qns_pcie, 2339*010f4d24SOdelu Kukatla }; 2340*010f4d24SOdelu Kukatla 2341*010f4d24SOdelu Kukatla static const struct regmap_config nord_hscnoc_regmap_config = { 2342*010f4d24SOdelu Kukatla .reg_bits = 32, 2343*010f4d24SOdelu Kukatla .reg_stride = 4, 2344*010f4d24SOdelu Kukatla .val_bits = 32, 2345*010f4d24SOdelu Kukatla .max_register = 0xa45080, 2346*010f4d24SOdelu Kukatla .fast_io = true, 2347*010f4d24SOdelu Kukatla }; 2348*010f4d24SOdelu Kukatla 2349*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_hscnoc = { 2350*010f4d24SOdelu Kukatla .config = &nord_hscnoc_regmap_config, 2351*010f4d24SOdelu Kukatla .nodes = hscnoc_nodes, 2352*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(hscnoc_nodes), 2353*010f4d24SOdelu Kukatla .bcms = hscnoc_bcms, 2354*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(hscnoc_bcms), 2355*010f4d24SOdelu Kukatla }; 2356*010f4d24SOdelu Kukatla 2357*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const mc_virt_bcms[] = { 2358*010f4d24SOdelu Kukatla &bcm_mc0, 2359*010f4d24SOdelu Kukatla }; 2360*010f4d24SOdelu Kukatla 2361*010f4d24SOdelu Kukatla static struct qcom_icc_node * const mc_virt_nodes[] = { 2362*010f4d24SOdelu Kukatla [MASTER_LLCC] = &llcc_mc, 2363*010f4d24SOdelu Kukatla [SLAVE_EBI1] = &ebi, 2364*010f4d24SOdelu Kukatla }; 2365*010f4d24SOdelu Kukatla 2366*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_mc_virt = { 2367*010f4d24SOdelu Kukatla .nodes = mc_virt_nodes, 2368*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(mc_virt_nodes), 2369*010f4d24SOdelu Kukatla .bcms = mc_virt_bcms, 2370*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(mc_virt_bcms), 2371*010f4d24SOdelu Kukatla }; 2372*010f4d24SOdelu Kukatla 2373*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const mmss_noc_bcms[] = { 2374*010f4d24SOdelu Kukatla &bcm_mm0, 2375*010f4d24SOdelu Kukatla &bcm_mm1, 2376*010f4d24SOdelu Kukatla }; 2377*010f4d24SOdelu Kukatla 2378*010f4d24SOdelu Kukatla static struct qcom_icc_node * const mmss_noc_nodes[] = { 2379*010f4d24SOdelu Kukatla [MASTER_CAMNOC_HF] = &qnm_camnoc_hf, 2380*010f4d24SOdelu Kukatla [MASTER_CAMNOC_NRT_ICP_SF] = &qnm_camnoc_nrt_icp_sf, 2381*010f4d24SOdelu Kukatla [MASTER_CAMNOC_RT_CDM_SF] = &qnm_camnoc_rt_cdm_sf, 2382*010f4d24SOdelu Kukatla [MASTER_CAMNOC_SF] = &qnm_camnoc_sf, 2383*010f4d24SOdelu Kukatla [MASTER_DPRX0] = &qnm_dprx0, 2384*010f4d24SOdelu Kukatla [MASTER_DPRX1] = &qnm_dprx1, 2385*010f4d24SOdelu Kukatla [MASTER_MDP0] = &qnm_mdp0, 2386*010f4d24SOdelu Kukatla [MASTER_MDP1] = &qnm_mdp1, 2387*010f4d24SOdelu Kukatla [MASTER_VIDEO_CV_PROC] = &qnm_video_cv_cpu, 2388*010f4d24SOdelu Kukatla [MASTER_VIDEO_EVA] = &qnm_video_eva, 2389*010f4d24SOdelu Kukatla [MASTER_VIDEO_MVP0] = &qnm_video_mvp0, 2390*010f4d24SOdelu Kukatla [MASTER_VIDEO_MVP1] = &qnm_video_mvp1, 2391*010f4d24SOdelu Kukatla [MASTER_VIDEO_V_PROC] = &qnm_video_v_cpu, 2392*010f4d24SOdelu Kukatla [SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf, 2393*010f4d24SOdelu Kukatla [SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf, 2394*010f4d24SOdelu Kukatla }; 2395*010f4d24SOdelu Kukatla 2396*010f4d24SOdelu Kukatla static const struct regmap_config nord_mmss_noc_regmap_config = { 2397*010f4d24SOdelu Kukatla .reg_bits = 32, 2398*010f4d24SOdelu Kukatla .reg_stride = 4, 2399*010f4d24SOdelu Kukatla .val_bits = 32, 2400*010f4d24SOdelu Kukatla .max_register = 0x72800, 2401*010f4d24SOdelu Kukatla .fast_io = true, 2402*010f4d24SOdelu Kukatla }; 2403*010f4d24SOdelu Kukatla 2404*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_mmss_noc = { 2405*010f4d24SOdelu Kukatla .config = &nord_mmss_noc_regmap_config, 2406*010f4d24SOdelu Kukatla .nodes = mmss_noc_nodes, 2407*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(mmss_noc_nodes), 2408*010f4d24SOdelu Kukatla .bcms = mmss_noc_bcms, 2409*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(mmss_noc_bcms), 2410*010f4d24SOdelu Kukatla }; 2411*010f4d24SOdelu Kukatla 2412*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const nsp_data_noc_0_bcms[] = { 2413*010f4d24SOdelu Kukatla &bcm_c0n0, 2414*010f4d24SOdelu Kukatla }; 2415*010f4d24SOdelu Kukatla 2416*010f4d24SOdelu Kukatla static struct qcom_icc_node * const nsp_data_noc_0_nodes[] = { 2417*010f4d24SOdelu Kukatla [MASTER_NSP0_PROC] = &qnm_nsp_data00, 2418*010f4d24SOdelu Kukatla [SLAVE_NSP0_HSC_NOC] = &qns_nsp0_hsc_noc, 2419*010f4d24SOdelu Kukatla }; 2420*010f4d24SOdelu Kukatla 2421*010f4d24SOdelu Kukatla static const struct regmap_config nord_nsp_data_noc_0_regmap_config = { 2422*010f4d24SOdelu Kukatla .reg_bits = 32, 2423*010f4d24SOdelu Kukatla .reg_stride = 4, 2424*010f4d24SOdelu Kukatla .val_bits = 32, 2425*010f4d24SOdelu Kukatla .max_register = 0x2a200, 2426*010f4d24SOdelu Kukatla .fast_io = true, 2427*010f4d24SOdelu Kukatla }; 2428*010f4d24SOdelu Kukatla 2429*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_nsp_data_noc_0 = { 2430*010f4d24SOdelu Kukatla .config = &nord_nsp_data_noc_0_regmap_config, 2431*010f4d24SOdelu Kukatla .nodes = nsp_data_noc_0_nodes, 2432*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(nsp_data_noc_0_nodes), 2433*010f4d24SOdelu Kukatla .bcms = nsp_data_noc_0_bcms, 2434*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(nsp_data_noc_0_bcms), 2435*010f4d24SOdelu Kukatla }; 2436*010f4d24SOdelu Kukatla 2437*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const nsp_data_noc_1_bcms[] = { 2438*010f4d24SOdelu Kukatla &bcm_c1n0, 2439*010f4d24SOdelu Kukatla }; 2440*010f4d24SOdelu Kukatla 2441*010f4d24SOdelu Kukatla static struct qcom_icc_node * const nsp_data_noc_1_nodes[] = { 2442*010f4d24SOdelu Kukatla [MASTER_NSP1_PROC] = &qnm_nsp_data01, 2443*010f4d24SOdelu Kukatla [SLAVE_NSP1_HSC_NOC] = &qns_nsp1_hsc_noc, 2444*010f4d24SOdelu Kukatla }; 2445*010f4d24SOdelu Kukatla 2446*010f4d24SOdelu Kukatla static const struct regmap_config nord_nsp_data_noc_1_regmap_config = { 2447*010f4d24SOdelu Kukatla .reg_bits = 32, 2448*010f4d24SOdelu Kukatla .reg_stride = 4, 2449*010f4d24SOdelu Kukatla .val_bits = 32, 2450*010f4d24SOdelu Kukatla .max_register = 0x2a200, 2451*010f4d24SOdelu Kukatla .fast_io = true, 2452*010f4d24SOdelu Kukatla }; 2453*010f4d24SOdelu Kukatla 2454*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_nsp_data_noc_1 = { 2455*010f4d24SOdelu Kukatla .config = &nord_nsp_data_noc_1_regmap_config, 2456*010f4d24SOdelu Kukatla .nodes = nsp_data_noc_1_nodes, 2457*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(nsp_data_noc_1_nodes), 2458*010f4d24SOdelu Kukatla .bcms = nsp_data_noc_1_bcms, 2459*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(nsp_data_noc_1_bcms), 2460*010f4d24SOdelu Kukatla }; 2461*010f4d24SOdelu Kukatla 2462*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const nsp_data_noc_2_bcms[] = { 2463*010f4d24SOdelu Kukatla &bcm_c2n0, 2464*010f4d24SOdelu Kukatla }; 2465*010f4d24SOdelu Kukatla 2466*010f4d24SOdelu Kukatla static struct qcom_icc_node * const nsp_data_noc_2_nodes[] = { 2467*010f4d24SOdelu Kukatla [MASTER_NSP2_PROC] = &qnm_nsp_data02, 2468*010f4d24SOdelu Kukatla [SLAVE_NSP2_HSC_NOC] = &qns_nsp2_hsc_noc, 2469*010f4d24SOdelu Kukatla }; 2470*010f4d24SOdelu Kukatla 2471*010f4d24SOdelu Kukatla static const struct regmap_config nord_nsp_data_noc_2_regmap_config = { 2472*010f4d24SOdelu Kukatla .reg_bits = 32, 2473*010f4d24SOdelu Kukatla .reg_stride = 4, 2474*010f4d24SOdelu Kukatla .val_bits = 32, 2475*010f4d24SOdelu Kukatla .max_register = 0x2a200, 2476*010f4d24SOdelu Kukatla .fast_io = true, 2477*010f4d24SOdelu Kukatla }; 2478*010f4d24SOdelu Kukatla 2479*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_nsp_data_noc_2 = { 2480*010f4d24SOdelu Kukatla .config = &nord_nsp_data_noc_2_regmap_config, 2481*010f4d24SOdelu Kukatla .nodes = nsp_data_noc_2_nodes, 2482*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(nsp_data_noc_2_nodes), 2483*010f4d24SOdelu Kukatla .bcms = nsp_data_noc_2_bcms, 2484*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(nsp_data_noc_2_bcms), 2485*010f4d24SOdelu Kukatla }; 2486*010f4d24SOdelu Kukatla 2487*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const nsp_data_noc_3_bcms[] = { 2488*010f4d24SOdelu Kukatla &bcm_c3n0, 2489*010f4d24SOdelu Kukatla }; 2490*010f4d24SOdelu Kukatla 2491*010f4d24SOdelu Kukatla static struct qcom_icc_node * const nsp_data_noc_3_nodes[] = { 2492*010f4d24SOdelu Kukatla [MASTER_NSP3_PROC] = &qnm_nsp_data03, 2493*010f4d24SOdelu Kukatla [SLAVE_NSP3_HSC_NOC] = &qns_nsp3_hsc_noc, 2494*010f4d24SOdelu Kukatla }; 2495*010f4d24SOdelu Kukatla 2496*010f4d24SOdelu Kukatla static const struct regmap_config nord_nsp_data_noc_3_regmap_config = { 2497*010f4d24SOdelu Kukatla .reg_bits = 32, 2498*010f4d24SOdelu Kukatla .reg_stride = 4, 2499*010f4d24SOdelu Kukatla .val_bits = 32, 2500*010f4d24SOdelu Kukatla .max_register = 0x2a200, 2501*010f4d24SOdelu Kukatla .fast_io = true, 2502*010f4d24SOdelu Kukatla }; 2503*010f4d24SOdelu Kukatla 2504*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_nsp_data_noc_3 = { 2505*010f4d24SOdelu Kukatla .config = &nord_nsp_data_noc_3_regmap_config, 2506*010f4d24SOdelu Kukatla .nodes = nsp_data_noc_3_nodes, 2507*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(nsp_data_noc_3_nodes), 2508*010f4d24SOdelu Kukatla .bcms = nsp_data_noc_3_bcms, 2509*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(nsp_data_noc_3_bcms), 2510*010f4d24SOdelu Kukatla }; 2511*010f4d24SOdelu Kukatla 2512*010f4d24SOdelu Kukatla static struct qcom_icc_node * const pcie_cfg_nodes[] = { 2513*010f4d24SOdelu Kukatla [MASTER_PCIE_NOC_CFG] = &qsm_pcie_noc_cfg, 2514*010f4d24SOdelu Kukatla [SLAVE_PCIE_AHB2PHY_CFG] = &qhs_pcie_ahb2phy_cfg, 2515*010f4d24SOdelu Kukatla [SLAVE_PCIE_CFG_0] = &qhs_pcie_cfg_0, 2516*010f4d24SOdelu Kukatla [SLAVE_PCIE_CFG_1] = &qhs_pcie_cfg_1, 2517*010f4d24SOdelu Kukatla [SLAVE_PCIE_CFG_2] = &qhs_pcie_cfg_2, 2518*010f4d24SOdelu Kukatla [SLAVE_PCIE_CFG_3] = &qhs_pcie_cfg_3, 2519*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA_0_CFG] = &qhs_pcie_dma_0_cfg, 2520*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA_1_CFG] = &qhs_pcie_dma_1_cfg, 2521*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA_2_CFG] = &qhs_pcie_dma_2_cfg, 2522*010f4d24SOdelu Kukatla }; 2523*010f4d24SOdelu Kukatla 2524*010f4d24SOdelu Kukatla static const struct regmap_config nord_pcie_cfg_regmap_config = { 2525*010f4d24SOdelu Kukatla .reg_bits = 32, 2526*010f4d24SOdelu Kukatla .reg_stride = 4, 2527*010f4d24SOdelu Kukatla .val_bits = 32, 2528*010f4d24SOdelu Kukatla .max_register = 0x7200, 2529*010f4d24SOdelu Kukatla .fast_io = true, 2530*010f4d24SOdelu Kukatla }; 2531*010f4d24SOdelu Kukatla 2532*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_pcie_cfg = { 2533*010f4d24SOdelu Kukatla .config = &nord_pcie_cfg_regmap_config, 2534*010f4d24SOdelu Kukatla .nodes = pcie_cfg_nodes, 2535*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(pcie_cfg_nodes), 2536*010f4d24SOdelu Kukatla }; 2537*010f4d24SOdelu Kukatla 2538*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const pcie_data_inbound_bcms[] = { 2539*010f4d24SOdelu Kukatla &bcm_sn1, 2540*010f4d24SOdelu Kukatla }; 2541*010f4d24SOdelu Kukatla 2542*010f4d24SOdelu Kukatla static struct qcom_icc_node * const pcie_data_inbound_nodes[] = { 2543*010f4d24SOdelu Kukatla [MASTER_PCIE_DMA_0] = &qxm_pcie_dma_0, 2544*010f4d24SOdelu Kukatla [MASTER_PCIE_DMA_1] = &qxm_pcie_dma_1, 2545*010f4d24SOdelu Kukatla [MASTER_PCIE_DMA_2] = &qxm_pcie_dma_2, 2546*010f4d24SOdelu Kukatla [MASTER_PCIE_0] = &xm_pcie_0, 2547*010f4d24SOdelu Kukatla [MASTER_PCIE_1] = &xm_pcie_1, 2548*010f4d24SOdelu Kukatla [MASTER_PCIE_2] = &xm_pcie_2, 2549*010f4d24SOdelu Kukatla [MASTER_PCIE_3] = &xm_pcie_3, 2550*010f4d24SOdelu Kukatla [SLAVE_PCIE_HSCNOC] = &qns_pcie_hscnoc, 2551*010f4d24SOdelu Kukatla [SLAVE_PCIE_OBNOC_DMA] = &qns_pcie_obnoc_dma, 2552*010f4d24SOdelu Kukatla }; 2553*010f4d24SOdelu Kukatla 2554*010f4d24SOdelu Kukatla static const struct regmap_config nord_pcie_data_inbound_regmap_config = { 2555*010f4d24SOdelu Kukatla .reg_bits = 32, 2556*010f4d24SOdelu Kukatla .reg_stride = 4, 2557*010f4d24SOdelu Kukatla .val_bits = 32, 2558*010f4d24SOdelu Kukatla .max_register = 0x4b080, 2559*010f4d24SOdelu Kukatla .fast_io = true, 2560*010f4d24SOdelu Kukatla }; 2561*010f4d24SOdelu Kukatla 2562*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_pcie_data_inbound = { 2563*010f4d24SOdelu Kukatla .config = &nord_pcie_data_inbound_regmap_config, 2564*010f4d24SOdelu Kukatla .nodes = pcie_data_inbound_nodes, 2565*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(pcie_data_inbound_nodes), 2566*010f4d24SOdelu Kukatla .bcms = pcie_data_inbound_bcms, 2567*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(pcie_data_inbound_bcms), 2568*010f4d24SOdelu Kukatla }; 2569*010f4d24SOdelu Kukatla 2570*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const pcie_data_outbound_bcms[] = { 2571*010f4d24SOdelu Kukatla &bcm_cn0, 2572*010f4d24SOdelu Kukatla }; 2573*010f4d24SOdelu Kukatla 2574*010f4d24SOdelu Kukatla static struct qcom_icc_node * const pcie_data_outbound_nodes[] = { 2575*010f4d24SOdelu Kukatla [MASTER_CNOC_PCIE_DMA] = &qnm_cnoc_pcie_dma, 2576*010f4d24SOdelu Kukatla [MASTER_ANOC_PCIE_HSCNOC] = &qnm_hscnoc_pcie, 2577*010f4d24SOdelu Kukatla [MASTER_PCIE_IBNOC_DMA] = &qnm_pcie_ibnoc_dma, 2578*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA_0] = &qxs_pcie_dma_0, 2579*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA_1] = &qxs_pcie_dma_1, 2580*010f4d24SOdelu Kukatla [SLAVE_PCIE_DMA_2] = &qxs_pcie_dma_2, 2581*010f4d24SOdelu Kukatla [SLAVE_PCIE_0] = &xs_pcie_0, 2582*010f4d24SOdelu Kukatla [SLAVE_PCIE_1] = &xs_pcie_1, 2583*010f4d24SOdelu Kukatla [SLAVE_PCIE_2] = &xs_pcie_2, 2584*010f4d24SOdelu Kukatla [SLAVE_PCIE_3] = &xs_pcie_3, 2585*010f4d24SOdelu Kukatla }; 2586*010f4d24SOdelu Kukatla 2587*010f4d24SOdelu Kukatla static const struct regmap_config nord_pcie_data_outbound_regmap_config = { 2588*010f4d24SOdelu Kukatla .reg_bits = 32, 2589*010f4d24SOdelu Kukatla .reg_stride = 4, 2590*010f4d24SOdelu Kukatla .val_bits = 32, 2591*010f4d24SOdelu Kukatla .max_register = 0x17000, 2592*010f4d24SOdelu Kukatla .fast_io = true, 2593*010f4d24SOdelu Kukatla }; 2594*010f4d24SOdelu Kukatla 2595*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_pcie_data_outbound = { 2596*010f4d24SOdelu Kukatla .config = &nord_pcie_data_outbound_regmap_config, 2597*010f4d24SOdelu Kukatla .nodes = pcie_data_outbound_nodes, 2598*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(pcie_data_outbound_nodes), 2599*010f4d24SOdelu Kukatla .bcms = pcie_data_outbound_bcms, 2600*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(pcie_data_outbound_bcms), 2601*010f4d24SOdelu Kukatla }; 2602*010f4d24SOdelu Kukatla 2603*010f4d24SOdelu Kukatla static struct qcom_icc_bcm * const system_noc_bcms[] = { 2604*010f4d24SOdelu Kukatla &bcm_sn0, 2605*010f4d24SOdelu Kukatla &bcm_sn1, 2606*010f4d24SOdelu Kukatla &bcm_sn2, 2607*010f4d24SOdelu Kukatla &bcm_sn3, 2608*010f4d24SOdelu Kukatla }; 2609*010f4d24SOdelu Kukatla 2610*010f4d24SOdelu Kukatla static struct qcom_icc_node * const system_noc_nodes[] = { 2611*010f4d24SOdelu Kukatla [MASTER_A1NOC_SNOC] = &qnm_aggre1_noc, 2612*010f4d24SOdelu Kukatla [MASTER_A2NOC_SNOC] = &qnm_aggre2_noc, 2613*010f4d24SOdelu Kukatla [MASTER_CNOC_SNOC] = &qnm_cnoc_data, 2614*010f4d24SOdelu Kukatla [MASTER_NSINOC_SNOC] = &qnm_nsi_noc, 2615*010f4d24SOdelu Kukatla [MASTER_SAFE_DMA] = &qnm_safe_dma, 2616*010f4d24SOdelu Kukatla [SLAVE_SNOC_HSCNOC_SF] = &qns_hscnoc_sf, 2617*010f4d24SOdelu Kukatla }; 2618*010f4d24SOdelu Kukatla 2619*010f4d24SOdelu Kukatla static const struct regmap_config nord_system_noc_regmap_config = { 2620*010f4d24SOdelu Kukatla .reg_bits = 32, 2621*010f4d24SOdelu Kukatla .reg_stride = 4, 2622*010f4d24SOdelu Kukatla .val_bits = 32, 2623*010f4d24SOdelu Kukatla .max_register = 0x1c080, 2624*010f4d24SOdelu Kukatla .fast_io = true, 2625*010f4d24SOdelu Kukatla }; 2626*010f4d24SOdelu Kukatla 2627*010f4d24SOdelu Kukatla static const struct qcom_icc_desc nord_system_noc = { 2628*010f4d24SOdelu Kukatla .config = &nord_system_noc_regmap_config, 2629*010f4d24SOdelu Kukatla .nodes = system_noc_nodes, 2630*010f4d24SOdelu Kukatla .num_nodes = ARRAY_SIZE(system_noc_nodes), 2631*010f4d24SOdelu Kukatla .bcms = system_noc_bcms, 2632*010f4d24SOdelu Kukatla .num_bcms = ARRAY_SIZE(system_noc_bcms), 2633*010f4d24SOdelu Kukatla }; 2634*010f4d24SOdelu Kukatla 2635*010f4d24SOdelu Kukatla static const struct of_device_id qnoc_of_match[] = { 2636*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-aggre1-noc", .data = &nord_aggre1_noc }, 2637*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-aggre1-noc-tile", .data = &nord_aggre1_noc_tile }, 2638*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-aggre2-noc", .data = &nord_aggre2_noc }, 2639*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-aggre2-noc-tile", .data = &nord_aggre2_noc_tile }, 2640*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-clk-virt", .data = &nord_clk_virt }, 2641*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-cnoc-cfg", .data = &nord_cnoc_cfg }, 2642*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-cnoc-main", .data = &nord_cnoc_main }, 2643*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-hpass-ag-noc", .data = &nord_hpass_ag_noc }, 2644*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-hscnoc", .data = &nord_hscnoc }, 2645*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-mc-virt", .data = &nord_mc_virt }, 2646*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-mmss-noc", .data = &nord_mmss_noc }, 2647*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-nsp-data-noc-0", .data = &nord_nsp_data_noc_0 }, 2648*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-nsp-data-noc-1", .data = &nord_nsp_data_noc_1 }, 2649*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-nsp-data-noc-2", .data = &nord_nsp_data_noc_2 }, 2650*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-nsp-data-noc-3", .data = &nord_nsp_data_noc_3 }, 2651*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-pcie-cfg", .data = &nord_pcie_cfg }, 2652*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-pcie-data-inbound", .data = &nord_pcie_data_inbound }, 2653*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-pcie-data-outbound", .data = &nord_pcie_data_outbound }, 2654*010f4d24SOdelu Kukatla { .compatible = "qcom,nord-system-noc", .data = &nord_system_noc }, 2655*010f4d24SOdelu Kukatla { } 2656*010f4d24SOdelu Kukatla }; 2657*010f4d24SOdelu Kukatla MODULE_DEVICE_TABLE(of, qnoc_of_match); 2658*010f4d24SOdelu Kukatla 2659*010f4d24SOdelu Kukatla static struct platform_driver qnoc_driver = { 2660*010f4d24SOdelu Kukatla .probe = qcom_icc_rpmh_probe, 2661*010f4d24SOdelu Kukatla .remove = qcom_icc_rpmh_remove, 2662*010f4d24SOdelu Kukatla .driver = { 2663*010f4d24SOdelu Kukatla .name = "qnoc-nord", 2664*010f4d24SOdelu Kukatla .of_match_table = qnoc_of_match, 2665*010f4d24SOdelu Kukatla .sync_state = icc_sync_state, 2666*010f4d24SOdelu Kukatla }, 2667*010f4d24SOdelu Kukatla }; 2668*010f4d24SOdelu Kukatla 2669*010f4d24SOdelu Kukatla static int __init qnoc_driver_init(void) 2670*010f4d24SOdelu Kukatla { 2671*010f4d24SOdelu Kukatla return platform_driver_register(&qnoc_driver); 2672*010f4d24SOdelu Kukatla } 2673*010f4d24SOdelu Kukatla core_initcall(qnoc_driver_init); 2674*010f4d24SOdelu Kukatla 2675*010f4d24SOdelu Kukatla static void __exit qnoc_driver_exit(void) 2676*010f4d24SOdelu Kukatla { 2677*010f4d24SOdelu Kukatla platform_driver_unregister(&qnoc_driver); 2678*010f4d24SOdelu Kukatla } 2679*010f4d24SOdelu Kukatla module_exit(qnoc_driver_exit); 2680*010f4d24SOdelu Kukatla 2681*010f4d24SOdelu Kukatla MODULE_DESCRIPTION("Qualcomm Nord NoC driver"); 2682*010f4d24SOdelu Kukatla MODULE_LICENSE("GPL"); 2683