162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
462306a36Sopenharmony_ci * Copyright (c) 2021, Linaro Limited
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <linux/device.h>
862306a36Sopenharmony_ci#include <linux/interconnect.h>
962306a36Sopenharmony_ci#include <linux/interconnect-provider.h>
1062306a36Sopenharmony_ci#include <linux/module.h>
1162306a36Sopenharmony_ci#include <linux/mod_devicetable.h>
1262306a36Sopenharmony_ci#include <linux/platform_device.h>
1362306a36Sopenharmony_ci#include <linux/property.h>
1462306a36Sopenharmony_ci#include <dt-bindings/interconnect/qcom,sm8450.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include "bcm-voter.h"
1762306a36Sopenharmony_ci#include "icc-common.h"
1862306a36Sopenharmony_ci#include "icc-rpmh.h"
1962306a36Sopenharmony_ci#include "sm8450.h"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qspi = {
2262306a36Sopenharmony_ci	.name = "qhm_qspi",
2362306a36Sopenharmony_ci	.id = SM8450_MASTER_QSPI_0,
2462306a36Sopenharmony_ci	.channels = 1,
2562306a36Sopenharmony_ci	.buswidth = 4,
2662306a36Sopenharmony_ci	.num_links = 1,
2762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A1NOC_SNOC },
2862306a36Sopenharmony_ci};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup1 = {
3162306a36Sopenharmony_ci	.name = "qhm_qup1",
3262306a36Sopenharmony_ci	.id = SM8450_MASTER_QUP_1,
3362306a36Sopenharmony_ci	.channels = 1,
3462306a36Sopenharmony_ci	.buswidth = 4,
3562306a36Sopenharmony_ci	.num_links = 1,
3662306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A1NOC_SNOC },
3762306a36Sopenharmony_ci};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_a1noc_cfg = {
4062306a36Sopenharmony_ci	.name = "qnm_a1noc_cfg",
4162306a36Sopenharmony_ci	.id = SM8450_MASTER_A1NOC_CFG,
4262306a36Sopenharmony_ci	.channels = 1,
4362306a36Sopenharmony_ci	.buswidth = 4,
4462306a36Sopenharmony_ci	.num_links = 1,
4562306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SERVICE_A1NOC },
4662306a36Sopenharmony_ci};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_cistatic struct qcom_icc_node xm_sdc4 = {
4962306a36Sopenharmony_ci	.name = "xm_sdc4",
5062306a36Sopenharmony_ci	.id = SM8450_MASTER_SDCC_4,
5162306a36Sopenharmony_ci	.channels = 1,
5262306a36Sopenharmony_ci	.buswidth = 8,
5362306a36Sopenharmony_ci	.num_links = 1,
5462306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A1NOC_SNOC },
5562306a36Sopenharmony_ci};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cistatic struct qcom_icc_node xm_ufs_mem = {
5862306a36Sopenharmony_ci	.name = "xm_ufs_mem",
5962306a36Sopenharmony_ci	.id = SM8450_MASTER_UFS_MEM,
6062306a36Sopenharmony_ci	.channels = 1,
6162306a36Sopenharmony_ci	.buswidth = 8,
6262306a36Sopenharmony_ci	.num_links = 1,
6362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A1NOC_SNOC },
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cistatic struct qcom_icc_node xm_usb3_0 = {
6762306a36Sopenharmony_ci	.name = "xm_usb3_0",
6862306a36Sopenharmony_ci	.id = SM8450_MASTER_USB3_0,
6962306a36Sopenharmony_ci	.channels = 1,
7062306a36Sopenharmony_ci	.buswidth = 8,
7162306a36Sopenharmony_ci	.num_links = 1,
7262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A1NOC_SNOC },
7362306a36Sopenharmony_ci};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qdss_bam = {
7662306a36Sopenharmony_ci	.name = "qhm_qdss_bam",
7762306a36Sopenharmony_ci	.id = SM8450_MASTER_QDSS_BAM,
7862306a36Sopenharmony_ci	.channels = 1,
7962306a36Sopenharmony_ci	.buswidth = 4,
8062306a36Sopenharmony_ci	.num_links = 1,
8162306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
8262306a36Sopenharmony_ci};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup0 = {
8562306a36Sopenharmony_ci	.name = "qhm_qup0",
8662306a36Sopenharmony_ci	.id = SM8450_MASTER_QUP_0,
8762306a36Sopenharmony_ci	.channels = 1,
8862306a36Sopenharmony_ci	.buswidth = 4,
8962306a36Sopenharmony_ci	.num_links = 1,
9062306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
9162306a36Sopenharmony_ci};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup2 = {
9462306a36Sopenharmony_ci	.name = "qhm_qup2",
9562306a36Sopenharmony_ci	.id = SM8450_MASTER_QUP_2,
9662306a36Sopenharmony_ci	.channels = 1,
9762306a36Sopenharmony_ci	.buswidth = 4,
9862306a36Sopenharmony_ci	.num_links = 1,
9962306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
10062306a36Sopenharmony_ci};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_cistatic struct qcom_icc_node qnm_a2noc_cfg = {
10362306a36Sopenharmony_ci	.name = "qnm_a2noc_cfg",
10462306a36Sopenharmony_ci	.id = SM8450_MASTER_A2NOC_CFG,
10562306a36Sopenharmony_ci	.channels = 1,
10662306a36Sopenharmony_ci	.buswidth = 4,
10762306a36Sopenharmony_ci	.num_links = 1,
10862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SERVICE_A2NOC },
10962306a36Sopenharmony_ci};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_cistatic struct qcom_icc_node qxm_crypto = {
11262306a36Sopenharmony_ci	.name = "qxm_crypto",
11362306a36Sopenharmony_ci	.id = SM8450_MASTER_CRYPTO,
11462306a36Sopenharmony_ci	.channels = 1,
11562306a36Sopenharmony_ci	.buswidth = 8,
11662306a36Sopenharmony_ci	.num_links = 1,
11762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_cistatic struct qcom_icc_node qxm_ipa = {
12162306a36Sopenharmony_ci	.name = "qxm_ipa",
12262306a36Sopenharmony_ci	.id = SM8450_MASTER_IPA,
12362306a36Sopenharmony_ci	.channels = 1,
12462306a36Sopenharmony_ci	.buswidth = 8,
12562306a36Sopenharmony_ci	.num_links = 1,
12662306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_cistatic struct qcom_icc_node qxm_sensorss_q6 = {
13062306a36Sopenharmony_ci	.name = "qxm_sensorss_q6",
13162306a36Sopenharmony_ci	.id = SM8450_MASTER_SENSORS_PROC,
13262306a36Sopenharmony_ci	.channels = 1,
13362306a36Sopenharmony_ci	.buswidth = 8,
13462306a36Sopenharmony_ci	.num_links = 1,
13562306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
13662306a36Sopenharmony_ci};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_cistatic struct qcom_icc_node qxm_sp = {
13962306a36Sopenharmony_ci	.name = "qxm_sp",
14062306a36Sopenharmony_ci	.id = SM8450_MASTER_SP,
14162306a36Sopenharmony_ci	.channels = 1,
14262306a36Sopenharmony_ci	.buswidth = 8,
14362306a36Sopenharmony_ci	.num_links = 1,
14462306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
14562306a36Sopenharmony_ci};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_cistatic struct qcom_icc_node xm_qdss_etr_0 = {
14862306a36Sopenharmony_ci	.name = "xm_qdss_etr_0",
14962306a36Sopenharmony_ci	.id = SM8450_MASTER_QDSS_ETR,
15062306a36Sopenharmony_ci	.channels = 1,
15162306a36Sopenharmony_ci	.buswidth = 8,
15262306a36Sopenharmony_ci	.num_links = 1,
15362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
15462306a36Sopenharmony_ci};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_cistatic struct qcom_icc_node xm_qdss_etr_1 = {
15762306a36Sopenharmony_ci	.name = "xm_qdss_etr_1",
15862306a36Sopenharmony_ci	.id = SM8450_MASTER_QDSS_ETR_1,
15962306a36Sopenharmony_ci	.channels = 1,
16062306a36Sopenharmony_ci	.buswidth = 8,
16162306a36Sopenharmony_ci	.num_links = 1,
16262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
16362306a36Sopenharmony_ci};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_cistatic struct qcom_icc_node xm_sdc2 = {
16662306a36Sopenharmony_ci	.name = "xm_sdc2",
16762306a36Sopenharmony_ci	.id = SM8450_MASTER_SDCC_2,
16862306a36Sopenharmony_ci	.channels = 1,
16962306a36Sopenharmony_ci	.buswidth = 8,
17062306a36Sopenharmony_ci	.num_links = 1,
17162306a36Sopenharmony_ci	.links = { SM8450_SLAVE_A2NOC_SNOC },
17262306a36Sopenharmony_ci};
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_cistatic struct qcom_icc_node qup0_core_master = {
17562306a36Sopenharmony_ci	.name = "qup0_core_master",
17662306a36Sopenharmony_ci	.id = SM8450_MASTER_QUP_CORE_0,
17762306a36Sopenharmony_ci	.channels = 1,
17862306a36Sopenharmony_ci	.buswidth = 4,
17962306a36Sopenharmony_ci	.num_links = 1,
18062306a36Sopenharmony_ci	.links = { SM8450_SLAVE_QUP_CORE_0 },
18162306a36Sopenharmony_ci};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_cistatic struct qcom_icc_node qup1_core_master = {
18462306a36Sopenharmony_ci	.name = "qup1_core_master",
18562306a36Sopenharmony_ci	.id = SM8450_MASTER_QUP_CORE_1,
18662306a36Sopenharmony_ci	.channels = 1,
18762306a36Sopenharmony_ci	.buswidth = 4,
18862306a36Sopenharmony_ci	.num_links = 1,
18962306a36Sopenharmony_ci	.links = { SM8450_SLAVE_QUP_CORE_1 },
19062306a36Sopenharmony_ci};
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_cistatic struct qcom_icc_node qup2_core_master = {
19362306a36Sopenharmony_ci	.name = "qup2_core_master",
19462306a36Sopenharmony_ci	.id = SM8450_MASTER_QUP_CORE_2,
19562306a36Sopenharmony_ci	.channels = 1,
19662306a36Sopenharmony_ci	.buswidth = 4,
19762306a36Sopenharmony_ci	.num_links = 1,
19862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_QUP_CORE_2 },
19962306a36Sopenharmony_ci};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gemnoc_cnoc = {
20262306a36Sopenharmony_ci	.name = "qnm_gemnoc_cnoc",
20362306a36Sopenharmony_ci	.id = SM8450_MASTER_GEM_NOC_CNOC,
20462306a36Sopenharmony_ci	.channels = 1,
20562306a36Sopenharmony_ci	.buswidth = 16,
20662306a36Sopenharmony_ci	.num_links = 51,
20762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_AHB2PHY_SOUTH, SM8450_SLAVE_AHB2PHY_NORTH,
20862306a36Sopenharmony_ci		   SM8450_SLAVE_AOSS, SM8450_SLAVE_CAMERA_CFG,
20962306a36Sopenharmony_ci		   SM8450_SLAVE_CLK_CTL, SM8450_SLAVE_CDSP_CFG,
21062306a36Sopenharmony_ci		   SM8450_SLAVE_RBCPR_CX_CFG, SM8450_SLAVE_RBCPR_MMCX_CFG,
21162306a36Sopenharmony_ci		   SM8450_SLAVE_RBCPR_MXA_CFG, SM8450_SLAVE_RBCPR_MXC_CFG,
21262306a36Sopenharmony_ci		   SM8450_SLAVE_CRYPTO_0_CFG, SM8450_SLAVE_CX_RDPM,
21362306a36Sopenharmony_ci		   SM8450_SLAVE_DISPLAY_CFG, SM8450_SLAVE_GFX3D_CFG,
21462306a36Sopenharmony_ci		   SM8450_SLAVE_IMEM_CFG, SM8450_SLAVE_IPA_CFG,
21562306a36Sopenharmony_ci		   SM8450_SLAVE_IPC_ROUTER_CFG, SM8450_SLAVE_LPASS,
21662306a36Sopenharmony_ci		   SM8450_SLAVE_CNOC_MSS, SM8450_SLAVE_MX_RDPM,
21762306a36Sopenharmony_ci		   SM8450_SLAVE_PCIE_0_CFG, SM8450_SLAVE_PCIE_1_CFG,
21862306a36Sopenharmony_ci		   SM8450_SLAVE_PDM, SM8450_SLAVE_PIMEM_CFG,
21962306a36Sopenharmony_ci		   SM8450_SLAVE_PRNG, SM8450_SLAVE_QDSS_CFG,
22062306a36Sopenharmony_ci		   SM8450_SLAVE_QSPI_0, SM8450_SLAVE_QUP_0,
22162306a36Sopenharmony_ci		   SM8450_SLAVE_QUP_1, SM8450_SLAVE_QUP_2,
22262306a36Sopenharmony_ci		   SM8450_SLAVE_SDCC_2, SM8450_SLAVE_SDCC_4,
22362306a36Sopenharmony_ci		   SM8450_SLAVE_SPSS_CFG, SM8450_SLAVE_TCSR,
22462306a36Sopenharmony_ci		   SM8450_SLAVE_TLMM, SM8450_SLAVE_TME_CFG,
22562306a36Sopenharmony_ci		   SM8450_SLAVE_UFS_MEM_CFG, SM8450_SLAVE_USB3_0,
22662306a36Sopenharmony_ci		   SM8450_SLAVE_VENUS_CFG, SM8450_SLAVE_VSENSE_CTRL_CFG,
22762306a36Sopenharmony_ci		   SM8450_SLAVE_A1NOC_CFG, SM8450_SLAVE_A2NOC_CFG,
22862306a36Sopenharmony_ci		   SM8450_SLAVE_DDRSS_CFG, SM8450_SLAVE_CNOC_MNOC_CFG,
22962306a36Sopenharmony_ci		   SM8450_SLAVE_PCIE_ANOC_CFG, SM8450_SLAVE_SNOC_CFG,
23062306a36Sopenharmony_ci		   SM8450_SLAVE_IMEM, SM8450_SLAVE_PIMEM,
23162306a36Sopenharmony_ci		   SM8450_SLAVE_SERVICE_CNOC, SM8450_SLAVE_QDSS_STM,
23262306a36Sopenharmony_ci		   SM8450_SLAVE_TCU },
23362306a36Sopenharmony_ci};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gemnoc_pcie = {
23662306a36Sopenharmony_ci	.name = "qnm_gemnoc_pcie",
23762306a36Sopenharmony_ci	.id = SM8450_MASTER_GEM_NOC_PCIE_SNOC,
23862306a36Sopenharmony_ci	.channels = 1,
23962306a36Sopenharmony_ci	.buswidth = 8,
24062306a36Sopenharmony_ci	.num_links = 2,
24162306a36Sopenharmony_ci	.links = { SM8450_SLAVE_PCIE_0, SM8450_SLAVE_PCIE_1 },
24262306a36Sopenharmony_ci};
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_cistatic struct qcom_icc_node alm_gpu_tcu = {
24562306a36Sopenharmony_ci	.name = "alm_gpu_tcu",
24662306a36Sopenharmony_ci	.id = SM8450_MASTER_GPU_TCU,
24762306a36Sopenharmony_ci	.channels = 1,
24862306a36Sopenharmony_ci	.buswidth = 8,
24962306a36Sopenharmony_ci	.num_links = 2,
25062306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC },
25162306a36Sopenharmony_ci};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_cistatic struct qcom_icc_node alm_sys_tcu = {
25462306a36Sopenharmony_ci	.name = "alm_sys_tcu",
25562306a36Sopenharmony_ci	.id = SM8450_MASTER_SYS_TCU,
25662306a36Sopenharmony_ci	.channels = 1,
25762306a36Sopenharmony_ci	.buswidth = 8,
25862306a36Sopenharmony_ci	.num_links = 2,
25962306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC },
26062306a36Sopenharmony_ci};
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_cistatic struct qcom_icc_node chm_apps = {
26362306a36Sopenharmony_ci	.name = "chm_apps",
26462306a36Sopenharmony_ci	.id = SM8450_MASTER_APPSS_PROC,
26562306a36Sopenharmony_ci	.channels = 3,
26662306a36Sopenharmony_ci	.buswidth = 32,
26762306a36Sopenharmony_ci	.num_links = 3,
26862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC,
26962306a36Sopenharmony_ci		   SM8450_SLAVE_MEM_NOC_PCIE_SNOC },
27062306a36Sopenharmony_ci};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gpu = {
27362306a36Sopenharmony_ci	.name = "qnm_gpu",
27462306a36Sopenharmony_ci	.id = SM8450_MASTER_GFX3D,
27562306a36Sopenharmony_ci	.channels = 2,
27662306a36Sopenharmony_ci	.buswidth = 32,
27762306a36Sopenharmony_ci	.num_links = 2,
27862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC },
27962306a36Sopenharmony_ci};
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mdsp = {
28262306a36Sopenharmony_ci	.name = "qnm_mdsp",
28362306a36Sopenharmony_ci	.id = SM8450_MASTER_MSS_PROC,
28462306a36Sopenharmony_ci	.channels = 1,
28562306a36Sopenharmony_ci	.buswidth = 16,
28662306a36Sopenharmony_ci	.num_links = 3,
28762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC,
28862306a36Sopenharmony_ci		   SM8450_SLAVE_MEM_NOC_PCIE_SNOC },
28962306a36Sopenharmony_ci};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_hf = {
29262306a36Sopenharmony_ci	.name = "qnm_mnoc_hf",
29362306a36Sopenharmony_ci	.id = SM8450_MASTER_MNOC_HF_MEM_NOC,
29462306a36Sopenharmony_ci	.channels = 2,
29562306a36Sopenharmony_ci	.buswidth = 32,
29662306a36Sopenharmony_ci	.num_links = 1,
29762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LLCC },
29862306a36Sopenharmony_ci};
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_sf = {
30162306a36Sopenharmony_ci	.name = "qnm_mnoc_sf",
30262306a36Sopenharmony_ci	.id = SM8450_MASTER_MNOC_SF_MEM_NOC,
30362306a36Sopenharmony_ci	.channels = 2,
30462306a36Sopenharmony_ci	.buswidth = 32,
30562306a36Sopenharmony_ci	.num_links = 2,
30662306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC },
30762306a36Sopenharmony_ci};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_nsp_gemnoc = {
31062306a36Sopenharmony_ci	.name = "qnm_nsp_gemnoc",
31162306a36Sopenharmony_ci	.id = SM8450_MASTER_COMPUTE_NOC,
31262306a36Sopenharmony_ci	.channels = 2,
31362306a36Sopenharmony_ci	.buswidth = 32,
31462306a36Sopenharmony_ci	.num_links = 2,
31562306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC },
31662306a36Sopenharmony_ci};
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_pcie = {
31962306a36Sopenharmony_ci	.name = "qnm_pcie",
32062306a36Sopenharmony_ci	.id = SM8450_MASTER_ANOC_PCIE_GEM_NOC,
32162306a36Sopenharmony_ci	.channels = 1,
32262306a36Sopenharmony_ci	.buswidth = 16,
32362306a36Sopenharmony_ci	.num_links = 2,
32462306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC },
32562306a36Sopenharmony_ci};
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_gc = {
32862306a36Sopenharmony_ci	.name = "qnm_snoc_gc",
32962306a36Sopenharmony_ci	.id = SM8450_MASTER_SNOC_GC_MEM_NOC,
33062306a36Sopenharmony_ci	.channels = 1,
33162306a36Sopenharmony_ci	.buswidth = 8,
33262306a36Sopenharmony_ci	.num_links = 1,
33362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LLCC },
33462306a36Sopenharmony_ci};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_sf = {
33762306a36Sopenharmony_ci	.name = "qnm_snoc_sf",
33862306a36Sopenharmony_ci	.id = SM8450_MASTER_SNOC_SF_MEM_NOC,
33962306a36Sopenharmony_ci	.channels = 1,
34062306a36Sopenharmony_ci	.buswidth = 16,
34162306a36Sopenharmony_ci	.num_links = 3,
34262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_GEM_NOC_CNOC, SM8450_SLAVE_LLCC,
34362306a36Sopenharmony_ci		   SM8450_SLAVE_MEM_NOC_PCIE_SNOC },
34462306a36Sopenharmony_ci};
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_cistatic struct qcom_icc_node qhm_config_noc = {
34762306a36Sopenharmony_ci	.name = "qhm_config_noc",
34862306a36Sopenharmony_ci	.id = SM8450_MASTER_CNOC_LPASS_AG_NOC,
34962306a36Sopenharmony_ci	.channels = 1,
35062306a36Sopenharmony_ci	.buswidth = 4,
35162306a36Sopenharmony_ci	.num_links = 6,
35262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LPASS_CORE_CFG, SM8450_SLAVE_LPASS_LPI_CFG,
35362306a36Sopenharmony_ci		   SM8450_SLAVE_LPASS_MPU_CFG, SM8450_SLAVE_LPASS_TOP_CFG,
35462306a36Sopenharmony_ci		   SM8450_SLAVE_SERVICES_LPASS_AML_NOC, SM8450_SLAVE_SERVICE_LPASS_AG_NOC },
35562306a36Sopenharmony_ci};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_cistatic struct qcom_icc_node qxm_lpass_dsp = {
35862306a36Sopenharmony_ci	.name = "qxm_lpass_dsp",
35962306a36Sopenharmony_ci	.id = SM8450_MASTER_LPASS_PROC,
36062306a36Sopenharmony_ci	.channels = 1,
36162306a36Sopenharmony_ci	.buswidth = 8,
36262306a36Sopenharmony_ci	.num_links = 4,
36362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LPASS_TOP_CFG, SM8450_SLAVE_LPASS_SNOC,
36462306a36Sopenharmony_ci		   SM8450_SLAVE_SERVICES_LPASS_AML_NOC, SM8450_SLAVE_SERVICE_LPASS_AG_NOC },
36562306a36Sopenharmony_ci};
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_cistatic struct qcom_icc_node llcc_mc = {
36862306a36Sopenharmony_ci	.name = "llcc_mc",
36962306a36Sopenharmony_ci	.id = SM8450_MASTER_LLCC,
37062306a36Sopenharmony_ci	.channels = 4,
37162306a36Sopenharmony_ci	.buswidth = 4,
37262306a36Sopenharmony_ci	.num_links = 1,
37362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_EBI1 },
37462306a36Sopenharmony_ci};
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_camnoc_hf = {
37762306a36Sopenharmony_ci	.name = "qnm_camnoc_hf",
37862306a36Sopenharmony_ci	.id = SM8450_MASTER_CAMNOC_HF,
37962306a36Sopenharmony_ci	.channels = 2,
38062306a36Sopenharmony_ci	.buswidth = 32,
38162306a36Sopenharmony_ci	.num_links = 1,
38262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_HF_MEM_NOC },
38362306a36Sopenharmony_ci};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_cistatic struct qcom_icc_node qnm_camnoc_icp = {
38662306a36Sopenharmony_ci	.name = "qnm_camnoc_icp",
38762306a36Sopenharmony_ci	.id = SM8450_MASTER_CAMNOC_ICP,
38862306a36Sopenharmony_ci	.channels = 1,
38962306a36Sopenharmony_ci	.buswidth = 8,
39062306a36Sopenharmony_ci	.num_links = 1,
39162306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
39262306a36Sopenharmony_ci};
39362306a36Sopenharmony_ci
39462306a36Sopenharmony_cistatic struct qcom_icc_node qnm_camnoc_sf = {
39562306a36Sopenharmony_ci	.name = "qnm_camnoc_sf",
39662306a36Sopenharmony_ci	.id = SM8450_MASTER_CAMNOC_SF,
39762306a36Sopenharmony_ci	.channels = 2,
39862306a36Sopenharmony_ci	.buswidth = 32,
39962306a36Sopenharmony_ci	.num_links = 1,
40062306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
40162306a36Sopenharmony_ci};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mdp = {
40462306a36Sopenharmony_ci	.name = "qnm_mdp",
40562306a36Sopenharmony_ci	.id = SM8450_MASTER_MDP,
40662306a36Sopenharmony_ci	.channels = 2,
40762306a36Sopenharmony_ci	.buswidth = 32,
40862306a36Sopenharmony_ci	.num_links = 1,
40962306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_HF_MEM_NOC },
41062306a36Sopenharmony_ci};
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_cfg = {
41362306a36Sopenharmony_ci	.name = "qnm_mnoc_cfg",
41462306a36Sopenharmony_ci	.id = SM8450_MASTER_CNOC_MNOC_CFG,
41562306a36Sopenharmony_ci	.channels = 1,
41662306a36Sopenharmony_ci	.buswidth = 4,
41762306a36Sopenharmony_ci	.num_links = 1,
41862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SERVICE_MNOC },
41962306a36Sopenharmony_ci};
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_cistatic struct qcom_icc_node qnm_rot = {
42262306a36Sopenharmony_ci	.name = "qnm_rot",
42362306a36Sopenharmony_ci	.id = SM8450_MASTER_ROTATOR,
42462306a36Sopenharmony_ci	.channels = 1,
42562306a36Sopenharmony_ci	.buswidth = 32,
42662306a36Sopenharmony_ci	.num_links = 1,
42762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
42862306a36Sopenharmony_ci};
42962306a36Sopenharmony_ci
43062306a36Sopenharmony_cistatic struct qcom_icc_node qnm_vapss_hcp = {
43162306a36Sopenharmony_ci	.name = "qnm_vapss_hcp",
43262306a36Sopenharmony_ci	.id = SM8450_MASTER_CDSP_HCP,
43362306a36Sopenharmony_ci	.channels = 1,
43462306a36Sopenharmony_ci	.buswidth = 32,
43562306a36Sopenharmony_ci	.num_links = 1,
43662306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
43762306a36Sopenharmony_ci};
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_video = {
44062306a36Sopenharmony_ci	.name = "qnm_video",
44162306a36Sopenharmony_ci	.id = SM8450_MASTER_VIDEO,
44262306a36Sopenharmony_ci	.channels = 2,
44362306a36Sopenharmony_ci	.buswidth = 32,
44462306a36Sopenharmony_ci	.num_links = 1,
44562306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
44662306a36Sopenharmony_ci};
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_video_cv_cpu = {
44962306a36Sopenharmony_ci	.name = "qnm_video_cv_cpu",
45062306a36Sopenharmony_ci	.id = SM8450_MASTER_VIDEO_CV_PROC,
45162306a36Sopenharmony_ci	.channels = 1,
45262306a36Sopenharmony_ci	.buswidth = 8,
45362306a36Sopenharmony_ci	.num_links = 1,
45462306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
45562306a36Sopenharmony_ci};
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_cistatic struct qcom_icc_node qnm_video_cvp = {
45862306a36Sopenharmony_ci	.name = "qnm_video_cvp",
45962306a36Sopenharmony_ci	.id = SM8450_MASTER_VIDEO_PROC,
46062306a36Sopenharmony_ci	.channels = 1,
46162306a36Sopenharmony_ci	.buswidth = 32,
46262306a36Sopenharmony_ci	.num_links = 1,
46362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
46462306a36Sopenharmony_ci};
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_video_v_cpu = {
46762306a36Sopenharmony_ci	.name = "qnm_video_v_cpu",
46862306a36Sopenharmony_ci	.id = SM8450_MASTER_VIDEO_V_PROC,
46962306a36Sopenharmony_ci	.channels = 1,
47062306a36Sopenharmony_ci	.buswidth = 8,
47162306a36Sopenharmony_ci	.num_links = 1,
47262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC },
47362306a36Sopenharmony_ci};
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_cistatic struct qcom_icc_node qhm_nsp_noc_config = {
47662306a36Sopenharmony_ci	.name = "qhm_nsp_noc_config",
47762306a36Sopenharmony_ci	.id = SM8450_MASTER_CDSP_NOC_CFG,
47862306a36Sopenharmony_ci	.channels = 1,
47962306a36Sopenharmony_ci	.buswidth = 4,
48062306a36Sopenharmony_ci	.num_links = 1,
48162306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SERVICE_NSP_NOC },
48262306a36Sopenharmony_ci};
48362306a36Sopenharmony_ci
48462306a36Sopenharmony_cistatic struct qcom_icc_node qxm_nsp = {
48562306a36Sopenharmony_ci	.name = "qxm_nsp",
48662306a36Sopenharmony_ci	.id = SM8450_MASTER_CDSP_PROC,
48762306a36Sopenharmony_ci	.channels = 2,
48862306a36Sopenharmony_ci	.buswidth = 32,
48962306a36Sopenharmony_ci	.num_links = 1,
49062306a36Sopenharmony_ci	.links = { SM8450_SLAVE_CDSP_MEM_NOC },
49162306a36Sopenharmony_ci};
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_cistatic struct qcom_icc_node qnm_pcie_anoc_cfg = {
49462306a36Sopenharmony_ci	.name = "qnm_pcie_anoc_cfg",
49562306a36Sopenharmony_ci	.id = SM8450_MASTER_PCIE_ANOC_CFG,
49662306a36Sopenharmony_ci	.channels = 1,
49762306a36Sopenharmony_ci	.buswidth = 4,
49862306a36Sopenharmony_ci	.num_links = 1,
49962306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SERVICE_PCIE_ANOC },
50062306a36Sopenharmony_ci};
50162306a36Sopenharmony_ci
50262306a36Sopenharmony_cistatic struct qcom_icc_node xm_pcie3_0 = {
50362306a36Sopenharmony_ci	.name = "xm_pcie3_0",
50462306a36Sopenharmony_ci	.id = SM8450_MASTER_PCIE_0,
50562306a36Sopenharmony_ci	.channels = 1,
50662306a36Sopenharmony_ci	.buswidth = 8,
50762306a36Sopenharmony_ci	.num_links = 1,
50862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_ANOC_PCIE_GEM_NOC },
50962306a36Sopenharmony_ci};
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_cistatic struct qcom_icc_node xm_pcie3_1 = {
51262306a36Sopenharmony_ci	.name = "xm_pcie3_1",
51362306a36Sopenharmony_ci	.id = SM8450_MASTER_PCIE_1,
51462306a36Sopenharmony_ci	.channels = 1,
51562306a36Sopenharmony_ci	.buswidth = 8,
51662306a36Sopenharmony_ci	.num_links = 1,
51762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_ANOC_PCIE_GEM_NOC },
51862306a36Sopenharmony_ci};
51962306a36Sopenharmony_ci
52062306a36Sopenharmony_cistatic struct qcom_icc_node qhm_gic = {
52162306a36Sopenharmony_ci	.name = "qhm_gic",
52262306a36Sopenharmony_ci	.id = SM8450_MASTER_GIC_AHB,
52362306a36Sopenharmony_ci	.channels = 1,
52462306a36Sopenharmony_ci	.buswidth = 4,
52562306a36Sopenharmony_ci	.num_links = 1,
52662306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SNOC_GEM_NOC_SF },
52762306a36Sopenharmony_ci};
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_aggre1_noc = {
53062306a36Sopenharmony_ci	.name = "qnm_aggre1_noc",
53162306a36Sopenharmony_ci	.id = SM8450_MASTER_A1NOC_SNOC,
53262306a36Sopenharmony_ci	.channels = 1,
53362306a36Sopenharmony_ci	.buswidth = 16,
53462306a36Sopenharmony_ci	.num_links = 1,
53562306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SNOC_GEM_NOC_SF },
53662306a36Sopenharmony_ci};
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_aggre2_noc = {
53962306a36Sopenharmony_ci	.name = "qnm_aggre2_noc",
54062306a36Sopenharmony_ci	.id = SM8450_MASTER_A2NOC_SNOC,
54162306a36Sopenharmony_ci	.channels = 1,
54262306a36Sopenharmony_ci	.buswidth = 16,
54362306a36Sopenharmony_ci	.num_links = 1,
54462306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SNOC_GEM_NOC_SF },
54562306a36Sopenharmony_ci};
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_cistatic struct qcom_icc_node qnm_lpass_noc = {
54862306a36Sopenharmony_ci	.name = "qnm_lpass_noc",
54962306a36Sopenharmony_ci	.id = SM8450_MASTER_LPASS_ANOC,
55062306a36Sopenharmony_ci	.channels = 1,
55162306a36Sopenharmony_ci	.buswidth = 16,
55262306a36Sopenharmony_ci	.num_links = 1,
55362306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SNOC_GEM_NOC_SF },
55462306a36Sopenharmony_ci};
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_cfg = {
55762306a36Sopenharmony_ci	.name = "qnm_snoc_cfg",
55862306a36Sopenharmony_ci	.id = SM8450_MASTER_SNOC_CFG,
55962306a36Sopenharmony_ci	.channels = 1,
56062306a36Sopenharmony_ci	.buswidth = 4,
56162306a36Sopenharmony_ci	.num_links = 1,
56262306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SERVICE_SNOC },
56362306a36Sopenharmony_ci};
56462306a36Sopenharmony_ci
56562306a36Sopenharmony_cistatic struct qcom_icc_node qxm_pimem = {
56662306a36Sopenharmony_ci	.name = "qxm_pimem",
56762306a36Sopenharmony_ci	.id = SM8450_MASTER_PIMEM,
56862306a36Sopenharmony_ci	.channels = 1,
56962306a36Sopenharmony_ci	.buswidth = 8,
57062306a36Sopenharmony_ci	.num_links = 1,
57162306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SNOC_GEM_NOC_GC },
57262306a36Sopenharmony_ci};
57362306a36Sopenharmony_ci
57462306a36Sopenharmony_cistatic struct qcom_icc_node xm_gic = {
57562306a36Sopenharmony_ci	.name = "xm_gic",
57662306a36Sopenharmony_ci	.id = SM8450_MASTER_GIC,
57762306a36Sopenharmony_ci	.channels = 1,
57862306a36Sopenharmony_ci	.buswidth = 8,
57962306a36Sopenharmony_ci	.num_links = 1,
58062306a36Sopenharmony_ci	.links = { SM8450_SLAVE_SNOC_GEM_NOC_GC },
58162306a36Sopenharmony_ci};
58262306a36Sopenharmony_ci
58362306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_hf_disp = {
58462306a36Sopenharmony_ci	.name = "qnm_mnoc_hf_disp",
58562306a36Sopenharmony_ci	.id = SM8450_MASTER_MNOC_HF_MEM_NOC_DISP,
58662306a36Sopenharmony_ci	.channels = 2,
58762306a36Sopenharmony_ci	.buswidth = 32,
58862306a36Sopenharmony_ci	.num_links = 1,
58962306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LLCC_DISP },
59062306a36Sopenharmony_ci};
59162306a36Sopenharmony_ci
59262306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_sf_disp = {
59362306a36Sopenharmony_ci	.name = "qnm_mnoc_sf_disp",
59462306a36Sopenharmony_ci	.id = SM8450_MASTER_MNOC_SF_MEM_NOC_DISP,
59562306a36Sopenharmony_ci	.channels = 2,
59662306a36Sopenharmony_ci	.buswidth = 32,
59762306a36Sopenharmony_ci	.num_links = 1,
59862306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LLCC_DISP },
59962306a36Sopenharmony_ci};
60062306a36Sopenharmony_ci
60162306a36Sopenharmony_cistatic struct qcom_icc_node qnm_pcie_disp = {
60262306a36Sopenharmony_ci	.name = "qnm_pcie_disp",
60362306a36Sopenharmony_ci	.id = SM8450_MASTER_ANOC_PCIE_GEM_NOC_DISP,
60462306a36Sopenharmony_ci	.channels = 1,
60562306a36Sopenharmony_ci	.buswidth = 16,
60662306a36Sopenharmony_ci	.num_links = 1,
60762306a36Sopenharmony_ci	.links = { SM8450_SLAVE_LLCC_DISP },
60862306a36Sopenharmony_ci};
60962306a36Sopenharmony_ci
61062306a36Sopenharmony_cistatic struct qcom_icc_node llcc_mc_disp = {
61162306a36Sopenharmony_ci	.name = "llcc_mc_disp",
61262306a36Sopenharmony_ci	.id = SM8450_MASTER_LLCC_DISP,
61362306a36Sopenharmony_ci	.channels = 4,
61462306a36Sopenharmony_ci	.buswidth = 4,
61562306a36Sopenharmony_ci	.num_links = 1,
61662306a36Sopenharmony_ci	.links = { SM8450_SLAVE_EBI1_DISP },
61762306a36Sopenharmony_ci};
61862306a36Sopenharmony_ci
61962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mdp_disp = {
62062306a36Sopenharmony_ci	.name = "qnm_mdp_disp",
62162306a36Sopenharmony_ci	.id = SM8450_MASTER_MDP_DISP,
62262306a36Sopenharmony_ci	.channels = 2,
62362306a36Sopenharmony_ci	.buswidth = 32,
62462306a36Sopenharmony_ci	.num_links = 1,
62562306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_HF_MEM_NOC_DISP },
62662306a36Sopenharmony_ci};
62762306a36Sopenharmony_ci
62862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_rot_disp = {
62962306a36Sopenharmony_ci	.name = "qnm_rot_disp",
63062306a36Sopenharmony_ci	.id = SM8450_MASTER_ROTATOR_DISP,
63162306a36Sopenharmony_ci	.channels = 1,
63262306a36Sopenharmony_ci	.buswidth = 32,
63362306a36Sopenharmony_ci	.num_links = 1,
63462306a36Sopenharmony_ci	.links = { SM8450_SLAVE_MNOC_SF_MEM_NOC_DISP },
63562306a36Sopenharmony_ci};
63662306a36Sopenharmony_ci
63762306a36Sopenharmony_cistatic struct qcom_icc_node qns_a1noc_snoc = {
63862306a36Sopenharmony_ci	.name = "qns_a1noc_snoc",
63962306a36Sopenharmony_ci	.id = SM8450_SLAVE_A1NOC_SNOC,
64062306a36Sopenharmony_ci	.channels = 1,
64162306a36Sopenharmony_ci	.buswidth = 16,
64262306a36Sopenharmony_ci	.num_links = 1,
64362306a36Sopenharmony_ci	.links = { SM8450_MASTER_A1NOC_SNOC },
64462306a36Sopenharmony_ci};
64562306a36Sopenharmony_ci
64662306a36Sopenharmony_cistatic struct qcom_icc_node srvc_aggre1_noc = {
64762306a36Sopenharmony_ci	.name = "srvc_aggre1_noc",
64862306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_A1NOC,
64962306a36Sopenharmony_ci	.channels = 1,
65062306a36Sopenharmony_ci	.buswidth = 4,
65162306a36Sopenharmony_ci	.num_links = 0,
65262306a36Sopenharmony_ci};
65362306a36Sopenharmony_ci
65462306a36Sopenharmony_cistatic struct qcom_icc_node qns_a2noc_snoc = {
65562306a36Sopenharmony_ci	.name = "qns_a2noc_snoc",
65662306a36Sopenharmony_ci	.id = SM8450_SLAVE_A2NOC_SNOC,
65762306a36Sopenharmony_ci	.channels = 1,
65862306a36Sopenharmony_ci	.buswidth = 16,
65962306a36Sopenharmony_ci	.num_links = 1,
66062306a36Sopenharmony_ci	.links = { SM8450_MASTER_A2NOC_SNOC },
66162306a36Sopenharmony_ci};
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_cistatic struct qcom_icc_node srvc_aggre2_noc = {
66462306a36Sopenharmony_ci	.name = "srvc_aggre2_noc",
66562306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_A2NOC,
66662306a36Sopenharmony_ci	.channels = 1,
66762306a36Sopenharmony_ci	.buswidth = 4,
66862306a36Sopenharmony_ci	.num_links = 0,
66962306a36Sopenharmony_ci};
67062306a36Sopenharmony_ci
67162306a36Sopenharmony_cistatic struct qcom_icc_node qup0_core_slave = {
67262306a36Sopenharmony_ci	.name = "qup0_core_slave",
67362306a36Sopenharmony_ci	.id = SM8450_SLAVE_QUP_CORE_0,
67462306a36Sopenharmony_ci	.channels = 1,
67562306a36Sopenharmony_ci	.buswidth = 4,
67662306a36Sopenharmony_ci	.num_links = 0,
67762306a36Sopenharmony_ci};
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_cistatic struct qcom_icc_node qup1_core_slave = {
68062306a36Sopenharmony_ci	.name = "qup1_core_slave",
68162306a36Sopenharmony_ci	.id = SM8450_SLAVE_QUP_CORE_1,
68262306a36Sopenharmony_ci	.channels = 1,
68362306a36Sopenharmony_ci	.buswidth = 4,
68462306a36Sopenharmony_ci	.num_links = 0,
68562306a36Sopenharmony_ci};
68662306a36Sopenharmony_ci
68762306a36Sopenharmony_cistatic struct qcom_icc_node qup2_core_slave = {
68862306a36Sopenharmony_ci	.name = "qup2_core_slave",
68962306a36Sopenharmony_ci	.id = SM8450_SLAVE_QUP_CORE_2,
69062306a36Sopenharmony_ci	.channels = 1,
69162306a36Sopenharmony_ci	.buswidth = 4,
69262306a36Sopenharmony_ci	.num_links = 0,
69362306a36Sopenharmony_ci};
69462306a36Sopenharmony_ci
69562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ahb2phy0 = {
69662306a36Sopenharmony_ci	.name = "qhs_ahb2phy0",
69762306a36Sopenharmony_ci	.id = SM8450_SLAVE_AHB2PHY_SOUTH,
69862306a36Sopenharmony_ci	.channels = 1,
69962306a36Sopenharmony_ci	.buswidth = 4,
70062306a36Sopenharmony_ci	.num_links = 0,
70162306a36Sopenharmony_ci};
70262306a36Sopenharmony_ci
70362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ahb2phy1 = {
70462306a36Sopenharmony_ci	.name = "qhs_ahb2phy1",
70562306a36Sopenharmony_ci	.id = SM8450_SLAVE_AHB2PHY_NORTH,
70662306a36Sopenharmony_ci	.channels = 1,
70762306a36Sopenharmony_ci	.buswidth = 4,
70862306a36Sopenharmony_ci	.num_links = 0,
70962306a36Sopenharmony_ci};
71062306a36Sopenharmony_ci
71162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_aoss = {
71262306a36Sopenharmony_ci	.name = "qhs_aoss",
71362306a36Sopenharmony_ci	.id = SM8450_SLAVE_AOSS,
71462306a36Sopenharmony_ci	.channels = 1,
71562306a36Sopenharmony_ci	.buswidth = 4,
71662306a36Sopenharmony_ci	.num_links = 0,
71762306a36Sopenharmony_ci};
71862306a36Sopenharmony_ci
71962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_camera_cfg = {
72062306a36Sopenharmony_ci	.name = "qhs_camera_cfg",
72162306a36Sopenharmony_ci	.id = SM8450_SLAVE_CAMERA_CFG,
72262306a36Sopenharmony_ci	.channels = 1,
72362306a36Sopenharmony_ci	.buswidth = 4,
72462306a36Sopenharmony_ci	.num_links = 0,
72562306a36Sopenharmony_ci};
72662306a36Sopenharmony_ci
72762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_clk_ctl = {
72862306a36Sopenharmony_ci	.name = "qhs_clk_ctl",
72962306a36Sopenharmony_ci	.id = SM8450_SLAVE_CLK_CTL,
73062306a36Sopenharmony_ci	.channels = 1,
73162306a36Sopenharmony_ci	.buswidth = 4,
73262306a36Sopenharmony_ci	.num_links = 0,
73362306a36Sopenharmony_ci};
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_compute_cfg = {
73662306a36Sopenharmony_ci	.name = "qhs_compute_cfg",
73762306a36Sopenharmony_ci	.id = SM8450_SLAVE_CDSP_CFG,
73862306a36Sopenharmony_ci	.channels = 1,
73962306a36Sopenharmony_ci	.buswidth = 4,
74062306a36Sopenharmony_ci	.num_links = 1,
74162306a36Sopenharmony_ci	.links = { MASTER_CDSP_NOC_CFG },
74262306a36Sopenharmony_ci};
74362306a36Sopenharmony_ci
74462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_cx = {
74562306a36Sopenharmony_ci	.name = "qhs_cpr_cx",
74662306a36Sopenharmony_ci	.id = SM8450_SLAVE_RBCPR_CX_CFG,
74762306a36Sopenharmony_ci	.channels = 1,
74862306a36Sopenharmony_ci	.buswidth = 4,
74962306a36Sopenharmony_ci	.num_links = 0,
75062306a36Sopenharmony_ci};
75162306a36Sopenharmony_ci
75262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_mmcx = {
75362306a36Sopenharmony_ci	.name = "qhs_cpr_mmcx",
75462306a36Sopenharmony_ci	.id = SM8450_SLAVE_RBCPR_MMCX_CFG,
75562306a36Sopenharmony_ci	.channels = 1,
75662306a36Sopenharmony_ci	.buswidth = 4,
75762306a36Sopenharmony_ci	.num_links = 0,
75862306a36Sopenharmony_ci};
75962306a36Sopenharmony_ci
76062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_mxa = {
76162306a36Sopenharmony_ci	.name = "qhs_cpr_mxa",
76262306a36Sopenharmony_ci	.id = SM8450_SLAVE_RBCPR_MXA_CFG,
76362306a36Sopenharmony_ci	.channels = 1,
76462306a36Sopenharmony_ci	.buswidth = 4,
76562306a36Sopenharmony_ci	.num_links = 0,
76662306a36Sopenharmony_ci};
76762306a36Sopenharmony_ci
76862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_mxc = {
76962306a36Sopenharmony_ci	.name = "qhs_cpr_mxc",
77062306a36Sopenharmony_ci	.id = SM8450_SLAVE_RBCPR_MXC_CFG,
77162306a36Sopenharmony_ci	.channels = 1,
77262306a36Sopenharmony_ci	.buswidth = 4,
77362306a36Sopenharmony_ci	.num_links = 0,
77462306a36Sopenharmony_ci};
77562306a36Sopenharmony_ci
77662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_crypto0_cfg = {
77762306a36Sopenharmony_ci	.name = "qhs_crypto0_cfg",
77862306a36Sopenharmony_ci	.id = SM8450_SLAVE_CRYPTO_0_CFG,
77962306a36Sopenharmony_ci	.channels = 1,
78062306a36Sopenharmony_ci	.buswidth = 4,
78162306a36Sopenharmony_ci	.num_links = 0,
78262306a36Sopenharmony_ci};
78362306a36Sopenharmony_ci
78462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cx_rdpm = {
78562306a36Sopenharmony_ci	.name = "qhs_cx_rdpm",
78662306a36Sopenharmony_ci	.id = SM8450_SLAVE_CX_RDPM,
78762306a36Sopenharmony_ci	.channels = 1,
78862306a36Sopenharmony_ci	.buswidth = 4,
78962306a36Sopenharmony_ci	.num_links = 0,
79062306a36Sopenharmony_ci};
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_display_cfg = {
79362306a36Sopenharmony_ci	.name = "qhs_display_cfg",
79462306a36Sopenharmony_ci	.id = SM8450_SLAVE_DISPLAY_CFG,
79562306a36Sopenharmony_ci	.channels = 1,
79662306a36Sopenharmony_ci	.buswidth = 4,
79762306a36Sopenharmony_ci	.num_links = 0,
79862306a36Sopenharmony_ci};
79962306a36Sopenharmony_ci
80062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_gpuss_cfg = {
80162306a36Sopenharmony_ci	.name = "qhs_gpuss_cfg",
80262306a36Sopenharmony_ci	.id = SM8450_SLAVE_GFX3D_CFG,
80362306a36Sopenharmony_ci	.channels = 1,
80462306a36Sopenharmony_ci	.buswidth = 8,
80562306a36Sopenharmony_ci	.num_links = 0,
80662306a36Sopenharmony_ci};
80762306a36Sopenharmony_ci
80862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_imem_cfg = {
80962306a36Sopenharmony_ci	.name = "qhs_imem_cfg",
81062306a36Sopenharmony_ci	.id = SM8450_SLAVE_IMEM_CFG,
81162306a36Sopenharmony_ci	.channels = 1,
81262306a36Sopenharmony_ci	.buswidth = 4,
81362306a36Sopenharmony_ci	.num_links = 0,
81462306a36Sopenharmony_ci};
81562306a36Sopenharmony_ci
81662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ipa = {
81762306a36Sopenharmony_ci	.name = "qhs_ipa",
81862306a36Sopenharmony_ci	.id = SM8450_SLAVE_IPA_CFG,
81962306a36Sopenharmony_ci	.channels = 1,
82062306a36Sopenharmony_ci	.buswidth = 4,
82162306a36Sopenharmony_ci	.num_links = 0,
82262306a36Sopenharmony_ci};
82362306a36Sopenharmony_ci
82462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ipc_router = {
82562306a36Sopenharmony_ci	.name = "qhs_ipc_router",
82662306a36Sopenharmony_ci	.id = SM8450_SLAVE_IPC_ROUTER_CFG,
82762306a36Sopenharmony_ci	.channels = 1,
82862306a36Sopenharmony_ci	.buswidth = 4,
82962306a36Sopenharmony_ci	.num_links = 0,
83062306a36Sopenharmony_ci};
83162306a36Sopenharmony_ci
83262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_lpass_cfg = {
83362306a36Sopenharmony_ci	.name = "qhs_lpass_cfg",
83462306a36Sopenharmony_ci	.id = SM8450_SLAVE_LPASS,
83562306a36Sopenharmony_ci	.channels = 1,
83662306a36Sopenharmony_ci	.buswidth = 4,
83762306a36Sopenharmony_ci	.num_links = 1,
83862306a36Sopenharmony_ci	.links = { MASTER_CNOC_LPASS_AG_NOC },
83962306a36Sopenharmony_ci};
84062306a36Sopenharmony_ci
84162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_mss_cfg = {
84262306a36Sopenharmony_ci	.name = "qhs_mss_cfg",
84362306a36Sopenharmony_ci	.id = SM8450_SLAVE_CNOC_MSS,
84462306a36Sopenharmony_ci	.channels = 1,
84562306a36Sopenharmony_ci	.buswidth = 4,
84662306a36Sopenharmony_ci	.num_links = 0,
84762306a36Sopenharmony_ci};
84862306a36Sopenharmony_ci
84962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_mx_rdpm = {
85062306a36Sopenharmony_ci	.name = "qhs_mx_rdpm",
85162306a36Sopenharmony_ci	.id = SM8450_SLAVE_MX_RDPM,
85262306a36Sopenharmony_ci	.channels = 1,
85362306a36Sopenharmony_ci	.buswidth = 4,
85462306a36Sopenharmony_ci	.num_links = 0,
85562306a36Sopenharmony_ci};
85662306a36Sopenharmony_ci
85762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pcie0_cfg = {
85862306a36Sopenharmony_ci	.name = "qhs_pcie0_cfg",
85962306a36Sopenharmony_ci	.id = SM8450_SLAVE_PCIE_0_CFG,
86062306a36Sopenharmony_ci	.channels = 1,
86162306a36Sopenharmony_ci	.buswidth = 4,
86262306a36Sopenharmony_ci	.num_links = 0,
86362306a36Sopenharmony_ci};
86462306a36Sopenharmony_ci
86562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pcie1_cfg = {
86662306a36Sopenharmony_ci	.name = "qhs_pcie1_cfg",
86762306a36Sopenharmony_ci	.id = SM8450_SLAVE_PCIE_1_CFG,
86862306a36Sopenharmony_ci	.channels = 1,
86962306a36Sopenharmony_ci	.buswidth = 4,
87062306a36Sopenharmony_ci	.num_links = 0,
87162306a36Sopenharmony_ci};
87262306a36Sopenharmony_ci
87362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pdm = {
87462306a36Sopenharmony_ci	.name = "qhs_pdm",
87562306a36Sopenharmony_ci	.id = SM8450_SLAVE_PDM,
87662306a36Sopenharmony_ci	.channels = 1,
87762306a36Sopenharmony_ci	.buswidth = 4,
87862306a36Sopenharmony_ci	.num_links = 0,
87962306a36Sopenharmony_ci};
88062306a36Sopenharmony_ci
88162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pimem_cfg = {
88262306a36Sopenharmony_ci	.name = "qhs_pimem_cfg",
88362306a36Sopenharmony_ci	.id = SM8450_SLAVE_PIMEM_CFG,
88462306a36Sopenharmony_ci	.channels = 1,
88562306a36Sopenharmony_ci	.buswidth = 4,
88662306a36Sopenharmony_ci	.num_links = 0,
88762306a36Sopenharmony_ci};
88862306a36Sopenharmony_ci
88962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_prng = {
89062306a36Sopenharmony_ci	.name = "qhs_prng",
89162306a36Sopenharmony_ci	.id = SM8450_SLAVE_PRNG,
89262306a36Sopenharmony_ci	.channels = 1,
89362306a36Sopenharmony_ci	.buswidth = 4,
89462306a36Sopenharmony_ci	.num_links = 0,
89562306a36Sopenharmony_ci};
89662306a36Sopenharmony_ci
89762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qdss_cfg = {
89862306a36Sopenharmony_ci	.name = "qhs_qdss_cfg",
89962306a36Sopenharmony_ci	.id = SM8450_SLAVE_QDSS_CFG,
90062306a36Sopenharmony_ci	.channels = 1,
90162306a36Sopenharmony_ci	.buswidth = 4,
90262306a36Sopenharmony_ci	.num_links = 0,
90362306a36Sopenharmony_ci};
90462306a36Sopenharmony_ci
90562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qspi = {
90662306a36Sopenharmony_ci	.name = "qhs_qspi",
90762306a36Sopenharmony_ci	.id = SM8450_SLAVE_QSPI_0,
90862306a36Sopenharmony_ci	.channels = 1,
90962306a36Sopenharmony_ci	.buswidth = 4,
91062306a36Sopenharmony_ci	.num_links = 0,
91162306a36Sopenharmony_ci};
91262306a36Sopenharmony_ci
91362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qup0 = {
91462306a36Sopenharmony_ci	.name = "qhs_qup0",
91562306a36Sopenharmony_ci	.id = SM8450_SLAVE_QUP_0,
91662306a36Sopenharmony_ci	.channels = 1,
91762306a36Sopenharmony_ci	.buswidth = 4,
91862306a36Sopenharmony_ci	.num_links = 0,
91962306a36Sopenharmony_ci};
92062306a36Sopenharmony_ci
92162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qup1 = {
92262306a36Sopenharmony_ci	.name = "qhs_qup1",
92362306a36Sopenharmony_ci	.id = SM8450_SLAVE_QUP_1,
92462306a36Sopenharmony_ci	.channels = 1,
92562306a36Sopenharmony_ci	.buswidth = 4,
92662306a36Sopenharmony_ci	.num_links = 0,
92762306a36Sopenharmony_ci};
92862306a36Sopenharmony_ci
92962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qup2 = {
93062306a36Sopenharmony_ci	.name = "qhs_qup2",
93162306a36Sopenharmony_ci	.id = SM8450_SLAVE_QUP_2,
93262306a36Sopenharmony_ci	.channels = 1,
93362306a36Sopenharmony_ci	.buswidth = 4,
93462306a36Sopenharmony_ci	.num_links = 0,
93562306a36Sopenharmony_ci};
93662306a36Sopenharmony_ci
93762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_sdc2 = {
93862306a36Sopenharmony_ci	.name = "qhs_sdc2",
93962306a36Sopenharmony_ci	.id = SM8450_SLAVE_SDCC_2,
94062306a36Sopenharmony_ci	.channels = 1,
94162306a36Sopenharmony_ci	.buswidth = 4,
94262306a36Sopenharmony_ci	.num_links = 0,
94362306a36Sopenharmony_ci};
94462306a36Sopenharmony_ci
94562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_sdc4 = {
94662306a36Sopenharmony_ci	.name = "qhs_sdc4",
94762306a36Sopenharmony_ci	.id = SM8450_SLAVE_SDCC_4,
94862306a36Sopenharmony_ci	.channels = 1,
94962306a36Sopenharmony_ci	.buswidth = 4,
95062306a36Sopenharmony_ci	.num_links = 0,
95162306a36Sopenharmony_ci};
95262306a36Sopenharmony_ci
95362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_spss_cfg = {
95462306a36Sopenharmony_ci	.name = "qhs_spss_cfg",
95562306a36Sopenharmony_ci	.id = SM8450_SLAVE_SPSS_CFG,
95662306a36Sopenharmony_ci	.channels = 1,
95762306a36Sopenharmony_ci	.buswidth = 4,
95862306a36Sopenharmony_ci	.num_links = 0,
95962306a36Sopenharmony_ci};
96062306a36Sopenharmony_ci
96162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tcsr = {
96262306a36Sopenharmony_ci	.name = "qhs_tcsr",
96362306a36Sopenharmony_ci	.id = SM8450_SLAVE_TCSR,
96462306a36Sopenharmony_ci	.channels = 1,
96562306a36Sopenharmony_ci	.buswidth = 4,
96662306a36Sopenharmony_ci	.num_links = 0,
96762306a36Sopenharmony_ci};
96862306a36Sopenharmony_ci
96962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tlmm = {
97062306a36Sopenharmony_ci	.name = "qhs_tlmm",
97162306a36Sopenharmony_ci	.id = SM8450_SLAVE_TLMM,
97262306a36Sopenharmony_ci	.channels = 1,
97362306a36Sopenharmony_ci	.buswidth = 4,
97462306a36Sopenharmony_ci	.num_links = 0,
97562306a36Sopenharmony_ci};
97662306a36Sopenharmony_ci
97762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tme_cfg = {
97862306a36Sopenharmony_ci	.name = "qhs_tme_cfg",
97962306a36Sopenharmony_ci	.id = SM8450_SLAVE_TME_CFG,
98062306a36Sopenharmony_ci	.channels = 1,
98162306a36Sopenharmony_ci	.buswidth = 4,
98262306a36Sopenharmony_ci	.num_links = 0,
98362306a36Sopenharmony_ci};
98462306a36Sopenharmony_ci
98562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ufs_mem_cfg = {
98662306a36Sopenharmony_ci	.name = "qhs_ufs_mem_cfg",
98762306a36Sopenharmony_ci	.id = SM8450_SLAVE_UFS_MEM_CFG,
98862306a36Sopenharmony_ci	.channels = 1,
98962306a36Sopenharmony_ci	.buswidth = 4,
99062306a36Sopenharmony_ci	.num_links = 0,
99162306a36Sopenharmony_ci};
99262306a36Sopenharmony_ci
99362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_usb3_0 = {
99462306a36Sopenharmony_ci	.name = "qhs_usb3_0",
99562306a36Sopenharmony_ci	.id = SM8450_SLAVE_USB3_0,
99662306a36Sopenharmony_ci	.channels = 1,
99762306a36Sopenharmony_ci	.buswidth = 4,
99862306a36Sopenharmony_ci	.num_links = 0,
99962306a36Sopenharmony_ci};
100062306a36Sopenharmony_ci
100162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_venus_cfg = {
100262306a36Sopenharmony_ci	.name = "qhs_venus_cfg",
100362306a36Sopenharmony_ci	.id = SM8450_SLAVE_VENUS_CFG,
100462306a36Sopenharmony_ci	.channels = 1,
100562306a36Sopenharmony_ci	.buswidth = 4,
100662306a36Sopenharmony_ci	.num_links = 0,
100762306a36Sopenharmony_ci};
100862306a36Sopenharmony_ci
100962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_vsense_ctrl_cfg = {
101062306a36Sopenharmony_ci	.name = "qhs_vsense_ctrl_cfg",
101162306a36Sopenharmony_ci	.id = SM8450_SLAVE_VSENSE_CTRL_CFG,
101262306a36Sopenharmony_ci	.channels = 1,
101362306a36Sopenharmony_ci	.buswidth = 4,
101462306a36Sopenharmony_ci	.num_links = 0,
101562306a36Sopenharmony_ci};
101662306a36Sopenharmony_ci
101762306a36Sopenharmony_cistatic struct qcom_icc_node qns_a1_noc_cfg = {
101862306a36Sopenharmony_ci	.name = "qns_a1_noc_cfg",
101962306a36Sopenharmony_ci	.id = SM8450_SLAVE_A1NOC_CFG,
102062306a36Sopenharmony_ci	.channels = 1,
102162306a36Sopenharmony_ci	.buswidth = 4,
102262306a36Sopenharmony_ci	.num_links = 1,
102362306a36Sopenharmony_ci	.links = { SM8450_MASTER_A1NOC_CFG },
102462306a36Sopenharmony_ci};
102562306a36Sopenharmony_ci
102662306a36Sopenharmony_cistatic struct qcom_icc_node qns_a2_noc_cfg = {
102762306a36Sopenharmony_ci	.name = "qns_a2_noc_cfg",
102862306a36Sopenharmony_ci	.id = SM8450_SLAVE_A2NOC_CFG,
102962306a36Sopenharmony_ci	.channels = 1,
103062306a36Sopenharmony_ci	.buswidth = 4,
103162306a36Sopenharmony_ci	.num_links = 1,
103262306a36Sopenharmony_ci	.links = { SM8450_MASTER_A2NOC_CFG },
103362306a36Sopenharmony_ci};
103462306a36Sopenharmony_ci
103562306a36Sopenharmony_cistatic struct qcom_icc_node qns_ddrss_cfg = {
103662306a36Sopenharmony_ci	.name = "qns_ddrss_cfg",
103762306a36Sopenharmony_ci	.id = SM8450_SLAVE_DDRSS_CFG,
103862306a36Sopenharmony_ci	.channels = 1,
103962306a36Sopenharmony_ci	.buswidth = 4,
104062306a36Sopenharmony_ci	.num_links = 1,
104162306a36Sopenharmony_ci	//FIXME where is link
104262306a36Sopenharmony_ci};
104362306a36Sopenharmony_ci
104462306a36Sopenharmony_cistatic struct qcom_icc_node qns_mnoc_cfg = {
104562306a36Sopenharmony_ci	.name = "qns_mnoc_cfg",
104662306a36Sopenharmony_ci	.id = SM8450_SLAVE_CNOC_MNOC_CFG,
104762306a36Sopenharmony_ci	.channels = 1,
104862306a36Sopenharmony_ci	.buswidth = 4,
104962306a36Sopenharmony_ci	.num_links = 1,
105062306a36Sopenharmony_ci	.links = { SM8450_MASTER_CNOC_MNOC_CFG },
105162306a36Sopenharmony_ci};
105262306a36Sopenharmony_ci
105362306a36Sopenharmony_cistatic struct qcom_icc_node qns_pcie_anoc_cfg = {
105462306a36Sopenharmony_ci	.name = "qns_pcie_anoc_cfg",
105562306a36Sopenharmony_ci	.id = SM8450_SLAVE_PCIE_ANOC_CFG,
105662306a36Sopenharmony_ci	.channels = 1,
105762306a36Sopenharmony_ci	.buswidth = 4,
105862306a36Sopenharmony_ci	.num_links = 1,
105962306a36Sopenharmony_ci	.links = { SM8450_MASTER_PCIE_ANOC_CFG },
106062306a36Sopenharmony_ci};
106162306a36Sopenharmony_ci
106262306a36Sopenharmony_cistatic struct qcom_icc_node qns_snoc_cfg = {
106362306a36Sopenharmony_ci	.name = "qns_snoc_cfg",
106462306a36Sopenharmony_ci	.id = SM8450_SLAVE_SNOC_CFG,
106562306a36Sopenharmony_ci	.channels = 1,
106662306a36Sopenharmony_ci	.buswidth = 4,
106762306a36Sopenharmony_ci	.num_links = 1,
106862306a36Sopenharmony_ci	.links = { SM8450_MASTER_SNOC_CFG },
106962306a36Sopenharmony_ci};
107062306a36Sopenharmony_ci
107162306a36Sopenharmony_cistatic struct qcom_icc_node qxs_imem = {
107262306a36Sopenharmony_ci	.name = "qxs_imem",
107362306a36Sopenharmony_ci	.id = SM8450_SLAVE_IMEM,
107462306a36Sopenharmony_ci	.channels = 1,
107562306a36Sopenharmony_ci	.buswidth = 8,
107662306a36Sopenharmony_ci	.num_links = 0,
107762306a36Sopenharmony_ci};
107862306a36Sopenharmony_ci
107962306a36Sopenharmony_cistatic struct qcom_icc_node qxs_pimem = {
108062306a36Sopenharmony_ci	.name = "qxs_pimem",
108162306a36Sopenharmony_ci	.id = SM8450_SLAVE_PIMEM,
108262306a36Sopenharmony_ci	.channels = 1,
108362306a36Sopenharmony_ci	.buswidth = 8,
108462306a36Sopenharmony_ci	.num_links = 0,
108562306a36Sopenharmony_ci};
108662306a36Sopenharmony_ci
108762306a36Sopenharmony_cistatic struct qcom_icc_node srvc_cnoc = {
108862306a36Sopenharmony_ci	.name = "srvc_cnoc",
108962306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_CNOC,
109062306a36Sopenharmony_ci	.channels = 1,
109162306a36Sopenharmony_ci	.buswidth = 4,
109262306a36Sopenharmony_ci	.num_links = 0,
109362306a36Sopenharmony_ci};
109462306a36Sopenharmony_ci
109562306a36Sopenharmony_cistatic struct qcom_icc_node xs_pcie_0 = {
109662306a36Sopenharmony_ci	.name = "xs_pcie_0",
109762306a36Sopenharmony_ci	.id = SM8450_SLAVE_PCIE_0,
109862306a36Sopenharmony_ci	.channels = 1,
109962306a36Sopenharmony_ci	.buswidth = 8,
110062306a36Sopenharmony_ci	.num_links = 0,
110162306a36Sopenharmony_ci};
110262306a36Sopenharmony_ci
110362306a36Sopenharmony_cistatic struct qcom_icc_node xs_pcie_1 = {
110462306a36Sopenharmony_ci	.name = "xs_pcie_1",
110562306a36Sopenharmony_ci	.id = SM8450_SLAVE_PCIE_1,
110662306a36Sopenharmony_ci	.channels = 1,
110762306a36Sopenharmony_ci	.buswidth = 8,
110862306a36Sopenharmony_ci	.num_links = 0,
110962306a36Sopenharmony_ci};
111062306a36Sopenharmony_ci
111162306a36Sopenharmony_cistatic struct qcom_icc_node xs_qdss_stm = {
111262306a36Sopenharmony_ci	.name = "xs_qdss_stm",
111362306a36Sopenharmony_ci	.id = SM8450_SLAVE_QDSS_STM,
111462306a36Sopenharmony_ci	.channels = 1,
111562306a36Sopenharmony_ci	.buswidth = 4,
111662306a36Sopenharmony_ci	.num_links = 0,
111762306a36Sopenharmony_ci};
111862306a36Sopenharmony_ci
111962306a36Sopenharmony_cistatic struct qcom_icc_node xs_sys_tcu_cfg = {
112062306a36Sopenharmony_ci	.name = "xs_sys_tcu_cfg",
112162306a36Sopenharmony_ci	.id = SM8450_SLAVE_TCU,
112262306a36Sopenharmony_ci	.channels = 1,
112362306a36Sopenharmony_ci	.buswidth = 8,
112462306a36Sopenharmony_ci	.num_links = 0,
112562306a36Sopenharmony_ci};
112662306a36Sopenharmony_ci
112762306a36Sopenharmony_cistatic struct qcom_icc_node qns_gem_noc_cnoc = {
112862306a36Sopenharmony_ci	.name = "qns_gem_noc_cnoc",
112962306a36Sopenharmony_ci	.id = SM8450_SLAVE_GEM_NOC_CNOC,
113062306a36Sopenharmony_ci	.channels = 1,
113162306a36Sopenharmony_ci	.buswidth = 16,
113262306a36Sopenharmony_ci	.num_links = 1,
113362306a36Sopenharmony_ci	.links = { SM8450_MASTER_GEM_NOC_CNOC },
113462306a36Sopenharmony_ci};
113562306a36Sopenharmony_ci
113662306a36Sopenharmony_cistatic struct qcom_icc_node qns_llcc = {
113762306a36Sopenharmony_ci	.name = "qns_llcc",
113862306a36Sopenharmony_ci	.id = SM8450_SLAVE_LLCC,
113962306a36Sopenharmony_ci	.channels = 4,
114062306a36Sopenharmony_ci	.buswidth = 16,
114162306a36Sopenharmony_ci	.num_links = 1,
114262306a36Sopenharmony_ci	.links = { SM8450_MASTER_LLCC },
114362306a36Sopenharmony_ci};
114462306a36Sopenharmony_ci
114562306a36Sopenharmony_cistatic struct qcom_icc_node qns_pcie = {
114662306a36Sopenharmony_ci	.name = "qns_pcie",
114762306a36Sopenharmony_ci	.id = SM8450_SLAVE_MEM_NOC_PCIE_SNOC,
114862306a36Sopenharmony_ci	.channels = 1,
114962306a36Sopenharmony_ci	.buswidth = 8,
115062306a36Sopenharmony_ci	.num_links = 1,
115162306a36Sopenharmony_ci	.links = { SM8450_MASTER_GEM_NOC_PCIE_SNOC },
115262306a36Sopenharmony_ci};
115362306a36Sopenharmony_ci
115462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_lpass_core = {
115562306a36Sopenharmony_ci	.name = "qhs_lpass_core",
115662306a36Sopenharmony_ci	.id = SM8450_SLAVE_LPASS_CORE_CFG,
115762306a36Sopenharmony_ci	.channels = 1,
115862306a36Sopenharmony_ci	.buswidth = 4,
115962306a36Sopenharmony_ci	.num_links = 0,
116062306a36Sopenharmony_ci};
116162306a36Sopenharmony_ci
116262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_lpass_lpi = {
116362306a36Sopenharmony_ci	.name = "qhs_lpass_lpi",
116462306a36Sopenharmony_ci	.id = SM8450_SLAVE_LPASS_LPI_CFG,
116562306a36Sopenharmony_ci	.channels = 1,
116662306a36Sopenharmony_ci	.buswidth = 4,
116762306a36Sopenharmony_ci	.num_links = 0,
116862306a36Sopenharmony_ci};
116962306a36Sopenharmony_ci
117062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_lpass_mpu = {
117162306a36Sopenharmony_ci	.name = "qhs_lpass_mpu",
117262306a36Sopenharmony_ci	.id = SM8450_SLAVE_LPASS_MPU_CFG,
117362306a36Sopenharmony_ci	.channels = 1,
117462306a36Sopenharmony_ci	.buswidth = 4,
117562306a36Sopenharmony_ci	.num_links = 0,
117662306a36Sopenharmony_ci};
117762306a36Sopenharmony_ci
117862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_lpass_top = {
117962306a36Sopenharmony_ci	.name = "qhs_lpass_top",
118062306a36Sopenharmony_ci	.id = SM8450_SLAVE_LPASS_TOP_CFG,
118162306a36Sopenharmony_ci	.channels = 1,
118262306a36Sopenharmony_ci	.buswidth = 4,
118362306a36Sopenharmony_ci	.num_links = 0,
118462306a36Sopenharmony_ci};
118562306a36Sopenharmony_ci
118662306a36Sopenharmony_cistatic struct qcom_icc_node qns_sysnoc = {
118762306a36Sopenharmony_ci	.name = "qns_sysnoc",
118862306a36Sopenharmony_ci	.id = SM8450_SLAVE_LPASS_SNOC,
118962306a36Sopenharmony_ci	.channels = 1,
119062306a36Sopenharmony_ci	.buswidth = 16,
119162306a36Sopenharmony_ci	.num_links = 1,
119262306a36Sopenharmony_ci	.links = { SM8450_MASTER_LPASS_ANOC },
119362306a36Sopenharmony_ci};
119462306a36Sopenharmony_ci
119562306a36Sopenharmony_cistatic struct qcom_icc_node srvc_niu_aml_noc = {
119662306a36Sopenharmony_ci	.name = "srvc_niu_aml_noc",
119762306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICES_LPASS_AML_NOC,
119862306a36Sopenharmony_ci	.channels = 1,
119962306a36Sopenharmony_ci	.buswidth = 4,
120062306a36Sopenharmony_ci	.num_links = 0,
120162306a36Sopenharmony_ci};
120262306a36Sopenharmony_ci
120362306a36Sopenharmony_cistatic struct qcom_icc_node srvc_niu_lpass_agnoc = {
120462306a36Sopenharmony_ci	.name = "srvc_niu_lpass_agnoc",
120562306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_LPASS_AG_NOC,
120662306a36Sopenharmony_ci	.channels = 1,
120762306a36Sopenharmony_ci	.buswidth = 4,
120862306a36Sopenharmony_ci	.num_links = 0,
120962306a36Sopenharmony_ci};
121062306a36Sopenharmony_ci
121162306a36Sopenharmony_cistatic struct qcom_icc_node ebi = {
121262306a36Sopenharmony_ci	.name = "ebi",
121362306a36Sopenharmony_ci	.id = SM8450_SLAVE_EBI1,
121462306a36Sopenharmony_ci	.channels = 4,
121562306a36Sopenharmony_ci	.buswidth = 4,
121662306a36Sopenharmony_ci	.num_links = 0,
121762306a36Sopenharmony_ci};
121862306a36Sopenharmony_ci
121962306a36Sopenharmony_cistatic struct qcom_icc_node qns_mem_noc_hf = {
122062306a36Sopenharmony_ci	.name = "qns_mem_noc_hf",
122162306a36Sopenharmony_ci	.id = SM8450_SLAVE_MNOC_HF_MEM_NOC,
122262306a36Sopenharmony_ci	.channels = 2,
122362306a36Sopenharmony_ci	.buswidth = 32,
122462306a36Sopenharmony_ci	.num_links = 1,
122562306a36Sopenharmony_ci	.links = { SM8450_MASTER_MNOC_HF_MEM_NOC },
122662306a36Sopenharmony_ci};
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_cistatic struct qcom_icc_node qns_mem_noc_sf = {
122962306a36Sopenharmony_ci	.name = "qns_mem_noc_sf",
123062306a36Sopenharmony_ci	.id = SM8450_SLAVE_MNOC_SF_MEM_NOC,
123162306a36Sopenharmony_ci	.channels = 2,
123262306a36Sopenharmony_ci	.buswidth = 32,
123362306a36Sopenharmony_ci	.num_links = 1,
123462306a36Sopenharmony_ci	.links = { SM8450_MASTER_MNOC_SF_MEM_NOC },
123562306a36Sopenharmony_ci};
123662306a36Sopenharmony_ci
123762306a36Sopenharmony_cistatic struct qcom_icc_node srvc_mnoc = {
123862306a36Sopenharmony_ci	.name = "srvc_mnoc",
123962306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_MNOC,
124062306a36Sopenharmony_ci	.channels = 1,
124162306a36Sopenharmony_ci	.buswidth = 4,
124262306a36Sopenharmony_ci	.num_links = 0,
124362306a36Sopenharmony_ci};
124462306a36Sopenharmony_ci
124562306a36Sopenharmony_cistatic struct qcom_icc_node qns_nsp_gemnoc = {
124662306a36Sopenharmony_ci	.name = "qns_nsp_gemnoc",
124762306a36Sopenharmony_ci	.id = SM8450_SLAVE_CDSP_MEM_NOC,
124862306a36Sopenharmony_ci	.channels = 2,
124962306a36Sopenharmony_ci	.buswidth = 32,
125062306a36Sopenharmony_ci	.num_links = 1,
125162306a36Sopenharmony_ci	.links = { SM8450_MASTER_COMPUTE_NOC },
125262306a36Sopenharmony_ci};
125362306a36Sopenharmony_ci
125462306a36Sopenharmony_cistatic struct qcom_icc_node service_nsp_noc = {
125562306a36Sopenharmony_ci	.name = "service_nsp_noc",
125662306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_NSP_NOC,
125762306a36Sopenharmony_ci	.channels = 1,
125862306a36Sopenharmony_ci	.buswidth = 4,
125962306a36Sopenharmony_ci	.num_links = 0,
126062306a36Sopenharmony_ci};
126162306a36Sopenharmony_ci
126262306a36Sopenharmony_cistatic struct qcom_icc_node qns_pcie_mem_noc = {
126362306a36Sopenharmony_ci	.name = "qns_pcie_mem_noc",
126462306a36Sopenharmony_ci	.id = SM8450_SLAVE_ANOC_PCIE_GEM_NOC,
126562306a36Sopenharmony_ci	.channels = 1,
126662306a36Sopenharmony_ci	.buswidth = 16,
126762306a36Sopenharmony_ci	.num_links = 1,
126862306a36Sopenharmony_ci	.links = { SM8450_MASTER_ANOC_PCIE_GEM_NOC },
126962306a36Sopenharmony_ci};
127062306a36Sopenharmony_ci
127162306a36Sopenharmony_cistatic struct qcom_icc_node srvc_pcie_aggre_noc = {
127262306a36Sopenharmony_ci	.name = "srvc_pcie_aggre_noc",
127362306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_PCIE_ANOC,
127462306a36Sopenharmony_ci	.channels = 1,
127562306a36Sopenharmony_ci	.buswidth = 4,
127662306a36Sopenharmony_ci	.num_links = 0,
127762306a36Sopenharmony_ci};
127862306a36Sopenharmony_ci
127962306a36Sopenharmony_cistatic struct qcom_icc_node qns_gemnoc_gc = {
128062306a36Sopenharmony_ci	.name = "qns_gemnoc_gc",
128162306a36Sopenharmony_ci	.id = SM8450_SLAVE_SNOC_GEM_NOC_GC,
128262306a36Sopenharmony_ci	.channels = 1,
128362306a36Sopenharmony_ci	.buswidth = 8,
128462306a36Sopenharmony_ci	.num_links = 1,
128562306a36Sopenharmony_ci	.links = { SM8450_MASTER_SNOC_GC_MEM_NOC },
128662306a36Sopenharmony_ci};
128762306a36Sopenharmony_ci
128862306a36Sopenharmony_cistatic struct qcom_icc_node qns_gemnoc_sf = {
128962306a36Sopenharmony_ci	.name = "qns_gemnoc_sf",
129062306a36Sopenharmony_ci	.id = SM8450_SLAVE_SNOC_GEM_NOC_SF,
129162306a36Sopenharmony_ci	.channels = 1,
129262306a36Sopenharmony_ci	.buswidth = 16,
129362306a36Sopenharmony_ci	.num_links = 1,
129462306a36Sopenharmony_ci	.links = { SM8450_MASTER_SNOC_SF_MEM_NOC },
129562306a36Sopenharmony_ci};
129662306a36Sopenharmony_ci
129762306a36Sopenharmony_cistatic struct qcom_icc_node srvc_snoc = {
129862306a36Sopenharmony_ci	.name = "srvc_snoc",
129962306a36Sopenharmony_ci	.id = SM8450_SLAVE_SERVICE_SNOC,
130062306a36Sopenharmony_ci	.channels = 1,
130162306a36Sopenharmony_ci	.buswidth = 4,
130262306a36Sopenharmony_ci	.num_links = 0,
130362306a36Sopenharmony_ci};
130462306a36Sopenharmony_ci
130562306a36Sopenharmony_cistatic struct qcom_icc_node qns_llcc_disp = {
130662306a36Sopenharmony_ci	.name = "qns_llcc_disp",
130762306a36Sopenharmony_ci	.id = SM8450_SLAVE_LLCC_DISP,
130862306a36Sopenharmony_ci	.channels = 4,
130962306a36Sopenharmony_ci	.buswidth = 16,
131062306a36Sopenharmony_ci	.num_links = 1,
131162306a36Sopenharmony_ci	.links = { SM8450_MASTER_LLCC_DISP },
131262306a36Sopenharmony_ci};
131362306a36Sopenharmony_ci
131462306a36Sopenharmony_cistatic struct qcom_icc_node ebi_disp = {
131562306a36Sopenharmony_ci	.name = "ebi_disp",
131662306a36Sopenharmony_ci	.id = SM8450_SLAVE_EBI1_DISP,
131762306a36Sopenharmony_ci	.channels = 4,
131862306a36Sopenharmony_ci	.buswidth = 4,
131962306a36Sopenharmony_ci	.num_links = 0,
132062306a36Sopenharmony_ci};
132162306a36Sopenharmony_ci
132262306a36Sopenharmony_cistatic struct qcom_icc_node qns_mem_noc_hf_disp = {
132362306a36Sopenharmony_ci	.name = "qns_mem_noc_hf_disp",
132462306a36Sopenharmony_ci	.id = SM8450_SLAVE_MNOC_HF_MEM_NOC_DISP,
132562306a36Sopenharmony_ci	.channels = 2,
132662306a36Sopenharmony_ci	.buswidth = 32,
132762306a36Sopenharmony_ci	.num_links = 1,
132862306a36Sopenharmony_ci	.links = { SM8450_MASTER_MNOC_HF_MEM_NOC_DISP },
132962306a36Sopenharmony_ci};
133062306a36Sopenharmony_ci
133162306a36Sopenharmony_cistatic struct qcom_icc_node qns_mem_noc_sf_disp = {
133262306a36Sopenharmony_ci	.name = "qns_mem_noc_sf_disp",
133362306a36Sopenharmony_ci	.id = SM8450_SLAVE_MNOC_SF_MEM_NOC_DISP,
133462306a36Sopenharmony_ci	.channels = 2,
133562306a36Sopenharmony_ci	.buswidth = 32,
133662306a36Sopenharmony_ci	.num_links = 1,
133762306a36Sopenharmony_ci	.links = { SM8450_MASTER_MNOC_SF_MEM_NOC_DISP },
133862306a36Sopenharmony_ci};
133962306a36Sopenharmony_ci
134062306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_acv = {
134162306a36Sopenharmony_ci	.name = "ACV",
134262306a36Sopenharmony_ci	.enable_mask = 0x8,
134362306a36Sopenharmony_ci	.num_nodes = 1,
134462306a36Sopenharmony_ci	.nodes = { &ebi },
134562306a36Sopenharmony_ci};
134662306a36Sopenharmony_ci
134762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_ce0 = {
134862306a36Sopenharmony_ci	.name = "CE0",
134962306a36Sopenharmony_ci	.num_nodes = 1,
135062306a36Sopenharmony_ci	.nodes = { &qxm_crypto },
135162306a36Sopenharmony_ci};
135262306a36Sopenharmony_ci
135362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_cn0 = {
135462306a36Sopenharmony_ci	.name = "CN0",
135562306a36Sopenharmony_ci	.enable_mask = 0x1,
135662306a36Sopenharmony_ci	.keepalive = true,
135762306a36Sopenharmony_ci	.num_nodes = 55,
135862306a36Sopenharmony_ci	.nodes = { &qnm_gemnoc_cnoc, &qnm_gemnoc_pcie,
135962306a36Sopenharmony_ci		   &qhs_ahb2phy0, &qhs_ahb2phy1,
136062306a36Sopenharmony_ci		   &qhs_aoss, &qhs_camera_cfg,
136162306a36Sopenharmony_ci		   &qhs_clk_ctl, &qhs_compute_cfg,
136262306a36Sopenharmony_ci		   &qhs_cpr_cx, &qhs_cpr_mmcx,
136362306a36Sopenharmony_ci		   &qhs_cpr_mxa, &qhs_cpr_mxc,
136462306a36Sopenharmony_ci		   &qhs_crypto0_cfg, &qhs_cx_rdpm,
136562306a36Sopenharmony_ci		   &qhs_display_cfg, &qhs_gpuss_cfg,
136662306a36Sopenharmony_ci		   &qhs_imem_cfg, &qhs_ipa,
136762306a36Sopenharmony_ci		   &qhs_ipc_router, &qhs_lpass_cfg,
136862306a36Sopenharmony_ci		   &qhs_mss_cfg, &qhs_mx_rdpm,
136962306a36Sopenharmony_ci		   &qhs_pcie0_cfg, &qhs_pcie1_cfg,
137062306a36Sopenharmony_ci		   &qhs_pdm, &qhs_pimem_cfg,
137162306a36Sopenharmony_ci		   &qhs_prng, &qhs_qdss_cfg,
137262306a36Sopenharmony_ci		   &qhs_qspi, &qhs_qup0,
137362306a36Sopenharmony_ci		   &qhs_qup1, &qhs_qup2,
137462306a36Sopenharmony_ci		   &qhs_sdc2, &qhs_sdc4,
137562306a36Sopenharmony_ci		   &qhs_spss_cfg, &qhs_tcsr,
137662306a36Sopenharmony_ci		   &qhs_tlmm, &qhs_tme_cfg,
137762306a36Sopenharmony_ci		   &qhs_ufs_mem_cfg, &qhs_usb3_0,
137862306a36Sopenharmony_ci		   &qhs_venus_cfg, &qhs_vsense_ctrl_cfg,
137962306a36Sopenharmony_ci		   &qns_a1_noc_cfg, &qns_a2_noc_cfg,
138062306a36Sopenharmony_ci		   &qns_ddrss_cfg, &qns_mnoc_cfg,
138162306a36Sopenharmony_ci		   &qns_pcie_anoc_cfg, &qns_snoc_cfg,
138262306a36Sopenharmony_ci		   &qxs_imem, &qxs_pimem,
138362306a36Sopenharmony_ci		   &srvc_cnoc, &xs_pcie_0,
138462306a36Sopenharmony_ci		   &xs_pcie_1, &xs_qdss_stm,
138562306a36Sopenharmony_ci		   &xs_sys_tcu_cfg },
138662306a36Sopenharmony_ci};
138762306a36Sopenharmony_ci
138862306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_co0 = {
138962306a36Sopenharmony_ci	.name = "CO0",
139062306a36Sopenharmony_ci	.enable_mask = 0x1,
139162306a36Sopenharmony_ci	.num_nodes = 2,
139262306a36Sopenharmony_ci	.nodes = { &qxm_nsp, &qns_nsp_gemnoc },
139362306a36Sopenharmony_ci};
139462306a36Sopenharmony_ci
139562306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mc0 = {
139662306a36Sopenharmony_ci	.name = "MC0",
139762306a36Sopenharmony_ci	.keepalive = true,
139862306a36Sopenharmony_ci	.num_nodes = 1,
139962306a36Sopenharmony_ci	.nodes = { &ebi },
140062306a36Sopenharmony_ci};
140162306a36Sopenharmony_ci
140262306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm0 = {
140362306a36Sopenharmony_ci	.name = "MM0",
140462306a36Sopenharmony_ci	.keepalive = true,
140562306a36Sopenharmony_ci	.num_nodes = 1,
140662306a36Sopenharmony_ci	.nodes = { &qns_mem_noc_hf },
140762306a36Sopenharmony_ci};
140862306a36Sopenharmony_ci
140962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm1 = {
141062306a36Sopenharmony_ci	.name = "MM1",
141162306a36Sopenharmony_ci	.enable_mask = 0x1,
141262306a36Sopenharmony_ci	.num_nodes = 12,
141362306a36Sopenharmony_ci	.nodes = { &qnm_camnoc_hf, &qnm_camnoc_icp,
141462306a36Sopenharmony_ci		   &qnm_camnoc_sf, &qnm_mdp,
141562306a36Sopenharmony_ci		   &qnm_mnoc_cfg, &qnm_rot,
141662306a36Sopenharmony_ci		   &qnm_vapss_hcp, &qnm_video,
141762306a36Sopenharmony_ci		   &qnm_video_cv_cpu, &qnm_video_cvp,
141862306a36Sopenharmony_ci		   &qnm_video_v_cpu, &qns_mem_noc_sf },
141962306a36Sopenharmony_ci};
142062306a36Sopenharmony_ci
142162306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_qup0 = {
142262306a36Sopenharmony_ci	.name = "QUP0",
142362306a36Sopenharmony_ci	.keepalive = true,
142462306a36Sopenharmony_ci	.vote_scale = 1,
142562306a36Sopenharmony_ci	.num_nodes = 1,
142662306a36Sopenharmony_ci	.nodes = { &qup0_core_slave },
142762306a36Sopenharmony_ci};
142862306a36Sopenharmony_ci
142962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_qup1 = {
143062306a36Sopenharmony_ci	.name = "QUP1",
143162306a36Sopenharmony_ci	.keepalive = true,
143262306a36Sopenharmony_ci	.vote_scale = 1,
143362306a36Sopenharmony_ci	.num_nodes = 1,
143462306a36Sopenharmony_ci	.nodes = { &qup1_core_slave },
143562306a36Sopenharmony_ci};
143662306a36Sopenharmony_ci
143762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_qup2 = {
143862306a36Sopenharmony_ci	.name = "QUP2",
143962306a36Sopenharmony_ci	.keepalive = true,
144062306a36Sopenharmony_ci	.vote_scale = 1,
144162306a36Sopenharmony_ci	.num_nodes = 1,
144262306a36Sopenharmony_ci	.nodes = { &qup2_core_slave },
144362306a36Sopenharmony_ci};
144462306a36Sopenharmony_ci
144562306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh0 = {
144662306a36Sopenharmony_ci	.name = "SH0",
144762306a36Sopenharmony_ci	.keepalive = true,
144862306a36Sopenharmony_ci	.num_nodes = 1,
144962306a36Sopenharmony_ci	.nodes = { &qns_llcc },
145062306a36Sopenharmony_ci};
145162306a36Sopenharmony_ci
145262306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh1 = {
145362306a36Sopenharmony_ci	.name = "SH1",
145462306a36Sopenharmony_ci	.enable_mask = 0x1,
145562306a36Sopenharmony_ci	.num_nodes = 7,
145662306a36Sopenharmony_ci	.nodes = { &alm_gpu_tcu, &alm_sys_tcu,
145762306a36Sopenharmony_ci		   &qnm_nsp_gemnoc, &qnm_pcie,
145862306a36Sopenharmony_ci		   &qnm_snoc_gc, &qns_gem_noc_cnoc,
145962306a36Sopenharmony_ci		   &qns_pcie },
146062306a36Sopenharmony_ci};
146162306a36Sopenharmony_ci
146262306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn0 = {
146362306a36Sopenharmony_ci	.name = "SN0",
146462306a36Sopenharmony_ci	.keepalive = true,
146562306a36Sopenharmony_ci	.num_nodes = 1,
146662306a36Sopenharmony_ci	.nodes = { &qns_gemnoc_sf },
146762306a36Sopenharmony_ci};
146862306a36Sopenharmony_ci
146962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn1 = {
147062306a36Sopenharmony_ci	.name = "SN1",
147162306a36Sopenharmony_ci	.enable_mask = 0x1,
147262306a36Sopenharmony_ci	.num_nodes = 4,
147362306a36Sopenharmony_ci	.nodes = { &qhm_gic, &qxm_pimem,
147462306a36Sopenharmony_ci		   &xm_gic, &qns_gemnoc_gc },
147562306a36Sopenharmony_ci};
147662306a36Sopenharmony_ci
147762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn2 = {
147862306a36Sopenharmony_ci	.name = "SN2",
147962306a36Sopenharmony_ci	.num_nodes = 1,
148062306a36Sopenharmony_ci	.nodes = { &qnm_aggre1_noc },
148162306a36Sopenharmony_ci};
148262306a36Sopenharmony_ci
148362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn3 = {
148462306a36Sopenharmony_ci	.name = "SN3",
148562306a36Sopenharmony_ci	.num_nodes = 1,
148662306a36Sopenharmony_ci	.nodes = { &qnm_aggre2_noc },
148762306a36Sopenharmony_ci};
148862306a36Sopenharmony_ci
148962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn4 = {
149062306a36Sopenharmony_ci	.name = "SN4",
149162306a36Sopenharmony_ci	.num_nodes = 1,
149262306a36Sopenharmony_ci	.nodes = { &qnm_lpass_noc },
149362306a36Sopenharmony_ci};
149462306a36Sopenharmony_ci
149562306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn7 = {
149662306a36Sopenharmony_ci	.name = "SN7",
149762306a36Sopenharmony_ci	.num_nodes = 1,
149862306a36Sopenharmony_ci	.nodes = { &qns_pcie_mem_noc },
149962306a36Sopenharmony_ci};
150062306a36Sopenharmony_ci
150162306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_acv_disp = {
150262306a36Sopenharmony_ci	.name = "ACV",
150362306a36Sopenharmony_ci	.enable_mask = 0x1,
150462306a36Sopenharmony_ci	.num_nodes = 1,
150562306a36Sopenharmony_ci	.nodes = { &ebi_disp },
150662306a36Sopenharmony_ci};
150762306a36Sopenharmony_ci
150862306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mc0_disp = {
150962306a36Sopenharmony_ci	.name = "MC0",
151062306a36Sopenharmony_ci	.num_nodes = 1,
151162306a36Sopenharmony_ci	.nodes = { &ebi_disp },
151262306a36Sopenharmony_ci};
151362306a36Sopenharmony_ci
151462306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm0_disp = {
151562306a36Sopenharmony_ci	.name = "MM0",
151662306a36Sopenharmony_ci	.num_nodes = 1,
151762306a36Sopenharmony_ci	.nodes = { &qns_mem_noc_hf_disp },
151862306a36Sopenharmony_ci};
151962306a36Sopenharmony_ci
152062306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm1_disp = {
152162306a36Sopenharmony_ci	.name = "MM1",
152262306a36Sopenharmony_ci	.enable_mask = 0x1,
152362306a36Sopenharmony_ci	.num_nodes = 3,
152462306a36Sopenharmony_ci	.nodes = { &qnm_mdp_disp, &qnm_rot_disp,
152562306a36Sopenharmony_ci		   &qns_mem_noc_sf_disp },
152662306a36Sopenharmony_ci};
152762306a36Sopenharmony_ci
152862306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh0_disp = {
152962306a36Sopenharmony_ci	.name = "SH0",
153062306a36Sopenharmony_ci	.num_nodes = 1,
153162306a36Sopenharmony_ci	.nodes = { &qns_llcc_disp },
153262306a36Sopenharmony_ci};
153362306a36Sopenharmony_ci
153462306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh1_disp = {
153562306a36Sopenharmony_ci	.name = "SH1",
153662306a36Sopenharmony_ci	.enable_mask = 0x1,
153762306a36Sopenharmony_ci	.num_nodes = 1,
153862306a36Sopenharmony_ci	.nodes = { &qnm_pcie_disp },
153962306a36Sopenharmony_ci};
154062306a36Sopenharmony_ci
154162306a36Sopenharmony_cistatic struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
154262306a36Sopenharmony_ci};
154362306a36Sopenharmony_ci
154462306a36Sopenharmony_cistatic struct qcom_icc_node * const aggre1_noc_nodes[] = {
154562306a36Sopenharmony_ci	[MASTER_QSPI_0] = &qhm_qspi,
154662306a36Sopenharmony_ci	[MASTER_QUP_1] = &qhm_qup1,
154762306a36Sopenharmony_ci	[MASTER_A1NOC_CFG] = &qnm_a1noc_cfg,
154862306a36Sopenharmony_ci	[MASTER_SDCC_4] = &xm_sdc4,
154962306a36Sopenharmony_ci	[MASTER_UFS_MEM] = &xm_ufs_mem,
155062306a36Sopenharmony_ci	[MASTER_USB3_0] = &xm_usb3_0,
155162306a36Sopenharmony_ci	[SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc,
155262306a36Sopenharmony_ci	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
155362306a36Sopenharmony_ci};
155462306a36Sopenharmony_ci
155562306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_aggre1_noc = {
155662306a36Sopenharmony_ci	.nodes = aggre1_noc_nodes,
155762306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
155862306a36Sopenharmony_ci	.bcms = aggre1_noc_bcms,
155962306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
156062306a36Sopenharmony_ci};
156162306a36Sopenharmony_ci
156262306a36Sopenharmony_cistatic struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
156362306a36Sopenharmony_ci	&bcm_ce0,
156462306a36Sopenharmony_ci};
156562306a36Sopenharmony_ci
156662306a36Sopenharmony_cistatic struct qcom_icc_node * const aggre2_noc_nodes[] = {
156762306a36Sopenharmony_ci	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
156862306a36Sopenharmony_ci	[MASTER_QUP_0] = &qhm_qup0,
156962306a36Sopenharmony_ci	[MASTER_QUP_2] = &qhm_qup2,
157062306a36Sopenharmony_ci	[MASTER_A2NOC_CFG] = &qnm_a2noc_cfg,
157162306a36Sopenharmony_ci	[MASTER_CRYPTO] = &qxm_crypto,
157262306a36Sopenharmony_ci	[MASTER_IPA] = &qxm_ipa,
157362306a36Sopenharmony_ci	[MASTER_SENSORS_PROC] = &qxm_sensorss_q6,
157462306a36Sopenharmony_ci	[MASTER_SP] = &qxm_sp,
157562306a36Sopenharmony_ci	[MASTER_QDSS_ETR] = &xm_qdss_etr_0,
157662306a36Sopenharmony_ci	[MASTER_QDSS_ETR_1] = &xm_qdss_etr_1,
157762306a36Sopenharmony_ci	[MASTER_SDCC_2] = &xm_sdc2,
157862306a36Sopenharmony_ci	[SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc,
157962306a36Sopenharmony_ci	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
158062306a36Sopenharmony_ci};
158162306a36Sopenharmony_ci
158262306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_aggre2_noc = {
158362306a36Sopenharmony_ci	.nodes = aggre2_noc_nodes,
158462306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
158562306a36Sopenharmony_ci	.bcms = aggre2_noc_bcms,
158662306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
158762306a36Sopenharmony_ci};
158862306a36Sopenharmony_ci
158962306a36Sopenharmony_cistatic struct qcom_icc_bcm * const clk_virt_bcms[] = {
159062306a36Sopenharmony_ci	&bcm_qup0,
159162306a36Sopenharmony_ci	&bcm_qup1,
159262306a36Sopenharmony_ci	&bcm_qup2,
159362306a36Sopenharmony_ci};
159462306a36Sopenharmony_ci
159562306a36Sopenharmony_cistatic struct qcom_icc_node * const clk_virt_nodes[] = {
159662306a36Sopenharmony_ci	[MASTER_QUP_CORE_0] = &qup0_core_master,
159762306a36Sopenharmony_ci	[MASTER_QUP_CORE_1] = &qup1_core_master,
159862306a36Sopenharmony_ci	[MASTER_QUP_CORE_2] = &qup2_core_master,
159962306a36Sopenharmony_ci	[SLAVE_QUP_CORE_0] = &qup0_core_slave,
160062306a36Sopenharmony_ci	[SLAVE_QUP_CORE_1] = &qup1_core_slave,
160162306a36Sopenharmony_ci	[SLAVE_QUP_CORE_2] = &qup2_core_slave,
160262306a36Sopenharmony_ci};
160362306a36Sopenharmony_ci
160462306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_clk_virt = {
160562306a36Sopenharmony_ci	.nodes = clk_virt_nodes,
160662306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(clk_virt_nodes),
160762306a36Sopenharmony_ci	.bcms = clk_virt_bcms,
160862306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(clk_virt_bcms),
160962306a36Sopenharmony_ci};
161062306a36Sopenharmony_ci
161162306a36Sopenharmony_cistatic struct qcom_icc_bcm * const config_noc_bcms[] = {
161262306a36Sopenharmony_ci	&bcm_cn0,
161362306a36Sopenharmony_ci};
161462306a36Sopenharmony_ci
161562306a36Sopenharmony_cistatic struct qcom_icc_node * const config_noc_nodes[] = {
161662306a36Sopenharmony_ci	[MASTER_GEM_NOC_CNOC] = &qnm_gemnoc_cnoc,
161762306a36Sopenharmony_ci	[MASTER_GEM_NOC_PCIE_SNOC] = &qnm_gemnoc_pcie,
161862306a36Sopenharmony_ci	[SLAVE_AHB2PHY_SOUTH] = &qhs_ahb2phy0,
161962306a36Sopenharmony_ci	[SLAVE_AHB2PHY_NORTH] = &qhs_ahb2phy1,
162062306a36Sopenharmony_ci	[SLAVE_AOSS] = &qhs_aoss,
162162306a36Sopenharmony_ci	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
162262306a36Sopenharmony_ci	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
162362306a36Sopenharmony_ci	[SLAVE_CDSP_CFG] = &qhs_compute_cfg,
162462306a36Sopenharmony_ci	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
162562306a36Sopenharmony_ci	[SLAVE_RBCPR_MMCX_CFG] = &qhs_cpr_mmcx,
162662306a36Sopenharmony_ci	[SLAVE_RBCPR_MXA_CFG] = &qhs_cpr_mxa,
162762306a36Sopenharmony_ci	[SLAVE_RBCPR_MXC_CFG] = &qhs_cpr_mxc,
162862306a36Sopenharmony_ci	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
162962306a36Sopenharmony_ci	[SLAVE_CX_RDPM] = &qhs_cx_rdpm,
163062306a36Sopenharmony_ci	[SLAVE_DISPLAY_CFG] = &qhs_display_cfg,
163162306a36Sopenharmony_ci	[SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg,
163262306a36Sopenharmony_ci	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
163362306a36Sopenharmony_ci	[SLAVE_IPA_CFG] = &qhs_ipa,
163462306a36Sopenharmony_ci	[SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router,
163562306a36Sopenharmony_ci	[SLAVE_LPASS] = &qhs_lpass_cfg,
163662306a36Sopenharmony_ci	[SLAVE_CNOC_MSS] = &qhs_mss_cfg,
163762306a36Sopenharmony_ci	[SLAVE_MX_RDPM] = &qhs_mx_rdpm,
163862306a36Sopenharmony_ci	[SLAVE_PCIE_0_CFG] = &qhs_pcie0_cfg,
163962306a36Sopenharmony_ci	[SLAVE_PCIE_1_CFG] = &qhs_pcie1_cfg,
164062306a36Sopenharmony_ci	[SLAVE_PDM] = &qhs_pdm,
164162306a36Sopenharmony_ci	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
164262306a36Sopenharmony_ci	[SLAVE_PRNG] = &qhs_prng,
164362306a36Sopenharmony_ci	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
164462306a36Sopenharmony_ci	[SLAVE_QSPI_0] = &qhs_qspi,
164562306a36Sopenharmony_ci	[SLAVE_QUP_0] = &qhs_qup0,
164662306a36Sopenharmony_ci	[SLAVE_QUP_1] = &qhs_qup1,
164762306a36Sopenharmony_ci	[SLAVE_QUP_2] = &qhs_qup2,
164862306a36Sopenharmony_ci	[SLAVE_SDCC_2] = &qhs_sdc2,
164962306a36Sopenharmony_ci	[SLAVE_SDCC_4] = &qhs_sdc4,
165062306a36Sopenharmony_ci	[SLAVE_SPSS_CFG] = &qhs_spss_cfg,
165162306a36Sopenharmony_ci	[SLAVE_TCSR] = &qhs_tcsr,
165262306a36Sopenharmony_ci	[SLAVE_TLMM] = &qhs_tlmm,
165362306a36Sopenharmony_ci	[SLAVE_TME_CFG] = &qhs_tme_cfg,
165462306a36Sopenharmony_ci	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
165562306a36Sopenharmony_ci	[SLAVE_USB3_0] = &qhs_usb3_0,
165662306a36Sopenharmony_ci	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
165762306a36Sopenharmony_ci	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
165862306a36Sopenharmony_ci	[SLAVE_A1NOC_CFG] = &qns_a1_noc_cfg,
165962306a36Sopenharmony_ci	[SLAVE_A2NOC_CFG] = &qns_a2_noc_cfg,
166062306a36Sopenharmony_ci	[SLAVE_DDRSS_CFG] = &qns_ddrss_cfg,
166162306a36Sopenharmony_ci	[SLAVE_CNOC_MNOC_CFG] = &qns_mnoc_cfg,
166262306a36Sopenharmony_ci	[SLAVE_PCIE_ANOC_CFG] = &qns_pcie_anoc_cfg,
166362306a36Sopenharmony_ci	[SLAVE_SNOC_CFG] = &qns_snoc_cfg,
166462306a36Sopenharmony_ci	[SLAVE_IMEM] = &qxs_imem,
166562306a36Sopenharmony_ci	[SLAVE_PIMEM] = &qxs_pimem,
166662306a36Sopenharmony_ci	[SLAVE_SERVICE_CNOC] = &srvc_cnoc,
166762306a36Sopenharmony_ci	[SLAVE_PCIE_0] = &xs_pcie_0,
166862306a36Sopenharmony_ci	[SLAVE_PCIE_1] = &xs_pcie_1,
166962306a36Sopenharmony_ci	[SLAVE_QDSS_STM] = &xs_qdss_stm,
167062306a36Sopenharmony_ci	[SLAVE_TCU] = &xs_sys_tcu_cfg,
167162306a36Sopenharmony_ci};
167262306a36Sopenharmony_ci
167362306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_config_noc = {
167462306a36Sopenharmony_ci	.nodes = config_noc_nodes,
167562306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(config_noc_nodes),
167662306a36Sopenharmony_ci	.bcms = config_noc_bcms,
167762306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(config_noc_bcms),
167862306a36Sopenharmony_ci};
167962306a36Sopenharmony_ci
168062306a36Sopenharmony_cistatic struct qcom_icc_bcm * const gem_noc_bcms[] = {
168162306a36Sopenharmony_ci	&bcm_sh0,
168262306a36Sopenharmony_ci	&bcm_sh1,
168362306a36Sopenharmony_ci	&bcm_sh0_disp,
168462306a36Sopenharmony_ci	&bcm_sh1_disp,
168562306a36Sopenharmony_ci};
168662306a36Sopenharmony_ci
168762306a36Sopenharmony_cistatic struct qcom_icc_node * const gem_noc_nodes[] = {
168862306a36Sopenharmony_ci	[MASTER_GPU_TCU] = &alm_gpu_tcu,
168962306a36Sopenharmony_ci	[MASTER_SYS_TCU] = &alm_sys_tcu,
169062306a36Sopenharmony_ci	[MASTER_APPSS_PROC] = &chm_apps,
169162306a36Sopenharmony_ci	[MASTER_GFX3D] = &qnm_gpu,
169262306a36Sopenharmony_ci	[MASTER_MSS_PROC] = &qnm_mdsp,
169362306a36Sopenharmony_ci	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
169462306a36Sopenharmony_ci	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
169562306a36Sopenharmony_ci	[MASTER_COMPUTE_NOC] = &qnm_nsp_gemnoc,
169662306a36Sopenharmony_ci	[MASTER_ANOC_PCIE_GEM_NOC] = &qnm_pcie,
169762306a36Sopenharmony_ci	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
169862306a36Sopenharmony_ci	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
169962306a36Sopenharmony_ci	[SLAVE_GEM_NOC_CNOC] = &qns_gem_noc_cnoc,
170062306a36Sopenharmony_ci	[SLAVE_LLCC] = &qns_llcc,
170162306a36Sopenharmony_ci	[SLAVE_MEM_NOC_PCIE_SNOC] = &qns_pcie,
170262306a36Sopenharmony_ci	[MASTER_MNOC_HF_MEM_NOC_DISP] = &qnm_mnoc_hf_disp,
170362306a36Sopenharmony_ci	[MASTER_MNOC_SF_MEM_NOC_DISP] = &qnm_mnoc_sf_disp,
170462306a36Sopenharmony_ci	[MASTER_ANOC_PCIE_GEM_NOC_DISP] = &qnm_pcie_disp,
170562306a36Sopenharmony_ci	[SLAVE_LLCC_DISP] = &qns_llcc_disp,
170662306a36Sopenharmony_ci};
170762306a36Sopenharmony_ci
170862306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_gem_noc = {
170962306a36Sopenharmony_ci	.nodes = gem_noc_nodes,
171062306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(gem_noc_nodes),
171162306a36Sopenharmony_ci	.bcms = gem_noc_bcms,
171262306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(gem_noc_bcms),
171362306a36Sopenharmony_ci};
171462306a36Sopenharmony_ci
171562306a36Sopenharmony_cistatic struct qcom_icc_bcm * const lpass_ag_noc_bcms[] = {
171662306a36Sopenharmony_ci};
171762306a36Sopenharmony_ci
171862306a36Sopenharmony_cistatic struct qcom_icc_node * const lpass_ag_noc_nodes[] = {
171962306a36Sopenharmony_ci	[MASTER_CNOC_LPASS_AG_NOC] = &qhm_config_noc,
172062306a36Sopenharmony_ci	[MASTER_LPASS_PROC] = &qxm_lpass_dsp,
172162306a36Sopenharmony_ci	[SLAVE_LPASS_CORE_CFG] = &qhs_lpass_core,
172262306a36Sopenharmony_ci	[SLAVE_LPASS_LPI_CFG] = &qhs_lpass_lpi,
172362306a36Sopenharmony_ci	[SLAVE_LPASS_MPU_CFG] = &qhs_lpass_mpu,
172462306a36Sopenharmony_ci	[SLAVE_LPASS_TOP_CFG] = &qhs_lpass_top,
172562306a36Sopenharmony_ci	[SLAVE_LPASS_SNOC] = &qns_sysnoc,
172662306a36Sopenharmony_ci	[SLAVE_SERVICES_LPASS_AML_NOC] = &srvc_niu_aml_noc,
172762306a36Sopenharmony_ci	[SLAVE_SERVICE_LPASS_AG_NOC] = &srvc_niu_lpass_agnoc,
172862306a36Sopenharmony_ci};
172962306a36Sopenharmony_ci
173062306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_lpass_ag_noc = {
173162306a36Sopenharmony_ci	.nodes = lpass_ag_noc_nodes,
173262306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(lpass_ag_noc_nodes),
173362306a36Sopenharmony_ci	.bcms = lpass_ag_noc_bcms,
173462306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(lpass_ag_noc_bcms),
173562306a36Sopenharmony_ci};
173662306a36Sopenharmony_ci
173762306a36Sopenharmony_cistatic struct qcom_icc_bcm * const mc_virt_bcms[] = {
173862306a36Sopenharmony_ci	&bcm_acv,
173962306a36Sopenharmony_ci	&bcm_mc0,
174062306a36Sopenharmony_ci	&bcm_acv_disp,
174162306a36Sopenharmony_ci	&bcm_mc0_disp,
174262306a36Sopenharmony_ci};
174362306a36Sopenharmony_ci
174462306a36Sopenharmony_cistatic struct qcom_icc_node * const mc_virt_nodes[] = {
174562306a36Sopenharmony_ci	[MASTER_LLCC] = &llcc_mc,
174662306a36Sopenharmony_ci	[SLAVE_EBI1] = &ebi,
174762306a36Sopenharmony_ci	[MASTER_LLCC_DISP] = &llcc_mc_disp,
174862306a36Sopenharmony_ci	[SLAVE_EBI1_DISP] = &ebi_disp,
174962306a36Sopenharmony_ci};
175062306a36Sopenharmony_ci
175162306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_mc_virt = {
175262306a36Sopenharmony_ci	.nodes = mc_virt_nodes,
175362306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(mc_virt_nodes),
175462306a36Sopenharmony_ci	.bcms = mc_virt_bcms,
175562306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(mc_virt_bcms),
175662306a36Sopenharmony_ci};
175762306a36Sopenharmony_ci
175862306a36Sopenharmony_cistatic struct qcom_icc_bcm * const mmss_noc_bcms[] = {
175962306a36Sopenharmony_ci	&bcm_mm0,
176062306a36Sopenharmony_ci	&bcm_mm1,
176162306a36Sopenharmony_ci	&bcm_mm0_disp,
176262306a36Sopenharmony_ci	&bcm_mm1_disp,
176362306a36Sopenharmony_ci};
176462306a36Sopenharmony_ci
176562306a36Sopenharmony_cistatic struct qcom_icc_node * const mmss_noc_nodes[] = {
176662306a36Sopenharmony_ci	[MASTER_CAMNOC_HF] = &qnm_camnoc_hf,
176762306a36Sopenharmony_ci	[MASTER_CAMNOC_ICP] = &qnm_camnoc_icp,
176862306a36Sopenharmony_ci	[MASTER_CAMNOC_SF] = &qnm_camnoc_sf,
176962306a36Sopenharmony_ci	[MASTER_MDP] = &qnm_mdp,
177062306a36Sopenharmony_ci	[MASTER_CNOC_MNOC_CFG] = &qnm_mnoc_cfg,
177162306a36Sopenharmony_ci	[MASTER_ROTATOR] = &qnm_rot,
177262306a36Sopenharmony_ci	[MASTER_CDSP_HCP] = &qnm_vapss_hcp,
177362306a36Sopenharmony_ci	[MASTER_VIDEO] = &qnm_video,
177462306a36Sopenharmony_ci	[MASTER_VIDEO_CV_PROC] = &qnm_video_cv_cpu,
177562306a36Sopenharmony_ci	[MASTER_VIDEO_PROC] = &qnm_video_cvp,
177662306a36Sopenharmony_ci	[MASTER_VIDEO_V_PROC] = &qnm_video_v_cpu,
177762306a36Sopenharmony_ci	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
177862306a36Sopenharmony_ci	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
177962306a36Sopenharmony_ci	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
178062306a36Sopenharmony_ci	[MASTER_MDP_DISP] = &qnm_mdp_disp,
178162306a36Sopenharmony_ci	[MASTER_ROTATOR_DISP] = &qnm_rot_disp,
178262306a36Sopenharmony_ci	[SLAVE_MNOC_HF_MEM_NOC_DISP] = &qns_mem_noc_hf_disp,
178362306a36Sopenharmony_ci	[SLAVE_MNOC_SF_MEM_NOC_DISP] = &qns_mem_noc_sf_disp,
178462306a36Sopenharmony_ci};
178562306a36Sopenharmony_ci
178662306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_mmss_noc = {
178762306a36Sopenharmony_ci	.nodes = mmss_noc_nodes,
178862306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
178962306a36Sopenharmony_ci	.bcms = mmss_noc_bcms,
179062306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
179162306a36Sopenharmony_ci};
179262306a36Sopenharmony_ci
179362306a36Sopenharmony_cistatic struct qcom_icc_bcm * const nsp_noc_bcms[] = {
179462306a36Sopenharmony_ci	&bcm_co0,
179562306a36Sopenharmony_ci};
179662306a36Sopenharmony_ci
179762306a36Sopenharmony_cistatic struct qcom_icc_node * const nsp_noc_nodes[] = {
179862306a36Sopenharmony_ci	[MASTER_CDSP_NOC_CFG] = &qhm_nsp_noc_config,
179962306a36Sopenharmony_ci	[MASTER_CDSP_PROC] = &qxm_nsp,
180062306a36Sopenharmony_ci	[SLAVE_CDSP_MEM_NOC] = &qns_nsp_gemnoc,
180162306a36Sopenharmony_ci	[SLAVE_SERVICE_NSP_NOC] = &service_nsp_noc,
180262306a36Sopenharmony_ci};
180362306a36Sopenharmony_ci
180462306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_nsp_noc = {
180562306a36Sopenharmony_ci	.nodes = nsp_noc_nodes,
180662306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(nsp_noc_nodes),
180762306a36Sopenharmony_ci	.bcms = nsp_noc_bcms,
180862306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(nsp_noc_bcms),
180962306a36Sopenharmony_ci};
181062306a36Sopenharmony_ci
181162306a36Sopenharmony_cistatic struct qcom_icc_bcm * const pcie_anoc_bcms[] = {
181262306a36Sopenharmony_ci	&bcm_sn7,
181362306a36Sopenharmony_ci};
181462306a36Sopenharmony_ci
181562306a36Sopenharmony_cistatic struct qcom_icc_node * const pcie_anoc_nodes[] = {
181662306a36Sopenharmony_ci	[MASTER_PCIE_ANOC_CFG] = &qnm_pcie_anoc_cfg,
181762306a36Sopenharmony_ci	[MASTER_PCIE_0] = &xm_pcie3_0,
181862306a36Sopenharmony_ci	[MASTER_PCIE_1] = &xm_pcie3_1,
181962306a36Sopenharmony_ci	[SLAVE_ANOC_PCIE_GEM_NOC] = &qns_pcie_mem_noc,
182062306a36Sopenharmony_ci	[SLAVE_SERVICE_PCIE_ANOC] = &srvc_pcie_aggre_noc,
182162306a36Sopenharmony_ci};
182262306a36Sopenharmony_ci
182362306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_pcie_anoc = {
182462306a36Sopenharmony_ci	.nodes = pcie_anoc_nodes,
182562306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(pcie_anoc_nodes),
182662306a36Sopenharmony_ci	.bcms = pcie_anoc_bcms,
182762306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(pcie_anoc_bcms),
182862306a36Sopenharmony_ci};
182962306a36Sopenharmony_ci
183062306a36Sopenharmony_cistatic struct qcom_icc_bcm * const system_noc_bcms[] = {
183162306a36Sopenharmony_ci	&bcm_sn0,
183262306a36Sopenharmony_ci	&bcm_sn1,
183362306a36Sopenharmony_ci	&bcm_sn2,
183462306a36Sopenharmony_ci	&bcm_sn3,
183562306a36Sopenharmony_ci	&bcm_sn4,
183662306a36Sopenharmony_ci};
183762306a36Sopenharmony_ci
183862306a36Sopenharmony_cistatic struct qcom_icc_node * const system_noc_nodes[] = {
183962306a36Sopenharmony_ci	[MASTER_GIC_AHB] = &qhm_gic,
184062306a36Sopenharmony_ci	[MASTER_A1NOC_SNOC] = &qnm_aggre1_noc,
184162306a36Sopenharmony_ci	[MASTER_A2NOC_SNOC] = &qnm_aggre2_noc,
184262306a36Sopenharmony_ci	[MASTER_LPASS_ANOC] = &qnm_lpass_noc,
184362306a36Sopenharmony_ci	[MASTER_SNOC_CFG] = &qnm_snoc_cfg,
184462306a36Sopenharmony_ci	[MASTER_PIMEM] = &qxm_pimem,
184562306a36Sopenharmony_ci	[MASTER_GIC] = &xm_gic,
184662306a36Sopenharmony_ci	[SLAVE_SNOC_GEM_NOC_GC] = &qns_gemnoc_gc,
184762306a36Sopenharmony_ci	[SLAVE_SNOC_GEM_NOC_SF] = &qns_gemnoc_sf,
184862306a36Sopenharmony_ci	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
184962306a36Sopenharmony_ci};
185062306a36Sopenharmony_ci
185162306a36Sopenharmony_cistatic const struct qcom_icc_desc sm8450_system_noc = {
185262306a36Sopenharmony_ci	.nodes = system_noc_nodes,
185362306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(system_noc_nodes),
185462306a36Sopenharmony_ci	.bcms = system_noc_bcms,
185562306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(system_noc_bcms),
185662306a36Sopenharmony_ci};
185762306a36Sopenharmony_ci
185862306a36Sopenharmony_cistatic const struct of_device_id qnoc_of_match[] = {
185962306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-aggre1-noc",
186062306a36Sopenharmony_ci	  .data = &sm8450_aggre1_noc},
186162306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-aggre2-noc",
186262306a36Sopenharmony_ci	  .data = &sm8450_aggre2_noc},
186362306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-clk-virt",
186462306a36Sopenharmony_ci	  .data = &sm8450_clk_virt},
186562306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-config-noc",
186662306a36Sopenharmony_ci	  .data = &sm8450_config_noc},
186762306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-gem-noc",
186862306a36Sopenharmony_ci	  .data = &sm8450_gem_noc},
186962306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-lpass-ag-noc",
187062306a36Sopenharmony_ci	  .data = &sm8450_lpass_ag_noc},
187162306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-mc-virt",
187262306a36Sopenharmony_ci	  .data = &sm8450_mc_virt},
187362306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-mmss-noc",
187462306a36Sopenharmony_ci	  .data = &sm8450_mmss_noc},
187562306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-nsp-noc",
187662306a36Sopenharmony_ci	  .data = &sm8450_nsp_noc},
187762306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-pcie-anoc",
187862306a36Sopenharmony_ci	  .data = &sm8450_pcie_anoc},
187962306a36Sopenharmony_ci	{ .compatible = "qcom,sm8450-system-noc",
188062306a36Sopenharmony_ci	  .data = &sm8450_system_noc},
188162306a36Sopenharmony_ci	{ }
188262306a36Sopenharmony_ci};
188362306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, qnoc_of_match);
188462306a36Sopenharmony_ci
188562306a36Sopenharmony_cistatic struct platform_driver qnoc_driver = {
188662306a36Sopenharmony_ci	.probe = qcom_icc_rpmh_probe,
188762306a36Sopenharmony_ci	.remove = qcom_icc_rpmh_remove,
188862306a36Sopenharmony_ci	.driver = {
188962306a36Sopenharmony_ci		.name = "qnoc-sm8450",
189062306a36Sopenharmony_ci		.of_match_table = qnoc_of_match,
189162306a36Sopenharmony_ci		.sync_state = icc_sync_state,
189262306a36Sopenharmony_ci	},
189362306a36Sopenharmony_ci};
189462306a36Sopenharmony_ci
189562306a36Sopenharmony_cistatic int __init qnoc_driver_init(void)
189662306a36Sopenharmony_ci{
189762306a36Sopenharmony_ci	return platform_driver_register(&qnoc_driver);
189862306a36Sopenharmony_ci}
189962306a36Sopenharmony_cicore_initcall(qnoc_driver_init);
190062306a36Sopenharmony_ci
190162306a36Sopenharmony_cistatic void __exit qnoc_driver_exit(void)
190262306a36Sopenharmony_ci{
190362306a36Sopenharmony_ci	platform_driver_unregister(&qnoc_driver);
190462306a36Sopenharmony_ci}
190562306a36Sopenharmony_cimodule_exit(qnoc_driver_exit);
190662306a36Sopenharmony_ci
190762306a36Sopenharmony_ciMODULE_DESCRIPTION("sm8450 NoC driver");
190862306a36Sopenharmony_ciMODULE_LICENSE("GPL v2");
1909