162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2020 Linaro Ltd 462306a36Sopenharmony_ci * Author: Jun Nie <jun.nie@linaro.org> 562306a36Sopenharmony_ci * With reference of msm8916 interconnect driver of Georgi Djakov. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <linux/device.h> 962306a36Sopenharmony_ci#include <linux/interconnect-provider.h> 1062306a36Sopenharmony_ci#include <linux/io.h> 1162306a36Sopenharmony_ci#include <linux/module.h> 1262306a36Sopenharmony_ci#include <linux/mod_devicetable.h> 1362306a36Sopenharmony_ci#include <linux/platform_device.h> 1462306a36Sopenharmony_ci#include <linux/regmap.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#include <dt-bindings/interconnect/qcom,msm8939.h> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#include "icc-rpm.h" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cienum { 2162306a36Sopenharmony_ci MSM8939_BIMC_SNOC_MAS = 1, 2262306a36Sopenharmony_ci MSM8939_BIMC_SNOC_SLV, 2362306a36Sopenharmony_ci MSM8939_MASTER_AMPSS_M0, 2462306a36Sopenharmony_ci MSM8939_MASTER_LPASS, 2562306a36Sopenharmony_ci MSM8939_MASTER_BLSP_1, 2662306a36Sopenharmony_ci MSM8939_MASTER_DEHR, 2762306a36Sopenharmony_ci MSM8939_MASTER_GRAPHICS_3D, 2862306a36Sopenharmony_ci MSM8939_MASTER_JPEG, 2962306a36Sopenharmony_ci MSM8939_MASTER_MDP_PORT0, 3062306a36Sopenharmony_ci MSM8939_MASTER_MDP_PORT1, 3162306a36Sopenharmony_ci MSM8939_MASTER_CPP, 3262306a36Sopenharmony_ci MSM8939_MASTER_CRYPTO_CORE0, 3362306a36Sopenharmony_ci MSM8939_MASTER_SDCC_1, 3462306a36Sopenharmony_ci MSM8939_MASTER_SDCC_2, 3562306a36Sopenharmony_ci MSM8939_MASTER_QDSS_BAM, 3662306a36Sopenharmony_ci MSM8939_MASTER_QDSS_ETR, 3762306a36Sopenharmony_ci MSM8939_MASTER_SNOC_CFG, 3862306a36Sopenharmony_ci MSM8939_MASTER_SPDM, 3962306a36Sopenharmony_ci MSM8939_MASTER_TCU0, 4062306a36Sopenharmony_ci MSM8939_MASTER_USB_HS1, 4162306a36Sopenharmony_ci MSM8939_MASTER_USB_HS2, 4262306a36Sopenharmony_ci MSM8939_MASTER_VFE, 4362306a36Sopenharmony_ci MSM8939_MASTER_VIDEO_P0, 4462306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_0, 4562306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_1, 4662306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2, 4762306a36Sopenharmony_ci MSM8939_PNOC_INT_0, 4862306a36Sopenharmony_ci MSM8939_PNOC_INT_1, 4962306a36Sopenharmony_ci MSM8939_PNOC_MAS_0, 5062306a36Sopenharmony_ci MSM8939_PNOC_MAS_1, 5162306a36Sopenharmony_ci MSM8939_PNOC_SLV_0, 5262306a36Sopenharmony_ci MSM8939_PNOC_SLV_1, 5362306a36Sopenharmony_ci MSM8939_PNOC_SLV_2, 5462306a36Sopenharmony_ci MSM8939_PNOC_SLV_3, 5562306a36Sopenharmony_ci MSM8939_PNOC_SLV_4, 5662306a36Sopenharmony_ci MSM8939_PNOC_SLV_8, 5762306a36Sopenharmony_ci MSM8939_PNOC_SLV_9, 5862306a36Sopenharmony_ci MSM8939_PNOC_SNOC_MAS, 5962306a36Sopenharmony_ci MSM8939_PNOC_SNOC_SLV, 6062306a36Sopenharmony_ci MSM8939_SNOC_QDSS_INT, 6162306a36Sopenharmony_ci MSM8939_SLAVE_AMPSS_L2, 6262306a36Sopenharmony_ci MSM8939_SLAVE_APSS, 6362306a36Sopenharmony_ci MSM8939_SLAVE_LPASS, 6462306a36Sopenharmony_ci MSM8939_SLAVE_BIMC_CFG, 6562306a36Sopenharmony_ci MSM8939_SLAVE_BLSP_1, 6662306a36Sopenharmony_ci MSM8939_SLAVE_BOOT_ROM, 6762306a36Sopenharmony_ci MSM8939_SLAVE_CAMERA_CFG, 6862306a36Sopenharmony_ci MSM8939_SLAVE_CATS_128, 6962306a36Sopenharmony_ci MSM8939_SLAVE_OCMEM_64, 7062306a36Sopenharmony_ci MSM8939_SLAVE_CLK_CTL, 7162306a36Sopenharmony_ci MSM8939_SLAVE_CRYPTO_0_CFG, 7262306a36Sopenharmony_ci MSM8939_SLAVE_DEHR_CFG, 7362306a36Sopenharmony_ci MSM8939_SLAVE_DISPLAY_CFG, 7462306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0, 7562306a36Sopenharmony_ci MSM8939_SLAVE_GRAPHICS_3D_CFG, 7662306a36Sopenharmony_ci MSM8939_SLAVE_IMEM_CFG, 7762306a36Sopenharmony_ci MSM8939_SLAVE_IMEM, 7862306a36Sopenharmony_ci MSM8939_SLAVE_MPM, 7962306a36Sopenharmony_ci MSM8939_SLAVE_MSG_RAM, 8062306a36Sopenharmony_ci MSM8939_SLAVE_MSS, 8162306a36Sopenharmony_ci MSM8939_SLAVE_PDM, 8262306a36Sopenharmony_ci MSM8939_SLAVE_PMIC_ARB, 8362306a36Sopenharmony_ci MSM8939_SLAVE_PNOC_CFG, 8462306a36Sopenharmony_ci MSM8939_SLAVE_PRNG, 8562306a36Sopenharmony_ci MSM8939_SLAVE_QDSS_CFG, 8662306a36Sopenharmony_ci MSM8939_SLAVE_QDSS_STM, 8762306a36Sopenharmony_ci MSM8939_SLAVE_RBCPR_CFG, 8862306a36Sopenharmony_ci MSM8939_SLAVE_SDCC_1, 8962306a36Sopenharmony_ci MSM8939_SLAVE_SDCC_2, 9062306a36Sopenharmony_ci MSM8939_SLAVE_SECURITY, 9162306a36Sopenharmony_ci MSM8939_SLAVE_SNOC_CFG, 9262306a36Sopenharmony_ci MSM8939_SLAVE_SPDM, 9362306a36Sopenharmony_ci MSM8939_SLAVE_SRVC_SNOC, 9462306a36Sopenharmony_ci MSM8939_SLAVE_TCSR, 9562306a36Sopenharmony_ci MSM8939_SLAVE_TLMM, 9662306a36Sopenharmony_ci MSM8939_SLAVE_USB_HS1, 9762306a36Sopenharmony_ci MSM8939_SLAVE_USB_HS2, 9862306a36Sopenharmony_ci MSM8939_SLAVE_VENUS_CFG, 9962306a36Sopenharmony_ci MSM8939_SNOC_BIMC_0_MAS, 10062306a36Sopenharmony_ci MSM8939_SNOC_BIMC_0_SLV, 10162306a36Sopenharmony_ci MSM8939_SNOC_BIMC_1_MAS, 10262306a36Sopenharmony_ci MSM8939_SNOC_BIMC_1_SLV, 10362306a36Sopenharmony_ci MSM8939_SNOC_BIMC_2_MAS, 10462306a36Sopenharmony_ci MSM8939_SNOC_BIMC_2_SLV, 10562306a36Sopenharmony_ci MSM8939_SNOC_INT_0, 10662306a36Sopenharmony_ci MSM8939_SNOC_INT_1, 10762306a36Sopenharmony_ci MSM8939_SNOC_INT_BIMC, 10862306a36Sopenharmony_ci MSM8939_SNOC_PNOC_MAS, 10962306a36Sopenharmony_ci MSM8939_SNOC_PNOC_SLV, 11062306a36Sopenharmony_ci}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_cistatic const u16 bimc_snoc_mas_links[] = { 11362306a36Sopenharmony_ci MSM8939_BIMC_SNOC_SLV 11462306a36Sopenharmony_ci}; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_cistatic struct qcom_icc_node bimc_snoc_mas = { 11762306a36Sopenharmony_ci .name = "bimc_snoc_mas", 11862306a36Sopenharmony_ci .id = MSM8939_BIMC_SNOC_MAS, 11962306a36Sopenharmony_ci .buswidth = 8, 12062306a36Sopenharmony_ci .mas_rpm_id = -1, 12162306a36Sopenharmony_ci .slv_rpm_id = -1, 12262306a36Sopenharmony_ci .qos.ap_owned = true, 12362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 12462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(bimc_snoc_mas_links), 12562306a36Sopenharmony_ci .links = bimc_snoc_mas_links, 12662306a36Sopenharmony_ci}; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_cistatic const u16 bimc_snoc_slv_links[] = { 12962306a36Sopenharmony_ci MSM8939_SNOC_INT_0, 13062306a36Sopenharmony_ci MSM8939_SNOC_INT_1 13162306a36Sopenharmony_ci}; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_cistatic struct qcom_icc_node bimc_snoc_slv = { 13462306a36Sopenharmony_ci .name = "bimc_snoc_slv", 13562306a36Sopenharmony_ci .id = MSM8939_BIMC_SNOC_SLV, 13662306a36Sopenharmony_ci .buswidth = 16, 13762306a36Sopenharmony_ci .mas_rpm_id = -1, 13862306a36Sopenharmony_ci .slv_rpm_id = 2, 13962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(bimc_snoc_slv_links), 14062306a36Sopenharmony_ci .links = bimc_snoc_slv_links, 14162306a36Sopenharmony_ci}; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_cistatic const u16 mas_apss_links[] = { 14462306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0, 14562306a36Sopenharmony_ci MSM8939_BIMC_SNOC_MAS, 14662306a36Sopenharmony_ci MSM8939_SLAVE_AMPSS_L2 14762306a36Sopenharmony_ci}; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_cistatic struct qcom_icc_node mas_apss = { 15062306a36Sopenharmony_ci .name = "mas_apss", 15162306a36Sopenharmony_ci .id = MSM8939_MASTER_AMPSS_M0, 15262306a36Sopenharmony_ci .buswidth = 16, 15362306a36Sopenharmony_ci .mas_rpm_id = -1, 15462306a36Sopenharmony_ci .slv_rpm_id = -1, 15562306a36Sopenharmony_ci .qos.ap_owned = true, 15662306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 15762306a36Sopenharmony_ci .qos.areq_prio = 0, 15862306a36Sopenharmony_ci .qos.prio_level = 0, 15962306a36Sopenharmony_ci .qos.qos_port = 0, 16062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_apss_links), 16162306a36Sopenharmony_ci .links = mas_apss_links, 16262306a36Sopenharmony_ci}; 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_cistatic const u16 mas_audio_links[] = { 16562306a36Sopenharmony_ci MSM8939_PNOC_MAS_0 16662306a36Sopenharmony_ci}; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_cistatic struct qcom_icc_node mas_audio = { 16962306a36Sopenharmony_ci .name = "mas_audio", 17062306a36Sopenharmony_ci .id = MSM8939_MASTER_LPASS, 17162306a36Sopenharmony_ci .buswidth = 4, 17262306a36Sopenharmony_ci .mas_rpm_id = -1, 17362306a36Sopenharmony_ci .slv_rpm_id = -1, 17462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_audio_links), 17562306a36Sopenharmony_ci .links = mas_audio_links, 17662306a36Sopenharmony_ci}; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_cistatic const u16 mas_blsp_1_links[] = { 17962306a36Sopenharmony_ci MSM8939_PNOC_MAS_1 18062306a36Sopenharmony_ci}; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_cistatic struct qcom_icc_node mas_blsp_1 = { 18362306a36Sopenharmony_ci .name = "mas_blsp_1", 18462306a36Sopenharmony_ci .id = MSM8939_MASTER_BLSP_1, 18562306a36Sopenharmony_ci .buswidth = 4, 18662306a36Sopenharmony_ci .mas_rpm_id = -1, 18762306a36Sopenharmony_ci .slv_rpm_id = -1, 18862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_blsp_1_links), 18962306a36Sopenharmony_ci .links = mas_blsp_1_links, 19062306a36Sopenharmony_ci}; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_cistatic const u16 mas_dehr_links[] = { 19362306a36Sopenharmony_ci MSM8939_PNOC_MAS_0 19462306a36Sopenharmony_ci}; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_cistatic struct qcom_icc_node mas_dehr = { 19762306a36Sopenharmony_ci .name = "mas_dehr", 19862306a36Sopenharmony_ci .id = MSM8939_MASTER_DEHR, 19962306a36Sopenharmony_ci .buswidth = 4, 20062306a36Sopenharmony_ci .mas_rpm_id = -1, 20162306a36Sopenharmony_ci .slv_rpm_id = -1, 20262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_dehr_links), 20362306a36Sopenharmony_ci .links = mas_dehr_links, 20462306a36Sopenharmony_ci}; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_cistatic const u16 mas_gfx_links[] = { 20762306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0, 20862306a36Sopenharmony_ci MSM8939_BIMC_SNOC_MAS, 20962306a36Sopenharmony_ci MSM8939_SLAVE_AMPSS_L2 21062306a36Sopenharmony_ci}; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_cistatic struct qcom_icc_node mas_gfx = { 21362306a36Sopenharmony_ci .name = "mas_gfx", 21462306a36Sopenharmony_ci .id = MSM8939_MASTER_GRAPHICS_3D, 21562306a36Sopenharmony_ci .buswidth = 16, 21662306a36Sopenharmony_ci .mas_rpm_id = -1, 21762306a36Sopenharmony_ci .slv_rpm_id = -1, 21862306a36Sopenharmony_ci .qos.ap_owned = true, 21962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 22062306a36Sopenharmony_ci .qos.areq_prio = 0, 22162306a36Sopenharmony_ci .qos.prio_level = 0, 22262306a36Sopenharmony_ci .qos.qos_port = 2, 22362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_gfx_links), 22462306a36Sopenharmony_ci .links = mas_gfx_links, 22562306a36Sopenharmony_ci}; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_cistatic const u16 mas_jpeg_links[] = { 22862306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_0, 22962306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2 23062306a36Sopenharmony_ci}; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_cistatic struct qcom_icc_node mas_jpeg = { 23362306a36Sopenharmony_ci .name = "mas_jpeg", 23462306a36Sopenharmony_ci .id = MSM8939_MASTER_JPEG, 23562306a36Sopenharmony_ci .buswidth = 16, 23662306a36Sopenharmony_ci .mas_rpm_id = -1, 23762306a36Sopenharmony_ci .slv_rpm_id = -1, 23862306a36Sopenharmony_ci .qos.ap_owned = true, 23962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 24062306a36Sopenharmony_ci .qos.areq_prio = 0, 24162306a36Sopenharmony_ci .qos.prio_level = 0, 24262306a36Sopenharmony_ci .qos.qos_port = 6, 24362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_jpeg_links), 24462306a36Sopenharmony_ci .links = mas_jpeg_links, 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_cistatic const u16 mas_mdp0_links[] = { 24862306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_1, 24962306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2 25062306a36Sopenharmony_ci}; 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_cistatic struct qcom_icc_node mas_mdp0 = { 25362306a36Sopenharmony_ci .name = "mas_mdp0", 25462306a36Sopenharmony_ci .id = MSM8939_MASTER_MDP_PORT0, 25562306a36Sopenharmony_ci .buswidth = 16, 25662306a36Sopenharmony_ci .mas_rpm_id = -1, 25762306a36Sopenharmony_ci .slv_rpm_id = -1, 25862306a36Sopenharmony_ci .qos.ap_owned = true, 25962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 26062306a36Sopenharmony_ci .qos.areq_prio = 0, 26162306a36Sopenharmony_ci .qos.prio_level = 0, 26262306a36Sopenharmony_ci .qos.qos_port = 7, 26362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_mdp0_links), 26462306a36Sopenharmony_ci .links = mas_mdp0_links, 26562306a36Sopenharmony_ci}; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_cistatic const u16 mas_mdp1_links[] = { 26862306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_0, 26962306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2 27062306a36Sopenharmony_ci}; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_cistatic struct qcom_icc_node mas_mdp1 = { 27362306a36Sopenharmony_ci .name = "mas_mdp1", 27462306a36Sopenharmony_ci .id = MSM8939_MASTER_MDP_PORT1, 27562306a36Sopenharmony_ci .buswidth = 16, 27662306a36Sopenharmony_ci .mas_rpm_id = -1, 27762306a36Sopenharmony_ci .slv_rpm_id = -1, 27862306a36Sopenharmony_ci .qos.ap_owned = true, 27962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 28062306a36Sopenharmony_ci .qos.areq_prio = 0, 28162306a36Sopenharmony_ci .qos.prio_level = 0, 28262306a36Sopenharmony_ci .qos.qos_port = 13, 28362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_mdp1_links), 28462306a36Sopenharmony_ci .links = mas_mdp1_links, 28562306a36Sopenharmony_ci}; 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_cistatic const u16 mas_cpp_links[] = { 28862306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_0, 28962306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2 29062306a36Sopenharmony_ci}; 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_cistatic struct qcom_icc_node mas_cpp = { 29362306a36Sopenharmony_ci .name = "mas_cpp", 29462306a36Sopenharmony_ci .id = MSM8939_MASTER_CPP, 29562306a36Sopenharmony_ci .buswidth = 16, 29662306a36Sopenharmony_ci .mas_rpm_id = -1, 29762306a36Sopenharmony_ci .slv_rpm_id = -1, 29862306a36Sopenharmony_ci .qos.ap_owned = true, 29962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 30062306a36Sopenharmony_ci .qos.areq_prio = 0, 30162306a36Sopenharmony_ci .qos.prio_level = 0, 30262306a36Sopenharmony_ci .qos.qos_port = 12, 30362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_cpp_links), 30462306a36Sopenharmony_ci .links = mas_cpp_links, 30562306a36Sopenharmony_ci}; 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_cistatic const u16 mas_pcnoc_crypto_0_links[] = { 30862306a36Sopenharmony_ci MSM8939_PNOC_INT_1 30962306a36Sopenharmony_ci}; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_cistatic struct qcom_icc_node mas_pcnoc_crypto_0 = { 31262306a36Sopenharmony_ci .name = "mas_pcnoc_crypto_0", 31362306a36Sopenharmony_ci .id = MSM8939_MASTER_CRYPTO_CORE0, 31462306a36Sopenharmony_ci .buswidth = 8, 31562306a36Sopenharmony_ci .mas_rpm_id = -1, 31662306a36Sopenharmony_ci .slv_rpm_id = -1, 31762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_pcnoc_crypto_0_links), 31862306a36Sopenharmony_ci .links = mas_pcnoc_crypto_0_links, 31962306a36Sopenharmony_ci}; 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_cistatic const u16 mas_pcnoc_sdcc_1_links[] = { 32262306a36Sopenharmony_ci MSM8939_PNOC_INT_1 32362306a36Sopenharmony_ci}; 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_cistatic struct qcom_icc_node mas_pcnoc_sdcc_1 = { 32662306a36Sopenharmony_ci .name = "mas_pcnoc_sdcc_1", 32762306a36Sopenharmony_ci .id = MSM8939_MASTER_SDCC_1, 32862306a36Sopenharmony_ci .buswidth = 8, 32962306a36Sopenharmony_ci .mas_rpm_id = -1, 33062306a36Sopenharmony_ci .slv_rpm_id = -1, 33162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_pcnoc_sdcc_1_links), 33262306a36Sopenharmony_ci .links = mas_pcnoc_sdcc_1_links, 33362306a36Sopenharmony_ci}; 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_cistatic const u16 mas_pcnoc_sdcc_2_links[] = { 33662306a36Sopenharmony_ci MSM8939_PNOC_INT_1 33762306a36Sopenharmony_ci}; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_cistatic struct qcom_icc_node mas_pcnoc_sdcc_2 = { 34062306a36Sopenharmony_ci .name = "mas_pcnoc_sdcc_2", 34162306a36Sopenharmony_ci .id = MSM8939_MASTER_SDCC_2, 34262306a36Sopenharmony_ci .buswidth = 8, 34362306a36Sopenharmony_ci .mas_rpm_id = -1, 34462306a36Sopenharmony_ci .slv_rpm_id = -1, 34562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_pcnoc_sdcc_2_links), 34662306a36Sopenharmony_ci .links = mas_pcnoc_sdcc_2_links, 34762306a36Sopenharmony_ci}; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_cistatic const u16 mas_qdss_bam_links[] = { 35062306a36Sopenharmony_ci MSM8939_SNOC_QDSS_INT 35162306a36Sopenharmony_ci}; 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_bam = { 35462306a36Sopenharmony_ci .name = "mas_qdss_bam", 35562306a36Sopenharmony_ci .id = MSM8939_MASTER_QDSS_BAM, 35662306a36Sopenharmony_ci .buswidth = 8, 35762306a36Sopenharmony_ci .mas_rpm_id = -1, 35862306a36Sopenharmony_ci .slv_rpm_id = -1, 35962306a36Sopenharmony_ci .qos.ap_owned = true, 36062306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 36162306a36Sopenharmony_ci .qos.areq_prio = 1, 36262306a36Sopenharmony_ci .qos.prio_level = 1, 36362306a36Sopenharmony_ci .qos.qos_port = 11, 36462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_bam_links), 36562306a36Sopenharmony_ci .links = mas_qdss_bam_links, 36662306a36Sopenharmony_ci}; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_cistatic const u16 mas_qdss_etr_links[] = { 36962306a36Sopenharmony_ci MSM8939_SNOC_QDSS_INT 37062306a36Sopenharmony_ci}; 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_etr = { 37362306a36Sopenharmony_ci .name = "mas_qdss_etr", 37462306a36Sopenharmony_ci .id = MSM8939_MASTER_QDSS_ETR, 37562306a36Sopenharmony_ci .buswidth = 8, 37662306a36Sopenharmony_ci .mas_rpm_id = -1, 37762306a36Sopenharmony_ci .slv_rpm_id = -1, 37862306a36Sopenharmony_ci .qos.ap_owned = true, 37962306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 38062306a36Sopenharmony_ci .qos.areq_prio = 1, 38162306a36Sopenharmony_ci .qos.prio_level = 1, 38262306a36Sopenharmony_ci .qos.qos_port = 10, 38362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_etr_links), 38462306a36Sopenharmony_ci .links = mas_qdss_etr_links, 38562306a36Sopenharmony_ci}; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_cistatic const u16 mas_snoc_cfg_links[] = { 38862306a36Sopenharmony_ci MSM8939_SLAVE_SRVC_SNOC 38962306a36Sopenharmony_ci}; 39062306a36Sopenharmony_ci 39162306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_cfg = { 39262306a36Sopenharmony_ci .name = "mas_snoc_cfg", 39362306a36Sopenharmony_ci .id = MSM8939_MASTER_SNOC_CFG, 39462306a36Sopenharmony_ci .buswidth = 4, 39562306a36Sopenharmony_ci .mas_rpm_id = -1, 39662306a36Sopenharmony_ci .slv_rpm_id = -1, 39762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_cfg_links), 39862306a36Sopenharmony_ci .links = mas_snoc_cfg_links, 39962306a36Sopenharmony_ci}; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_cistatic const u16 mas_spdm_links[] = { 40262306a36Sopenharmony_ci MSM8939_PNOC_MAS_0 40362306a36Sopenharmony_ci}; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_cistatic struct qcom_icc_node mas_spdm = { 40662306a36Sopenharmony_ci .name = "mas_spdm", 40762306a36Sopenharmony_ci .id = MSM8939_MASTER_SPDM, 40862306a36Sopenharmony_ci .buswidth = 4, 40962306a36Sopenharmony_ci .mas_rpm_id = -1, 41062306a36Sopenharmony_ci .slv_rpm_id = -1, 41162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_spdm_links), 41262306a36Sopenharmony_ci .links = mas_spdm_links, 41362306a36Sopenharmony_ci}; 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_cistatic const u16 mas_tcu0_links[] = { 41662306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0, 41762306a36Sopenharmony_ci MSM8939_BIMC_SNOC_MAS, 41862306a36Sopenharmony_ci MSM8939_SLAVE_AMPSS_L2 41962306a36Sopenharmony_ci}; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_cistatic struct qcom_icc_node mas_tcu0 = { 42262306a36Sopenharmony_ci .name = "mas_tcu0", 42362306a36Sopenharmony_ci .id = MSM8939_MASTER_TCU0, 42462306a36Sopenharmony_ci .buswidth = 16, 42562306a36Sopenharmony_ci .mas_rpm_id = -1, 42662306a36Sopenharmony_ci .slv_rpm_id = -1, 42762306a36Sopenharmony_ci .qos.ap_owned = true, 42862306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_FIXED, 42962306a36Sopenharmony_ci .qos.areq_prio = 2, 43062306a36Sopenharmony_ci .qos.prio_level = 2, 43162306a36Sopenharmony_ci .qos.qos_port = 6, 43262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_tcu0_links), 43362306a36Sopenharmony_ci .links = mas_tcu0_links, 43462306a36Sopenharmony_ci}; 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_cistatic const u16 mas_usb_hs1_links[] = { 43762306a36Sopenharmony_ci MSM8939_PNOC_MAS_1 43862306a36Sopenharmony_ci}; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_cistatic struct qcom_icc_node mas_usb_hs1 = { 44162306a36Sopenharmony_ci .name = "mas_usb_hs1", 44262306a36Sopenharmony_ci .id = MSM8939_MASTER_USB_HS1, 44362306a36Sopenharmony_ci .buswidth = 4, 44462306a36Sopenharmony_ci .mas_rpm_id = -1, 44562306a36Sopenharmony_ci .slv_rpm_id = -1, 44662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_usb_hs1_links), 44762306a36Sopenharmony_ci .links = mas_usb_hs1_links, 44862306a36Sopenharmony_ci}; 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_cistatic const u16 mas_usb_hs2_links[] = { 45162306a36Sopenharmony_ci MSM8939_PNOC_MAS_1 45262306a36Sopenharmony_ci}; 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_cistatic struct qcom_icc_node mas_usb_hs2 = { 45562306a36Sopenharmony_ci .name = "mas_usb_hs2", 45662306a36Sopenharmony_ci .id = MSM8939_MASTER_USB_HS2, 45762306a36Sopenharmony_ci .buswidth = 4, 45862306a36Sopenharmony_ci .mas_rpm_id = -1, 45962306a36Sopenharmony_ci .slv_rpm_id = -1, 46062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_usb_hs2_links), 46162306a36Sopenharmony_ci .links = mas_usb_hs2_links, 46262306a36Sopenharmony_ci}; 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_cistatic const u16 mas_vfe_links[] = { 46562306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_1, 46662306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2 46762306a36Sopenharmony_ci}; 46862306a36Sopenharmony_ci 46962306a36Sopenharmony_cistatic struct qcom_icc_node mas_vfe = { 47062306a36Sopenharmony_ci .name = "mas_vfe", 47162306a36Sopenharmony_ci .id = MSM8939_MASTER_VFE, 47262306a36Sopenharmony_ci .buswidth = 16, 47362306a36Sopenharmony_ci .mas_rpm_id = -1, 47462306a36Sopenharmony_ci .slv_rpm_id = -1, 47562306a36Sopenharmony_ci .qos.ap_owned = true, 47662306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 47762306a36Sopenharmony_ci .qos.areq_prio = 0, 47862306a36Sopenharmony_ci .qos.prio_level = 0, 47962306a36Sopenharmony_ci .qos.qos_port = 9, 48062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_vfe_links), 48162306a36Sopenharmony_ci .links = mas_vfe_links, 48262306a36Sopenharmony_ci}; 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_cistatic const u16 mas_video_links[] = { 48562306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_0, 48662306a36Sopenharmony_ci MSM8939_SNOC_MM_INT_2 48762306a36Sopenharmony_ci}; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_cistatic struct qcom_icc_node mas_video = { 49062306a36Sopenharmony_ci .name = "mas_video", 49162306a36Sopenharmony_ci .id = MSM8939_MASTER_VIDEO_P0, 49262306a36Sopenharmony_ci .buswidth = 16, 49362306a36Sopenharmony_ci .mas_rpm_id = -1, 49462306a36Sopenharmony_ci .slv_rpm_id = -1, 49562306a36Sopenharmony_ci .qos.ap_owned = true, 49662306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_BYPASS, 49762306a36Sopenharmony_ci .qos.areq_prio = 0, 49862306a36Sopenharmony_ci .qos.prio_level = 0, 49962306a36Sopenharmony_ci .qos.qos_port = 8, 50062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_video_links), 50162306a36Sopenharmony_ci .links = mas_video_links, 50262306a36Sopenharmony_ci}; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_cistatic const u16 mm_int_0_links[] = { 50562306a36Sopenharmony_ci MSM8939_SNOC_BIMC_2_MAS 50662306a36Sopenharmony_ci}; 50762306a36Sopenharmony_ci 50862306a36Sopenharmony_cistatic struct qcom_icc_node mm_int_0 = { 50962306a36Sopenharmony_ci .name = "mm_int_0", 51062306a36Sopenharmony_ci .id = MSM8939_SNOC_MM_INT_0, 51162306a36Sopenharmony_ci .buswidth = 16, 51262306a36Sopenharmony_ci .mas_rpm_id = -1, 51362306a36Sopenharmony_ci .slv_rpm_id = -1, 51462306a36Sopenharmony_ci .qos.ap_owned = true, 51562306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 51662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mm_int_0_links), 51762306a36Sopenharmony_ci .links = mm_int_0_links, 51862306a36Sopenharmony_ci}; 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_cistatic const u16 mm_int_1_links[] = { 52162306a36Sopenharmony_ci MSM8939_SNOC_BIMC_1_MAS 52262306a36Sopenharmony_ci}; 52362306a36Sopenharmony_ci 52462306a36Sopenharmony_cistatic struct qcom_icc_node mm_int_1 = { 52562306a36Sopenharmony_ci .name = "mm_int_1", 52662306a36Sopenharmony_ci .id = MSM8939_SNOC_MM_INT_1, 52762306a36Sopenharmony_ci .buswidth = 16, 52862306a36Sopenharmony_ci .mas_rpm_id = -1, 52962306a36Sopenharmony_ci .slv_rpm_id = -1, 53062306a36Sopenharmony_ci .qos.ap_owned = true, 53162306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 53262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mm_int_1_links), 53362306a36Sopenharmony_ci .links = mm_int_1_links, 53462306a36Sopenharmony_ci}; 53562306a36Sopenharmony_ci 53662306a36Sopenharmony_cistatic const u16 mm_int_2_links[] = { 53762306a36Sopenharmony_ci MSM8939_SNOC_INT_0 53862306a36Sopenharmony_ci}; 53962306a36Sopenharmony_ci 54062306a36Sopenharmony_cistatic struct qcom_icc_node mm_int_2 = { 54162306a36Sopenharmony_ci .name = "mm_int_2", 54262306a36Sopenharmony_ci .id = MSM8939_SNOC_MM_INT_2, 54362306a36Sopenharmony_ci .buswidth = 16, 54462306a36Sopenharmony_ci .mas_rpm_id = -1, 54562306a36Sopenharmony_ci .slv_rpm_id = -1, 54662306a36Sopenharmony_ci .qos.ap_owned = true, 54762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 54862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mm_int_2_links), 54962306a36Sopenharmony_ci .links = mm_int_2_links, 55062306a36Sopenharmony_ci}; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_cistatic const u16 pcnoc_int_0_links[] = { 55362306a36Sopenharmony_ci MSM8939_PNOC_SNOC_MAS, 55462306a36Sopenharmony_ci MSM8939_PNOC_SLV_0, 55562306a36Sopenharmony_ci MSM8939_PNOC_SLV_1, 55662306a36Sopenharmony_ci MSM8939_PNOC_SLV_2, 55762306a36Sopenharmony_ci MSM8939_PNOC_SLV_3, 55862306a36Sopenharmony_ci MSM8939_PNOC_SLV_4, 55962306a36Sopenharmony_ci MSM8939_PNOC_SLV_8, 56062306a36Sopenharmony_ci MSM8939_PNOC_SLV_9 56162306a36Sopenharmony_ci}; 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_int_0 = { 56462306a36Sopenharmony_ci .name = "pcnoc_int_0", 56562306a36Sopenharmony_ci .id = MSM8939_PNOC_INT_0, 56662306a36Sopenharmony_ci .buswidth = 8, 56762306a36Sopenharmony_ci .mas_rpm_id = -1, 56862306a36Sopenharmony_ci .slv_rpm_id = -1, 56962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_int_0_links), 57062306a36Sopenharmony_ci .links = pcnoc_int_0_links, 57162306a36Sopenharmony_ci}; 57262306a36Sopenharmony_ci 57362306a36Sopenharmony_cistatic const u16 pcnoc_int_1_links[] = { 57462306a36Sopenharmony_ci MSM8939_PNOC_SNOC_MAS 57562306a36Sopenharmony_ci}; 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_int_1 = { 57862306a36Sopenharmony_ci .name = "pcnoc_int_1", 57962306a36Sopenharmony_ci .id = MSM8939_PNOC_INT_1, 58062306a36Sopenharmony_ci .buswidth = 8, 58162306a36Sopenharmony_ci .mas_rpm_id = -1, 58262306a36Sopenharmony_ci .slv_rpm_id = -1, 58362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_int_1_links), 58462306a36Sopenharmony_ci .links = pcnoc_int_1_links, 58562306a36Sopenharmony_ci}; 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_cistatic const u16 pcnoc_m_0_links[] = { 58862306a36Sopenharmony_ci MSM8939_PNOC_INT_0 58962306a36Sopenharmony_ci}; 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_m_0 = { 59262306a36Sopenharmony_ci .name = "pcnoc_m_0", 59362306a36Sopenharmony_ci .id = MSM8939_PNOC_MAS_0, 59462306a36Sopenharmony_ci .buswidth = 8, 59562306a36Sopenharmony_ci .mas_rpm_id = -1, 59662306a36Sopenharmony_ci .slv_rpm_id = -1, 59762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_m_0_links), 59862306a36Sopenharmony_ci .links = pcnoc_m_0_links, 59962306a36Sopenharmony_ci}; 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_cistatic const u16 pcnoc_m_1_links[] = { 60262306a36Sopenharmony_ci MSM8939_PNOC_SNOC_MAS 60362306a36Sopenharmony_ci}; 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_m_1 = { 60662306a36Sopenharmony_ci .name = "pcnoc_m_1", 60762306a36Sopenharmony_ci .id = MSM8939_PNOC_MAS_1, 60862306a36Sopenharmony_ci .buswidth = 8, 60962306a36Sopenharmony_ci .mas_rpm_id = -1, 61062306a36Sopenharmony_ci .slv_rpm_id = -1, 61162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_m_1_links), 61262306a36Sopenharmony_ci .links = pcnoc_m_1_links, 61362306a36Sopenharmony_ci}; 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_cistatic const u16 pcnoc_s_0_links[] = { 61662306a36Sopenharmony_ci MSM8939_SLAVE_CLK_CTL, 61762306a36Sopenharmony_ci MSM8939_SLAVE_TLMM, 61862306a36Sopenharmony_ci MSM8939_SLAVE_TCSR, 61962306a36Sopenharmony_ci MSM8939_SLAVE_SECURITY, 62062306a36Sopenharmony_ci MSM8939_SLAVE_MSS 62162306a36Sopenharmony_ci}; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_0 = { 62462306a36Sopenharmony_ci .name = "pcnoc_s_0", 62562306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_0, 62662306a36Sopenharmony_ci .buswidth = 4, 62762306a36Sopenharmony_ci .mas_rpm_id = -1, 62862306a36Sopenharmony_ci .slv_rpm_id = -1, 62962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_0_links), 63062306a36Sopenharmony_ci .links = pcnoc_s_0_links, 63162306a36Sopenharmony_ci}; 63262306a36Sopenharmony_ci 63362306a36Sopenharmony_cistatic const u16 pcnoc_s_1_links[] = { 63462306a36Sopenharmony_ci MSM8939_SLAVE_IMEM_CFG, 63562306a36Sopenharmony_ci MSM8939_SLAVE_CRYPTO_0_CFG, 63662306a36Sopenharmony_ci MSM8939_SLAVE_MSG_RAM, 63762306a36Sopenharmony_ci MSM8939_SLAVE_PDM, 63862306a36Sopenharmony_ci MSM8939_SLAVE_PRNG 63962306a36Sopenharmony_ci}; 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_1 = { 64262306a36Sopenharmony_ci .name = "pcnoc_s_1", 64362306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_1, 64462306a36Sopenharmony_ci .buswidth = 4, 64562306a36Sopenharmony_ci .mas_rpm_id = -1, 64662306a36Sopenharmony_ci .slv_rpm_id = -1, 64762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_1_links), 64862306a36Sopenharmony_ci .links = pcnoc_s_1_links, 64962306a36Sopenharmony_ci}; 65062306a36Sopenharmony_ci 65162306a36Sopenharmony_cistatic const u16 pcnoc_s_2_links[] = { 65262306a36Sopenharmony_ci MSM8939_SLAVE_SPDM, 65362306a36Sopenharmony_ci MSM8939_SLAVE_BOOT_ROM, 65462306a36Sopenharmony_ci MSM8939_SLAVE_BIMC_CFG, 65562306a36Sopenharmony_ci MSM8939_SLAVE_PNOC_CFG, 65662306a36Sopenharmony_ci MSM8939_SLAVE_PMIC_ARB 65762306a36Sopenharmony_ci}; 65862306a36Sopenharmony_ci 65962306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_2 = { 66062306a36Sopenharmony_ci .name = "pcnoc_s_2", 66162306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_2, 66262306a36Sopenharmony_ci .buswidth = 4, 66362306a36Sopenharmony_ci .mas_rpm_id = -1, 66462306a36Sopenharmony_ci .slv_rpm_id = -1, 66562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_2_links), 66662306a36Sopenharmony_ci .links = pcnoc_s_2_links, 66762306a36Sopenharmony_ci}; 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_cistatic const u16 pcnoc_s_3_links[] = { 67062306a36Sopenharmony_ci MSM8939_SLAVE_MPM, 67162306a36Sopenharmony_ci MSM8939_SLAVE_SNOC_CFG, 67262306a36Sopenharmony_ci MSM8939_SLAVE_RBCPR_CFG, 67362306a36Sopenharmony_ci MSM8939_SLAVE_QDSS_CFG, 67462306a36Sopenharmony_ci MSM8939_SLAVE_DEHR_CFG 67562306a36Sopenharmony_ci}; 67662306a36Sopenharmony_ci 67762306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_3 = { 67862306a36Sopenharmony_ci .name = "pcnoc_s_3", 67962306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_3, 68062306a36Sopenharmony_ci .buswidth = 4, 68162306a36Sopenharmony_ci .mas_rpm_id = -1, 68262306a36Sopenharmony_ci .slv_rpm_id = -1, 68362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_3_links), 68462306a36Sopenharmony_ci .links = pcnoc_s_3_links, 68562306a36Sopenharmony_ci}; 68662306a36Sopenharmony_ci 68762306a36Sopenharmony_cistatic const u16 pcnoc_s_4_links[] = { 68862306a36Sopenharmony_ci MSM8939_SLAVE_VENUS_CFG, 68962306a36Sopenharmony_ci MSM8939_SLAVE_CAMERA_CFG, 69062306a36Sopenharmony_ci MSM8939_SLAVE_DISPLAY_CFG 69162306a36Sopenharmony_ci}; 69262306a36Sopenharmony_ci 69362306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_4 = { 69462306a36Sopenharmony_ci .name = "pcnoc_s_4", 69562306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_4, 69662306a36Sopenharmony_ci .buswidth = 4, 69762306a36Sopenharmony_ci .mas_rpm_id = -1, 69862306a36Sopenharmony_ci .slv_rpm_id = -1, 69962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_4_links), 70062306a36Sopenharmony_ci .links = pcnoc_s_4_links, 70162306a36Sopenharmony_ci}; 70262306a36Sopenharmony_ci 70362306a36Sopenharmony_cistatic const u16 pcnoc_s_8_links[] = { 70462306a36Sopenharmony_ci MSM8939_SLAVE_USB_HS1, 70562306a36Sopenharmony_ci MSM8939_SLAVE_SDCC_1, 70662306a36Sopenharmony_ci MSM8939_SLAVE_BLSP_1 70762306a36Sopenharmony_ci}; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_8 = { 71062306a36Sopenharmony_ci .name = "pcnoc_s_8", 71162306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_8, 71262306a36Sopenharmony_ci .buswidth = 4, 71362306a36Sopenharmony_ci .mas_rpm_id = -1, 71462306a36Sopenharmony_ci .slv_rpm_id = -1, 71562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_8_links), 71662306a36Sopenharmony_ci .links = pcnoc_s_8_links, 71762306a36Sopenharmony_ci}; 71862306a36Sopenharmony_ci 71962306a36Sopenharmony_cistatic const u16 pcnoc_s_9_links[] = { 72062306a36Sopenharmony_ci MSM8939_SLAVE_SDCC_2, 72162306a36Sopenharmony_ci MSM8939_SLAVE_LPASS, 72262306a36Sopenharmony_ci MSM8939_SLAVE_USB_HS2 72362306a36Sopenharmony_ci}; 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_9 = { 72662306a36Sopenharmony_ci .name = "pcnoc_s_9", 72762306a36Sopenharmony_ci .id = MSM8939_PNOC_SLV_9, 72862306a36Sopenharmony_ci .buswidth = 4, 72962306a36Sopenharmony_ci .mas_rpm_id = -1, 73062306a36Sopenharmony_ci .slv_rpm_id = -1, 73162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_9_links), 73262306a36Sopenharmony_ci .links = pcnoc_s_9_links, 73362306a36Sopenharmony_ci}; 73462306a36Sopenharmony_ci 73562306a36Sopenharmony_cistatic const u16 pcnoc_snoc_mas_links[] = { 73662306a36Sopenharmony_ci MSM8939_PNOC_SNOC_SLV 73762306a36Sopenharmony_ci}; 73862306a36Sopenharmony_ci 73962306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_snoc_mas = { 74062306a36Sopenharmony_ci .name = "pcnoc_snoc_mas", 74162306a36Sopenharmony_ci .id = MSM8939_PNOC_SNOC_MAS, 74262306a36Sopenharmony_ci .buswidth = 8, 74362306a36Sopenharmony_ci .mas_rpm_id = 29, 74462306a36Sopenharmony_ci .slv_rpm_id = -1, 74562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_snoc_mas_links), 74662306a36Sopenharmony_ci .links = pcnoc_snoc_mas_links, 74762306a36Sopenharmony_ci}; 74862306a36Sopenharmony_ci 74962306a36Sopenharmony_cistatic const u16 pcnoc_snoc_slv_links[] = { 75062306a36Sopenharmony_ci MSM8939_SNOC_INT_0, 75162306a36Sopenharmony_ci MSM8939_SNOC_INT_BIMC, 75262306a36Sopenharmony_ci MSM8939_SNOC_INT_1 75362306a36Sopenharmony_ci}; 75462306a36Sopenharmony_ci 75562306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_snoc_slv = { 75662306a36Sopenharmony_ci .name = "pcnoc_snoc_slv", 75762306a36Sopenharmony_ci .id = MSM8939_PNOC_SNOC_SLV, 75862306a36Sopenharmony_ci .buswidth = 8, 75962306a36Sopenharmony_ci .mas_rpm_id = -1, 76062306a36Sopenharmony_ci .slv_rpm_id = 45, 76162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_snoc_slv_links), 76262306a36Sopenharmony_ci .links = pcnoc_snoc_slv_links, 76362306a36Sopenharmony_ci}; 76462306a36Sopenharmony_ci 76562306a36Sopenharmony_cistatic const u16 qdss_int_links[] = { 76662306a36Sopenharmony_ci MSM8939_SNOC_INT_0, 76762306a36Sopenharmony_ci MSM8939_SNOC_INT_BIMC 76862306a36Sopenharmony_ci}; 76962306a36Sopenharmony_ci 77062306a36Sopenharmony_cistatic struct qcom_icc_node qdss_int = { 77162306a36Sopenharmony_ci .name = "qdss_int", 77262306a36Sopenharmony_ci .id = MSM8939_SNOC_QDSS_INT, 77362306a36Sopenharmony_ci .buswidth = 8, 77462306a36Sopenharmony_ci .mas_rpm_id = -1, 77562306a36Sopenharmony_ci .slv_rpm_id = -1, 77662306a36Sopenharmony_ci .qos.ap_owned = true, 77762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 77862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(qdss_int_links), 77962306a36Sopenharmony_ci .links = qdss_int_links, 78062306a36Sopenharmony_ci}; 78162306a36Sopenharmony_ci 78262306a36Sopenharmony_cistatic struct qcom_icc_node slv_apps_l2 = { 78362306a36Sopenharmony_ci .name = "slv_apps_l2", 78462306a36Sopenharmony_ci .id = MSM8939_SLAVE_AMPSS_L2, 78562306a36Sopenharmony_ci .buswidth = 16, 78662306a36Sopenharmony_ci .mas_rpm_id = -1, 78762306a36Sopenharmony_ci .slv_rpm_id = -1, 78862306a36Sopenharmony_ci}; 78962306a36Sopenharmony_ci 79062306a36Sopenharmony_cistatic struct qcom_icc_node slv_apss = { 79162306a36Sopenharmony_ci .name = "slv_apss", 79262306a36Sopenharmony_ci .id = MSM8939_SLAVE_APSS, 79362306a36Sopenharmony_ci .buswidth = 4, 79462306a36Sopenharmony_ci .mas_rpm_id = -1, 79562306a36Sopenharmony_ci .slv_rpm_id = -1, 79662306a36Sopenharmony_ci}; 79762306a36Sopenharmony_ci 79862306a36Sopenharmony_cistatic struct qcom_icc_node slv_audio = { 79962306a36Sopenharmony_ci .name = "slv_audio", 80062306a36Sopenharmony_ci .id = MSM8939_SLAVE_LPASS, 80162306a36Sopenharmony_ci .buswidth = 4, 80262306a36Sopenharmony_ci .mas_rpm_id = -1, 80362306a36Sopenharmony_ci .slv_rpm_id = -1, 80462306a36Sopenharmony_ci}; 80562306a36Sopenharmony_ci 80662306a36Sopenharmony_cistatic struct qcom_icc_node slv_bimc_cfg = { 80762306a36Sopenharmony_ci .name = "slv_bimc_cfg", 80862306a36Sopenharmony_ci .id = MSM8939_SLAVE_BIMC_CFG, 80962306a36Sopenharmony_ci .buswidth = 4, 81062306a36Sopenharmony_ci .mas_rpm_id = -1, 81162306a36Sopenharmony_ci .slv_rpm_id = -1, 81262306a36Sopenharmony_ci}; 81362306a36Sopenharmony_ci 81462306a36Sopenharmony_cistatic struct qcom_icc_node slv_blsp_1 = { 81562306a36Sopenharmony_ci .name = "slv_blsp_1", 81662306a36Sopenharmony_ci .id = MSM8939_SLAVE_BLSP_1, 81762306a36Sopenharmony_ci .buswidth = 4, 81862306a36Sopenharmony_ci .mas_rpm_id = -1, 81962306a36Sopenharmony_ci .slv_rpm_id = -1, 82062306a36Sopenharmony_ci}; 82162306a36Sopenharmony_ci 82262306a36Sopenharmony_cistatic struct qcom_icc_node slv_boot_rom = { 82362306a36Sopenharmony_ci .name = "slv_boot_rom", 82462306a36Sopenharmony_ci .id = MSM8939_SLAVE_BOOT_ROM, 82562306a36Sopenharmony_ci .buswidth = 4, 82662306a36Sopenharmony_ci .mas_rpm_id = -1, 82762306a36Sopenharmony_ci .slv_rpm_id = -1, 82862306a36Sopenharmony_ci}; 82962306a36Sopenharmony_ci 83062306a36Sopenharmony_cistatic struct qcom_icc_node slv_camera_cfg = { 83162306a36Sopenharmony_ci .name = "slv_camera_cfg", 83262306a36Sopenharmony_ci .id = MSM8939_SLAVE_CAMERA_CFG, 83362306a36Sopenharmony_ci .buswidth = 4, 83462306a36Sopenharmony_ci .mas_rpm_id = -1, 83562306a36Sopenharmony_ci .slv_rpm_id = -1, 83662306a36Sopenharmony_ci}; 83762306a36Sopenharmony_ci 83862306a36Sopenharmony_cistatic struct qcom_icc_node slv_cats_0 = { 83962306a36Sopenharmony_ci .name = "slv_cats_0", 84062306a36Sopenharmony_ci .id = MSM8939_SLAVE_CATS_128, 84162306a36Sopenharmony_ci .buswidth = 16, 84262306a36Sopenharmony_ci .mas_rpm_id = -1, 84362306a36Sopenharmony_ci .slv_rpm_id = -1, 84462306a36Sopenharmony_ci}; 84562306a36Sopenharmony_ci 84662306a36Sopenharmony_cistatic struct qcom_icc_node slv_cats_1 = { 84762306a36Sopenharmony_ci .name = "slv_cats_1", 84862306a36Sopenharmony_ci .id = MSM8939_SLAVE_OCMEM_64, 84962306a36Sopenharmony_ci .buswidth = 8, 85062306a36Sopenharmony_ci .mas_rpm_id = -1, 85162306a36Sopenharmony_ci .slv_rpm_id = -1, 85262306a36Sopenharmony_ci}; 85362306a36Sopenharmony_ci 85462306a36Sopenharmony_cistatic struct qcom_icc_node slv_clk_ctl = { 85562306a36Sopenharmony_ci .name = "slv_clk_ctl", 85662306a36Sopenharmony_ci .id = MSM8939_SLAVE_CLK_CTL, 85762306a36Sopenharmony_ci .buswidth = 4, 85862306a36Sopenharmony_ci .mas_rpm_id = -1, 85962306a36Sopenharmony_ci .slv_rpm_id = -1, 86062306a36Sopenharmony_ci}; 86162306a36Sopenharmony_ci 86262306a36Sopenharmony_cistatic struct qcom_icc_node slv_crypto_0_cfg = { 86362306a36Sopenharmony_ci .name = "slv_crypto_0_cfg", 86462306a36Sopenharmony_ci .id = MSM8939_SLAVE_CRYPTO_0_CFG, 86562306a36Sopenharmony_ci .buswidth = 4, 86662306a36Sopenharmony_ci .mas_rpm_id = -1, 86762306a36Sopenharmony_ci .slv_rpm_id = -1, 86862306a36Sopenharmony_ci}; 86962306a36Sopenharmony_ci 87062306a36Sopenharmony_cistatic struct qcom_icc_node slv_dehr_cfg = { 87162306a36Sopenharmony_ci .name = "slv_dehr_cfg", 87262306a36Sopenharmony_ci .id = MSM8939_SLAVE_DEHR_CFG, 87362306a36Sopenharmony_ci .buswidth = 4, 87462306a36Sopenharmony_ci .mas_rpm_id = -1, 87562306a36Sopenharmony_ci .slv_rpm_id = -1, 87662306a36Sopenharmony_ci}; 87762306a36Sopenharmony_ci 87862306a36Sopenharmony_cistatic struct qcom_icc_node slv_display_cfg = { 87962306a36Sopenharmony_ci .name = "slv_display_cfg", 88062306a36Sopenharmony_ci .id = MSM8939_SLAVE_DISPLAY_CFG, 88162306a36Sopenharmony_ci .buswidth = 4, 88262306a36Sopenharmony_ci .mas_rpm_id = -1, 88362306a36Sopenharmony_ci .slv_rpm_id = -1, 88462306a36Sopenharmony_ci}; 88562306a36Sopenharmony_ci 88662306a36Sopenharmony_cistatic struct qcom_icc_node slv_ebi_ch0 = { 88762306a36Sopenharmony_ci .name = "slv_ebi_ch0", 88862306a36Sopenharmony_ci .id = MSM8939_SLAVE_EBI_CH0, 88962306a36Sopenharmony_ci .buswidth = 16, 89062306a36Sopenharmony_ci .mas_rpm_id = -1, 89162306a36Sopenharmony_ci .slv_rpm_id = 0, 89262306a36Sopenharmony_ci}; 89362306a36Sopenharmony_ci 89462306a36Sopenharmony_cistatic struct qcom_icc_node slv_gfx_cfg = { 89562306a36Sopenharmony_ci .name = "slv_gfx_cfg", 89662306a36Sopenharmony_ci .id = MSM8939_SLAVE_GRAPHICS_3D_CFG, 89762306a36Sopenharmony_ci .buswidth = 4, 89862306a36Sopenharmony_ci .mas_rpm_id = -1, 89962306a36Sopenharmony_ci .slv_rpm_id = -1, 90062306a36Sopenharmony_ci}; 90162306a36Sopenharmony_ci 90262306a36Sopenharmony_cistatic struct qcom_icc_node slv_imem_cfg = { 90362306a36Sopenharmony_ci .name = "slv_imem_cfg", 90462306a36Sopenharmony_ci .id = MSM8939_SLAVE_IMEM_CFG, 90562306a36Sopenharmony_ci .buswidth = 4, 90662306a36Sopenharmony_ci .mas_rpm_id = -1, 90762306a36Sopenharmony_ci .slv_rpm_id = -1, 90862306a36Sopenharmony_ci}; 90962306a36Sopenharmony_ci 91062306a36Sopenharmony_cistatic struct qcom_icc_node slv_imem = { 91162306a36Sopenharmony_ci .name = "slv_imem", 91262306a36Sopenharmony_ci .id = MSM8939_SLAVE_IMEM, 91362306a36Sopenharmony_ci .buswidth = 8, 91462306a36Sopenharmony_ci .mas_rpm_id = -1, 91562306a36Sopenharmony_ci .slv_rpm_id = 26, 91662306a36Sopenharmony_ci}; 91762306a36Sopenharmony_ci 91862306a36Sopenharmony_cistatic struct qcom_icc_node slv_mpm = { 91962306a36Sopenharmony_ci .name = "slv_mpm", 92062306a36Sopenharmony_ci .id = MSM8939_SLAVE_MPM, 92162306a36Sopenharmony_ci .buswidth = 4, 92262306a36Sopenharmony_ci .mas_rpm_id = -1, 92362306a36Sopenharmony_ci .slv_rpm_id = -1, 92462306a36Sopenharmony_ci}; 92562306a36Sopenharmony_ci 92662306a36Sopenharmony_cistatic struct qcom_icc_node slv_msg_ram = { 92762306a36Sopenharmony_ci .name = "slv_msg_ram", 92862306a36Sopenharmony_ci .id = MSM8939_SLAVE_MSG_RAM, 92962306a36Sopenharmony_ci .buswidth = 4, 93062306a36Sopenharmony_ci .mas_rpm_id = -1, 93162306a36Sopenharmony_ci .slv_rpm_id = -1, 93262306a36Sopenharmony_ci}; 93362306a36Sopenharmony_ci 93462306a36Sopenharmony_cistatic struct qcom_icc_node slv_mss = { 93562306a36Sopenharmony_ci .name = "slv_mss", 93662306a36Sopenharmony_ci .id = MSM8939_SLAVE_MSS, 93762306a36Sopenharmony_ci .buswidth = 4, 93862306a36Sopenharmony_ci .mas_rpm_id = -1, 93962306a36Sopenharmony_ci .slv_rpm_id = -1, 94062306a36Sopenharmony_ci}; 94162306a36Sopenharmony_ci 94262306a36Sopenharmony_cistatic struct qcom_icc_node slv_pdm = { 94362306a36Sopenharmony_ci .name = "slv_pdm", 94462306a36Sopenharmony_ci .id = MSM8939_SLAVE_PDM, 94562306a36Sopenharmony_ci .buswidth = 4, 94662306a36Sopenharmony_ci .mas_rpm_id = -1, 94762306a36Sopenharmony_ci .slv_rpm_id = -1, 94862306a36Sopenharmony_ci}; 94962306a36Sopenharmony_ci 95062306a36Sopenharmony_cistatic struct qcom_icc_node slv_pmic_arb = { 95162306a36Sopenharmony_ci .name = "slv_pmic_arb", 95262306a36Sopenharmony_ci .id = MSM8939_SLAVE_PMIC_ARB, 95362306a36Sopenharmony_ci .buswidth = 4, 95462306a36Sopenharmony_ci .mas_rpm_id = -1, 95562306a36Sopenharmony_ci .slv_rpm_id = -1, 95662306a36Sopenharmony_ci}; 95762306a36Sopenharmony_ci 95862306a36Sopenharmony_cistatic struct qcom_icc_node slv_pcnoc_cfg = { 95962306a36Sopenharmony_ci .name = "slv_pcnoc_cfg", 96062306a36Sopenharmony_ci .id = MSM8939_SLAVE_PNOC_CFG, 96162306a36Sopenharmony_ci .buswidth = 4, 96262306a36Sopenharmony_ci .mas_rpm_id = -1, 96362306a36Sopenharmony_ci .slv_rpm_id = -1, 96462306a36Sopenharmony_ci}; 96562306a36Sopenharmony_ci 96662306a36Sopenharmony_cistatic struct qcom_icc_node slv_prng = { 96762306a36Sopenharmony_ci .name = "slv_prng", 96862306a36Sopenharmony_ci .id = MSM8939_SLAVE_PRNG, 96962306a36Sopenharmony_ci .buswidth = 4, 97062306a36Sopenharmony_ci .mas_rpm_id = -1, 97162306a36Sopenharmony_ci .slv_rpm_id = -1, 97262306a36Sopenharmony_ci}; 97362306a36Sopenharmony_ci 97462306a36Sopenharmony_cistatic struct qcom_icc_node slv_qdss_cfg = { 97562306a36Sopenharmony_ci .name = "slv_qdss_cfg", 97662306a36Sopenharmony_ci .id = MSM8939_SLAVE_QDSS_CFG, 97762306a36Sopenharmony_ci .buswidth = 4, 97862306a36Sopenharmony_ci .mas_rpm_id = -1, 97962306a36Sopenharmony_ci .slv_rpm_id = -1, 98062306a36Sopenharmony_ci}; 98162306a36Sopenharmony_ci 98262306a36Sopenharmony_cistatic struct qcom_icc_node slv_qdss_stm = { 98362306a36Sopenharmony_ci .name = "slv_qdss_stm", 98462306a36Sopenharmony_ci .id = MSM8939_SLAVE_QDSS_STM, 98562306a36Sopenharmony_ci .buswidth = 4, 98662306a36Sopenharmony_ci .mas_rpm_id = -1, 98762306a36Sopenharmony_ci .slv_rpm_id = 30, 98862306a36Sopenharmony_ci}; 98962306a36Sopenharmony_ci 99062306a36Sopenharmony_cistatic struct qcom_icc_node slv_rbcpr_cfg = { 99162306a36Sopenharmony_ci .name = "slv_rbcpr_cfg", 99262306a36Sopenharmony_ci .id = MSM8939_SLAVE_RBCPR_CFG, 99362306a36Sopenharmony_ci .buswidth = 4, 99462306a36Sopenharmony_ci .mas_rpm_id = -1, 99562306a36Sopenharmony_ci .slv_rpm_id = -1, 99662306a36Sopenharmony_ci}; 99762306a36Sopenharmony_ci 99862306a36Sopenharmony_cistatic struct qcom_icc_node slv_sdcc_1 = { 99962306a36Sopenharmony_ci .name = "slv_sdcc_1", 100062306a36Sopenharmony_ci .id = MSM8939_SLAVE_SDCC_1, 100162306a36Sopenharmony_ci .buswidth = 4, 100262306a36Sopenharmony_ci .mas_rpm_id = -1, 100362306a36Sopenharmony_ci .slv_rpm_id = -1, 100462306a36Sopenharmony_ci}; 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_cistatic struct qcom_icc_node slv_sdcc_2 = { 100762306a36Sopenharmony_ci .name = "slv_sdcc_2", 100862306a36Sopenharmony_ci .id = MSM8939_SLAVE_SDCC_2, 100962306a36Sopenharmony_ci .buswidth = 4, 101062306a36Sopenharmony_ci .mas_rpm_id = -1, 101162306a36Sopenharmony_ci .slv_rpm_id = -1, 101262306a36Sopenharmony_ci}; 101362306a36Sopenharmony_ci 101462306a36Sopenharmony_cistatic struct qcom_icc_node slv_security = { 101562306a36Sopenharmony_ci .name = "slv_security", 101662306a36Sopenharmony_ci .id = MSM8939_SLAVE_SECURITY, 101762306a36Sopenharmony_ci .buswidth = 4, 101862306a36Sopenharmony_ci .mas_rpm_id = -1, 101962306a36Sopenharmony_ci .slv_rpm_id = -1, 102062306a36Sopenharmony_ci}; 102162306a36Sopenharmony_ci 102262306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_cfg = { 102362306a36Sopenharmony_ci .name = "slv_snoc_cfg", 102462306a36Sopenharmony_ci .id = MSM8939_SLAVE_SNOC_CFG, 102562306a36Sopenharmony_ci .buswidth = 4, 102662306a36Sopenharmony_ci .mas_rpm_id = -1, 102762306a36Sopenharmony_ci .slv_rpm_id = -1, 102862306a36Sopenharmony_ci}; 102962306a36Sopenharmony_ci 103062306a36Sopenharmony_cistatic struct qcom_icc_node slv_spdm = { 103162306a36Sopenharmony_ci .name = "slv_spdm", 103262306a36Sopenharmony_ci .id = MSM8939_SLAVE_SPDM, 103362306a36Sopenharmony_ci .buswidth = 4, 103462306a36Sopenharmony_ci .mas_rpm_id = -1, 103562306a36Sopenharmony_ci .slv_rpm_id = -1, 103662306a36Sopenharmony_ci}; 103762306a36Sopenharmony_ci 103862306a36Sopenharmony_cistatic struct qcom_icc_node slv_srvc_snoc = { 103962306a36Sopenharmony_ci .name = "slv_srvc_snoc", 104062306a36Sopenharmony_ci .id = MSM8939_SLAVE_SRVC_SNOC, 104162306a36Sopenharmony_ci .buswidth = 8, 104262306a36Sopenharmony_ci .mas_rpm_id = -1, 104362306a36Sopenharmony_ci .slv_rpm_id = -1, 104462306a36Sopenharmony_ci}; 104562306a36Sopenharmony_ci 104662306a36Sopenharmony_cistatic struct qcom_icc_node slv_tcsr = { 104762306a36Sopenharmony_ci .name = "slv_tcsr", 104862306a36Sopenharmony_ci .id = MSM8939_SLAVE_TCSR, 104962306a36Sopenharmony_ci .buswidth = 4, 105062306a36Sopenharmony_ci .mas_rpm_id = -1, 105162306a36Sopenharmony_ci .slv_rpm_id = -1, 105262306a36Sopenharmony_ci}; 105362306a36Sopenharmony_ci 105462306a36Sopenharmony_cistatic struct qcom_icc_node slv_tlmm = { 105562306a36Sopenharmony_ci .name = "slv_tlmm", 105662306a36Sopenharmony_ci .id = MSM8939_SLAVE_TLMM, 105762306a36Sopenharmony_ci .buswidth = 4, 105862306a36Sopenharmony_ci .mas_rpm_id = -1, 105962306a36Sopenharmony_ci .slv_rpm_id = -1, 106062306a36Sopenharmony_ci}; 106162306a36Sopenharmony_ci 106262306a36Sopenharmony_cistatic struct qcom_icc_node slv_usb_hs1 = { 106362306a36Sopenharmony_ci .name = "slv_usb_hs1", 106462306a36Sopenharmony_ci .id = MSM8939_SLAVE_USB_HS1, 106562306a36Sopenharmony_ci .buswidth = 4, 106662306a36Sopenharmony_ci .mas_rpm_id = -1, 106762306a36Sopenharmony_ci .slv_rpm_id = -1, 106862306a36Sopenharmony_ci}; 106962306a36Sopenharmony_ci 107062306a36Sopenharmony_cistatic struct qcom_icc_node slv_usb_hs2 = { 107162306a36Sopenharmony_ci .name = "slv_usb_hs2", 107262306a36Sopenharmony_ci .id = MSM8939_SLAVE_USB_HS2, 107362306a36Sopenharmony_ci .buswidth = 4, 107462306a36Sopenharmony_ci .mas_rpm_id = -1, 107562306a36Sopenharmony_ci .slv_rpm_id = -1, 107662306a36Sopenharmony_ci}; 107762306a36Sopenharmony_ci 107862306a36Sopenharmony_cistatic struct qcom_icc_node slv_venus_cfg = { 107962306a36Sopenharmony_ci .name = "slv_venus_cfg", 108062306a36Sopenharmony_ci .id = MSM8939_SLAVE_VENUS_CFG, 108162306a36Sopenharmony_ci .buswidth = 4, 108262306a36Sopenharmony_ci .mas_rpm_id = -1, 108362306a36Sopenharmony_ci .slv_rpm_id = -1, 108462306a36Sopenharmony_ci}; 108562306a36Sopenharmony_ci 108662306a36Sopenharmony_cistatic const u16 snoc_bimc_0_mas_links[] = { 108762306a36Sopenharmony_ci MSM8939_SNOC_BIMC_0_SLV 108862306a36Sopenharmony_ci}; 108962306a36Sopenharmony_ci 109062306a36Sopenharmony_cistatic struct qcom_icc_node snoc_bimc_0_mas = { 109162306a36Sopenharmony_ci .name = "snoc_bimc_0_mas", 109262306a36Sopenharmony_ci .id = MSM8939_SNOC_BIMC_0_MAS, 109362306a36Sopenharmony_ci .buswidth = 16, 109462306a36Sopenharmony_ci .mas_rpm_id = -1, 109562306a36Sopenharmony_ci .slv_rpm_id = -1, 109662306a36Sopenharmony_ci .qos.ap_owned = true, 109762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 109862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_bimc_0_mas_links), 109962306a36Sopenharmony_ci .links = snoc_bimc_0_mas_links, 110062306a36Sopenharmony_ci}; 110162306a36Sopenharmony_ci 110262306a36Sopenharmony_cistatic const u16 snoc_bimc_0_slv_links[] = { 110362306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0 110462306a36Sopenharmony_ci}; 110562306a36Sopenharmony_ci 110662306a36Sopenharmony_cistatic struct qcom_icc_node snoc_bimc_0_slv = { 110762306a36Sopenharmony_ci .name = "snoc_bimc_0_slv", 110862306a36Sopenharmony_ci .id = MSM8939_SNOC_BIMC_0_SLV, 110962306a36Sopenharmony_ci .buswidth = 16, 111062306a36Sopenharmony_ci .mas_rpm_id = -1, 111162306a36Sopenharmony_ci .slv_rpm_id = -1, 111262306a36Sopenharmony_ci .qos.ap_owned = true, 111362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 111462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_bimc_0_slv_links), 111562306a36Sopenharmony_ci .links = snoc_bimc_0_slv_links, 111662306a36Sopenharmony_ci}; 111762306a36Sopenharmony_ci 111862306a36Sopenharmony_cistatic const u16 snoc_bimc_1_mas_links[] = { 111962306a36Sopenharmony_ci MSM8939_SNOC_BIMC_1_SLV 112062306a36Sopenharmony_ci}; 112162306a36Sopenharmony_ci 112262306a36Sopenharmony_cistatic struct qcom_icc_node snoc_bimc_1_mas = { 112362306a36Sopenharmony_ci .name = "snoc_bimc_1_mas", 112462306a36Sopenharmony_ci .id = MSM8939_SNOC_BIMC_1_MAS, 112562306a36Sopenharmony_ci .buswidth = 16, 112662306a36Sopenharmony_ci .mas_rpm_id = 76, 112762306a36Sopenharmony_ci .slv_rpm_id = -1, 112862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_bimc_1_mas_links), 112962306a36Sopenharmony_ci .links = snoc_bimc_1_mas_links, 113062306a36Sopenharmony_ci}; 113162306a36Sopenharmony_ci 113262306a36Sopenharmony_cistatic const u16 snoc_bimc_1_slv_links[] = { 113362306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0 113462306a36Sopenharmony_ci}; 113562306a36Sopenharmony_ci 113662306a36Sopenharmony_cistatic struct qcom_icc_node snoc_bimc_1_slv = { 113762306a36Sopenharmony_ci .name = "snoc_bimc_1_slv", 113862306a36Sopenharmony_ci .id = MSM8939_SNOC_BIMC_1_SLV, 113962306a36Sopenharmony_ci .buswidth = 16, 114062306a36Sopenharmony_ci .mas_rpm_id = -1, 114162306a36Sopenharmony_ci .slv_rpm_id = 104, 114262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_bimc_1_slv_links), 114362306a36Sopenharmony_ci .links = snoc_bimc_1_slv_links, 114462306a36Sopenharmony_ci}; 114562306a36Sopenharmony_ci 114662306a36Sopenharmony_cistatic const u16 snoc_bimc_2_mas_links[] = { 114762306a36Sopenharmony_ci MSM8939_SNOC_BIMC_2_SLV 114862306a36Sopenharmony_ci}; 114962306a36Sopenharmony_ci 115062306a36Sopenharmony_cistatic struct qcom_icc_node snoc_bimc_2_mas = { 115162306a36Sopenharmony_ci .name = "snoc_bimc_2_mas", 115262306a36Sopenharmony_ci .id = MSM8939_SNOC_BIMC_2_MAS, 115362306a36Sopenharmony_ci .buswidth = 16, 115462306a36Sopenharmony_ci .mas_rpm_id = -1, 115562306a36Sopenharmony_ci .slv_rpm_id = -1, 115662306a36Sopenharmony_ci .qos.ap_owned = true, 115762306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 115862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_bimc_2_mas_links), 115962306a36Sopenharmony_ci .links = snoc_bimc_2_mas_links, 116062306a36Sopenharmony_ci}; 116162306a36Sopenharmony_ci 116262306a36Sopenharmony_cistatic const u16 snoc_bimc_2_slv_links[] = { 116362306a36Sopenharmony_ci MSM8939_SLAVE_EBI_CH0 116462306a36Sopenharmony_ci}; 116562306a36Sopenharmony_ci 116662306a36Sopenharmony_cistatic struct qcom_icc_node snoc_bimc_2_slv = { 116762306a36Sopenharmony_ci .name = "snoc_bimc_2_slv", 116862306a36Sopenharmony_ci .id = MSM8939_SNOC_BIMC_2_SLV, 116962306a36Sopenharmony_ci .buswidth = 16, 117062306a36Sopenharmony_ci .mas_rpm_id = -1, 117162306a36Sopenharmony_ci .slv_rpm_id = -1, 117262306a36Sopenharmony_ci .qos.ap_owned = true, 117362306a36Sopenharmony_ci .qos.qos_mode = NOC_QOS_MODE_INVALID, 117462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_bimc_2_slv_links), 117562306a36Sopenharmony_ci .links = snoc_bimc_2_slv_links, 117662306a36Sopenharmony_ci}; 117762306a36Sopenharmony_ci 117862306a36Sopenharmony_cistatic const u16 snoc_int_0_links[] = { 117962306a36Sopenharmony_ci MSM8939_SLAVE_QDSS_STM, 118062306a36Sopenharmony_ci MSM8939_SLAVE_IMEM, 118162306a36Sopenharmony_ci MSM8939_SNOC_PNOC_MAS 118262306a36Sopenharmony_ci}; 118362306a36Sopenharmony_ci 118462306a36Sopenharmony_cistatic struct qcom_icc_node snoc_int_0 = { 118562306a36Sopenharmony_ci .name = "snoc_int_0", 118662306a36Sopenharmony_ci .id = MSM8939_SNOC_INT_0, 118762306a36Sopenharmony_ci .buswidth = 8, 118862306a36Sopenharmony_ci .mas_rpm_id = 99, 118962306a36Sopenharmony_ci .slv_rpm_id = 130, 119062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_int_0_links), 119162306a36Sopenharmony_ci .links = snoc_int_0_links, 119262306a36Sopenharmony_ci}; 119362306a36Sopenharmony_ci 119462306a36Sopenharmony_cistatic const u16 snoc_int_1_links[] = { 119562306a36Sopenharmony_ci MSM8939_SLAVE_APSS, 119662306a36Sopenharmony_ci MSM8939_SLAVE_CATS_128, 119762306a36Sopenharmony_ci MSM8939_SLAVE_OCMEM_64 119862306a36Sopenharmony_ci}; 119962306a36Sopenharmony_ci 120062306a36Sopenharmony_cistatic struct qcom_icc_node snoc_int_1 = { 120162306a36Sopenharmony_ci .name = "snoc_int_1", 120262306a36Sopenharmony_ci .id = MSM8939_SNOC_INT_1, 120362306a36Sopenharmony_ci .buswidth = 8, 120462306a36Sopenharmony_ci .mas_rpm_id = -1, 120562306a36Sopenharmony_ci .slv_rpm_id = -1, 120662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_int_1_links), 120762306a36Sopenharmony_ci .links = snoc_int_1_links, 120862306a36Sopenharmony_ci}; 120962306a36Sopenharmony_ci 121062306a36Sopenharmony_cistatic const u16 snoc_int_bimc_links[] = { 121162306a36Sopenharmony_ci MSM8939_SNOC_BIMC_1_MAS 121262306a36Sopenharmony_ci}; 121362306a36Sopenharmony_ci 121462306a36Sopenharmony_cistatic struct qcom_icc_node snoc_int_bimc = { 121562306a36Sopenharmony_ci .name = "snoc_int_bimc", 121662306a36Sopenharmony_ci .id = MSM8939_SNOC_INT_BIMC, 121762306a36Sopenharmony_ci .buswidth = 8, 121862306a36Sopenharmony_ci .mas_rpm_id = 101, 121962306a36Sopenharmony_ci .slv_rpm_id = 132, 122062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_int_bimc_links), 122162306a36Sopenharmony_ci .links = snoc_int_bimc_links, 122262306a36Sopenharmony_ci}; 122362306a36Sopenharmony_ci 122462306a36Sopenharmony_cistatic const u16 snoc_pcnoc_mas_links[] = { 122562306a36Sopenharmony_ci MSM8939_SNOC_PNOC_SLV 122662306a36Sopenharmony_ci}; 122762306a36Sopenharmony_ci 122862306a36Sopenharmony_cistatic struct qcom_icc_node snoc_pcnoc_mas = { 122962306a36Sopenharmony_ci .name = "snoc_pcnoc_mas", 123062306a36Sopenharmony_ci .id = MSM8939_SNOC_PNOC_MAS, 123162306a36Sopenharmony_ci .buswidth = 8, 123262306a36Sopenharmony_ci .mas_rpm_id = -1, 123362306a36Sopenharmony_ci .slv_rpm_id = -1, 123462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_pcnoc_mas_links), 123562306a36Sopenharmony_ci .links = snoc_pcnoc_mas_links, 123662306a36Sopenharmony_ci}; 123762306a36Sopenharmony_ci 123862306a36Sopenharmony_cistatic const u16 snoc_pcnoc_slv_links[] = { 123962306a36Sopenharmony_ci MSM8939_PNOC_INT_0 124062306a36Sopenharmony_ci}; 124162306a36Sopenharmony_ci 124262306a36Sopenharmony_cistatic struct qcom_icc_node snoc_pcnoc_slv = { 124362306a36Sopenharmony_ci .name = "snoc_pcnoc_slv", 124462306a36Sopenharmony_ci .id = MSM8939_SNOC_PNOC_SLV, 124562306a36Sopenharmony_ci .buswidth = 8, 124662306a36Sopenharmony_ci .mas_rpm_id = -1, 124762306a36Sopenharmony_ci .slv_rpm_id = -1, 124862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_pcnoc_slv_links), 124962306a36Sopenharmony_ci .links = snoc_pcnoc_slv_links, 125062306a36Sopenharmony_ci}; 125162306a36Sopenharmony_ci 125262306a36Sopenharmony_cistatic struct qcom_icc_node * const msm8939_snoc_nodes[] = { 125362306a36Sopenharmony_ci [BIMC_SNOC_SLV] = &bimc_snoc_slv, 125462306a36Sopenharmony_ci [MASTER_QDSS_BAM] = &mas_qdss_bam, 125562306a36Sopenharmony_ci [MASTER_QDSS_ETR] = &mas_qdss_etr, 125662306a36Sopenharmony_ci [MASTER_SNOC_CFG] = &mas_snoc_cfg, 125762306a36Sopenharmony_ci [PCNOC_SNOC_SLV] = &pcnoc_snoc_slv, 125862306a36Sopenharmony_ci [SLAVE_APSS] = &slv_apss, 125962306a36Sopenharmony_ci [SLAVE_CATS_128] = &slv_cats_0, 126062306a36Sopenharmony_ci [SLAVE_OCMEM_64] = &slv_cats_1, 126162306a36Sopenharmony_ci [SLAVE_IMEM] = &slv_imem, 126262306a36Sopenharmony_ci [SLAVE_QDSS_STM] = &slv_qdss_stm, 126362306a36Sopenharmony_ci [SLAVE_SRVC_SNOC] = &slv_srvc_snoc, 126462306a36Sopenharmony_ci [SNOC_BIMC_0_MAS] = &snoc_bimc_0_mas, 126562306a36Sopenharmony_ci [SNOC_BIMC_1_MAS] = &snoc_bimc_1_mas, 126662306a36Sopenharmony_ci [SNOC_BIMC_2_MAS] = &snoc_bimc_2_mas, 126762306a36Sopenharmony_ci [SNOC_INT_0] = &snoc_int_0, 126862306a36Sopenharmony_ci [SNOC_INT_1] = &snoc_int_1, 126962306a36Sopenharmony_ci [SNOC_INT_BIMC] = &snoc_int_bimc, 127062306a36Sopenharmony_ci [SNOC_PCNOC_MAS] = &snoc_pcnoc_mas, 127162306a36Sopenharmony_ci [SNOC_QDSS_INT] = &qdss_int, 127262306a36Sopenharmony_ci}; 127362306a36Sopenharmony_ci 127462306a36Sopenharmony_cistatic const struct regmap_config msm8939_snoc_regmap_config = { 127562306a36Sopenharmony_ci .reg_bits = 32, 127662306a36Sopenharmony_ci .reg_stride = 4, 127762306a36Sopenharmony_ci .val_bits = 32, 127862306a36Sopenharmony_ci .max_register = 0x14080, 127962306a36Sopenharmony_ci .fast_io = true, 128062306a36Sopenharmony_ci}; 128162306a36Sopenharmony_ci 128262306a36Sopenharmony_cistatic const struct qcom_icc_desc msm8939_snoc = { 128362306a36Sopenharmony_ci .type = QCOM_ICC_NOC, 128462306a36Sopenharmony_ci .nodes = msm8939_snoc_nodes, 128562306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(msm8939_snoc_nodes), 128662306a36Sopenharmony_ci .bus_clk_desc = &bus_1_clk, 128762306a36Sopenharmony_ci .regmap_cfg = &msm8939_snoc_regmap_config, 128862306a36Sopenharmony_ci .qos_offset = 0x7000, 128962306a36Sopenharmony_ci}; 129062306a36Sopenharmony_ci 129162306a36Sopenharmony_cistatic struct qcom_icc_node * const msm8939_snoc_mm_nodes[] = { 129262306a36Sopenharmony_ci [MASTER_VIDEO_P0] = &mas_video, 129362306a36Sopenharmony_ci [MASTER_JPEG] = &mas_jpeg, 129462306a36Sopenharmony_ci [MASTER_VFE] = &mas_vfe, 129562306a36Sopenharmony_ci [MASTER_MDP_PORT0] = &mas_mdp0, 129662306a36Sopenharmony_ci [MASTER_MDP_PORT1] = &mas_mdp1, 129762306a36Sopenharmony_ci [MASTER_CPP] = &mas_cpp, 129862306a36Sopenharmony_ci [SNOC_MM_INT_0] = &mm_int_0, 129962306a36Sopenharmony_ci [SNOC_MM_INT_1] = &mm_int_1, 130062306a36Sopenharmony_ci [SNOC_MM_INT_2] = &mm_int_2, 130162306a36Sopenharmony_ci}; 130262306a36Sopenharmony_ci 130362306a36Sopenharmony_cistatic const struct qcom_icc_desc msm8939_snoc_mm = { 130462306a36Sopenharmony_ci .type = QCOM_ICC_NOC, 130562306a36Sopenharmony_ci .nodes = msm8939_snoc_mm_nodes, 130662306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(msm8939_snoc_mm_nodes), 130762306a36Sopenharmony_ci .bus_clk_desc = &bus_2_clk, 130862306a36Sopenharmony_ci .regmap_cfg = &msm8939_snoc_regmap_config, 130962306a36Sopenharmony_ci .qos_offset = 0x7000, 131062306a36Sopenharmony_ci}; 131162306a36Sopenharmony_ci 131262306a36Sopenharmony_cistatic struct qcom_icc_node * const msm8939_bimc_nodes[] = { 131362306a36Sopenharmony_ci [BIMC_SNOC_MAS] = &bimc_snoc_mas, 131462306a36Sopenharmony_ci [MASTER_AMPSS_M0] = &mas_apss, 131562306a36Sopenharmony_ci [MASTER_GRAPHICS_3D] = &mas_gfx, 131662306a36Sopenharmony_ci [MASTER_TCU0] = &mas_tcu0, 131762306a36Sopenharmony_ci [SLAVE_AMPSS_L2] = &slv_apps_l2, 131862306a36Sopenharmony_ci [SLAVE_EBI_CH0] = &slv_ebi_ch0, 131962306a36Sopenharmony_ci [SNOC_BIMC_0_SLV] = &snoc_bimc_0_slv, 132062306a36Sopenharmony_ci [SNOC_BIMC_1_SLV] = &snoc_bimc_1_slv, 132162306a36Sopenharmony_ci [SNOC_BIMC_2_SLV] = &snoc_bimc_2_slv, 132262306a36Sopenharmony_ci}; 132362306a36Sopenharmony_ci 132462306a36Sopenharmony_cistatic const struct regmap_config msm8939_bimc_regmap_config = { 132562306a36Sopenharmony_ci .reg_bits = 32, 132662306a36Sopenharmony_ci .reg_stride = 4, 132762306a36Sopenharmony_ci .val_bits = 32, 132862306a36Sopenharmony_ci .max_register = 0x62000, 132962306a36Sopenharmony_ci .fast_io = true, 133062306a36Sopenharmony_ci}; 133162306a36Sopenharmony_ci 133262306a36Sopenharmony_cistatic const struct qcom_icc_desc msm8939_bimc = { 133362306a36Sopenharmony_ci .type = QCOM_ICC_BIMC, 133462306a36Sopenharmony_ci .nodes = msm8939_bimc_nodes, 133562306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(msm8939_bimc_nodes), 133662306a36Sopenharmony_ci .bus_clk_desc = &bimc_clk, 133762306a36Sopenharmony_ci .regmap_cfg = &msm8939_bimc_regmap_config, 133862306a36Sopenharmony_ci .qos_offset = 0x8000, 133962306a36Sopenharmony_ci}; 134062306a36Sopenharmony_ci 134162306a36Sopenharmony_cistatic struct qcom_icc_node * const msm8939_pcnoc_nodes[] = { 134262306a36Sopenharmony_ci [MASTER_BLSP_1] = &mas_blsp_1, 134362306a36Sopenharmony_ci [MASTER_DEHR] = &mas_dehr, 134462306a36Sopenharmony_ci [MASTER_LPASS] = &mas_audio, 134562306a36Sopenharmony_ci [MASTER_CRYPTO_CORE0] = &mas_pcnoc_crypto_0, 134662306a36Sopenharmony_ci [MASTER_SDCC_1] = &mas_pcnoc_sdcc_1, 134762306a36Sopenharmony_ci [MASTER_SDCC_2] = &mas_pcnoc_sdcc_2, 134862306a36Sopenharmony_ci [MASTER_SPDM] = &mas_spdm, 134962306a36Sopenharmony_ci [MASTER_USB_HS1] = &mas_usb_hs1, 135062306a36Sopenharmony_ci [MASTER_USB_HS2] = &mas_usb_hs2, 135162306a36Sopenharmony_ci [PCNOC_INT_0] = &pcnoc_int_0, 135262306a36Sopenharmony_ci [PCNOC_INT_1] = &pcnoc_int_1, 135362306a36Sopenharmony_ci [PCNOC_MAS_0] = &pcnoc_m_0, 135462306a36Sopenharmony_ci [PCNOC_MAS_1] = &pcnoc_m_1, 135562306a36Sopenharmony_ci [PCNOC_SLV_0] = &pcnoc_s_0, 135662306a36Sopenharmony_ci [PCNOC_SLV_1] = &pcnoc_s_1, 135762306a36Sopenharmony_ci [PCNOC_SLV_2] = &pcnoc_s_2, 135862306a36Sopenharmony_ci [PCNOC_SLV_3] = &pcnoc_s_3, 135962306a36Sopenharmony_ci [PCNOC_SLV_4] = &pcnoc_s_4, 136062306a36Sopenharmony_ci [PCNOC_SLV_8] = &pcnoc_s_8, 136162306a36Sopenharmony_ci [PCNOC_SLV_9] = &pcnoc_s_9, 136262306a36Sopenharmony_ci [PCNOC_SNOC_MAS] = &pcnoc_snoc_mas, 136362306a36Sopenharmony_ci [SLAVE_BIMC_CFG] = &slv_bimc_cfg, 136462306a36Sopenharmony_ci [SLAVE_BLSP_1] = &slv_blsp_1, 136562306a36Sopenharmony_ci [SLAVE_BOOT_ROM] = &slv_boot_rom, 136662306a36Sopenharmony_ci [SLAVE_CAMERA_CFG] = &slv_camera_cfg, 136762306a36Sopenharmony_ci [SLAVE_CLK_CTL] = &slv_clk_ctl, 136862306a36Sopenharmony_ci [SLAVE_CRYPTO_0_CFG] = &slv_crypto_0_cfg, 136962306a36Sopenharmony_ci [SLAVE_DEHR_CFG] = &slv_dehr_cfg, 137062306a36Sopenharmony_ci [SLAVE_DISPLAY_CFG] = &slv_display_cfg, 137162306a36Sopenharmony_ci [SLAVE_GRAPHICS_3D_CFG] = &slv_gfx_cfg, 137262306a36Sopenharmony_ci [SLAVE_IMEM_CFG] = &slv_imem_cfg, 137362306a36Sopenharmony_ci [SLAVE_LPASS] = &slv_audio, 137462306a36Sopenharmony_ci [SLAVE_MPM] = &slv_mpm, 137562306a36Sopenharmony_ci [SLAVE_MSG_RAM] = &slv_msg_ram, 137662306a36Sopenharmony_ci [SLAVE_MSS] = &slv_mss, 137762306a36Sopenharmony_ci [SLAVE_PDM] = &slv_pdm, 137862306a36Sopenharmony_ci [SLAVE_PMIC_ARB] = &slv_pmic_arb, 137962306a36Sopenharmony_ci [SLAVE_PCNOC_CFG] = &slv_pcnoc_cfg, 138062306a36Sopenharmony_ci [SLAVE_PRNG] = &slv_prng, 138162306a36Sopenharmony_ci [SLAVE_QDSS_CFG] = &slv_qdss_cfg, 138262306a36Sopenharmony_ci [SLAVE_RBCPR_CFG] = &slv_rbcpr_cfg, 138362306a36Sopenharmony_ci [SLAVE_SDCC_1] = &slv_sdcc_1, 138462306a36Sopenharmony_ci [SLAVE_SDCC_2] = &slv_sdcc_2, 138562306a36Sopenharmony_ci [SLAVE_SECURITY] = &slv_security, 138662306a36Sopenharmony_ci [SLAVE_SNOC_CFG] = &slv_snoc_cfg, 138762306a36Sopenharmony_ci [SLAVE_SPDM] = &slv_spdm, 138862306a36Sopenharmony_ci [SLAVE_TCSR] = &slv_tcsr, 138962306a36Sopenharmony_ci [SLAVE_TLMM] = &slv_tlmm, 139062306a36Sopenharmony_ci [SLAVE_USB_HS1] = &slv_usb_hs1, 139162306a36Sopenharmony_ci [SLAVE_USB_HS2] = &slv_usb_hs2, 139262306a36Sopenharmony_ci [SLAVE_VENUS_CFG] = &slv_venus_cfg, 139362306a36Sopenharmony_ci [SNOC_PCNOC_SLV] = &snoc_pcnoc_slv, 139462306a36Sopenharmony_ci}; 139562306a36Sopenharmony_ci 139662306a36Sopenharmony_cistatic const struct regmap_config msm8939_pcnoc_regmap_config = { 139762306a36Sopenharmony_ci .reg_bits = 32, 139862306a36Sopenharmony_ci .reg_stride = 4, 139962306a36Sopenharmony_ci .val_bits = 32, 140062306a36Sopenharmony_ci .max_register = 0x11000, 140162306a36Sopenharmony_ci .fast_io = true, 140262306a36Sopenharmony_ci}; 140362306a36Sopenharmony_ci 140462306a36Sopenharmony_cistatic const struct qcom_icc_desc msm8939_pcnoc = { 140562306a36Sopenharmony_ci .type = QCOM_ICC_NOC, 140662306a36Sopenharmony_ci .nodes = msm8939_pcnoc_nodes, 140762306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(msm8939_pcnoc_nodes), 140862306a36Sopenharmony_ci .bus_clk_desc = &bus_0_clk, 140962306a36Sopenharmony_ci .regmap_cfg = &msm8939_pcnoc_regmap_config, 141062306a36Sopenharmony_ci .qos_offset = 0x7000, 141162306a36Sopenharmony_ci}; 141262306a36Sopenharmony_ci 141362306a36Sopenharmony_cistatic const struct of_device_id msm8939_noc_of_match[] = { 141462306a36Sopenharmony_ci { .compatible = "qcom,msm8939-bimc", .data = &msm8939_bimc }, 141562306a36Sopenharmony_ci { .compatible = "qcom,msm8939-pcnoc", .data = &msm8939_pcnoc }, 141662306a36Sopenharmony_ci { .compatible = "qcom,msm8939-snoc", .data = &msm8939_snoc }, 141762306a36Sopenharmony_ci { .compatible = "qcom,msm8939-snoc-mm", .data = &msm8939_snoc_mm }, 141862306a36Sopenharmony_ci { } 141962306a36Sopenharmony_ci}; 142062306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, msm8939_noc_of_match); 142162306a36Sopenharmony_ci 142262306a36Sopenharmony_cistatic struct platform_driver msm8939_noc_driver = { 142362306a36Sopenharmony_ci .probe = qnoc_probe, 142462306a36Sopenharmony_ci .remove = qnoc_remove, 142562306a36Sopenharmony_ci .driver = { 142662306a36Sopenharmony_ci .name = "qnoc-msm8939", 142762306a36Sopenharmony_ci .of_match_table = msm8939_noc_of_match, 142862306a36Sopenharmony_ci .sync_state = icc_sync_state, 142962306a36Sopenharmony_ci }, 143062306a36Sopenharmony_ci}; 143162306a36Sopenharmony_cimodule_platform_driver(msm8939_noc_driver); 143262306a36Sopenharmony_ciMODULE_AUTHOR("Jun Nie <jun.nie@linaro.org>"); 143362306a36Sopenharmony_ciMODULE_DESCRIPTION("Qualcomm MSM8939 NoC driver"); 143462306a36Sopenharmony_ciMODULE_LICENSE("GPL v2"); 1435