162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <linux/device.h> 862306a36Sopenharmony_ci#include <linux/interconnect.h> 962306a36Sopenharmony_ci#include <linux/interconnect-provider.h> 1062306a36Sopenharmony_ci#include <linux/mod_devicetable.h> 1162306a36Sopenharmony_ci#include <linux/module.h> 1262306a36Sopenharmony_ci#include <linux/platform_device.h> 1362306a36Sopenharmony_ci#include <dt-bindings/interconnect/qcom,qdu1000-rpmh.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include "bcm-voter.h" 1662306a36Sopenharmony_ci#include "icc-common.h" 1762306a36Sopenharmony_ci#include "icc-rpmh.h" 1862306a36Sopenharmony_ci#include "qdu1000.h" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistatic struct qcom_icc_node qup0_core_master = { 2162306a36Sopenharmony_ci .name = "qup0_core_master", 2262306a36Sopenharmony_ci .id = QDU1000_MASTER_QUP_CORE_0, 2362306a36Sopenharmony_ci .channels = 1, 2462306a36Sopenharmony_ci .buswidth = 4, 2562306a36Sopenharmony_ci .num_links = 1, 2662306a36Sopenharmony_ci .links = { QDU1000_SLAVE_QUP_CORE_0 }, 2762306a36Sopenharmony_ci}; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cistatic struct qcom_icc_node qup1_core_master = { 3062306a36Sopenharmony_ci .name = "qup1_core_master", 3162306a36Sopenharmony_ci .id = QDU1000_MASTER_QUP_CORE_1, 3262306a36Sopenharmony_ci .channels = 1, 3362306a36Sopenharmony_ci .buswidth = 4, 3462306a36Sopenharmony_ci .num_links = 1, 3562306a36Sopenharmony_ci .links = { QDU1000_SLAVE_QUP_CORE_1 }, 3662306a36Sopenharmony_ci}; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_cistatic struct qcom_icc_node alm_sys_tcu = { 3962306a36Sopenharmony_ci .name = "alm_sys_tcu", 4062306a36Sopenharmony_ci .id = QDU1000_MASTER_SYS_TCU, 4162306a36Sopenharmony_ci .channels = 1, 4262306a36Sopenharmony_ci .buswidth = 8, 4362306a36Sopenharmony_ci .num_links = 2, 4462306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC }, 4562306a36Sopenharmony_ci}; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_cistatic struct qcom_icc_node chm_apps = { 4862306a36Sopenharmony_ci .name = "chm_apps", 4962306a36Sopenharmony_ci .id = QDU1000_MASTER_APPSS_PROC, 5062306a36Sopenharmony_ci .channels = 1, 5162306a36Sopenharmony_ci .buswidth = 16, 5262306a36Sopenharmony_ci .num_links = 4, 5362306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC, 5462306a36Sopenharmony_ci QDU1000_SLAVE_GEMNOC_MODEM_CNOC, QDU1000_SLAVE_MEM_NOC_PCIE_SNOC 5562306a36Sopenharmony_ci }, 5662306a36Sopenharmony_ci}; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_ecpri_dma = { 5962306a36Sopenharmony_ci .name = "qnm_ecpri_dma", 6062306a36Sopenharmony_ci .id = QDU1000_MASTER_GEMNOC_ECPRI_DMA, 6162306a36Sopenharmony_ci .channels = 2, 6262306a36Sopenharmony_ci .buswidth = 32, 6362306a36Sopenharmony_ci .num_links = 2, 6462306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC }, 6562306a36Sopenharmony_ci}; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_cistatic struct qcom_icc_node qnm_fec_2_gemnoc = { 6862306a36Sopenharmony_ci .name = "qnm_fec_2_gemnoc", 6962306a36Sopenharmony_ci .id = QDU1000_MASTER_FEC_2_GEMNOC, 7062306a36Sopenharmony_ci .channels = 2, 7162306a36Sopenharmony_ci .buswidth = 32, 7262306a36Sopenharmony_ci .num_links = 2, 7362306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC }, 7462306a36Sopenharmony_ci}; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_pcie = { 7762306a36Sopenharmony_ci .name = "qnm_pcie", 7862306a36Sopenharmony_ci .id = QDU1000_MASTER_ANOC_PCIE_GEM_NOC, 7962306a36Sopenharmony_ci .channels = 1, 8062306a36Sopenharmony_ci .buswidth = 64, 8162306a36Sopenharmony_ci .num_links = 3, 8262306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC, 8362306a36Sopenharmony_ci QDU1000_SLAVE_GEMNOC_MODEM_CNOC 8462306a36Sopenharmony_ci }, 8562306a36Sopenharmony_ci}; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_gc = { 8862306a36Sopenharmony_ci .name = "qnm_snoc_gc", 8962306a36Sopenharmony_ci .id = QDU1000_MASTER_SNOC_GC_MEM_NOC, 9062306a36Sopenharmony_ci .channels = 1, 9162306a36Sopenharmony_ci .buswidth = 8, 9262306a36Sopenharmony_ci .num_links = 1, 9362306a36Sopenharmony_ci .links = { QDU1000_SLAVE_LLCC }, 9462306a36Sopenharmony_ci}; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_sf = { 9762306a36Sopenharmony_ci .name = "qnm_snoc_sf", 9862306a36Sopenharmony_ci .id = QDU1000_MASTER_SNOC_SF_MEM_NOC, 9962306a36Sopenharmony_ci .channels = 1, 10062306a36Sopenharmony_ci .buswidth = 16, 10162306a36Sopenharmony_ci .num_links = 4, 10262306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC, 10362306a36Sopenharmony_ci QDU1000_SLAVE_GEMNOC_MODEM_CNOC, QDU1000_SLAVE_MEM_NOC_PCIE_SNOC 10462306a36Sopenharmony_ci }, 10562306a36Sopenharmony_ci}; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_cistatic struct qcom_icc_node qxm_mdsp = { 10862306a36Sopenharmony_ci .name = "qxm_mdsp", 10962306a36Sopenharmony_ci .id = QDU1000_MASTER_MSS_PROC, 11062306a36Sopenharmony_ci .channels = 1, 11162306a36Sopenharmony_ci .buswidth = 16, 11262306a36Sopenharmony_ci .num_links = 3, 11362306a36Sopenharmony_ci .links = { QDU1000_SLAVE_GEM_NOC_CNOC, QDU1000_SLAVE_LLCC, 11462306a36Sopenharmony_ci QDU1000_SLAVE_MEM_NOC_PCIE_SNOC 11562306a36Sopenharmony_ci }, 11662306a36Sopenharmony_ci}; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_cistatic struct qcom_icc_node llcc_mc = { 11962306a36Sopenharmony_ci .name = "llcc_mc", 12062306a36Sopenharmony_ci .id = QDU1000_MASTER_LLCC, 12162306a36Sopenharmony_ci .channels = 8, 12262306a36Sopenharmony_ci .buswidth = 4, 12362306a36Sopenharmony_ci .num_links = 1, 12462306a36Sopenharmony_ci .links = { QDU1000_SLAVE_EBI1 }, 12562306a36Sopenharmony_ci}; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_cistatic struct qcom_icc_node qhm_gic = { 12862306a36Sopenharmony_ci .name = "qhm_gic", 12962306a36Sopenharmony_ci .id = QDU1000_MASTER_GIC_AHB, 13062306a36Sopenharmony_ci .channels = 1, 13162306a36Sopenharmony_ci .buswidth = 4, 13262306a36Sopenharmony_ci .num_links = 1, 13362306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_SF }, 13462306a36Sopenharmony_ci}; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qdss_bam = { 13762306a36Sopenharmony_ci .name = "qhm_qdss_bam", 13862306a36Sopenharmony_ci .id = QDU1000_MASTER_QDSS_BAM, 13962306a36Sopenharmony_ci .channels = 1, 14062306a36Sopenharmony_ci .buswidth = 4, 14162306a36Sopenharmony_ci .num_links = 1, 14262306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_SF }, 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qpic = { 14662306a36Sopenharmony_ci .name = "qhm_qpic", 14762306a36Sopenharmony_ci .id = QDU1000_MASTER_QPIC, 14862306a36Sopenharmony_ci .channels = 1, 14962306a36Sopenharmony_ci .buswidth = 4, 15062306a36Sopenharmony_ci .num_links = 1, 15162306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 15262306a36Sopenharmony_ci}; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qspi = { 15562306a36Sopenharmony_ci .name = "qhm_qspi", 15662306a36Sopenharmony_ci .id = QDU1000_MASTER_QSPI_0, 15762306a36Sopenharmony_ci .channels = 1, 15862306a36Sopenharmony_ci .buswidth = 4, 15962306a36Sopenharmony_ci .num_links = 1, 16062306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 16162306a36Sopenharmony_ci}; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup0 = { 16462306a36Sopenharmony_ci .name = "qhm_qup0", 16562306a36Sopenharmony_ci .id = QDU1000_MASTER_QUP_0, 16662306a36Sopenharmony_ci .channels = 1, 16762306a36Sopenharmony_ci .buswidth = 4, 16862306a36Sopenharmony_ci .num_links = 1, 16962306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 17062306a36Sopenharmony_ci}; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup1 = { 17362306a36Sopenharmony_ci .name = "qhm_qup1", 17462306a36Sopenharmony_ci .id = QDU1000_MASTER_QUP_1, 17562306a36Sopenharmony_ci .channels = 1, 17662306a36Sopenharmony_ci .buswidth = 4, 17762306a36Sopenharmony_ci .num_links = 1, 17862306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 17962306a36Sopenharmony_ci}; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_cistatic struct qcom_icc_node qhm_system_noc_cfg = { 18262306a36Sopenharmony_ci .name = "qhm_system_noc_cfg", 18362306a36Sopenharmony_ci .id = QDU1000_MASTER_SNOC_CFG, 18462306a36Sopenharmony_ci .channels = 1, 18562306a36Sopenharmony_ci .buswidth = 4, 18662306a36Sopenharmony_ci .num_links = 1, 18762306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SERVICE_SNOC }, 18862306a36Sopenharmony_ci}; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_cistatic struct qcom_icc_node qnm_aggre_noc = { 19162306a36Sopenharmony_ci .name = "qnm_aggre_noc", 19262306a36Sopenharmony_ci .id = QDU1000_MASTER_ANOC_SNOC, 19362306a36Sopenharmony_ci .channels = 1, 19462306a36Sopenharmony_ci .buswidth = 8, 19562306a36Sopenharmony_ci .num_links = 1, 19662306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_SF }, 19762306a36Sopenharmony_ci}; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_aggre_noc_gsi = { 20062306a36Sopenharmony_ci .name = "qnm_aggre_noc_gsi", 20162306a36Sopenharmony_ci .id = QDU1000_MASTER_ANOC_GSI, 20262306a36Sopenharmony_ci .channels = 1, 20362306a36Sopenharmony_ci .buswidth = 8, 20462306a36Sopenharmony_ci .num_links = 1, 20562306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_GC }, 20662306a36Sopenharmony_ci}; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gemnoc_cnoc = { 20962306a36Sopenharmony_ci .name = "qnm_gemnoc_cnoc", 21062306a36Sopenharmony_ci .id = QDU1000_MASTER_GEM_NOC_CNOC, 21162306a36Sopenharmony_ci .channels = 1, 21262306a36Sopenharmony_ci .buswidth = 16, 21362306a36Sopenharmony_ci .num_links = 36, 21462306a36Sopenharmony_ci .links = { QDU1000_SLAVE_AHB2PHY_SOUTH, QDU1000_SLAVE_AHB2PHY_NORTH, 21562306a36Sopenharmony_ci QDU1000_SLAVE_AHB2PHY_EAST, QDU1000_SLAVE_AOSS, 21662306a36Sopenharmony_ci QDU1000_SLAVE_CLK_CTL, QDU1000_SLAVE_RBCPR_CX_CFG, 21762306a36Sopenharmony_ci QDU1000_SLAVE_RBCPR_MX_CFG, QDU1000_SLAVE_CRYPTO_0_CFG, 21862306a36Sopenharmony_ci QDU1000_SLAVE_ECPRI_CFG, QDU1000_SLAVE_IMEM_CFG, 21962306a36Sopenharmony_ci QDU1000_SLAVE_IPC_ROUTER_CFG, QDU1000_SLAVE_CNOC_MSS, 22062306a36Sopenharmony_ci QDU1000_SLAVE_PCIE_CFG, QDU1000_SLAVE_PDM, 22162306a36Sopenharmony_ci QDU1000_SLAVE_PIMEM_CFG, QDU1000_SLAVE_PRNG, 22262306a36Sopenharmony_ci QDU1000_SLAVE_QDSS_CFG, QDU1000_SLAVE_QPIC, 22362306a36Sopenharmony_ci QDU1000_SLAVE_QSPI_0, QDU1000_SLAVE_QUP_0, 22462306a36Sopenharmony_ci QDU1000_SLAVE_QUP_1, QDU1000_SLAVE_SDCC_2, 22562306a36Sopenharmony_ci QDU1000_SLAVE_SMBUS_CFG, QDU1000_SLAVE_SNOC_CFG, 22662306a36Sopenharmony_ci QDU1000_SLAVE_TCSR, QDU1000_SLAVE_TLMM, 22762306a36Sopenharmony_ci QDU1000_SLAVE_TME_CFG, QDU1000_SLAVE_TSC_CFG, 22862306a36Sopenharmony_ci QDU1000_SLAVE_USB3_0, QDU1000_SLAVE_VSENSE_CTRL_CFG, 22962306a36Sopenharmony_ci QDU1000_SLAVE_DDRSS_CFG, QDU1000_SLAVE_IMEM, 23062306a36Sopenharmony_ci QDU1000_SLAVE_PIMEM, QDU1000_SLAVE_ETHERNET_SS, 23162306a36Sopenharmony_ci QDU1000_SLAVE_QDSS_STM, QDU1000_SLAVE_TCU 23262306a36Sopenharmony_ci }, 23362306a36Sopenharmony_ci}; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gemnoc_modem_slave = { 23662306a36Sopenharmony_ci .name = "qnm_gemnoc_modem_slave", 23762306a36Sopenharmony_ci .id = QDU1000_MASTER_GEMNOC_MODEM_CNOC, 23862306a36Sopenharmony_ci .channels = 1, 23962306a36Sopenharmony_ci .buswidth = 16, 24062306a36Sopenharmony_ci .num_links = 1, 24162306a36Sopenharmony_ci .links = { QDU1000_SLAVE_MODEM_OFFLINE }, 24262306a36Sopenharmony_ci}; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gemnoc_pcie = { 24562306a36Sopenharmony_ci .name = "qnm_gemnoc_pcie", 24662306a36Sopenharmony_ci .id = QDU1000_MASTER_GEM_NOC_PCIE_SNOC, 24762306a36Sopenharmony_ci .channels = 1, 24862306a36Sopenharmony_ci .buswidth = 16, 24962306a36Sopenharmony_ci .num_links = 1, 25062306a36Sopenharmony_ci .links = { QDU1000_SLAVE_PCIE_0 }, 25162306a36Sopenharmony_ci}; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_cistatic struct qcom_icc_node qxm_crypto = { 25462306a36Sopenharmony_ci .name = "qxm_crypto", 25562306a36Sopenharmony_ci .id = QDU1000_MASTER_CRYPTO, 25662306a36Sopenharmony_ci .channels = 1, 25762306a36Sopenharmony_ci .buswidth = 8, 25862306a36Sopenharmony_ci .num_links = 1, 25962306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 26062306a36Sopenharmony_ci}; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_cistatic struct qcom_icc_node qxm_ecpri_gsi = { 26362306a36Sopenharmony_ci .name = "qxm_ecpri_gsi", 26462306a36Sopenharmony_ci .id = QDU1000_MASTER_ECPRI_GSI, 26562306a36Sopenharmony_ci .channels = 1, 26662306a36Sopenharmony_ci .buswidth = 8, 26762306a36Sopenharmony_ci .num_links = 2, 26862306a36Sopenharmony_ci .links = { QDU1000_SLAVE_ANOC_SNOC_GSI, QDU1000_SLAVE_PCIE_0 }, 26962306a36Sopenharmony_ci}; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_cistatic struct qcom_icc_node qxm_pimem = { 27262306a36Sopenharmony_ci .name = "qxm_pimem", 27362306a36Sopenharmony_ci .id = QDU1000_MASTER_PIMEM, 27462306a36Sopenharmony_ci .channels = 1, 27562306a36Sopenharmony_ci .buswidth = 8, 27662306a36Sopenharmony_ci .num_links = 1, 27762306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_GC }, 27862306a36Sopenharmony_ci}; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_cistatic struct qcom_icc_node xm_ecpri_dma = { 28162306a36Sopenharmony_ci .name = "xm_ecpri_dma", 28262306a36Sopenharmony_ci .id = QDU1000_MASTER_SNOC_ECPRI_DMA, 28362306a36Sopenharmony_ci .channels = 2, 28462306a36Sopenharmony_ci .buswidth = 32, 28562306a36Sopenharmony_ci .num_links = 2, 28662306a36Sopenharmony_ci .links = { QDU1000_SLAVE_ECPRI_GEMNOC, QDU1000_SLAVE_PCIE_0 }, 28762306a36Sopenharmony_ci}; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_cistatic struct qcom_icc_node xm_gic = { 29062306a36Sopenharmony_ci .name = "xm_gic", 29162306a36Sopenharmony_ci .id = QDU1000_MASTER_GIC, 29262306a36Sopenharmony_ci .channels = 1, 29362306a36Sopenharmony_ci .buswidth = 8, 29462306a36Sopenharmony_ci .num_links = 1, 29562306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_GC }, 29662306a36Sopenharmony_ci}; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_cistatic struct qcom_icc_node xm_pcie = { 29962306a36Sopenharmony_ci .name = "xm_pcie", 30062306a36Sopenharmony_ci .id = QDU1000_MASTER_PCIE, 30162306a36Sopenharmony_ci .channels = 1, 30262306a36Sopenharmony_ci .buswidth = 64, 30362306a36Sopenharmony_ci .num_links = 1, 30462306a36Sopenharmony_ci .links = { QDU1000_SLAVE_ANOC_PCIE_GEM_NOC }, 30562306a36Sopenharmony_ci}; 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_cistatic struct qcom_icc_node xm_qdss_etr0 = { 30862306a36Sopenharmony_ci .name = "xm_qdss_etr0", 30962306a36Sopenharmony_ci .id = QDU1000_MASTER_QDSS_ETR, 31062306a36Sopenharmony_ci .channels = 1, 31162306a36Sopenharmony_ci .buswidth = 8, 31262306a36Sopenharmony_ci .num_links = 1, 31362306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_SF }, 31462306a36Sopenharmony_ci}; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_cistatic struct qcom_icc_node xm_qdss_etr1 = { 31762306a36Sopenharmony_ci .name = "xm_qdss_etr1", 31862306a36Sopenharmony_ci .id = QDU1000_MASTER_QDSS_ETR_1, 31962306a36Sopenharmony_ci .channels = 1, 32062306a36Sopenharmony_ci .buswidth = 8, 32162306a36Sopenharmony_ci .num_links = 1, 32262306a36Sopenharmony_ci .links = { QDU1000_SLAVE_SNOC_GEM_NOC_SF }, 32362306a36Sopenharmony_ci}; 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_cistatic struct qcom_icc_node xm_sdc = { 32662306a36Sopenharmony_ci .name = "xm_sdc", 32762306a36Sopenharmony_ci .id = QDU1000_MASTER_SDCC_1, 32862306a36Sopenharmony_ci .channels = 1, 32962306a36Sopenharmony_ci .buswidth = 8, 33062306a36Sopenharmony_ci .num_links = 1, 33162306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 33262306a36Sopenharmony_ci}; 33362306a36Sopenharmony_ci 33462306a36Sopenharmony_cistatic struct qcom_icc_node xm_usb3 = { 33562306a36Sopenharmony_ci .name = "xm_usb3", 33662306a36Sopenharmony_ci .id = QDU1000_MASTER_USB3, 33762306a36Sopenharmony_ci .channels = 1, 33862306a36Sopenharmony_ci .buswidth = 8, 33962306a36Sopenharmony_ci .num_links = 1, 34062306a36Sopenharmony_ci .links = { QDU1000_SLAVE_A1NOC_SNOC }, 34162306a36Sopenharmony_ci}; 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_cistatic struct qcom_icc_node qup0_core_slave = { 34462306a36Sopenharmony_ci .name = "qup0_core_slave", 34562306a36Sopenharmony_ci .id = QDU1000_SLAVE_QUP_CORE_0, 34662306a36Sopenharmony_ci .channels = 1, 34762306a36Sopenharmony_ci .buswidth = 4, 34862306a36Sopenharmony_ci .num_links = 0, 34962306a36Sopenharmony_ci}; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_cistatic struct qcom_icc_node qup1_core_slave = { 35262306a36Sopenharmony_ci .name = "qup1_core_slave", 35362306a36Sopenharmony_ci .id = QDU1000_SLAVE_QUP_CORE_1, 35462306a36Sopenharmony_ci .channels = 1, 35562306a36Sopenharmony_ci .buswidth = 4, 35662306a36Sopenharmony_ci .num_links = 0, 35762306a36Sopenharmony_ci}; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_cistatic struct qcom_icc_node qns_gem_noc_cnoc = { 36062306a36Sopenharmony_ci .name = "qns_gem_noc_cnoc", 36162306a36Sopenharmony_ci .id = QDU1000_SLAVE_GEM_NOC_CNOC, 36262306a36Sopenharmony_ci .channels = 1, 36362306a36Sopenharmony_ci .buswidth = 16, 36462306a36Sopenharmony_ci .num_links = 1, 36562306a36Sopenharmony_ci .links = { QDU1000_MASTER_GEM_NOC_CNOC }, 36662306a36Sopenharmony_ci}; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_cistatic struct qcom_icc_node qns_llcc = { 36962306a36Sopenharmony_ci .name = "qns_llcc", 37062306a36Sopenharmony_ci .id = QDU1000_SLAVE_LLCC, 37162306a36Sopenharmony_ci .channels = 8, 37262306a36Sopenharmony_ci .buswidth = 16, 37362306a36Sopenharmony_ci .num_links = 1, 37462306a36Sopenharmony_ci .links = { QDU1000_MASTER_LLCC }, 37562306a36Sopenharmony_ci}; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_cistatic struct qcom_icc_node qns_modem_slave = { 37862306a36Sopenharmony_ci .name = "qns_modem_slave", 37962306a36Sopenharmony_ci .id = QDU1000_SLAVE_GEMNOC_MODEM_CNOC, 38062306a36Sopenharmony_ci .channels = 1, 38162306a36Sopenharmony_ci .buswidth = 16, 38262306a36Sopenharmony_ci .num_links = 1, 38362306a36Sopenharmony_ci .links = { QDU1000_MASTER_GEMNOC_MODEM_CNOC }, 38462306a36Sopenharmony_ci}; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_cistatic struct qcom_icc_node qns_pcie = { 38762306a36Sopenharmony_ci .name = "qns_pcie", 38862306a36Sopenharmony_ci .id = QDU1000_SLAVE_MEM_NOC_PCIE_SNOC, 38962306a36Sopenharmony_ci .channels = 1, 39062306a36Sopenharmony_ci .buswidth = 16, 39162306a36Sopenharmony_ci .num_links = 1, 39262306a36Sopenharmony_ci .links = { QDU1000_MASTER_GEM_NOC_PCIE_SNOC }, 39362306a36Sopenharmony_ci}; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_cistatic struct qcom_icc_node ebi = { 39662306a36Sopenharmony_ci .name = "ebi", 39762306a36Sopenharmony_ci .id = QDU1000_SLAVE_EBI1, 39862306a36Sopenharmony_ci .channels = 8, 39962306a36Sopenharmony_ci .buswidth = 4, 40062306a36Sopenharmony_ci .num_links = 0, 40162306a36Sopenharmony_ci}; 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ahb2phy0_south = { 40462306a36Sopenharmony_ci .name = "qhs_ahb2phy0_south", 40562306a36Sopenharmony_ci .id = QDU1000_SLAVE_AHB2PHY_SOUTH, 40662306a36Sopenharmony_ci .channels = 1, 40762306a36Sopenharmony_ci .buswidth = 4, 40862306a36Sopenharmony_ci .num_links = 0, 40962306a36Sopenharmony_ci}; 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ahb2phy1_north = { 41262306a36Sopenharmony_ci .name = "qhs_ahb2phy1_north", 41362306a36Sopenharmony_ci .id = QDU1000_SLAVE_AHB2PHY_NORTH, 41462306a36Sopenharmony_ci .channels = 1, 41562306a36Sopenharmony_ci .buswidth = 4, 41662306a36Sopenharmony_ci .num_links = 0, 41762306a36Sopenharmony_ci}; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ahb2phy2_east = { 42062306a36Sopenharmony_ci .name = "qhs_ahb2phy2_east", 42162306a36Sopenharmony_ci .id = QDU1000_SLAVE_AHB2PHY_EAST, 42262306a36Sopenharmony_ci .channels = 1, 42362306a36Sopenharmony_ci .buswidth = 4, 42462306a36Sopenharmony_ci .num_links = 0, 42562306a36Sopenharmony_ci}; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_aoss = { 42862306a36Sopenharmony_ci .name = "qhs_aoss", 42962306a36Sopenharmony_ci .id = QDU1000_SLAVE_AOSS, 43062306a36Sopenharmony_ci .channels = 1, 43162306a36Sopenharmony_ci .buswidth = 4, 43262306a36Sopenharmony_ci .num_links = 0, 43362306a36Sopenharmony_ci}; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_clk_ctl = { 43662306a36Sopenharmony_ci .name = "qhs_clk_ctl", 43762306a36Sopenharmony_ci .id = QDU1000_SLAVE_CLK_CTL, 43862306a36Sopenharmony_ci .channels = 1, 43962306a36Sopenharmony_ci .buswidth = 4, 44062306a36Sopenharmony_ci .num_links = 0, 44162306a36Sopenharmony_ci}; 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_cx = { 44462306a36Sopenharmony_ci .name = "qhs_cpr_cx", 44562306a36Sopenharmony_ci .id = QDU1000_SLAVE_RBCPR_CX_CFG, 44662306a36Sopenharmony_ci .channels = 1, 44762306a36Sopenharmony_ci .buswidth = 4, 44862306a36Sopenharmony_ci .num_links = 0, 44962306a36Sopenharmony_ci}; 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_mx = { 45262306a36Sopenharmony_ci .name = "qhs_cpr_mx", 45362306a36Sopenharmony_ci .id = QDU1000_SLAVE_RBCPR_MX_CFG, 45462306a36Sopenharmony_ci .channels = 1, 45562306a36Sopenharmony_ci .buswidth = 4, 45662306a36Sopenharmony_ci .num_links = 0, 45762306a36Sopenharmony_ci}; 45862306a36Sopenharmony_ci 45962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_crypto_cfg = { 46062306a36Sopenharmony_ci .name = "qhs_crypto_cfg", 46162306a36Sopenharmony_ci .id = QDU1000_SLAVE_CRYPTO_0_CFG, 46262306a36Sopenharmony_ci .channels = 1, 46362306a36Sopenharmony_ci .buswidth = 4, 46462306a36Sopenharmony_ci .num_links = 0, 46562306a36Sopenharmony_ci}; 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ecpri_cfg = { 46862306a36Sopenharmony_ci .name = "qhs_ecpri_cfg", 46962306a36Sopenharmony_ci .id = QDU1000_SLAVE_ECPRI_CFG, 47062306a36Sopenharmony_ci .channels = 1, 47162306a36Sopenharmony_ci .buswidth = 4, 47262306a36Sopenharmony_ci .num_links = 0, 47362306a36Sopenharmony_ci}; 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_imem_cfg = { 47662306a36Sopenharmony_ci .name = "qhs_imem_cfg", 47762306a36Sopenharmony_ci .id = QDU1000_SLAVE_IMEM_CFG, 47862306a36Sopenharmony_ci .channels = 1, 47962306a36Sopenharmony_ci .buswidth = 4, 48062306a36Sopenharmony_ci .num_links = 0, 48162306a36Sopenharmony_ci}; 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ipc_router = { 48462306a36Sopenharmony_ci .name = "qhs_ipc_router", 48562306a36Sopenharmony_ci .id = QDU1000_SLAVE_IPC_ROUTER_CFG, 48662306a36Sopenharmony_ci .channels = 1, 48762306a36Sopenharmony_ci .buswidth = 4, 48862306a36Sopenharmony_ci .num_links = 0, 48962306a36Sopenharmony_ci}; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_mss_cfg = { 49262306a36Sopenharmony_ci .name = "qhs_mss_cfg", 49362306a36Sopenharmony_ci .id = QDU1000_SLAVE_CNOC_MSS, 49462306a36Sopenharmony_ci .channels = 1, 49562306a36Sopenharmony_ci .buswidth = 4, 49662306a36Sopenharmony_ci .num_links = 0, 49762306a36Sopenharmony_ci}; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pcie_cfg = { 50062306a36Sopenharmony_ci .name = "qhs_pcie_cfg", 50162306a36Sopenharmony_ci .id = QDU1000_SLAVE_PCIE_CFG, 50262306a36Sopenharmony_ci .channels = 1, 50362306a36Sopenharmony_ci .buswidth = 4, 50462306a36Sopenharmony_ci .num_links = 0, 50562306a36Sopenharmony_ci}; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pdm = { 50862306a36Sopenharmony_ci .name = "qhs_pdm", 50962306a36Sopenharmony_ci .id = QDU1000_SLAVE_PDM, 51062306a36Sopenharmony_ci .channels = 1, 51162306a36Sopenharmony_ci .buswidth = 4, 51262306a36Sopenharmony_ci .num_links = 0, 51362306a36Sopenharmony_ci}; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pimem_cfg = { 51662306a36Sopenharmony_ci .name = "qhs_pimem_cfg", 51762306a36Sopenharmony_ci .id = QDU1000_SLAVE_PIMEM_CFG, 51862306a36Sopenharmony_ci .channels = 1, 51962306a36Sopenharmony_ci .buswidth = 4, 52062306a36Sopenharmony_ci .num_links = 0, 52162306a36Sopenharmony_ci}; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_prng = { 52462306a36Sopenharmony_ci .name = "qhs_prng", 52562306a36Sopenharmony_ci .id = QDU1000_SLAVE_PRNG, 52662306a36Sopenharmony_ci .channels = 1, 52762306a36Sopenharmony_ci .buswidth = 4, 52862306a36Sopenharmony_ci .num_links = 0, 52962306a36Sopenharmony_ci}; 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qdss_cfg = { 53262306a36Sopenharmony_ci .name = "qhs_qdss_cfg", 53362306a36Sopenharmony_ci .id = QDU1000_SLAVE_QDSS_CFG, 53462306a36Sopenharmony_ci .channels = 1, 53562306a36Sopenharmony_ci .buswidth = 4, 53662306a36Sopenharmony_ci .num_links = 0, 53762306a36Sopenharmony_ci}; 53862306a36Sopenharmony_ci 53962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qpic = { 54062306a36Sopenharmony_ci .name = "qhs_qpic", 54162306a36Sopenharmony_ci .id = QDU1000_SLAVE_QPIC, 54262306a36Sopenharmony_ci .channels = 1, 54362306a36Sopenharmony_ci .buswidth = 4, 54462306a36Sopenharmony_ci .num_links = 0, 54562306a36Sopenharmony_ci}; 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qspi = { 54862306a36Sopenharmony_ci .name = "qhs_qspi", 54962306a36Sopenharmony_ci .id = QDU1000_SLAVE_QSPI_0, 55062306a36Sopenharmony_ci .channels = 1, 55162306a36Sopenharmony_ci .buswidth = 4, 55262306a36Sopenharmony_ci .num_links = 0, 55362306a36Sopenharmony_ci}; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qup0 = { 55662306a36Sopenharmony_ci .name = "qhs_qup0", 55762306a36Sopenharmony_ci .id = QDU1000_SLAVE_QUP_0, 55862306a36Sopenharmony_ci .channels = 1, 55962306a36Sopenharmony_ci .buswidth = 4, 56062306a36Sopenharmony_ci .num_links = 0, 56162306a36Sopenharmony_ci}; 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qup1 = { 56462306a36Sopenharmony_ci .name = "qhs_qup1", 56562306a36Sopenharmony_ci .id = QDU1000_SLAVE_QUP_1, 56662306a36Sopenharmony_ci .channels = 1, 56762306a36Sopenharmony_ci .buswidth = 4, 56862306a36Sopenharmony_ci .num_links = 0, 56962306a36Sopenharmony_ci}; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_sdc2 = { 57262306a36Sopenharmony_ci .name = "qhs_sdc2", 57362306a36Sopenharmony_ci .id = QDU1000_SLAVE_SDCC_2, 57462306a36Sopenharmony_ci .channels = 1, 57562306a36Sopenharmony_ci .buswidth = 4, 57662306a36Sopenharmony_ci .num_links = 0, 57762306a36Sopenharmony_ci}; 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_smbus_cfg = { 58062306a36Sopenharmony_ci .name = "qhs_smbus_cfg", 58162306a36Sopenharmony_ci .id = QDU1000_SLAVE_SMBUS_CFG, 58262306a36Sopenharmony_ci .channels = 1, 58362306a36Sopenharmony_ci .buswidth = 4, 58462306a36Sopenharmony_ci .num_links = 0, 58562306a36Sopenharmony_ci}; 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_system_noc_cfg = { 58862306a36Sopenharmony_ci .name = "qhs_system_noc_cfg", 58962306a36Sopenharmony_ci .id = QDU1000_SLAVE_SNOC_CFG, 59062306a36Sopenharmony_ci .channels = 1, 59162306a36Sopenharmony_ci .buswidth = 4, 59262306a36Sopenharmony_ci .num_links = 1, 59362306a36Sopenharmony_ci .links = { QDU1000_MASTER_SNOC_CFG }, 59462306a36Sopenharmony_ci}; 59562306a36Sopenharmony_ci 59662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tcsr = { 59762306a36Sopenharmony_ci .name = "qhs_tcsr", 59862306a36Sopenharmony_ci .id = QDU1000_SLAVE_TCSR, 59962306a36Sopenharmony_ci .channels = 1, 60062306a36Sopenharmony_ci .buswidth = 4, 60162306a36Sopenharmony_ci .num_links = 0, 60262306a36Sopenharmony_ci}; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tlmm = { 60562306a36Sopenharmony_ci .name = "qhs_tlmm", 60662306a36Sopenharmony_ci .id = QDU1000_SLAVE_TLMM, 60762306a36Sopenharmony_ci .channels = 1, 60862306a36Sopenharmony_ci .buswidth = 4, 60962306a36Sopenharmony_ci .num_links = 0, 61062306a36Sopenharmony_ci}; 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tme_cfg = { 61362306a36Sopenharmony_ci .name = "qhs_tme_cfg", 61462306a36Sopenharmony_ci .id = QDU1000_SLAVE_TME_CFG, 61562306a36Sopenharmony_ci .channels = 1, 61662306a36Sopenharmony_ci .buswidth = 4, 61762306a36Sopenharmony_ci .num_links = 0, 61862306a36Sopenharmony_ci}; 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tsc_cfg = { 62162306a36Sopenharmony_ci .name = "qhs_tsc_cfg", 62262306a36Sopenharmony_ci .id = QDU1000_SLAVE_TSC_CFG, 62362306a36Sopenharmony_ci .channels = 1, 62462306a36Sopenharmony_ci .buswidth = 4, 62562306a36Sopenharmony_ci .num_links = 0, 62662306a36Sopenharmony_ci}; 62762306a36Sopenharmony_ci 62862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_usb3 = { 62962306a36Sopenharmony_ci .name = "qhs_usb3", 63062306a36Sopenharmony_ci .id = QDU1000_SLAVE_USB3_0, 63162306a36Sopenharmony_ci .channels = 1, 63262306a36Sopenharmony_ci .buswidth = 4, 63362306a36Sopenharmony_ci .num_links = 0, 63462306a36Sopenharmony_ci}; 63562306a36Sopenharmony_ci 63662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_vsense_ctrl_cfg = { 63762306a36Sopenharmony_ci .name = "qhs_vsense_ctrl_cfg", 63862306a36Sopenharmony_ci .id = QDU1000_SLAVE_VSENSE_CTRL_CFG, 63962306a36Sopenharmony_ci .channels = 1, 64062306a36Sopenharmony_ci .buswidth = 4, 64162306a36Sopenharmony_ci .num_links = 0, 64262306a36Sopenharmony_ci}; 64362306a36Sopenharmony_ci 64462306a36Sopenharmony_cistatic struct qcom_icc_node qns_a1noc_snoc = { 64562306a36Sopenharmony_ci .name = "qns_a1noc_snoc", 64662306a36Sopenharmony_ci .id = QDU1000_SLAVE_A1NOC_SNOC, 64762306a36Sopenharmony_ci .channels = 1, 64862306a36Sopenharmony_ci .buswidth = 8, 64962306a36Sopenharmony_ci .num_links = 1, 65062306a36Sopenharmony_ci .links = { QDU1000_MASTER_ANOC_SNOC }, 65162306a36Sopenharmony_ci}; 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_cistatic struct qcom_icc_node qns_anoc_snoc_gsi = { 65462306a36Sopenharmony_ci .name = "qns_anoc_snoc_gsi", 65562306a36Sopenharmony_ci .id = QDU1000_SLAVE_ANOC_SNOC_GSI, 65662306a36Sopenharmony_ci .channels = 1, 65762306a36Sopenharmony_ci .buswidth = 8, 65862306a36Sopenharmony_ci .num_links = 1, 65962306a36Sopenharmony_ci .links = { QDU1000_MASTER_ANOC_GSI }, 66062306a36Sopenharmony_ci}; 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_cistatic struct qcom_icc_node qns_ddrss_cfg = { 66362306a36Sopenharmony_ci .name = "qns_ddrss_cfg", 66462306a36Sopenharmony_ci .id = QDU1000_SLAVE_DDRSS_CFG, 66562306a36Sopenharmony_ci .channels = 1, 66662306a36Sopenharmony_ci .buswidth = 4, 66762306a36Sopenharmony_ci .num_links = 0, 66862306a36Sopenharmony_ci}; 66962306a36Sopenharmony_ci 67062306a36Sopenharmony_cistatic struct qcom_icc_node qns_ecpri_gemnoc = { 67162306a36Sopenharmony_ci .name = "qns_ecpri_gemnoc", 67262306a36Sopenharmony_ci .id = QDU1000_SLAVE_ECPRI_GEMNOC, 67362306a36Sopenharmony_ci .channels = 2, 67462306a36Sopenharmony_ci .buswidth = 32, 67562306a36Sopenharmony_ci .num_links = 1, 67662306a36Sopenharmony_ci .links = { QDU1000_MASTER_GEMNOC_ECPRI_DMA }, 67762306a36Sopenharmony_ci}; 67862306a36Sopenharmony_ci 67962306a36Sopenharmony_cistatic struct qcom_icc_node qns_gemnoc_gc = { 68062306a36Sopenharmony_ci .name = "qns_gemnoc_gc", 68162306a36Sopenharmony_ci .id = QDU1000_SLAVE_SNOC_GEM_NOC_GC, 68262306a36Sopenharmony_ci .channels = 1, 68362306a36Sopenharmony_ci .buswidth = 8, 68462306a36Sopenharmony_ci .num_links = 1, 68562306a36Sopenharmony_ci .links = { QDU1000_MASTER_SNOC_GC_MEM_NOC }, 68662306a36Sopenharmony_ci}; 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_cistatic struct qcom_icc_node qns_gemnoc_sf = { 68962306a36Sopenharmony_ci .name = "qns_gemnoc_sf", 69062306a36Sopenharmony_ci .id = QDU1000_SLAVE_SNOC_GEM_NOC_SF, 69162306a36Sopenharmony_ci .channels = 1, 69262306a36Sopenharmony_ci .buswidth = 16, 69362306a36Sopenharmony_ci .num_links = 1, 69462306a36Sopenharmony_ci .links = { QDU1000_MASTER_SNOC_SF_MEM_NOC }, 69562306a36Sopenharmony_ci}; 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_cistatic struct qcom_icc_node qns_modem = { 69862306a36Sopenharmony_ci .name = "qns_modem", 69962306a36Sopenharmony_ci .id = QDU1000_SLAVE_MODEM_OFFLINE, 70062306a36Sopenharmony_ci .channels = 1, 70162306a36Sopenharmony_ci .buswidth = 32, 70262306a36Sopenharmony_ci .num_links = 0, 70362306a36Sopenharmony_ci}; 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_cistatic struct qcom_icc_node qns_pcie_gemnoc = { 70662306a36Sopenharmony_ci .name = "qns_pcie_gemnoc", 70762306a36Sopenharmony_ci .id = QDU1000_SLAVE_ANOC_PCIE_GEM_NOC, 70862306a36Sopenharmony_ci .channels = 1, 70962306a36Sopenharmony_ci .buswidth = 64, 71062306a36Sopenharmony_ci .num_links = 1, 71162306a36Sopenharmony_ci .links = { QDU1000_MASTER_ANOC_PCIE_GEM_NOC }, 71262306a36Sopenharmony_ci}; 71362306a36Sopenharmony_ci 71462306a36Sopenharmony_cistatic struct qcom_icc_node qxs_imem = { 71562306a36Sopenharmony_ci .name = "qxs_imem", 71662306a36Sopenharmony_ci .id = QDU1000_SLAVE_IMEM, 71762306a36Sopenharmony_ci .channels = 1, 71862306a36Sopenharmony_ci .buswidth = 8, 71962306a36Sopenharmony_ci .num_links = 0, 72062306a36Sopenharmony_ci}; 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_cistatic struct qcom_icc_node qxs_pimem = { 72362306a36Sopenharmony_ci .name = "qxs_pimem", 72462306a36Sopenharmony_ci .id = QDU1000_SLAVE_PIMEM, 72562306a36Sopenharmony_ci .channels = 1, 72662306a36Sopenharmony_ci .buswidth = 8, 72762306a36Sopenharmony_ci .num_links = 0, 72862306a36Sopenharmony_ci}; 72962306a36Sopenharmony_ci 73062306a36Sopenharmony_cistatic struct qcom_icc_node srvc_system_noc = { 73162306a36Sopenharmony_ci .name = "srvc_system_noc", 73262306a36Sopenharmony_ci .id = QDU1000_SLAVE_SERVICE_SNOC, 73362306a36Sopenharmony_ci .channels = 1, 73462306a36Sopenharmony_ci .buswidth = 4, 73562306a36Sopenharmony_ci .num_links = 0, 73662306a36Sopenharmony_ci}; 73762306a36Sopenharmony_ci 73862306a36Sopenharmony_cistatic struct qcom_icc_node xs_ethernet_ss = { 73962306a36Sopenharmony_ci .name = "xs_ethernet_ss", 74062306a36Sopenharmony_ci .id = QDU1000_SLAVE_ETHERNET_SS, 74162306a36Sopenharmony_ci .channels = 1, 74262306a36Sopenharmony_ci .buswidth = 32, 74362306a36Sopenharmony_ci .num_links = 0, 74462306a36Sopenharmony_ci}; 74562306a36Sopenharmony_ci 74662306a36Sopenharmony_cistatic struct qcom_icc_node xs_pcie = { 74762306a36Sopenharmony_ci .name = "xs_pcie", 74862306a36Sopenharmony_ci .id = QDU1000_SLAVE_PCIE_0, 74962306a36Sopenharmony_ci .channels = 1, 75062306a36Sopenharmony_ci .buswidth = 64, 75162306a36Sopenharmony_ci .num_links = 0, 75262306a36Sopenharmony_ci}; 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_cistatic struct qcom_icc_node xs_qdss_stm = { 75562306a36Sopenharmony_ci .name = "xs_qdss_stm", 75662306a36Sopenharmony_ci .id = QDU1000_SLAVE_QDSS_STM, 75762306a36Sopenharmony_ci .channels = 1, 75862306a36Sopenharmony_ci .buswidth = 4, 75962306a36Sopenharmony_ci .num_links = 0, 76062306a36Sopenharmony_ci}; 76162306a36Sopenharmony_ci 76262306a36Sopenharmony_cistatic struct qcom_icc_node xs_sys_tcu_cfg = { 76362306a36Sopenharmony_ci .name = "xs_sys_tcu_cfg", 76462306a36Sopenharmony_ci .id = QDU1000_SLAVE_TCU, 76562306a36Sopenharmony_ci .channels = 1, 76662306a36Sopenharmony_ci .buswidth = 8, 76762306a36Sopenharmony_ci .num_links = 0, 76862306a36Sopenharmony_ci}; 76962306a36Sopenharmony_ci 77062306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_acv = { 77162306a36Sopenharmony_ci .name = "ACV", 77262306a36Sopenharmony_ci .enable_mask = BIT(3), 77362306a36Sopenharmony_ci .num_nodes = 1, 77462306a36Sopenharmony_ci .nodes = { &ebi }, 77562306a36Sopenharmony_ci}; 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_ce0 = { 77862306a36Sopenharmony_ci .name = "CE0", 77962306a36Sopenharmony_ci .num_nodes = 1, 78062306a36Sopenharmony_ci .nodes = { &qxm_crypto }, 78162306a36Sopenharmony_ci}; 78262306a36Sopenharmony_ci 78362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_cn0 = { 78462306a36Sopenharmony_ci .name = "CN0", 78562306a36Sopenharmony_ci .num_nodes = 44, 78662306a36Sopenharmony_ci .nodes = { &qhm_qpic, &qhm_qspi, 78762306a36Sopenharmony_ci &qnm_gemnoc_cnoc, &qnm_gemnoc_modem_slave, 78862306a36Sopenharmony_ci &qnm_gemnoc_pcie, &xm_sdc, 78962306a36Sopenharmony_ci &xm_usb3, &qhs_ahb2phy0_south, 79062306a36Sopenharmony_ci &qhs_ahb2phy1_north, &qhs_ahb2phy2_east, 79162306a36Sopenharmony_ci &qhs_aoss, &qhs_clk_ctl, 79262306a36Sopenharmony_ci &qhs_cpr_cx, &qhs_cpr_mx, 79362306a36Sopenharmony_ci &qhs_crypto_cfg, &qhs_ecpri_cfg, 79462306a36Sopenharmony_ci &qhs_imem_cfg, &qhs_ipc_router, 79562306a36Sopenharmony_ci &qhs_mss_cfg, &qhs_pcie_cfg, 79662306a36Sopenharmony_ci &qhs_pdm, &qhs_pimem_cfg, 79762306a36Sopenharmony_ci &qhs_prng, &qhs_qdss_cfg, 79862306a36Sopenharmony_ci &qhs_qpic, &qhs_qspi, 79962306a36Sopenharmony_ci &qhs_qup0, &qhs_qup1, 80062306a36Sopenharmony_ci &qhs_sdc2, &qhs_smbus_cfg, 80162306a36Sopenharmony_ci &qhs_system_noc_cfg, &qhs_tcsr, 80262306a36Sopenharmony_ci &qhs_tlmm, &qhs_tme_cfg, 80362306a36Sopenharmony_ci &qhs_tsc_cfg, &qhs_usb3, 80462306a36Sopenharmony_ci &qhs_vsense_ctrl_cfg, &qns_ddrss_cfg, 80562306a36Sopenharmony_ci &qns_modem, &qxs_imem, 80662306a36Sopenharmony_ci &qxs_pimem, &xs_ethernet_ss, 80762306a36Sopenharmony_ci &xs_qdss_stm, &xs_sys_tcu_cfg 80862306a36Sopenharmony_ci }, 80962306a36Sopenharmony_ci}; 81062306a36Sopenharmony_ci 81162306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mc0 = { 81262306a36Sopenharmony_ci .name = "MC0", 81362306a36Sopenharmony_ci .num_nodes = 1, 81462306a36Sopenharmony_ci .nodes = { &ebi }, 81562306a36Sopenharmony_ci}; 81662306a36Sopenharmony_ci 81762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_qup0 = { 81862306a36Sopenharmony_ci .name = "QUP0", 81962306a36Sopenharmony_ci .num_nodes = 2, 82062306a36Sopenharmony_ci .nodes = { &qup0_core_slave, &qup1_core_slave }, 82162306a36Sopenharmony_ci}; 82262306a36Sopenharmony_ci 82362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh0 = { 82462306a36Sopenharmony_ci .name = "SH0", 82562306a36Sopenharmony_ci .num_nodes = 1, 82662306a36Sopenharmony_ci .nodes = { &qns_llcc }, 82762306a36Sopenharmony_ci}; 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh1 = { 83062306a36Sopenharmony_ci .name = "SH1", 83162306a36Sopenharmony_ci .num_nodes = 11, 83262306a36Sopenharmony_ci .nodes = { &alm_sys_tcu, &chm_apps, 83362306a36Sopenharmony_ci &qnm_ecpri_dma, &qnm_fec_2_gemnoc, 83462306a36Sopenharmony_ci &qnm_pcie, &qnm_snoc_gc, 83562306a36Sopenharmony_ci &qnm_snoc_sf, &qxm_mdsp, 83662306a36Sopenharmony_ci &qns_gem_noc_cnoc, &qns_modem_slave, 83762306a36Sopenharmony_ci &qns_pcie 83862306a36Sopenharmony_ci }, 83962306a36Sopenharmony_ci}; 84062306a36Sopenharmony_ci 84162306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn0 = { 84262306a36Sopenharmony_ci .name = "SN0", 84362306a36Sopenharmony_ci .num_nodes = 1, 84462306a36Sopenharmony_ci .nodes = { &qns_gemnoc_sf }, 84562306a36Sopenharmony_ci}; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn1 = { 84862306a36Sopenharmony_ci .name = "SN1", 84962306a36Sopenharmony_ci .num_nodes = 6, 85062306a36Sopenharmony_ci .nodes = { &qhm_gic, &qxm_pimem, 85162306a36Sopenharmony_ci &xm_gic, &xm_qdss_etr0, 85262306a36Sopenharmony_ci &xm_qdss_etr1, &qns_gemnoc_gc 85362306a36Sopenharmony_ci }, 85462306a36Sopenharmony_ci}; 85562306a36Sopenharmony_ci 85662306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn2 = { 85762306a36Sopenharmony_ci .name = "SN2", 85862306a36Sopenharmony_ci .num_nodes = 5, 85962306a36Sopenharmony_ci .nodes = { &qnm_aggre_noc, &qxm_ecpri_gsi, 86062306a36Sopenharmony_ci &xm_ecpri_dma, &qns_anoc_snoc_gsi, 86162306a36Sopenharmony_ci &qns_ecpri_gemnoc 86262306a36Sopenharmony_ci }, 86362306a36Sopenharmony_ci}; 86462306a36Sopenharmony_ci 86562306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn7 = { 86662306a36Sopenharmony_ci .name = "SN7", 86762306a36Sopenharmony_ci .num_nodes = 2, 86862306a36Sopenharmony_ci .nodes = { &qns_pcie_gemnoc, &xs_pcie }, 86962306a36Sopenharmony_ci}; 87062306a36Sopenharmony_ci 87162306a36Sopenharmony_cistatic struct qcom_icc_bcm * const clk_virt_bcms[] = { 87262306a36Sopenharmony_ci &bcm_qup0, 87362306a36Sopenharmony_ci}; 87462306a36Sopenharmony_ci 87562306a36Sopenharmony_cistatic struct qcom_icc_node * const clk_virt_nodes[] = { 87662306a36Sopenharmony_ci [MASTER_QUP_CORE_0] = &qup0_core_master, 87762306a36Sopenharmony_ci [MASTER_QUP_CORE_1] = &qup1_core_master, 87862306a36Sopenharmony_ci [SLAVE_QUP_CORE_0] = &qup0_core_slave, 87962306a36Sopenharmony_ci [SLAVE_QUP_CORE_1] = &qup1_core_slave, 88062306a36Sopenharmony_ci}; 88162306a36Sopenharmony_ci 88262306a36Sopenharmony_cistatic const struct qcom_icc_desc qdu1000_clk_virt = { 88362306a36Sopenharmony_ci .nodes = clk_virt_nodes, 88462306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(clk_virt_nodes), 88562306a36Sopenharmony_ci .bcms = clk_virt_bcms, 88662306a36Sopenharmony_ci .num_bcms = ARRAY_SIZE(clk_virt_bcms), 88762306a36Sopenharmony_ci}; 88862306a36Sopenharmony_ci 88962306a36Sopenharmony_cistatic struct qcom_icc_bcm * const gem_noc_bcms[] = { 89062306a36Sopenharmony_ci &bcm_sh0, 89162306a36Sopenharmony_ci &bcm_sh1, 89262306a36Sopenharmony_ci}; 89362306a36Sopenharmony_ci 89462306a36Sopenharmony_cistatic struct qcom_icc_node * const gem_noc_nodes[] = { 89562306a36Sopenharmony_ci [MASTER_SYS_TCU] = &alm_sys_tcu, 89662306a36Sopenharmony_ci [MASTER_APPSS_PROC] = &chm_apps, 89762306a36Sopenharmony_ci [MASTER_GEMNOC_ECPRI_DMA] = &qnm_ecpri_dma, 89862306a36Sopenharmony_ci [MASTER_FEC_2_GEMNOC] = &qnm_fec_2_gemnoc, 89962306a36Sopenharmony_ci [MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie, 90062306a36Sopenharmony_ci [MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc, 90162306a36Sopenharmony_ci [MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf, 90262306a36Sopenharmony_ci [MASTER_MSS_PROC] = &qxm_mdsp, 90362306a36Sopenharmony_ci [SLAVE_GEM_NOC_CNOC] = &qns_gem_noc_cnoc, 90462306a36Sopenharmony_ci [SLAVE_LLCC] = &qns_llcc, 90562306a36Sopenharmony_ci [SLAVE_GEMNOC_MODEM_CNOC] = &qns_modem_slave, 90662306a36Sopenharmony_ci [SLAVE_MEM_NOC_PCIE_SNOC] = &qns_pcie, 90762306a36Sopenharmony_ci}; 90862306a36Sopenharmony_ci 90962306a36Sopenharmony_cistatic const struct qcom_icc_desc qdu1000_gem_noc = { 91062306a36Sopenharmony_ci .nodes = gem_noc_nodes, 91162306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(gem_noc_nodes), 91262306a36Sopenharmony_ci .bcms = gem_noc_bcms, 91362306a36Sopenharmony_ci .num_bcms = ARRAY_SIZE(gem_noc_bcms), 91462306a36Sopenharmony_ci}; 91562306a36Sopenharmony_ci 91662306a36Sopenharmony_cistatic struct qcom_icc_bcm * const mc_virt_bcms[] = { 91762306a36Sopenharmony_ci &bcm_acv, 91862306a36Sopenharmony_ci &bcm_mc0, 91962306a36Sopenharmony_ci}; 92062306a36Sopenharmony_ci 92162306a36Sopenharmony_cistatic struct qcom_icc_node * const mc_virt_nodes[] = { 92262306a36Sopenharmony_ci [MASTER_LLCC] = &llcc_mc, 92362306a36Sopenharmony_ci [SLAVE_EBI1] = &ebi, 92462306a36Sopenharmony_ci}; 92562306a36Sopenharmony_ci 92662306a36Sopenharmony_cistatic const struct qcom_icc_desc qdu1000_mc_virt = { 92762306a36Sopenharmony_ci .nodes = mc_virt_nodes, 92862306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(mc_virt_nodes), 92962306a36Sopenharmony_ci .bcms = mc_virt_bcms, 93062306a36Sopenharmony_ci .num_bcms = ARRAY_SIZE(mc_virt_bcms), 93162306a36Sopenharmony_ci}; 93262306a36Sopenharmony_ci 93362306a36Sopenharmony_cistatic struct qcom_icc_bcm * const system_noc_bcms[] = { 93462306a36Sopenharmony_ci &bcm_ce0, 93562306a36Sopenharmony_ci &bcm_cn0, 93662306a36Sopenharmony_ci &bcm_sn0, 93762306a36Sopenharmony_ci &bcm_sn1, 93862306a36Sopenharmony_ci &bcm_sn2, 93962306a36Sopenharmony_ci &bcm_sn7, 94062306a36Sopenharmony_ci}; 94162306a36Sopenharmony_ci 94262306a36Sopenharmony_cistatic struct qcom_icc_node * const system_noc_nodes[] = { 94362306a36Sopenharmony_ci [MASTER_GIC_AHB] = &qhm_gic, 94462306a36Sopenharmony_ci [MASTER_QDSS_BAM] = &qhm_qdss_bam, 94562306a36Sopenharmony_ci [MASTER_QPIC] = &qhm_qpic, 94662306a36Sopenharmony_ci [MASTER_QSPI_0] = &qhm_qspi, 94762306a36Sopenharmony_ci [MASTER_QUP_0] = &qhm_qup0, 94862306a36Sopenharmony_ci [MASTER_QUP_1] = &qhm_qup1, 94962306a36Sopenharmony_ci [MASTER_SNOC_CFG] = &qhm_system_noc_cfg, 95062306a36Sopenharmony_ci [MASTER_ANOC_SNOC] = &qnm_aggre_noc, 95162306a36Sopenharmony_ci [MASTER_ANOC_GSI] = &qnm_aggre_noc_gsi, 95262306a36Sopenharmony_ci [MASTER_GEM_NOC_CNOC] = &qnm_gemnoc_cnoc, 95362306a36Sopenharmony_ci [MASTER_GEMNOC_MODEM_CNOC] = &qnm_gemnoc_modem_slave, 95462306a36Sopenharmony_ci [MASTER_GEM_NOC_PCIE_SNOC] = &qnm_gemnoc_pcie, 95562306a36Sopenharmony_ci [MASTER_CRYPTO] = &qxm_crypto, 95662306a36Sopenharmony_ci [MASTER_ECPRI_GSI] = &qxm_ecpri_gsi, 95762306a36Sopenharmony_ci [MASTER_PIMEM] = &qxm_pimem, 95862306a36Sopenharmony_ci [MASTER_SNOC_ECPRI_DMA] = &xm_ecpri_dma, 95962306a36Sopenharmony_ci [MASTER_GIC] = &xm_gic, 96062306a36Sopenharmony_ci [MASTER_PCIE] = &xm_pcie, 96162306a36Sopenharmony_ci [MASTER_QDSS_ETR] = &xm_qdss_etr0, 96262306a36Sopenharmony_ci [MASTER_QDSS_ETR_1] = &xm_qdss_etr1, 96362306a36Sopenharmony_ci [MASTER_SDCC_1] = &xm_sdc, 96462306a36Sopenharmony_ci [MASTER_USB3] = &xm_usb3, 96562306a36Sopenharmony_ci [SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0_south, 96662306a36Sopenharmony_ci [SLAVE_AHB2PHY_NORTH] = &qhs_ahb2phy1_north, 96762306a36Sopenharmony_ci [SLAVE_AHB2PHY_EAST] = &qhs_ahb2phy2_east, 96862306a36Sopenharmony_ci [SLAVE_AOSS] = &qhs_aoss, 96962306a36Sopenharmony_ci [SLAVE_CLK_CTL] = &qhs_clk_ctl, 97062306a36Sopenharmony_ci [SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx, 97162306a36Sopenharmony_ci [SLAVE_RBCPR_MX_CFG] = &qhs_cpr_mx, 97262306a36Sopenharmony_ci [SLAVE_CRYPTO_0_CFG] = &qhs_crypto_cfg, 97362306a36Sopenharmony_ci [SLAVE_ECPRI_CFG] = &qhs_ecpri_cfg, 97462306a36Sopenharmony_ci [SLAVE_IMEM_CFG] = &qhs_imem_cfg, 97562306a36Sopenharmony_ci [SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router, 97662306a36Sopenharmony_ci [SLAVE_CNOC_MSS] = &qhs_mss_cfg, 97762306a36Sopenharmony_ci [SLAVE_PCIE_CFG] = &qhs_pcie_cfg, 97862306a36Sopenharmony_ci [SLAVE_PDM] = &qhs_pdm, 97962306a36Sopenharmony_ci [SLAVE_PIMEM_CFG] = &qhs_pimem_cfg, 98062306a36Sopenharmony_ci [SLAVE_PRNG] = &qhs_prng, 98162306a36Sopenharmony_ci [SLAVE_QDSS_CFG] = &qhs_qdss_cfg, 98262306a36Sopenharmony_ci [SLAVE_QPIC] = &qhs_qpic, 98362306a36Sopenharmony_ci [SLAVE_QSPI_0] = &qhs_qspi, 98462306a36Sopenharmony_ci [SLAVE_QUP_0] = &qhs_qup0, 98562306a36Sopenharmony_ci [SLAVE_QUP_1] = &qhs_qup1, 98662306a36Sopenharmony_ci [SLAVE_SDCC_2] = &qhs_sdc2, 98762306a36Sopenharmony_ci [SLAVE_SMBUS_CFG] = &qhs_smbus_cfg, 98862306a36Sopenharmony_ci [SLAVE_SNOC_CFG] = &qhs_system_noc_cfg, 98962306a36Sopenharmony_ci [SLAVE_TCSR] = &qhs_tcsr, 99062306a36Sopenharmony_ci [SLAVE_TLMM] = &qhs_tlmm, 99162306a36Sopenharmony_ci [SLAVE_TME_CFG] = &qhs_tme_cfg, 99262306a36Sopenharmony_ci [SLAVE_TSC_CFG] = &qhs_tsc_cfg, 99362306a36Sopenharmony_ci [SLAVE_USB3_0] = &qhs_usb3, 99462306a36Sopenharmony_ci [SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg, 99562306a36Sopenharmony_ci [SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc, 99662306a36Sopenharmony_ci [SLAVE_ANOC_SNOC_GSI] = &qns_anoc_snoc_gsi, 99762306a36Sopenharmony_ci [SLAVE_DDRSS_CFG] = &qns_ddrss_cfg, 99862306a36Sopenharmony_ci [SLAVE_ECPRI_GEMNOC] = &qns_ecpri_gemnoc, 99962306a36Sopenharmony_ci [SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc, 100062306a36Sopenharmony_ci [SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf, 100162306a36Sopenharmony_ci [SLAVE_MODEM_OFFLINE] = &qns_modem, 100262306a36Sopenharmony_ci [SLAVE_ANOC_PCIE_GEM_NOC] = &qns_pcie_gemnoc, 100362306a36Sopenharmony_ci [SLAVE_IMEM] = &qxs_imem, 100462306a36Sopenharmony_ci [SLAVE_PIMEM] = &qxs_pimem, 100562306a36Sopenharmony_ci [SLAVE_SERVICE_SNOC] = &srvc_system_noc, 100662306a36Sopenharmony_ci [SLAVE_ETHERNET_SS] = &xs_ethernet_ss, 100762306a36Sopenharmony_ci [SLAVE_PCIE_0] = &xs_pcie, 100862306a36Sopenharmony_ci [SLAVE_QDSS_STM] = &xs_qdss_stm, 100962306a36Sopenharmony_ci [SLAVE_TCU] = &xs_sys_tcu_cfg, 101062306a36Sopenharmony_ci}; 101162306a36Sopenharmony_ci 101262306a36Sopenharmony_cistatic const struct qcom_icc_desc qdu1000_system_noc = { 101362306a36Sopenharmony_ci .nodes = system_noc_nodes, 101462306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(system_noc_nodes), 101562306a36Sopenharmony_ci .bcms = system_noc_bcms, 101662306a36Sopenharmony_ci .num_bcms = ARRAY_SIZE(system_noc_bcms), 101762306a36Sopenharmony_ci}; 101862306a36Sopenharmony_ci 101962306a36Sopenharmony_cistatic int qnoc_probe(struct platform_device *pdev) 102062306a36Sopenharmony_ci{ 102162306a36Sopenharmony_ci int ret; 102262306a36Sopenharmony_ci 102362306a36Sopenharmony_ci ret = qcom_icc_rpmh_probe(pdev); 102462306a36Sopenharmony_ci if (ret) 102562306a36Sopenharmony_ci dev_err(&pdev->dev, "failed to register ICC provider\n"); 102662306a36Sopenharmony_ci 102762306a36Sopenharmony_ci return ret; 102862306a36Sopenharmony_ci} 102962306a36Sopenharmony_ci 103062306a36Sopenharmony_cistatic const struct of_device_id qnoc_of_match[] = { 103162306a36Sopenharmony_ci { .compatible = "qcom,qdu1000-clk-virt", 103262306a36Sopenharmony_ci .data = &qdu1000_clk_virt 103362306a36Sopenharmony_ci }, 103462306a36Sopenharmony_ci { .compatible = "qcom,qdu1000-gem-noc", 103562306a36Sopenharmony_ci .data = &qdu1000_gem_noc 103662306a36Sopenharmony_ci }, 103762306a36Sopenharmony_ci { .compatible = "qcom,qdu1000-mc-virt", 103862306a36Sopenharmony_ci .data = &qdu1000_mc_virt 103962306a36Sopenharmony_ci }, 104062306a36Sopenharmony_ci { .compatible = "qcom,qdu1000-system-noc", 104162306a36Sopenharmony_ci .data = &qdu1000_system_noc 104262306a36Sopenharmony_ci }, 104362306a36Sopenharmony_ci { } 104462306a36Sopenharmony_ci}; 104562306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, qnoc_of_match); 104662306a36Sopenharmony_ci 104762306a36Sopenharmony_cistatic struct platform_driver qnoc_driver = { 104862306a36Sopenharmony_ci .probe = qnoc_probe, 104962306a36Sopenharmony_ci .remove = qcom_icc_rpmh_remove, 105062306a36Sopenharmony_ci .driver = { 105162306a36Sopenharmony_ci .name = "qnoc-qdu1000", 105262306a36Sopenharmony_ci .of_match_table = qnoc_of_match, 105362306a36Sopenharmony_ci }, 105462306a36Sopenharmony_ci}; 105562306a36Sopenharmony_ci 105662306a36Sopenharmony_cistatic int __init qnoc_driver_init(void) 105762306a36Sopenharmony_ci{ 105862306a36Sopenharmony_ci return platform_driver_register(&qnoc_driver); 105962306a36Sopenharmony_ci} 106062306a36Sopenharmony_cicore_initcall(qnoc_driver_init); 106162306a36Sopenharmony_ci 106262306a36Sopenharmony_cistatic void __exit qnoc_driver_exit(void) 106362306a36Sopenharmony_ci{ 106462306a36Sopenharmony_ci platform_driver_unregister(&qnoc_driver); 106562306a36Sopenharmony_ci} 106662306a36Sopenharmony_cimodule_exit(qnoc_driver_exit); 106762306a36Sopenharmony_ci 106862306a36Sopenharmony_ciMODULE_DESCRIPTION("QDU1000 NoC driver"); 106962306a36Sopenharmony_ciMODULE_LICENSE("GPL"); 1070