Skip to content

Commit ef7129d

Browse files
arnopomathieupoirier
authored andcommitted
dt-bindings: remoteproc: st,stm32-rproc: Rework reset declarations
With the introduction of the SCMI (System Control and Management Interface), it is now possible to use the SCMI to handle the hold boot instead of a dedicated SMC call. As consequence two configurations are possible: - without SCMI server on OP-TEE: use the Linux rcc reset service and use syscon for the MCU hold boot - With SCMI server on OP-TEE: use the SCMI reset service for both the MCU reset and the MCU hold boot. This patch: - make optional and deprecated the use of the property st,syscfg-tz which was used to check if the trusted Zone was enable to use scm call, to manage the hold boot. The reset controller phandle is used instead to select the configurations. - make st,syscfg-holdboot optional - adds properties check on resets definitions. - adds an example of the SCMI reset service usage. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230512093926.661509-2-arnaud.pouliquen@foss.st.com Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
1 parent 47f64e7 commit ef7129d

1 file changed

Lines changed: 39 additions & 5 deletions

File tree

Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,14 @@ properties:
2525
maxItems: 3
2626

2727
resets:
28-
maxItems: 1
28+
minItems: 1
29+
maxItems: 2
30+
31+
reset-names:
32+
items:
33+
- const: mcu_rst
34+
- const: hold_boot
35+
minItems: 1
2936

3037
st,syscfg-holdboot:
3138
description: remote processor reset hold boot
@@ -37,6 +44,7 @@ properties:
3744
- description: The field mask of the hold boot
3845

3946
st,syscfg-tz:
47+
deprecated: true
4048
description:
4149
Reference to the system configuration which holds the RCC trust zone mode
4250
$ref: /schemas/types.yaml#/definitions/phandle-array
@@ -135,22 +143,48 @@ required:
135143
- compatible
136144
- reg
137145
- resets
138-
- st,syscfg-holdboot
139-
- st,syscfg-tz
146+
147+
allOf:
148+
- if:
149+
properties:
150+
reset-names:
151+
not:
152+
contains:
153+
const: hold_boot
154+
then:
155+
required:
156+
- st,syscfg-holdboot
157+
else:
158+
properties:
159+
st,syscfg-holdboot: false
140160

141161
additionalProperties: false
142162

143163
examples:
144164
- |
145165
#include <dt-bindings/reset/stm32mp1-resets.h>
146-
m4_rproc: m4@10000000 {
166+
m4@10000000 {
147167
compatible = "st,stm32mp1-m4";
148168
reg = <0x10000000 0x40000>,
149169
<0x30000000 0x40000>,
150170
<0x38000000 0x10000>;
151171
resets = <&rcc MCU_R>;
172+
reset-names = "mcu_rst";
173+
/* Hold boot managed using system config*/
152174
st,syscfg-holdboot = <&rcc 0x10C 0x1>;
153-
st,syscfg-tz = <&rcc 0x000 0x1>;
175+
st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
176+
st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
177+
};
178+
- |
179+
#include <dt-bindings/reset/stm32mp1-resets.h>
180+
m4@10000000 {
181+
compatible = "st,stm32mp1-m4";
182+
reg = <0x10000000 0x40000>,
183+
<0x30000000 0x40000>,
184+
<0x38000000 0x10000>;
185+
/* Hold boot managed using SCMI reset controller */
186+
resets = <&scmi MCU_R>, <&scmi MCU_HOLD_BOOT_R>;
187+
reset-names = "mcu_rst", "hold_boot";
154188
st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
155189
st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
156190
};

0 commit comments

Comments
 (0)