* Re: [PATCH v3 0/4] stm32mp15: update remoteproc to support SCMI Device tree
[not found] <20230512093926.661509-1-arnaud.pouliquen@foss.st.com>
@ 2023-05-15 17:27 ` Mathieu Poirier
2023-05-16 14:33 ` Alexandre TORGUE
[not found] ` <20230512093926.661509-5-arnaud.pouliquen@foss.st.com>
1 sibling, 1 reply; 4+ messages in thread
From: Mathieu Poirier @ 2023-05-15 17:27 UTC (permalink / raw)
To: Arnaud Pouliquen
Cc: Rob Herring, Krzysztof Kozlowski, Bjorn Andersson,
Alexandre Torgue, devicetree, linux-stm32, linux-arm-kernel,
linux-remoteproc, linux-kernel
On Fri, May 12, 2023 at 11:39:22AM +0200, Arnaud Pouliquen wrote:
> Update vs V2[1]:
> ---------------
> - update yaml to remove label in examples
> - fix error management for devm_reset_control_get_optional(dev, "hold_boot")
> - rebased on commit ac9a78681b92 ("Linux 6.4-rc1")
>
> [1]https://lore.kernel.org/lkml/20230504094641.870378-1-arnaud.pouliquen@foss.st.com/T/
>
>
> Description:
> -----------
> This series updates the stm32_rproc driver and associated DT node to
> support device tree configuration with and without SCMI server.
> The impact is mainly on the MCU hold boot management.
>
> Three configurations have to be supported:
>
> 1) Configuration without OP-TEE SCMI (legacy): Trusted context not activated
> - The MCU reset is controlled through the Linux RCC reset driver.
> - The MCU HOLD BOOT is controlled through The RCC sysconf.
>
> 2) Configuration with SCMI server: Trusted context activated
> - The MCU reset is controlled through the SCMI reset service.
> - The MCU HOLD BOOT is no more controlled through a SMC call service but
> through the SCMI reset service.
>
> 3) Configuration with OP-TEE SMC call (deprecated): Trusted context activated
> - The MCU reset is controlled through the Linux RCC reset driver.
> - The MCU HOLD BOOT is controlled through The SMC call.
>
> In consequence this series:
> - adds the use of the SCMI reset service to manage the MCU hold boot,
> - determines the configuration to use depending on the presence of the
> "reset-names" property
> if ( "reset-names" property contains "hold_boot")
> then use reset_control services
> else use regmap access based on "st,syscfg-holdboot" property.
> - set the DT st,syscfg-tz property as deprecated
>
> Arnaud Pouliquen (4):
> dt-bindings: remoteproc: st,stm32-rproc: Rework reset declarations
> remoteproc: stm32: Allow hold boot management by the SCMI reset
> controller
> ARM: dts: stm32: Update reset declarations
> ARM: dts: stm32: fix m4_rproc references to use SCMI
>
> .../bindings/remoteproc/st,stm32-rproc.yaml | 44 +++++++++--
> arch/arm/boot/dts/stm32mp151.dtsi | 2 +-
> 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 +-
> drivers/remoteproc/stm32_rproc.c | 76 ++++++++++++++-----
> 7 files changed, 111 insertions(+), 35 deletions(-)
>
I have applied patch 1 and 2. Unless Alexandre wants to proceed differently,
patches 3 and 4 should go through his tree.
Thanks,
Mathieu
> --
> 2.25.1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 0/4] stm32mp15: update remoteproc to support SCMI Device tree
2023-05-15 17:27 ` [PATCH v3 0/4] stm32mp15: update remoteproc to support SCMI Device tree Mathieu Poirier
@ 2023-05-16 14:33 ` Alexandre TORGUE
0 siblings, 0 replies; 4+ messages in thread
From: Alexandre TORGUE @ 2023-05-16 14:33 UTC (permalink / raw)
To: Mathieu Poirier, Arnaud Pouliquen
Cc: Rob Herring, Krzysztof Kozlowski, Bjorn Andersson, devicetree,
linux-stm32, linux-arm-kernel, linux-remoteproc, linux-kernel
Hi Mathieu
On 5/15/23 19:27, Mathieu Poirier wrote:
> On Fri, May 12, 2023 at 11:39:22AM +0200, Arnaud Pouliquen wrote:
>> Update vs V2[1]:
>> ---------------
>> - update yaml to remove label in examples
>> - fix error management for devm_reset_control_get_optional(dev, "hold_boot")
>> - rebased on commit ac9a78681b92 ("Linux 6.4-rc1")
>>
>> [1]https://lore.kernel.org/lkml/20230504094641.870378-1-arnaud.pouliquen@foss.st.com/T/
>>
>>
>> Description:
>> -----------
>> This series updates the stm32_rproc driver and associated DT node to
>> support device tree configuration with and without SCMI server.
>> The impact is mainly on the MCU hold boot management.
>>
>> Three configurations have to be supported:
>>
>> 1) Configuration without OP-TEE SCMI (legacy): Trusted context not activated
>> - The MCU reset is controlled through the Linux RCC reset driver.
>> - The MCU HOLD BOOT is controlled through The RCC sysconf.
>>
>> 2) Configuration with SCMI server: Trusted context activated
>> - The MCU reset is controlled through the SCMI reset service.
>> - The MCU HOLD BOOT is no more controlled through a SMC call service but
>> through the SCMI reset service.
>>
>> 3) Configuration with OP-TEE SMC call (deprecated): Trusted context activated
>> - The MCU reset is controlled through the Linux RCC reset driver.
>> - The MCU HOLD BOOT is controlled through The SMC call.
>>
>> In consequence this series:
>> - adds the use of the SCMI reset service to manage the MCU hold boot,
>> - determines the configuration to use depending on the presence of the
>> "reset-names" property
>> if ( "reset-names" property contains "hold_boot")
>> then use reset_control services
>> else use regmap access based on "st,syscfg-holdboot" property.
>> - set the DT st,syscfg-tz property as deprecated
>>
>> Arnaud Pouliquen (4):
>> dt-bindings: remoteproc: st,stm32-rproc: Rework reset declarations
>> remoteproc: stm32: Allow hold boot management by the SCMI reset
>> controller
>> ARM: dts: stm32: Update reset declarations
>> ARM: dts: stm32: fix m4_rproc references to use SCMI
>>
>> .../bindings/remoteproc/st,stm32-rproc.yaml | 44 +++++++++--
>> arch/arm/boot/dts/stm32mp151.dtsi | 2 +-
>> 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 +-
>> drivers/remoteproc/stm32_rproc.c | 76 ++++++++++++++-----
>> 7 files changed, 111 insertions(+), 35 deletions(-)
>>
>
> I have applied patch 1 and 2. Unless Alexandre wants to proceed differently,
> patches 3 and 4 should go through his tree.
I will merge DT patches in STM32 tree.
cheers
Alex
>
> Thanks,
> Mathieu
>
>> --
>> 2.25.1
>>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI
[not found] ` <20230512093926.661509-5-arnaud.pouliquen@foss.st.com>
@ 2023-05-16 15:35 ` Alexandre TORGUE
2023-05-16 17:01 ` Arnaud POULIQUEN
0 siblings, 1 reply; 4+ messages in thread
From: Alexandre TORGUE @ 2023-05-16 15:35 UTC (permalink / raw)
To: Arnaud Pouliquen, Rob Herring, Krzysztof Kozlowski,
Bjorn Andersson, Mathieu Poirier
Cc: devicetree, linux-stm32, linux-arm-kernel, linux-remoteproc,
linux-kernel
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 <arnaud.pouliquen@foss.st.com>
> ---
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 {
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI
2023-05-16 15:35 ` [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI Alexandre TORGUE
@ 2023-05-16 17:01 ` Arnaud POULIQUEN
0 siblings, 0 replies; 4+ messages in thread
From: Arnaud POULIQUEN @ 2023-05-16 17:01 UTC (permalink / raw)
To: Alexandre TORGUE, Rob Herring, Krzysztof Kozlowski,
Bjorn Andersson, Mathieu Poirier
Cc: devicetree, linux-stm32, linux-arm-kernel, linux-remoteproc,
linux-kernel
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 <arnaud.pouliquen@foss.st.com>
>> ---
>
> 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 {
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-16 17:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230512093926.661509-1-arnaud.pouliquen@foss.st.com>
2023-05-15 17:27 ` [PATCH v3 0/4] stm32mp15: update remoteproc to support SCMI Device tree Mathieu Poirier
2023-05-16 14:33 ` Alexandre TORGUE
[not found] ` <20230512093926.661509-5-arnaud.pouliquen@foss.st.com>
2023-05-16 15:35 ` [PATCH v3 4/4] ARM: dts: stm32: fix m4_rproc references to use SCMI Alexandre TORGUE
2023-05-16 17:01 ` Arnaud POULIQUEN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).