162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2022, The Linux Foundation. All rights reserved.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <linux/device.h>
762306a36Sopenharmony_ci#include <linux/interconnect.h>
862306a36Sopenharmony_ci#include <linux/interconnect-provider.h>
962306a36Sopenharmony_ci#include <linux/mod_devicetable.h>
1062306a36Sopenharmony_ci#include <linux/module.h>
1162306a36Sopenharmony_ci#include <linux/platform_device.h>
1262306a36Sopenharmony_ci#include <dt-bindings/interconnect/qcom,sdm670-rpmh.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include "bcm-voter.h"
1562306a36Sopenharmony_ci#include "icc-rpmh.h"
1662306a36Sopenharmony_ci#include "sdm670.h"
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_cistatic struct qcom_icc_node qhm_a1noc_cfg = {
1962306a36Sopenharmony_ci	.name = "qhm_a1noc_cfg",
2062306a36Sopenharmony_ci	.id = SDM670_MASTER_A1NOC_CFG,
2162306a36Sopenharmony_ci	.channels = 1,
2262306a36Sopenharmony_ci	.buswidth = 4,
2362306a36Sopenharmony_ci	.num_links = 1,
2462306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_A1NOC },
2562306a36Sopenharmony_ci};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup1 = {
2862306a36Sopenharmony_ci	.name = "qhm_qup1",
2962306a36Sopenharmony_ci	.id = SDM670_MASTER_BLSP_1,
3062306a36Sopenharmony_ci	.channels = 1,
3162306a36Sopenharmony_ci	.buswidth = 4,
3262306a36Sopenharmony_ci	.num_links = 1,
3362306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A1NOC_SNOC },
3462306a36Sopenharmony_ci};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cistatic struct qcom_icc_node qhm_tsif = {
3762306a36Sopenharmony_ci	.name = "qhm_tsif",
3862306a36Sopenharmony_ci	.id = SDM670_MASTER_TSIF,
3962306a36Sopenharmony_ci	.channels = 1,
4062306a36Sopenharmony_ci	.buswidth = 4,
4162306a36Sopenharmony_ci	.num_links = 1,
4262306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A1NOC_SNOC },
4362306a36Sopenharmony_ci};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_cistatic struct qcom_icc_node xm_emmc = {
4662306a36Sopenharmony_ci	.name = "xm_emmc",
4762306a36Sopenharmony_ci	.id = SDM670_MASTER_EMMC,
4862306a36Sopenharmony_ci	.channels = 1,
4962306a36Sopenharmony_ci	.buswidth = 8,
5062306a36Sopenharmony_ci	.num_links = 1,
5162306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A1NOC_SNOC },
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cistatic struct qcom_icc_node xm_sdc2 = {
5562306a36Sopenharmony_ci	.name = "xm_sdc2",
5662306a36Sopenharmony_ci	.id = SDM670_MASTER_SDCC_2,
5762306a36Sopenharmony_ci	.channels = 1,
5862306a36Sopenharmony_ci	.buswidth = 8,
5962306a36Sopenharmony_ci	.num_links = 1,
6062306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A1NOC_SNOC },
6162306a36Sopenharmony_ci};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_cistatic struct qcom_icc_node xm_sdc4 = {
6462306a36Sopenharmony_ci	.name = "xm_sdc4",
6562306a36Sopenharmony_ci	.id = SDM670_MASTER_SDCC_4,
6662306a36Sopenharmony_ci	.channels = 1,
6762306a36Sopenharmony_ci	.buswidth = 8,
6862306a36Sopenharmony_ci	.num_links = 1,
6962306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A1NOC_SNOC },
7062306a36Sopenharmony_ci};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_cistatic struct qcom_icc_node xm_ufs_mem = {
7362306a36Sopenharmony_ci	.name = "xm_ufs_mem",
7462306a36Sopenharmony_ci	.id = SDM670_MASTER_UFS_MEM,
7562306a36Sopenharmony_ci	.channels = 1,
7662306a36Sopenharmony_ci	.buswidth = 8,
7762306a36Sopenharmony_ci	.num_links = 1,
7862306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A1NOC_SNOC },
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_cistatic struct qcom_icc_node qhm_a2noc_cfg = {
8262306a36Sopenharmony_ci	.name = "qhm_a2noc_cfg",
8362306a36Sopenharmony_ci	.id = SDM670_MASTER_A2NOC_CFG,
8462306a36Sopenharmony_ci	.channels = 1,
8562306a36Sopenharmony_ci	.buswidth = 4,
8662306a36Sopenharmony_ci	.num_links = 1,
8762306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_A2NOC },
8862306a36Sopenharmony_ci};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qdss_bam = {
9162306a36Sopenharmony_ci	.name = "qhm_qdss_bam",
9262306a36Sopenharmony_ci	.id = SDM670_MASTER_QDSS_BAM,
9362306a36Sopenharmony_ci	.channels = 1,
9462306a36Sopenharmony_ci	.buswidth = 4,
9562306a36Sopenharmony_ci	.num_links = 1,
9662306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_cistatic struct qcom_icc_node qhm_qup2 = {
10062306a36Sopenharmony_ci	.name = "qhm_qup2",
10162306a36Sopenharmony_ci	.id = SDM670_MASTER_BLSP_2,
10262306a36Sopenharmony_ci	.channels = 1,
10362306a36Sopenharmony_ci	.buswidth = 4,
10462306a36Sopenharmony_ci	.num_links = 1,
10562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
10662306a36Sopenharmony_ci};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_cnoc = {
10962306a36Sopenharmony_ci	.name = "qnm_cnoc",
11062306a36Sopenharmony_ci	.id = SDM670_MASTER_CNOC_A2NOC,
11162306a36Sopenharmony_ci	.channels = 1,
11262306a36Sopenharmony_ci	.buswidth = 8,
11362306a36Sopenharmony_ci	.num_links = 1,
11462306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
11562306a36Sopenharmony_ci};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_cistatic struct qcom_icc_node qxm_crypto = {
11862306a36Sopenharmony_ci	.name = "qxm_crypto",
11962306a36Sopenharmony_ci	.id = SDM670_MASTER_CRYPTO_CORE_0,
12062306a36Sopenharmony_ci	.channels = 1,
12162306a36Sopenharmony_ci	.buswidth = 8,
12262306a36Sopenharmony_ci	.num_links = 1,
12362306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
12462306a36Sopenharmony_ci};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_cistatic struct qcom_icc_node qxm_ipa = {
12762306a36Sopenharmony_ci	.name = "qxm_ipa",
12862306a36Sopenharmony_ci	.id = SDM670_MASTER_IPA,
12962306a36Sopenharmony_ci	.channels = 1,
13062306a36Sopenharmony_ci	.buswidth = 8,
13162306a36Sopenharmony_ci	.num_links = 1,
13262306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
13362306a36Sopenharmony_ci};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_cistatic struct qcom_icc_node xm_qdss_etr = {
13662306a36Sopenharmony_ci	.name = "xm_qdss_etr",
13762306a36Sopenharmony_ci	.id = SDM670_MASTER_QDSS_ETR,
13862306a36Sopenharmony_ci	.channels = 1,
13962306a36Sopenharmony_ci	.buswidth = 8,
14062306a36Sopenharmony_ci	.num_links = 1,
14162306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
14262306a36Sopenharmony_ci};
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_cistatic struct qcom_icc_node xm_usb3_0 = {
14562306a36Sopenharmony_ci	.name = "xm_usb3_0",
14662306a36Sopenharmony_ci	.id = SDM670_MASTER_USB3,
14762306a36Sopenharmony_ci	.channels = 1,
14862306a36Sopenharmony_ci	.buswidth = 8,
14962306a36Sopenharmony_ci	.num_links = 1,
15062306a36Sopenharmony_ci	.links = { SDM670_SLAVE_A2NOC_SNOC },
15162306a36Sopenharmony_ci};
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_cistatic struct qcom_icc_node qxm_camnoc_hf0_uncomp = {
15462306a36Sopenharmony_ci	.name = "qxm_camnoc_hf0_uncomp",
15562306a36Sopenharmony_ci	.id = SDM670_MASTER_CAMNOC_HF0_UNCOMP,
15662306a36Sopenharmony_ci	.channels = 1,
15762306a36Sopenharmony_ci	.buswidth = 32,
15862306a36Sopenharmony_ci	.num_links = 1,
15962306a36Sopenharmony_ci	.links = { SDM670_SLAVE_CAMNOC_UNCOMP },
16062306a36Sopenharmony_ci};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_cistatic struct qcom_icc_node qxm_camnoc_hf1_uncomp = {
16362306a36Sopenharmony_ci	.name = "qxm_camnoc_hf1_uncomp",
16462306a36Sopenharmony_ci	.id = SDM670_MASTER_CAMNOC_HF1_UNCOMP,
16562306a36Sopenharmony_ci	.channels = 1,
16662306a36Sopenharmony_ci	.buswidth = 32,
16762306a36Sopenharmony_ci	.num_links = 1,
16862306a36Sopenharmony_ci	.links = { SDM670_SLAVE_CAMNOC_UNCOMP },
16962306a36Sopenharmony_ci};
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_cistatic struct qcom_icc_node qxm_camnoc_sf_uncomp = {
17262306a36Sopenharmony_ci	.name = "qxm_camnoc_sf_uncomp",
17362306a36Sopenharmony_ci	.id = SDM670_MASTER_CAMNOC_SF_UNCOMP,
17462306a36Sopenharmony_ci	.channels = 1,
17562306a36Sopenharmony_ci	.buswidth = 32,
17662306a36Sopenharmony_ci	.num_links = 1,
17762306a36Sopenharmony_ci	.links = { SDM670_SLAVE_CAMNOC_UNCOMP },
17862306a36Sopenharmony_ci};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_cistatic struct qcom_icc_node qhm_spdm = {
18162306a36Sopenharmony_ci	.name = "qhm_spdm",
18262306a36Sopenharmony_ci	.id = SDM670_MASTER_SPDM,
18362306a36Sopenharmony_ci	.channels = 1,
18462306a36Sopenharmony_ci	.buswidth = 4,
18562306a36Sopenharmony_ci	.num_links = 1,
18662306a36Sopenharmony_ci	.links = { SDM670_SLAVE_CNOC_A2NOC },
18762306a36Sopenharmony_ci};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc = {
19062306a36Sopenharmony_ci	.name = "qnm_snoc",
19162306a36Sopenharmony_ci	.id = SDM670_MASTER_SNOC_CNOC,
19262306a36Sopenharmony_ci	.channels = 1,
19362306a36Sopenharmony_ci	.buswidth = 8,
19462306a36Sopenharmony_ci	.num_links = 38,
19562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_TLMM_SOUTH,
19662306a36Sopenharmony_ci		   SDM670_SLAVE_CAMERA_CFG,
19762306a36Sopenharmony_ci		   SDM670_SLAVE_SDCC_4,
19862306a36Sopenharmony_ci		   SDM670_SLAVE_SDCC_2,
19962306a36Sopenharmony_ci		   SDM670_SLAVE_CNOC_MNOC_CFG,
20062306a36Sopenharmony_ci		   SDM670_SLAVE_UFS_MEM_CFG,
20162306a36Sopenharmony_ci		   SDM670_SLAVE_GLM,
20262306a36Sopenharmony_ci		   SDM670_SLAVE_PDM,
20362306a36Sopenharmony_ci		   SDM670_SLAVE_A2NOC_CFG,
20462306a36Sopenharmony_ci		   SDM670_SLAVE_QDSS_CFG,
20562306a36Sopenharmony_ci		   SDM670_SLAVE_DISPLAY_CFG,
20662306a36Sopenharmony_ci		   SDM670_SLAVE_TCSR,
20762306a36Sopenharmony_ci		   SDM670_SLAVE_DCC_CFG,
20862306a36Sopenharmony_ci		   SDM670_SLAVE_CNOC_DDRSS,
20962306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_CFG,
21062306a36Sopenharmony_ci		   SDM670_SLAVE_SOUTH_PHY_CFG,
21162306a36Sopenharmony_ci		   SDM670_SLAVE_GRAPHICS_3D_CFG,
21262306a36Sopenharmony_ci		   SDM670_SLAVE_VENUS_CFG,
21362306a36Sopenharmony_ci		   SDM670_SLAVE_TSIF,
21462306a36Sopenharmony_ci		   SDM670_SLAVE_CDSP_CFG,
21562306a36Sopenharmony_ci		   SDM670_SLAVE_AOP,
21662306a36Sopenharmony_ci		   SDM670_SLAVE_BLSP_2,
21762306a36Sopenharmony_ci		   SDM670_SLAVE_SERVICE_CNOC,
21862306a36Sopenharmony_ci		   SDM670_SLAVE_USB3,
21962306a36Sopenharmony_ci		   SDM670_SLAVE_IPA_CFG,
22062306a36Sopenharmony_ci		   SDM670_SLAVE_RBCPR_CX_CFG,
22162306a36Sopenharmony_ci		   SDM670_SLAVE_A1NOC_CFG,
22262306a36Sopenharmony_ci		   SDM670_SLAVE_AOSS,
22362306a36Sopenharmony_ci		   SDM670_SLAVE_PRNG,
22462306a36Sopenharmony_ci		   SDM670_SLAVE_VSENSE_CTRL_CFG,
22562306a36Sopenharmony_ci		   SDM670_SLAVE_EMMC_CFG,
22662306a36Sopenharmony_ci		   SDM670_SLAVE_BLSP_1,
22762306a36Sopenharmony_ci		   SDM670_SLAVE_SPDM_WRAPPER,
22862306a36Sopenharmony_ci		   SDM670_SLAVE_CRYPTO_0_CFG,
22962306a36Sopenharmony_ci		   SDM670_SLAVE_PIMEM_CFG,
23062306a36Sopenharmony_ci		   SDM670_SLAVE_TLMM_NORTH,
23162306a36Sopenharmony_ci		   SDM670_SLAVE_CLK_CTL,
23262306a36Sopenharmony_ci		   SDM670_SLAVE_IMEM_CFG
23362306a36Sopenharmony_ci	},
23462306a36Sopenharmony_ci};
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_cistatic struct qcom_icc_node qhm_cnoc = {
23762306a36Sopenharmony_ci	.name = "qhm_cnoc",
23862306a36Sopenharmony_ci	.id = SDM670_MASTER_CNOC_DC_NOC,
23962306a36Sopenharmony_ci	.channels = 1,
24062306a36Sopenharmony_ci	.buswidth = 4,
24162306a36Sopenharmony_ci	.num_links = 2,
24262306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MEM_NOC_CFG,
24362306a36Sopenharmony_ci		   SDM670_SLAVE_LLCC_CFG
24462306a36Sopenharmony_ci	},
24562306a36Sopenharmony_ci};
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_cistatic struct qcom_icc_node acm_l3 = {
24862306a36Sopenharmony_ci	.name = "acm_l3",
24962306a36Sopenharmony_ci	.id = SDM670_MASTER_AMPSS_M0,
25062306a36Sopenharmony_ci	.channels = 1,
25162306a36Sopenharmony_ci	.buswidth = 16,
25262306a36Sopenharmony_ci	.num_links = 3,
25362306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_GNOC,
25462306a36Sopenharmony_ci		   SDM670_SLAVE_GNOC_SNOC,
25562306a36Sopenharmony_ci		   SDM670_SLAVE_GNOC_MEM_NOC
25662306a36Sopenharmony_ci	},
25762306a36Sopenharmony_ci};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_cistatic struct qcom_icc_node pm_gnoc_cfg = {
26062306a36Sopenharmony_ci	.name = "pm_gnoc_cfg",
26162306a36Sopenharmony_ci	.id = SDM670_MASTER_GNOC_CFG,
26262306a36Sopenharmony_ci	.channels = 1,
26362306a36Sopenharmony_ci	.buswidth = 4,
26462306a36Sopenharmony_ci	.num_links = 1,
26562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_GNOC },
26662306a36Sopenharmony_ci};
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_cistatic struct qcom_icc_node llcc_mc = {
26962306a36Sopenharmony_ci	.name = "llcc_mc",
27062306a36Sopenharmony_ci	.id = SDM670_MASTER_LLCC,
27162306a36Sopenharmony_ci	.channels = 2,
27262306a36Sopenharmony_ci	.buswidth = 4,
27362306a36Sopenharmony_ci	.num_links = 1,
27462306a36Sopenharmony_ci	.links = { SDM670_SLAVE_EBI_CH0 },
27562306a36Sopenharmony_ci};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_cistatic struct qcom_icc_node acm_tcu = {
27862306a36Sopenharmony_ci	.name = "acm_tcu",
27962306a36Sopenharmony_ci	.id = SDM670_MASTER_TCU_0,
28062306a36Sopenharmony_ci	.channels = 1,
28162306a36Sopenharmony_ci	.buswidth = 8,
28262306a36Sopenharmony_ci	.num_links = 3,
28362306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MEM_NOC_GNOC,
28462306a36Sopenharmony_ci		   SDM670_SLAVE_LLCC,
28562306a36Sopenharmony_ci		   SDM670_SLAVE_MEM_NOC_SNOC
28662306a36Sopenharmony_ci	},
28762306a36Sopenharmony_ci};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_cistatic struct qcom_icc_node qhm_memnoc_cfg = {
29062306a36Sopenharmony_ci	.name = "qhm_memnoc_cfg",
29162306a36Sopenharmony_ci	.id = SDM670_MASTER_MEM_NOC_CFG,
29262306a36Sopenharmony_ci	.channels = 1,
29362306a36Sopenharmony_ci	.buswidth = 4,
29462306a36Sopenharmony_ci	.num_links = 2,
29562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_MEM_NOC,
29662306a36Sopenharmony_ci		   SDM670_SLAVE_MSS_PROC_MS_MPU_CFG
29762306a36Sopenharmony_ci	},
29862306a36Sopenharmony_ci};
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_cistatic struct qcom_icc_node qnm_apps = {
30162306a36Sopenharmony_ci	.name = "qnm_apps",
30262306a36Sopenharmony_ci	.id = SDM670_MASTER_GNOC_MEM_NOC,
30362306a36Sopenharmony_ci	.channels = 2,
30462306a36Sopenharmony_ci	.buswidth = 32,
30562306a36Sopenharmony_ci	.num_links = 1,
30662306a36Sopenharmony_ci	.links = { SDM670_SLAVE_LLCC },
30762306a36Sopenharmony_ci};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_hf = {
31062306a36Sopenharmony_ci	.name = "qnm_mnoc_hf",
31162306a36Sopenharmony_ci	.id = SDM670_MASTER_MNOC_HF_MEM_NOC,
31262306a36Sopenharmony_ci	.channels = 2,
31362306a36Sopenharmony_ci	.buswidth = 32,
31462306a36Sopenharmony_ci	.num_links = 1,
31562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_LLCC },
31662306a36Sopenharmony_ci};
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_cistatic struct qcom_icc_node qnm_mnoc_sf = {
31962306a36Sopenharmony_ci	.name = "qnm_mnoc_sf",
32062306a36Sopenharmony_ci	.id = SDM670_MASTER_MNOC_SF_MEM_NOC,
32162306a36Sopenharmony_ci	.channels = 1,
32262306a36Sopenharmony_ci	.buswidth = 32,
32362306a36Sopenharmony_ci	.num_links = 3,
32462306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MEM_NOC_GNOC,
32562306a36Sopenharmony_ci		   SDM670_SLAVE_LLCC,
32662306a36Sopenharmony_ci		   SDM670_SLAVE_MEM_NOC_SNOC
32762306a36Sopenharmony_ci	},
32862306a36Sopenharmony_ci};
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_gc = {
33162306a36Sopenharmony_ci	.name = "qnm_snoc_gc",
33262306a36Sopenharmony_ci	.id = SDM670_MASTER_SNOC_GC_MEM_NOC,
33362306a36Sopenharmony_ci	.channels = 1,
33462306a36Sopenharmony_ci	.buswidth = 8,
33562306a36Sopenharmony_ci	.num_links = 1,
33662306a36Sopenharmony_ci	.links = { SDM670_SLAVE_LLCC },
33762306a36Sopenharmony_ci};
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_cistatic struct qcom_icc_node qnm_snoc_sf = {
34062306a36Sopenharmony_ci	.name = "qnm_snoc_sf",
34162306a36Sopenharmony_ci	.id = SDM670_MASTER_SNOC_SF_MEM_NOC,
34262306a36Sopenharmony_ci	.channels = 1,
34362306a36Sopenharmony_ci	.buswidth = 16,
34462306a36Sopenharmony_ci	.num_links = 2,
34562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MEM_NOC_GNOC,
34662306a36Sopenharmony_ci		   SDM670_SLAVE_LLCC
34762306a36Sopenharmony_ci	},
34862306a36Sopenharmony_ci};
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_cistatic struct qcom_icc_node qxm_gpu = {
35162306a36Sopenharmony_ci	.name = "qxm_gpu",
35262306a36Sopenharmony_ci	.id = SDM670_MASTER_GRAPHICS_3D,
35362306a36Sopenharmony_ci	.channels = 2,
35462306a36Sopenharmony_ci	.buswidth = 32,
35562306a36Sopenharmony_ci	.num_links = 3,
35662306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MEM_NOC_GNOC,
35762306a36Sopenharmony_ci		   SDM670_SLAVE_LLCC,
35862306a36Sopenharmony_ci		   SDM670_SLAVE_MEM_NOC_SNOC
35962306a36Sopenharmony_ci	},
36062306a36Sopenharmony_ci};
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_cistatic struct qcom_icc_node qhm_mnoc_cfg = {
36362306a36Sopenharmony_ci	.name = "qhm_mnoc_cfg",
36462306a36Sopenharmony_ci	.id = SDM670_MASTER_CNOC_MNOC_CFG,
36562306a36Sopenharmony_ci	.channels = 1,
36662306a36Sopenharmony_ci	.buswidth = 4,
36762306a36Sopenharmony_ci	.num_links = 1,
36862306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_MNOC },
36962306a36Sopenharmony_ci};
37062306a36Sopenharmony_ci
37162306a36Sopenharmony_cistatic struct qcom_icc_node qxm_camnoc_hf0 = {
37262306a36Sopenharmony_ci	.name = "qxm_camnoc_hf0",
37362306a36Sopenharmony_ci	.id = SDM670_MASTER_CAMNOC_HF0,
37462306a36Sopenharmony_ci	.channels = 1,
37562306a36Sopenharmony_ci	.buswidth = 32,
37662306a36Sopenharmony_ci	.num_links = 1,
37762306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_HF_MEM_NOC },
37862306a36Sopenharmony_ci};
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_cistatic struct qcom_icc_node qxm_camnoc_hf1 = {
38162306a36Sopenharmony_ci	.name = "qxm_camnoc_hf1",
38262306a36Sopenharmony_ci	.id = SDM670_MASTER_CAMNOC_HF1,
38362306a36Sopenharmony_ci	.channels = 1,
38462306a36Sopenharmony_ci	.buswidth = 32,
38562306a36Sopenharmony_ci	.num_links = 1,
38662306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_HF_MEM_NOC },
38762306a36Sopenharmony_ci};
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_cistatic struct qcom_icc_node qxm_camnoc_sf = {
39062306a36Sopenharmony_ci	.name = "qxm_camnoc_sf",
39162306a36Sopenharmony_ci	.id = SDM670_MASTER_CAMNOC_SF,
39262306a36Sopenharmony_ci	.channels = 1,
39362306a36Sopenharmony_ci	.buswidth = 32,
39462306a36Sopenharmony_ci	.num_links = 1,
39562306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_SF_MEM_NOC },
39662306a36Sopenharmony_ci};
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_cistatic struct qcom_icc_node qxm_mdp0 = {
39962306a36Sopenharmony_ci	.name = "qxm_mdp0",
40062306a36Sopenharmony_ci	.id = SDM670_MASTER_MDP_PORT0,
40162306a36Sopenharmony_ci	.channels = 1,
40262306a36Sopenharmony_ci	.buswidth = 32,
40362306a36Sopenharmony_ci	.num_links = 1,
40462306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_HF_MEM_NOC },
40562306a36Sopenharmony_ci};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_cistatic struct qcom_icc_node qxm_mdp1 = {
40862306a36Sopenharmony_ci	.name = "qxm_mdp1",
40962306a36Sopenharmony_ci	.id = SDM670_MASTER_MDP_PORT1,
41062306a36Sopenharmony_ci	.channels = 1,
41162306a36Sopenharmony_ci	.buswidth = 32,
41262306a36Sopenharmony_ci	.num_links = 1,
41362306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_HF_MEM_NOC },
41462306a36Sopenharmony_ci};
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_cistatic struct qcom_icc_node qxm_rot = {
41762306a36Sopenharmony_ci	.name = "qxm_rot",
41862306a36Sopenharmony_ci	.id = SDM670_MASTER_ROTATOR,
41962306a36Sopenharmony_ci	.channels = 1,
42062306a36Sopenharmony_ci	.buswidth = 32,
42162306a36Sopenharmony_ci	.num_links = 1,
42262306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_SF_MEM_NOC },
42362306a36Sopenharmony_ci};
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_cistatic struct qcom_icc_node qxm_venus0 = {
42662306a36Sopenharmony_ci	.name = "qxm_venus0",
42762306a36Sopenharmony_ci	.id = SDM670_MASTER_VIDEO_P0,
42862306a36Sopenharmony_ci	.channels = 1,
42962306a36Sopenharmony_ci	.buswidth = 32,
43062306a36Sopenharmony_ci	.num_links = 1,
43162306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_SF_MEM_NOC },
43262306a36Sopenharmony_ci};
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_cistatic struct qcom_icc_node qxm_venus1 = {
43562306a36Sopenharmony_ci	.name = "qxm_venus1",
43662306a36Sopenharmony_ci	.id = SDM670_MASTER_VIDEO_P1,
43762306a36Sopenharmony_ci	.channels = 1,
43862306a36Sopenharmony_ci	.buswidth = 32,
43962306a36Sopenharmony_ci	.num_links = 1,
44062306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_SF_MEM_NOC },
44162306a36Sopenharmony_ci};
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_cistatic struct qcom_icc_node qxm_venus_arm9 = {
44462306a36Sopenharmony_ci	.name = "qxm_venus_arm9",
44562306a36Sopenharmony_ci	.id = SDM670_MASTER_VIDEO_PROC,
44662306a36Sopenharmony_ci	.channels = 1,
44762306a36Sopenharmony_ci	.buswidth = 8,
44862306a36Sopenharmony_ci	.num_links = 1,
44962306a36Sopenharmony_ci	.links = { SDM670_SLAVE_MNOC_SF_MEM_NOC },
45062306a36Sopenharmony_ci};
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_cistatic struct qcom_icc_node qhm_snoc_cfg = {
45362306a36Sopenharmony_ci	.name = "qhm_snoc_cfg",
45462306a36Sopenharmony_ci	.id = SDM670_MASTER_SNOC_CFG,
45562306a36Sopenharmony_ci	.channels = 1,
45662306a36Sopenharmony_ci	.buswidth = 4,
45762306a36Sopenharmony_ci	.num_links = 1,
45862306a36Sopenharmony_ci	.links = { SDM670_SLAVE_SERVICE_SNOC },
45962306a36Sopenharmony_ci};
46062306a36Sopenharmony_ci
46162306a36Sopenharmony_cistatic struct qcom_icc_node qnm_aggre1_noc = {
46262306a36Sopenharmony_ci	.name = "qnm_aggre1_noc",
46362306a36Sopenharmony_ci	.id = SDM670_MASTER_A1NOC_SNOC,
46462306a36Sopenharmony_ci	.channels = 1,
46562306a36Sopenharmony_ci	.buswidth = 16,
46662306a36Sopenharmony_ci	.num_links = 6,
46762306a36Sopenharmony_ci	.links = { SDM670_SLAVE_PIMEM,
46862306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_MEM_NOC_SF,
46962306a36Sopenharmony_ci		   SDM670_SLAVE_OCIMEM,
47062306a36Sopenharmony_ci		   SDM670_SLAVE_APPSS,
47162306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_CNOC,
47262306a36Sopenharmony_ci		   SDM670_SLAVE_QDSS_STM
47362306a36Sopenharmony_ci	},
47462306a36Sopenharmony_ci};
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_cistatic struct qcom_icc_node qnm_aggre2_noc = {
47762306a36Sopenharmony_ci	.name = "qnm_aggre2_noc",
47862306a36Sopenharmony_ci	.id = SDM670_MASTER_A2NOC_SNOC,
47962306a36Sopenharmony_ci	.channels = 1,
48062306a36Sopenharmony_ci	.buswidth = 16,
48162306a36Sopenharmony_ci	.num_links = 7,
48262306a36Sopenharmony_ci	.links = { SDM670_SLAVE_PIMEM,
48362306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_MEM_NOC_SF,
48462306a36Sopenharmony_ci		   SDM670_SLAVE_OCIMEM,
48562306a36Sopenharmony_ci		   SDM670_SLAVE_APPSS,
48662306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_CNOC,
48762306a36Sopenharmony_ci		   SDM670_SLAVE_TCU,
48862306a36Sopenharmony_ci		   SDM670_SLAVE_QDSS_STM
48962306a36Sopenharmony_ci	},
49062306a36Sopenharmony_ci};
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_cistatic struct qcom_icc_node qnm_gladiator_sodv = {
49362306a36Sopenharmony_ci	.name = "qnm_gladiator_sodv",
49462306a36Sopenharmony_ci	.id = SDM670_MASTER_GNOC_SNOC,
49562306a36Sopenharmony_ci	.channels = 1,
49662306a36Sopenharmony_ci	.buswidth = 8,
49762306a36Sopenharmony_ci	.num_links = 6,
49862306a36Sopenharmony_ci	.links = { SDM670_SLAVE_PIMEM,
49962306a36Sopenharmony_ci		   SDM670_SLAVE_OCIMEM,
50062306a36Sopenharmony_ci		   SDM670_SLAVE_APPSS,
50162306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_CNOC,
50262306a36Sopenharmony_ci		   SDM670_SLAVE_TCU,
50362306a36Sopenharmony_ci		   SDM670_SLAVE_QDSS_STM
50462306a36Sopenharmony_ci	},
50562306a36Sopenharmony_ci};
50662306a36Sopenharmony_ci
50762306a36Sopenharmony_cistatic struct qcom_icc_node qnm_memnoc = {
50862306a36Sopenharmony_ci	.name = "qnm_memnoc",
50962306a36Sopenharmony_ci	.id = SDM670_MASTER_MEM_NOC_SNOC,
51062306a36Sopenharmony_ci	.channels = 1,
51162306a36Sopenharmony_ci	.buswidth = 8,
51262306a36Sopenharmony_ci	.num_links = 5,
51362306a36Sopenharmony_ci	.links = { SDM670_SLAVE_OCIMEM,
51462306a36Sopenharmony_ci		   SDM670_SLAVE_APPSS,
51562306a36Sopenharmony_ci		   SDM670_SLAVE_PIMEM,
51662306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_CNOC,
51762306a36Sopenharmony_ci		   SDM670_SLAVE_QDSS_STM
51862306a36Sopenharmony_ci	},
51962306a36Sopenharmony_ci};
52062306a36Sopenharmony_ci
52162306a36Sopenharmony_cistatic struct qcom_icc_node qxm_pimem = {
52262306a36Sopenharmony_ci	.name = "qxm_pimem",
52362306a36Sopenharmony_ci	.id = SDM670_MASTER_PIMEM,
52462306a36Sopenharmony_ci	.channels = 1,
52562306a36Sopenharmony_ci	.buswidth = 8,
52662306a36Sopenharmony_ci	.num_links = 2,
52762306a36Sopenharmony_ci	.links = { SDM670_SLAVE_OCIMEM,
52862306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_MEM_NOC_GC
52962306a36Sopenharmony_ci	},
53062306a36Sopenharmony_ci};
53162306a36Sopenharmony_ci
53262306a36Sopenharmony_cistatic struct qcom_icc_node xm_gic = {
53362306a36Sopenharmony_ci	.name = "xm_gic",
53462306a36Sopenharmony_ci	.id = SDM670_MASTER_GIC,
53562306a36Sopenharmony_ci	.channels = 1,
53662306a36Sopenharmony_ci	.buswidth = 8,
53762306a36Sopenharmony_ci	.num_links = 2,
53862306a36Sopenharmony_ci	.links = { SDM670_SLAVE_OCIMEM,
53962306a36Sopenharmony_ci		   SDM670_SLAVE_SNOC_MEM_NOC_GC
54062306a36Sopenharmony_ci	},
54162306a36Sopenharmony_ci};
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_cistatic struct qcom_icc_node qns_a1noc_snoc = {
54462306a36Sopenharmony_ci	.name = "qns_a1noc_snoc",
54562306a36Sopenharmony_ci	.id = SDM670_SLAVE_A1NOC_SNOC,
54662306a36Sopenharmony_ci	.channels = 1,
54762306a36Sopenharmony_ci	.buswidth = 16,
54862306a36Sopenharmony_ci	.num_links = 1,
54962306a36Sopenharmony_ci	.links = { SDM670_MASTER_A1NOC_SNOC },
55062306a36Sopenharmony_ci};
55162306a36Sopenharmony_ci
55262306a36Sopenharmony_cistatic struct qcom_icc_node srvc_aggre1_noc = {
55362306a36Sopenharmony_ci	.name = "srvc_aggre1_noc",
55462306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_A1NOC,
55562306a36Sopenharmony_ci	.channels = 1,
55662306a36Sopenharmony_ci	.buswidth = 4,
55762306a36Sopenharmony_ci};
55862306a36Sopenharmony_ci
55962306a36Sopenharmony_cistatic struct qcom_icc_node qns_a2noc_snoc = {
56062306a36Sopenharmony_ci	.name = "qns_a2noc_snoc",
56162306a36Sopenharmony_ci	.id = SDM670_SLAVE_A2NOC_SNOC,
56262306a36Sopenharmony_ci	.channels = 1,
56362306a36Sopenharmony_ci	.buswidth = 16,
56462306a36Sopenharmony_ci	.num_links = 1,
56562306a36Sopenharmony_ci	.links = { SDM670_MASTER_A2NOC_SNOC },
56662306a36Sopenharmony_ci};
56762306a36Sopenharmony_ci
56862306a36Sopenharmony_cistatic struct qcom_icc_node srvc_aggre2_noc = {
56962306a36Sopenharmony_ci	.name = "srvc_aggre2_noc",
57062306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_A2NOC,
57162306a36Sopenharmony_ci	.channels = 1,
57262306a36Sopenharmony_ci	.buswidth = 4,
57362306a36Sopenharmony_ci};
57462306a36Sopenharmony_ci
57562306a36Sopenharmony_cistatic struct qcom_icc_node qns_camnoc_uncomp = {
57662306a36Sopenharmony_ci	.name = "qns_camnoc_uncomp",
57762306a36Sopenharmony_ci	.id = SDM670_SLAVE_CAMNOC_UNCOMP,
57862306a36Sopenharmony_ci	.channels = 1,
57962306a36Sopenharmony_ci	.buswidth = 32,
58062306a36Sopenharmony_ci};
58162306a36Sopenharmony_ci
58262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_a1_noc_cfg = {
58362306a36Sopenharmony_ci	.name = "qhs_a1_noc_cfg",
58462306a36Sopenharmony_ci	.id = SDM670_SLAVE_A1NOC_CFG,
58562306a36Sopenharmony_ci	.channels = 1,
58662306a36Sopenharmony_ci	.buswidth = 4,
58762306a36Sopenharmony_ci	.num_links = 1,
58862306a36Sopenharmony_ci	.links = { SDM670_MASTER_A1NOC_CFG },
58962306a36Sopenharmony_ci};
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_a2_noc_cfg = {
59262306a36Sopenharmony_ci	.name = "qhs_a2_noc_cfg",
59362306a36Sopenharmony_ci	.id = SDM670_SLAVE_A2NOC_CFG,
59462306a36Sopenharmony_ci	.channels = 1,
59562306a36Sopenharmony_ci	.buswidth = 4,
59662306a36Sopenharmony_ci	.num_links = 1,
59762306a36Sopenharmony_ci	.links = { SDM670_MASTER_A2NOC_CFG },
59862306a36Sopenharmony_ci};
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_aop = {
60162306a36Sopenharmony_ci	.name = "qhs_aop",
60262306a36Sopenharmony_ci	.id = SDM670_SLAVE_AOP,
60362306a36Sopenharmony_ci	.channels = 1,
60462306a36Sopenharmony_ci	.buswidth = 4,
60562306a36Sopenharmony_ci};
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_aoss = {
60862306a36Sopenharmony_ci	.name = "qhs_aoss",
60962306a36Sopenharmony_ci	.id = SDM670_SLAVE_AOSS,
61062306a36Sopenharmony_ci	.channels = 1,
61162306a36Sopenharmony_ci	.buswidth = 4,
61262306a36Sopenharmony_ci};
61362306a36Sopenharmony_ci
61462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_camera_cfg = {
61562306a36Sopenharmony_ci	.name = "qhs_camera_cfg",
61662306a36Sopenharmony_ci	.id = SDM670_SLAVE_CAMERA_CFG,
61762306a36Sopenharmony_ci	.channels = 1,
61862306a36Sopenharmony_ci	.buswidth = 4,
61962306a36Sopenharmony_ci};
62062306a36Sopenharmony_ci
62162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_clk_ctl = {
62262306a36Sopenharmony_ci	.name = "qhs_clk_ctl",
62362306a36Sopenharmony_ci	.id = SDM670_SLAVE_CLK_CTL,
62462306a36Sopenharmony_ci	.channels = 1,
62562306a36Sopenharmony_ci	.buswidth = 4,
62662306a36Sopenharmony_ci};
62762306a36Sopenharmony_ci
62862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_compute_dsp_cfg = {
62962306a36Sopenharmony_ci	.name = "qhs_compute_dsp_cfg",
63062306a36Sopenharmony_ci	.id = SDM670_SLAVE_CDSP_CFG,
63162306a36Sopenharmony_ci	.channels = 1,
63262306a36Sopenharmony_ci	.buswidth = 4,
63362306a36Sopenharmony_ci};
63462306a36Sopenharmony_ci
63562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_cpr_cx = {
63662306a36Sopenharmony_ci	.name = "qhs_cpr_cx",
63762306a36Sopenharmony_ci	.id = SDM670_SLAVE_RBCPR_CX_CFG,
63862306a36Sopenharmony_ci	.channels = 1,
63962306a36Sopenharmony_ci	.buswidth = 4,
64062306a36Sopenharmony_ci};
64162306a36Sopenharmony_ci
64262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_crypto0_cfg = {
64362306a36Sopenharmony_ci	.name = "qhs_crypto0_cfg",
64462306a36Sopenharmony_ci	.id = SDM670_SLAVE_CRYPTO_0_CFG,
64562306a36Sopenharmony_ci	.channels = 1,
64662306a36Sopenharmony_ci	.buswidth = 4,
64762306a36Sopenharmony_ci};
64862306a36Sopenharmony_ci
64962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_dcc_cfg = {
65062306a36Sopenharmony_ci	.name = "qhs_dcc_cfg",
65162306a36Sopenharmony_ci	.id = SDM670_SLAVE_DCC_CFG,
65262306a36Sopenharmony_ci	.channels = 1,
65362306a36Sopenharmony_ci	.buswidth = 4,
65462306a36Sopenharmony_ci	.num_links = 1,
65562306a36Sopenharmony_ci	.links = { SDM670_MASTER_CNOC_DC_NOC },
65662306a36Sopenharmony_ci};
65762306a36Sopenharmony_ci
65862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ddrss_cfg = {
65962306a36Sopenharmony_ci	.name = "qhs_ddrss_cfg",
66062306a36Sopenharmony_ci	.id = SDM670_SLAVE_CNOC_DDRSS,
66162306a36Sopenharmony_ci	.channels = 1,
66262306a36Sopenharmony_ci	.buswidth = 4,
66362306a36Sopenharmony_ci};
66462306a36Sopenharmony_ci
66562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_display_cfg = {
66662306a36Sopenharmony_ci	.name = "qhs_display_cfg",
66762306a36Sopenharmony_ci	.id = SDM670_SLAVE_DISPLAY_CFG,
66862306a36Sopenharmony_ci	.channels = 1,
66962306a36Sopenharmony_ci	.buswidth = 4,
67062306a36Sopenharmony_ci};
67162306a36Sopenharmony_ci
67262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_emmc_cfg = {
67362306a36Sopenharmony_ci	.name = "qhs_emmc_cfg",
67462306a36Sopenharmony_ci	.id = SDM670_SLAVE_EMMC_CFG,
67562306a36Sopenharmony_ci	.channels = 1,
67662306a36Sopenharmony_ci	.buswidth = 4,
67762306a36Sopenharmony_ci};
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_glm = {
68062306a36Sopenharmony_ci	.name = "qhs_glm",
68162306a36Sopenharmony_ci	.id = SDM670_SLAVE_GLM,
68262306a36Sopenharmony_ci	.channels = 1,
68362306a36Sopenharmony_ci	.buswidth = 4,
68462306a36Sopenharmony_ci};
68562306a36Sopenharmony_ci
68662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_gpuss_cfg = {
68762306a36Sopenharmony_ci	.name = "qhs_gpuss_cfg",
68862306a36Sopenharmony_ci	.id = SDM670_SLAVE_GRAPHICS_3D_CFG,
68962306a36Sopenharmony_ci	.channels = 1,
69062306a36Sopenharmony_ci	.buswidth = 8,
69162306a36Sopenharmony_ci};
69262306a36Sopenharmony_ci
69362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_imem_cfg = {
69462306a36Sopenharmony_ci	.name = "qhs_imem_cfg",
69562306a36Sopenharmony_ci	.id = SDM670_SLAVE_IMEM_CFG,
69662306a36Sopenharmony_ci	.channels = 1,
69762306a36Sopenharmony_ci	.buswidth = 4,
69862306a36Sopenharmony_ci};
69962306a36Sopenharmony_ci
70062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ipa = {
70162306a36Sopenharmony_ci	.name = "qhs_ipa",
70262306a36Sopenharmony_ci	.id = SDM670_SLAVE_IPA_CFG,
70362306a36Sopenharmony_ci	.channels = 1,
70462306a36Sopenharmony_ci	.buswidth = 4,
70562306a36Sopenharmony_ci};
70662306a36Sopenharmony_ci
70762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_mnoc_cfg = {
70862306a36Sopenharmony_ci	.name = "qhs_mnoc_cfg",
70962306a36Sopenharmony_ci	.id = SDM670_SLAVE_CNOC_MNOC_CFG,
71062306a36Sopenharmony_ci	.channels = 1,
71162306a36Sopenharmony_ci	.buswidth = 4,
71262306a36Sopenharmony_ci	.num_links = 1,
71362306a36Sopenharmony_ci	.links = { SDM670_MASTER_CNOC_MNOC_CFG },
71462306a36Sopenharmony_ci};
71562306a36Sopenharmony_ci
71662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pdm = {
71762306a36Sopenharmony_ci	.name = "qhs_pdm",
71862306a36Sopenharmony_ci	.id = SDM670_SLAVE_PDM,
71962306a36Sopenharmony_ci	.channels = 1,
72062306a36Sopenharmony_ci	.buswidth = 4,
72162306a36Sopenharmony_ci};
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_phy_refgen_south = {
72462306a36Sopenharmony_ci	.name = "qhs_phy_refgen_south",
72562306a36Sopenharmony_ci	.id = SDM670_SLAVE_SOUTH_PHY_CFG,
72662306a36Sopenharmony_ci	.channels = 1,
72762306a36Sopenharmony_ci	.buswidth = 4,
72862306a36Sopenharmony_ci};
72962306a36Sopenharmony_ci
73062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_pimem_cfg = {
73162306a36Sopenharmony_ci	.name = "qhs_pimem_cfg",
73262306a36Sopenharmony_ci	.id = SDM670_SLAVE_PIMEM_CFG,
73362306a36Sopenharmony_ci	.channels = 1,
73462306a36Sopenharmony_ci	.buswidth = 4,
73562306a36Sopenharmony_ci};
73662306a36Sopenharmony_ci
73762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_prng = {
73862306a36Sopenharmony_ci	.name = "qhs_prng",
73962306a36Sopenharmony_ci	.id = SDM670_SLAVE_PRNG,
74062306a36Sopenharmony_ci	.channels = 1,
74162306a36Sopenharmony_ci	.buswidth = 4,
74262306a36Sopenharmony_ci};
74362306a36Sopenharmony_ci
74462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qdss_cfg = {
74562306a36Sopenharmony_ci	.name = "qhs_qdss_cfg",
74662306a36Sopenharmony_ci	.id = SDM670_SLAVE_QDSS_CFG,
74762306a36Sopenharmony_ci	.channels = 1,
74862306a36Sopenharmony_ci	.buswidth = 4,
74962306a36Sopenharmony_ci};
75062306a36Sopenharmony_ci
75162306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qupv3_north = {
75262306a36Sopenharmony_ci	.name = "qhs_qupv3_north",
75362306a36Sopenharmony_ci	.id = SDM670_SLAVE_BLSP_2,
75462306a36Sopenharmony_ci	.channels = 1,
75562306a36Sopenharmony_ci	.buswidth = 4,
75662306a36Sopenharmony_ci};
75762306a36Sopenharmony_ci
75862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_qupv3_south = {
75962306a36Sopenharmony_ci	.name = "qhs_qupv3_south",
76062306a36Sopenharmony_ci	.id = SDM670_SLAVE_BLSP_1,
76162306a36Sopenharmony_ci	.channels = 1,
76262306a36Sopenharmony_ci	.buswidth = 4,
76362306a36Sopenharmony_ci};
76462306a36Sopenharmony_ci
76562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_sdc2 = {
76662306a36Sopenharmony_ci	.name = "qhs_sdc2",
76762306a36Sopenharmony_ci	.id = SDM670_SLAVE_SDCC_2,
76862306a36Sopenharmony_ci	.channels = 1,
76962306a36Sopenharmony_ci	.buswidth = 4,
77062306a36Sopenharmony_ci};
77162306a36Sopenharmony_ci
77262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_sdc4 = {
77362306a36Sopenharmony_ci	.name = "qhs_sdc4",
77462306a36Sopenharmony_ci	.id = SDM670_SLAVE_SDCC_4,
77562306a36Sopenharmony_ci	.channels = 1,
77662306a36Sopenharmony_ci	.buswidth = 4,
77762306a36Sopenharmony_ci};
77862306a36Sopenharmony_ci
77962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_snoc_cfg = {
78062306a36Sopenharmony_ci	.name = "qhs_snoc_cfg",
78162306a36Sopenharmony_ci	.id = SDM670_SLAVE_SNOC_CFG,
78262306a36Sopenharmony_ci	.channels = 1,
78362306a36Sopenharmony_ci	.buswidth = 4,
78462306a36Sopenharmony_ci	.num_links = 1,
78562306a36Sopenharmony_ci	.links = { SDM670_MASTER_SNOC_CFG },
78662306a36Sopenharmony_ci};
78762306a36Sopenharmony_ci
78862306a36Sopenharmony_cistatic struct qcom_icc_node qhs_spdm = {
78962306a36Sopenharmony_ci	.name = "qhs_spdm",
79062306a36Sopenharmony_ci	.id = SDM670_SLAVE_SPDM_WRAPPER,
79162306a36Sopenharmony_ci	.channels = 1,
79262306a36Sopenharmony_ci	.buswidth = 4,
79362306a36Sopenharmony_ci};
79462306a36Sopenharmony_ci
79562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tcsr = {
79662306a36Sopenharmony_ci	.name = "qhs_tcsr",
79762306a36Sopenharmony_ci	.id = SDM670_SLAVE_TCSR,
79862306a36Sopenharmony_ci	.channels = 1,
79962306a36Sopenharmony_ci	.buswidth = 4,
80062306a36Sopenharmony_ci};
80162306a36Sopenharmony_ci
80262306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tlmm_north = {
80362306a36Sopenharmony_ci	.name = "qhs_tlmm_north",
80462306a36Sopenharmony_ci	.id = SDM670_SLAVE_TLMM_NORTH,
80562306a36Sopenharmony_ci	.channels = 1,
80662306a36Sopenharmony_ci	.buswidth = 4,
80762306a36Sopenharmony_ci};
80862306a36Sopenharmony_ci
80962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tlmm_south = {
81062306a36Sopenharmony_ci	.name = "qhs_tlmm_south",
81162306a36Sopenharmony_ci	.id = SDM670_SLAVE_TLMM_SOUTH,
81262306a36Sopenharmony_ci	.channels = 1,
81362306a36Sopenharmony_ci	.buswidth = 4,
81462306a36Sopenharmony_ci};
81562306a36Sopenharmony_ci
81662306a36Sopenharmony_cistatic struct qcom_icc_node qhs_tsif = {
81762306a36Sopenharmony_ci	.name = "qhs_tsif",
81862306a36Sopenharmony_ci	.id = SDM670_SLAVE_TSIF,
81962306a36Sopenharmony_ci	.channels = 1,
82062306a36Sopenharmony_ci	.buswidth = 4,
82162306a36Sopenharmony_ci};
82262306a36Sopenharmony_ci
82362306a36Sopenharmony_cistatic struct qcom_icc_node qhs_ufs_mem_cfg = {
82462306a36Sopenharmony_ci	.name = "qhs_ufs_mem_cfg",
82562306a36Sopenharmony_ci	.id = SDM670_SLAVE_UFS_MEM_CFG,
82662306a36Sopenharmony_ci	.channels = 1,
82762306a36Sopenharmony_ci	.buswidth = 4,
82862306a36Sopenharmony_ci};
82962306a36Sopenharmony_ci
83062306a36Sopenharmony_cistatic struct qcom_icc_node qhs_usb3_0 = {
83162306a36Sopenharmony_ci	.name = "qhs_usb3_0",
83262306a36Sopenharmony_ci	.id = SDM670_SLAVE_USB3,
83362306a36Sopenharmony_ci	.channels = 1,
83462306a36Sopenharmony_ci	.buswidth = 4,
83562306a36Sopenharmony_ci};
83662306a36Sopenharmony_ci
83762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_venus_cfg = {
83862306a36Sopenharmony_ci	.name = "qhs_venus_cfg",
83962306a36Sopenharmony_ci	.id = SDM670_SLAVE_VENUS_CFG,
84062306a36Sopenharmony_ci	.channels = 1,
84162306a36Sopenharmony_ci	.buswidth = 4,
84262306a36Sopenharmony_ci};
84362306a36Sopenharmony_ci
84462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_vsense_ctrl_cfg = {
84562306a36Sopenharmony_ci	.name = "qhs_vsense_ctrl_cfg",
84662306a36Sopenharmony_ci	.id = SDM670_SLAVE_VSENSE_CTRL_CFG,
84762306a36Sopenharmony_ci	.channels = 1,
84862306a36Sopenharmony_ci	.buswidth = 4,
84962306a36Sopenharmony_ci};
85062306a36Sopenharmony_ci
85162306a36Sopenharmony_cistatic struct qcom_icc_node qns_cnoc_a2noc = {
85262306a36Sopenharmony_ci	.name = "qns_cnoc_a2noc",
85362306a36Sopenharmony_ci	.id = SDM670_SLAVE_CNOC_A2NOC,
85462306a36Sopenharmony_ci	.channels = 1,
85562306a36Sopenharmony_ci	.buswidth = 8,
85662306a36Sopenharmony_ci	.num_links = 1,
85762306a36Sopenharmony_ci	.links = { SDM670_MASTER_CNOC_A2NOC },
85862306a36Sopenharmony_ci};
85962306a36Sopenharmony_ci
86062306a36Sopenharmony_cistatic struct qcom_icc_node srvc_cnoc = {
86162306a36Sopenharmony_ci	.name = "srvc_cnoc",
86262306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_CNOC,
86362306a36Sopenharmony_ci	.channels = 1,
86462306a36Sopenharmony_ci	.buswidth = 4,
86562306a36Sopenharmony_ci};
86662306a36Sopenharmony_ci
86762306a36Sopenharmony_cistatic struct qcom_icc_node qhs_llcc = {
86862306a36Sopenharmony_ci	.name = "qhs_llcc",
86962306a36Sopenharmony_ci	.id = SDM670_SLAVE_LLCC_CFG,
87062306a36Sopenharmony_ci	.channels = 1,
87162306a36Sopenharmony_ci	.buswidth = 4,
87262306a36Sopenharmony_ci};
87362306a36Sopenharmony_ci
87462306a36Sopenharmony_cistatic struct qcom_icc_node qhs_memnoc = {
87562306a36Sopenharmony_ci	.name = "qhs_memnoc",
87662306a36Sopenharmony_ci	.id = SDM670_SLAVE_MEM_NOC_CFG,
87762306a36Sopenharmony_ci	.channels = 1,
87862306a36Sopenharmony_ci	.buswidth = 4,
87962306a36Sopenharmony_ci	.num_links = 1,
88062306a36Sopenharmony_ci	.links = { SDM670_MASTER_MEM_NOC_CFG },
88162306a36Sopenharmony_ci};
88262306a36Sopenharmony_ci
88362306a36Sopenharmony_cistatic struct qcom_icc_node qns_gladiator_sodv = {
88462306a36Sopenharmony_ci	.name = "qns_gladiator_sodv",
88562306a36Sopenharmony_ci	.id = SDM670_SLAVE_GNOC_SNOC,
88662306a36Sopenharmony_ci	.channels = 1,
88762306a36Sopenharmony_ci	.buswidth = 8,
88862306a36Sopenharmony_ci	.num_links = 1,
88962306a36Sopenharmony_ci	.links = { SDM670_MASTER_GNOC_SNOC },
89062306a36Sopenharmony_ci};
89162306a36Sopenharmony_ci
89262306a36Sopenharmony_cistatic struct qcom_icc_node qns_gnoc_memnoc = {
89362306a36Sopenharmony_ci	.name = "qns_gnoc_memnoc",
89462306a36Sopenharmony_ci	.id = SDM670_SLAVE_GNOC_MEM_NOC,
89562306a36Sopenharmony_ci	.channels = 2,
89662306a36Sopenharmony_ci	.buswidth = 32,
89762306a36Sopenharmony_ci	.num_links = 1,
89862306a36Sopenharmony_ci	.links = { SDM670_MASTER_GNOC_MEM_NOC },
89962306a36Sopenharmony_ci};
90062306a36Sopenharmony_ci
90162306a36Sopenharmony_cistatic struct qcom_icc_node srvc_gnoc = {
90262306a36Sopenharmony_ci	.name = "srvc_gnoc",
90362306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_GNOC,
90462306a36Sopenharmony_ci	.channels = 1,
90562306a36Sopenharmony_ci	.buswidth = 4,
90662306a36Sopenharmony_ci};
90762306a36Sopenharmony_ci
90862306a36Sopenharmony_cistatic struct qcom_icc_node ebi = {
90962306a36Sopenharmony_ci	.name = "ebi",
91062306a36Sopenharmony_ci	.id = SDM670_SLAVE_EBI_CH0,
91162306a36Sopenharmony_ci	.channels = 2,
91262306a36Sopenharmony_ci	.buswidth = 4,
91362306a36Sopenharmony_ci};
91462306a36Sopenharmony_ci
91562306a36Sopenharmony_cistatic struct qcom_icc_node qhs_mdsp_ms_mpu_cfg = {
91662306a36Sopenharmony_ci	.name = "qhs_mdsp_ms_mpu_cfg",
91762306a36Sopenharmony_ci	.id = SDM670_SLAVE_MSS_PROC_MS_MPU_CFG,
91862306a36Sopenharmony_ci	.channels = 1,
91962306a36Sopenharmony_ci	.buswidth = 4,
92062306a36Sopenharmony_ci};
92162306a36Sopenharmony_ci
92262306a36Sopenharmony_cistatic struct qcom_icc_node qns_apps_io = {
92362306a36Sopenharmony_ci	.name = "qns_apps_io",
92462306a36Sopenharmony_ci	.id = SDM670_SLAVE_MEM_NOC_GNOC,
92562306a36Sopenharmony_ci	.channels = 1,
92662306a36Sopenharmony_ci	.buswidth = 32,
92762306a36Sopenharmony_ci};
92862306a36Sopenharmony_ci
92962306a36Sopenharmony_cistatic struct qcom_icc_node qns_llcc = {
93062306a36Sopenharmony_ci	.name = "qns_llcc",
93162306a36Sopenharmony_ci	.id = SDM670_SLAVE_LLCC,
93262306a36Sopenharmony_ci	.channels = 2,
93362306a36Sopenharmony_ci	.buswidth = 16,
93462306a36Sopenharmony_ci	.num_links = 1,
93562306a36Sopenharmony_ci	.links = { SDM670_MASTER_LLCC },
93662306a36Sopenharmony_ci};
93762306a36Sopenharmony_ci
93862306a36Sopenharmony_cistatic struct qcom_icc_node qns_memnoc_snoc = {
93962306a36Sopenharmony_ci	.name = "qns_memnoc_snoc",
94062306a36Sopenharmony_ci	.id = SDM670_SLAVE_MEM_NOC_SNOC,
94162306a36Sopenharmony_ci	.channels = 1,
94262306a36Sopenharmony_ci	.buswidth = 8,
94362306a36Sopenharmony_ci	.num_links = 1,
94462306a36Sopenharmony_ci	.links = { SDM670_MASTER_MEM_NOC_SNOC },
94562306a36Sopenharmony_ci};
94662306a36Sopenharmony_ci
94762306a36Sopenharmony_cistatic struct qcom_icc_node srvc_memnoc = {
94862306a36Sopenharmony_ci	.name = "srvc_memnoc",
94962306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_MEM_NOC,
95062306a36Sopenharmony_ci	.channels = 1,
95162306a36Sopenharmony_ci	.buswidth = 4,
95262306a36Sopenharmony_ci};
95362306a36Sopenharmony_ci
95462306a36Sopenharmony_cistatic struct qcom_icc_node qns2_mem_noc = {
95562306a36Sopenharmony_ci	.name = "qns2_mem_noc",
95662306a36Sopenharmony_ci	.id = SDM670_SLAVE_MNOC_SF_MEM_NOC,
95762306a36Sopenharmony_ci	.channels = 1,
95862306a36Sopenharmony_ci	.buswidth = 32,
95962306a36Sopenharmony_ci	.num_links = 1,
96062306a36Sopenharmony_ci	.links = { SDM670_MASTER_MNOC_SF_MEM_NOC },
96162306a36Sopenharmony_ci};
96262306a36Sopenharmony_ci
96362306a36Sopenharmony_cistatic struct qcom_icc_node qns_mem_noc_hf = {
96462306a36Sopenharmony_ci	.name = "qns_mem_noc_hf",
96562306a36Sopenharmony_ci	.id = SDM670_SLAVE_MNOC_HF_MEM_NOC,
96662306a36Sopenharmony_ci	.channels = 2,
96762306a36Sopenharmony_ci	.buswidth = 32,
96862306a36Sopenharmony_ci	.num_links = 1,
96962306a36Sopenharmony_ci	.links = { SDM670_MASTER_MNOC_HF_MEM_NOC },
97062306a36Sopenharmony_ci};
97162306a36Sopenharmony_ci
97262306a36Sopenharmony_cistatic struct qcom_icc_node srvc_mnoc = {
97362306a36Sopenharmony_ci	.name = "srvc_mnoc",
97462306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_MNOC,
97562306a36Sopenharmony_ci	.channels = 1,
97662306a36Sopenharmony_ci	.buswidth = 4,
97762306a36Sopenharmony_ci};
97862306a36Sopenharmony_ci
97962306a36Sopenharmony_cistatic struct qcom_icc_node qhs_apss = {
98062306a36Sopenharmony_ci	.name = "qhs_apss",
98162306a36Sopenharmony_ci	.id = SDM670_SLAVE_APPSS,
98262306a36Sopenharmony_ci	.channels = 1,
98362306a36Sopenharmony_ci	.buswidth = 8,
98462306a36Sopenharmony_ci};
98562306a36Sopenharmony_ci
98662306a36Sopenharmony_cistatic struct qcom_icc_node qns_cnoc = {
98762306a36Sopenharmony_ci	.name = "qns_cnoc",
98862306a36Sopenharmony_ci	.id = SDM670_SLAVE_SNOC_CNOC,
98962306a36Sopenharmony_ci	.channels = 1,
99062306a36Sopenharmony_ci	.buswidth = 8,
99162306a36Sopenharmony_ci	.num_links = 1,
99262306a36Sopenharmony_ci	.links = { SDM670_MASTER_SNOC_CNOC },
99362306a36Sopenharmony_ci};
99462306a36Sopenharmony_ci
99562306a36Sopenharmony_cistatic struct qcom_icc_node qns_memnoc_gc = {
99662306a36Sopenharmony_ci	.name = "qns_memnoc_gc",
99762306a36Sopenharmony_ci	.id = SDM670_SLAVE_SNOC_MEM_NOC_GC,
99862306a36Sopenharmony_ci	.channels = 1,
99962306a36Sopenharmony_ci	.buswidth = 8,
100062306a36Sopenharmony_ci	.num_links = 1,
100162306a36Sopenharmony_ci	.links = { SDM670_MASTER_SNOC_GC_MEM_NOC },
100262306a36Sopenharmony_ci};
100362306a36Sopenharmony_ci
100462306a36Sopenharmony_cistatic struct qcom_icc_node qns_memnoc_sf = {
100562306a36Sopenharmony_ci	.name = "qns_memnoc_sf",
100662306a36Sopenharmony_ci	.id = SDM670_SLAVE_SNOC_MEM_NOC_SF,
100762306a36Sopenharmony_ci	.channels = 1,
100862306a36Sopenharmony_ci	.buswidth = 16,
100962306a36Sopenharmony_ci	.num_links = 1,
101062306a36Sopenharmony_ci	.links = { SDM670_MASTER_SNOC_SF_MEM_NOC },
101162306a36Sopenharmony_ci};
101262306a36Sopenharmony_ci
101362306a36Sopenharmony_cistatic struct qcom_icc_node qxs_imem = {
101462306a36Sopenharmony_ci	.name = "qxs_imem",
101562306a36Sopenharmony_ci	.id = SDM670_SLAVE_OCIMEM,
101662306a36Sopenharmony_ci	.channels = 1,
101762306a36Sopenharmony_ci	.buswidth = 8,
101862306a36Sopenharmony_ci};
101962306a36Sopenharmony_ci
102062306a36Sopenharmony_cistatic struct qcom_icc_node qxs_pimem = {
102162306a36Sopenharmony_ci	.name = "qxs_pimem",
102262306a36Sopenharmony_ci	.id = SDM670_SLAVE_PIMEM,
102362306a36Sopenharmony_ci	.channels = 1,
102462306a36Sopenharmony_ci	.buswidth = 8,
102562306a36Sopenharmony_ci};
102662306a36Sopenharmony_ci
102762306a36Sopenharmony_cistatic struct qcom_icc_node srvc_snoc = {
102862306a36Sopenharmony_ci	.name = "srvc_snoc",
102962306a36Sopenharmony_ci	.id = SDM670_SLAVE_SERVICE_SNOC,
103062306a36Sopenharmony_ci	.channels = 1,
103162306a36Sopenharmony_ci	.buswidth = 4,
103262306a36Sopenharmony_ci};
103362306a36Sopenharmony_ci
103462306a36Sopenharmony_cistatic struct qcom_icc_node xs_qdss_stm = {
103562306a36Sopenharmony_ci	.name = "xs_qdss_stm",
103662306a36Sopenharmony_ci	.id = SDM670_SLAVE_QDSS_STM,
103762306a36Sopenharmony_ci	.channels = 1,
103862306a36Sopenharmony_ci	.buswidth = 4,
103962306a36Sopenharmony_ci};
104062306a36Sopenharmony_ci
104162306a36Sopenharmony_cistatic struct qcom_icc_node xs_sys_tcu_cfg = {
104262306a36Sopenharmony_ci	.name = "xs_sys_tcu_cfg",
104362306a36Sopenharmony_ci	.id = SDM670_SLAVE_TCU,
104462306a36Sopenharmony_ci	.channels = 1,
104562306a36Sopenharmony_ci	.buswidth = 8,
104662306a36Sopenharmony_ci};
104762306a36Sopenharmony_ci
104862306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_acv = {
104962306a36Sopenharmony_ci	.name = "ACV",
105062306a36Sopenharmony_ci	.enable_mask = BIT(3),
105162306a36Sopenharmony_ci	.keepalive = false,
105262306a36Sopenharmony_ci	.num_nodes = 1,
105362306a36Sopenharmony_ci	.nodes = { &ebi },
105462306a36Sopenharmony_ci};
105562306a36Sopenharmony_ci
105662306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mc0 = {
105762306a36Sopenharmony_ci	.name = "MC0",
105862306a36Sopenharmony_ci	.keepalive = true,
105962306a36Sopenharmony_ci	.num_nodes = 1,
106062306a36Sopenharmony_ci	.nodes = { &ebi },
106162306a36Sopenharmony_ci};
106262306a36Sopenharmony_ci
106362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh0 = {
106462306a36Sopenharmony_ci	.name = "SH0",
106562306a36Sopenharmony_ci	.keepalive = true,
106662306a36Sopenharmony_ci	.num_nodes = 1,
106762306a36Sopenharmony_ci	.nodes = { &qns_llcc },
106862306a36Sopenharmony_ci};
106962306a36Sopenharmony_ci
107062306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm0 = {
107162306a36Sopenharmony_ci	.name = "MM0",
107262306a36Sopenharmony_ci	.keepalive = true,
107362306a36Sopenharmony_ci	.num_nodes = 1,
107462306a36Sopenharmony_ci	.nodes = { &qns_mem_noc_hf },
107562306a36Sopenharmony_ci};
107662306a36Sopenharmony_ci
107762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh1 = {
107862306a36Sopenharmony_ci	.name = "SH1",
107962306a36Sopenharmony_ci	.keepalive = false,
108062306a36Sopenharmony_ci	.num_nodes = 1,
108162306a36Sopenharmony_ci	.nodes = { &qns_apps_io },
108262306a36Sopenharmony_ci};
108362306a36Sopenharmony_ci
108462306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm1 = {
108562306a36Sopenharmony_ci	.name = "MM1",
108662306a36Sopenharmony_ci	.keepalive = true,
108762306a36Sopenharmony_ci	.num_nodes = 7,
108862306a36Sopenharmony_ci	.nodes = { &qxm_camnoc_hf0_uncomp,
108962306a36Sopenharmony_ci		   &qxm_camnoc_hf1_uncomp,
109062306a36Sopenharmony_ci		   &qxm_camnoc_sf_uncomp,
109162306a36Sopenharmony_ci		   &qxm_camnoc_hf0,
109262306a36Sopenharmony_ci		   &qxm_camnoc_hf1,
109362306a36Sopenharmony_ci		   &qxm_mdp0,
109462306a36Sopenharmony_ci		   &qxm_mdp1
109562306a36Sopenharmony_ci	},
109662306a36Sopenharmony_ci};
109762306a36Sopenharmony_ci
109862306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh2 = {
109962306a36Sopenharmony_ci	.name = "SH2",
110062306a36Sopenharmony_ci	.keepalive = false,
110162306a36Sopenharmony_ci	.num_nodes = 1,
110262306a36Sopenharmony_ci	.nodes = { &qns_memnoc_snoc },
110362306a36Sopenharmony_ci};
110462306a36Sopenharmony_ci
110562306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm2 = {
110662306a36Sopenharmony_ci	.name = "MM2",
110762306a36Sopenharmony_ci	.keepalive = false,
110862306a36Sopenharmony_ci	.num_nodes = 1,
110962306a36Sopenharmony_ci	.nodes = { &qns2_mem_noc },
111062306a36Sopenharmony_ci};
111162306a36Sopenharmony_ci
111262306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh3 = {
111362306a36Sopenharmony_ci	.name = "SH3",
111462306a36Sopenharmony_ci	.keepalive = false,
111562306a36Sopenharmony_ci	.num_nodes = 1,
111662306a36Sopenharmony_ci	.nodes = { &acm_tcu },
111762306a36Sopenharmony_ci};
111862306a36Sopenharmony_ci
111962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_mm3 = {
112062306a36Sopenharmony_ci	.name = "MM3",
112162306a36Sopenharmony_ci	.keepalive = false,
112262306a36Sopenharmony_ci	.num_nodes = 5,
112362306a36Sopenharmony_ci	.nodes = { &qxm_camnoc_sf, &qxm_rot, &qxm_venus0, &qxm_venus1, &qxm_venus_arm9 },
112462306a36Sopenharmony_ci};
112562306a36Sopenharmony_ci
112662306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sh5 = {
112762306a36Sopenharmony_ci	.name = "SH5",
112862306a36Sopenharmony_ci	.keepalive = false,
112962306a36Sopenharmony_ci	.num_nodes = 1,
113062306a36Sopenharmony_ci	.nodes = { &qnm_apps },
113162306a36Sopenharmony_ci};
113262306a36Sopenharmony_ci
113362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn0 = {
113462306a36Sopenharmony_ci	.name = "SN0",
113562306a36Sopenharmony_ci	.keepalive = true,
113662306a36Sopenharmony_ci	.num_nodes = 1,
113762306a36Sopenharmony_ci	.nodes = { &qns_memnoc_sf },
113862306a36Sopenharmony_ci};
113962306a36Sopenharmony_ci
114062306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_ce0 = {
114162306a36Sopenharmony_ci	.name = "CE0",
114262306a36Sopenharmony_ci	.keepalive = false,
114362306a36Sopenharmony_ci	.num_nodes = 1,
114462306a36Sopenharmony_ci	.nodes = { &qxm_crypto },
114562306a36Sopenharmony_ci};
114662306a36Sopenharmony_ci
114762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_cn0 = {
114862306a36Sopenharmony_ci	.name = "CN0",
114962306a36Sopenharmony_ci	.keepalive = true,
115062306a36Sopenharmony_ci	.num_nodes = 41,
115162306a36Sopenharmony_ci	.nodes = { &qhm_spdm,
115262306a36Sopenharmony_ci		   &qnm_snoc,
115362306a36Sopenharmony_ci		   &qhs_a1_noc_cfg,
115462306a36Sopenharmony_ci		   &qhs_a2_noc_cfg,
115562306a36Sopenharmony_ci		   &qhs_aop,
115662306a36Sopenharmony_ci		   &qhs_aoss,
115762306a36Sopenharmony_ci		   &qhs_camera_cfg,
115862306a36Sopenharmony_ci		   &qhs_clk_ctl,
115962306a36Sopenharmony_ci		   &qhs_compute_dsp_cfg,
116062306a36Sopenharmony_ci		   &qhs_cpr_cx,
116162306a36Sopenharmony_ci		   &qhs_crypto0_cfg,
116262306a36Sopenharmony_ci		   &qhs_dcc_cfg,
116362306a36Sopenharmony_ci		   &qhs_ddrss_cfg,
116462306a36Sopenharmony_ci		   &qhs_display_cfg,
116562306a36Sopenharmony_ci		   &qhs_emmc_cfg,
116662306a36Sopenharmony_ci		   &qhs_glm,
116762306a36Sopenharmony_ci		   &qhs_gpuss_cfg,
116862306a36Sopenharmony_ci		   &qhs_imem_cfg,
116962306a36Sopenharmony_ci		   &qhs_ipa,
117062306a36Sopenharmony_ci		   &qhs_mnoc_cfg,
117162306a36Sopenharmony_ci		   &qhs_pdm,
117262306a36Sopenharmony_ci		   &qhs_phy_refgen_south,
117362306a36Sopenharmony_ci		   &qhs_pimem_cfg,
117462306a36Sopenharmony_ci		   &qhs_prng,
117562306a36Sopenharmony_ci		   &qhs_qdss_cfg,
117662306a36Sopenharmony_ci		   &qhs_qupv3_north,
117762306a36Sopenharmony_ci		   &qhs_qupv3_south,
117862306a36Sopenharmony_ci		   &qhs_sdc2,
117962306a36Sopenharmony_ci		   &qhs_sdc4,
118062306a36Sopenharmony_ci		   &qhs_snoc_cfg,
118162306a36Sopenharmony_ci		   &qhs_spdm,
118262306a36Sopenharmony_ci		   &qhs_tcsr,
118362306a36Sopenharmony_ci		   &qhs_tlmm_north,
118462306a36Sopenharmony_ci		   &qhs_tlmm_south,
118562306a36Sopenharmony_ci		   &qhs_tsif,
118662306a36Sopenharmony_ci		   &qhs_ufs_mem_cfg,
118762306a36Sopenharmony_ci		   &qhs_usb3_0,
118862306a36Sopenharmony_ci		   &qhs_venus_cfg,
118962306a36Sopenharmony_ci		   &qhs_vsense_ctrl_cfg,
119062306a36Sopenharmony_ci		   &qns_cnoc_a2noc,
119162306a36Sopenharmony_ci		   &srvc_cnoc
119262306a36Sopenharmony_ci	},
119362306a36Sopenharmony_ci};
119462306a36Sopenharmony_ci
119562306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_qup0 = {
119662306a36Sopenharmony_ci	.name = "QUP0",
119762306a36Sopenharmony_ci	.keepalive = false,
119862306a36Sopenharmony_ci	.num_nodes = 2,
119962306a36Sopenharmony_ci	.nodes = { &qhm_qup1, &qhm_qup2 },
120062306a36Sopenharmony_ci};
120162306a36Sopenharmony_ci
120262306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn1 = {
120362306a36Sopenharmony_ci	.name = "SN1",
120462306a36Sopenharmony_ci	.keepalive = false,
120562306a36Sopenharmony_ci	.num_nodes = 1,
120662306a36Sopenharmony_ci	.nodes = { &qxs_imem },
120762306a36Sopenharmony_ci};
120862306a36Sopenharmony_ci
120962306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn2 = {
121062306a36Sopenharmony_ci	.name = "SN2",
121162306a36Sopenharmony_ci	.keepalive = false,
121262306a36Sopenharmony_ci	.num_nodes = 1,
121362306a36Sopenharmony_ci	.nodes = { &qns_memnoc_gc },
121462306a36Sopenharmony_ci};
121562306a36Sopenharmony_ci
121662306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn3 = {
121762306a36Sopenharmony_ci	.name = "SN3",
121862306a36Sopenharmony_ci	.keepalive = false,
121962306a36Sopenharmony_ci	.num_nodes = 1,
122062306a36Sopenharmony_ci	.nodes = { &qns_cnoc },
122162306a36Sopenharmony_ci};
122262306a36Sopenharmony_ci
122362306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn4 = {
122462306a36Sopenharmony_ci	.name = "SN4",
122562306a36Sopenharmony_ci	.keepalive = false,
122662306a36Sopenharmony_ci	.num_nodes = 2,
122762306a36Sopenharmony_ci	.nodes = { &qxm_pimem, &qxs_pimem },
122862306a36Sopenharmony_ci};
122962306a36Sopenharmony_ci
123062306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn5 = {
123162306a36Sopenharmony_ci	.name = "SN5",
123262306a36Sopenharmony_ci	.keepalive = false,
123362306a36Sopenharmony_ci	.num_nodes = 1,
123462306a36Sopenharmony_ci	.nodes = { &xs_qdss_stm },
123562306a36Sopenharmony_ci};
123662306a36Sopenharmony_ci
123762306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn8 = {
123862306a36Sopenharmony_ci	.name = "SN8",
123962306a36Sopenharmony_ci	.keepalive = false,
124062306a36Sopenharmony_ci	.num_nodes = 2,
124162306a36Sopenharmony_ci	.nodes = { &qnm_aggre1_noc, &srvc_aggre1_noc },
124262306a36Sopenharmony_ci};
124362306a36Sopenharmony_ci
124462306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn10 = {
124562306a36Sopenharmony_ci	.name = "SN10",
124662306a36Sopenharmony_ci	.keepalive = false,
124762306a36Sopenharmony_ci	.num_nodes = 2,
124862306a36Sopenharmony_ci	.nodes = { &qnm_aggre2_noc, &srvc_aggre2_noc },
124962306a36Sopenharmony_ci};
125062306a36Sopenharmony_ci
125162306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn11 = {
125262306a36Sopenharmony_ci	.name = "SN11",
125362306a36Sopenharmony_ci	.keepalive = false,
125462306a36Sopenharmony_ci	.num_nodes = 2,
125562306a36Sopenharmony_ci	.nodes = { &qnm_gladiator_sodv, &xm_gic },
125662306a36Sopenharmony_ci};
125762306a36Sopenharmony_ci
125862306a36Sopenharmony_cistatic struct qcom_icc_bcm bcm_sn13 = {
125962306a36Sopenharmony_ci	.name = "SN13",
126062306a36Sopenharmony_ci	.keepalive = false,
126162306a36Sopenharmony_ci	.num_nodes = 1,
126262306a36Sopenharmony_ci	.nodes = { &qnm_memnoc },
126362306a36Sopenharmony_ci};
126462306a36Sopenharmony_ci
126562306a36Sopenharmony_cistatic struct qcom_icc_bcm * const aggre1_noc_bcms[] = {
126662306a36Sopenharmony_ci	&bcm_qup0,
126762306a36Sopenharmony_ci	&bcm_sn8,
126862306a36Sopenharmony_ci};
126962306a36Sopenharmony_ci
127062306a36Sopenharmony_cistatic struct qcom_icc_node * const aggre1_noc_nodes[] = {
127162306a36Sopenharmony_ci	[MASTER_A1NOC_CFG] = &qhm_a1noc_cfg,
127262306a36Sopenharmony_ci	[MASTER_BLSP_1] = &qhm_qup1,
127362306a36Sopenharmony_ci	[MASTER_TSIF] = &qhm_tsif,
127462306a36Sopenharmony_ci	[MASTER_EMMC] = &xm_emmc,
127562306a36Sopenharmony_ci	[MASTER_SDCC_2] = &xm_sdc2,
127662306a36Sopenharmony_ci	[MASTER_SDCC_4] = &xm_sdc4,
127762306a36Sopenharmony_ci	[MASTER_UFS_MEM] = &xm_ufs_mem,
127862306a36Sopenharmony_ci	[SLAVE_A1NOC_SNOC] = &qns_a1noc_snoc,
127962306a36Sopenharmony_ci	[SLAVE_SERVICE_A1NOC] = &srvc_aggre1_noc,
128062306a36Sopenharmony_ci};
128162306a36Sopenharmony_ci
128262306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_aggre1_noc = {
128362306a36Sopenharmony_ci	.nodes = aggre1_noc_nodes,
128462306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(aggre1_noc_nodes),
128562306a36Sopenharmony_ci	.bcms = aggre1_noc_bcms,
128662306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(aggre1_noc_bcms),
128762306a36Sopenharmony_ci};
128862306a36Sopenharmony_ci
128962306a36Sopenharmony_cistatic struct qcom_icc_bcm * const aggre2_noc_bcms[] = {
129062306a36Sopenharmony_ci	&bcm_ce0,
129162306a36Sopenharmony_ci	&bcm_qup0,
129262306a36Sopenharmony_ci	&bcm_sn10,
129362306a36Sopenharmony_ci};
129462306a36Sopenharmony_ci
129562306a36Sopenharmony_cistatic struct qcom_icc_node * const aggre2_noc_nodes[] = {
129662306a36Sopenharmony_ci	[MASTER_A2NOC_CFG] = &qhm_a2noc_cfg,
129762306a36Sopenharmony_ci	[MASTER_QDSS_BAM] = &qhm_qdss_bam,
129862306a36Sopenharmony_ci	[MASTER_BLSP_2] = &qhm_qup2,
129962306a36Sopenharmony_ci	[MASTER_CNOC_A2NOC] = &qnm_cnoc,
130062306a36Sopenharmony_ci	[MASTER_CRYPTO_CORE_0] = &qxm_crypto,
130162306a36Sopenharmony_ci	[MASTER_IPA] = &qxm_ipa,
130262306a36Sopenharmony_ci	[MASTER_QDSS_ETR] = &xm_qdss_etr,
130362306a36Sopenharmony_ci	[MASTER_USB3] = &xm_usb3_0,
130462306a36Sopenharmony_ci	[SLAVE_A2NOC_SNOC] = &qns_a2noc_snoc,
130562306a36Sopenharmony_ci	[SLAVE_SERVICE_A2NOC] = &srvc_aggre2_noc,
130662306a36Sopenharmony_ci};
130762306a36Sopenharmony_ci
130862306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_aggre2_noc = {
130962306a36Sopenharmony_ci	.nodes = aggre2_noc_nodes,
131062306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(aggre2_noc_nodes),
131162306a36Sopenharmony_ci	.bcms = aggre2_noc_bcms,
131262306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(aggre2_noc_bcms),
131362306a36Sopenharmony_ci};
131462306a36Sopenharmony_ci
131562306a36Sopenharmony_cistatic struct qcom_icc_bcm * const config_noc_bcms[] = {
131662306a36Sopenharmony_ci	&bcm_cn0,
131762306a36Sopenharmony_ci};
131862306a36Sopenharmony_ci
131962306a36Sopenharmony_cistatic struct qcom_icc_node * const config_noc_nodes[] = {
132062306a36Sopenharmony_ci	[MASTER_SPDM] = &qhm_spdm,
132162306a36Sopenharmony_ci	[MASTER_SNOC_CNOC] = &qnm_snoc,
132262306a36Sopenharmony_ci	[SLAVE_A1NOC_CFG] = &qhs_a1_noc_cfg,
132362306a36Sopenharmony_ci	[SLAVE_A2NOC_CFG] = &qhs_a2_noc_cfg,
132462306a36Sopenharmony_ci	[SLAVE_AOP] = &qhs_aop,
132562306a36Sopenharmony_ci	[SLAVE_AOSS] = &qhs_aoss,
132662306a36Sopenharmony_ci	[SLAVE_CAMERA_CFG] = &qhs_camera_cfg,
132762306a36Sopenharmony_ci	[SLAVE_CLK_CTL] = &qhs_clk_ctl,
132862306a36Sopenharmony_ci	[SLAVE_CDSP_CFG] = &qhs_compute_dsp_cfg,
132962306a36Sopenharmony_ci	[SLAVE_RBCPR_CX_CFG] = &qhs_cpr_cx,
133062306a36Sopenharmony_ci	[SLAVE_CRYPTO_0_CFG] = &qhs_crypto0_cfg,
133162306a36Sopenharmony_ci	[SLAVE_DCC_CFG] = &qhs_dcc_cfg,
133262306a36Sopenharmony_ci	[SLAVE_CNOC_DDRSS] = &qhs_ddrss_cfg,
133362306a36Sopenharmony_ci	[SLAVE_DISPLAY_CFG] = &qhs_display_cfg,
133462306a36Sopenharmony_ci	[SLAVE_EMMC_CFG] = &qhs_emmc_cfg,
133562306a36Sopenharmony_ci	[SLAVE_GLM] = &qhs_glm,
133662306a36Sopenharmony_ci	[SLAVE_GRAPHICS_3D_CFG] = &qhs_gpuss_cfg,
133762306a36Sopenharmony_ci	[SLAVE_IMEM_CFG] = &qhs_imem_cfg,
133862306a36Sopenharmony_ci	[SLAVE_IPA_CFG] = &qhs_ipa,
133962306a36Sopenharmony_ci	[SLAVE_CNOC_MNOC_CFG] = &qhs_mnoc_cfg,
134062306a36Sopenharmony_ci	[SLAVE_PDM] = &qhs_pdm,
134162306a36Sopenharmony_ci	[SLAVE_SOUTH_PHY_CFG] = &qhs_phy_refgen_south,
134262306a36Sopenharmony_ci	[SLAVE_PIMEM_CFG] = &qhs_pimem_cfg,
134362306a36Sopenharmony_ci	[SLAVE_PRNG] = &qhs_prng,
134462306a36Sopenharmony_ci	[SLAVE_QDSS_CFG] = &qhs_qdss_cfg,
134562306a36Sopenharmony_ci	[SLAVE_BLSP_2] = &qhs_qupv3_north,
134662306a36Sopenharmony_ci	[SLAVE_BLSP_1] = &qhs_qupv3_south,
134762306a36Sopenharmony_ci	[SLAVE_SDCC_2] = &qhs_sdc2,
134862306a36Sopenharmony_ci	[SLAVE_SDCC_4] = &qhs_sdc4,
134962306a36Sopenharmony_ci	[SLAVE_SNOC_CFG] = &qhs_snoc_cfg,
135062306a36Sopenharmony_ci	[SLAVE_SPDM_WRAPPER] = &qhs_spdm,
135162306a36Sopenharmony_ci	[SLAVE_TCSR] = &qhs_tcsr,
135262306a36Sopenharmony_ci	[SLAVE_TLMM_NORTH] = &qhs_tlmm_north,
135362306a36Sopenharmony_ci	[SLAVE_TLMM_SOUTH] = &qhs_tlmm_south,
135462306a36Sopenharmony_ci	[SLAVE_TSIF] = &qhs_tsif,
135562306a36Sopenharmony_ci	[SLAVE_UFS_MEM_CFG] = &qhs_ufs_mem_cfg,
135662306a36Sopenharmony_ci	[SLAVE_USB3] = &qhs_usb3_0,
135762306a36Sopenharmony_ci	[SLAVE_VENUS_CFG] = &qhs_venus_cfg,
135862306a36Sopenharmony_ci	[SLAVE_VSENSE_CTRL_CFG] = &qhs_vsense_ctrl_cfg,
135962306a36Sopenharmony_ci	[SLAVE_CNOC_A2NOC] = &qns_cnoc_a2noc,
136062306a36Sopenharmony_ci	[SLAVE_SERVICE_CNOC] = &srvc_cnoc,
136162306a36Sopenharmony_ci};
136262306a36Sopenharmony_ci
136362306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_config_noc = {
136462306a36Sopenharmony_ci	.nodes = config_noc_nodes,
136562306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(config_noc_nodes),
136662306a36Sopenharmony_ci	.bcms = config_noc_bcms,
136762306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(config_noc_bcms),
136862306a36Sopenharmony_ci};
136962306a36Sopenharmony_ci
137062306a36Sopenharmony_cistatic struct qcom_icc_bcm * const dc_noc_bcms[] = {
137162306a36Sopenharmony_ci};
137262306a36Sopenharmony_ci
137362306a36Sopenharmony_cistatic struct qcom_icc_node * const dc_noc_nodes[] = {
137462306a36Sopenharmony_ci	[MASTER_CNOC_DC_NOC] = &qhm_cnoc,
137562306a36Sopenharmony_ci	[SLAVE_LLCC_CFG] = &qhs_llcc,
137662306a36Sopenharmony_ci	[SLAVE_MEM_NOC_CFG] = &qhs_memnoc,
137762306a36Sopenharmony_ci};
137862306a36Sopenharmony_ci
137962306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_dc_noc = {
138062306a36Sopenharmony_ci	.nodes = dc_noc_nodes,
138162306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(dc_noc_nodes),
138262306a36Sopenharmony_ci	.bcms = dc_noc_bcms,
138362306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(dc_noc_bcms),
138462306a36Sopenharmony_ci};
138562306a36Sopenharmony_ci
138662306a36Sopenharmony_cistatic struct qcom_icc_bcm * const gladiator_noc_bcms[] = {
138762306a36Sopenharmony_ci};
138862306a36Sopenharmony_ci
138962306a36Sopenharmony_cistatic struct qcom_icc_node * const gladiator_noc_nodes[] = {
139062306a36Sopenharmony_ci	[MASTER_AMPSS_M0] = &acm_l3,
139162306a36Sopenharmony_ci	[MASTER_GNOC_CFG] = &pm_gnoc_cfg,
139262306a36Sopenharmony_ci	[SLAVE_GNOC_SNOC] = &qns_gladiator_sodv,
139362306a36Sopenharmony_ci	[SLAVE_GNOC_MEM_NOC] = &qns_gnoc_memnoc,
139462306a36Sopenharmony_ci	[SLAVE_SERVICE_GNOC] = &srvc_gnoc,
139562306a36Sopenharmony_ci};
139662306a36Sopenharmony_ci
139762306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_gladiator_noc = {
139862306a36Sopenharmony_ci	.nodes = gladiator_noc_nodes,
139962306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(gladiator_noc_nodes),
140062306a36Sopenharmony_ci	.bcms = gladiator_noc_bcms,
140162306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(gladiator_noc_bcms),
140262306a36Sopenharmony_ci};
140362306a36Sopenharmony_ci
140462306a36Sopenharmony_cistatic struct qcom_icc_bcm * const mem_noc_bcms[] = {
140562306a36Sopenharmony_ci	&bcm_acv,
140662306a36Sopenharmony_ci	&bcm_mc0,
140762306a36Sopenharmony_ci	&bcm_sh0,
140862306a36Sopenharmony_ci	&bcm_sh1,
140962306a36Sopenharmony_ci	&bcm_sh2,
141062306a36Sopenharmony_ci	&bcm_sh3,
141162306a36Sopenharmony_ci	&bcm_sh5,
141262306a36Sopenharmony_ci};
141362306a36Sopenharmony_ci
141462306a36Sopenharmony_cistatic struct qcom_icc_node * const mem_noc_nodes[] = {
141562306a36Sopenharmony_ci	[MASTER_TCU_0] = &acm_tcu,
141662306a36Sopenharmony_ci	[MASTER_MEM_NOC_CFG] = &qhm_memnoc_cfg,
141762306a36Sopenharmony_ci	[MASTER_GNOC_MEM_NOC] = &qnm_apps,
141862306a36Sopenharmony_ci	[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
141962306a36Sopenharmony_ci	[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
142062306a36Sopenharmony_ci	[MASTER_SNOC_GC_MEM_NOC] = &qnm_snoc_gc,
142162306a36Sopenharmony_ci	[MASTER_SNOC_SF_MEM_NOC] = &qnm_snoc_sf,
142262306a36Sopenharmony_ci	[MASTER_GRAPHICS_3D] = &qxm_gpu,
142362306a36Sopenharmony_ci	[SLAVE_MSS_PROC_MS_MPU_CFG] = &qhs_mdsp_ms_mpu_cfg,
142462306a36Sopenharmony_ci	[SLAVE_MEM_NOC_GNOC] = &qns_apps_io,
142562306a36Sopenharmony_ci	[SLAVE_LLCC] = &qns_llcc,
142662306a36Sopenharmony_ci	[SLAVE_MEM_NOC_SNOC] = &qns_memnoc_snoc,
142762306a36Sopenharmony_ci	[SLAVE_SERVICE_MEM_NOC] = &srvc_memnoc,
142862306a36Sopenharmony_ci	[MASTER_LLCC] = &llcc_mc,
142962306a36Sopenharmony_ci	[SLAVE_EBI_CH0] = &ebi,
143062306a36Sopenharmony_ci};
143162306a36Sopenharmony_ci
143262306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_mem_noc = {
143362306a36Sopenharmony_ci	.nodes = mem_noc_nodes,
143462306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(mem_noc_nodes),
143562306a36Sopenharmony_ci	.bcms = mem_noc_bcms,
143662306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(mem_noc_bcms),
143762306a36Sopenharmony_ci};
143862306a36Sopenharmony_ci
143962306a36Sopenharmony_cistatic struct qcom_icc_bcm * const mmss_noc_bcms[] = {
144062306a36Sopenharmony_ci	&bcm_mm0,
144162306a36Sopenharmony_ci	&bcm_mm1,
144262306a36Sopenharmony_ci	&bcm_mm2,
144362306a36Sopenharmony_ci	&bcm_mm3,
144462306a36Sopenharmony_ci};
144562306a36Sopenharmony_ci
144662306a36Sopenharmony_cistatic struct qcom_icc_node * const mmss_noc_nodes[] = {
144762306a36Sopenharmony_ci	[MASTER_CNOC_MNOC_CFG] = &qhm_mnoc_cfg,
144862306a36Sopenharmony_ci	[MASTER_CAMNOC_HF0] = &qxm_camnoc_hf0,
144962306a36Sopenharmony_ci	[MASTER_CAMNOC_HF1] = &qxm_camnoc_hf1,
145062306a36Sopenharmony_ci	[MASTER_CAMNOC_SF] = &qxm_camnoc_sf,
145162306a36Sopenharmony_ci	[MASTER_MDP_PORT0] = &qxm_mdp0,
145262306a36Sopenharmony_ci	[MASTER_MDP_PORT1] = &qxm_mdp1,
145362306a36Sopenharmony_ci	[MASTER_ROTATOR] = &qxm_rot,
145462306a36Sopenharmony_ci	[MASTER_VIDEO_P0] = &qxm_venus0,
145562306a36Sopenharmony_ci	[MASTER_VIDEO_P1] = &qxm_venus1,
145662306a36Sopenharmony_ci	[MASTER_VIDEO_PROC] = &qxm_venus_arm9,
145762306a36Sopenharmony_ci	[SLAVE_MNOC_SF_MEM_NOC] = &qns2_mem_noc,
145862306a36Sopenharmony_ci	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
145962306a36Sopenharmony_ci	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
146062306a36Sopenharmony_ci};
146162306a36Sopenharmony_ci
146262306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_mmss_noc = {
146362306a36Sopenharmony_ci	.nodes = mmss_noc_nodes,
146462306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(mmss_noc_nodes),
146562306a36Sopenharmony_ci	.bcms = mmss_noc_bcms,
146662306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(mmss_noc_bcms),
146762306a36Sopenharmony_ci};
146862306a36Sopenharmony_ci
146962306a36Sopenharmony_cistatic struct qcom_icc_bcm * const system_noc_bcms[] = {
147062306a36Sopenharmony_ci	&bcm_mm1,
147162306a36Sopenharmony_ci	&bcm_sn0,
147262306a36Sopenharmony_ci	&bcm_sn1,
147362306a36Sopenharmony_ci	&bcm_sn10,
147462306a36Sopenharmony_ci	&bcm_sn11,
147562306a36Sopenharmony_ci	&bcm_sn13,
147662306a36Sopenharmony_ci	&bcm_sn2,
147762306a36Sopenharmony_ci	&bcm_sn3,
147862306a36Sopenharmony_ci	&bcm_sn4,
147962306a36Sopenharmony_ci	&bcm_sn5,
148062306a36Sopenharmony_ci	&bcm_sn8,
148162306a36Sopenharmony_ci};
148262306a36Sopenharmony_ci
148362306a36Sopenharmony_cistatic struct qcom_icc_node * const system_noc_nodes[] = {
148462306a36Sopenharmony_ci	[MASTER_SNOC_CFG] = &qhm_snoc_cfg,
148562306a36Sopenharmony_ci	[MASTER_A1NOC_SNOC] = &qnm_aggre1_noc,
148662306a36Sopenharmony_ci	[MASTER_A2NOC_SNOC] = &qnm_aggre2_noc,
148762306a36Sopenharmony_ci	[MASTER_GNOC_SNOC] = &qnm_gladiator_sodv,
148862306a36Sopenharmony_ci	[MASTER_MEM_NOC_SNOC] = &qnm_memnoc,
148962306a36Sopenharmony_ci	[MASTER_PIMEM] = &qxm_pimem,
149062306a36Sopenharmony_ci	[MASTER_GIC] = &xm_gic,
149162306a36Sopenharmony_ci	[SLAVE_APPSS] = &qhs_apss,
149262306a36Sopenharmony_ci	[SLAVE_SNOC_CNOC] = &qns_cnoc,
149362306a36Sopenharmony_ci	[SLAVE_SNOC_MEM_NOC_GC] = &qns_memnoc_gc,
149462306a36Sopenharmony_ci	[SLAVE_SNOC_MEM_NOC_SF] = &qns_memnoc_sf,
149562306a36Sopenharmony_ci	[SLAVE_OCIMEM] = &qxs_imem,
149662306a36Sopenharmony_ci	[SLAVE_PIMEM] = &qxs_pimem,
149762306a36Sopenharmony_ci	[SLAVE_SERVICE_SNOC] = &srvc_snoc,
149862306a36Sopenharmony_ci	[SLAVE_QDSS_STM] = &xs_qdss_stm,
149962306a36Sopenharmony_ci	[SLAVE_TCU] = &xs_sys_tcu_cfg,
150062306a36Sopenharmony_ci	[MASTER_CAMNOC_HF0_UNCOMP] = &qxm_camnoc_hf0_uncomp,
150162306a36Sopenharmony_ci	[MASTER_CAMNOC_HF1_UNCOMP] = &qxm_camnoc_hf1_uncomp,
150262306a36Sopenharmony_ci	[MASTER_CAMNOC_SF_UNCOMP] = &qxm_camnoc_sf_uncomp,
150362306a36Sopenharmony_ci	[SLAVE_CAMNOC_UNCOMP] = &qns_camnoc_uncomp,
150462306a36Sopenharmony_ci};
150562306a36Sopenharmony_ci
150662306a36Sopenharmony_cistatic const struct qcom_icc_desc sdm670_system_noc = {
150762306a36Sopenharmony_ci	.nodes = system_noc_nodes,
150862306a36Sopenharmony_ci	.num_nodes = ARRAY_SIZE(system_noc_nodes),
150962306a36Sopenharmony_ci	.bcms = system_noc_bcms,
151062306a36Sopenharmony_ci	.num_bcms = ARRAY_SIZE(system_noc_bcms),
151162306a36Sopenharmony_ci};
151262306a36Sopenharmony_ci
151362306a36Sopenharmony_cistatic const struct of_device_id qnoc_of_match[] = {
151462306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-aggre1-noc",
151562306a36Sopenharmony_ci	  .data = &sdm670_aggre1_noc},
151662306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-aggre2-noc",
151762306a36Sopenharmony_ci	  .data = &sdm670_aggre2_noc},
151862306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-config-noc",
151962306a36Sopenharmony_ci	  .data = &sdm670_config_noc},
152062306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-dc-noc",
152162306a36Sopenharmony_ci	  .data = &sdm670_dc_noc},
152262306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-gladiator-noc",
152362306a36Sopenharmony_ci	  .data = &sdm670_gladiator_noc},
152462306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-mem-noc",
152562306a36Sopenharmony_ci	  .data = &sdm670_mem_noc},
152662306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-mmss-noc",
152762306a36Sopenharmony_ci	  .data = &sdm670_mmss_noc},
152862306a36Sopenharmony_ci	{ .compatible = "qcom,sdm670-system-noc",
152962306a36Sopenharmony_ci	  .data = &sdm670_system_noc},
153062306a36Sopenharmony_ci	{ }
153162306a36Sopenharmony_ci};
153262306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, qnoc_of_match);
153362306a36Sopenharmony_ci
153462306a36Sopenharmony_cistatic struct platform_driver qnoc_driver = {
153562306a36Sopenharmony_ci	.probe = qcom_icc_rpmh_probe,
153662306a36Sopenharmony_ci	.remove = qcom_icc_rpmh_remove,
153762306a36Sopenharmony_ci	.driver = {
153862306a36Sopenharmony_ci		.name = "qnoc-sdm670",
153962306a36Sopenharmony_ci		.of_match_table = qnoc_of_match,
154062306a36Sopenharmony_ci		.sync_state = icc_sync_state,
154162306a36Sopenharmony_ci	},
154262306a36Sopenharmony_ci};
154362306a36Sopenharmony_cimodule_platform_driver(qnoc_driver);
154462306a36Sopenharmony_ci
154562306a36Sopenharmony_ciMODULE_DESCRIPTION("Qualcomm SDM670 NoC driver");
154662306a36Sopenharmony_ciMODULE_LICENSE("GPL");
1547