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

From: Patrick DELAUNAY
Date: Thu Oct 27 2022 - 11:36:59 EST


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@xxxxxxxxxxx>
---

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