162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Qualcomm QCM2290 Network-on-Chip (NoC) QoS driver 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2021, Linaro Ltd. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <dt-bindings/interconnect/qcom,qcm2290.h> 1062306a36Sopenharmony_ci#include <linux/device.h> 1162306a36Sopenharmony_ci#include <linux/interconnect-provider.h> 1262306a36Sopenharmony_ci#include <linux/io.h> 1362306a36Sopenharmony_ci#include <linux/mod_devicetable.h> 1462306a36Sopenharmony_ci#include <linux/module.h> 1562306a36Sopenharmony_ci#include <linux/platform_device.h> 1662306a36Sopenharmony_ci#include <linux/regmap.h> 1762306a36Sopenharmony_ci#include <linux/slab.h> 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#include "icc-rpm.h" 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_cienum { 2262306a36Sopenharmony_ci QCM2290_MASTER_APPSS_PROC = 1, 2362306a36Sopenharmony_ci QCM2290_MASTER_SNOC_BIMC_RT, 2462306a36Sopenharmony_ci QCM2290_MASTER_SNOC_BIMC_NRT, 2562306a36Sopenharmony_ci QCM2290_MASTER_SNOC_BIMC, 2662306a36Sopenharmony_ci QCM2290_MASTER_TCU_0, 2762306a36Sopenharmony_ci QCM2290_MASTER_GFX3D, 2862306a36Sopenharmony_ci QCM2290_MASTER_SNOC_CNOC, 2962306a36Sopenharmony_ci QCM2290_MASTER_QDSS_DAP, 3062306a36Sopenharmony_ci QCM2290_MASTER_CRYPTO_CORE0, 3162306a36Sopenharmony_ci QCM2290_MASTER_SNOC_CFG, 3262306a36Sopenharmony_ci QCM2290_MASTER_TIC, 3362306a36Sopenharmony_ci QCM2290_MASTER_ANOC_SNOC, 3462306a36Sopenharmony_ci QCM2290_MASTER_BIMC_SNOC, 3562306a36Sopenharmony_ci QCM2290_MASTER_PIMEM, 3662306a36Sopenharmony_ci QCM2290_MASTER_QDSS_BAM, 3762306a36Sopenharmony_ci QCM2290_MASTER_QUP_0, 3862306a36Sopenharmony_ci QCM2290_MASTER_IPA, 3962306a36Sopenharmony_ci QCM2290_MASTER_QDSS_ETR, 4062306a36Sopenharmony_ci QCM2290_MASTER_SDCC_1, 4162306a36Sopenharmony_ci QCM2290_MASTER_SDCC_2, 4262306a36Sopenharmony_ci QCM2290_MASTER_QPIC, 4362306a36Sopenharmony_ci QCM2290_MASTER_USB3_0, 4462306a36Sopenharmony_ci QCM2290_MASTER_QUP_CORE_0, 4562306a36Sopenharmony_ci QCM2290_MASTER_CAMNOC_SF, 4662306a36Sopenharmony_ci QCM2290_MASTER_VIDEO_P0, 4762306a36Sopenharmony_ci QCM2290_MASTER_VIDEO_PROC, 4862306a36Sopenharmony_ci QCM2290_MASTER_CAMNOC_HF, 4962306a36Sopenharmony_ci QCM2290_MASTER_MDP0, 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 5262306a36Sopenharmony_ci QCM2290_SLAVE_BIMC_SNOC, 5362306a36Sopenharmony_ci QCM2290_SLAVE_BIMC_CFG, 5462306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_NRT_THROTTLE_CFG, 5562306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_RT_THROTTLE_CFG, 5662306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_CFG, 5762306a36Sopenharmony_ci QCM2290_SLAVE_CLK_CTL, 5862306a36Sopenharmony_ci QCM2290_SLAVE_CRYPTO_0_CFG, 5962306a36Sopenharmony_ci QCM2290_SLAVE_DISPLAY_CFG, 6062306a36Sopenharmony_ci QCM2290_SLAVE_DISPLAY_THROTTLE_CFG, 6162306a36Sopenharmony_ci QCM2290_SLAVE_GPU_CFG, 6262306a36Sopenharmony_ci QCM2290_SLAVE_HWKM, 6362306a36Sopenharmony_ci QCM2290_SLAVE_IMEM_CFG, 6462306a36Sopenharmony_ci QCM2290_SLAVE_IPA_CFG, 6562306a36Sopenharmony_ci QCM2290_SLAVE_LPASS, 6662306a36Sopenharmony_ci QCM2290_SLAVE_MESSAGE_RAM, 6762306a36Sopenharmony_ci QCM2290_SLAVE_PDM, 6862306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM_CFG, 6962306a36Sopenharmony_ci QCM2290_SLAVE_PKA_WRAPPER, 7062306a36Sopenharmony_ci QCM2290_SLAVE_PMIC_ARB, 7162306a36Sopenharmony_ci QCM2290_SLAVE_PRNG, 7262306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_CFG, 7362306a36Sopenharmony_ci QCM2290_SLAVE_QM_CFG, 7462306a36Sopenharmony_ci QCM2290_SLAVE_QM_MPU_CFG, 7562306a36Sopenharmony_ci QCM2290_SLAVE_QPIC, 7662306a36Sopenharmony_ci QCM2290_SLAVE_QUP_0, 7762306a36Sopenharmony_ci QCM2290_SLAVE_SDCC_1, 7862306a36Sopenharmony_ci QCM2290_SLAVE_SDCC_2, 7962306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CFG, 8062306a36Sopenharmony_ci QCM2290_SLAVE_TCSR, 8162306a36Sopenharmony_ci QCM2290_SLAVE_USB3, 8262306a36Sopenharmony_ci QCM2290_SLAVE_VENUS_CFG, 8362306a36Sopenharmony_ci QCM2290_SLAVE_VENUS_THROTTLE_CFG, 8462306a36Sopenharmony_ci QCM2290_SLAVE_VSENSE_CTRL_CFG, 8562306a36Sopenharmony_ci QCM2290_SLAVE_SERVICE_CNOC, 8662306a36Sopenharmony_ci QCM2290_SLAVE_APPSS, 8762306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CNOC, 8862306a36Sopenharmony_ci QCM2290_SLAVE_IMEM, 8962306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM, 9062306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC, 9162306a36Sopenharmony_ci QCM2290_SLAVE_SERVICE_SNOC, 9262306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_STM, 9362306a36Sopenharmony_ci QCM2290_SLAVE_TCU, 9462306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 9562306a36Sopenharmony_ci QCM2290_SLAVE_QUP_CORE_0, 9662306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_NRT, 9762306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_RT, 9862306a36Sopenharmony_ci}; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci/* Master nodes */ 10162306a36Sopenharmony_cistatic const u16 mas_appss_proc_links[] = { 10262306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 10362306a36Sopenharmony_ci QCM2290_SLAVE_BIMC_SNOC, 10462306a36Sopenharmony_ci}; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_cistatic struct qcom_icc_node mas_appss_proc = { 10762306a36Sopenharmony_ci .id = QCM2290_MASTER_APPSS_PROC, 10862306a36Sopenharmony_ci .name = "mas_apps_proc", 10962306a36Sopenharmony_ci .buswidth = 16, 11062306a36Sopenharmony_ci .qos.ap_owned = true, 11162306a36Sopenharmony_ci .qos.qos_port = 0, 11262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 11362306a36Sopenharmony_ci .qos.prio_level = 0, 11462306a36Sopenharmony_ci .qos.areq_prio = 0, 11562306a36Sopenharmony_ci .mas_rpm_id = 0, 11662306a36Sopenharmony_ci .slv_rpm_id = -1, 11762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_appss_proc_links), 11862306a36Sopenharmony_ci .links = mas_appss_proc_links, 11962306a36Sopenharmony_ci}; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_cistatic const u16 mas_snoc_bimc_rt_links[] = { 12262306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 12362306a36Sopenharmony_ci}; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_bimc_rt = { 12662306a36Sopenharmony_ci .id = QCM2290_MASTER_SNOC_BIMC_RT, 12762306a36Sopenharmony_ci .name = "mas_snoc_bimc_rt", 12862306a36Sopenharmony_ci .buswidth = 16, 12962306a36Sopenharmony_ci .qos.ap_owned = true, 13062306a36Sopenharmony_ci .qos.qos_port = 2, 13162306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 13262306a36Sopenharmony_ci .mas_rpm_id = 163, 13362306a36Sopenharmony_ci .slv_rpm_id = -1, 13462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_bimc_rt_links), 13562306a36Sopenharmony_ci .links = mas_snoc_bimc_rt_links, 13662306a36Sopenharmony_ci}; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_cistatic const u16 mas_snoc_bimc_nrt_links[] = { 13962306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_bimc_nrt = { 14362306a36Sopenharmony_ci .id = QCM2290_MASTER_SNOC_BIMC_NRT, 14462306a36Sopenharmony_ci .name = "mas_snoc_bimc_nrt", 14562306a36Sopenharmony_ci .buswidth = 16, 14662306a36Sopenharmony_ci .qos.ap_owned = true, 14762306a36Sopenharmony_ci .qos.qos_port = 3, 14862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 14962306a36Sopenharmony_ci .mas_rpm_id = 164, 15062306a36Sopenharmony_ci .slv_rpm_id = -1, 15162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_bimc_nrt_links), 15262306a36Sopenharmony_ci .links = mas_snoc_bimc_nrt_links, 15362306a36Sopenharmony_ci}; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_cistatic const u16 mas_snoc_bimc_links[] = { 15662306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 15762306a36Sopenharmony_ci}; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_bimc = { 16062306a36Sopenharmony_ci .id = QCM2290_MASTER_SNOC_BIMC, 16162306a36Sopenharmony_ci .name = "mas_snoc_bimc", 16262306a36Sopenharmony_ci .buswidth = 16, 16362306a36Sopenharmony_ci .qos.ap_owned = true, 16462306a36Sopenharmony_ci .qos.qos_port = 2, 16562306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 16662306a36Sopenharmony_ci .mas_rpm_id = 164, 16762306a36Sopenharmony_ci .slv_rpm_id = -1, 16862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_bimc_links), 16962306a36Sopenharmony_ci .links = mas_snoc_bimc_links, 17062306a36Sopenharmony_ci}; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_cistatic const u16 mas_tcu_0_links[] = { 17362306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 17462306a36Sopenharmony_ci QCM2290_SLAVE_BIMC_SNOC, 17562306a36Sopenharmony_ci}; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_cistatic struct qcom_icc_node mas_tcu_0 = { 17862306a36Sopenharmony_ci .id = QCM2290_MASTER_TCU_0, 17962306a36Sopenharmony_ci .name = "mas_tcu_0", 18062306a36Sopenharmony_ci .buswidth = 8, 18162306a36Sopenharmony_ci .qos.ap_owned = true, 18262306a36Sopenharmony_ci .qos.qos_port = 4, 18362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 18462306a36Sopenharmony_ci .qos.prio_level = 6, 18562306a36Sopenharmony_ci .qos.areq_prio = 6, 18662306a36Sopenharmony_ci .mas_rpm_id = 102, 18762306a36Sopenharmony_ci .slv_rpm_id = -1, 18862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_tcu_0_links), 18962306a36Sopenharmony_ci .links = mas_tcu_0_links, 19062306a36Sopenharmony_ci}; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_cistatic const u16 mas_snoc_cnoc_links[] = { 19362306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_RT_THROTTLE_CFG, 19462306a36Sopenharmony_ci QCM2290_SLAVE_SDCC_2, 19562306a36Sopenharmony_ci QCM2290_SLAVE_SDCC_1, 19662306a36Sopenharmony_ci QCM2290_SLAVE_QM_CFG, 19762306a36Sopenharmony_ci QCM2290_SLAVE_BIMC_CFG, 19862306a36Sopenharmony_ci QCM2290_SLAVE_USB3, 19962306a36Sopenharmony_ci QCM2290_SLAVE_QM_MPU_CFG, 20062306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_NRT_THROTTLE_CFG, 20162306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_CFG, 20262306a36Sopenharmony_ci QCM2290_SLAVE_PDM, 20362306a36Sopenharmony_ci QCM2290_SLAVE_IPA_CFG, 20462306a36Sopenharmony_ci QCM2290_SLAVE_DISPLAY_THROTTLE_CFG, 20562306a36Sopenharmony_ci QCM2290_SLAVE_TCSR, 20662306a36Sopenharmony_ci QCM2290_SLAVE_MESSAGE_RAM, 20762306a36Sopenharmony_ci QCM2290_SLAVE_PMIC_ARB, 20862306a36Sopenharmony_ci QCM2290_SLAVE_LPASS, 20962306a36Sopenharmony_ci QCM2290_SLAVE_DISPLAY_CFG, 21062306a36Sopenharmony_ci QCM2290_SLAVE_VENUS_CFG, 21162306a36Sopenharmony_ci QCM2290_SLAVE_GPU_CFG, 21262306a36Sopenharmony_ci QCM2290_SLAVE_IMEM_CFG, 21362306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CFG, 21462306a36Sopenharmony_ci QCM2290_SLAVE_SERVICE_CNOC, 21562306a36Sopenharmony_ci QCM2290_SLAVE_VENUS_THROTTLE_CFG, 21662306a36Sopenharmony_ci QCM2290_SLAVE_PKA_WRAPPER, 21762306a36Sopenharmony_ci QCM2290_SLAVE_HWKM, 21862306a36Sopenharmony_ci QCM2290_SLAVE_PRNG, 21962306a36Sopenharmony_ci QCM2290_SLAVE_VSENSE_CTRL_CFG, 22062306a36Sopenharmony_ci QCM2290_SLAVE_CRYPTO_0_CFG, 22162306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM_CFG, 22262306a36Sopenharmony_ci QCM2290_SLAVE_QUP_0, 22362306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_CFG, 22462306a36Sopenharmony_ci QCM2290_SLAVE_CLK_CTL, 22562306a36Sopenharmony_ci QCM2290_SLAVE_QPIC, 22662306a36Sopenharmony_ci}; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_cnoc = { 22962306a36Sopenharmony_ci .id = QCM2290_MASTER_SNOC_CNOC, 23062306a36Sopenharmony_ci .name = "mas_snoc_cnoc", 23162306a36Sopenharmony_ci .buswidth = 8, 23262306a36Sopenharmony_ci .qos.ap_owned = true, 23362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 23462306a36Sopenharmony_ci .mas_rpm_id = 52, 23562306a36Sopenharmony_ci .slv_rpm_id = -1, 23662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_cnoc_links), 23762306a36Sopenharmony_ci .links = mas_snoc_cnoc_links, 23862306a36Sopenharmony_ci}; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_cistatic const u16 mas_qdss_dap_links[] = { 24162306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_RT_THROTTLE_CFG, 24262306a36Sopenharmony_ci QCM2290_SLAVE_SDCC_2, 24362306a36Sopenharmony_ci QCM2290_SLAVE_SDCC_1, 24462306a36Sopenharmony_ci QCM2290_SLAVE_QM_CFG, 24562306a36Sopenharmony_ci QCM2290_SLAVE_BIMC_CFG, 24662306a36Sopenharmony_ci QCM2290_SLAVE_USB3, 24762306a36Sopenharmony_ci QCM2290_SLAVE_QM_MPU_CFG, 24862306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_NRT_THROTTLE_CFG, 24962306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_CFG, 25062306a36Sopenharmony_ci QCM2290_SLAVE_PDM, 25162306a36Sopenharmony_ci QCM2290_SLAVE_IPA_CFG, 25262306a36Sopenharmony_ci QCM2290_SLAVE_DISPLAY_THROTTLE_CFG, 25362306a36Sopenharmony_ci QCM2290_SLAVE_TCSR, 25462306a36Sopenharmony_ci QCM2290_SLAVE_MESSAGE_RAM, 25562306a36Sopenharmony_ci QCM2290_SLAVE_PMIC_ARB, 25662306a36Sopenharmony_ci QCM2290_SLAVE_LPASS, 25762306a36Sopenharmony_ci QCM2290_SLAVE_DISPLAY_CFG, 25862306a36Sopenharmony_ci QCM2290_SLAVE_VENUS_CFG, 25962306a36Sopenharmony_ci QCM2290_SLAVE_GPU_CFG, 26062306a36Sopenharmony_ci QCM2290_SLAVE_IMEM_CFG, 26162306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CFG, 26262306a36Sopenharmony_ci QCM2290_SLAVE_SERVICE_CNOC, 26362306a36Sopenharmony_ci QCM2290_SLAVE_VENUS_THROTTLE_CFG, 26462306a36Sopenharmony_ci QCM2290_SLAVE_PKA_WRAPPER, 26562306a36Sopenharmony_ci QCM2290_SLAVE_HWKM, 26662306a36Sopenharmony_ci QCM2290_SLAVE_PRNG, 26762306a36Sopenharmony_ci QCM2290_SLAVE_VSENSE_CTRL_CFG, 26862306a36Sopenharmony_ci QCM2290_SLAVE_CRYPTO_0_CFG, 26962306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM_CFG, 27062306a36Sopenharmony_ci QCM2290_SLAVE_QUP_0, 27162306a36Sopenharmony_ci QCM2290_SLAVE_CAMERA_CFG, 27262306a36Sopenharmony_ci QCM2290_SLAVE_CLK_CTL, 27362306a36Sopenharmony_ci QCM2290_SLAVE_QPIC, 27462306a36Sopenharmony_ci}; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_dap = { 27762306a36Sopenharmony_ci .id = QCM2290_MASTER_QDSS_DAP, 27862306a36Sopenharmony_ci .name = "mas_qdss_dap", 27962306a36Sopenharmony_ci .buswidth = 8, 28062306a36Sopenharmony_ci .qos.ap_owned = true, 28162306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 28262306a36Sopenharmony_ci .mas_rpm_id = 49, 28362306a36Sopenharmony_ci .slv_rpm_id = -1, 28462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_dap_links), 28562306a36Sopenharmony_ci .links = mas_qdss_dap_links, 28662306a36Sopenharmony_ci}; 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_cistatic const u16 mas_crypto_core0_links[] = { 28962306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC 29062306a36Sopenharmony_ci}; 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_cistatic struct qcom_icc_node mas_crypto_core0 = { 29362306a36Sopenharmony_ci .id = QCM2290_MASTER_CRYPTO_CORE0, 29462306a36Sopenharmony_ci .name = "mas_crypto_core0", 29562306a36Sopenharmony_ci .buswidth = 8, 29662306a36Sopenharmony_ci .qos.ap_owned = true, 29762306a36Sopenharmony_ci .qos.qos_port = 22, 29862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 29962306a36Sopenharmony_ci .qos.areq_prio = 2, 30062306a36Sopenharmony_ci .mas_rpm_id = 23, 30162306a36Sopenharmony_ci .slv_rpm_id = -1, 30262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_crypto_core0_links), 30362306a36Sopenharmony_ci .links = mas_crypto_core0_links, 30462306a36Sopenharmony_ci}; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_cistatic const u16 mas_qup_core_0_links[] = { 30762306a36Sopenharmony_ci QCM2290_SLAVE_QUP_CORE_0, 30862306a36Sopenharmony_ci}; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_cistatic struct qcom_icc_node mas_qup_core_0 = { 31162306a36Sopenharmony_ci .id = QCM2290_MASTER_QUP_CORE_0, 31262306a36Sopenharmony_ci .name = "mas_qup_core_0", 31362306a36Sopenharmony_ci .buswidth = 4, 31462306a36Sopenharmony_ci .mas_rpm_id = 170, 31562306a36Sopenharmony_ci .slv_rpm_id = -1, 31662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qup_core_0_links), 31762306a36Sopenharmony_ci .links = mas_qup_core_0_links, 31862306a36Sopenharmony_ci}; 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_cistatic const u16 mas_camnoc_sf_links[] = { 32162306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_NRT, 32262306a36Sopenharmony_ci}; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_cistatic struct qcom_icc_node mas_camnoc_sf = { 32562306a36Sopenharmony_ci .id = QCM2290_MASTER_CAMNOC_SF, 32662306a36Sopenharmony_ci .name = "mas_camnoc_sf", 32762306a36Sopenharmony_ci .buswidth = 32, 32862306a36Sopenharmony_ci .qos.ap_owned = true, 32962306a36Sopenharmony_ci .qos.qos_port = 4, 33062306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 33162306a36Sopenharmony_ci .qos.areq_prio = 3, 33262306a36Sopenharmony_ci .mas_rpm_id = 172, 33362306a36Sopenharmony_ci .slv_rpm_id = -1, 33462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_camnoc_sf_links), 33562306a36Sopenharmony_ci .links = mas_camnoc_sf_links, 33662306a36Sopenharmony_ci}; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_cistatic const u16 mas_camnoc_hf_links[] = { 33962306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_RT, 34062306a36Sopenharmony_ci}; 34162306a36Sopenharmony_ci 34262306a36Sopenharmony_cistatic struct qcom_icc_node mas_camnoc_hf = { 34362306a36Sopenharmony_ci .id = QCM2290_MASTER_CAMNOC_HF, 34462306a36Sopenharmony_ci .name = "mas_camnoc_hf", 34562306a36Sopenharmony_ci .buswidth = 32, 34662306a36Sopenharmony_ci .qos.ap_owned = true, 34762306a36Sopenharmony_ci .qos.qos_port = 10, 34862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 34962306a36Sopenharmony_ci .qos.areq_prio = 3, 35062306a36Sopenharmony_ci .qos.urg_fwd_en = true, 35162306a36Sopenharmony_ci .mas_rpm_id = 173, 35262306a36Sopenharmony_ci .slv_rpm_id = -1, 35362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_camnoc_hf_links), 35462306a36Sopenharmony_ci .links = mas_camnoc_hf_links, 35562306a36Sopenharmony_ci}; 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_cistatic const u16 mas_mdp0_links[] = { 35862306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_RT, 35962306a36Sopenharmony_ci}; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_cistatic struct qcom_icc_node mas_mdp0 = { 36262306a36Sopenharmony_ci .id = QCM2290_MASTER_MDP0, 36362306a36Sopenharmony_ci .name = "mas_mdp0", 36462306a36Sopenharmony_ci .buswidth = 16, 36562306a36Sopenharmony_ci .qos.ap_owned = true, 36662306a36Sopenharmony_ci .qos.qos_port = 5, 36762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 36862306a36Sopenharmony_ci .qos.areq_prio = 3, 36962306a36Sopenharmony_ci .qos.urg_fwd_en = true, 37062306a36Sopenharmony_ci .mas_rpm_id = 8, 37162306a36Sopenharmony_ci .slv_rpm_id = -1, 37262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_mdp0_links), 37362306a36Sopenharmony_ci .links = mas_mdp0_links, 37462306a36Sopenharmony_ci}; 37562306a36Sopenharmony_ci 37662306a36Sopenharmony_cistatic const u16 mas_video_p0_links[] = { 37762306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_NRT, 37862306a36Sopenharmony_ci}; 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_cistatic struct qcom_icc_node mas_video_p0 = { 38162306a36Sopenharmony_ci .id = QCM2290_MASTER_VIDEO_P0, 38262306a36Sopenharmony_ci .name = "mas_video_p0", 38362306a36Sopenharmony_ci .buswidth = 16, 38462306a36Sopenharmony_ci .qos.ap_owned = true, 38562306a36Sopenharmony_ci .qos.qos_port = 9, 38662306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 38762306a36Sopenharmony_ci .qos.areq_prio = 3, 38862306a36Sopenharmony_ci .qos.urg_fwd_en = true, 38962306a36Sopenharmony_ci .mas_rpm_id = 9, 39062306a36Sopenharmony_ci .slv_rpm_id = -1, 39162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_video_p0_links), 39262306a36Sopenharmony_ci .links = mas_video_p0_links, 39362306a36Sopenharmony_ci}; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_cistatic const u16 mas_video_proc_links[] = { 39662306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC_NRT, 39762306a36Sopenharmony_ci}; 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_cistatic struct qcom_icc_node mas_video_proc = { 40062306a36Sopenharmony_ci .id = QCM2290_MASTER_VIDEO_PROC, 40162306a36Sopenharmony_ci .name = "mas_video_proc", 40262306a36Sopenharmony_ci .buswidth = 8, 40362306a36Sopenharmony_ci .qos.ap_owned = true, 40462306a36Sopenharmony_ci .qos.qos_port = 13, 40562306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 40662306a36Sopenharmony_ci .qos.areq_prio = 4, 40762306a36Sopenharmony_ci .mas_rpm_id = 168, 40862306a36Sopenharmony_ci .slv_rpm_id = -1, 40962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_video_proc_links), 41062306a36Sopenharmony_ci .links = mas_video_proc_links, 41162306a36Sopenharmony_ci}; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_cistatic const u16 mas_snoc_cfg_links[] = { 41462306a36Sopenharmony_ci QCM2290_SLAVE_SERVICE_SNOC, 41562306a36Sopenharmony_ci}; 41662306a36Sopenharmony_ci 41762306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_cfg = { 41862306a36Sopenharmony_ci .id = QCM2290_MASTER_SNOC_CFG, 41962306a36Sopenharmony_ci .name = "mas_snoc_cfg", 42062306a36Sopenharmony_ci .buswidth = 4, 42162306a36Sopenharmony_ci .qos.ap_owned = true, 42262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 42362306a36Sopenharmony_ci .mas_rpm_id = 20, 42462306a36Sopenharmony_ci .slv_rpm_id = -1, 42562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_cfg_links), 42662306a36Sopenharmony_ci .links = mas_snoc_cfg_links, 42762306a36Sopenharmony_ci}; 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_cistatic const u16 mas_tic_links[] = { 43062306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM, 43162306a36Sopenharmony_ci QCM2290_SLAVE_IMEM, 43262306a36Sopenharmony_ci QCM2290_SLAVE_APPSS, 43362306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC, 43462306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CNOC, 43562306a36Sopenharmony_ci QCM2290_SLAVE_TCU, 43662306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_STM, 43762306a36Sopenharmony_ci}; 43862306a36Sopenharmony_ci 43962306a36Sopenharmony_cistatic struct qcom_icc_node mas_tic = { 44062306a36Sopenharmony_ci .id = QCM2290_MASTER_TIC, 44162306a36Sopenharmony_ci .name = "mas_tic", 44262306a36Sopenharmony_ci .buswidth = 4, 44362306a36Sopenharmony_ci .qos.ap_owned = true, 44462306a36Sopenharmony_ci .qos.qos_port = 8, 44562306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 44662306a36Sopenharmony_ci .qos.areq_prio = 2, 44762306a36Sopenharmony_ci .mas_rpm_id = 51, 44862306a36Sopenharmony_ci .slv_rpm_id = -1, 44962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_tic_links), 45062306a36Sopenharmony_ci .links = mas_tic_links, 45162306a36Sopenharmony_ci}; 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_cistatic const u16 mas_anoc_snoc_links[] = { 45462306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM, 45562306a36Sopenharmony_ci QCM2290_SLAVE_IMEM, 45662306a36Sopenharmony_ci QCM2290_SLAVE_APPSS, 45762306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC, 45862306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CNOC, 45962306a36Sopenharmony_ci QCM2290_SLAVE_TCU, 46062306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_STM, 46162306a36Sopenharmony_ci}; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_cistatic struct qcom_icc_node mas_anoc_snoc = { 46462306a36Sopenharmony_ci .id = QCM2290_MASTER_ANOC_SNOC, 46562306a36Sopenharmony_ci .name = "mas_anoc_snoc", 46662306a36Sopenharmony_ci .buswidth = 16, 46762306a36Sopenharmony_ci .mas_rpm_id = 110, 46862306a36Sopenharmony_ci .slv_rpm_id = -1, 46962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_anoc_snoc_links), 47062306a36Sopenharmony_ci .links = mas_anoc_snoc_links, 47162306a36Sopenharmony_ci}; 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_cistatic const u16 mas_bimc_snoc_links[] = { 47462306a36Sopenharmony_ci QCM2290_SLAVE_PIMEM, 47562306a36Sopenharmony_ci QCM2290_SLAVE_IMEM, 47662306a36Sopenharmony_ci QCM2290_SLAVE_APPSS, 47762306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_CNOC, 47862306a36Sopenharmony_ci QCM2290_SLAVE_TCU, 47962306a36Sopenharmony_ci QCM2290_SLAVE_QDSS_STM, 48062306a36Sopenharmony_ci}; 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_cistatic struct qcom_icc_node mas_bimc_snoc = { 48362306a36Sopenharmony_ci .id = QCM2290_MASTER_BIMC_SNOC, 48462306a36Sopenharmony_ci .name = "mas_bimc_snoc", 48562306a36Sopenharmony_ci .buswidth = 8, 48662306a36Sopenharmony_ci .mas_rpm_id = 21, 48762306a36Sopenharmony_ci .slv_rpm_id = -1, 48862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_bimc_snoc_links), 48962306a36Sopenharmony_ci .links = mas_bimc_snoc_links, 49062306a36Sopenharmony_ci}; 49162306a36Sopenharmony_ci 49262306a36Sopenharmony_cistatic const u16 mas_pimem_links[] = { 49362306a36Sopenharmony_ci QCM2290_SLAVE_IMEM, 49462306a36Sopenharmony_ci QCM2290_SLAVE_SNOC_BIMC, 49562306a36Sopenharmony_ci}; 49662306a36Sopenharmony_ci 49762306a36Sopenharmony_cistatic struct qcom_icc_node mas_pimem = { 49862306a36Sopenharmony_ci .id = QCM2290_MASTER_PIMEM, 49962306a36Sopenharmony_ci .name = "mas_pimem", 50062306a36Sopenharmony_ci .buswidth = 8, 50162306a36Sopenharmony_ci .qos.ap_owned = true, 50262306a36Sopenharmony_ci .qos.qos_port = 20, 50362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 50462306a36Sopenharmony_ci .qos.areq_prio = 2, 50562306a36Sopenharmony_ci .mas_rpm_id = 113, 50662306a36Sopenharmony_ci .slv_rpm_id = -1, 50762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_pimem_links), 50862306a36Sopenharmony_ci .links = mas_pimem_links, 50962306a36Sopenharmony_ci}; 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_cistatic const u16 mas_qdss_bam_links[] = { 51262306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 51362306a36Sopenharmony_ci}; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_bam = { 51662306a36Sopenharmony_ci .id = QCM2290_MASTER_QDSS_BAM, 51762306a36Sopenharmony_ci .name = "mas_qdss_bam", 51862306a36Sopenharmony_ci .buswidth = 4, 51962306a36Sopenharmony_ci .qos.ap_owned = true, 52062306a36Sopenharmony_ci .qos.qos_port = 2, 52162306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 52262306a36Sopenharmony_ci .qos.areq_prio = 2, 52362306a36Sopenharmony_ci .mas_rpm_id = 19, 52462306a36Sopenharmony_ci .slv_rpm_id = -1, 52562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_bam_links), 52662306a36Sopenharmony_ci .links = mas_qdss_bam_links, 52762306a36Sopenharmony_ci}; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_cistatic const u16 mas_qup_0_links[] = { 53062306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 53162306a36Sopenharmony_ci}; 53262306a36Sopenharmony_ci 53362306a36Sopenharmony_cistatic struct qcom_icc_node mas_qup_0 = { 53462306a36Sopenharmony_ci .id = QCM2290_MASTER_QUP_0, 53562306a36Sopenharmony_ci .name = "mas_qup_0", 53662306a36Sopenharmony_ci .buswidth = 4, 53762306a36Sopenharmony_ci .qos.ap_owned = true, 53862306a36Sopenharmony_ci .qos.qos_port = 0, 53962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 54062306a36Sopenharmony_ci .qos.areq_prio = 2, 54162306a36Sopenharmony_ci .mas_rpm_id = 166, 54262306a36Sopenharmony_ci .slv_rpm_id = -1, 54362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qup_0_links), 54462306a36Sopenharmony_ci .links = mas_qup_0_links, 54562306a36Sopenharmony_ci}; 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_cistatic const u16 mas_ipa_links[] = { 54862306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 54962306a36Sopenharmony_ci}; 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_cistatic struct qcom_icc_node mas_ipa = { 55262306a36Sopenharmony_ci .id = QCM2290_MASTER_IPA, 55362306a36Sopenharmony_ci .name = "mas_ipa", 55462306a36Sopenharmony_ci .buswidth = 8, 55562306a36Sopenharmony_ci .qos.ap_owned = true, 55662306a36Sopenharmony_ci .qos.qos_port = 3, 55762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 55862306a36Sopenharmony_ci .qos.areq_prio = 2, 55962306a36Sopenharmony_ci .mas_rpm_id = 59, 56062306a36Sopenharmony_ci .slv_rpm_id = -1, 56162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_ipa_links), 56262306a36Sopenharmony_ci .links = mas_ipa_links, 56362306a36Sopenharmony_ci}; 56462306a36Sopenharmony_ci 56562306a36Sopenharmony_cistatic const u16 mas_qdss_etr_links[] = { 56662306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 56762306a36Sopenharmony_ci}; 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_etr = { 57062306a36Sopenharmony_ci .id = QCM2290_MASTER_QDSS_ETR, 57162306a36Sopenharmony_ci .name = "mas_qdss_etr", 57262306a36Sopenharmony_ci .buswidth = 8, 57362306a36Sopenharmony_ci .qos.ap_owned = true, 57462306a36Sopenharmony_ci .qos.qos_port = 12, 57562306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 57662306a36Sopenharmony_ci .qos.areq_prio = 2, 57762306a36Sopenharmony_ci .mas_rpm_id = 31, 57862306a36Sopenharmony_ci .slv_rpm_id = -1, 57962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_etr_links), 58062306a36Sopenharmony_ci .links = mas_qdss_etr_links, 58162306a36Sopenharmony_ci}; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_cistatic const u16 mas_sdcc_1_links[] = { 58462306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 58562306a36Sopenharmony_ci}; 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_cistatic struct qcom_icc_node mas_sdcc_1 = { 58862306a36Sopenharmony_ci .id = QCM2290_MASTER_SDCC_1, 58962306a36Sopenharmony_ci .name = "mas_sdcc_1", 59062306a36Sopenharmony_ci .buswidth = 8, 59162306a36Sopenharmony_ci .qos.ap_owned = true, 59262306a36Sopenharmony_ci .qos.qos_port = 17, 59362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 59462306a36Sopenharmony_ci .qos.areq_prio = 2, 59562306a36Sopenharmony_ci .mas_rpm_id = 33, 59662306a36Sopenharmony_ci .slv_rpm_id = -1, 59762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_sdcc_1_links), 59862306a36Sopenharmony_ci .links = mas_sdcc_1_links, 59962306a36Sopenharmony_ci}; 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_cistatic const u16 mas_sdcc_2_links[] = { 60262306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 60362306a36Sopenharmony_ci}; 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_cistatic struct qcom_icc_node mas_sdcc_2 = { 60662306a36Sopenharmony_ci .id = QCM2290_MASTER_SDCC_2, 60762306a36Sopenharmony_ci .name = "mas_sdcc_2", 60862306a36Sopenharmony_ci .buswidth = 8, 60962306a36Sopenharmony_ci .qos.ap_owned = true, 61062306a36Sopenharmony_ci .qos.qos_port = 23, 61162306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 61262306a36Sopenharmony_ci .qos.areq_prio = 2, 61362306a36Sopenharmony_ci .mas_rpm_id = 35, 61462306a36Sopenharmony_ci .slv_rpm_id = -1, 61562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_sdcc_2_links), 61662306a36Sopenharmony_ci .links = mas_sdcc_2_links, 61762306a36Sopenharmony_ci}; 61862306a36Sopenharmony_ci 61962306a36Sopenharmony_cistatic const u16 mas_qpic_links[] = { 62062306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 62162306a36Sopenharmony_ci}; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_cistatic struct qcom_icc_node mas_qpic = { 62462306a36Sopenharmony_ci .id = QCM2290_MASTER_QPIC, 62562306a36Sopenharmony_ci .name = "mas_qpic", 62662306a36Sopenharmony_ci .buswidth = 4, 62762306a36Sopenharmony_ci .qos.ap_owned = true, 62862306a36Sopenharmony_ci .qos.qos_port = 1, 62962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 63062306a36Sopenharmony_ci .qos.areq_prio = 2, 63162306a36Sopenharmony_ci .mas_rpm_id = 58, 63262306a36Sopenharmony_ci .slv_rpm_id = -1, 63362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qpic_links), 63462306a36Sopenharmony_ci .links = mas_qpic_links, 63562306a36Sopenharmony_ci}; 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_cistatic const u16 mas_usb3_0_links[] = { 63862306a36Sopenharmony_ci QCM2290_SLAVE_ANOC_SNOC, 63962306a36Sopenharmony_ci}; 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_cistatic struct qcom_icc_node mas_usb3_0 = { 64262306a36Sopenharmony_ci .id = QCM2290_MASTER_USB3_0, 64362306a36Sopenharmony_ci .name = "mas_usb3_0", 64462306a36Sopenharmony_ci .buswidth = 8, 64562306a36Sopenharmony_ci .qos.ap_owned = true, 64662306a36Sopenharmony_ci .qos.qos_port = 24, 64762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 64862306a36Sopenharmony_ci .qos.areq_prio = 2, 64962306a36Sopenharmony_ci .mas_rpm_id = 32, 65062306a36Sopenharmony_ci .slv_rpm_id = -1, 65162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_usb3_0_links), 65262306a36Sopenharmony_ci .links = mas_usb3_0_links, 65362306a36Sopenharmony_ci}; 65462306a36Sopenharmony_ci 65562306a36Sopenharmony_cistatic const u16 mas_gfx3d_links[] = { 65662306a36Sopenharmony_ci QCM2290_SLAVE_EBI1, 65762306a36Sopenharmony_ci}; 65862306a36Sopenharmony_ci 65962306a36Sopenharmony_cistatic struct qcom_icc_node mas_gfx3d = { 66062306a36Sopenharmony_ci .id = QCM2290_MASTER_GFX3D, 66162306a36Sopenharmony_ci .name = "mas_gfx3d", 66262306a36Sopenharmony_ci .buswidth = 32, 66362306a36Sopenharmony_ci .qos.ap_owned = true, 66462306a36Sopenharmony_ci .qos.qos_port = 1, 66562306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 66662306a36Sopenharmony_ci .qos.prio_level = 0, 66762306a36Sopenharmony_ci .qos.areq_prio = 0, 66862306a36Sopenharmony_ci .mas_rpm_id = 6, 66962306a36Sopenharmony_ci .slv_rpm_id = -1, 67062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_gfx3d_links), 67162306a36Sopenharmony_ci .links = mas_gfx3d_links, 67262306a36Sopenharmony_ci}; 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci/* Slave nodes */ 67562306a36Sopenharmony_cistatic struct qcom_icc_node slv_ebi1 = { 67662306a36Sopenharmony_ci .name = "slv_ebi1", 67762306a36Sopenharmony_ci .id = QCM2290_SLAVE_EBI1, 67862306a36Sopenharmony_ci .buswidth = 8, 67962306a36Sopenharmony_ci .mas_rpm_id = -1, 68062306a36Sopenharmony_ci .slv_rpm_id = 0, 68162306a36Sopenharmony_ci}; 68262306a36Sopenharmony_ci 68362306a36Sopenharmony_cistatic const u16 slv_bimc_snoc_links[] = { 68462306a36Sopenharmony_ci QCM2290_MASTER_BIMC_SNOC, 68562306a36Sopenharmony_ci}; 68662306a36Sopenharmony_ci 68762306a36Sopenharmony_cistatic struct qcom_icc_node slv_bimc_snoc = { 68862306a36Sopenharmony_ci .name = "slv_bimc_snoc", 68962306a36Sopenharmony_ci .id = QCM2290_SLAVE_BIMC_SNOC, 69062306a36Sopenharmony_ci .buswidth = 8, 69162306a36Sopenharmony_ci .mas_rpm_id = -1, 69262306a36Sopenharmony_ci .slv_rpm_id = 2, 69362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_bimc_snoc_links), 69462306a36Sopenharmony_ci .links = slv_bimc_snoc_links, 69562306a36Sopenharmony_ci}; 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_cistatic struct qcom_icc_node slv_bimc_cfg = { 69862306a36Sopenharmony_ci .name = "slv_bimc_cfg", 69962306a36Sopenharmony_ci .id = QCM2290_SLAVE_BIMC_CFG, 70062306a36Sopenharmony_ci .buswidth = 4, 70162306a36Sopenharmony_ci .qos.ap_owned = true, 70262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 70362306a36Sopenharmony_ci .mas_rpm_id = -1, 70462306a36Sopenharmony_ci .slv_rpm_id = 56, 70562306a36Sopenharmony_ci}; 70662306a36Sopenharmony_ci 70762306a36Sopenharmony_cistatic struct qcom_icc_node slv_camera_nrt_throttle_cfg = { 70862306a36Sopenharmony_ci .name = "slv_camera_nrt_throttle_cfg", 70962306a36Sopenharmony_ci .id = QCM2290_SLAVE_CAMERA_NRT_THROTTLE_CFG, 71062306a36Sopenharmony_ci .buswidth = 4, 71162306a36Sopenharmony_ci .qos.ap_owned = true, 71262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 71362306a36Sopenharmony_ci .mas_rpm_id = -1, 71462306a36Sopenharmony_ci .slv_rpm_id = 271, 71562306a36Sopenharmony_ci}; 71662306a36Sopenharmony_ci 71762306a36Sopenharmony_cistatic struct qcom_icc_node slv_camera_rt_throttle_cfg = { 71862306a36Sopenharmony_ci .name = "slv_camera_rt_throttle_cfg", 71962306a36Sopenharmony_ci .id = QCM2290_SLAVE_CAMERA_RT_THROTTLE_CFG, 72062306a36Sopenharmony_ci .buswidth = 4, 72162306a36Sopenharmony_ci .qos.ap_owned = true, 72262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 72362306a36Sopenharmony_ci .mas_rpm_id = -1, 72462306a36Sopenharmony_ci .slv_rpm_id = 279, 72562306a36Sopenharmony_ci}; 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_cistatic struct qcom_icc_node slv_camera_cfg = { 72862306a36Sopenharmony_ci .name = "slv_camera_cfg", 72962306a36Sopenharmony_ci .id = QCM2290_SLAVE_CAMERA_CFG, 73062306a36Sopenharmony_ci .buswidth = 4, 73162306a36Sopenharmony_ci .qos.ap_owned = true, 73262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 73362306a36Sopenharmony_ci .mas_rpm_id = -1, 73462306a36Sopenharmony_ci .slv_rpm_id = 3, 73562306a36Sopenharmony_ci}; 73662306a36Sopenharmony_ci 73762306a36Sopenharmony_cistatic struct qcom_icc_node slv_clk_ctl = { 73862306a36Sopenharmony_ci .name = "slv_clk_ctl", 73962306a36Sopenharmony_ci .id = QCM2290_SLAVE_CLK_CTL, 74062306a36Sopenharmony_ci .buswidth = 4, 74162306a36Sopenharmony_ci .qos.ap_owned = true, 74262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 74362306a36Sopenharmony_ci .mas_rpm_id = -1, 74462306a36Sopenharmony_ci .slv_rpm_id = 47, 74562306a36Sopenharmony_ci}; 74662306a36Sopenharmony_ci 74762306a36Sopenharmony_cistatic struct qcom_icc_node slv_crypto_0_cfg = { 74862306a36Sopenharmony_ci .name = "slv_crypto_0_cfg", 74962306a36Sopenharmony_ci .id = QCM2290_SLAVE_CRYPTO_0_CFG, 75062306a36Sopenharmony_ci .buswidth = 4, 75162306a36Sopenharmony_ci .qos.ap_owned = true, 75262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 75362306a36Sopenharmony_ci .mas_rpm_id = -1, 75462306a36Sopenharmony_ci .slv_rpm_id = 52, 75562306a36Sopenharmony_ci}; 75662306a36Sopenharmony_ci 75762306a36Sopenharmony_cistatic struct qcom_icc_node slv_display_cfg = { 75862306a36Sopenharmony_ci .name = "slv_display_cfg", 75962306a36Sopenharmony_ci .id = QCM2290_SLAVE_DISPLAY_CFG, 76062306a36Sopenharmony_ci .buswidth = 4, 76162306a36Sopenharmony_ci .qos.ap_owned = true, 76262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 76362306a36Sopenharmony_ci .mas_rpm_id = -1, 76462306a36Sopenharmony_ci .slv_rpm_id = 4, 76562306a36Sopenharmony_ci}; 76662306a36Sopenharmony_ci 76762306a36Sopenharmony_cistatic struct qcom_icc_node slv_display_throttle_cfg = { 76862306a36Sopenharmony_ci .name = "slv_display_throttle_cfg", 76962306a36Sopenharmony_ci .id = QCM2290_SLAVE_DISPLAY_THROTTLE_CFG, 77062306a36Sopenharmony_ci .buswidth = 4, 77162306a36Sopenharmony_ci .qos.ap_owned = true, 77262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 77362306a36Sopenharmony_ci .mas_rpm_id = -1, 77462306a36Sopenharmony_ci .slv_rpm_id = 156, 77562306a36Sopenharmony_ci}; 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_cistatic struct qcom_icc_node slv_gpu_cfg = { 77862306a36Sopenharmony_ci .name = "slv_gpu_cfg", 77962306a36Sopenharmony_ci .id = QCM2290_SLAVE_GPU_CFG, 78062306a36Sopenharmony_ci .buswidth = 8, 78162306a36Sopenharmony_ci .qos.ap_owned = true, 78262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 78362306a36Sopenharmony_ci .mas_rpm_id = -1, 78462306a36Sopenharmony_ci .slv_rpm_id = 275, 78562306a36Sopenharmony_ci}; 78662306a36Sopenharmony_ci 78762306a36Sopenharmony_cistatic struct qcom_icc_node slv_hwkm = { 78862306a36Sopenharmony_ci .name = "slv_hwkm", 78962306a36Sopenharmony_ci .id = QCM2290_SLAVE_HWKM, 79062306a36Sopenharmony_ci .buswidth = 4, 79162306a36Sopenharmony_ci .qos.ap_owned = true, 79262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 79362306a36Sopenharmony_ci .mas_rpm_id = -1, 79462306a36Sopenharmony_ci .slv_rpm_id = 280, 79562306a36Sopenharmony_ci}; 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_cistatic struct qcom_icc_node slv_imem_cfg = { 79862306a36Sopenharmony_ci .name = "slv_imem_cfg", 79962306a36Sopenharmony_ci .id = QCM2290_SLAVE_IMEM_CFG, 80062306a36Sopenharmony_ci .buswidth = 4, 80162306a36Sopenharmony_ci .qos.ap_owned = true, 80262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 80362306a36Sopenharmony_ci .mas_rpm_id = -1, 80462306a36Sopenharmony_ci .slv_rpm_id = 54, 80562306a36Sopenharmony_ci}; 80662306a36Sopenharmony_ci 80762306a36Sopenharmony_cistatic struct qcom_icc_node slv_ipa_cfg = { 80862306a36Sopenharmony_ci .name = "slv_ipa_cfg", 80962306a36Sopenharmony_ci .id = QCM2290_SLAVE_IPA_CFG, 81062306a36Sopenharmony_ci .buswidth = 4, 81162306a36Sopenharmony_ci .qos.ap_owned = true, 81262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 81362306a36Sopenharmony_ci .mas_rpm_id = -1, 81462306a36Sopenharmony_ci .slv_rpm_id = 183, 81562306a36Sopenharmony_ci}; 81662306a36Sopenharmony_ci 81762306a36Sopenharmony_cistatic struct qcom_icc_node slv_lpass = { 81862306a36Sopenharmony_ci .name = "slv_lpass", 81962306a36Sopenharmony_ci .id = QCM2290_SLAVE_LPASS, 82062306a36Sopenharmony_ci .buswidth = 4, 82162306a36Sopenharmony_ci .qos.ap_owned = true, 82262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 82362306a36Sopenharmony_ci .mas_rpm_id = -1, 82462306a36Sopenharmony_ci .slv_rpm_id = 21, 82562306a36Sopenharmony_ci}; 82662306a36Sopenharmony_ci 82762306a36Sopenharmony_cistatic struct qcom_icc_node slv_message_ram = { 82862306a36Sopenharmony_ci .name = "slv_message_ram", 82962306a36Sopenharmony_ci .id = QCM2290_SLAVE_MESSAGE_RAM, 83062306a36Sopenharmony_ci .buswidth = 4, 83162306a36Sopenharmony_ci .qos.ap_owned = true, 83262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 83362306a36Sopenharmony_ci .mas_rpm_id = -1, 83462306a36Sopenharmony_ci .slv_rpm_id = 55, 83562306a36Sopenharmony_ci}; 83662306a36Sopenharmony_ci 83762306a36Sopenharmony_cistatic struct qcom_icc_node slv_pdm = { 83862306a36Sopenharmony_ci .name = "slv_pdm", 83962306a36Sopenharmony_ci .id = QCM2290_SLAVE_PDM, 84062306a36Sopenharmony_ci .buswidth = 4, 84162306a36Sopenharmony_ci .qos.ap_owned = true, 84262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 84362306a36Sopenharmony_ci .mas_rpm_id = -1, 84462306a36Sopenharmony_ci .slv_rpm_id = 41, 84562306a36Sopenharmony_ci}; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_cistatic struct qcom_icc_node slv_pimem_cfg = { 84862306a36Sopenharmony_ci .name = "slv_pimem_cfg", 84962306a36Sopenharmony_ci .id = QCM2290_SLAVE_PIMEM_CFG, 85062306a36Sopenharmony_ci .buswidth = 4, 85162306a36Sopenharmony_ci .qos.ap_owned = true, 85262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 85362306a36Sopenharmony_ci .mas_rpm_id = -1, 85462306a36Sopenharmony_ci .slv_rpm_id = 167, 85562306a36Sopenharmony_ci}; 85662306a36Sopenharmony_ci 85762306a36Sopenharmony_cistatic struct qcom_icc_node slv_pka_wrapper = { 85862306a36Sopenharmony_ci .name = "slv_pka_wrapper", 85962306a36Sopenharmony_ci .id = QCM2290_SLAVE_PKA_WRAPPER, 86062306a36Sopenharmony_ci .buswidth = 4, 86162306a36Sopenharmony_ci .qos.ap_owned = true, 86262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 86362306a36Sopenharmony_ci .mas_rpm_id = -1, 86462306a36Sopenharmony_ci .slv_rpm_id = 281, 86562306a36Sopenharmony_ci}; 86662306a36Sopenharmony_ci 86762306a36Sopenharmony_cistatic struct qcom_icc_node slv_pmic_arb = { 86862306a36Sopenharmony_ci .name = "slv_pmic_arb", 86962306a36Sopenharmony_ci .id = QCM2290_SLAVE_PMIC_ARB, 87062306a36Sopenharmony_ci .buswidth = 4, 87162306a36Sopenharmony_ci .qos.ap_owned = true, 87262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 87362306a36Sopenharmony_ci .mas_rpm_id = -1, 87462306a36Sopenharmony_ci .slv_rpm_id = 59, 87562306a36Sopenharmony_ci}; 87662306a36Sopenharmony_ci 87762306a36Sopenharmony_cistatic struct qcom_icc_node slv_prng = { 87862306a36Sopenharmony_ci .name = "slv_prng", 87962306a36Sopenharmony_ci .id = QCM2290_SLAVE_PRNG, 88062306a36Sopenharmony_ci .buswidth = 4, 88162306a36Sopenharmony_ci .qos.ap_owned = true, 88262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 88362306a36Sopenharmony_ci .mas_rpm_id = -1, 88462306a36Sopenharmony_ci .slv_rpm_id = 44, 88562306a36Sopenharmony_ci}; 88662306a36Sopenharmony_ci 88762306a36Sopenharmony_cistatic struct qcom_icc_node slv_qdss_cfg = { 88862306a36Sopenharmony_ci .name = "slv_qdss_cfg", 88962306a36Sopenharmony_ci .id = QCM2290_SLAVE_QDSS_CFG, 89062306a36Sopenharmony_ci .buswidth = 4, 89162306a36Sopenharmony_ci .qos.ap_owned = true, 89262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 89362306a36Sopenharmony_ci .mas_rpm_id = -1, 89462306a36Sopenharmony_ci .slv_rpm_id = 63, 89562306a36Sopenharmony_ci}; 89662306a36Sopenharmony_ci 89762306a36Sopenharmony_cistatic struct qcom_icc_node slv_qm_cfg = { 89862306a36Sopenharmony_ci .name = "slv_qm_cfg", 89962306a36Sopenharmony_ci .id = QCM2290_SLAVE_QM_CFG, 90062306a36Sopenharmony_ci .buswidth = 4, 90162306a36Sopenharmony_ci .qos.ap_owned = true, 90262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 90362306a36Sopenharmony_ci .mas_rpm_id = -1, 90462306a36Sopenharmony_ci .slv_rpm_id = 212, 90562306a36Sopenharmony_ci}; 90662306a36Sopenharmony_ci 90762306a36Sopenharmony_cistatic struct qcom_icc_node slv_qm_mpu_cfg = { 90862306a36Sopenharmony_ci .name = "slv_qm_mpu_cfg", 90962306a36Sopenharmony_ci .id = QCM2290_SLAVE_QM_MPU_CFG, 91062306a36Sopenharmony_ci .buswidth = 4, 91162306a36Sopenharmony_ci .qos.ap_owned = true, 91262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 91362306a36Sopenharmony_ci .mas_rpm_id = -1, 91462306a36Sopenharmony_ci .slv_rpm_id = 231, 91562306a36Sopenharmony_ci}; 91662306a36Sopenharmony_ci 91762306a36Sopenharmony_cistatic struct qcom_icc_node slv_qpic = { 91862306a36Sopenharmony_ci .name = "slv_qpic", 91962306a36Sopenharmony_ci .id = QCM2290_SLAVE_QPIC, 92062306a36Sopenharmony_ci .buswidth = 4, 92162306a36Sopenharmony_ci .qos.ap_owned = true, 92262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 92362306a36Sopenharmony_ci .mas_rpm_id = -1, 92462306a36Sopenharmony_ci .slv_rpm_id = 80, 92562306a36Sopenharmony_ci}; 92662306a36Sopenharmony_ci 92762306a36Sopenharmony_cistatic struct qcom_icc_node slv_qup_0 = { 92862306a36Sopenharmony_ci .name = "slv_qup_0", 92962306a36Sopenharmony_ci .id = QCM2290_SLAVE_QUP_0, 93062306a36Sopenharmony_ci .buswidth = 4, 93162306a36Sopenharmony_ci .qos.ap_owned = true, 93262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 93362306a36Sopenharmony_ci .mas_rpm_id = -1, 93462306a36Sopenharmony_ci .slv_rpm_id = 261, 93562306a36Sopenharmony_ci}; 93662306a36Sopenharmony_ci 93762306a36Sopenharmony_cistatic struct qcom_icc_node slv_sdcc_1 = { 93862306a36Sopenharmony_ci .name = "slv_sdcc_1", 93962306a36Sopenharmony_ci .id = QCM2290_SLAVE_SDCC_1, 94062306a36Sopenharmony_ci .buswidth = 4, 94162306a36Sopenharmony_ci .qos.ap_owned = true, 94262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 94362306a36Sopenharmony_ci .mas_rpm_id = -1, 94462306a36Sopenharmony_ci .slv_rpm_id = 31, 94562306a36Sopenharmony_ci}; 94662306a36Sopenharmony_ci 94762306a36Sopenharmony_cistatic struct qcom_icc_node slv_sdcc_2 = { 94862306a36Sopenharmony_ci .name = "slv_sdcc_2", 94962306a36Sopenharmony_ci .id = QCM2290_SLAVE_SDCC_2, 95062306a36Sopenharmony_ci .buswidth = 4, 95162306a36Sopenharmony_ci .qos.ap_owned = true, 95262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 95362306a36Sopenharmony_ci .mas_rpm_id = -1, 95462306a36Sopenharmony_ci .slv_rpm_id = 33, 95562306a36Sopenharmony_ci}; 95662306a36Sopenharmony_ci 95762306a36Sopenharmony_cistatic const u16 slv_snoc_cfg_links[] = { 95862306a36Sopenharmony_ci QCM2290_MASTER_SNOC_CFG, 95962306a36Sopenharmony_ci}; 96062306a36Sopenharmony_ci 96162306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_cfg = { 96262306a36Sopenharmony_ci .name = "slv_snoc_cfg", 96362306a36Sopenharmony_ci .id = QCM2290_SLAVE_SNOC_CFG, 96462306a36Sopenharmony_ci .buswidth = 4, 96562306a36Sopenharmony_ci .qos.ap_owned = true, 96662306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 96762306a36Sopenharmony_ci .mas_rpm_id = -1, 96862306a36Sopenharmony_ci .slv_rpm_id = 70, 96962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_cfg_links), 97062306a36Sopenharmony_ci .links = slv_snoc_cfg_links, 97162306a36Sopenharmony_ci}; 97262306a36Sopenharmony_ci 97362306a36Sopenharmony_cistatic struct qcom_icc_node slv_tcsr = { 97462306a36Sopenharmony_ci .name = "slv_tcsr", 97562306a36Sopenharmony_ci .id = QCM2290_SLAVE_TCSR, 97662306a36Sopenharmony_ci .buswidth = 4, 97762306a36Sopenharmony_ci .qos.ap_owned = true, 97862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 97962306a36Sopenharmony_ci .mas_rpm_id = -1, 98062306a36Sopenharmony_ci .slv_rpm_id = 50, 98162306a36Sopenharmony_ci}; 98262306a36Sopenharmony_ci 98362306a36Sopenharmony_cistatic struct qcom_icc_node slv_usb3 = { 98462306a36Sopenharmony_ci .name = "slv_usb3", 98562306a36Sopenharmony_ci .id = QCM2290_SLAVE_USB3, 98662306a36Sopenharmony_ci .buswidth = 4, 98762306a36Sopenharmony_ci .qos.ap_owned = true, 98862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 98962306a36Sopenharmony_ci .mas_rpm_id = -1, 99062306a36Sopenharmony_ci .slv_rpm_id = 22, 99162306a36Sopenharmony_ci}; 99262306a36Sopenharmony_ci 99362306a36Sopenharmony_cistatic struct qcom_icc_node slv_venus_cfg = { 99462306a36Sopenharmony_ci .name = "slv_venus_cfg", 99562306a36Sopenharmony_ci .id = QCM2290_SLAVE_VENUS_CFG, 99662306a36Sopenharmony_ci .buswidth = 4, 99762306a36Sopenharmony_ci .qos.ap_owned = true, 99862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 99962306a36Sopenharmony_ci .mas_rpm_id = -1, 100062306a36Sopenharmony_ci .slv_rpm_id = 10, 100162306a36Sopenharmony_ci}; 100262306a36Sopenharmony_ci 100362306a36Sopenharmony_cistatic struct qcom_icc_node slv_venus_throttle_cfg = { 100462306a36Sopenharmony_ci .name = "slv_venus_throttle_cfg", 100562306a36Sopenharmony_ci .id = QCM2290_SLAVE_VENUS_THROTTLE_CFG, 100662306a36Sopenharmony_ci .buswidth = 4, 100762306a36Sopenharmony_ci .qos.ap_owned = true, 100862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 100962306a36Sopenharmony_ci .mas_rpm_id = -1, 101062306a36Sopenharmony_ci .slv_rpm_id = 178, 101162306a36Sopenharmony_ci}; 101262306a36Sopenharmony_ci 101362306a36Sopenharmony_cistatic struct qcom_icc_node slv_vsense_ctrl_cfg = { 101462306a36Sopenharmony_ci .name = "slv_vsense_ctrl_cfg", 101562306a36Sopenharmony_ci .id = QCM2290_SLAVE_VSENSE_CTRL_CFG, 101662306a36Sopenharmony_ci .buswidth = 4, 101762306a36Sopenharmony_ci .qos.ap_owned = true, 101862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 101962306a36Sopenharmony_ci .mas_rpm_id = -1, 102062306a36Sopenharmony_ci .slv_rpm_id = 263, 102162306a36Sopenharmony_ci}; 102262306a36Sopenharmony_ci 102362306a36Sopenharmony_cistatic struct qcom_icc_node slv_service_cnoc = { 102462306a36Sopenharmony_ci .name = "slv_service_cnoc", 102562306a36Sopenharmony_ci .id = QCM2290_SLAVE_SERVICE_CNOC, 102662306a36Sopenharmony_ci .buswidth = 4, 102762306a36Sopenharmony_ci .qos.ap_owned = true, 102862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 102962306a36Sopenharmony_ci .mas_rpm_id = -1, 103062306a36Sopenharmony_ci .slv_rpm_id = 76, 103162306a36Sopenharmony_ci}; 103262306a36Sopenharmony_ci 103362306a36Sopenharmony_cistatic struct qcom_icc_node slv_qup_core_0 = { 103462306a36Sopenharmony_ci .name = "slv_qup_core_0", 103562306a36Sopenharmony_ci .id = QCM2290_SLAVE_QUP_CORE_0, 103662306a36Sopenharmony_ci .buswidth = 4, 103762306a36Sopenharmony_ci .qos.ap_owned = true, 103862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 103962306a36Sopenharmony_ci .mas_rpm_id = -1, 104062306a36Sopenharmony_ci .slv_rpm_id = 264, 104162306a36Sopenharmony_ci}; 104262306a36Sopenharmony_ci 104362306a36Sopenharmony_cistatic const u16 slv_snoc_bimc_nrt_links[] = { 104462306a36Sopenharmony_ci QCM2290_MASTER_SNOC_BIMC_NRT, 104562306a36Sopenharmony_ci}; 104662306a36Sopenharmony_ci 104762306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_bimc_nrt = { 104862306a36Sopenharmony_ci .name = "slv_snoc_bimc_nrt", 104962306a36Sopenharmony_ci .id = QCM2290_SLAVE_SNOC_BIMC_NRT, 105062306a36Sopenharmony_ci .buswidth = 16, 105162306a36Sopenharmony_ci .qos.ap_owned = true, 105262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 105362306a36Sopenharmony_ci .mas_rpm_id = -1, 105462306a36Sopenharmony_ci .slv_rpm_id = 259, 105562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_bimc_nrt_links), 105662306a36Sopenharmony_ci .links = slv_snoc_bimc_nrt_links, 105762306a36Sopenharmony_ci}; 105862306a36Sopenharmony_ci 105962306a36Sopenharmony_cistatic const u16 slv_snoc_bimc_rt_links[] = { 106062306a36Sopenharmony_ci QCM2290_MASTER_SNOC_BIMC_RT, 106162306a36Sopenharmony_ci}; 106262306a36Sopenharmony_ci 106362306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_bimc_rt = { 106462306a36Sopenharmony_ci .name = "slv_snoc_bimc_rt", 106562306a36Sopenharmony_ci .id = QCM2290_SLAVE_SNOC_BIMC_RT, 106662306a36Sopenharmony_ci .buswidth = 16, 106762306a36Sopenharmony_ci .qos.ap_owned = true, 106862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 106962306a36Sopenharmony_ci .mas_rpm_id = -1, 107062306a36Sopenharmony_ci .slv_rpm_id = 260, 107162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_bimc_rt_links), 107262306a36Sopenharmony_ci .links = slv_snoc_bimc_rt_links, 107362306a36Sopenharmony_ci}; 107462306a36Sopenharmony_ci 107562306a36Sopenharmony_cistatic struct qcom_icc_node slv_appss = { 107662306a36Sopenharmony_ci .name = "slv_appss", 107762306a36Sopenharmony_ci .id = QCM2290_SLAVE_APPSS, 107862306a36Sopenharmony_ci .buswidth = 8, 107962306a36Sopenharmony_ci .qos.ap_owned = true, 108062306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 108162306a36Sopenharmony_ci .mas_rpm_id = -1, 108262306a36Sopenharmony_ci .slv_rpm_id = 20, 108362306a36Sopenharmony_ci}; 108462306a36Sopenharmony_ci 108562306a36Sopenharmony_cistatic const u16 slv_snoc_cnoc_links[] = { 108662306a36Sopenharmony_ci QCM2290_MASTER_SNOC_CNOC, 108762306a36Sopenharmony_ci}; 108862306a36Sopenharmony_ci 108962306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_cnoc = { 109062306a36Sopenharmony_ci .name = "slv_snoc_cnoc", 109162306a36Sopenharmony_ci .id = QCM2290_SLAVE_SNOC_CNOC, 109262306a36Sopenharmony_ci .buswidth = 8, 109362306a36Sopenharmony_ci .mas_rpm_id = -1, 109462306a36Sopenharmony_ci .slv_rpm_id = 25, 109562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_cnoc_links), 109662306a36Sopenharmony_ci .links = slv_snoc_cnoc_links, 109762306a36Sopenharmony_ci}; 109862306a36Sopenharmony_ci 109962306a36Sopenharmony_cistatic struct qcom_icc_node slv_imem = { 110062306a36Sopenharmony_ci .name = "slv_imem", 110162306a36Sopenharmony_ci .id = QCM2290_SLAVE_IMEM, 110262306a36Sopenharmony_ci .buswidth = 8, 110362306a36Sopenharmony_ci .mas_rpm_id = -1, 110462306a36Sopenharmony_ci .slv_rpm_id = 26, 110562306a36Sopenharmony_ci}; 110662306a36Sopenharmony_ci 110762306a36Sopenharmony_cistatic struct qcom_icc_node slv_pimem = { 110862306a36Sopenharmony_ci .name = "slv_pimem", 110962306a36Sopenharmony_ci .id = QCM2290_SLAVE_PIMEM, 111062306a36Sopenharmony_ci .buswidth = 8, 111162306a36Sopenharmony_ci .qos.ap_owned = true, 111262306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 111362306a36Sopenharmony_ci .mas_rpm_id = -1, 111462306a36Sopenharmony_ci .slv_rpm_id = 166, 111562306a36Sopenharmony_ci}; 111662306a36Sopenharmony_ci 111762306a36Sopenharmony_cistatic const u16 slv_snoc_bimc_links[] = { 111862306a36Sopenharmony_ci QCM2290_MASTER_SNOC_BIMC, 111962306a36Sopenharmony_ci}; 112062306a36Sopenharmony_ci 112162306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_bimc = { 112262306a36Sopenharmony_ci .name = "slv_snoc_bimc", 112362306a36Sopenharmony_ci .id = QCM2290_SLAVE_SNOC_BIMC, 112462306a36Sopenharmony_ci .buswidth = 16, 112562306a36Sopenharmony_ci .mas_rpm_id = -1, 112662306a36Sopenharmony_ci .slv_rpm_id = 24, 112762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_bimc_links), 112862306a36Sopenharmony_ci .links = slv_snoc_bimc_links, 112962306a36Sopenharmony_ci}; 113062306a36Sopenharmony_ci 113162306a36Sopenharmony_cistatic struct qcom_icc_node slv_service_snoc = { 113262306a36Sopenharmony_ci .name = "slv_service_snoc", 113362306a36Sopenharmony_ci .id = QCM2290_SLAVE_SERVICE_SNOC, 113462306a36Sopenharmony_ci .buswidth = 4, 113562306a36Sopenharmony_ci .qos.ap_owned = true, 113662306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 113762306a36Sopenharmony_ci .mas_rpm_id = -1, 113862306a36Sopenharmony_ci .slv_rpm_id = 29, 113962306a36Sopenharmony_ci}; 114062306a36Sopenharmony_ci 114162306a36Sopenharmony_cistatic struct qcom_icc_node slv_qdss_stm = { 114262306a36Sopenharmony_ci .name = "slv_qdss_stm", 114362306a36Sopenharmony_ci .id = QCM2290_SLAVE_QDSS_STM, 114462306a36Sopenharmony_ci .buswidth = 4, 114562306a36Sopenharmony_ci .mas_rpm_id = -1, 114662306a36Sopenharmony_ci .slv_rpm_id = 30, 114762306a36Sopenharmony_ci}; 114862306a36Sopenharmony_ci 114962306a36Sopenharmony_cistatic struct qcom_icc_node slv_tcu = { 115062306a36Sopenharmony_ci .name = "slv_tcu", 115162306a36Sopenharmony_ci .id = QCM2290_SLAVE_TCU, 115262306a36Sopenharmony_ci .buswidth = 8, 115362306a36Sopenharmony_ci .qos.ap_owned = true, 115462306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 115562306a36Sopenharmony_ci .mas_rpm_id = -1, 115662306a36Sopenharmony_ci .slv_rpm_id = 133, 115762306a36Sopenharmony_ci}; 115862306a36Sopenharmony_ci 115962306a36Sopenharmony_cistatic const u16 slv_anoc_snoc_links[] = { 116062306a36Sopenharmony_ci QCM2290_MASTER_ANOC_SNOC, 116162306a36Sopenharmony_ci}; 116262306a36Sopenharmony_ci 116362306a36Sopenharmony_cistatic struct qcom_icc_node slv_anoc_snoc = { 116462306a36Sopenharmony_ci .name = "slv_anoc_snoc", 116562306a36Sopenharmony_ci .id = QCM2290_SLAVE_ANOC_SNOC, 116662306a36Sopenharmony_ci .buswidth = 16, 116762306a36Sopenharmony_ci .mas_rpm_id = -1, 116862306a36Sopenharmony_ci .slv_rpm_id = 141, 116962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_anoc_snoc_links), 117062306a36Sopenharmony_ci .links = slv_anoc_snoc_links, 117162306a36Sopenharmony_ci}; 117262306a36Sopenharmony_ci 117362306a36Sopenharmony_ci/* NoC descriptors */ 117462306a36Sopenharmony_cistatic struct qcom_icc_node * const qcm2290_bimc_nodes[] = { 117562306a36Sopenharmony_ci [MASTER_APPSS_PROC] = &mas_appss_proc, 117662306a36Sopenharmony_ci [MASTER_SNOC_BIMC_RT] = &mas_snoc_bimc_rt, 117762306a36Sopenharmony_ci [MASTER_SNOC_BIMC_NRT] = &mas_snoc_bimc_nrt, 117862306a36Sopenharmony_ci [MASTER_SNOC_BIMC] = &mas_snoc_bimc, 117962306a36Sopenharmony_ci [MASTER_TCU_0] = &mas_tcu_0, 118062306a36Sopenharmony_ci [MASTER_GFX3D] = &mas_gfx3d, 118162306a36Sopenharmony_ci [SLAVE_EBI1] = &slv_ebi1, 118262306a36Sopenharmony_ci [SLAVE_BIMC_SNOC] = &slv_bimc_snoc, 118362306a36Sopenharmony_ci}; 118462306a36Sopenharmony_ci 118562306a36Sopenharmony_cistatic const struct regmap_config qcm2290_bimc_regmap_config = { 118662306a36Sopenharmony_ci .reg_bits = 32, 118762306a36Sopenharmony_ci .reg_stride = 4, 118862306a36Sopenharmony_ci .val_bits = 32, 118962306a36Sopenharmony_ci .max_register = 0x80000, 119062306a36Sopenharmony_ci .fast_io = true, 119162306a36Sopenharmony_ci}; 119262306a36Sopenharmony_ci 119362306a36Sopenharmony_cistatic const struct qcom_icc_desc qcm2290_bimc = { 119462306a36Sopenharmony_ci .type = QCOM_ICC_BIMC, 119562306a36Sopenharmony_ci .nodes = qcm2290_bimc_nodes, 119662306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcm2290_bimc_nodes), 119762306a36Sopenharmony_ci .bus_clk_desc = &bimc_clk, 119862306a36Sopenharmony_ci .regmap_cfg = &qcm2290_bimc_regmap_config, 119962306a36Sopenharmony_ci .keep_alive = true, 120062306a36Sopenharmony_ci /* M_REG_BASE() in vendor msm_bus_bimc_adhoc driver */ 120162306a36Sopenharmony_ci .qos_offset = 0x8000, 120262306a36Sopenharmony_ci}; 120362306a36Sopenharmony_ci 120462306a36Sopenharmony_cistatic struct qcom_icc_node * const qcm2290_cnoc_nodes[] = { 120562306a36Sopenharmony_ci [MASTER_SNOC_CNOC] = &mas_snoc_cnoc, 120662306a36Sopenharmony_ci [MASTER_QDSS_DAP] = &mas_qdss_dap, 120762306a36Sopenharmony_ci [SLAVE_BIMC_CFG] = &slv_bimc_cfg, 120862306a36Sopenharmony_ci [SLAVE_CAMERA_NRT_THROTTLE_CFG] = &slv_camera_nrt_throttle_cfg, 120962306a36Sopenharmony_ci [SLAVE_CAMERA_RT_THROTTLE_CFG] = &slv_camera_rt_throttle_cfg, 121062306a36Sopenharmony_ci [SLAVE_CAMERA_CFG] = &slv_camera_cfg, 121162306a36Sopenharmony_ci [SLAVE_CLK_CTL] = &slv_clk_ctl, 121262306a36Sopenharmony_ci [SLAVE_CRYPTO_0_CFG] = &slv_crypto_0_cfg, 121362306a36Sopenharmony_ci [SLAVE_DISPLAY_CFG] = &slv_display_cfg, 121462306a36Sopenharmony_ci [SLAVE_DISPLAY_THROTTLE_CFG] = &slv_display_throttle_cfg, 121562306a36Sopenharmony_ci [SLAVE_GPU_CFG] = &slv_gpu_cfg, 121662306a36Sopenharmony_ci [SLAVE_HWKM] = &slv_hwkm, 121762306a36Sopenharmony_ci [SLAVE_IMEM_CFG] = &slv_imem_cfg, 121862306a36Sopenharmony_ci [SLAVE_IPA_CFG] = &slv_ipa_cfg, 121962306a36Sopenharmony_ci [SLAVE_LPASS] = &slv_lpass, 122062306a36Sopenharmony_ci [SLAVE_MESSAGE_RAM] = &slv_message_ram, 122162306a36Sopenharmony_ci [SLAVE_PDM] = &slv_pdm, 122262306a36Sopenharmony_ci [SLAVE_PIMEM_CFG] = &slv_pimem_cfg, 122362306a36Sopenharmony_ci [SLAVE_PKA_WRAPPER] = &slv_pka_wrapper, 122462306a36Sopenharmony_ci [SLAVE_PMIC_ARB] = &slv_pmic_arb, 122562306a36Sopenharmony_ci [SLAVE_PRNG] = &slv_prng, 122662306a36Sopenharmony_ci [SLAVE_QDSS_CFG] = &slv_qdss_cfg, 122762306a36Sopenharmony_ci [SLAVE_QM_CFG] = &slv_qm_cfg, 122862306a36Sopenharmony_ci [SLAVE_QM_MPU_CFG] = &slv_qm_mpu_cfg, 122962306a36Sopenharmony_ci [SLAVE_QPIC] = &slv_qpic, 123062306a36Sopenharmony_ci [SLAVE_QUP_0] = &slv_qup_0, 123162306a36Sopenharmony_ci [SLAVE_SDCC_1] = &slv_sdcc_1, 123262306a36Sopenharmony_ci [SLAVE_SDCC_2] = &slv_sdcc_2, 123362306a36Sopenharmony_ci [SLAVE_SNOC_CFG] = &slv_snoc_cfg, 123462306a36Sopenharmony_ci [SLAVE_TCSR] = &slv_tcsr, 123562306a36Sopenharmony_ci [SLAVE_USB3] = &slv_usb3, 123662306a36Sopenharmony_ci [SLAVE_VENUS_CFG] = &slv_venus_cfg, 123762306a36Sopenharmony_ci [SLAVE_VENUS_THROTTLE_CFG] = &slv_venus_throttle_cfg, 123862306a36Sopenharmony_ci [SLAVE_VSENSE_CTRL_CFG] = &slv_vsense_ctrl_cfg, 123962306a36Sopenharmony_ci [SLAVE_SERVICE_CNOC] = &slv_service_cnoc, 124062306a36Sopenharmony_ci}; 124162306a36Sopenharmony_ci 124262306a36Sopenharmony_cistatic const struct regmap_config qcm2290_cnoc_regmap_config = { 124362306a36Sopenharmony_ci .reg_bits = 32, 124462306a36Sopenharmony_ci .reg_stride = 4, 124562306a36Sopenharmony_ci .val_bits = 32, 124662306a36Sopenharmony_ci .max_register = 0x8200, 124762306a36Sopenharmony_ci .fast_io = true, 124862306a36Sopenharmony_ci}; 124962306a36Sopenharmony_ci 125062306a36Sopenharmony_cistatic const struct qcom_icc_desc qcm2290_cnoc = { 125162306a36Sopenharmony_ci .type = QCOM_ICC_NOC, 125262306a36Sopenharmony_ci .nodes = qcm2290_cnoc_nodes, 125362306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcm2290_cnoc_nodes), 125462306a36Sopenharmony_ci .bus_clk_desc = &bus_1_clk, 125562306a36Sopenharmony_ci .regmap_cfg = &qcm2290_cnoc_regmap_config, 125662306a36Sopenharmony_ci .keep_alive = true, 125762306a36Sopenharmony_ci}; 125862306a36Sopenharmony_ci 125962306a36Sopenharmony_cistatic struct qcom_icc_node * const qcm2290_snoc_nodes[] = { 126062306a36Sopenharmony_ci [MASTER_CRYPTO_CORE0] = &mas_crypto_core0, 126162306a36Sopenharmony_ci [MASTER_SNOC_CFG] = &mas_snoc_cfg, 126262306a36Sopenharmony_ci [MASTER_TIC] = &mas_tic, 126362306a36Sopenharmony_ci [MASTER_ANOC_SNOC] = &mas_anoc_snoc, 126462306a36Sopenharmony_ci [MASTER_BIMC_SNOC] = &mas_bimc_snoc, 126562306a36Sopenharmony_ci [MASTER_PIMEM] = &mas_pimem, 126662306a36Sopenharmony_ci [MASTER_QDSS_BAM] = &mas_qdss_bam, 126762306a36Sopenharmony_ci [MASTER_QUP_0] = &mas_qup_0, 126862306a36Sopenharmony_ci [MASTER_IPA] = &mas_ipa, 126962306a36Sopenharmony_ci [MASTER_QDSS_ETR] = &mas_qdss_etr, 127062306a36Sopenharmony_ci [MASTER_SDCC_1] = &mas_sdcc_1, 127162306a36Sopenharmony_ci [MASTER_SDCC_2] = &mas_sdcc_2, 127262306a36Sopenharmony_ci [MASTER_QPIC] = &mas_qpic, 127362306a36Sopenharmony_ci [MASTER_USB3_0] = &mas_usb3_0, 127462306a36Sopenharmony_ci [SLAVE_APPSS] = &slv_appss, 127562306a36Sopenharmony_ci [SLAVE_SNOC_CNOC] = &slv_snoc_cnoc, 127662306a36Sopenharmony_ci [SLAVE_IMEM] = &slv_imem, 127762306a36Sopenharmony_ci [SLAVE_PIMEM] = &slv_pimem, 127862306a36Sopenharmony_ci [SLAVE_SNOC_BIMC] = &slv_snoc_bimc, 127962306a36Sopenharmony_ci [SLAVE_SERVICE_SNOC] = &slv_service_snoc, 128062306a36Sopenharmony_ci [SLAVE_QDSS_STM] = &slv_qdss_stm, 128162306a36Sopenharmony_ci [SLAVE_TCU] = &slv_tcu, 128262306a36Sopenharmony_ci [SLAVE_ANOC_SNOC] = &slv_anoc_snoc, 128362306a36Sopenharmony_ci}; 128462306a36Sopenharmony_ci 128562306a36Sopenharmony_cistatic const struct regmap_config qcm2290_snoc_regmap_config = { 128662306a36Sopenharmony_ci .reg_bits = 32, 128762306a36Sopenharmony_ci .reg_stride = 4, 128862306a36Sopenharmony_ci .val_bits = 32, 128962306a36Sopenharmony_ci .max_register = 0x60200, 129062306a36Sopenharmony_ci .fast_io = true, 129162306a36Sopenharmony_ci}; 129262306a36Sopenharmony_ci 129362306a36Sopenharmony_cistatic const struct qcom_icc_desc qcm2290_snoc = { 129462306a36Sopenharmony_ci .type = QCOM_ICC_QNOC, 129562306a36Sopenharmony_ci .nodes = qcm2290_snoc_nodes, 129662306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcm2290_snoc_nodes), 129762306a36Sopenharmony_ci .bus_clk_desc = &bus_2_clk, 129862306a36Sopenharmony_ci .regmap_cfg = &qcm2290_snoc_regmap_config, 129962306a36Sopenharmony_ci .keep_alive = true, 130062306a36Sopenharmony_ci /* Vendor DT node fab-sys_noc property 'qcom,base-offset' */ 130162306a36Sopenharmony_ci .qos_offset = 0x15000, 130262306a36Sopenharmony_ci}; 130362306a36Sopenharmony_ci 130462306a36Sopenharmony_cistatic struct qcom_icc_node * const qcm2290_qup_virt_nodes[] = { 130562306a36Sopenharmony_ci [MASTER_QUP_CORE_0] = &mas_qup_core_0, 130662306a36Sopenharmony_ci [SLAVE_QUP_CORE_0] = &slv_qup_core_0 130762306a36Sopenharmony_ci}; 130862306a36Sopenharmony_ci 130962306a36Sopenharmony_cistatic const struct qcom_icc_desc qcm2290_qup_virt = { 131062306a36Sopenharmony_ci .type = QCOM_ICC_QNOC, 131162306a36Sopenharmony_ci .nodes = qcm2290_qup_virt_nodes, 131262306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcm2290_qup_virt_nodes), 131362306a36Sopenharmony_ci .bus_clk_desc = &qup_clk, 131462306a36Sopenharmony_ci .keep_alive = true, 131562306a36Sopenharmony_ci}; 131662306a36Sopenharmony_ci 131762306a36Sopenharmony_cistatic struct qcom_icc_node * const qcm2290_mmnrt_virt_nodes[] = { 131862306a36Sopenharmony_ci [MASTER_CAMNOC_SF] = &mas_camnoc_sf, 131962306a36Sopenharmony_ci [MASTER_VIDEO_P0] = &mas_video_p0, 132062306a36Sopenharmony_ci [MASTER_VIDEO_PROC] = &mas_video_proc, 132162306a36Sopenharmony_ci [SLAVE_SNOC_BIMC_NRT] = &slv_snoc_bimc_nrt, 132262306a36Sopenharmony_ci}; 132362306a36Sopenharmony_ci 132462306a36Sopenharmony_cistatic const struct qcom_icc_desc qcm2290_mmnrt_virt = { 132562306a36Sopenharmony_ci .type = QCOM_ICC_QNOC, 132662306a36Sopenharmony_ci .nodes = qcm2290_mmnrt_virt_nodes, 132762306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcm2290_mmnrt_virt_nodes), 132862306a36Sopenharmony_ci .bus_clk_desc = &mmaxi_0_clk, 132962306a36Sopenharmony_ci .regmap_cfg = &qcm2290_snoc_regmap_config, 133062306a36Sopenharmony_ci .keep_alive = true, 133162306a36Sopenharmony_ci .qos_offset = 0x15000, 133262306a36Sopenharmony_ci}; 133362306a36Sopenharmony_ci 133462306a36Sopenharmony_cistatic struct qcom_icc_node * const qcm2290_mmrt_virt_nodes[] = { 133562306a36Sopenharmony_ci [MASTER_CAMNOC_HF] = &mas_camnoc_hf, 133662306a36Sopenharmony_ci [MASTER_MDP0] = &mas_mdp0, 133762306a36Sopenharmony_ci [SLAVE_SNOC_BIMC_RT] = &slv_snoc_bimc_rt, 133862306a36Sopenharmony_ci}; 133962306a36Sopenharmony_ci 134062306a36Sopenharmony_cistatic const struct qcom_icc_desc qcm2290_mmrt_virt = { 134162306a36Sopenharmony_ci .type = QCOM_ICC_QNOC, 134262306a36Sopenharmony_ci .nodes = qcm2290_mmrt_virt_nodes, 134362306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcm2290_mmrt_virt_nodes), 134462306a36Sopenharmony_ci .bus_clk_desc = &mmaxi_1_clk, 134562306a36Sopenharmony_ci .regmap_cfg = &qcm2290_snoc_regmap_config, 134662306a36Sopenharmony_ci .keep_alive = true, 134762306a36Sopenharmony_ci .qos_offset = 0x15000, 134862306a36Sopenharmony_ci}; 134962306a36Sopenharmony_ci 135062306a36Sopenharmony_cistatic const struct of_device_id qcm2290_noc_of_match[] = { 135162306a36Sopenharmony_ci { .compatible = "qcom,qcm2290-bimc", .data = &qcm2290_bimc }, 135262306a36Sopenharmony_ci { .compatible = "qcom,qcm2290-cnoc", .data = &qcm2290_cnoc }, 135362306a36Sopenharmony_ci { .compatible = "qcom,qcm2290-snoc", .data = &qcm2290_snoc }, 135462306a36Sopenharmony_ci { .compatible = "qcom,qcm2290-qup-virt", .data = &qcm2290_qup_virt }, 135562306a36Sopenharmony_ci { .compatible = "qcom,qcm2290-mmrt-virt", .data = &qcm2290_mmrt_virt }, 135662306a36Sopenharmony_ci { .compatible = "qcom,qcm2290-mmnrt-virt", .data = &qcm2290_mmnrt_virt }, 135762306a36Sopenharmony_ci { }, 135862306a36Sopenharmony_ci}; 135962306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, qcm2290_noc_of_match); 136062306a36Sopenharmony_ci 136162306a36Sopenharmony_cistatic struct platform_driver qcm2290_noc_driver = { 136262306a36Sopenharmony_ci .probe = qnoc_probe, 136362306a36Sopenharmony_ci .remove = qnoc_remove, 136462306a36Sopenharmony_ci .driver = { 136562306a36Sopenharmony_ci .name = "qnoc-qcm2290", 136662306a36Sopenharmony_ci .of_match_table = qcm2290_noc_of_match, 136762306a36Sopenharmony_ci .sync_state = icc_sync_state, 136862306a36Sopenharmony_ci }, 136962306a36Sopenharmony_ci}; 137062306a36Sopenharmony_cimodule_platform_driver(qcm2290_noc_driver); 137162306a36Sopenharmony_ci 137262306a36Sopenharmony_ciMODULE_DESCRIPTION("Qualcomm QCM2290 NoC driver"); 137362306a36Sopenharmony_ciMODULE_LICENSE("GPL v2"); 1374