Skip to content

Commit 4cc0047

Browse files
author
Georgi Djakov
committed
Merge branch 'icc-sm8750' into icc-next
Add interconnect support for SM8750 SoC. The Qualcomm Technologies, Inc. SM8750 SoC is the latest in the line of consumer mobile device SoCs. * icc-sm8750 dt-bindings: interconnect: add interconnect bindings for SM8750 interconnect: qcom: Add interconnect provider driver for SM8750 interconnect: sm8750: Add missing const to static qcom_icc_desc Link: https://lore.kernel.org/r/20241204-sm8750_master_interconnects-v3-0-3d9aad4200e9@quicinc.com Signed-off-by: Georgi Djakov <[email protected]>
2 parents 94f51cb + d071b81 commit 4cc0047

File tree

5 files changed

+1995
-0
lines changed

5 files changed

+1995
-0
lines changed
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/interconnect/qcom,sm8750-rpmh.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm RPMh Network-On-Chip Interconnect on SM8750
8+
9+
maintainers:
10+
- Abel Vesa <[email protected]>
11+
- Neil Armstrong <[email protected]>
12+
13+
description: |
14+
RPMh interconnect providers support system bandwidth requirements through
15+
RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
16+
able to communicate with the BCM through the Resource State Coordinator (RSC)
17+
associated with each execution environment. Provider nodes must point to at
18+
least one RPMh device child node pertaining to their RSC and each provider
19+
can map to multiple RPMh resources.
20+
21+
See also:: include/dt-bindings/interconnect/qcom,sm8750-rpmh.h
22+
23+
properties:
24+
compatible:
25+
enum:
26+
- qcom,sm8750-aggre1-noc
27+
- qcom,sm8750-aggre2-noc
28+
- qcom,sm8750-clk-virt
29+
- qcom,sm8750-cnoc-main
30+
- qcom,sm8750-config-noc
31+
- qcom,sm8750-gem-noc
32+
- qcom,sm8750-lpass-ag-noc
33+
- qcom,sm8750-lpass-lpiaon-noc
34+
- qcom,sm8750-lpass-lpicx-noc
35+
- qcom,sm8750-mc-virt
36+
- qcom,sm8750-mmss-noc
37+
- qcom,sm8750-nsp-noc
38+
- qcom,sm8750-pcie-anoc
39+
- qcom,sm8750-system-noc
40+
41+
reg:
42+
maxItems: 1
43+
44+
clocks:
45+
minItems: 1
46+
maxItems: 2
47+
48+
required:
49+
- compatible
50+
51+
allOf:
52+
- $ref: qcom,rpmh-common.yaml#
53+
- if:
54+
properties:
55+
compatible:
56+
contains:
57+
enum:
58+
- qcom,sm8750-clk-virt
59+
- qcom,sm8750-mc-virt
60+
then:
61+
properties:
62+
reg: false
63+
else:
64+
required:
65+
- reg
66+
67+
- if:
68+
properties:
69+
compatible:
70+
contains:
71+
enum:
72+
- qcom,sm8750-pcie-anoc
73+
then:
74+
properties:
75+
clocks:
76+
items:
77+
- description: aggre-NOC PCIe AXI clock
78+
- description: cfg-NOC PCIe a-NOC AHB clock
79+
80+
- if:
81+
properties:
82+
compatible:
83+
contains:
84+
enum:
85+
- qcom,sm8750-aggre1-noc
86+
then:
87+
properties:
88+
clocks:
89+
items:
90+
- description: aggre UFS PHY AXI clock
91+
- description: aggre USB3 PRIM AXI clock
92+
93+
- if:
94+
properties:
95+
compatible:
96+
contains:
97+
enum:
98+
- qcom,sm8750-aggre2-noc
99+
then:
100+
properties:
101+
clocks:
102+
items:
103+
- description: RPMH CC IPA clock
104+
105+
- if:
106+
properties:
107+
compatible:
108+
contains:
109+
enum:
110+
- qcom,sm8750-aggre1-noc
111+
- qcom,sm8750-aggre2-noc
112+
- qcom,sm8750-pcie-anoc
113+
then:
114+
required:
115+
- clocks
116+
else:
117+
properties:
118+
clocks: false
119+
120+
unevaluatedProperties: false
121+
122+
examples:
123+
- |
124+
clk_virt: interconnect-0 {
125+
compatible = "qcom,sm8750-clk-virt";
126+
#interconnect-cells = <2>;
127+
qcom,bcm-voters = <&apps_bcm_voter>;
128+
};
129+
130+
aggre1_noc: interconnect@16e0000 {
131+
compatible = "qcom,sm8750-aggre1-noc";
132+
reg = <0x016e0000 0x16400>;
133+
#interconnect-cells = <2>;
134+
clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
135+
qcom,bcm-voters = <&apps_bcm_voter>;
136+
};

drivers/interconnect/qcom/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,15 @@ config INTERCONNECT_QCOM_SM8650
337337
This is a driver for the Qualcomm Network-on-Chip on SM8650-based
338338
platforms.
339339

340+
config INTERCONNECT_QCOM_SM8750
341+
tristate "Qualcomm SM8750 interconnect driver"
342+
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
343+
select INTERCONNECT_QCOM_RPMH
344+
select INTERCONNECT_QCOM_BCM_VOTER
345+
help
346+
This is a driver for the Qualcomm Network-on-Chip on SM8750-based
347+
platforms.
348+
340349
config INTERCONNECT_QCOM_X1E80100
341350
tristate "Qualcomm X1E80100 interconnect driver"
342351
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE

drivers/interconnect/qcom/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ qnoc-sm8350-objs := sm8350.o
4040
qnoc-sm8450-objs := sm8450.o
4141
qnoc-sm8550-objs := sm8550.o
4242
qnoc-sm8650-objs := sm8650.o
43+
qnoc-sm8750-objs := sm8750.o
4344
qnoc-x1e80100-objs := x1e80100.o
4445
icc-smd-rpm-objs := smd-rpm.o icc-rpm.o icc-rpm-clocks.o
4546

@@ -80,5 +81,6 @@ obj-$(CONFIG_INTERCONNECT_QCOM_SM8350) += qnoc-sm8350.o
8081
obj-$(CONFIG_INTERCONNECT_QCOM_SM8450) += qnoc-sm8450.o
8182
obj-$(CONFIG_INTERCONNECT_QCOM_SM8550) += qnoc-sm8550.o
8283
obj-$(CONFIG_INTERCONNECT_QCOM_SM8650) += qnoc-sm8650.o
84+
obj-$(CONFIG_INTERCONNECT_QCOM_SM8750) += qnoc-sm8750.o
8385
obj-$(CONFIG_INTERCONNECT_QCOM_X1E80100) += qnoc-x1e80100.o
8486
obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o

0 commit comments

Comments
 (0)