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