2020-08-27 07:24:32

by Arnaud POULIQUEN

[permalink] [raw]
Subject: [PATCH 3/3] ARM: dts: stm32: update stm32mp151 for remote proc synchronisation support

Two backup registers are used to store the Cortex-M4 state and the resource
table address.
Declare the tamp node and add associated properties in m4_rproc node
to allow Linux to attach to a firmware loaded by the first boot stages.

Associated driver implementation is available in commit 9276536f455b3
("remoteproc: stm32: Parse syscon that will manage M4 synchronisation").

Signed-off-by: Arnaud Pouliquen <[email protected]>
---
arch/arm/boot/dts/stm32mp151.dtsi | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi
index bfe29023fbd5..842ecffae73a 100644
--- a/arch/arm/boot/dts/stm32mp151.dtsi
+++ b/arch/arm/boot/dts/stm32mp151.dtsi
@@ -1541,6 +1541,11 @@
status = "disabled";
};

+ tamp: tamp@5c00a000 {
+ compatible = "st,stm32-tamp", "syscon";
+ reg = <0x5c00a000 0x400>;
+ };
+
/*
* Break node order to solve dependency probe issue between
* pinctrl and exti.
@@ -1717,6 +1722,8 @@
st,syscfg-holdboot = <&rcc 0x10C 0x1>;
st,syscfg-tz = <&rcc 0x000 0x1>;
st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
+ st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
+ st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
status = "disabled";
};
};
--
2.17.1


2020-09-24 05:47:19

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [Linux-stm32] [PATCH 3/3] ARM: dts: stm32: update stm32mp151 for remote proc synchronisation support

Hello Arnaud,

On 8/27/20 9:21 AM, Arnaud Pouliquen wrote:
> Two backup registers are used to store the Cortex-M4 state and the resource
> table address.
> Declare the tamp node and add associated properties in m4_rproc node
> to allow Linux to attach to a firmware loaded by the first boot stages.
>
> Associated driver implementation is available in commit 9276536f455b3
> ("remoteproc: stm32: Parse syscon that will manage M4 synchronisation").
>
> Signed-off-by: Arnaud Pouliquen <[email protected]>
> ---
> arch/arm/boot/dts/stm32mp151.dtsi | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi
> index bfe29023fbd5..842ecffae73a 100644
> --- a/arch/arm/boot/dts/stm32mp151.dtsi
> +++ b/arch/arm/boot/dts/stm32mp151.dtsi
> @@ -1541,6 +1541,11 @@
> status = "disabled";
> };
>
> + tamp: tamp@5c00a000 {
> + compatible = "st,stm32-tamp", "syscon";
> + reg = <0x5c00a000 0x400>;
> + };
> +

Just saw this now. I have a pending patch adding this node as well:
https://lore.kernel.org/patchwork/patch/1306971/

For my use case, I need a "simple-mfd" compatible to allow child
nodes to be probed.

Could you CC me when you send out your v2, so I can rebase?
(Or if you don't mind, just add the "simple-mfd" into the compatible
list yourself :-)

Cheers
Ahmad

> /*
> * Break node order to solve dependency probe issue between
> * pinctrl and exti.
> @@ -1717,6 +1722,8 @@
> st,syscfg-holdboot = <&rcc 0x10C 0x1>;
> st,syscfg-tz = <&rcc 0x000 0x1>;
> st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
> + st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
> + st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
> status = "disabled";
> };
> };
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-09-24 08:05:45

by Arnaud POULIQUEN

[permalink] [raw]
Subject: Re: [Linux-stm32] [PATCH 3/3] ARM: dts: stm32: update stm32mp151 for remote proc synchronisation support

Hi Ahmad,

On 9/24/20 7:45 AM, Ahmad Fatoum wrote:
> Hello Arnaud,
>
> On 8/27/20 9:21 AM, Arnaud Pouliquen wrote:
>> Two backup registers are used to store the Cortex-M4 state and the resource
>> table address.
>> Declare the tamp node and add associated properties in m4_rproc node
>> to allow Linux to attach to a firmware loaded by the first boot stages.
>>
>> Associated driver implementation is available in commit 9276536f455b3
>> ("remoteproc: stm32: Parse syscon that will manage M4 synchronisation").
>>
>> Signed-off-by: Arnaud Pouliquen <[email protected]>
>> ---
>> arch/arm/boot/dts/stm32mp151.dtsi | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi
>> index bfe29023fbd5..842ecffae73a 100644
>> --- a/arch/arm/boot/dts/stm32mp151.dtsi
>> +++ b/arch/arm/boot/dts/stm32mp151.dtsi
>> @@ -1541,6 +1541,11 @@
>> status = "disabled";
>> };
>>
>> + tamp: tamp@5c00a000 {
>> + compatible = "st,stm32-tamp", "syscon";
>> + reg = <0x5c00a000 0x400>;
>> + };
>> +
>
> Just saw this now. I have a pending patch adding this node as well:
> https://lore.kernel.org/patchwork/patch/1306971/
>
> For my use case, I need a "simple-mfd" compatible to allow child
> nodes to be probed.
>
> Could you CC me when you send out your v2, so I can rebase?
> (Or if you don't mind, just add the "simple-mfd" into the compatible
> list yourself :-)

I prefer that you propose the "simple-mfd" compatibility. I do not master the
consequence of adding it...
I will add you in cc of my v2 , but as your patch could trig some discussions
I would suggest to send in advance a patchset including this patch and your patch
on top of, just add a reference to this series in the cover letter and explain
potential impact (or non impact) on the legacy.

Regards,
Arnaud

>
> Cheers
> Ahmad
>
>> /*
>> * Break node order to solve dependency probe issue between
>> * pinctrl and exti.
>> @@ -1717,6 +1722,8 @@
>> st,syscfg-holdboot = <&rcc 0x10C 0x1>;
>> st,syscfg-tz = <&rcc 0x000 0x1>;
>> st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
>> + st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
>> + st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
>> status = "disabled";
>> };
>> };
>>
>