162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2019 Linaro Ltd 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/interconnect/qcom,qcs404.h> 762306a36Sopenharmony_ci#include <linux/device.h> 862306a36Sopenharmony_ci#include <linux/interconnect-provider.h> 962306a36Sopenharmony_ci#include <linux/io.h> 1062306a36Sopenharmony_ci#include <linux/module.h> 1162306a36Sopenharmony_ci#include <linux/mod_devicetable.h> 1262306a36Sopenharmony_ci#include <linux/platform_device.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include "icc-rpm.h" 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cienum { 1862306a36Sopenharmony_ci QCS404_MASTER_AMPSS_M0 = 1, 1962306a36Sopenharmony_ci QCS404_MASTER_GRAPHICS_3D, 2062306a36Sopenharmony_ci QCS404_MASTER_MDP_PORT0, 2162306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_MAS, 2262306a36Sopenharmony_ci QCS404_MASTER_TCU_0, 2362306a36Sopenharmony_ci QCS404_MASTER_SPDM, 2462306a36Sopenharmony_ci QCS404_MASTER_BLSP_1, 2562306a36Sopenharmony_ci QCS404_MASTER_BLSP_2, 2662306a36Sopenharmony_ci QCS404_MASTER_XM_USB_HS1, 2762306a36Sopenharmony_ci QCS404_MASTER_CRYPTO_CORE0, 2862306a36Sopenharmony_ci QCS404_MASTER_SDCC_1, 2962306a36Sopenharmony_ci QCS404_MASTER_SDCC_2, 3062306a36Sopenharmony_ci QCS404_SNOC_PNOC_MAS, 3162306a36Sopenharmony_ci QCS404_MASTER_QPIC, 3262306a36Sopenharmony_ci QCS404_MASTER_QDSS_BAM, 3362306a36Sopenharmony_ci QCS404_BIMC_SNOC_MAS, 3462306a36Sopenharmony_ci QCS404_PNOC_SNOC_MAS, 3562306a36Sopenharmony_ci QCS404_MASTER_QDSS_ETR, 3662306a36Sopenharmony_ci QCS404_MASTER_EMAC, 3762306a36Sopenharmony_ci QCS404_MASTER_PCIE, 3862306a36Sopenharmony_ci QCS404_MASTER_USB3, 3962306a36Sopenharmony_ci QCS404_PNOC_INT_0, 4062306a36Sopenharmony_ci QCS404_PNOC_INT_2, 4162306a36Sopenharmony_ci QCS404_PNOC_INT_3, 4262306a36Sopenharmony_ci QCS404_PNOC_SLV_0, 4362306a36Sopenharmony_ci QCS404_PNOC_SLV_1, 4462306a36Sopenharmony_ci QCS404_PNOC_SLV_2, 4562306a36Sopenharmony_ci QCS404_PNOC_SLV_3, 4662306a36Sopenharmony_ci QCS404_PNOC_SLV_4, 4762306a36Sopenharmony_ci QCS404_PNOC_SLV_6, 4862306a36Sopenharmony_ci QCS404_PNOC_SLV_7, 4962306a36Sopenharmony_ci QCS404_PNOC_SLV_8, 5062306a36Sopenharmony_ci QCS404_PNOC_SLV_9, 5162306a36Sopenharmony_ci QCS404_PNOC_SLV_10, 5262306a36Sopenharmony_ci QCS404_PNOC_SLV_11, 5362306a36Sopenharmony_ci QCS404_SNOC_QDSS_INT, 5462306a36Sopenharmony_ci QCS404_SNOC_INT_0, 5562306a36Sopenharmony_ci QCS404_SNOC_INT_1, 5662306a36Sopenharmony_ci QCS404_SNOC_INT_2, 5762306a36Sopenharmony_ci QCS404_SLAVE_EBI_CH0, 5862306a36Sopenharmony_ci QCS404_BIMC_SNOC_SLV, 5962306a36Sopenharmony_ci QCS404_SLAVE_SPDM_WRAPPER, 6062306a36Sopenharmony_ci QCS404_SLAVE_PDM, 6162306a36Sopenharmony_ci QCS404_SLAVE_PRNG, 6262306a36Sopenharmony_ci QCS404_SLAVE_TCSR, 6362306a36Sopenharmony_ci QCS404_SLAVE_SNOC_CFG, 6462306a36Sopenharmony_ci QCS404_SLAVE_MESSAGE_RAM, 6562306a36Sopenharmony_ci QCS404_SLAVE_DISPLAY_CFG, 6662306a36Sopenharmony_ci QCS404_SLAVE_GRAPHICS_3D_CFG, 6762306a36Sopenharmony_ci QCS404_SLAVE_BLSP_1, 6862306a36Sopenharmony_ci QCS404_SLAVE_TLMM_NORTH, 6962306a36Sopenharmony_ci QCS404_SLAVE_PCIE_1, 7062306a36Sopenharmony_ci QCS404_SLAVE_EMAC_CFG, 7162306a36Sopenharmony_ci QCS404_SLAVE_BLSP_2, 7262306a36Sopenharmony_ci QCS404_SLAVE_TLMM_EAST, 7362306a36Sopenharmony_ci QCS404_SLAVE_TCU, 7462306a36Sopenharmony_ci QCS404_SLAVE_PMIC_ARB, 7562306a36Sopenharmony_ci QCS404_SLAVE_SDCC_1, 7662306a36Sopenharmony_ci QCS404_SLAVE_SDCC_2, 7762306a36Sopenharmony_ci QCS404_SLAVE_TLMM_SOUTH, 7862306a36Sopenharmony_ci QCS404_SLAVE_USB_HS, 7962306a36Sopenharmony_ci QCS404_SLAVE_USB3, 8062306a36Sopenharmony_ci QCS404_SLAVE_CRYPTO_0_CFG, 8162306a36Sopenharmony_ci QCS404_PNOC_SNOC_SLV, 8262306a36Sopenharmony_ci QCS404_SLAVE_APPSS, 8362306a36Sopenharmony_ci QCS404_SLAVE_WCSS, 8462306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_SLV, 8562306a36Sopenharmony_ci QCS404_SLAVE_OCIMEM, 8662306a36Sopenharmony_ci QCS404_SNOC_PNOC_SLV, 8762306a36Sopenharmony_ci QCS404_SLAVE_QDSS_STM, 8862306a36Sopenharmony_ci QCS404_SLAVE_CATS_128, 8962306a36Sopenharmony_ci QCS404_SLAVE_OCMEM_64, 9062306a36Sopenharmony_ci QCS404_SLAVE_LPASS, 9162306a36Sopenharmony_ci}; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_cistatic const u16 mas_apps_proc_links[] = { 9462306a36Sopenharmony_ci QCS404_SLAVE_EBI_CH0, 9562306a36Sopenharmony_ci QCS404_BIMC_SNOC_SLV 9662306a36Sopenharmony_ci}; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_cistatic struct qcom_icc_node mas_apps_proc = { 9962306a36Sopenharmony_ci .name = "mas_apps_proc", 10062306a36Sopenharmony_ci .id = QCS404_MASTER_AMPSS_M0, 10162306a36Sopenharmony_ci .buswidth = 8, 10262306a36Sopenharmony_ci .mas_rpm_id = 0, 10362306a36Sopenharmony_ci .slv_rpm_id = -1, 10462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_apps_proc_links), 10562306a36Sopenharmony_ci .links = mas_apps_proc_links, 10662306a36Sopenharmony_ci}; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_cistatic const u16 mas_oxili_links[] = { 10962306a36Sopenharmony_ci QCS404_SLAVE_EBI_CH0, 11062306a36Sopenharmony_ci QCS404_BIMC_SNOC_SLV 11162306a36Sopenharmony_ci}; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_cistatic struct qcom_icc_node mas_oxili = { 11462306a36Sopenharmony_ci .name = "mas_oxili", 11562306a36Sopenharmony_ci .id = QCS404_MASTER_GRAPHICS_3D, 11662306a36Sopenharmony_ci .buswidth = 8, 11762306a36Sopenharmony_ci .mas_rpm_id = -1, 11862306a36Sopenharmony_ci .slv_rpm_id = -1, 11962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_oxili_links), 12062306a36Sopenharmony_ci .links = mas_oxili_links, 12162306a36Sopenharmony_ci}; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_cistatic const u16 mas_mdp_links[] = { 12462306a36Sopenharmony_ci QCS404_SLAVE_EBI_CH0, 12562306a36Sopenharmony_ci QCS404_BIMC_SNOC_SLV 12662306a36Sopenharmony_ci}; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_cistatic struct qcom_icc_node mas_mdp = { 12962306a36Sopenharmony_ci .name = "mas_mdp", 13062306a36Sopenharmony_ci .id = QCS404_MASTER_MDP_PORT0, 13162306a36Sopenharmony_ci .buswidth = 8, 13262306a36Sopenharmony_ci .mas_rpm_id = -1, 13362306a36Sopenharmony_ci .slv_rpm_id = -1, 13462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_mdp_links), 13562306a36Sopenharmony_ci .links = mas_mdp_links, 13662306a36Sopenharmony_ci}; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_cistatic const u16 mas_snoc_bimc_1_links[] = { 13962306a36Sopenharmony_ci QCS404_SLAVE_EBI_CH0 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_bimc_1 = { 14362306a36Sopenharmony_ci .name = "mas_snoc_bimc_1", 14462306a36Sopenharmony_ci .id = QCS404_SNOC_BIMC_1_MAS, 14562306a36Sopenharmony_ci .buswidth = 8, 14662306a36Sopenharmony_ci .mas_rpm_id = 76, 14762306a36Sopenharmony_ci .slv_rpm_id = -1, 14862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_bimc_1_links), 14962306a36Sopenharmony_ci .links = mas_snoc_bimc_1_links, 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_cistatic const u16 mas_tcu_0_links[] = { 15362306a36Sopenharmony_ci QCS404_SLAVE_EBI_CH0, 15462306a36Sopenharmony_ci QCS404_BIMC_SNOC_SLV 15562306a36Sopenharmony_ci}; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_cistatic struct qcom_icc_node mas_tcu_0 = { 15862306a36Sopenharmony_ci .name = "mas_tcu_0", 15962306a36Sopenharmony_ci .id = QCS404_MASTER_TCU_0, 16062306a36Sopenharmony_ci .buswidth = 8, 16162306a36Sopenharmony_ci .mas_rpm_id = -1, 16262306a36Sopenharmony_ci .slv_rpm_id = -1, 16362306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_tcu_0_links), 16462306a36Sopenharmony_ci .links = mas_tcu_0_links, 16562306a36Sopenharmony_ci}; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_cistatic const u16 mas_spdm_links[] = { 16862306a36Sopenharmony_ci QCS404_PNOC_INT_3 16962306a36Sopenharmony_ci}; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_cistatic struct qcom_icc_node mas_spdm = { 17262306a36Sopenharmony_ci .name = "mas_spdm", 17362306a36Sopenharmony_ci .id = QCS404_MASTER_SPDM, 17462306a36Sopenharmony_ci .buswidth = 4, 17562306a36Sopenharmony_ci .mas_rpm_id = -1, 17662306a36Sopenharmony_ci .slv_rpm_id = -1, 17762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_spdm_links), 17862306a36Sopenharmony_ci .links = mas_spdm_links, 17962306a36Sopenharmony_ci}; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_cistatic const u16 mas_blsp_1_links[] = { 18262306a36Sopenharmony_ci QCS404_PNOC_INT_3 18362306a36Sopenharmony_ci}; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_cistatic struct qcom_icc_node mas_blsp_1 = { 18662306a36Sopenharmony_ci .name = "mas_blsp_1", 18762306a36Sopenharmony_ci .id = QCS404_MASTER_BLSP_1, 18862306a36Sopenharmony_ci .buswidth = 4, 18962306a36Sopenharmony_ci .mas_rpm_id = 41, 19062306a36Sopenharmony_ci .slv_rpm_id = -1, 19162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_blsp_1_links), 19262306a36Sopenharmony_ci .links = mas_blsp_1_links, 19362306a36Sopenharmony_ci}; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_cistatic const u16 mas_blsp_2_links[] = { 19662306a36Sopenharmony_ci QCS404_PNOC_INT_3 19762306a36Sopenharmony_ci}; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_cistatic struct qcom_icc_node mas_blsp_2 = { 20062306a36Sopenharmony_ci .name = "mas_blsp_2", 20162306a36Sopenharmony_ci .id = QCS404_MASTER_BLSP_2, 20262306a36Sopenharmony_ci .buswidth = 4, 20362306a36Sopenharmony_ci .mas_rpm_id = 39, 20462306a36Sopenharmony_ci .slv_rpm_id = -1, 20562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_blsp_2_links), 20662306a36Sopenharmony_ci .links = mas_blsp_2_links, 20762306a36Sopenharmony_ci}; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_cistatic const u16 mas_xi_usb_hs1_links[] = { 21062306a36Sopenharmony_ci QCS404_PNOC_INT_0 21162306a36Sopenharmony_ci}; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_cistatic struct qcom_icc_node mas_xi_usb_hs1 = { 21462306a36Sopenharmony_ci .name = "mas_xi_usb_hs1", 21562306a36Sopenharmony_ci .id = QCS404_MASTER_XM_USB_HS1, 21662306a36Sopenharmony_ci .buswidth = 8, 21762306a36Sopenharmony_ci .mas_rpm_id = 138, 21862306a36Sopenharmony_ci .slv_rpm_id = -1, 21962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_xi_usb_hs1_links), 22062306a36Sopenharmony_ci .links = mas_xi_usb_hs1_links, 22162306a36Sopenharmony_ci}; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_cistatic const u16 mas_crypto_links[] = { 22462306a36Sopenharmony_ci QCS404_PNOC_SNOC_SLV, 22562306a36Sopenharmony_ci QCS404_PNOC_INT_2 22662306a36Sopenharmony_ci}; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_cistatic struct qcom_icc_node mas_crypto = { 22962306a36Sopenharmony_ci .name = "mas_crypto", 23062306a36Sopenharmony_ci .id = QCS404_MASTER_CRYPTO_CORE0, 23162306a36Sopenharmony_ci .buswidth = 8, 23262306a36Sopenharmony_ci .mas_rpm_id = 23, 23362306a36Sopenharmony_ci .slv_rpm_id = -1, 23462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_crypto_links), 23562306a36Sopenharmony_ci .links = mas_crypto_links, 23662306a36Sopenharmony_ci}; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_cistatic const u16 mas_sdcc_1_links[] = { 23962306a36Sopenharmony_ci QCS404_PNOC_INT_0 24062306a36Sopenharmony_ci}; 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_cistatic struct qcom_icc_node mas_sdcc_1 = { 24362306a36Sopenharmony_ci .name = "mas_sdcc_1", 24462306a36Sopenharmony_ci .id = QCS404_MASTER_SDCC_1, 24562306a36Sopenharmony_ci .buswidth = 8, 24662306a36Sopenharmony_ci .mas_rpm_id = 33, 24762306a36Sopenharmony_ci .slv_rpm_id = -1, 24862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_sdcc_1_links), 24962306a36Sopenharmony_ci .links = mas_sdcc_1_links, 25062306a36Sopenharmony_ci}; 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_cistatic const u16 mas_sdcc_2_links[] = { 25362306a36Sopenharmony_ci QCS404_PNOC_INT_0 25462306a36Sopenharmony_ci}; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_cistatic struct qcom_icc_node mas_sdcc_2 = { 25762306a36Sopenharmony_ci .name = "mas_sdcc_2", 25862306a36Sopenharmony_ci .id = QCS404_MASTER_SDCC_2, 25962306a36Sopenharmony_ci .buswidth = 8, 26062306a36Sopenharmony_ci .mas_rpm_id = 35, 26162306a36Sopenharmony_ci .slv_rpm_id = -1, 26262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_sdcc_2_links), 26362306a36Sopenharmony_ci .links = mas_sdcc_2_links, 26462306a36Sopenharmony_ci}; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_cistatic const u16 mas_snoc_pcnoc_links[] = { 26762306a36Sopenharmony_ci QCS404_PNOC_INT_2 26862306a36Sopenharmony_ci}; 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_cistatic struct qcom_icc_node mas_snoc_pcnoc = { 27162306a36Sopenharmony_ci .name = "mas_snoc_pcnoc", 27262306a36Sopenharmony_ci .id = QCS404_SNOC_PNOC_MAS, 27362306a36Sopenharmony_ci .buswidth = 8, 27462306a36Sopenharmony_ci .mas_rpm_id = 77, 27562306a36Sopenharmony_ci .slv_rpm_id = -1, 27662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_snoc_pcnoc_links), 27762306a36Sopenharmony_ci .links = mas_snoc_pcnoc_links, 27862306a36Sopenharmony_ci}; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_cistatic const u16 mas_qpic_links[] = { 28162306a36Sopenharmony_ci QCS404_PNOC_INT_0 28262306a36Sopenharmony_ci}; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_cistatic struct qcom_icc_node mas_qpic = { 28562306a36Sopenharmony_ci .name = "mas_qpic", 28662306a36Sopenharmony_ci .id = QCS404_MASTER_QPIC, 28762306a36Sopenharmony_ci .buswidth = 4, 28862306a36Sopenharmony_ci .mas_rpm_id = -1, 28962306a36Sopenharmony_ci .slv_rpm_id = -1, 29062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qpic_links), 29162306a36Sopenharmony_ci .links = mas_qpic_links, 29262306a36Sopenharmony_ci}; 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_cistatic const u16 mas_qdss_bam_links[] = { 29562306a36Sopenharmony_ci QCS404_SNOC_QDSS_INT 29662306a36Sopenharmony_ci}; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_bam = { 29962306a36Sopenharmony_ci .name = "mas_qdss_bam", 30062306a36Sopenharmony_ci .id = QCS404_MASTER_QDSS_BAM, 30162306a36Sopenharmony_ci .buswidth = 4, 30262306a36Sopenharmony_ci .mas_rpm_id = -1, 30362306a36Sopenharmony_ci .slv_rpm_id = -1, 30462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_bam_links), 30562306a36Sopenharmony_ci .links = mas_qdss_bam_links, 30662306a36Sopenharmony_ci}; 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_cistatic const u16 mas_bimc_snoc_links[] = { 30962306a36Sopenharmony_ci QCS404_SLAVE_OCMEM_64, 31062306a36Sopenharmony_ci QCS404_SLAVE_CATS_128, 31162306a36Sopenharmony_ci QCS404_SNOC_INT_0, 31262306a36Sopenharmony_ci QCS404_SNOC_INT_1 31362306a36Sopenharmony_ci}; 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_cistatic struct qcom_icc_node mas_bimc_snoc = { 31662306a36Sopenharmony_ci .name = "mas_bimc_snoc", 31762306a36Sopenharmony_ci .id = QCS404_BIMC_SNOC_MAS, 31862306a36Sopenharmony_ci .buswidth = 8, 31962306a36Sopenharmony_ci .mas_rpm_id = 21, 32062306a36Sopenharmony_ci .slv_rpm_id = -1, 32162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_bimc_snoc_links), 32262306a36Sopenharmony_ci .links = mas_bimc_snoc_links, 32362306a36Sopenharmony_ci}; 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_cistatic const u16 mas_pcnoc_snoc_links[] = { 32662306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_SLV, 32762306a36Sopenharmony_ci QCS404_SNOC_INT_2, 32862306a36Sopenharmony_ci QCS404_SNOC_INT_0 32962306a36Sopenharmony_ci}; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_cistatic struct qcom_icc_node mas_pcnoc_snoc = { 33262306a36Sopenharmony_ci .name = "mas_pcnoc_snoc", 33362306a36Sopenharmony_ci .id = QCS404_PNOC_SNOC_MAS, 33462306a36Sopenharmony_ci .buswidth = 8, 33562306a36Sopenharmony_ci .mas_rpm_id = 29, 33662306a36Sopenharmony_ci .slv_rpm_id = -1, 33762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_pcnoc_snoc_links), 33862306a36Sopenharmony_ci .links = mas_pcnoc_snoc_links, 33962306a36Sopenharmony_ci}; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_cistatic const u16 mas_qdss_etr_links[] = { 34262306a36Sopenharmony_ci QCS404_SNOC_QDSS_INT 34362306a36Sopenharmony_ci}; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_cistatic struct qcom_icc_node mas_qdss_etr = { 34662306a36Sopenharmony_ci .name = "mas_qdss_etr", 34762306a36Sopenharmony_ci .id = QCS404_MASTER_QDSS_ETR, 34862306a36Sopenharmony_ci .buswidth = 8, 34962306a36Sopenharmony_ci .mas_rpm_id = -1, 35062306a36Sopenharmony_ci .slv_rpm_id = -1, 35162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_qdss_etr_links), 35262306a36Sopenharmony_ci .links = mas_qdss_etr_links, 35362306a36Sopenharmony_ci}; 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_cistatic const u16 mas_emac_links[] = { 35662306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_SLV, 35762306a36Sopenharmony_ci QCS404_SNOC_INT_1 35862306a36Sopenharmony_ci}; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_cistatic struct qcom_icc_node mas_emac = { 36162306a36Sopenharmony_ci .name = "mas_emac", 36262306a36Sopenharmony_ci .id = QCS404_MASTER_EMAC, 36362306a36Sopenharmony_ci .buswidth = 8, 36462306a36Sopenharmony_ci .mas_rpm_id = -1, 36562306a36Sopenharmony_ci .slv_rpm_id = -1, 36662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_emac_links), 36762306a36Sopenharmony_ci .links = mas_emac_links, 36862306a36Sopenharmony_ci}; 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_cistatic const u16 mas_pcie_links[] = { 37162306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_SLV, 37262306a36Sopenharmony_ci QCS404_SNOC_INT_1 37362306a36Sopenharmony_ci}; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_cistatic struct qcom_icc_node mas_pcie = { 37662306a36Sopenharmony_ci .name = "mas_pcie", 37762306a36Sopenharmony_ci .id = QCS404_MASTER_PCIE, 37862306a36Sopenharmony_ci .buswidth = 8, 37962306a36Sopenharmony_ci .mas_rpm_id = -1, 38062306a36Sopenharmony_ci .slv_rpm_id = -1, 38162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_pcie_links), 38262306a36Sopenharmony_ci .links = mas_pcie_links, 38362306a36Sopenharmony_ci}; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_cistatic const u16 mas_usb3_links[] = { 38662306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_SLV, 38762306a36Sopenharmony_ci QCS404_SNOC_INT_1 38862306a36Sopenharmony_ci}; 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_cistatic struct qcom_icc_node mas_usb3 = { 39162306a36Sopenharmony_ci .name = "mas_usb3", 39262306a36Sopenharmony_ci .id = QCS404_MASTER_USB3, 39362306a36Sopenharmony_ci .buswidth = 8, 39462306a36Sopenharmony_ci .mas_rpm_id = -1, 39562306a36Sopenharmony_ci .slv_rpm_id = -1, 39662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(mas_usb3_links), 39762306a36Sopenharmony_ci .links = mas_usb3_links, 39862306a36Sopenharmony_ci}; 39962306a36Sopenharmony_ci 40062306a36Sopenharmony_cistatic const u16 pcnoc_int_0_links[] = { 40162306a36Sopenharmony_ci QCS404_PNOC_SNOC_SLV, 40262306a36Sopenharmony_ci QCS404_PNOC_INT_2 40362306a36Sopenharmony_ci}; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_int_0 = { 40662306a36Sopenharmony_ci .name = "pcnoc_int_0", 40762306a36Sopenharmony_ci .id = QCS404_PNOC_INT_0, 40862306a36Sopenharmony_ci .buswidth = 8, 40962306a36Sopenharmony_ci .mas_rpm_id = 85, 41062306a36Sopenharmony_ci .slv_rpm_id = 114, 41162306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_int_0_links), 41262306a36Sopenharmony_ci .links = pcnoc_int_0_links, 41362306a36Sopenharmony_ci}; 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_cistatic const u16 pcnoc_int_2_links[] = { 41662306a36Sopenharmony_ci QCS404_PNOC_SLV_10, 41762306a36Sopenharmony_ci QCS404_SLAVE_TCU, 41862306a36Sopenharmony_ci QCS404_PNOC_SLV_11, 41962306a36Sopenharmony_ci QCS404_PNOC_SLV_2, 42062306a36Sopenharmony_ci QCS404_PNOC_SLV_3, 42162306a36Sopenharmony_ci QCS404_PNOC_SLV_0, 42262306a36Sopenharmony_ci QCS404_PNOC_SLV_1, 42362306a36Sopenharmony_ci QCS404_PNOC_SLV_6, 42462306a36Sopenharmony_ci QCS404_PNOC_SLV_7, 42562306a36Sopenharmony_ci QCS404_PNOC_SLV_4, 42662306a36Sopenharmony_ci QCS404_PNOC_SLV_8, 42762306a36Sopenharmony_ci QCS404_PNOC_SLV_9 42862306a36Sopenharmony_ci}; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_int_2 = { 43162306a36Sopenharmony_ci .name = "pcnoc_int_2", 43262306a36Sopenharmony_ci .id = QCS404_PNOC_INT_2, 43362306a36Sopenharmony_ci .buswidth = 8, 43462306a36Sopenharmony_ci .mas_rpm_id = 124, 43562306a36Sopenharmony_ci .slv_rpm_id = 184, 43662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_int_2_links), 43762306a36Sopenharmony_ci .links = pcnoc_int_2_links, 43862306a36Sopenharmony_ci}; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_cistatic const u16 pcnoc_int_3_links[] = { 44162306a36Sopenharmony_ci QCS404_PNOC_SNOC_SLV 44262306a36Sopenharmony_ci}; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_int_3 = { 44562306a36Sopenharmony_ci .name = "pcnoc_int_3", 44662306a36Sopenharmony_ci .id = QCS404_PNOC_INT_3, 44762306a36Sopenharmony_ci .buswidth = 8, 44862306a36Sopenharmony_ci .mas_rpm_id = 125, 44962306a36Sopenharmony_ci .slv_rpm_id = 185, 45062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_int_3_links), 45162306a36Sopenharmony_ci .links = pcnoc_int_3_links, 45262306a36Sopenharmony_ci}; 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_cistatic const u16 pcnoc_s_0_links[] = { 45562306a36Sopenharmony_ci QCS404_SLAVE_PRNG, 45662306a36Sopenharmony_ci QCS404_SLAVE_SPDM_WRAPPER, 45762306a36Sopenharmony_ci QCS404_SLAVE_PDM 45862306a36Sopenharmony_ci}; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_0 = { 46162306a36Sopenharmony_ci .name = "pcnoc_s_0", 46262306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_0, 46362306a36Sopenharmony_ci .buswidth = 4, 46462306a36Sopenharmony_ci .mas_rpm_id = 89, 46562306a36Sopenharmony_ci .slv_rpm_id = 118, 46662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_0_links), 46762306a36Sopenharmony_ci .links = pcnoc_s_0_links, 46862306a36Sopenharmony_ci}; 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_cistatic const u16 pcnoc_s_1_links[] = { 47162306a36Sopenharmony_ci QCS404_SLAVE_TCSR 47262306a36Sopenharmony_ci}; 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_1 = { 47562306a36Sopenharmony_ci .name = "pcnoc_s_1", 47662306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_1, 47762306a36Sopenharmony_ci .buswidth = 4, 47862306a36Sopenharmony_ci .mas_rpm_id = 90, 47962306a36Sopenharmony_ci .slv_rpm_id = 119, 48062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_1_links), 48162306a36Sopenharmony_ci .links = pcnoc_s_1_links, 48262306a36Sopenharmony_ci}; 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_cistatic const u16 pcnoc_s_2_links[] = { 48562306a36Sopenharmony_ci QCS404_SLAVE_GRAPHICS_3D_CFG 48662306a36Sopenharmony_ci}; 48762306a36Sopenharmony_ci 48862306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_2 = { 48962306a36Sopenharmony_ci .name = "pcnoc_s_2", 49062306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_2, 49162306a36Sopenharmony_ci .buswidth = 4, 49262306a36Sopenharmony_ci .mas_rpm_id = -1, 49362306a36Sopenharmony_ci .slv_rpm_id = -1, 49462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_2_links), 49562306a36Sopenharmony_ci .links = pcnoc_s_2_links, 49662306a36Sopenharmony_ci}; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_cistatic const u16 pcnoc_s_3_links[] = { 49962306a36Sopenharmony_ci QCS404_SLAVE_MESSAGE_RAM 50062306a36Sopenharmony_ci}; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_3 = { 50362306a36Sopenharmony_ci .name = "pcnoc_s_3", 50462306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_3, 50562306a36Sopenharmony_ci .buswidth = 4, 50662306a36Sopenharmony_ci .mas_rpm_id = 92, 50762306a36Sopenharmony_ci .slv_rpm_id = 121, 50862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_3_links), 50962306a36Sopenharmony_ci .links = pcnoc_s_3_links, 51062306a36Sopenharmony_ci}; 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_cistatic const u16 pcnoc_s_4_links[] = { 51362306a36Sopenharmony_ci QCS404_SLAVE_SNOC_CFG 51462306a36Sopenharmony_ci}; 51562306a36Sopenharmony_ci 51662306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_4 = { 51762306a36Sopenharmony_ci .name = "pcnoc_s_4", 51862306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_4, 51962306a36Sopenharmony_ci .buswidth = 4, 52062306a36Sopenharmony_ci .mas_rpm_id = 93, 52162306a36Sopenharmony_ci .slv_rpm_id = 122, 52262306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_4_links), 52362306a36Sopenharmony_ci .links = pcnoc_s_4_links, 52462306a36Sopenharmony_ci}; 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_cistatic const u16 pcnoc_s_6_links[] = { 52762306a36Sopenharmony_ci QCS404_SLAVE_BLSP_1, 52862306a36Sopenharmony_ci QCS404_SLAVE_TLMM_NORTH, 52962306a36Sopenharmony_ci QCS404_SLAVE_EMAC_CFG 53062306a36Sopenharmony_ci}; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_6 = { 53362306a36Sopenharmony_ci .name = "pcnoc_s_6", 53462306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_6, 53562306a36Sopenharmony_ci .buswidth = 4, 53662306a36Sopenharmony_ci .mas_rpm_id = 94, 53762306a36Sopenharmony_ci .slv_rpm_id = 123, 53862306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_6_links), 53962306a36Sopenharmony_ci .links = pcnoc_s_6_links, 54062306a36Sopenharmony_ci}; 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_cistatic const u16 pcnoc_s_7_links[] = { 54362306a36Sopenharmony_ci QCS404_SLAVE_TLMM_SOUTH, 54462306a36Sopenharmony_ci QCS404_SLAVE_DISPLAY_CFG, 54562306a36Sopenharmony_ci QCS404_SLAVE_SDCC_1, 54662306a36Sopenharmony_ci QCS404_SLAVE_PCIE_1, 54762306a36Sopenharmony_ci QCS404_SLAVE_SDCC_2 54862306a36Sopenharmony_ci}; 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_7 = { 55162306a36Sopenharmony_ci .name = "pcnoc_s_7", 55262306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_7, 55362306a36Sopenharmony_ci .buswidth = 4, 55462306a36Sopenharmony_ci .mas_rpm_id = 95, 55562306a36Sopenharmony_ci .slv_rpm_id = 124, 55662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_7_links), 55762306a36Sopenharmony_ci .links = pcnoc_s_7_links, 55862306a36Sopenharmony_ci}; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_cistatic const u16 pcnoc_s_8_links[] = { 56162306a36Sopenharmony_ci QCS404_SLAVE_CRYPTO_0_CFG 56262306a36Sopenharmony_ci}; 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_8 = { 56562306a36Sopenharmony_ci .name = "pcnoc_s_8", 56662306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_8, 56762306a36Sopenharmony_ci .buswidth = 4, 56862306a36Sopenharmony_ci .mas_rpm_id = 96, 56962306a36Sopenharmony_ci .slv_rpm_id = 125, 57062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_8_links), 57162306a36Sopenharmony_ci .links = pcnoc_s_8_links, 57262306a36Sopenharmony_ci}; 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_cistatic const u16 pcnoc_s_9_links[] = { 57562306a36Sopenharmony_ci QCS404_SLAVE_BLSP_2, 57662306a36Sopenharmony_ci QCS404_SLAVE_TLMM_EAST, 57762306a36Sopenharmony_ci QCS404_SLAVE_PMIC_ARB 57862306a36Sopenharmony_ci}; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_9 = { 58162306a36Sopenharmony_ci .name = "pcnoc_s_9", 58262306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_9, 58362306a36Sopenharmony_ci .buswidth = 4, 58462306a36Sopenharmony_ci .mas_rpm_id = 97, 58562306a36Sopenharmony_ci .slv_rpm_id = 126, 58662306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_9_links), 58762306a36Sopenharmony_ci .links = pcnoc_s_9_links, 58862306a36Sopenharmony_ci}; 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_cistatic const u16 pcnoc_s_10_links[] = { 59162306a36Sopenharmony_ci QCS404_SLAVE_USB_HS 59262306a36Sopenharmony_ci}; 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_10 = { 59562306a36Sopenharmony_ci .name = "pcnoc_s_10", 59662306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_10, 59762306a36Sopenharmony_ci .buswidth = 4, 59862306a36Sopenharmony_ci .mas_rpm_id = 157, 59962306a36Sopenharmony_ci .slv_rpm_id = -1, 60062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_10_links), 60162306a36Sopenharmony_ci .links = pcnoc_s_10_links, 60262306a36Sopenharmony_ci}; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_cistatic const u16 pcnoc_s_11_links[] = { 60562306a36Sopenharmony_ci QCS404_SLAVE_USB3 60662306a36Sopenharmony_ci}; 60762306a36Sopenharmony_ci 60862306a36Sopenharmony_cistatic struct qcom_icc_node pcnoc_s_11 = { 60962306a36Sopenharmony_ci .name = "pcnoc_s_11", 61062306a36Sopenharmony_ci .id = QCS404_PNOC_SLV_11, 61162306a36Sopenharmony_ci .buswidth = 4, 61262306a36Sopenharmony_ci .mas_rpm_id = 158, 61362306a36Sopenharmony_ci .slv_rpm_id = 246, 61462306a36Sopenharmony_ci .num_links = ARRAY_SIZE(pcnoc_s_11_links), 61562306a36Sopenharmony_ci .links = pcnoc_s_11_links, 61662306a36Sopenharmony_ci}; 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_cistatic const u16 qdss_int_links[] = { 61962306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_SLV, 62062306a36Sopenharmony_ci QCS404_SNOC_INT_1 62162306a36Sopenharmony_ci}; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_cistatic struct qcom_icc_node qdss_int = { 62462306a36Sopenharmony_ci .name = "qdss_int", 62562306a36Sopenharmony_ci .id = QCS404_SNOC_QDSS_INT, 62662306a36Sopenharmony_ci .buswidth = 8, 62762306a36Sopenharmony_ci .mas_rpm_id = -1, 62862306a36Sopenharmony_ci .slv_rpm_id = -1, 62962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(qdss_int_links), 63062306a36Sopenharmony_ci .links = qdss_int_links, 63162306a36Sopenharmony_ci}; 63262306a36Sopenharmony_ci 63362306a36Sopenharmony_cistatic const u16 snoc_int_0_links[] = { 63462306a36Sopenharmony_ci QCS404_SLAVE_LPASS, 63562306a36Sopenharmony_ci QCS404_SLAVE_APPSS, 63662306a36Sopenharmony_ci QCS404_SLAVE_WCSS 63762306a36Sopenharmony_ci}; 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_cistatic struct qcom_icc_node snoc_int_0 = { 64062306a36Sopenharmony_ci .name = "snoc_int_0", 64162306a36Sopenharmony_ci .id = QCS404_SNOC_INT_0, 64262306a36Sopenharmony_ci .buswidth = 8, 64362306a36Sopenharmony_ci .mas_rpm_id = 99, 64462306a36Sopenharmony_ci .slv_rpm_id = 130, 64562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_int_0_links), 64662306a36Sopenharmony_ci .links = snoc_int_0_links, 64762306a36Sopenharmony_ci}; 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_cistatic const u16 snoc_int_1_links[] = { 65062306a36Sopenharmony_ci QCS404_SNOC_PNOC_SLV, 65162306a36Sopenharmony_ci QCS404_SNOC_INT_2 65262306a36Sopenharmony_ci}; 65362306a36Sopenharmony_ci 65462306a36Sopenharmony_cistatic struct qcom_icc_node snoc_int_1 = { 65562306a36Sopenharmony_ci .name = "snoc_int_1", 65662306a36Sopenharmony_ci .id = QCS404_SNOC_INT_1, 65762306a36Sopenharmony_ci .buswidth = 8, 65862306a36Sopenharmony_ci .mas_rpm_id = 100, 65962306a36Sopenharmony_ci .slv_rpm_id = 131, 66062306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_int_1_links), 66162306a36Sopenharmony_ci .links = snoc_int_1_links, 66262306a36Sopenharmony_ci}; 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_cistatic const u16 snoc_int_2_links[] = { 66562306a36Sopenharmony_ci QCS404_SLAVE_QDSS_STM, 66662306a36Sopenharmony_ci QCS404_SLAVE_OCIMEM 66762306a36Sopenharmony_ci}; 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_cistatic struct qcom_icc_node snoc_int_2 = { 67062306a36Sopenharmony_ci .name = "snoc_int_2", 67162306a36Sopenharmony_ci .id = QCS404_SNOC_INT_2, 67262306a36Sopenharmony_ci .buswidth = 8, 67362306a36Sopenharmony_ci .mas_rpm_id = 134, 67462306a36Sopenharmony_ci .slv_rpm_id = 197, 67562306a36Sopenharmony_ci .num_links = ARRAY_SIZE(snoc_int_2_links), 67662306a36Sopenharmony_ci .links = snoc_int_2_links, 67762306a36Sopenharmony_ci}; 67862306a36Sopenharmony_ci 67962306a36Sopenharmony_cistatic struct qcom_icc_node slv_ebi = { 68062306a36Sopenharmony_ci .name = "slv_ebi", 68162306a36Sopenharmony_ci .id = QCS404_SLAVE_EBI_CH0, 68262306a36Sopenharmony_ci .buswidth = 8, 68362306a36Sopenharmony_ci .mas_rpm_id = -1, 68462306a36Sopenharmony_ci .slv_rpm_id = 0, 68562306a36Sopenharmony_ci}; 68662306a36Sopenharmony_ci 68762306a36Sopenharmony_cistatic const u16 slv_bimc_snoc_links[] = { 68862306a36Sopenharmony_ci QCS404_BIMC_SNOC_MAS 68962306a36Sopenharmony_ci}; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_cistatic struct qcom_icc_node slv_bimc_snoc = { 69262306a36Sopenharmony_ci .name = "slv_bimc_snoc", 69362306a36Sopenharmony_ci .id = QCS404_BIMC_SNOC_SLV, 69462306a36Sopenharmony_ci .buswidth = 8, 69562306a36Sopenharmony_ci .mas_rpm_id = -1, 69662306a36Sopenharmony_ci .slv_rpm_id = 2, 69762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_bimc_snoc_links), 69862306a36Sopenharmony_ci .links = slv_bimc_snoc_links, 69962306a36Sopenharmony_ci}; 70062306a36Sopenharmony_ci 70162306a36Sopenharmony_cistatic struct qcom_icc_node slv_spdm = { 70262306a36Sopenharmony_ci .name = "slv_spdm", 70362306a36Sopenharmony_ci .id = QCS404_SLAVE_SPDM_WRAPPER, 70462306a36Sopenharmony_ci .buswidth = 4, 70562306a36Sopenharmony_ci .mas_rpm_id = -1, 70662306a36Sopenharmony_ci .slv_rpm_id = -1, 70762306a36Sopenharmony_ci}; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_cistatic struct qcom_icc_node slv_pdm = { 71062306a36Sopenharmony_ci .name = "slv_pdm", 71162306a36Sopenharmony_ci .id = QCS404_SLAVE_PDM, 71262306a36Sopenharmony_ci .buswidth = 4, 71362306a36Sopenharmony_ci .mas_rpm_id = -1, 71462306a36Sopenharmony_ci .slv_rpm_id = 41, 71562306a36Sopenharmony_ci}; 71662306a36Sopenharmony_ci 71762306a36Sopenharmony_cistatic struct qcom_icc_node slv_prng = { 71862306a36Sopenharmony_ci .name = "slv_prng", 71962306a36Sopenharmony_ci .id = QCS404_SLAVE_PRNG, 72062306a36Sopenharmony_ci .buswidth = 4, 72162306a36Sopenharmony_ci .mas_rpm_id = -1, 72262306a36Sopenharmony_ci .slv_rpm_id = 44, 72362306a36Sopenharmony_ci}; 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_cistatic struct qcom_icc_node slv_tcsr = { 72662306a36Sopenharmony_ci .name = "slv_tcsr", 72762306a36Sopenharmony_ci .id = QCS404_SLAVE_TCSR, 72862306a36Sopenharmony_ci .buswidth = 4, 72962306a36Sopenharmony_ci .mas_rpm_id = -1, 73062306a36Sopenharmony_ci .slv_rpm_id = 50, 73162306a36Sopenharmony_ci}; 73262306a36Sopenharmony_ci 73362306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_cfg = { 73462306a36Sopenharmony_ci .name = "slv_snoc_cfg", 73562306a36Sopenharmony_ci .id = QCS404_SLAVE_SNOC_CFG, 73662306a36Sopenharmony_ci .buswidth = 4, 73762306a36Sopenharmony_ci .mas_rpm_id = -1, 73862306a36Sopenharmony_ci .slv_rpm_id = 70, 73962306a36Sopenharmony_ci}; 74062306a36Sopenharmony_ci 74162306a36Sopenharmony_cistatic struct qcom_icc_node slv_message_ram = { 74262306a36Sopenharmony_ci .name = "slv_message_ram", 74362306a36Sopenharmony_ci .id = QCS404_SLAVE_MESSAGE_RAM, 74462306a36Sopenharmony_ci .buswidth = 4, 74562306a36Sopenharmony_ci .mas_rpm_id = -1, 74662306a36Sopenharmony_ci .slv_rpm_id = 55, 74762306a36Sopenharmony_ci}; 74862306a36Sopenharmony_ci 74962306a36Sopenharmony_cistatic struct qcom_icc_node slv_disp_ss_cfg = { 75062306a36Sopenharmony_ci .name = "slv_disp_ss_cfg", 75162306a36Sopenharmony_ci .id = QCS404_SLAVE_DISPLAY_CFG, 75262306a36Sopenharmony_ci .buswidth = 4, 75362306a36Sopenharmony_ci .mas_rpm_id = -1, 75462306a36Sopenharmony_ci .slv_rpm_id = -1, 75562306a36Sopenharmony_ci}; 75662306a36Sopenharmony_ci 75762306a36Sopenharmony_cistatic struct qcom_icc_node slv_gpu_cfg = { 75862306a36Sopenharmony_ci .name = "slv_gpu_cfg", 75962306a36Sopenharmony_ci .id = QCS404_SLAVE_GRAPHICS_3D_CFG, 76062306a36Sopenharmony_ci .buswidth = 4, 76162306a36Sopenharmony_ci .mas_rpm_id = -1, 76262306a36Sopenharmony_ci .slv_rpm_id = -1, 76362306a36Sopenharmony_ci}; 76462306a36Sopenharmony_ci 76562306a36Sopenharmony_cistatic struct qcom_icc_node slv_blsp_1 = { 76662306a36Sopenharmony_ci .name = "slv_blsp_1", 76762306a36Sopenharmony_ci .id = QCS404_SLAVE_BLSP_1, 76862306a36Sopenharmony_ci .buswidth = 4, 76962306a36Sopenharmony_ci .mas_rpm_id = -1, 77062306a36Sopenharmony_ci .slv_rpm_id = 39, 77162306a36Sopenharmony_ci}; 77262306a36Sopenharmony_ci 77362306a36Sopenharmony_cistatic struct qcom_icc_node slv_tlmm_north = { 77462306a36Sopenharmony_ci .name = "slv_tlmm_north", 77562306a36Sopenharmony_ci .id = QCS404_SLAVE_TLMM_NORTH, 77662306a36Sopenharmony_ci .buswidth = 4, 77762306a36Sopenharmony_ci .mas_rpm_id = -1, 77862306a36Sopenharmony_ci .slv_rpm_id = 214, 77962306a36Sopenharmony_ci}; 78062306a36Sopenharmony_ci 78162306a36Sopenharmony_cistatic struct qcom_icc_node slv_pcie = { 78262306a36Sopenharmony_ci .name = "slv_pcie", 78362306a36Sopenharmony_ci .id = QCS404_SLAVE_PCIE_1, 78462306a36Sopenharmony_ci .buswidth = 4, 78562306a36Sopenharmony_ci .mas_rpm_id = -1, 78662306a36Sopenharmony_ci .slv_rpm_id = -1, 78762306a36Sopenharmony_ci}; 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_cistatic struct qcom_icc_node slv_ethernet = { 79062306a36Sopenharmony_ci .name = "slv_ethernet", 79162306a36Sopenharmony_ci .id = QCS404_SLAVE_EMAC_CFG, 79262306a36Sopenharmony_ci .buswidth = 4, 79362306a36Sopenharmony_ci .mas_rpm_id = -1, 79462306a36Sopenharmony_ci .slv_rpm_id = -1, 79562306a36Sopenharmony_ci}; 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_cistatic struct qcom_icc_node slv_blsp_2 = { 79862306a36Sopenharmony_ci .name = "slv_blsp_2", 79962306a36Sopenharmony_ci .id = QCS404_SLAVE_BLSP_2, 80062306a36Sopenharmony_ci .buswidth = 4, 80162306a36Sopenharmony_ci .mas_rpm_id = -1, 80262306a36Sopenharmony_ci .slv_rpm_id = 37, 80362306a36Sopenharmony_ci}; 80462306a36Sopenharmony_ci 80562306a36Sopenharmony_cistatic struct qcom_icc_node slv_tlmm_east = { 80662306a36Sopenharmony_ci .name = "slv_tlmm_east", 80762306a36Sopenharmony_ci .id = QCS404_SLAVE_TLMM_EAST, 80862306a36Sopenharmony_ci .buswidth = 4, 80962306a36Sopenharmony_ci .mas_rpm_id = -1, 81062306a36Sopenharmony_ci .slv_rpm_id = 213, 81162306a36Sopenharmony_ci}; 81262306a36Sopenharmony_ci 81362306a36Sopenharmony_cistatic struct qcom_icc_node slv_tcu = { 81462306a36Sopenharmony_ci .name = "slv_tcu", 81562306a36Sopenharmony_ci .id = QCS404_SLAVE_TCU, 81662306a36Sopenharmony_ci .buswidth = 8, 81762306a36Sopenharmony_ci .mas_rpm_id = -1, 81862306a36Sopenharmony_ci .slv_rpm_id = -1, 81962306a36Sopenharmony_ci}; 82062306a36Sopenharmony_ci 82162306a36Sopenharmony_cistatic struct qcom_icc_node slv_pmic_arb = { 82262306a36Sopenharmony_ci .name = "slv_pmic_arb", 82362306a36Sopenharmony_ci .id = QCS404_SLAVE_PMIC_ARB, 82462306a36Sopenharmony_ci .buswidth = 4, 82562306a36Sopenharmony_ci .mas_rpm_id = -1, 82662306a36Sopenharmony_ci .slv_rpm_id = 59, 82762306a36Sopenharmony_ci}; 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_cistatic struct qcom_icc_node slv_sdcc_1 = { 83062306a36Sopenharmony_ci .name = "slv_sdcc_1", 83162306a36Sopenharmony_ci .id = QCS404_SLAVE_SDCC_1, 83262306a36Sopenharmony_ci .buswidth = 4, 83362306a36Sopenharmony_ci .mas_rpm_id = -1, 83462306a36Sopenharmony_ci .slv_rpm_id = 31, 83562306a36Sopenharmony_ci}; 83662306a36Sopenharmony_ci 83762306a36Sopenharmony_cistatic struct qcom_icc_node slv_sdcc_2 = { 83862306a36Sopenharmony_ci .name = "slv_sdcc_2", 83962306a36Sopenharmony_ci .id = QCS404_SLAVE_SDCC_2, 84062306a36Sopenharmony_ci .buswidth = 4, 84162306a36Sopenharmony_ci .mas_rpm_id = -1, 84262306a36Sopenharmony_ci .slv_rpm_id = 33, 84362306a36Sopenharmony_ci}; 84462306a36Sopenharmony_ci 84562306a36Sopenharmony_cistatic struct qcom_icc_node slv_tlmm_south = { 84662306a36Sopenharmony_ci .name = "slv_tlmm_south", 84762306a36Sopenharmony_ci .id = QCS404_SLAVE_TLMM_SOUTH, 84862306a36Sopenharmony_ci .buswidth = 4, 84962306a36Sopenharmony_ci .mas_rpm_id = -1, 85062306a36Sopenharmony_ci .slv_rpm_id = -1, 85162306a36Sopenharmony_ci}; 85262306a36Sopenharmony_ci 85362306a36Sopenharmony_cistatic struct qcom_icc_node slv_usb_hs = { 85462306a36Sopenharmony_ci .name = "slv_usb_hs", 85562306a36Sopenharmony_ci .id = QCS404_SLAVE_USB_HS, 85662306a36Sopenharmony_ci .buswidth = 4, 85762306a36Sopenharmony_ci .mas_rpm_id = -1, 85862306a36Sopenharmony_ci .slv_rpm_id = 40, 85962306a36Sopenharmony_ci}; 86062306a36Sopenharmony_ci 86162306a36Sopenharmony_cistatic struct qcom_icc_node slv_usb3 = { 86262306a36Sopenharmony_ci .name = "slv_usb3", 86362306a36Sopenharmony_ci .id = QCS404_SLAVE_USB3, 86462306a36Sopenharmony_ci .buswidth = 4, 86562306a36Sopenharmony_ci .mas_rpm_id = -1, 86662306a36Sopenharmony_ci .slv_rpm_id = 22, 86762306a36Sopenharmony_ci}; 86862306a36Sopenharmony_ci 86962306a36Sopenharmony_cistatic struct qcom_icc_node slv_crypto_0_cfg = { 87062306a36Sopenharmony_ci .name = "slv_crypto_0_cfg", 87162306a36Sopenharmony_ci .id = QCS404_SLAVE_CRYPTO_0_CFG, 87262306a36Sopenharmony_ci .buswidth = 4, 87362306a36Sopenharmony_ci .mas_rpm_id = -1, 87462306a36Sopenharmony_ci .slv_rpm_id = 52, 87562306a36Sopenharmony_ci}; 87662306a36Sopenharmony_ci 87762306a36Sopenharmony_cistatic const u16 slv_pcnoc_snoc_links[] = { 87862306a36Sopenharmony_ci QCS404_PNOC_SNOC_MAS 87962306a36Sopenharmony_ci}; 88062306a36Sopenharmony_ci 88162306a36Sopenharmony_cistatic struct qcom_icc_node slv_pcnoc_snoc = { 88262306a36Sopenharmony_ci .name = "slv_pcnoc_snoc", 88362306a36Sopenharmony_ci .id = QCS404_PNOC_SNOC_SLV, 88462306a36Sopenharmony_ci .buswidth = 8, 88562306a36Sopenharmony_ci .mas_rpm_id = -1, 88662306a36Sopenharmony_ci .slv_rpm_id = 45, 88762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_pcnoc_snoc_links), 88862306a36Sopenharmony_ci .links = slv_pcnoc_snoc_links, 88962306a36Sopenharmony_ci}; 89062306a36Sopenharmony_ci 89162306a36Sopenharmony_cistatic struct qcom_icc_node slv_kpss_ahb = { 89262306a36Sopenharmony_ci .name = "slv_kpss_ahb", 89362306a36Sopenharmony_ci .id = QCS404_SLAVE_APPSS, 89462306a36Sopenharmony_ci .buswidth = 4, 89562306a36Sopenharmony_ci .mas_rpm_id = -1, 89662306a36Sopenharmony_ci .slv_rpm_id = -1, 89762306a36Sopenharmony_ci}; 89862306a36Sopenharmony_ci 89962306a36Sopenharmony_cistatic struct qcom_icc_node slv_wcss = { 90062306a36Sopenharmony_ci .name = "slv_wcss", 90162306a36Sopenharmony_ci .id = QCS404_SLAVE_WCSS, 90262306a36Sopenharmony_ci .buswidth = 4, 90362306a36Sopenharmony_ci .mas_rpm_id = -1, 90462306a36Sopenharmony_ci .slv_rpm_id = 23, 90562306a36Sopenharmony_ci}; 90662306a36Sopenharmony_ci 90762306a36Sopenharmony_cistatic const u16 slv_snoc_bimc_1_links[] = { 90862306a36Sopenharmony_ci QCS404_SNOC_BIMC_1_MAS 90962306a36Sopenharmony_ci}; 91062306a36Sopenharmony_ci 91162306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_bimc_1 = { 91262306a36Sopenharmony_ci .name = "slv_snoc_bimc_1", 91362306a36Sopenharmony_ci .id = QCS404_SNOC_BIMC_1_SLV, 91462306a36Sopenharmony_ci .buswidth = 8, 91562306a36Sopenharmony_ci .mas_rpm_id = -1, 91662306a36Sopenharmony_ci .slv_rpm_id = 104, 91762306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_bimc_1_links), 91862306a36Sopenharmony_ci .links = slv_snoc_bimc_1_links, 91962306a36Sopenharmony_ci}; 92062306a36Sopenharmony_ci 92162306a36Sopenharmony_cistatic struct qcom_icc_node slv_imem = { 92262306a36Sopenharmony_ci .name = "slv_imem", 92362306a36Sopenharmony_ci .id = QCS404_SLAVE_OCIMEM, 92462306a36Sopenharmony_ci .buswidth = 8, 92562306a36Sopenharmony_ci .mas_rpm_id = -1, 92662306a36Sopenharmony_ci .slv_rpm_id = 26, 92762306a36Sopenharmony_ci}; 92862306a36Sopenharmony_ci 92962306a36Sopenharmony_cistatic const u16 slv_snoc_pcnoc_links[] = { 93062306a36Sopenharmony_ci QCS404_SNOC_PNOC_MAS 93162306a36Sopenharmony_ci}; 93262306a36Sopenharmony_ci 93362306a36Sopenharmony_cistatic struct qcom_icc_node slv_snoc_pcnoc = { 93462306a36Sopenharmony_ci .name = "slv_snoc_pcnoc", 93562306a36Sopenharmony_ci .id = QCS404_SNOC_PNOC_SLV, 93662306a36Sopenharmony_ci .buswidth = 8, 93762306a36Sopenharmony_ci .mas_rpm_id = -1, 93862306a36Sopenharmony_ci .slv_rpm_id = 28, 93962306a36Sopenharmony_ci .num_links = ARRAY_SIZE(slv_snoc_pcnoc_links), 94062306a36Sopenharmony_ci .links = slv_snoc_pcnoc_links, 94162306a36Sopenharmony_ci}; 94262306a36Sopenharmony_ci 94362306a36Sopenharmony_cistatic struct qcom_icc_node slv_qdss_stm = { 94462306a36Sopenharmony_ci .name = "slv_qdss_stm", 94562306a36Sopenharmony_ci .id = QCS404_SLAVE_QDSS_STM, 94662306a36Sopenharmony_ci .buswidth = 4, 94762306a36Sopenharmony_ci .mas_rpm_id = -1, 94862306a36Sopenharmony_ci .slv_rpm_id = 30, 94962306a36Sopenharmony_ci}; 95062306a36Sopenharmony_ci 95162306a36Sopenharmony_cistatic struct qcom_icc_node slv_cats_0 = { 95262306a36Sopenharmony_ci .name = "slv_cats_0", 95362306a36Sopenharmony_ci .id = QCS404_SLAVE_CATS_128, 95462306a36Sopenharmony_ci .buswidth = 16, 95562306a36Sopenharmony_ci .mas_rpm_id = -1, 95662306a36Sopenharmony_ci .slv_rpm_id = -1, 95762306a36Sopenharmony_ci}; 95862306a36Sopenharmony_ci 95962306a36Sopenharmony_cistatic struct qcom_icc_node slv_cats_1 = { 96062306a36Sopenharmony_ci .name = "slv_cats_1", 96162306a36Sopenharmony_ci .id = QCS404_SLAVE_OCMEM_64, 96262306a36Sopenharmony_ci .buswidth = 8, 96362306a36Sopenharmony_ci .mas_rpm_id = -1, 96462306a36Sopenharmony_ci .slv_rpm_id = -1, 96562306a36Sopenharmony_ci}; 96662306a36Sopenharmony_ci 96762306a36Sopenharmony_cistatic struct qcom_icc_node slv_lpass = { 96862306a36Sopenharmony_ci .name = "slv_lpass", 96962306a36Sopenharmony_ci .id = QCS404_SLAVE_LPASS, 97062306a36Sopenharmony_ci .buswidth = 4, 97162306a36Sopenharmony_ci .mas_rpm_id = -1, 97262306a36Sopenharmony_ci .slv_rpm_id = -1, 97362306a36Sopenharmony_ci}; 97462306a36Sopenharmony_ci 97562306a36Sopenharmony_cistatic struct qcom_icc_node * const qcs404_bimc_nodes[] = { 97662306a36Sopenharmony_ci [MASTER_AMPSS_M0] = &mas_apps_proc, 97762306a36Sopenharmony_ci [MASTER_OXILI] = &mas_oxili, 97862306a36Sopenharmony_ci [MASTER_MDP_PORT0] = &mas_mdp, 97962306a36Sopenharmony_ci [MASTER_SNOC_BIMC_1] = &mas_snoc_bimc_1, 98062306a36Sopenharmony_ci [MASTER_TCU_0] = &mas_tcu_0, 98162306a36Sopenharmony_ci [SLAVE_EBI_CH0] = &slv_ebi, 98262306a36Sopenharmony_ci [SLAVE_BIMC_SNOC] = &slv_bimc_snoc, 98362306a36Sopenharmony_ci}; 98462306a36Sopenharmony_ci 98562306a36Sopenharmony_cistatic const struct qcom_icc_desc qcs404_bimc = { 98662306a36Sopenharmony_ci .bus_clk_desc = &bimc_clk, 98762306a36Sopenharmony_ci .nodes = qcs404_bimc_nodes, 98862306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcs404_bimc_nodes), 98962306a36Sopenharmony_ci}; 99062306a36Sopenharmony_ci 99162306a36Sopenharmony_cistatic struct qcom_icc_node * const qcs404_pcnoc_nodes[] = { 99262306a36Sopenharmony_ci [MASTER_SPDM] = &mas_spdm, 99362306a36Sopenharmony_ci [MASTER_BLSP_1] = &mas_blsp_1, 99462306a36Sopenharmony_ci [MASTER_BLSP_2] = &mas_blsp_2, 99562306a36Sopenharmony_ci [MASTER_XI_USB_HS1] = &mas_xi_usb_hs1, 99662306a36Sopenharmony_ci [MASTER_CRYPT0] = &mas_crypto, 99762306a36Sopenharmony_ci [MASTER_SDCC_1] = &mas_sdcc_1, 99862306a36Sopenharmony_ci [MASTER_SDCC_2] = &mas_sdcc_2, 99962306a36Sopenharmony_ci [MASTER_SNOC_PCNOC] = &mas_snoc_pcnoc, 100062306a36Sopenharmony_ci [MASTER_QPIC] = &mas_qpic, 100162306a36Sopenharmony_ci [PCNOC_INT_0] = &pcnoc_int_0, 100262306a36Sopenharmony_ci [PCNOC_INT_2] = &pcnoc_int_2, 100362306a36Sopenharmony_ci [PCNOC_INT_3] = &pcnoc_int_3, 100462306a36Sopenharmony_ci [PCNOC_S_0] = &pcnoc_s_0, 100562306a36Sopenharmony_ci [PCNOC_S_1] = &pcnoc_s_1, 100662306a36Sopenharmony_ci [PCNOC_S_2] = &pcnoc_s_2, 100762306a36Sopenharmony_ci [PCNOC_S_3] = &pcnoc_s_3, 100862306a36Sopenharmony_ci [PCNOC_S_4] = &pcnoc_s_4, 100962306a36Sopenharmony_ci [PCNOC_S_6] = &pcnoc_s_6, 101062306a36Sopenharmony_ci [PCNOC_S_7] = &pcnoc_s_7, 101162306a36Sopenharmony_ci [PCNOC_S_8] = &pcnoc_s_8, 101262306a36Sopenharmony_ci [PCNOC_S_9] = &pcnoc_s_9, 101362306a36Sopenharmony_ci [PCNOC_S_10] = &pcnoc_s_10, 101462306a36Sopenharmony_ci [PCNOC_S_11] = &pcnoc_s_11, 101562306a36Sopenharmony_ci [SLAVE_SPDM] = &slv_spdm, 101662306a36Sopenharmony_ci [SLAVE_PDM] = &slv_pdm, 101762306a36Sopenharmony_ci [SLAVE_PRNG] = &slv_prng, 101862306a36Sopenharmony_ci [SLAVE_TCSR] = &slv_tcsr, 101962306a36Sopenharmony_ci [SLAVE_SNOC_CFG] = &slv_snoc_cfg, 102062306a36Sopenharmony_ci [SLAVE_MESSAGE_RAM] = &slv_message_ram, 102162306a36Sopenharmony_ci [SLAVE_DISP_SS_CFG] = &slv_disp_ss_cfg, 102262306a36Sopenharmony_ci [SLAVE_GPU_CFG] = &slv_gpu_cfg, 102362306a36Sopenharmony_ci [SLAVE_BLSP_1] = &slv_blsp_1, 102462306a36Sopenharmony_ci [SLAVE_BLSP_2] = &slv_blsp_2, 102562306a36Sopenharmony_ci [SLAVE_TLMM_NORTH] = &slv_tlmm_north, 102662306a36Sopenharmony_ci [SLAVE_PCIE] = &slv_pcie, 102762306a36Sopenharmony_ci [SLAVE_ETHERNET] = &slv_ethernet, 102862306a36Sopenharmony_ci [SLAVE_TLMM_EAST] = &slv_tlmm_east, 102962306a36Sopenharmony_ci [SLAVE_TCU] = &slv_tcu, 103062306a36Sopenharmony_ci [SLAVE_PMIC_ARB] = &slv_pmic_arb, 103162306a36Sopenharmony_ci [SLAVE_SDCC_1] = &slv_sdcc_1, 103262306a36Sopenharmony_ci [SLAVE_SDCC_2] = &slv_sdcc_2, 103362306a36Sopenharmony_ci [SLAVE_TLMM_SOUTH] = &slv_tlmm_south, 103462306a36Sopenharmony_ci [SLAVE_USB_HS] = &slv_usb_hs, 103562306a36Sopenharmony_ci [SLAVE_USB3] = &slv_usb3, 103662306a36Sopenharmony_ci [SLAVE_CRYPTO_0_CFG] = &slv_crypto_0_cfg, 103762306a36Sopenharmony_ci [SLAVE_PCNOC_SNOC] = &slv_pcnoc_snoc, 103862306a36Sopenharmony_ci}; 103962306a36Sopenharmony_ci 104062306a36Sopenharmony_cistatic const struct qcom_icc_desc qcs404_pcnoc = { 104162306a36Sopenharmony_ci .bus_clk_desc = &bus_0_clk, 104262306a36Sopenharmony_ci .nodes = qcs404_pcnoc_nodes, 104362306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcs404_pcnoc_nodes), 104462306a36Sopenharmony_ci}; 104562306a36Sopenharmony_ci 104662306a36Sopenharmony_cistatic struct qcom_icc_node * const qcs404_snoc_nodes[] = { 104762306a36Sopenharmony_ci [MASTER_QDSS_BAM] = &mas_qdss_bam, 104862306a36Sopenharmony_ci [MASTER_BIMC_SNOC] = &mas_bimc_snoc, 104962306a36Sopenharmony_ci [MASTER_PCNOC_SNOC] = &mas_pcnoc_snoc, 105062306a36Sopenharmony_ci [MASTER_QDSS_ETR] = &mas_qdss_etr, 105162306a36Sopenharmony_ci [MASTER_EMAC] = &mas_emac, 105262306a36Sopenharmony_ci [MASTER_PCIE] = &mas_pcie, 105362306a36Sopenharmony_ci [MASTER_USB3] = &mas_usb3, 105462306a36Sopenharmony_ci [QDSS_INT] = &qdss_int, 105562306a36Sopenharmony_ci [SNOC_INT_0] = &snoc_int_0, 105662306a36Sopenharmony_ci [SNOC_INT_1] = &snoc_int_1, 105762306a36Sopenharmony_ci [SNOC_INT_2] = &snoc_int_2, 105862306a36Sopenharmony_ci [SLAVE_KPSS_AHB] = &slv_kpss_ahb, 105962306a36Sopenharmony_ci [SLAVE_WCSS] = &slv_wcss, 106062306a36Sopenharmony_ci [SLAVE_SNOC_BIMC_1] = &slv_snoc_bimc_1, 106162306a36Sopenharmony_ci [SLAVE_IMEM] = &slv_imem, 106262306a36Sopenharmony_ci [SLAVE_SNOC_PCNOC] = &slv_snoc_pcnoc, 106362306a36Sopenharmony_ci [SLAVE_QDSS_STM] = &slv_qdss_stm, 106462306a36Sopenharmony_ci [SLAVE_CATS_0] = &slv_cats_0, 106562306a36Sopenharmony_ci [SLAVE_CATS_1] = &slv_cats_1, 106662306a36Sopenharmony_ci [SLAVE_LPASS] = &slv_lpass, 106762306a36Sopenharmony_ci}; 106862306a36Sopenharmony_ci 106962306a36Sopenharmony_cistatic const struct qcom_icc_desc qcs404_snoc = { 107062306a36Sopenharmony_ci .bus_clk_desc = &bus_1_clk, 107162306a36Sopenharmony_ci .nodes = qcs404_snoc_nodes, 107262306a36Sopenharmony_ci .num_nodes = ARRAY_SIZE(qcs404_snoc_nodes), 107362306a36Sopenharmony_ci}; 107462306a36Sopenharmony_ci 107562306a36Sopenharmony_ci 107662306a36Sopenharmony_cistatic const struct of_device_id qcs404_noc_of_match[] = { 107762306a36Sopenharmony_ci { .compatible = "qcom,qcs404-bimc", .data = &qcs404_bimc }, 107862306a36Sopenharmony_ci { .compatible = "qcom,qcs404-pcnoc", .data = &qcs404_pcnoc }, 107962306a36Sopenharmony_ci { .compatible = "qcom,qcs404-snoc", .data = &qcs404_snoc }, 108062306a36Sopenharmony_ci { }, 108162306a36Sopenharmony_ci}; 108262306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, qcs404_noc_of_match); 108362306a36Sopenharmony_ci 108462306a36Sopenharmony_cistatic struct platform_driver qcs404_noc_driver = { 108562306a36Sopenharmony_ci .probe = qnoc_probe, 108662306a36Sopenharmony_ci .remove = qnoc_remove, 108762306a36Sopenharmony_ci .driver = { 108862306a36Sopenharmony_ci .name = "qnoc-qcs404", 108962306a36Sopenharmony_ci .of_match_table = qcs404_noc_of_match, 109062306a36Sopenharmony_ci }, 109162306a36Sopenharmony_ci}; 109262306a36Sopenharmony_cimodule_platform_driver(qcs404_noc_driver); 109362306a36Sopenharmony_ciMODULE_DESCRIPTION("Qualcomm QCS404 NoC driver"); 109462306a36Sopenharmony_ciMODULE_LICENSE("GPL v2"); 1095