2020-05-08 13:49:16

by Etienne Carriere

[permalink] [raw]
Subject: [PATCH] dt-bindings: nvmem: stm32: new property for data access

From: Etienne Carriere <[email protected]>

Introduce boolean property st,non-secure-otp for OTP data located
in a factory programmed area that only secure firmware can access
by default and that shall be reachable from the non-secure world.

Signed-off-by: Etienne Carriere <[email protected]>
---
.../bindings/nvmem/st,stm32-romem.yaml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
index d84deb4774a4..c11c99f085d7 100644
--- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
+++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
@@ -24,6 +24,18 @@ properties:
- st,stm32f4-otp
- st,stm32mp15-bsec

+patternProperties:
+ "^.*@[0-9a-f]+$":
+ type: object
+
+ properties:
+ st,non-secure-otp:
+ description: |
+ This property explicits a factory programmed area that both secure
+ and non-secure worlds can access. It is needed when, by default, the
+ related area can only be reached by the secure world.
+ type: boolean
+
required:
- "#address-cells"
- "#size-cells"
@@ -41,6 +53,11 @@ examples:
calib@22c {
reg = <0x22c 0x2>;
};
+
+ mac_addr@e4 {
+ reg = <0xe4 0x8>;
+ st,non-secure-otp;
+ };
};

...
--
2.17.1


2020-05-12 01:37:17

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: nvmem: stm32: new property for data access

On Fri, 8 May 2020 15:45:27 +0200, Etienne Carriere wrote:
> From: Etienne Carriere <[email protected]>
>
> Introduce boolean property st,non-secure-otp for OTP data located
> in a factory programmed area that only secure firmware can access
> by default and that shall be reachable from the non-secure world.
>
> Signed-off-by: Etienne Carriere <[email protected]>
> ---
> .../bindings/nvmem/st,stm32-romem.yaml | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>

Applied, thanks!

2020-05-12 01:55:50

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: nvmem: stm32: new property for data access

On Fri, May 8, 2020 at 8:47 AM Etienne Carriere
<[email protected]> wrote:
>
> From: Etienne Carriere <[email protected]>
>
> Introduce boolean property st,non-secure-otp for OTP data located
> in a factory programmed area that only secure firmware can access
> by default and that shall be reachable from the non-secure world.
>
> Signed-off-by: Etienne Carriere <[email protected]>
> ---
> .../bindings/nvmem/st,stm32-romem.yaml | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> index d84deb4774a4..c11c99f085d7 100644
> --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> @@ -24,6 +24,18 @@ properties:
> - st,stm32f4-otp
> - st,stm32mp15-bsec
>
> +patternProperties:
> + "^.*@[0-9a-f]+$":
> + type: object
> +
> + properties:
> + st,non-secure-otp:
> + description: |
> + This property explicits a factory programmed area that both secure
> + and non-secure worlds can access. It is needed when, by default, the
> + related area can only be reached by the secure world.
> + type: boolean
> +
> required:
> - "#address-cells"
> - "#size-cells"
> @@ -41,6 +53,11 @@ examples:
> calib@22c {
> reg = <0x22c 0x2>;
> };
> +
> + mac_addr@e4 {
> + reg = <0xe4 0x8>;
> + st,non-secure-otp;

This fails validation. You need to drop 'additionalProperties' in nvmem.yaml.

Rob

2020-05-12 10:01:20

by Etienne Carriere

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: nvmem: stm32: new property for data access

Hello Rob,


On Tue, 12 May 2020 at 03:51, Rob Herring <[email protected]> wrote:
>
> On Fri, May 8, 2020 at 8:47 AM Etienne Carriere
> <[email protected]> wrote:
> >
> > From: Etienne Carriere <[email protected]>
> >
> > Introduce boolean property st,non-secure-otp for OTP data located
> > in a factory programmed area that only secure firmware can access
> > by default and that shall be reachable from the non-secure world.
> >
> > Signed-off-by: Etienne Carriere <[email protected]>
> > ---
> > .../bindings/nvmem/st,stm32-romem.yaml | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> > index d84deb4774a4..c11c99f085d7 100644
> > --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> > +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
> > @@ -24,6 +24,18 @@ properties:
> > - st,stm32f4-otp
> > - st,stm32mp15-bsec
> >
> > +patternProperties:
> > + "^.*@[0-9a-f]+$":
> > + type: object
> > +
> > + properties:
> > + st,non-secure-otp:
> > + description: |
> > + This property explicits a factory programmed area that both secure
> > + and non-secure worlds can access. It is needed when, by default, the
> > + related area can only be reached by the secure world.
> > + type: boolean
> > +
> > required:
> > - "#address-cells"
> > - "#size-cells"
> > @@ -41,6 +53,11 @@ examples:
> > calib@22c {
> > reg = <0x22c 0x2>;
> > };
> > +
> > + mac_addr@e4 {
> > + reg = <0xe4 0x8>;
> > + st,non-secure-otp;
>
> This fails validation. You need to drop 'additionalProperties' in nvmem.yaml.

My apologies. I guess I did not test `dt_binding_check` on this change.
I'll send a v2.

Regards,
Etienne

>
> Rob