Skip to content

Commit b8dd631

Browse files
committed
Merge tag 'rproc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
Pull remoteproc updates from Bjorn Andersson: "Support for controlling the second core in Mediatek's SCP dual-core setup is introduced. Support for audio, compute and modem DSPs on Qualcomm SM6375, and the audio DSP in SC7180 are introduced. The peripheral NoC clock is dropped from MSM8996 modem DSP, as this is handled through the interconnect provider. In the zynqmp driver the setup for TCM memory, and device address translation thereof, when operating in lockstep mode is corrected. A few bug fixes and cleanups are introduces across the ST and STM32 remoteproc drivers" * tag 'rproc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (28 commits) remoteproc: st: Fix sometimes uninitialized ret in st_rproc_probe() remoteproc: st: Use device_get_match_data() remoteproc: zynqmp: Change tcm address translation method remoteproc: mediatek: Refactor single core check and fix retrocompatibility remoteproc: qcom: q6v5-mss: Remove PNoC clock from 8996 MSS dt-bindings: remoteproc: qcom,msm8996-mss-pil: Remove PNoC clock dt-bindings: remoteproc: qcom,adsp: Remove AGGRE2 clock remoteproc: qcom: pas: Add SM6375 MPSS remoteproc: qcom: pas: Add SM6375 ADSP & CDSP dt-bindings: remoteproc: qcom,sm6375-pas: Document remoteprocs dt-bindings: remoteproc: pru: Add Interrupt property remoteproc: qcom: pas: Add sc7180 adsp dt-bindings: remoteproc: qcom: sc7180-pas: Add ADSP compatible arm64: dts: mediatek: Update the node name of SCP rpmsg subnode remoteproc: zynqmp: fix TCM carveouts in lockstep mode remoteproc: mediatek: Refine ipi handler error message remoteproc: mediatek: Report watchdog crash to all cores remoteproc: mediatek: Handle MT8195 SCP core 1 watchdog timeout remoteproc: mediatek: Setup MT8195 SCP core 1 SRAM offset remoteproc: mediatek: Remove dependency of MT8195 SCP L2TCM power control on dual-core SCP ...
2 parents c87271e + 3d8a186 commit b8dd631

File tree

16 files changed

+932
-248
lines changed

16 files changed

+932
-248
lines changed

Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml

Lines changed: 156 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ properties:
2121
- mediatek,mt8188-scp
2222
- mediatek,mt8192-scp
2323
- mediatek,mt8195-scp
24+
- mediatek,mt8195-scp-dual
2425

2526
reg:
2627
description:
@@ -31,10 +32,7 @@ properties:
3132

3233
reg-names:
3334
minItems: 2
34-
items:
35-
- const: sram
36-
- const: cfg
37-
- const: l1tcm
35+
maxItems: 3
3836

3937
clocks:
4038
description:
@@ -58,6 +56,93 @@ properties:
5856
memory-region:
5957
maxItems: 1
6058

59+
cros-ec-rpmsg:
60+
$ref: /schemas/mfd/google,cros-ec.yaml
61+
description:
62+
This subnode represents the rpmsg device. The properties
63+
of this node are defined by the individual bindings for
64+
the rpmsg devices.
65+
66+
required:
67+
- mediatek,rpmsg-name
68+
69+
unevaluatedProperties: false
70+
71+
'#address-cells':
72+
const: 1
73+
74+
'#size-cells':
75+
const: 1
76+
77+
ranges:
78+
description:
79+
Standard ranges definition providing address translations for
80+
local SCP SRAM address spaces to bus addresses.
81+
82+
patternProperties:
83+
"^scp@[a-f0-9]+$":
84+
type: object
85+
description:
86+
The MediaTek SCP integrated to SoC might be a multi-core version.
87+
The other cores are represented as child nodes of the boot core.
88+
There are some integration differences for the IP like the usage of
89+
address translator for translating SoC bus addresses into address space
90+
for the processor.
91+
92+
Each SCP core has own cache memory. The SRAM and L1TCM are shared by
93+
cores. The power of cache, SRAM and L1TCM power should be enabled
94+
before booting SCP cores. The size of cache, SRAM, and L1TCM are varied
95+
on differnt SoCs.
96+
97+
The SCP cores do not use an MMU, but has a set of registers to
98+
control the translations between 32-bit CPU addresses into system bus
99+
addresses. Cache and memory access settings are provided through a
100+
Memory Protection Unit (MPU), programmable only from the SCP.
101+
102+
properties:
103+
compatible:
104+
enum:
105+
- mediatek,scp-core
106+
107+
reg:
108+
description: The base address and size of SRAM.
109+
maxItems: 1
110+
111+
reg-names:
112+
const: sram
113+
114+
interrupts:
115+
maxItems: 1
116+
117+
firmware-name:
118+
$ref: /schemas/types.yaml#/definitions/string
119+
description:
120+
If present, name (or relative path) of the file within the
121+
firmware search path containing the firmware image used when
122+
initializing sub cores of multi-core SCP.
123+
124+
memory-region:
125+
maxItems: 1
126+
127+
cros-ec-rpmsg:
128+
$ref: /schemas/mfd/google,cros-ec.yaml
129+
description:
130+
This subnode represents the rpmsg device. The properties
131+
of this node are defined by the individual bindings for
132+
the rpmsg devices.
133+
134+
required:
135+
- mediatek,rpmsg-name
136+
137+
unevaluatedProperties: false
138+
139+
required:
140+
- compatible
141+
- reg
142+
- reg-names
143+
144+
additionalProperties: false
145+
61146
required:
62147
- compatible
63148
- reg
@@ -87,23 +172,39 @@ allOf:
87172
reg:
88173
maxItems: 2
89174
reg-names:
175+
items:
176+
- const: sram
177+
- const: cfg
178+
- if:
179+
properties:
180+
compatible:
181+
enum:
182+
- mediatek,mt8192-scp
183+
- mediatek,mt8195-scp
184+
then:
185+
properties:
186+
reg:
187+
maxItems: 3
188+
reg-names:
189+
items:
190+
- const: sram
191+
- const: cfg
192+
- const: l1tcm
193+
- if:
194+
properties:
195+
compatible:
196+
enum:
197+
- mediatek,mt8195-scp-dual
198+
then:
199+
properties:
200+
reg:
90201
maxItems: 2
202+
reg-names:
203+
items:
204+
- const: cfg
205+
- const: l1tcm
91206

92-
additionalProperties:
93-
type: object
94-
description:
95-
Subnodes of the SCP represent rpmsg devices. The names of the devices
96-
are not important. The properties of these nodes are defined by the
97-
individual bindings for the rpmsg devices.
98-
properties:
99-
mediatek,rpmsg-name:
100-
$ref: /schemas/types.yaml#/definitions/string-array
101-
description:
102-
Contains the name for the rpmsg device. Used to match
103-
the subnode to rpmsg device announced by SCP.
104-
105-
required:
106-
- mediatek,rpmsg-name
207+
additionalProperties: false
107208

108209
examples:
109210
- |
@@ -118,7 +219,42 @@ examples:
118219
clocks = <&infracfg CLK_INFRA_SCPSYS>;
119220
clock-names = "main";
120221
121-
cros_ec {
222+
cros-ec-rpmsg {
223+
compatible = "google,cros-ec-rpmsg";
122224
mediatek,rpmsg-name = "cros-ec-rpmsg";
123225
};
124226
};
227+
228+
- |
229+
scp@10500000 {
230+
compatible = "mediatek,mt8195-scp-dual";
231+
reg = <0x10720000 0xe0000>,
232+
<0x10700000 0x8000>;
233+
reg-names = "cfg", "l1tcm";
234+
235+
#address-cells = <1>;
236+
#size-cells = <1>;
237+
ranges = <0 0x10500000 0x100000>;
238+
239+
scp@0 {
240+
compatible = "mediatek,scp-core";
241+
reg = <0x0 0xa0000>;
242+
reg-names = "sram";
243+
244+
cros-ec-rpmsg {
245+
compatible = "google,cros-ec-rpmsg";
246+
mediatek,rpmsg-name = "cros-ec-rpmsg";
247+
};
248+
};
249+
250+
scp@a0000 {
251+
compatible = "mediatek,scp-core";
252+
reg = <0xa0000 0x20000>;
253+
reg-names = "sram";
254+
255+
cros-ec-rpmsg {
256+
compatible = "google,cros-ec-rpmsg";
257+
mediatek,rpmsg-name = "cros-ec-rpmsg";
258+
};
259+
};
260+
};

Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ allOf:
6666
- qcom,msm8953-adsp-pil
6767
- qcom,msm8974-adsp-pil
6868
- qcom,msm8996-adsp-pil
69+
- qcom,msm8996-slpi-pil
6970
- qcom,msm8998-adsp-pas
71+
- qcom,msm8998-slpi-pas
7072
- qcom,sdm845-adsp-pas
7173
- qcom,sdm845-cdsp-pas
7274
- qcom,sdm845-slpi-pas
@@ -79,24 +81,6 @@ allOf:
7981
items:
8082
- const: xo
8183

82-
- if:
83-
properties:
84-
compatible:
85-
contains:
86-
enum:
87-
- qcom,msm8996-slpi-pil
88-
- qcom,msm8998-slpi-pas
89-
then:
90-
properties:
91-
clocks:
92-
items:
93-
- description: XO clock
94-
- description: AGGRE2 clock
95-
clock-names:
96-
items:
97-
- const: xo
98-
- const: aggre2
99-
10084
- if:
10185
properties:
10286
compatible:

Documentation/devicetree/bindings/remoteproc/qcom,msm8996-mss-pil.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,6 @@ allOf:
220220
- description: GCC MSS GPLL0 clock
221221
- description: GCC MSS SNOC_AXI clock
222222
- description: GCC MSS MNOC_AXI clock
223-
- description: RPM PNOC clock
224223
- description: RPM QDSS clock
225224
clock-names:
226225
items:
@@ -231,7 +230,6 @@ allOf:
231230
- const: gpll0_mss
232231
- const: snoc_axi
233232
- const: mnoc_axi
234-
- const: pnoc
235233
- const: qdss
236234
glink-edge: false
237235
required:

Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ description:
1616
properties:
1717
compatible:
1818
enum:
19+
- qcom,sc7180-adsp-pas
1920
- qcom,sc7180-mpss-pas
2021
- qcom,sc7280-mpss-pas
2122

@@ -30,26 +31,6 @@ properties:
3031
items:
3132
- const: xo
3233

33-
interrupts:
34-
minItems: 6
35-
36-
interrupt-names:
37-
minItems: 6
38-
39-
power-domains:
40-
minItems: 2
41-
items:
42-
- description: CX power domain
43-
- description: MX power domain
44-
- description: MSS power domain
45-
46-
power-domain-names:
47-
minItems: 2
48-
items:
49-
- const: cx
50-
- const: mx
51-
- const: mss
52-
5334
memory-region:
5435
maxItems: 1
5536
description: Reference to the reserved-memory for the Hexagon core
@@ -71,6 +52,40 @@ required:
7152

7253
allOf:
7354
- $ref: /schemas/remoteproc/qcom,pas-common.yaml#
55+
- if:
56+
properties:
57+
compatible:
58+
enum:
59+
- qcom,sc7180-adsp-pas
60+
then:
61+
properties:
62+
interrupts:
63+
maxItems: 5
64+
interrupt-names:
65+
maxItems: 5
66+
else:
67+
properties:
68+
interrupts:
69+
minItems: 6
70+
interrupt-names:
71+
minItems: 6
72+
73+
- if:
74+
properties:
75+
compatible:
76+
enum:
77+
- qcom,sc7180-adsp-pas
78+
then:
79+
properties:
80+
power-domains:
81+
items:
82+
- description: LCX power domain
83+
- description: LMX power domain
84+
power-domain-names:
85+
items:
86+
- const: lcx
87+
- const: lmx
88+
7489
- if:
7590
properties:
7691
compatible:
@@ -79,15 +94,31 @@ allOf:
7994
then:
8095
properties:
8196
power-domains:
82-
minItems: 3
97+
items:
98+
- description: CX power domain
99+
- description: MX power domain
100+
- description: MSS power domain
83101
power-domain-names:
84-
minItems: 3
85-
else:
102+
items:
103+
- const: cx
104+
- const: mx
105+
- const: mss
106+
107+
- if:
108+
properties:
109+
compatible:
110+
enum:
111+
- qcom,sc7280-mpss-pas
112+
then:
86113
properties:
87114
power-domains:
88-
maxItems: 2
115+
items:
116+
- description: CX power domain
117+
- description: MX power domain
89118
power-domain-names:
90-
maxItems: 2
119+
items:
120+
- const: cx
121+
- const: mx
91122

92123
unevaluatedProperties: false
93124

0 commit comments

Comments
 (0)