linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* 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).