2023-05-12 10:07:27

by Arnaud POULIQUEN

[permalink] [raw]
Subject: [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI

Fixes stm32mp15*-scmi DTS files introduced in [1]:
This patch fixes the node which uses the MCU reset and adds the
missing HOLD_BOOT which is also handled by the SCMI reset service.

This change cannot be applied as a fix on commit [1], the management
of the hold boot impacts also the stm32_rproc driver.

[1] 'commit 5b7e58313a77 ("ARM: dts: stm32: Add SCMI version of STM32 boards (DK1/DK2/ED1/EV1)")'

Signed-off-by: Arnaud Pouliquen <[email protected]>
---
arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts | 6 ++++--
arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts | 6 ++++--
arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts | 6 ++++--
arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts | 6 ++++--
4 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts b/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
index e539cc80bef8..134788e64265 100644
--- a/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
+++ b/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
@@ -55,8 +55,10 @@ &mdma1 {
resets = <&scmi_reset RST_SCMI_MDMA>;
};

-&mlahb {
- resets = <&scmi_reset RST_SCMI_MCU>;
+&m4_rproc {
+ resets = <&scmi_reset RST_SCMI_MCU>,
+ <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
+ reset-names = "mcu_rst", "hold_boot";
};

&rcc {
diff --git a/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts b/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
index 97e4f94b0a24..c42e658debfb 100644
--- a/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
+++ b/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
@@ -61,8 +61,10 @@ &mdma1 {
resets = <&scmi_reset RST_SCMI_MDMA>;
};

-&mlahb {
- resets = <&scmi_reset RST_SCMI_MCU>;
+&m4_rproc {
+ resets = <&scmi_reset RST_SCMI_MCU>,
+ <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
+ reset-names = "mcu_rst", "hold_boot";
};

&rcc {
diff --git a/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts b/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
index 9cf0a44d2f47..7a56ff2d4185 100644
--- a/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
@@ -60,8 +60,10 @@ &mdma1 {
resets = <&scmi_reset RST_SCMI_MDMA>;
};

-&mlahb {
- resets = <&scmi_reset RST_SCMI_MCU>;
+&m4_rproc {
+ resets = <&scmi_reset RST_SCMI_MCU>,
+ <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
+ reset-names = "mcu_rst", "hold_boot";
};

&rcc {
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts b/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
index 3b9dd6f4ccc9..119874dd91e4 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
@@ -66,8 +66,10 @@ &mdma1 {
resets = <&scmi_reset RST_SCMI_MDMA>;
};

-&mlahb {
- resets = <&scmi_reset RST_SCMI_MCU>;
+&m4_rproc {
+ resets = <&scmi_reset RST_SCMI_MCU>,
+ <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
+ reset-names = "mcu_rst", "hold_boot";
};

&rcc {
--
2.25.1



2023-05-16 15:38:08

by Alexandre TORGUE

[permalink] [raw]
Subject: Re: [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI

Hi Arnaud

On 5/12/23 11:39, Arnaud Pouliquen wrote:
> Fixes stm32mp15*-scmi DTS files introduced in [1]:
> This patch fixes the node which uses the MCU reset and adds the
> missing HOLD_BOOT which is also handled by the SCMI reset service.
>
> This change cannot be applied as a fix on commit [1], the management
> of the hold boot impacts also the stm32_rproc driver.
>
> [1] 'commit 5b7e58313a77 ("ARM: dts: stm32: Add SCMI version of STM32 boards (DK1/DK2/ED1/EV1)")'
>
> Signed-off-by: Arnaud Pouliquen <[email protected]>
> ---

I just ran YAML validation on your DT patches and it fails. I added your
DT patches + dt-binding one (just for the test). I got the following issue:

/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dtb: m4@10000000:
st,syscfg-holdboot: False schema does not allow [[7, 268, 1]]
From schema:
/local/home/frq08678/STLINUX/kernel/my-kernel/stm32/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml

Do I miss another dt-binding update not present in this series ?

alex

> arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts | 6 ++++--
> arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts | 6 ++++--
> arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts | 6 ++++--
> arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts | 6 ++++--
> 4 files changed, 16 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts b/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
> index e539cc80bef8..134788e64265 100644
> --- a/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
> +++ b/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
> @@ -55,8 +55,10 @@ &mdma1 {
> resets = <&scmi_reset RST_SCMI_MDMA>;
> };
>
> -&mlahb {
> - resets = <&scmi_reset RST_SCMI_MCU>;
> +&m4_rproc {
> + resets = <&scmi_reset RST_SCMI_MCU>,
> + <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
> + reset-names = "mcu_rst", "hold_boot";
> };
>
> &rcc {
> diff --git a/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts b/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
> index 97e4f94b0a24..c42e658debfb 100644
> --- a/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
> +++ b/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
> @@ -61,8 +61,10 @@ &mdma1 {
> resets = <&scmi_reset RST_SCMI_MDMA>;
> };
>
> -&mlahb {
> - resets = <&scmi_reset RST_SCMI_MCU>;
> +&m4_rproc {
> + resets = <&scmi_reset RST_SCMI_MCU>,
> + <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
> + reset-names = "mcu_rst", "hold_boot";
> };
>
> &rcc {
> diff --git a/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts b/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
> index 9cf0a44d2f47..7a56ff2d4185 100644
> --- a/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
> +++ b/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
> @@ -60,8 +60,10 @@ &mdma1 {
> resets = <&scmi_reset RST_SCMI_MDMA>;
> };
>
> -&mlahb {
> - resets = <&scmi_reset RST_SCMI_MCU>;
> +&m4_rproc {
> + resets = <&scmi_reset RST_SCMI_MCU>,
> + <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
> + reset-names = "mcu_rst", "hold_boot";
> };
>
> &rcc {
> diff --git a/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts b/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
> index 3b9dd6f4ccc9..119874dd91e4 100644
> --- a/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
> +++ b/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
> @@ -66,8 +66,10 @@ &mdma1 {
> resets = <&scmi_reset RST_SCMI_MDMA>;
> };
>
> -&mlahb {
> - resets = <&scmi_reset RST_SCMI_MCU>;
> +&m4_rproc {
> + resets = <&scmi_reset RST_SCMI_MCU>,
> + <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
> + reset-names = "mcu_rst", "hold_boot";
> };
>
> &rcc {


2023-05-16 17:10:12

by Arnaud POULIQUEN

[permalink] [raw]
Subject: Re: [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI

Hi Alex,

On 5/16/23 17:35, Alexandre TORGUE wrote:
> Hi Arnaud
>
> On 5/12/23 11:39, Arnaud Pouliquen wrote:
>> Fixes stm32mp15*-scmi DTS files introduced in [1]:
>> This patch fixes the node which uses the MCU reset and adds the
>> missing HOLD_BOOT which is also handled by the SCMI reset service.
>>
>> This change cannot be applied as a fix on commit [1], the management
>> of the hold boot impacts also the stm32_rproc driver.
>>
>> [1] 'commit 5b7e58313a77 ("ARM: dts: stm32: Add SCMI version of STM32 boards
>> (DK1/DK2/ED1/EV1)")'
>>
>> Signed-off-by: Arnaud Pouliquen <[email protected]>
>> ---
>
> I just ran YAML validation on your DT patches and it fails. I added your DT
> patches + dt-binding one (just for the test). I got the following issue:
>
> /arch/arm/boot/dts/stm32mp157c-ed1-scmi.dtb: m4@10000000: st,syscfg-holdboot:
> False schema does not allow [[7, 268, 1]]
>     From schema:
> /local/home/frq08678/STLINUX/kernel/my-kernel/stm32/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml
>
> Do I miss another dt-binding update not present in this series ?

I reproduced the issue.

I need to add "/delete-property/ st,syscfg-holdboot;" in stm32mp157*-scmi.dts
files.

As Mathieu already integrates the patch 1/4 and 2/4, I will send a V4 containing
only the patches 3 and 4.

Thanks,
Arnaud

>
> alex
>
>>   arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts | 6 ++++--
>>   arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts | 6 ++++--
>>   arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts | 6 ++++--
>>   arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts | 6 ++++--
>>   4 files changed, 16 insertions(+), 8 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
>> b/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
>> index e539cc80bef8..134788e64265 100644
>> --- a/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
>> +++ b/arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
>> @@ -55,8 +55,10 @@ &mdma1 {
>>       resets = <&scmi_reset RST_SCMI_MDMA>;
>>   };
>>   -&mlahb {
>> -    resets = <&scmi_reset RST_SCMI_MCU>;
>> +&m4_rproc {
>> +    resets = <&scmi_reset RST_SCMI_MCU>,
>> +         <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
>> +    reset-names =  "mcu_rst", "hold_boot";
>>   };
>>     &rcc {
>> diff --git a/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
>> b/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
>> index 97e4f94b0a24..c42e658debfb 100644
>> --- a/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
>> +++ b/arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
>> @@ -61,8 +61,10 @@ &mdma1 {
>>       resets = <&scmi_reset RST_SCMI_MDMA>;
>>   };
>>   -&mlahb {
>> -    resets = <&scmi_reset RST_SCMI_MCU>;
>> +&m4_rproc {
>> +    resets = <&scmi_reset RST_SCMI_MCU>,
>> +         <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
>> +    reset-names =  "mcu_rst", "hold_boot";
>>   };
>>     &rcc {
>> diff --git a/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
>> b/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
>> index 9cf0a44d2f47..7a56ff2d4185 100644
>> --- a/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
>> +++ b/arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
>> @@ -60,8 +60,10 @@ &mdma1 {
>>       resets = <&scmi_reset RST_SCMI_MDMA>;
>>   };
>>   -&mlahb {
>> -    resets = <&scmi_reset RST_SCMI_MCU>;
>> +&m4_rproc {
>> +    resets = <&scmi_reset RST_SCMI_MCU>,
>> +         <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
>> +    reset-names =  "mcu_rst", "hold_boot";
>>   };
>>     &rcc {
>> diff --git a/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
>> b/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
>> index 3b9dd6f4ccc9..119874dd91e4 100644
>> --- a/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
>> +++ b/arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
>> @@ -66,8 +66,10 @@ &mdma1 {
>>       resets = <&scmi_reset RST_SCMI_MDMA>;
>>   };
>>   -&mlahb {
>> -    resets = <&scmi_reset RST_SCMI_MCU>;
>> +&m4_rproc {
>> +    resets = <&scmi_reset RST_SCMI_MCU>,
>> +         <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
>> +    reset-names =  "mcu_rst", "hold_boot";
>>   };
>>     &rcc {
>