1f80a1d41SAngeloGioacchino Del Regno // SPDX-License-Identifier: GPL-2.0
2f80a1d41SAngeloGioacchino Del Regno /*
3f80a1d41SAngeloGioacchino Del Regno  * Qualcomm SDM630/SDM636/SDM660 Network-on-Chip (NoC) QoS driver
4f80a1d41SAngeloGioacchino Del Regno  * Copyright (C) 2020, AngeloGioacchino Del Regno <kholk11@gmail.com>
5f80a1d41SAngeloGioacchino Del Regno  */
6f80a1d41SAngeloGioacchino Del Regno 
7f80a1d41SAngeloGioacchino Del Regno #include <dt-bindings/interconnect/qcom,sdm660.h>
8f80a1d41SAngeloGioacchino Del Regno #include <linux/device.h>
9f80a1d41SAngeloGioacchino Del Regno #include <linux/interconnect-provider.h>
10f80a1d41SAngeloGioacchino Del Regno #include <linux/io.h>
11*cff66aceSRob Herring #include <linux/mod_devicetable.h>
12f80a1d41SAngeloGioacchino Del Regno #include <linux/module.h>
13f80a1d41SAngeloGioacchino Del Regno #include <linux/platform_device.h>
14f80a1d41SAngeloGioacchino Del Regno #include <linux/regmap.h>
15f80a1d41SAngeloGioacchino Del Regno #include <linux/slab.h>
16f80a1d41SAngeloGioacchino Del Regno 
172b6c7d64SDmitry Baryshkov #include "icc-rpm.h"
18f80a1d41SAngeloGioacchino Del Regno 
19f80a1d41SAngeloGioacchino Del Regno enum {
20f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_IPA = 1,
21f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_CNOC_A2NOC,
22f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_SDCC_1,
23f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_SDCC_2,
24f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_BLSP_1,
25f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_BLSP_2,
26f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_UFS,
27f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_USB_HS,
28f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_USB3,
29f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_CRYPTO_C0,
30f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_GNOC_BIMC,
31f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_OXILI,
32f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_MNOC_BIMC,
33f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_SNOC_BIMC,
34f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_PIMEM,
35f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_SNOC_CNOC,
36f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_QDSS_DAP,
37f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_APPS_PROC,
38f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_CNOC_MNOC_MMSS_CFG,
39f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_CNOC_MNOC_CFG,
40f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_CPP,
41f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_JPEG,
42f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_MDP_P0,
43f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_MDP_P1,
44f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_VENUS,
45f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_VFE,
46f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_QDSS_ETR,
47f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_QDSS_BAM,
48f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_SNOC_CFG,
49f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_BIMC_SNOC,
50f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_A2NOC_SNOC,
51f80a1d41SAngeloGioacchino Del Regno 	SDM660_MASTER_GNOC_SNOC,
52f80a1d41SAngeloGioacchino Del Regno 
53f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_A2NOC_SNOC,
54f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_EBI,
55f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_HMSS_L3,
56f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_BIMC_SNOC,
57f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CNOC_A2NOC,
58f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MPM,
59f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_PMIC_ARB,
60f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_TLMM_NORTH,
61f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_TCSR,
62f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_PIMEM_CFG,
63f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_IMEM_CFG,
64f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MESSAGE_RAM,
65f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_GLM,
66f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_BIMC_CFG,
67f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_PRNG,
68f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SPDM,
69f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_QDSS_CFG,
70f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CNOC_MNOC_CFG,
71f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SNOC_CFG,
72f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_QM_CFG,
73f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CLK_CTL,
74f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MSS_CFG,
75f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_TLMM_SOUTH,
76f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_UFS_CFG,
77f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_A2NOC_CFG,
78f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_A2NOC_SMMU_CFG,
79f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_GPUSS_CFG,
80f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_AHB2PHY,
81f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_BLSP_1,
82f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SDCC_1,
83f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SDCC_2,
84f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_TLMM_CENTER,
85f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_BLSP_2,
86f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_PDM,
87f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CNOC_MNOC_MMSS_CFG,
88f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_USB_HS,
89f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_USB3_0,
90f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SRVC_CNOC,
91f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_GNOC_BIMC,
92f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_GNOC_SNOC,
93f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CAMERA_CFG,
94f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CAMERA_THROTTLE_CFG,
95f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MISC_CFG,
96f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_VENUS_THROTTLE_CFG,
97f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_VENUS_CFG,
98f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MMSS_CLK_XPU_CFG,
99f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MMSS_CLK_CFG,
100f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MNOC_MPU_CFG,
101f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_DISPLAY_CFG,
102f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CSI_PHY_CFG,
103f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_DISPLAY_THROTTLE_CFG,
104f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SMMU_CFG,
105f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_MNOC_BIMC,
106f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SRVC_MNOC,
107f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_HMSS,
108f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_LPASS,
109f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_WLAN,
110f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_CDSP,
111f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_IPA,
112f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SNOC_BIMC,
113f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SNOC_CNOC,
114f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_IMEM,
115f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_PIMEM,
116f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_QDSS_STM,
117f80a1d41SAngeloGioacchino Del Regno 	SDM660_SLAVE_SRVC_SNOC,
118f80a1d41SAngeloGioacchino Del Regno 
119f80a1d41SAngeloGioacchino Del Regno 	SDM660_A2NOC,
120f80a1d41SAngeloGioacchino Del Regno 	SDM660_BIMC,
121f80a1d41SAngeloGioacchino Del Regno 	SDM660_CNOC,
122f80a1d41SAngeloGioacchino Del Regno 	SDM660_GNOC,
123f80a1d41SAngeloGioacchino Del Regno 	SDM660_MNOC,
124f80a1d41SAngeloGioacchino Del Regno 	SDM660_SNOC,
125f80a1d41SAngeloGioacchino Del Regno };
126f80a1d41SAngeloGioacchino Del Regno 
1272e2113c8SKonrad Dybcio static const char * const mm_intf_clocks[] = {
1282b6c7d64SDmitry Baryshkov 	"iface",
129f80a1d41SAngeloGioacchino Del Regno };
130f80a1d41SAngeloGioacchino Del Regno 
1312e2113c8SKonrad Dybcio static const char * const a2noc_intf_clocks[] = {
1322b6c7d64SDmitry Baryshkov 	"ipa",
1332b6c7d64SDmitry Baryshkov 	"ufs_axi",
1342b6c7d64SDmitry Baryshkov 	"aggre2_ufs_axi",
1352b6c7d64SDmitry Baryshkov 	"aggre2_usb3_axi",
1362b6c7d64SDmitry Baryshkov 	"cfg_noc_usb2_axi",
137f80a1d41SAngeloGioacchino Del Regno };
138f80a1d41SAngeloGioacchino Del Regno 
1397ae77e60SDmitry Baryshkov static const u16 mas_ipa_links[] = {
1407ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
1417ae77e60SDmitry Baryshkov };
142f80a1d41SAngeloGioacchino Del Regno 
1437ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_ipa = {
1447ae77e60SDmitry Baryshkov 	.name = "mas_ipa",
1457ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_IPA,
1467ae77e60SDmitry Baryshkov 	.buswidth = 8,
1477ae77e60SDmitry Baryshkov 	.mas_rpm_id = 59,
1487ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
1497ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1507ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
1517ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
1527ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
1537ae77e60SDmitry Baryshkov 	.qos.qos_port = 3,
1547ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_ipa_links),
1557ae77e60SDmitry Baryshkov 	.links = mas_ipa_links,
1567ae77e60SDmitry Baryshkov };
1577ae77e60SDmitry Baryshkov 
1587ae77e60SDmitry Baryshkov static const u16 mas_cnoc_a2noc_links[] = {
1597ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
1607ae77e60SDmitry Baryshkov };
1617ae77e60SDmitry Baryshkov 
1627ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_cnoc_a2noc = {
1637ae77e60SDmitry Baryshkov 	.name = "mas_cnoc_a2noc",
1647ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_CNOC_A2NOC,
1657ae77e60SDmitry Baryshkov 	.buswidth = 8,
1667ae77e60SDmitry Baryshkov 	.mas_rpm_id = 146,
1677ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
1687ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
169656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
1707ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_cnoc_a2noc_links),
1717ae77e60SDmitry Baryshkov 	.links = mas_cnoc_a2noc_links,
1727ae77e60SDmitry Baryshkov };
1737ae77e60SDmitry Baryshkov 
1747ae77e60SDmitry Baryshkov static const u16 mas_sdcc_1_links[] = {
1757ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
1767ae77e60SDmitry Baryshkov };
1777ae77e60SDmitry Baryshkov 
1787ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_sdcc_1 = {
1797ae77e60SDmitry Baryshkov 	.name = "mas_sdcc_1",
1807ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_SDCC_1,
1817ae77e60SDmitry Baryshkov 	.buswidth = 8,
1827ae77e60SDmitry Baryshkov 	.mas_rpm_id = 33,
1837ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
1847ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_sdcc_1_links),
1857ae77e60SDmitry Baryshkov 	.links = mas_sdcc_1_links,
1867ae77e60SDmitry Baryshkov };
1877ae77e60SDmitry Baryshkov 
1887ae77e60SDmitry Baryshkov static const u16 mas_sdcc_2_links[] = {
1897ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
1907ae77e60SDmitry Baryshkov };
1917ae77e60SDmitry Baryshkov 
1927ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_sdcc_2 = {
1937ae77e60SDmitry Baryshkov 	.name = "mas_sdcc_2",
1947ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_SDCC_2,
1957ae77e60SDmitry Baryshkov 	.buswidth = 8,
1967ae77e60SDmitry Baryshkov 	.mas_rpm_id = 35,
1977ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
1987ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_sdcc_2_links),
1997ae77e60SDmitry Baryshkov 	.links = mas_sdcc_2_links,
2007ae77e60SDmitry Baryshkov };
2017ae77e60SDmitry Baryshkov 
2027ae77e60SDmitry Baryshkov static const u16 mas_blsp_1_links[] = {
2037ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
2047ae77e60SDmitry Baryshkov };
2057ae77e60SDmitry Baryshkov 
2067ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_blsp_1 = {
2077ae77e60SDmitry Baryshkov 	.name = "mas_blsp_1",
2087ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_BLSP_1,
2097ae77e60SDmitry Baryshkov 	.buswidth = 4,
2107ae77e60SDmitry Baryshkov 	.mas_rpm_id = 41,
2117ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
2127ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_blsp_1_links),
2137ae77e60SDmitry Baryshkov 	.links = mas_blsp_1_links,
2147ae77e60SDmitry Baryshkov };
2157ae77e60SDmitry Baryshkov 
2167ae77e60SDmitry Baryshkov static const u16 mas_blsp_2_links[] = {
2177ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
2187ae77e60SDmitry Baryshkov };
2197ae77e60SDmitry Baryshkov 
2207ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_blsp_2 = {
2217ae77e60SDmitry Baryshkov 	.name = "mas_blsp_2",
2227ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_BLSP_2,
2237ae77e60SDmitry Baryshkov 	.buswidth = 4,
2247ae77e60SDmitry Baryshkov 	.mas_rpm_id = 39,
2257ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
2267ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_blsp_2_links),
2277ae77e60SDmitry Baryshkov 	.links = mas_blsp_2_links,
2287ae77e60SDmitry Baryshkov };
2297ae77e60SDmitry Baryshkov 
2307ae77e60SDmitry Baryshkov static const u16 mas_ufs_links[] = {
2317ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
2327ae77e60SDmitry Baryshkov };
2337ae77e60SDmitry Baryshkov 
2347ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_ufs = {
2357ae77e60SDmitry Baryshkov 	.name = "mas_ufs",
2367ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_UFS,
2377ae77e60SDmitry Baryshkov 	.buswidth = 8,
2387ae77e60SDmitry Baryshkov 	.mas_rpm_id = 68,
2397ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
2407ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
2417ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
2427ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
2437ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
2447ae77e60SDmitry Baryshkov 	.qos.qos_port = 4,
2457ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_ufs_links),
2467ae77e60SDmitry Baryshkov 	.links = mas_ufs_links,
2477ae77e60SDmitry Baryshkov };
2487ae77e60SDmitry Baryshkov 
2497ae77e60SDmitry Baryshkov static const u16 mas_usb_hs_links[] = {
2507ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
2517ae77e60SDmitry Baryshkov };
2527ae77e60SDmitry Baryshkov 
2537ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_usb_hs = {
2547ae77e60SDmitry Baryshkov 	.name = "mas_usb_hs",
2557ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_USB_HS,
2567ae77e60SDmitry Baryshkov 	.buswidth = 8,
2577ae77e60SDmitry Baryshkov 	.mas_rpm_id = 42,
2587ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
2597ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
2607ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
2617ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
2627ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
2637ae77e60SDmitry Baryshkov 	.qos.qos_port = 1,
2647ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_usb_hs_links),
2657ae77e60SDmitry Baryshkov 	.links = mas_usb_hs_links,
2667ae77e60SDmitry Baryshkov };
2677ae77e60SDmitry Baryshkov 
2687ae77e60SDmitry Baryshkov static const u16 mas_usb3_links[] = {
2697ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
2707ae77e60SDmitry Baryshkov };
2717ae77e60SDmitry Baryshkov 
2727ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_usb3 = {
2737ae77e60SDmitry Baryshkov 	.name = "mas_usb3",
2747ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_USB3,
2757ae77e60SDmitry Baryshkov 	.buswidth = 8,
2767ae77e60SDmitry Baryshkov 	.mas_rpm_id = 32,
2777ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
2787ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
2797ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
2807ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
2817ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
2827ae77e60SDmitry Baryshkov 	.qos.qos_port = 2,
2837ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_usb3_links),
2847ae77e60SDmitry Baryshkov 	.links = mas_usb3_links,
2857ae77e60SDmitry Baryshkov };
2867ae77e60SDmitry Baryshkov 
2877ae77e60SDmitry Baryshkov static const u16 mas_crypto_links[] = {
2887ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SNOC
2897ae77e60SDmitry Baryshkov };
2907ae77e60SDmitry Baryshkov 
2917ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_crypto = {
2927ae77e60SDmitry Baryshkov 	.name = "mas_crypto",
2937ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_CRYPTO_C0,
2947ae77e60SDmitry Baryshkov 	.buswidth = 8,
2957ae77e60SDmitry Baryshkov 	.mas_rpm_id = 23,
2967ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
2977ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
2987ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
2997ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
3007ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
3017ae77e60SDmitry Baryshkov 	.qos.qos_port = 11,
3027ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_crypto_links),
3037ae77e60SDmitry Baryshkov 	.links = mas_crypto_links,
3047ae77e60SDmitry Baryshkov };
3057ae77e60SDmitry Baryshkov 
3067ae77e60SDmitry Baryshkov static const u16 mas_gnoc_bimc_links[] = {
3077ae77e60SDmitry Baryshkov 	SDM660_SLAVE_EBI
3087ae77e60SDmitry Baryshkov };
3097ae77e60SDmitry Baryshkov 
3107ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_gnoc_bimc = {
3117ae77e60SDmitry Baryshkov 	.name = "mas_gnoc_bimc",
3127ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_GNOC_BIMC,
3137ae77e60SDmitry Baryshkov 	.buswidth = 4,
3147ae77e60SDmitry Baryshkov 	.mas_rpm_id = 144,
3157ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
3167ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
3177ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
3187ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
3197ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
3207ae77e60SDmitry Baryshkov 	.qos.qos_port = 0,
3217ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_gnoc_bimc_links),
3227ae77e60SDmitry Baryshkov 	.links = mas_gnoc_bimc_links,
3237ae77e60SDmitry Baryshkov };
3247ae77e60SDmitry Baryshkov 
3257ae77e60SDmitry Baryshkov static const u16 mas_oxili_links[] = {
3267ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS_L3,
3277ae77e60SDmitry Baryshkov 	SDM660_SLAVE_EBI,
3287ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BIMC_SNOC
3297ae77e60SDmitry Baryshkov };
3307ae77e60SDmitry Baryshkov 
3317ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_oxili = {
3327ae77e60SDmitry Baryshkov 	.name = "mas_oxili",
3337ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_OXILI,
3347ae77e60SDmitry Baryshkov 	.buswidth = 4,
3357ae77e60SDmitry Baryshkov 	.mas_rpm_id = 6,
3367ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
3377ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
3387ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
3397ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
3407ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
3417ae77e60SDmitry Baryshkov 	.qos.qos_port = 1,
3427ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_oxili_links),
3437ae77e60SDmitry Baryshkov 	.links = mas_oxili_links,
3447ae77e60SDmitry Baryshkov };
3457ae77e60SDmitry Baryshkov 
3467ae77e60SDmitry Baryshkov static const u16 mas_mnoc_bimc_links[] = {
3477ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS_L3,
3487ae77e60SDmitry Baryshkov 	SDM660_SLAVE_EBI,
3497ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BIMC_SNOC
3507ae77e60SDmitry Baryshkov };
3517ae77e60SDmitry Baryshkov 
3527ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_mnoc_bimc = {
3537ae77e60SDmitry Baryshkov 	.name = "mas_mnoc_bimc",
3547ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_MNOC_BIMC,
3557ae77e60SDmitry Baryshkov 	.buswidth = 4,
3567ae77e60SDmitry Baryshkov 	.mas_rpm_id = 2,
3577ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
3587ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
3597ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
3607ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
3617ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
3627ae77e60SDmitry Baryshkov 	.qos.qos_port = 2,
3637ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_mnoc_bimc_links),
3647ae77e60SDmitry Baryshkov 	.links = mas_mnoc_bimc_links,
3657ae77e60SDmitry Baryshkov };
3667ae77e60SDmitry Baryshkov 
3677ae77e60SDmitry Baryshkov static const u16 mas_snoc_bimc_links[] = {
3687ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS_L3,
3697ae77e60SDmitry Baryshkov 	SDM660_SLAVE_EBI
3707ae77e60SDmitry Baryshkov };
3717ae77e60SDmitry Baryshkov 
3727ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_snoc_bimc = {
3737ae77e60SDmitry Baryshkov 	.name = "mas_snoc_bimc",
3747ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_SNOC_BIMC,
3757ae77e60SDmitry Baryshkov 	.buswidth = 4,
3767ae77e60SDmitry Baryshkov 	.mas_rpm_id = 3,
3777ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
3787ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_snoc_bimc_links),
3797ae77e60SDmitry Baryshkov 	.links = mas_snoc_bimc_links,
3807ae77e60SDmitry Baryshkov };
3817ae77e60SDmitry Baryshkov 
3827ae77e60SDmitry Baryshkov static const u16 mas_pimem_links[] = {
3837ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS_L3,
3847ae77e60SDmitry Baryshkov 	SDM660_SLAVE_EBI
3857ae77e60SDmitry Baryshkov };
3867ae77e60SDmitry Baryshkov 
3877ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_pimem = {
3887ae77e60SDmitry Baryshkov 	.name = "mas_pimem",
3897ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_PIMEM,
3907ae77e60SDmitry Baryshkov 	.buswidth = 4,
3917ae77e60SDmitry Baryshkov 	.mas_rpm_id = 113,
3927ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
3937ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
3947ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
3957ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
3967ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
3977ae77e60SDmitry Baryshkov 	.qos.qos_port = 4,
3987ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_pimem_links),
3997ae77e60SDmitry Baryshkov 	.links = mas_pimem_links,
4007ae77e60SDmitry Baryshkov };
4017ae77e60SDmitry Baryshkov 
4027ae77e60SDmitry Baryshkov static const u16 mas_snoc_cnoc_links[] = {
4037ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CLK_CTL,
4047ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QDSS_CFG,
4057ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QM_CFG,
4067ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SRVC_CNOC,
4077ae77e60SDmitry Baryshkov 	SDM660_SLAVE_UFS_CFG,
4087ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TCSR,
4097ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SMMU_CFG,
4107ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CFG,
4117ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TLMM_SOUTH,
4127ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MPM,
4137ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CNOC_MNOC_MMSS_CFG,
4147ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SDCC_2,
4157ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SDCC_1,
4167ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SPDM,
4177ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PMIC_ARB,
4187ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PRNG,
4197ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MSS_CFG,
4207ae77e60SDmitry Baryshkov 	SDM660_SLAVE_GPUSS_CFG,
4217ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM_CFG,
4227ae77e60SDmitry Baryshkov 	SDM660_SLAVE_USB3_0,
4237ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_CFG,
4247ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TLMM_NORTH,
4257ae77e60SDmitry Baryshkov 	SDM660_SLAVE_USB_HS,
4267ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PDM,
4277ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TLMM_CENTER,
4287ae77e60SDmitry Baryshkov 	SDM660_SLAVE_AHB2PHY,
4297ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BLSP_2,
4307ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BLSP_1,
4317ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM_CFG,
4327ae77e60SDmitry Baryshkov 	SDM660_SLAVE_GLM,
4337ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MESSAGE_RAM,
4347ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BIMC_CFG,
4357ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CNOC_MNOC_CFG
4367ae77e60SDmitry Baryshkov };
4377ae77e60SDmitry Baryshkov 
4387ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_snoc_cnoc = {
4397ae77e60SDmitry Baryshkov 	.name = "mas_snoc_cnoc",
4407ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_SNOC_CNOC,
4417ae77e60SDmitry Baryshkov 	.buswidth = 8,
4427ae77e60SDmitry Baryshkov 	.mas_rpm_id = 52,
4437ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
4447ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
445656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
4467ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_snoc_cnoc_links),
4477ae77e60SDmitry Baryshkov 	.links = mas_snoc_cnoc_links,
4487ae77e60SDmitry Baryshkov };
4497ae77e60SDmitry Baryshkov 
4507ae77e60SDmitry Baryshkov static const u16 mas_qdss_dap_links[] = {
4517ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CLK_CTL,
4527ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QDSS_CFG,
4537ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QM_CFG,
4547ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SRVC_CNOC,
4557ae77e60SDmitry Baryshkov 	SDM660_SLAVE_UFS_CFG,
4567ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TCSR,
4577ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_SMMU_CFG,
4587ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CFG,
4597ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TLMM_SOUTH,
4607ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MPM,
4617ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CNOC_MNOC_MMSS_CFG,
4627ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SDCC_2,
4637ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SDCC_1,
4647ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SPDM,
4657ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PMIC_ARB,
4667ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PRNG,
4677ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MSS_CFG,
4687ae77e60SDmitry Baryshkov 	SDM660_SLAVE_GPUSS_CFG,
4697ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM_CFG,
4707ae77e60SDmitry Baryshkov 	SDM660_SLAVE_USB3_0,
4717ae77e60SDmitry Baryshkov 	SDM660_SLAVE_A2NOC_CFG,
4727ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TLMM_NORTH,
4737ae77e60SDmitry Baryshkov 	SDM660_SLAVE_USB_HS,
4747ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PDM,
4757ae77e60SDmitry Baryshkov 	SDM660_SLAVE_TLMM_CENTER,
4767ae77e60SDmitry Baryshkov 	SDM660_SLAVE_AHB2PHY,
4777ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BLSP_2,
4787ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BLSP_1,
4797ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM_CFG,
4807ae77e60SDmitry Baryshkov 	SDM660_SLAVE_GLM,
4817ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MESSAGE_RAM,
4827ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CNOC_A2NOC,
4837ae77e60SDmitry Baryshkov 	SDM660_SLAVE_BIMC_CFG,
4847ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CNOC_MNOC_CFG
4857ae77e60SDmitry Baryshkov };
4867ae77e60SDmitry Baryshkov 
4877ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_qdss_dap = {
4887ae77e60SDmitry Baryshkov 	.name = "mas_qdss_dap",
4897ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_QDSS_DAP,
4907ae77e60SDmitry Baryshkov 	.buswidth = 8,
4917ae77e60SDmitry Baryshkov 	.mas_rpm_id = 49,
4927ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
4937ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
494656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
4957ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_qdss_dap_links),
4967ae77e60SDmitry Baryshkov 	.links = mas_qdss_dap_links,
4977ae77e60SDmitry Baryshkov };
4987ae77e60SDmitry Baryshkov 
4997ae77e60SDmitry Baryshkov static const u16 mas_apss_proc_links[] = {
5007ae77e60SDmitry Baryshkov 	SDM660_SLAVE_GNOC_SNOC,
5017ae77e60SDmitry Baryshkov 	SDM660_SLAVE_GNOC_BIMC
5027ae77e60SDmitry Baryshkov };
5037ae77e60SDmitry Baryshkov 
5047ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_apss_proc = {
5057ae77e60SDmitry Baryshkov 	.name = "mas_apss_proc",
5067ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_APPS_PROC,
5077ae77e60SDmitry Baryshkov 	.buswidth = 16,
5087ae77e60SDmitry Baryshkov 	.mas_rpm_id = 0,
5097ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
5107ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
511656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
5127ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_apss_proc_links),
5137ae77e60SDmitry Baryshkov 	.links = mas_apss_proc_links,
5147ae77e60SDmitry Baryshkov };
5157ae77e60SDmitry Baryshkov 
5167ae77e60SDmitry Baryshkov static const u16 mas_cnoc_mnoc_mmss_cfg_links[] = {
5177ae77e60SDmitry Baryshkov 	SDM660_SLAVE_VENUS_THROTTLE_CFG,
5187ae77e60SDmitry Baryshkov 	SDM660_SLAVE_VENUS_CFG,
5197ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CAMERA_THROTTLE_CFG,
5207ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SMMU_CFG,
5217ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CAMERA_CFG,
5227ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CSI_PHY_CFG,
5237ae77e60SDmitry Baryshkov 	SDM660_SLAVE_DISPLAY_THROTTLE_CFG,
5247ae77e60SDmitry Baryshkov 	SDM660_SLAVE_DISPLAY_CFG,
5257ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MMSS_CLK_CFG,
5267ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_MPU_CFG,
5277ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MISC_CFG,
5287ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MMSS_CLK_XPU_CFG
5297ae77e60SDmitry Baryshkov };
5307ae77e60SDmitry Baryshkov 
5317ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_cnoc_mnoc_mmss_cfg = {
5327ae77e60SDmitry Baryshkov 	.name = "mas_cnoc_mnoc_mmss_cfg",
5337ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_CNOC_MNOC_MMSS_CFG,
5347ae77e60SDmitry Baryshkov 	.buswidth = 8,
5357ae77e60SDmitry Baryshkov 	.mas_rpm_id = 4,
5367ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
5377ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
538656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
5397ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_cnoc_mnoc_mmss_cfg_links),
5407ae77e60SDmitry Baryshkov 	.links = mas_cnoc_mnoc_mmss_cfg_links,
5417ae77e60SDmitry Baryshkov };
5427ae77e60SDmitry Baryshkov 
5437ae77e60SDmitry Baryshkov static const u16 mas_cnoc_mnoc_cfg_links[] = {
5447ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SRVC_MNOC
5457ae77e60SDmitry Baryshkov };
5467ae77e60SDmitry Baryshkov 
5477ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_cnoc_mnoc_cfg = {
5487ae77e60SDmitry Baryshkov 	.name = "mas_cnoc_mnoc_cfg",
5497ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_CNOC_MNOC_CFG,
5507ae77e60SDmitry Baryshkov 	.buswidth = 4,
5517ae77e60SDmitry Baryshkov 	.mas_rpm_id = 5,
5527ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
5537ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
554656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
5557ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_cnoc_mnoc_cfg_links),
5567ae77e60SDmitry Baryshkov 	.links = mas_cnoc_mnoc_cfg_links,
5577ae77e60SDmitry Baryshkov };
5587ae77e60SDmitry Baryshkov 
5597ae77e60SDmitry Baryshkov static const u16 mas_cpp_links[] = {
5607ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_BIMC
5617ae77e60SDmitry Baryshkov };
5627ae77e60SDmitry Baryshkov 
5637ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_cpp = {
5647ae77e60SDmitry Baryshkov 	.name = "mas_cpp",
5657ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_CPP,
5667ae77e60SDmitry Baryshkov 	.buswidth = 16,
5677ae77e60SDmitry Baryshkov 	.mas_rpm_id = 115,
5687ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
5697ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
5707ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
5717ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
5727ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
5737ae77e60SDmitry Baryshkov 	.qos.qos_port = 4,
5747ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_cpp_links),
5757ae77e60SDmitry Baryshkov 	.links = mas_cpp_links,
5767ae77e60SDmitry Baryshkov };
5777ae77e60SDmitry Baryshkov 
5787ae77e60SDmitry Baryshkov static const u16 mas_jpeg_links[] = {
5797ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_BIMC
5807ae77e60SDmitry Baryshkov };
5817ae77e60SDmitry Baryshkov 
5827ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_jpeg = {
5837ae77e60SDmitry Baryshkov 	.name = "mas_jpeg",
5847ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_JPEG,
5857ae77e60SDmitry Baryshkov 	.buswidth = 16,
5867ae77e60SDmitry Baryshkov 	.mas_rpm_id = 7,
5877ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
5887ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
5897ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
5907ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
5917ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
5927ae77e60SDmitry Baryshkov 	.qos.qos_port = 6,
5937ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_jpeg_links),
5947ae77e60SDmitry Baryshkov 	.links = mas_jpeg_links,
5957ae77e60SDmitry Baryshkov };
5967ae77e60SDmitry Baryshkov 
5977ae77e60SDmitry Baryshkov static const u16 mas_mdp_p0_links[] = {
5987ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_BIMC
5997ae77e60SDmitry Baryshkov };
6007ae77e60SDmitry Baryshkov 
6017ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_mdp_p0 = {
6027ae77e60SDmitry Baryshkov 	.name = "mas_mdp_p0",
6037ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_MDP_P0,
6047ae77e60SDmitry Baryshkov 	.buswidth = 16,
6057ae77e60SDmitry Baryshkov 	.mas_rpm_id = 8,
6067ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
6077ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
6087ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
6097ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
6107ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
6117ae77e60SDmitry Baryshkov 	.qos.qos_port = 0,
6127ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_mdp_p0_links),
6137ae77e60SDmitry Baryshkov 	.links = mas_mdp_p0_links,
6147ae77e60SDmitry Baryshkov };
6157ae77e60SDmitry Baryshkov 
6167ae77e60SDmitry Baryshkov static const u16 mas_mdp_p1_links[] = {
6177ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_BIMC
6187ae77e60SDmitry Baryshkov };
6197ae77e60SDmitry Baryshkov 
6207ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_mdp_p1 = {
6217ae77e60SDmitry Baryshkov 	.name = "mas_mdp_p1",
6227ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_MDP_P1,
6237ae77e60SDmitry Baryshkov 	.buswidth = 16,
6247ae77e60SDmitry Baryshkov 	.mas_rpm_id = 61,
6257ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
6267ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
6277ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
6287ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
6297ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
6307ae77e60SDmitry Baryshkov 	.qos.qos_port = 1,
6317ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_mdp_p1_links),
6327ae77e60SDmitry Baryshkov 	.links = mas_mdp_p1_links,
6337ae77e60SDmitry Baryshkov };
6347ae77e60SDmitry Baryshkov 
6357ae77e60SDmitry Baryshkov static const u16 mas_venus_links[] = {
6367ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_BIMC
6377ae77e60SDmitry Baryshkov };
6387ae77e60SDmitry Baryshkov 
6397ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_venus = {
6407ae77e60SDmitry Baryshkov 	.name = "mas_venus",
6417ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_VENUS,
6427ae77e60SDmitry Baryshkov 	.buswidth = 16,
6437ae77e60SDmitry Baryshkov 	.mas_rpm_id = 9,
6447ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
6457ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
6467ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
6477ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
6487ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
6497ae77e60SDmitry Baryshkov 	.qos.qos_port = 1,
6507ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_venus_links),
6517ae77e60SDmitry Baryshkov 	.links = mas_venus_links,
6527ae77e60SDmitry Baryshkov };
6537ae77e60SDmitry Baryshkov 
6547ae77e60SDmitry Baryshkov static const u16 mas_vfe_links[] = {
6557ae77e60SDmitry Baryshkov 	SDM660_SLAVE_MNOC_BIMC
6567ae77e60SDmitry Baryshkov };
6577ae77e60SDmitry Baryshkov 
6587ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_vfe = {
6597ae77e60SDmitry Baryshkov 	.name = "mas_vfe",
6607ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_VFE,
6617ae77e60SDmitry Baryshkov 	.buswidth = 16,
6627ae77e60SDmitry Baryshkov 	.mas_rpm_id = 11,
6637ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
6647ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
6657ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_BYPASS,
6667ae77e60SDmitry Baryshkov 	.qos.areq_prio = 0,
6677ae77e60SDmitry Baryshkov 	.qos.prio_level = 0,
6687ae77e60SDmitry Baryshkov 	.qos.qos_port = 5,
6697ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_vfe_links),
6707ae77e60SDmitry Baryshkov 	.links = mas_vfe_links,
6717ae77e60SDmitry Baryshkov };
6727ae77e60SDmitry Baryshkov 
6737ae77e60SDmitry Baryshkov static const u16 mas_qdss_etr_links[] = {
6747ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM,
6757ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM,
6767ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CNOC,
6777ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_BIMC
6787ae77e60SDmitry Baryshkov };
6797ae77e60SDmitry Baryshkov 
6807ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_qdss_etr = {
6817ae77e60SDmitry Baryshkov 	.name = "mas_qdss_etr",
6827ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_QDSS_ETR,
6837ae77e60SDmitry Baryshkov 	.buswidth = 8,
6847ae77e60SDmitry Baryshkov 	.mas_rpm_id = 31,
6857ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
6867ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
6877ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
6887ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
6897ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
6907ae77e60SDmitry Baryshkov 	.qos.qos_port = 1,
6917ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_qdss_etr_links),
6927ae77e60SDmitry Baryshkov 	.links = mas_qdss_etr_links,
6937ae77e60SDmitry Baryshkov };
6947ae77e60SDmitry Baryshkov 
6957ae77e60SDmitry Baryshkov static const u16 mas_qdss_bam_links[] = {
6967ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM,
6977ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM,
6987ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CNOC,
6997ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_BIMC
7007ae77e60SDmitry Baryshkov };
7017ae77e60SDmitry Baryshkov 
7027ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_qdss_bam = {
7037ae77e60SDmitry Baryshkov 	.name = "mas_qdss_bam",
7047ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_QDSS_BAM,
7057ae77e60SDmitry Baryshkov 	.buswidth = 4,
7067ae77e60SDmitry Baryshkov 	.mas_rpm_id = 19,
7077ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
7087ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
7097ae77e60SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_FIXED,
7107ae77e60SDmitry Baryshkov 	.qos.areq_prio = 1,
7117ae77e60SDmitry Baryshkov 	.qos.prio_level = 1,
7127ae77e60SDmitry Baryshkov 	.qos.qos_port = 0,
7137ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_qdss_bam_links),
7147ae77e60SDmitry Baryshkov 	.links = mas_qdss_bam_links,
7157ae77e60SDmitry Baryshkov };
7167ae77e60SDmitry Baryshkov 
7177ae77e60SDmitry Baryshkov static const u16 mas_snoc_cfg_links[] = {
7187ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SRVC_SNOC
7197ae77e60SDmitry Baryshkov };
7207ae77e60SDmitry Baryshkov 
7217ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_snoc_cfg = {
7227ae77e60SDmitry Baryshkov 	.name = "mas_snoc_cfg",
7237ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_SNOC_CFG,
7247ae77e60SDmitry Baryshkov 	.buswidth = 4,
7257ae77e60SDmitry Baryshkov 	.mas_rpm_id = 20,
7267ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
7277ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_snoc_cfg_links),
7287ae77e60SDmitry Baryshkov 	.links = mas_snoc_cfg_links,
7297ae77e60SDmitry Baryshkov };
7307ae77e60SDmitry Baryshkov 
7317ae77e60SDmitry Baryshkov static const u16 mas_bimc_snoc_links[] = {
7327ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM,
7337ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IPA,
7347ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QDSS_STM,
7357ae77e60SDmitry Baryshkov 	SDM660_SLAVE_LPASS,
7367ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS,
7377ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CDSP,
7387ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CNOC,
7397ae77e60SDmitry Baryshkov 	SDM660_SLAVE_WLAN,
7407ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM
7417ae77e60SDmitry Baryshkov };
7427ae77e60SDmitry Baryshkov 
7437ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_bimc_snoc = {
7447ae77e60SDmitry Baryshkov 	.name = "mas_bimc_snoc",
7457ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_BIMC_SNOC,
7467ae77e60SDmitry Baryshkov 	.buswidth = 8,
7477ae77e60SDmitry Baryshkov 	.mas_rpm_id = 21,
7487ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
7497ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_bimc_snoc_links),
7507ae77e60SDmitry Baryshkov 	.links = mas_bimc_snoc_links,
7517ae77e60SDmitry Baryshkov };
7527ae77e60SDmitry Baryshkov 
7537ae77e60SDmitry Baryshkov static const u16 mas_gnoc_snoc_links[] = {
7547ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM,
7557ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IPA,
7567ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QDSS_STM,
7577ae77e60SDmitry Baryshkov 	SDM660_SLAVE_LPASS,
7587ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS,
7597ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CDSP,
7607ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CNOC,
7617ae77e60SDmitry Baryshkov 	SDM660_SLAVE_WLAN,
7627ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM
7637ae77e60SDmitry Baryshkov };
7647ae77e60SDmitry Baryshkov 
7657ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_gnoc_snoc = {
7667ae77e60SDmitry Baryshkov 	.name = "mas_gnoc_snoc",
7677ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_GNOC_SNOC,
7687ae77e60SDmitry Baryshkov 	.buswidth = 8,
7697ae77e60SDmitry Baryshkov 	.mas_rpm_id = 150,
7707ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
7717ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_gnoc_snoc_links),
7727ae77e60SDmitry Baryshkov 	.links = mas_gnoc_snoc_links,
7737ae77e60SDmitry Baryshkov };
7747ae77e60SDmitry Baryshkov 
7757ae77e60SDmitry Baryshkov static const u16 mas_a2noc_snoc_links[] = {
7767ae77e60SDmitry Baryshkov 	SDM660_SLAVE_PIMEM,
7777ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IPA,
7787ae77e60SDmitry Baryshkov 	SDM660_SLAVE_QDSS_STM,
7797ae77e60SDmitry Baryshkov 	SDM660_SLAVE_LPASS,
7807ae77e60SDmitry Baryshkov 	SDM660_SLAVE_HMSS,
7817ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_BIMC,
7827ae77e60SDmitry Baryshkov 	SDM660_SLAVE_CDSP,
7837ae77e60SDmitry Baryshkov 	SDM660_SLAVE_SNOC_CNOC,
7847ae77e60SDmitry Baryshkov 	SDM660_SLAVE_WLAN,
7857ae77e60SDmitry Baryshkov 	SDM660_SLAVE_IMEM
7867ae77e60SDmitry Baryshkov };
7877ae77e60SDmitry Baryshkov 
7887ae77e60SDmitry Baryshkov static struct qcom_icc_node mas_a2noc_snoc = {
7897ae77e60SDmitry Baryshkov 	.name = "mas_a2noc_snoc",
7907ae77e60SDmitry Baryshkov 	.id = SDM660_MASTER_A2NOC_SNOC,
7917ae77e60SDmitry Baryshkov 	.buswidth = 16,
7927ae77e60SDmitry Baryshkov 	.mas_rpm_id = 112,
7937ae77e60SDmitry Baryshkov 	.slv_rpm_id = -1,
7947ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(mas_a2noc_snoc_links),
7957ae77e60SDmitry Baryshkov 	.links = mas_a2noc_snoc_links,
7967ae77e60SDmitry Baryshkov };
7977ae77e60SDmitry Baryshkov 
7987ae77e60SDmitry Baryshkov static const u16 slv_a2noc_snoc_links[] = {
7997ae77e60SDmitry Baryshkov 	SDM660_MASTER_A2NOC_SNOC
8007ae77e60SDmitry Baryshkov };
8017ae77e60SDmitry Baryshkov 
8027ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_a2noc_snoc = {
8037ae77e60SDmitry Baryshkov 	.name = "slv_a2noc_snoc",
8047ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_A2NOC_SNOC,
8057ae77e60SDmitry Baryshkov 	.buswidth = 16,
8067ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8077ae77e60SDmitry Baryshkov 	.slv_rpm_id = 143,
8087ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_a2noc_snoc_links),
8097ae77e60SDmitry Baryshkov 	.links = slv_a2noc_snoc_links,
8107ae77e60SDmitry Baryshkov };
8117ae77e60SDmitry Baryshkov 
8127ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_ebi = {
8137ae77e60SDmitry Baryshkov 	.name = "slv_ebi",
8147ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_EBI,
8157ae77e60SDmitry Baryshkov 	.buswidth = 4,
8167ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8177ae77e60SDmitry Baryshkov 	.slv_rpm_id = 0,
8187ae77e60SDmitry Baryshkov };
8197ae77e60SDmitry Baryshkov 
8207ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_hmss_l3 = {
8217ae77e60SDmitry Baryshkov 	.name = "slv_hmss_l3",
8227ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_HMSS_L3,
8237ae77e60SDmitry Baryshkov 	.buswidth = 4,
8247ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8257ae77e60SDmitry Baryshkov 	.slv_rpm_id = 160,
8267ae77e60SDmitry Baryshkov };
8277ae77e60SDmitry Baryshkov 
8287ae77e60SDmitry Baryshkov static const u16 slv_bimc_snoc_links[] = {
8297ae77e60SDmitry Baryshkov 	SDM660_MASTER_BIMC_SNOC
8307ae77e60SDmitry Baryshkov };
8317ae77e60SDmitry Baryshkov 
8327ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_bimc_snoc = {
8337ae77e60SDmitry Baryshkov 	.name = "slv_bimc_snoc",
8347ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_BIMC_SNOC,
8357ae77e60SDmitry Baryshkov 	.buswidth = 4,
8367ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8377ae77e60SDmitry Baryshkov 	.slv_rpm_id = 2,
8387ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_bimc_snoc_links),
8397ae77e60SDmitry Baryshkov 	.links = slv_bimc_snoc_links,
8407ae77e60SDmitry Baryshkov };
8417ae77e60SDmitry Baryshkov 
8427ae77e60SDmitry Baryshkov static const u16 slv_cnoc_a2noc_links[] = {
8437ae77e60SDmitry Baryshkov 	SDM660_MASTER_CNOC_A2NOC
8447ae77e60SDmitry Baryshkov };
8457ae77e60SDmitry Baryshkov 
8467ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_cnoc_a2noc = {
8477ae77e60SDmitry Baryshkov 	.name = "slv_cnoc_a2noc",
8487ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CNOC_A2NOC,
8497ae77e60SDmitry Baryshkov 	.buswidth = 8,
8507ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8517ae77e60SDmitry Baryshkov 	.slv_rpm_id = 208,
8527ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
853656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
8547ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_cnoc_a2noc_links),
8557ae77e60SDmitry Baryshkov 	.links = slv_cnoc_a2noc_links,
8567ae77e60SDmitry Baryshkov };
8577ae77e60SDmitry Baryshkov 
8587ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_mpm = {
8597ae77e60SDmitry Baryshkov 	.name = "slv_mpm",
8607ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MPM,
8617ae77e60SDmitry Baryshkov 	.buswidth = 4,
8627ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8637ae77e60SDmitry Baryshkov 	.slv_rpm_id = 62,
8647ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
865656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
8667ae77e60SDmitry Baryshkov };
8677ae77e60SDmitry Baryshkov 
8687ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_pmic_arb = {
8697ae77e60SDmitry Baryshkov 	.name = "slv_pmic_arb",
8707ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_PMIC_ARB,
8717ae77e60SDmitry Baryshkov 	.buswidth = 4,
8727ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8737ae77e60SDmitry Baryshkov 	.slv_rpm_id = 59,
8747ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
875656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
8767ae77e60SDmitry Baryshkov };
8777ae77e60SDmitry Baryshkov 
8787ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_tlmm_north = {
8797ae77e60SDmitry Baryshkov 	.name = "slv_tlmm_north",
8807ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_TLMM_NORTH,
8817ae77e60SDmitry Baryshkov 	.buswidth = 8,
8827ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8837ae77e60SDmitry Baryshkov 	.slv_rpm_id = 214,
8847ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
885656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
8867ae77e60SDmitry Baryshkov };
8877ae77e60SDmitry Baryshkov 
8887ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_tcsr = {
8897ae77e60SDmitry Baryshkov 	.name = "slv_tcsr",
8907ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_TCSR,
8917ae77e60SDmitry Baryshkov 	.buswidth = 4,
8927ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
8937ae77e60SDmitry Baryshkov 	.slv_rpm_id = 50,
8947ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
895656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
8967ae77e60SDmitry Baryshkov };
8977ae77e60SDmitry Baryshkov 
8987ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_pimem_cfg = {
8997ae77e60SDmitry Baryshkov 	.name = "slv_pimem_cfg",
9007ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_PIMEM_CFG,
9017ae77e60SDmitry Baryshkov 	.buswidth = 4,
9027ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9037ae77e60SDmitry Baryshkov 	.slv_rpm_id = 167,
9047ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
905656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9067ae77e60SDmitry Baryshkov };
9077ae77e60SDmitry Baryshkov 
9087ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_imem_cfg = {
9097ae77e60SDmitry Baryshkov 	.name = "slv_imem_cfg",
9107ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_IMEM_CFG,
9117ae77e60SDmitry Baryshkov 	.buswidth = 4,
9127ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9137ae77e60SDmitry Baryshkov 	.slv_rpm_id = 54,
9147ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
915656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9167ae77e60SDmitry Baryshkov };
9177ae77e60SDmitry Baryshkov 
9187ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_message_ram = {
9197ae77e60SDmitry Baryshkov 	.name = "slv_message_ram",
9207ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MESSAGE_RAM,
9217ae77e60SDmitry Baryshkov 	.buswidth = 4,
9227ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9237ae77e60SDmitry Baryshkov 	.slv_rpm_id = 55,
9247ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
925656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9267ae77e60SDmitry Baryshkov };
9277ae77e60SDmitry Baryshkov 
9287ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_glm = {
9297ae77e60SDmitry Baryshkov 	.name = "slv_glm",
9307ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_GLM,
9317ae77e60SDmitry Baryshkov 	.buswidth = 4,
9327ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9337ae77e60SDmitry Baryshkov 	.slv_rpm_id = 209,
9347ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
935656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9367ae77e60SDmitry Baryshkov };
9377ae77e60SDmitry Baryshkov 
9387ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_bimc_cfg = {
9397ae77e60SDmitry Baryshkov 	.name = "slv_bimc_cfg",
9407ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_BIMC_CFG,
9417ae77e60SDmitry Baryshkov 	.buswidth = 4,
9427ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9437ae77e60SDmitry Baryshkov 	.slv_rpm_id = 56,
9447ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
945656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9467ae77e60SDmitry Baryshkov };
9477ae77e60SDmitry Baryshkov 
9487ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_prng = {
9497ae77e60SDmitry Baryshkov 	.name = "slv_prng",
9507ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_PRNG,
9517ae77e60SDmitry Baryshkov 	.buswidth = 4,
9527ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9537ae77e60SDmitry Baryshkov 	.slv_rpm_id = 44,
9547ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
955656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9567ae77e60SDmitry Baryshkov };
9577ae77e60SDmitry Baryshkov 
9587ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_spdm = {
9597ae77e60SDmitry Baryshkov 	.name = "slv_spdm",
9607ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SPDM,
9617ae77e60SDmitry Baryshkov 	.buswidth = 4,
9627ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9637ae77e60SDmitry Baryshkov 	.slv_rpm_id = 60,
9647ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
965656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9667ae77e60SDmitry Baryshkov };
9677ae77e60SDmitry Baryshkov 
9687ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_qdss_cfg = {
9697ae77e60SDmitry Baryshkov 	.name = "slv_qdss_cfg",
9707ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_QDSS_CFG,
9717ae77e60SDmitry Baryshkov 	.buswidth = 4,
9727ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9737ae77e60SDmitry Baryshkov 	.slv_rpm_id = 63,
9747ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
975656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9767ae77e60SDmitry Baryshkov };
9777ae77e60SDmitry Baryshkov 
9787ae77e60SDmitry Baryshkov static const u16 slv_cnoc_mnoc_cfg_links[] = {
9797ae77e60SDmitry Baryshkov 	SDM660_MASTER_CNOC_MNOC_CFG
9807ae77e60SDmitry Baryshkov };
9817ae77e60SDmitry Baryshkov 
9827ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_cnoc_mnoc_cfg = {
9837ae77e60SDmitry Baryshkov 	.name = "slv_cnoc_mnoc_cfg",
9847ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CNOC_MNOC_CFG,
9857ae77e60SDmitry Baryshkov 	.buswidth = 4,
9867ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9877ae77e60SDmitry Baryshkov 	.slv_rpm_id = 66,
9887ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
989656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
9907ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_cnoc_mnoc_cfg_links),
9917ae77e60SDmitry Baryshkov 	.links = slv_cnoc_mnoc_cfg_links,
9927ae77e60SDmitry Baryshkov };
9937ae77e60SDmitry Baryshkov 
9947ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_snoc_cfg = {
9957ae77e60SDmitry Baryshkov 	.name = "slv_snoc_cfg",
9967ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SNOC_CFG,
9977ae77e60SDmitry Baryshkov 	.buswidth = 4,
9987ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
9997ae77e60SDmitry Baryshkov 	.slv_rpm_id = 70,
10007ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1001656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10027ae77e60SDmitry Baryshkov };
10037ae77e60SDmitry Baryshkov 
10047ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_qm_cfg = {
10057ae77e60SDmitry Baryshkov 	.name = "slv_qm_cfg",
10067ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_QM_CFG,
10077ae77e60SDmitry Baryshkov 	.buswidth = 4,
10087ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10097ae77e60SDmitry Baryshkov 	.slv_rpm_id = 212,
10107ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1011656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10127ae77e60SDmitry Baryshkov };
10137ae77e60SDmitry Baryshkov 
10147ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_clk_ctl = {
10157ae77e60SDmitry Baryshkov 	.name = "slv_clk_ctl",
10167ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CLK_CTL,
10177ae77e60SDmitry Baryshkov 	.buswidth = 4,
10187ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10197ae77e60SDmitry Baryshkov 	.slv_rpm_id = 47,
10207ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1021656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10227ae77e60SDmitry Baryshkov };
10237ae77e60SDmitry Baryshkov 
10247ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_mss_cfg = {
10257ae77e60SDmitry Baryshkov 	.name = "slv_mss_cfg",
10267ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MSS_CFG,
10277ae77e60SDmitry Baryshkov 	.buswidth = 4,
10287ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10297ae77e60SDmitry Baryshkov 	.slv_rpm_id = 48,
10307ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1031656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10327ae77e60SDmitry Baryshkov };
10337ae77e60SDmitry Baryshkov 
10347ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_tlmm_south = {
10357ae77e60SDmitry Baryshkov 	.name = "slv_tlmm_south",
10367ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_TLMM_SOUTH,
10377ae77e60SDmitry Baryshkov 	.buswidth = 4,
10387ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10397ae77e60SDmitry Baryshkov 	.slv_rpm_id = 217,
10407ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1041656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10427ae77e60SDmitry Baryshkov };
10437ae77e60SDmitry Baryshkov 
10447ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_ufs_cfg = {
10457ae77e60SDmitry Baryshkov 	.name = "slv_ufs_cfg",
10467ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_UFS_CFG,
10477ae77e60SDmitry Baryshkov 	.buswidth = 4,
10487ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10497ae77e60SDmitry Baryshkov 	.slv_rpm_id = 92,
10507ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1051656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10527ae77e60SDmitry Baryshkov };
10537ae77e60SDmitry Baryshkov 
10547ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_a2noc_cfg = {
10557ae77e60SDmitry Baryshkov 	.name = "slv_a2noc_cfg",
10567ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_A2NOC_CFG,
10577ae77e60SDmitry Baryshkov 	.buswidth = 4,
10587ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10597ae77e60SDmitry Baryshkov 	.slv_rpm_id = 150,
10607ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1061656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10627ae77e60SDmitry Baryshkov };
10637ae77e60SDmitry Baryshkov 
10647ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_a2noc_smmu_cfg = {
10657ae77e60SDmitry Baryshkov 	.name = "slv_a2noc_smmu_cfg",
10667ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_A2NOC_SMMU_CFG,
10677ae77e60SDmitry Baryshkov 	.buswidth = 8,
10687ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10697ae77e60SDmitry Baryshkov 	.slv_rpm_id = 152,
10707ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1071656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10727ae77e60SDmitry Baryshkov };
10737ae77e60SDmitry Baryshkov 
10747ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_gpuss_cfg = {
10757ae77e60SDmitry Baryshkov 	.name = "slv_gpuss_cfg",
10767ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_GPUSS_CFG,
10777ae77e60SDmitry Baryshkov 	.buswidth = 8,
10787ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10797ae77e60SDmitry Baryshkov 	.slv_rpm_id = 11,
10807ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1081656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10827ae77e60SDmitry Baryshkov };
10837ae77e60SDmitry Baryshkov 
10847ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_ahb2phy = {
10857ae77e60SDmitry Baryshkov 	.name = "slv_ahb2phy",
10867ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_AHB2PHY,
10877ae77e60SDmitry Baryshkov 	.buswidth = 4,
10887ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10897ae77e60SDmitry Baryshkov 	.slv_rpm_id = 163,
10907ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1091656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
10927ae77e60SDmitry Baryshkov };
10937ae77e60SDmitry Baryshkov 
10947ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_blsp_1 = {
10957ae77e60SDmitry Baryshkov 	.name = "slv_blsp_1",
10967ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_BLSP_1,
10977ae77e60SDmitry Baryshkov 	.buswidth = 4,
10987ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
10997ae77e60SDmitry Baryshkov 	.slv_rpm_id = 39,
11007ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1101656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11027ae77e60SDmitry Baryshkov };
11037ae77e60SDmitry Baryshkov 
11047ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_sdcc_1 = {
11057ae77e60SDmitry Baryshkov 	.name = "slv_sdcc_1",
11067ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SDCC_1,
11077ae77e60SDmitry Baryshkov 	.buswidth = 4,
11087ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11097ae77e60SDmitry Baryshkov 	.slv_rpm_id = 31,
11107ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1111656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11127ae77e60SDmitry Baryshkov };
11137ae77e60SDmitry Baryshkov 
11147ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_sdcc_2 = {
11157ae77e60SDmitry Baryshkov 	.name = "slv_sdcc_2",
11167ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SDCC_2,
11177ae77e60SDmitry Baryshkov 	.buswidth = 4,
11187ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11197ae77e60SDmitry Baryshkov 	.slv_rpm_id = 33,
11207ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1121656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11227ae77e60SDmitry Baryshkov };
11237ae77e60SDmitry Baryshkov 
11247ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_tlmm_center = {
11257ae77e60SDmitry Baryshkov 	.name = "slv_tlmm_center",
11267ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_TLMM_CENTER,
11277ae77e60SDmitry Baryshkov 	.buswidth = 4,
11287ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11297ae77e60SDmitry Baryshkov 	.slv_rpm_id = 218,
11307ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1131656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11327ae77e60SDmitry Baryshkov };
11337ae77e60SDmitry Baryshkov 
11347ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_blsp_2 = {
11357ae77e60SDmitry Baryshkov 	.name = "slv_blsp_2",
11367ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_BLSP_2,
11377ae77e60SDmitry Baryshkov 	.buswidth = 4,
11387ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11397ae77e60SDmitry Baryshkov 	.slv_rpm_id = 37,
11407ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1141656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11427ae77e60SDmitry Baryshkov };
11437ae77e60SDmitry Baryshkov 
11447ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_pdm = {
11457ae77e60SDmitry Baryshkov 	.name = "slv_pdm",
11467ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_PDM,
11477ae77e60SDmitry Baryshkov 	.buswidth = 4,
11487ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11497ae77e60SDmitry Baryshkov 	.slv_rpm_id = 41,
11507ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1151656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11527ae77e60SDmitry Baryshkov };
11537ae77e60SDmitry Baryshkov 
11547ae77e60SDmitry Baryshkov static const u16 slv_cnoc_mnoc_mmss_cfg_links[] = {
11557ae77e60SDmitry Baryshkov 	SDM660_MASTER_CNOC_MNOC_MMSS_CFG
11567ae77e60SDmitry Baryshkov };
11577ae77e60SDmitry Baryshkov 
11587ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_cnoc_mnoc_mmss_cfg = {
11597ae77e60SDmitry Baryshkov 	.name = "slv_cnoc_mnoc_mmss_cfg",
11607ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CNOC_MNOC_MMSS_CFG,
11617ae77e60SDmitry Baryshkov 	.buswidth = 8,
11627ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11637ae77e60SDmitry Baryshkov 	.slv_rpm_id = 58,
11647ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1165656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11667ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_cnoc_mnoc_mmss_cfg_links),
11677ae77e60SDmitry Baryshkov 	.links = slv_cnoc_mnoc_mmss_cfg_links,
11687ae77e60SDmitry Baryshkov };
11697ae77e60SDmitry Baryshkov 
11707ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_usb_hs = {
11717ae77e60SDmitry Baryshkov 	.name = "slv_usb_hs",
11727ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_USB_HS,
11737ae77e60SDmitry Baryshkov 	.buswidth = 4,
11747ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11757ae77e60SDmitry Baryshkov 	.slv_rpm_id = 40,
11767ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1177656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11787ae77e60SDmitry Baryshkov };
11797ae77e60SDmitry Baryshkov 
11807ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_usb3_0 = {
11817ae77e60SDmitry Baryshkov 	.name = "slv_usb3_0",
11827ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_USB3_0,
11837ae77e60SDmitry Baryshkov 	.buswidth = 4,
11847ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11857ae77e60SDmitry Baryshkov 	.slv_rpm_id = 22,
11867ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1187656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11887ae77e60SDmitry Baryshkov };
11897ae77e60SDmitry Baryshkov 
11907ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_srvc_cnoc = {
11917ae77e60SDmitry Baryshkov 	.name = "slv_srvc_cnoc",
11927ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SRVC_CNOC,
11937ae77e60SDmitry Baryshkov 	.buswidth = 4,
11947ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
11957ae77e60SDmitry Baryshkov 	.slv_rpm_id = 76,
11967ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1197656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
11987ae77e60SDmitry Baryshkov };
11997ae77e60SDmitry Baryshkov 
12007ae77e60SDmitry Baryshkov static const u16 slv_gnoc_bimc_links[] = {
12017ae77e60SDmitry Baryshkov 	SDM660_MASTER_GNOC_BIMC
12027ae77e60SDmitry Baryshkov };
12037ae77e60SDmitry Baryshkov 
12047ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_gnoc_bimc = {
12057ae77e60SDmitry Baryshkov 	.name = "slv_gnoc_bimc",
12067ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_GNOC_BIMC,
12077ae77e60SDmitry Baryshkov 	.buswidth = 16,
12087ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12097ae77e60SDmitry Baryshkov 	.slv_rpm_id = 210,
12107ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1211656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12127ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_gnoc_bimc_links),
12137ae77e60SDmitry Baryshkov 	.links = slv_gnoc_bimc_links,
12147ae77e60SDmitry Baryshkov };
12157ae77e60SDmitry Baryshkov 
12167ae77e60SDmitry Baryshkov static const u16 slv_gnoc_snoc_links[] = {
12177ae77e60SDmitry Baryshkov 	SDM660_MASTER_GNOC_SNOC
12187ae77e60SDmitry Baryshkov };
12197ae77e60SDmitry Baryshkov 
12207ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_gnoc_snoc = {
12217ae77e60SDmitry Baryshkov 	.name = "slv_gnoc_snoc",
12227ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_GNOC_SNOC,
12237ae77e60SDmitry Baryshkov 	.buswidth = 8,
12247ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12257ae77e60SDmitry Baryshkov 	.slv_rpm_id = 211,
12267ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1227656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12287ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_gnoc_snoc_links),
12297ae77e60SDmitry Baryshkov 	.links = slv_gnoc_snoc_links,
12307ae77e60SDmitry Baryshkov };
12317ae77e60SDmitry Baryshkov 
12327ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_camera_cfg = {
12337ae77e60SDmitry Baryshkov 	.name = "slv_camera_cfg",
12347ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CAMERA_CFG,
12357ae77e60SDmitry Baryshkov 	.buswidth = 4,
12367ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12377ae77e60SDmitry Baryshkov 	.slv_rpm_id = 3,
12387ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1239656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12407ae77e60SDmitry Baryshkov };
12417ae77e60SDmitry Baryshkov 
12427ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_camera_throttle_cfg = {
12437ae77e60SDmitry Baryshkov 	.name = "slv_camera_throttle_cfg",
12447ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CAMERA_THROTTLE_CFG,
12457ae77e60SDmitry Baryshkov 	.buswidth = 4,
12467ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12477ae77e60SDmitry Baryshkov 	.slv_rpm_id = 154,
12487ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1249656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12507ae77e60SDmitry Baryshkov };
12517ae77e60SDmitry Baryshkov 
12527ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_misc_cfg = {
12537ae77e60SDmitry Baryshkov 	.name = "slv_misc_cfg",
12547ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MISC_CFG,
12557ae77e60SDmitry Baryshkov 	.buswidth = 4,
12567ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12577ae77e60SDmitry Baryshkov 	.slv_rpm_id = 8,
12587ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1259656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12607ae77e60SDmitry Baryshkov };
12617ae77e60SDmitry Baryshkov 
12627ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_venus_throttle_cfg = {
12637ae77e60SDmitry Baryshkov 	.name = "slv_venus_throttle_cfg",
12647ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_VENUS_THROTTLE_CFG,
12657ae77e60SDmitry Baryshkov 	.buswidth = 4,
12667ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12677ae77e60SDmitry Baryshkov 	.slv_rpm_id = 178,
12687ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1269656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12707ae77e60SDmitry Baryshkov };
12717ae77e60SDmitry Baryshkov 
12727ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_venus_cfg = {
12737ae77e60SDmitry Baryshkov 	.name = "slv_venus_cfg",
12747ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_VENUS_CFG,
12757ae77e60SDmitry Baryshkov 	.buswidth = 4,
12767ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12777ae77e60SDmitry Baryshkov 	.slv_rpm_id = 10,
12787ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1279656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12807ae77e60SDmitry Baryshkov };
12817ae77e60SDmitry Baryshkov 
12827ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_mmss_clk_xpu_cfg = {
12837ae77e60SDmitry Baryshkov 	.name = "slv_mmss_clk_xpu_cfg",
12847ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MMSS_CLK_XPU_CFG,
12857ae77e60SDmitry Baryshkov 	.buswidth = 4,
12867ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12877ae77e60SDmitry Baryshkov 	.slv_rpm_id = 13,
12887ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1289656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
12907ae77e60SDmitry Baryshkov };
12917ae77e60SDmitry Baryshkov 
12927ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_mmss_clk_cfg = {
12937ae77e60SDmitry Baryshkov 	.name = "slv_mmss_clk_cfg",
12947ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MMSS_CLK_CFG,
12957ae77e60SDmitry Baryshkov 	.buswidth = 4,
12967ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
12977ae77e60SDmitry Baryshkov 	.slv_rpm_id = 12,
12987ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1299656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13007ae77e60SDmitry Baryshkov };
13017ae77e60SDmitry Baryshkov 
13027ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_mnoc_mpu_cfg = {
13037ae77e60SDmitry Baryshkov 	.name = "slv_mnoc_mpu_cfg",
13047ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MNOC_MPU_CFG,
13057ae77e60SDmitry Baryshkov 	.buswidth = 4,
13067ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13077ae77e60SDmitry Baryshkov 	.slv_rpm_id = 14,
13087ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1309656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13107ae77e60SDmitry Baryshkov };
13117ae77e60SDmitry Baryshkov 
13127ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_display_cfg = {
13137ae77e60SDmitry Baryshkov 	.name = "slv_display_cfg",
13147ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_DISPLAY_CFG,
13157ae77e60SDmitry Baryshkov 	.buswidth = 4,
13167ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13177ae77e60SDmitry Baryshkov 	.slv_rpm_id = 4,
13187ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1319656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13207ae77e60SDmitry Baryshkov };
13217ae77e60SDmitry Baryshkov 
13227ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_csi_phy_cfg = {
13237ae77e60SDmitry Baryshkov 	.name = "slv_csi_phy_cfg",
13247ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CSI_PHY_CFG,
13257ae77e60SDmitry Baryshkov 	.buswidth = 4,
13267ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13277ae77e60SDmitry Baryshkov 	.slv_rpm_id = 224,
13287ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1329656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13307ae77e60SDmitry Baryshkov };
13317ae77e60SDmitry Baryshkov 
13327ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_display_throttle_cfg = {
13337ae77e60SDmitry Baryshkov 	.name = "slv_display_throttle_cfg",
13347ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_DISPLAY_THROTTLE_CFG,
13357ae77e60SDmitry Baryshkov 	.buswidth = 4,
13367ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13377ae77e60SDmitry Baryshkov 	.slv_rpm_id = 156,
13387ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1339656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13407ae77e60SDmitry Baryshkov };
13417ae77e60SDmitry Baryshkov 
13427ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_smmu_cfg = {
13437ae77e60SDmitry Baryshkov 	.name = "slv_smmu_cfg",
13447ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SMMU_CFG,
13457ae77e60SDmitry Baryshkov 	.buswidth = 8,
13467ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13477ae77e60SDmitry Baryshkov 	.slv_rpm_id = 205,
13487ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1349656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13507ae77e60SDmitry Baryshkov };
13517ae77e60SDmitry Baryshkov 
13527ae77e60SDmitry Baryshkov static const u16 slv_mnoc_bimc_links[] = {
13537ae77e60SDmitry Baryshkov 	SDM660_MASTER_MNOC_BIMC
13547ae77e60SDmitry Baryshkov };
13557ae77e60SDmitry Baryshkov 
13567ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_mnoc_bimc = {
13577ae77e60SDmitry Baryshkov 	.name = "slv_mnoc_bimc",
13587ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_MNOC_BIMC,
13597ae77e60SDmitry Baryshkov 	.buswidth = 16,
13607ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13617ae77e60SDmitry Baryshkov 	.slv_rpm_id = 16,
13627ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1363656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13647ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_mnoc_bimc_links),
13657ae77e60SDmitry Baryshkov 	.links = slv_mnoc_bimc_links,
13667ae77e60SDmitry Baryshkov };
13677ae77e60SDmitry Baryshkov 
13687ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_srvc_mnoc = {
13697ae77e60SDmitry Baryshkov 	.name = "slv_srvc_mnoc",
13707ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SRVC_MNOC,
13717ae77e60SDmitry Baryshkov 	.buswidth = 8,
13727ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13737ae77e60SDmitry Baryshkov 	.slv_rpm_id = 17,
13747ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1375656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13767ae77e60SDmitry Baryshkov };
13777ae77e60SDmitry Baryshkov 
13787ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_hmss = {
13797ae77e60SDmitry Baryshkov 	.name = "slv_hmss",
13807ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_HMSS,
13817ae77e60SDmitry Baryshkov 	.buswidth = 8,
13827ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13837ae77e60SDmitry Baryshkov 	.slv_rpm_id = 20,
13847ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1385656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13867ae77e60SDmitry Baryshkov };
13877ae77e60SDmitry Baryshkov 
13887ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_lpass = {
13897ae77e60SDmitry Baryshkov 	.name = "slv_lpass",
13907ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_LPASS,
13917ae77e60SDmitry Baryshkov 	.buswidth = 4,
13927ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
13937ae77e60SDmitry Baryshkov 	.slv_rpm_id = 21,
13947ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1395656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
13967ae77e60SDmitry Baryshkov };
13977ae77e60SDmitry Baryshkov 
13987ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_wlan = {
13997ae77e60SDmitry Baryshkov 	.name = "slv_wlan",
14007ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_WLAN,
14017ae77e60SDmitry Baryshkov 	.buswidth = 4,
14027ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14037ae77e60SDmitry Baryshkov 	.slv_rpm_id = 206,
14047ae77e60SDmitry Baryshkov };
14057ae77e60SDmitry Baryshkov 
14067ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_cdsp = {
14077ae77e60SDmitry Baryshkov 	.name = "slv_cdsp",
14087ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_CDSP,
14097ae77e60SDmitry Baryshkov 	.buswidth = 4,
14107ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14117ae77e60SDmitry Baryshkov 	.slv_rpm_id = 221,
14127ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1413656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
14147ae77e60SDmitry Baryshkov };
14157ae77e60SDmitry Baryshkov 
14167ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_ipa = {
14177ae77e60SDmitry Baryshkov 	.name = "slv_ipa",
14187ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_IPA,
14197ae77e60SDmitry Baryshkov 	.buswidth = 4,
14207ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14217ae77e60SDmitry Baryshkov 	.slv_rpm_id = 183,
14227ae77e60SDmitry Baryshkov 	.qos.ap_owned = true,
1423656ba110SDmitry Baryshkov 	.qos.qos_mode = NOC_QOS_MODE_INVALID,
14247ae77e60SDmitry Baryshkov };
14257ae77e60SDmitry Baryshkov 
14267ae77e60SDmitry Baryshkov static const u16 slv_snoc_bimc_links[] = {
14277ae77e60SDmitry Baryshkov 	SDM660_MASTER_SNOC_BIMC
14287ae77e60SDmitry Baryshkov };
14297ae77e60SDmitry Baryshkov 
14307ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_snoc_bimc = {
14317ae77e60SDmitry Baryshkov 	.name = "slv_snoc_bimc",
14327ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SNOC_BIMC,
14337ae77e60SDmitry Baryshkov 	.buswidth = 16,
14347ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14357ae77e60SDmitry Baryshkov 	.slv_rpm_id = 24,
14367ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_snoc_bimc_links),
14377ae77e60SDmitry Baryshkov 	.links = slv_snoc_bimc_links,
14387ae77e60SDmitry Baryshkov };
14397ae77e60SDmitry Baryshkov 
14407ae77e60SDmitry Baryshkov static const u16 slv_snoc_cnoc_links[] = {
14417ae77e60SDmitry Baryshkov 	SDM660_MASTER_SNOC_CNOC
14427ae77e60SDmitry Baryshkov };
14437ae77e60SDmitry Baryshkov 
14447ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_snoc_cnoc = {
14457ae77e60SDmitry Baryshkov 	.name = "slv_snoc_cnoc",
14467ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SNOC_CNOC,
14477ae77e60SDmitry Baryshkov 	.buswidth = 8,
14487ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14497ae77e60SDmitry Baryshkov 	.slv_rpm_id = 25,
14507ae77e60SDmitry Baryshkov 	.num_links = ARRAY_SIZE(slv_snoc_cnoc_links),
14517ae77e60SDmitry Baryshkov 	.links = slv_snoc_cnoc_links,
14527ae77e60SDmitry Baryshkov };
14537ae77e60SDmitry Baryshkov 
14547ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_imem = {
14557ae77e60SDmitry Baryshkov 	.name = "slv_imem",
14567ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_IMEM,
14577ae77e60SDmitry Baryshkov 	.buswidth = 8,
14587ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14597ae77e60SDmitry Baryshkov 	.slv_rpm_id = 26,
14607ae77e60SDmitry Baryshkov };
14617ae77e60SDmitry Baryshkov 
14627ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_pimem = {
14637ae77e60SDmitry Baryshkov 	.name = "slv_pimem",
14647ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_PIMEM,
14657ae77e60SDmitry Baryshkov 	.buswidth = 8,
14667ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14677ae77e60SDmitry Baryshkov 	.slv_rpm_id = 166,
14687ae77e60SDmitry Baryshkov };
14697ae77e60SDmitry Baryshkov 
14707ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_qdss_stm = {
14717ae77e60SDmitry Baryshkov 	.name = "slv_qdss_stm",
14727ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_QDSS_STM,
14737ae77e60SDmitry Baryshkov 	.buswidth = 4,
14747ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14757ae77e60SDmitry Baryshkov 	.slv_rpm_id = 30,
14767ae77e60SDmitry Baryshkov };
14777ae77e60SDmitry Baryshkov 
14787ae77e60SDmitry Baryshkov static struct qcom_icc_node slv_srvc_snoc = {
14797ae77e60SDmitry Baryshkov 	.name = "slv_srvc_snoc",
14807ae77e60SDmitry Baryshkov 	.id = SDM660_SLAVE_SRVC_SNOC,
14817ae77e60SDmitry Baryshkov 	.buswidth = 16,
14827ae77e60SDmitry Baryshkov 	.mas_rpm_id = -1,
14837ae77e60SDmitry Baryshkov 	.slv_rpm_id = 29,
14847ae77e60SDmitry Baryshkov };
1485f80a1d41SAngeloGioacchino Del Regno 
14862ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const sdm660_a2noc_nodes[] = {
1487f80a1d41SAngeloGioacchino Del Regno 	[MASTER_IPA] = &mas_ipa,
1488f80a1d41SAngeloGioacchino Del Regno 	[MASTER_CNOC_A2NOC] = &mas_cnoc_a2noc,
1489f80a1d41SAngeloGioacchino Del Regno 	[MASTER_SDCC_1] = &mas_sdcc_1,
1490f80a1d41SAngeloGioacchino Del Regno 	[MASTER_SDCC_2] = &mas_sdcc_2,
1491f80a1d41SAngeloGioacchino Del Regno 	[MASTER_BLSP_1] = &mas_blsp_1,
1492f80a1d41SAngeloGioacchino Del Regno 	[MASTER_BLSP_2] = &mas_blsp_2,
1493f80a1d41SAngeloGioacchino Del Regno 	[MASTER_UFS] = &mas_ufs,
1494f80a1d41SAngeloGioacchino Del Regno 	[MASTER_USB_HS] = &mas_usb_hs,
1495f80a1d41SAngeloGioacchino Del Regno 	[MASTER_USB3] = &mas_usb3,
1496f80a1d41SAngeloGioacchino Del Regno 	[MASTER_CRYPTO_C0] = &mas_crypto,
1497f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_A2NOC_SNOC] = &slv_a2noc_snoc,
1498f80a1d41SAngeloGioacchino Del Regno };
1499f80a1d41SAngeloGioacchino Del Regno 
1500f80a1d41SAngeloGioacchino Del Regno static const struct regmap_config sdm660_a2noc_regmap_config = {
1501f80a1d41SAngeloGioacchino Del Regno 	.reg_bits	= 32,
1502f80a1d41SAngeloGioacchino Del Regno 	.reg_stride	= 4,
1503f80a1d41SAngeloGioacchino Del Regno 	.val_bits	= 32,
1504f80a1d41SAngeloGioacchino Del Regno 	.max_register	= 0x20000,
1505f80a1d41SAngeloGioacchino Del Regno 	.fast_io	= true,
1506f80a1d41SAngeloGioacchino Del Regno };
1507f80a1d41SAngeloGioacchino Del Regno 
15081625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sdm660_a2noc = {
1509e9d54c26SShawn Guo 	.type = QCOM_ICC_NOC,
1510f80a1d41SAngeloGioacchino Del Regno 	.nodes = sdm660_a2noc_nodes,
1511f80a1d41SAngeloGioacchino Del Regno 	.num_nodes = ARRAY_SIZE(sdm660_a2noc_nodes),
151270ab8deeSKonrad Dybcio 	.bus_clk_desc = &aggre2_clk,
15132e2113c8SKonrad Dybcio 	.intf_clocks = a2noc_intf_clocks,
15142e2113c8SKonrad Dybcio 	.num_intf_clocks = ARRAY_SIZE(a2noc_intf_clocks),
1515f80a1d41SAngeloGioacchino Del Regno 	.regmap_cfg = &sdm660_a2noc_regmap_config,
1516f80a1d41SAngeloGioacchino Del Regno };
1517f80a1d41SAngeloGioacchino Del Regno 
15182ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const sdm660_bimc_nodes[] = {
1519f80a1d41SAngeloGioacchino Del Regno 	[MASTER_GNOC_BIMC] = &mas_gnoc_bimc,
1520f80a1d41SAngeloGioacchino Del Regno 	[MASTER_OXILI] = &mas_oxili,
1521f80a1d41SAngeloGioacchino Del Regno 	[MASTER_MNOC_BIMC] = &mas_mnoc_bimc,
1522f80a1d41SAngeloGioacchino Del Regno 	[MASTER_SNOC_BIMC] = &mas_snoc_bimc,
1523f80a1d41SAngeloGioacchino Del Regno 	[MASTER_PIMEM] = &mas_pimem,
1524f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_EBI] = &slv_ebi,
1525f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_HMSS_L3] = &slv_hmss_l3,
1526f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_BIMC_SNOC] = &slv_bimc_snoc,
1527f80a1d41SAngeloGioacchino Del Regno };
1528f80a1d41SAngeloGioacchino Del Regno 
1529f80a1d41SAngeloGioacchino Del Regno static const struct regmap_config sdm660_bimc_regmap_config = {
1530f80a1d41SAngeloGioacchino Del Regno 	.reg_bits	= 32,
1531f80a1d41SAngeloGioacchino Del Regno 	.reg_stride	= 4,
1532f80a1d41SAngeloGioacchino Del Regno 	.val_bits	= 32,
1533f80a1d41SAngeloGioacchino Del Regno 	.max_register	= 0x80000,
1534f80a1d41SAngeloGioacchino Del Regno 	.fast_io	= true,
1535f80a1d41SAngeloGioacchino Del Regno };
1536f80a1d41SAngeloGioacchino Del Regno 
15371625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sdm660_bimc = {
1538e9d54c26SShawn Guo 	.type = QCOM_ICC_BIMC,
1539f80a1d41SAngeloGioacchino Del Regno 	.nodes = sdm660_bimc_nodes,
1540f80a1d41SAngeloGioacchino Del Regno 	.num_nodes = ARRAY_SIZE(sdm660_bimc_nodes),
154170ab8deeSKonrad Dybcio 	.bus_clk_desc = &bimc_clk,
1542f80a1d41SAngeloGioacchino Del Regno 	.regmap_cfg = &sdm660_bimc_regmap_config,
1543f80a1d41SAngeloGioacchino Del Regno };
1544f80a1d41SAngeloGioacchino Del Regno 
15452ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const sdm660_cnoc_nodes[] = {
1546f80a1d41SAngeloGioacchino Del Regno 	[MASTER_SNOC_CNOC] = &mas_snoc_cnoc,
1547f80a1d41SAngeloGioacchino Del Regno 	[MASTER_QDSS_DAP] = &mas_qdss_dap,
1548f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CNOC_A2NOC] = &slv_cnoc_a2noc,
1549f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MPM] = &slv_mpm,
1550f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_PMIC_ARB] = &slv_pmic_arb,
1551f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_TLMM_NORTH] = &slv_tlmm_north,
1552f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_TCSR] = &slv_tcsr,
1553f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_PIMEM_CFG] = &slv_pimem_cfg,
1554f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_IMEM_CFG] = &slv_imem_cfg,
1555f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MESSAGE_RAM] = &slv_message_ram,
1556f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_GLM] = &slv_glm,
1557f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_BIMC_CFG] = &slv_bimc_cfg,
1558f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_PRNG] = &slv_prng,
1559f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SPDM] = &slv_spdm,
1560f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_QDSS_CFG] = &slv_qdss_cfg,
1561f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CNOC_MNOC_CFG] = &slv_cnoc_mnoc_cfg,
1562f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SNOC_CFG] = &slv_snoc_cfg,
1563f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_QM_CFG] = &slv_qm_cfg,
1564f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CLK_CTL] = &slv_clk_ctl,
1565f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MSS_CFG] = &slv_mss_cfg,
1566f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_TLMM_SOUTH] = &slv_tlmm_south,
1567f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_UFS_CFG] = &slv_ufs_cfg,
1568f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_A2NOC_CFG] = &slv_a2noc_cfg,
1569f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_A2NOC_SMMU_CFG] = &slv_a2noc_smmu_cfg,
1570f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_GPUSS_CFG] = &slv_gpuss_cfg,
1571f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_AHB2PHY] = &slv_ahb2phy,
1572f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_BLSP_1] = &slv_blsp_1,
1573f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SDCC_1] = &slv_sdcc_1,
1574f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SDCC_2] = &slv_sdcc_2,
1575f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_TLMM_CENTER] = &slv_tlmm_center,
1576f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_BLSP_2] = &slv_blsp_2,
1577f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_PDM] = &slv_pdm,
1578f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CNOC_MNOC_MMSS_CFG] = &slv_cnoc_mnoc_mmss_cfg,
1579f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_USB_HS] = &slv_usb_hs,
1580f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_USB3_0] = &slv_usb3_0,
1581f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SRVC_CNOC] = &slv_srvc_cnoc,
1582f80a1d41SAngeloGioacchino Del Regno };
1583f80a1d41SAngeloGioacchino Del Regno 
1584f80a1d41SAngeloGioacchino Del Regno static const struct regmap_config sdm660_cnoc_regmap_config = {
1585f80a1d41SAngeloGioacchino Del Regno 	.reg_bits	= 32,
1586f80a1d41SAngeloGioacchino Del Regno 	.reg_stride	= 4,
1587f80a1d41SAngeloGioacchino Del Regno 	.val_bits	= 32,
1588f80a1d41SAngeloGioacchino Del Regno 	.max_register	= 0x10000,
1589f80a1d41SAngeloGioacchino Del Regno 	.fast_io	= true,
1590f80a1d41SAngeloGioacchino Del Regno };
1591f80a1d41SAngeloGioacchino Del Regno 
15921625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sdm660_cnoc = {
1593e9d54c26SShawn Guo 	.type = QCOM_ICC_NOC,
1594f80a1d41SAngeloGioacchino Del Regno 	.nodes = sdm660_cnoc_nodes,
1595f80a1d41SAngeloGioacchino Del Regno 	.num_nodes = ARRAY_SIZE(sdm660_cnoc_nodes),
159670ab8deeSKonrad Dybcio 	.bus_clk_desc = &bus_2_clk,
1597f80a1d41SAngeloGioacchino Del Regno 	.regmap_cfg = &sdm660_cnoc_regmap_config,
1598f80a1d41SAngeloGioacchino Del Regno };
1599f80a1d41SAngeloGioacchino Del Regno 
16002ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const sdm660_gnoc_nodes[] = {
1601f80a1d41SAngeloGioacchino Del Regno 	[MASTER_APSS_PROC] = &mas_apss_proc,
1602f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_GNOC_BIMC] = &slv_gnoc_bimc,
1603f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_GNOC_SNOC] = &slv_gnoc_snoc,
1604f80a1d41SAngeloGioacchino Del Regno };
1605f80a1d41SAngeloGioacchino Del Regno 
1606f80a1d41SAngeloGioacchino Del Regno static const struct regmap_config sdm660_gnoc_regmap_config = {
1607f80a1d41SAngeloGioacchino Del Regno 	.reg_bits	= 32,
1608f80a1d41SAngeloGioacchino Del Regno 	.reg_stride	= 4,
1609f80a1d41SAngeloGioacchino Del Regno 	.val_bits	= 32,
1610f80a1d41SAngeloGioacchino Del Regno 	.max_register	= 0xe000,
1611f80a1d41SAngeloGioacchino Del Regno 	.fast_io	= true,
1612f80a1d41SAngeloGioacchino Del Regno };
1613f80a1d41SAngeloGioacchino Del Regno 
16141625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sdm660_gnoc = {
1615e9d54c26SShawn Guo 	.type = QCOM_ICC_NOC,
1616f80a1d41SAngeloGioacchino Del Regno 	.nodes = sdm660_gnoc_nodes,
1617f80a1d41SAngeloGioacchino Del Regno 	.num_nodes = ARRAY_SIZE(sdm660_gnoc_nodes),
1618f80a1d41SAngeloGioacchino Del Regno 	.regmap_cfg = &sdm660_gnoc_regmap_config,
1619f80a1d41SAngeloGioacchino Del Regno };
1620f80a1d41SAngeloGioacchino Del Regno 
16212ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const sdm660_mnoc_nodes[] = {
1622f80a1d41SAngeloGioacchino Del Regno 	[MASTER_CPP] = &mas_cpp,
1623f80a1d41SAngeloGioacchino Del Regno 	[MASTER_JPEG] = &mas_jpeg,
1624f80a1d41SAngeloGioacchino Del Regno 	[MASTER_MDP_P0] = &mas_mdp_p0,
1625f80a1d41SAngeloGioacchino Del Regno 	[MASTER_MDP_P1] = &mas_mdp_p1,
1626f80a1d41SAngeloGioacchino Del Regno 	[MASTER_VENUS] = &mas_venus,
1627f80a1d41SAngeloGioacchino Del Regno 	[MASTER_VFE] = &mas_vfe,
1628f80a1d41SAngeloGioacchino Del Regno 	[MASTER_CNOC_MNOC_MMSS_CFG] = &mas_cnoc_mnoc_mmss_cfg,
1629f80a1d41SAngeloGioacchino Del Regno 	[MASTER_CNOC_MNOC_CFG] = &mas_cnoc_mnoc_cfg,
1630f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CAMERA_CFG] = &slv_camera_cfg,
1631f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CAMERA_THROTTLE_CFG] = &slv_camera_throttle_cfg,
1632f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MISC_CFG] = &slv_misc_cfg,
1633f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_VENUS_THROTTLE_CFG] = &slv_venus_throttle_cfg,
1634f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_VENUS_CFG] = &slv_venus_cfg,
1635f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MMSS_CLK_XPU_CFG] = &slv_mmss_clk_xpu_cfg,
1636f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MMSS_CLK_CFG] = &slv_mmss_clk_cfg,
1637f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MNOC_MPU_CFG] = &slv_mnoc_mpu_cfg,
1638f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_DISPLAY_CFG] = &slv_display_cfg,
1639f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CSI_PHY_CFG] = &slv_csi_phy_cfg,
1640f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_DISPLAY_THROTTLE_CFG] = &slv_display_throttle_cfg,
1641f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SMMU_CFG] = &slv_smmu_cfg,
1642f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SRVC_MNOC] = &slv_srvc_mnoc,
1643f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_MNOC_BIMC] = &slv_mnoc_bimc,
1644f80a1d41SAngeloGioacchino Del Regno };
1645f80a1d41SAngeloGioacchino Del Regno 
1646f80a1d41SAngeloGioacchino Del Regno static const struct regmap_config sdm660_mnoc_regmap_config = {
1647f80a1d41SAngeloGioacchino Del Regno 	.reg_bits	= 32,
1648f80a1d41SAngeloGioacchino Del Regno 	.reg_stride	= 4,
1649f80a1d41SAngeloGioacchino Del Regno 	.val_bits	= 32,
1650f80a1d41SAngeloGioacchino Del Regno 	.max_register	= 0x10000,
1651f80a1d41SAngeloGioacchino Del Regno 	.fast_io	= true,
1652f80a1d41SAngeloGioacchino Del Regno };
1653f80a1d41SAngeloGioacchino Del Regno 
16541625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sdm660_mnoc = {
1655e9d54c26SShawn Guo 	.type = QCOM_ICC_NOC,
1656f80a1d41SAngeloGioacchino Del Regno 	.nodes = sdm660_mnoc_nodes,
1657f80a1d41SAngeloGioacchino Del Regno 	.num_nodes = ARRAY_SIZE(sdm660_mnoc_nodes),
165870ab8deeSKonrad Dybcio 	.bus_clk_desc = &mmaxi_0_clk,
16592e2113c8SKonrad Dybcio 	.intf_clocks = mm_intf_clocks,
16602e2113c8SKonrad Dybcio 	.num_intf_clocks = ARRAY_SIZE(mm_intf_clocks),
1661f80a1d41SAngeloGioacchino Del Regno 	.regmap_cfg = &sdm660_mnoc_regmap_config,
1662f80a1d41SAngeloGioacchino Del Regno };
1663f80a1d41SAngeloGioacchino Del Regno 
16642ccf33c0SKrzysztof Kozlowski static struct qcom_icc_node * const sdm660_snoc_nodes[] = {
1665f80a1d41SAngeloGioacchino Del Regno 	[MASTER_QDSS_ETR] = &mas_qdss_etr,
1666f80a1d41SAngeloGioacchino Del Regno 	[MASTER_QDSS_BAM] = &mas_qdss_bam,
1667f80a1d41SAngeloGioacchino Del Regno 	[MASTER_SNOC_CFG] = &mas_snoc_cfg,
1668f80a1d41SAngeloGioacchino Del Regno 	[MASTER_BIMC_SNOC] = &mas_bimc_snoc,
1669f80a1d41SAngeloGioacchino Del Regno 	[MASTER_A2NOC_SNOC] = &mas_a2noc_snoc,
1670f80a1d41SAngeloGioacchino Del Regno 	[MASTER_GNOC_SNOC] = &mas_gnoc_snoc,
1671f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_HMSS] = &slv_hmss,
1672f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_LPASS] = &slv_lpass,
1673f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_WLAN] = &slv_wlan,
1674f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_CDSP] = &slv_cdsp,
1675f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_IPA] = &slv_ipa,
1676f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SNOC_BIMC] = &slv_snoc_bimc,
1677f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SNOC_CNOC] = &slv_snoc_cnoc,
1678f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_IMEM] = &slv_imem,
1679f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_PIMEM] = &slv_pimem,
1680f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_QDSS_STM] = &slv_qdss_stm,
1681f80a1d41SAngeloGioacchino Del Regno 	[SLAVE_SRVC_SNOC] = &slv_srvc_snoc,
1682f80a1d41SAngeloGioacchino Del Regno };
1683f80a1d41SAngeloGioacchino Del Regno 
1684f80a1d41SAngeloGioacchino Del Regno static const struct regmap_config sdm660_snoc_regmap_config = {
1685f80a1d41SAngeloGioacchino Del Regno 	.reg_bits	= 32,
1686f80a1d41SAngeloGioacchino Del Regno 	.reg_stride	= 4,
1687f80a1d41SAngeloGioacchino Del Regno 	.val_bits	= 32,
1688f80a1d41SAngeloGioacchino Del Regno 	.max_register	= 0x20000,
1689f80a1d41SAngeloGioacchino Del Regno 	.fast_io	= true,
1690f80a1d41SAngeloGioacchino Del Regno };
1691f80a1d41SAngeloGioacchino Del Regno 
16921625aaa3SKrzysztof Kozlowski static const struct qcom_icc_desc sdm660_snoc = {
1693e9d54c26SShawn Guo 	.type = QCOM_ICC_NOC,
1694f80a1d41SAngeloGioacchino Del Regno 	.nodes = sdm660_snoc_nodes,
1695f80a1d41SAngeloGioacchino Del Regno 	.num_nodes = ARRAY_SIZE(sdm660_snoc_nodes),
169670ab8deeSKonrad Dybcio 	.bus_clk_desc = &bus_1_clk,
1697f80a1d41SAngeloGioacchino Del Regno 	.regmap_cfg = &sdm660_snoc_regmap_config,
1698f80a1d41SAngeloGioacchino Del Regno };
1699f80a1d41SAngeloGioacchino Del Regno 
1700f80a1d41SAngeloGioacchino Del Regno static const struct of_device_id sdm660_noc_of_match[] = {
1701f80a1d41SAngeloGioacchino Del Regno 	{ .compatible = "qcom,sdm660-a2noc", .data = &sdm660_a2noc },
1702f80a1d41SAngeloGioacchino Del Regno 	{ .compatible = "qcom,sdm660-bimc", .data = &sdm660_bimc },
1703f80a1d41SAngeloGioacchino Del Regno 	{ .compatible = "qcom,sdm660-cnoc", .data = &sdm660_cnoc },
1704f80a1d41SAngeloGioacchino Del Regno 	{ .compatible = "qcom,sdm660-gnoc", .data = &sdm660_gnoc },
1705f80a1d41SAngeloGioacchino Del Regno 	{ .compatible = "qcom,sdm660-mnoc", .data = &sdm660_mnoc },
1706f80a1d41SAngeloGioacchino Del Regno 	{ .compatible = "qcom,sdm660-snoc", .data = &sdm660_snoc },
1707f80a1d41SAngeloGioacchino Del Regno 	{ },
1708f80a1d41SAngeloGioacchino Del Regno };
1709f80a1d41SAngeloGioacchino Del Regno MODULE_DEVICE_TABLE(of, sdm660_noc_of_match);
1710f80a1d41SAngeloGioacchino Del Regno 
1711f80a1d41SAngeloGioacchino Del Regno static struct platform_driver sdm660_noc_driver = {
1712f80a1d41SAngeloGioacchino Del Regno 	.probe = qnoc_probe,
1713f80a1d41SAngeloGioacchino Del Regno 	.remove = qnoc_remove,
1714f80a1d41SAngeloGioacchino Del Regno 	.driver = {
1715f80a1d41SAngeloGioacchino Del Regno 		.name = "qnoc-sdm660",
1716f80a1d41SAngeloGioacchino Del Regno 		.of_match_table = sdm660_noc_of_match,
1717f80a1d41SAngeloGioacchino Del Regno 	},
1718f80a1d41SAngeloGioacchino Del Regno };
1719f80a1d41SAngeloGioacchino Del Regno module_platform_driver(sdm660_noc_driver);
1720f80a1d41SAngeloGioacchino Del Regno MODULE_DESCRIPTION("Qualcomm sdm660 NoC driver");
1721f80a1d41SAngeloGioacchino Del Regno MODULE_LICENSE("GPL v2");
1722