dt-bindings: nvmem: add new stm32mp13 compatible for stm32-romem

Message ID 20221014172324.1.Ifc1812116ff63f5501f3edd155d3cf5c0ecc846c@changeid
State New
Headers
Series dt-bindings: nvmem: add new stm32mp13 compatible for stm32-romem |

Commit Message

Patrick Delaunay Oct. 14, 2022, 3:23 p.m. UTC
  Add a new compatible for stm32mp13 support.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
---

 Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Rob Herring Oct. 14, 2022, 9:32 p.m. UTC | #1
On Fri, 14 Oct 2022 17:23:27 +0200, Patrick Delaunay wrote:
> Add a new compatible for stm32mp13 support.
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
> ---
> 
>  Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring <robh@kernel.org>
  
Krzysztof Kozlowski Oct. 18, 2022, 1:56 a.m. UTC | #2
On 14/10/2022 11:23, Patrick Delaunay wrote:
> Add a new compatible for stm32mp13 support.
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
> ---
> 
>  Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> index 448a2678dc62..16f4cad2fa55 100644
> --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> @@ -22,6 +22,7 @@ properties:
>    compatible:
>      enum:
>        - st,stm32f4-otp
> +      - st,stm32mp13-bsec
>        - st,stm32mp15-bsec

According to usage in DTS (separate patch for some reason), the devices
are compatible, so please describe them like that.

Best regards,
Krzysztof
  
Patrick Delaunay Oct. 19, 2022, 5:23 p.m. UTC | #3
Hi,

On 10/18/22 03:56, Krzysztof Kozlowski wrote:
> On 14/10/2022 11:23, Patrick Delaunay wrote:
>> Add a new compatible for stm32mp13 support.
>>
>> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
>> ---
>>
>>   Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>> index 448a2678dc62..16f4cad2fa55 100644
>> --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>> +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>> @@ -22,6 +22,7 @@ properties:
>>     compatible:
>>       enum:
>>         - st,stm32f4-otp
>> +      - st,stm32mp13-bsec
>>         - st,stm32mp15-bsec
> According to usage in DTS (separate patch for some reason), the devices
> are compatible, so please describe them like that.


I push the separate patch "ARM: dts: stm32mp13: fix compatible for BSEC"

It is a advice of my colleagues: send an update of device tree

only when the binding modification is acked.


Sorry for disturbance, I can sent a V2 with the 2 patches.


The STM32MP15 and STM32MP13 don't use the same version of the BSEC device,

and the driver need to handle it.


In these 2 patches:

- [PATCH] dt-bindings: nvmem: add new stm32mp13 compatible for stm32-romem

- [PATCH] ARM: dts: stm32mp13: fix compatible for BSEC


I fix a error for BSEC node in the initial patch to support STM32MP13x,

the DTS "stm32mp131.dtsi" should not used/accepted with the a BSEC node 
using

the compatible "st,stm32mp15-bsec" in commit 1da8779c0029 ("ARM: dts: 
stm32: add STM32MP13 SoCs support")


It is a preliminary step to add support of STM32MP13x in STM32 ROMEM driver.


I don't indicate these patches as "Fixes:" to avoid a dts check issue

if only the DTS patch was backported.


Today it not blocking for STM32MP13x users because this SoC is not yet 
available for customers

and it is only used internally on the ST Microelectronics board 
STM32MP135F-DK.


Nobody (except STMicroelectronics) use this SoC  STM32MP13x with the 
current DTS / Linux version.


Moreover, by default, the STM32 ROMEM driver in not activated in any 
defconfig,

I prepare a other patch to activated it by default in arm_multiv7_defconfig.

but I am waiting this DTS correction to avoid to probe the stm32 romen 
driver with STM32MP15

configuration on STM32MP13x SoC.


I think is a good time to update this DTS error before the SoC availability,

agreed with SoC Maintainer, Alexandre Torgue, even if this patch breaks 
surrent users

of STM32MP13x DTS (but it is only internals user STMicroelectronics 
until now).


but perhaps you prefer a other solution ?


add Fixes in the DTS patch ?

+ Fixes: 1da8779c0029 ("ARM: dts: stm32: add STM32MP13 SoCs support")

or


         bsec: efuse@5c005000 {
             compatible = "st,stm32mp13-bsec", "st,stm32mp15-bsec";


sorry, I misses to share this context.


>
> Best regards,
> Krzysztof


Regards

Patrick
  
Krzysztof Kozlowski Oct. 20, 2022, 12:48 p.m. UTC | #4
On 19/10/2022 13:23, Patrick DELAUNAY wrote:
> Hi,
> 
> On 10/18/22 03:56, Krzysztof Kozlowski wrote:
>> On 14/10/2022 11:23, Patrick Delaunay wrote:
>>> Add a new compatible for stm32mp13 support.
>>>
>>> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
>>> ---
>>>
>>>   Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>>> index 448a2678dc62..16f4cad2fa55 100644
>>> --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>>> +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>>> @@ -22,6 +22,7 @@ properties:
>>>     compatible:
>>>       enum:
>>>         - st,stm32f4-otp
>>> +      - st,stm32mp13-bsec
>>>         - st,stm32mp15-bsec
>> According to usage in DTS (separate patch for some reason), the devices
>> are compatible, so please describe them like that.
> 
> 
> I push the separate patch "ARM: dts: stm32mp13: fix compatible for BSEC"
> 
> It is a advice of my colleagues: send an update of device tree
> 
> only when the binding modification is acked.

That's not correct advice - only for few cases it's valid (when
subsystem maintainer wants to take entire patchset, so there should be
no DTS inside). We want to see the bindings and its usage, so one of:
1. the same patchset
2. if two patchsets, then cross linked to each other with URLs to
lore.kernel.org. I see DTS had link but not this one.

Driver changes also must be sent together with the bindings. Since there
are no driver changes here, it means for us the devices are compatible
from Linux point of view.

> 
> 
> Sorry for disturbance, I can sent a V2 with the 2 patches.
> 
> 
> The STM32MP15 and STM32MP13 don't use the same version of the BSEC device,
> 
> and the driver need to handle it.
> 
> 
> In these 2 patches:
> 
> - [PATCH] dt-bindings: nvmem: add new stm32mp13 compatible for stm32-romem
> 
> - [PATCH] ARM: dts: stm32mp13: fix compatible for BSEC
> 
> 
> I fix a error for BSEC node in the initial patch to support STM32MP13x,

The question is then whether device was working before or not. If it was
working, you fix one error but break DTS usage on any system which does
not have updated driver (so BSD, u-boot, other firmware, other Linux
kernel versions).

If it was not working, then it's okay, but such case was not explained
in DTS patch, I think.

> 
> the DTS "stm32mp131.dtsi" should not used/accepted with the a BSEC node 
> using
> 
> the compatible "st,stm32mp15-bsec" in commit 1da8779c0029 ("ARM: dts: 
> stm32: add STM32MP13 SoCs support")
> 
> 
> It is a preliminary step to add support of STM32MP13x in STM32 ROMEM driver.
> 
> 
> I don't indicate these patches as "Fixes:" to avoid a dts check issue
> 
> if only the DTS patch was backported.
> 
> 
> Today it not blocking for STM32MP13x users because this SoC is not yet 
> available for customers
> 
> and it is only used internally on the ST Microelectronics board 
> STM32MP135F-DK.

DTS patch says nothing about it...

> 
> 
> Nobody (except STMicroelectronics) use this SoC  STM32MP13x with the 
> current DTS / Linux version.
> 
> 
> Moreover, by default, the STM32 ROMEM driver in not activated in any 
> defconfig,

Independent issue.

> 
> I prepare a other patch to activated it by default in arm_multiv7_defconfig.
> 
> but I am waiting this DTS correction to avoid to probe the stm32 romen 
> driver with STM32MP15
> 
> configuration on STM32MP13x SoC.
> 
> 
> I think is a good time to update this DTS error before the SoC availability,
> 
> agreed with SoC Maintainer, Alexandre Torgue, even if this patch breaks 
> surrent users
> 
> of STM32MP13x DTS (but it is only internals user STMicroelectronics 
> until now).
> 
> 
> but perhaps you prefer a other solution ?

With that explanation it is fine, but the DTS commit was not mentioning
explanation.

> 
> add Fixes in the DTS patch ?
> 
> + Fixes: 1da8779c0029 ("ARM: dts: stm32: add STM32MP13 SoCs support")
> 
> or
> 
> 
>          bsec: efuse@5c005000 {
>              compatible = "st,stm32mp13-bsec", "st,stm32mp15-bsec";


Depends whether devices are compatible or not.

Best regards,
Krzysztof
  
Patrick Delaunay Oct. 27, 2022, 3:10 p.m. UTC | #5
Hi,

On 10/20/22 14:48, Krzysztof Kozlowski wrote:
> On 19/10/2022 13:23, Patrick DELAUNAY wrote:
>> Hi,
>>
>> On 10/18/22 03:56, Krzysztof Kozlowski wrote:
>>> On 14/10/2022 11:23, Patrick Delaunay wrote:
>>>> Add a new compatible for stm32mp13 support.
>>>>
>>>> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
>>>> ---
>>>>
>>>>    Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml | 1 +
>>>>    1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>>>> index 448a2678dc62..16f4cad2fa55 100644
>>>> --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>>>> +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
>>>> @@ -22,6 +22,7 @@ properties:
>>>>      compatible:
>>>>        enum:
>>>>          - st,stm32f4-otp
>>>> +      - st,stm32mp13-bsec
>>>>          - st,stm32mp15-bsec
>>> According to usage in DTS (separate patch for some reason), the devices
>>> are compatible, so please describe them like that.
>>
>> I push the separate patch "ARM: dts: stm32mp13: fix compatible for BSEC"
>>
>> It is a advice of my colleagues: send an update of device tree
>>
>> only when the binding modification is acked.
> That's not correct advice - only for few cases it's valid (when
> subsystem maintainer wants to take entire patchset, so there should be
> no DTS inside). We want to see the bindings and its usage, so one of:
> 1. the same patchset
> 2. if two patchsets, then cross linked to each other with URLs to
> lore.kernel.org. I see DTS had link but not this one.
>
> Driver changes also must be sent together with the bindings. Since there
> are no driver changes here, it means for us the devices are compatible
> from Linux point of view.
>
>>
>> Sorry for disturbance, I can sent a V2 with the 2 patches.
>>
>>
>> The STM32MP15 and STM32MP13 don't use the same version of the BSEC device,
>>
>> and the driver need to handle it.
>>
>>
>> In these 2 patches:
>>
>> - [PATCH] dt-bindings: nvmem: add new stm32mp13 compatible for stm32-romem
>>
>> - [PATCH] ARM: dts: stm32mp13: fix compatible for BSEC
>>
>>
>> I fix a error for BSEC node in the initial patch to support STM32MP13x,
> The question is then whether device was working before or not. If it was
> working, you fix one error but break DTS usage on any system which does
> not have updated driver (so BSD, u-boot, other firmware, other Linux
> kernel versions).
>
> If it was not working, then it's okay, but such case was not explained
> in DTS patch, I think.
>
>> the DTS "stm32mp131.dtsi" should not used/accepted with the a BSEC node
>> using
>>
>> the compatible "st,stm32mp15-bsec" in commit 1da8779c0029 ("ARM: dts:
>> stm32: add STM32MP13 SoCs support")
>>
>>
>> It is a preliminary step to add support of STM32MP13x in STM32 ROMEM driver.
>>
>>
>> I don't indicate these patches as "Fixes:" to avoid a dts check issue
>>
>> if only the DTS patch was backported.
>>
>>
>> Today it not blocking for STM32MP13x users because this SoC is not yet
>> available for customers
>>
>> and it is only used internally on the ST Microelectronics board
>> STM32MP135F-DK.
> DTS patch says nothing about it...
>
>>
>> Nobody (except STMicroelectronics) use this SoC  STM32MP13x with the
>> current DTS / Linux version.
>>
>>
>> Moreover, by default, the STM32 ROMEM driver in not activated in any
>> defconfig,
> Independent issue.
>
>> I prepare a other patch to activated it by default in arm_multiv7_defconfig.
>>
>> but I am waiting this DTS correction to avoid to probe the stm32 romen
>> driver with STM32MP15
>>
>> configuration on STM32MP13x SoC.
>>
>>
>> I think is a good time to update this DTS error before the SoC availability,
>>
>> agreed with SoC Maintainer, Alexandre Torgue, even if this patch breaks
>> surrent users
>>
>> of STM32MP13x DTS (but it is only internals user STMicroelectronics
>> until now).
>>
>>
>> but perhaps you prefer a other solution ?
> With that explanation it is fine, but the DTS commit was not mentioning
> explanation.


OK


>
>> add Fixes in the DTS patch ?
>>
>> + Fixes: 1da8779c0029 ("ARM: dts: stm32: add STM32MP13 SoCs support")
>>
>> or
>>
>>
>>           bsec: efuse@5c005000 {
>>               compatible = "st,stm32mp13-bsec", "st,stm32mp15-bsec";
>
> Depends whether devices are compatible or not.
>
> Best regards,
> Krzysztof
>

For device point of view, the BSEC used on STM32MP13 have few

corrections wich need to be managed in the driver.


But for driver point of view, as the BSEC IP is secured on STM32MP13

the IP is managed by OP-TEE, acess should be provided with TA / OP-TEE

and some obcolete features will be never supported (access to OTP with

proprietary SMC: STM32_SMC_BSEC) on STM32MP13x SoC.


The device are not compatibles in the 2 SoC, I will sent a V2 with

cover letter +  binding,  DT and driver modification to be more clear.


Regards


Patrick
  

Patch

diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
index 448a2678dc62..16f4cad2fa55 100644
--- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
+++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
@@ -22,6 +22,7 @@  properties:
   compatible:
     enum:
       - st,stm32f4-otp
+      - st,stm32mp13-bsec
       - st,stm32mp15-bsec
 
   reg: