devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data
@ 2023-11-17 14:33 Patrick Delaunay
  2023-11-17 14:33 ` [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem Patrick Delaunay
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Patrick Delaunay @ 2023-11-17 14:33 UTC (permalink / raw)
  To: Alexandre TORGUE, Srinivas Kandagatla, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Catalin Marinas, Will Deacon, Fabrice Gasnier
  Cc: Patrick Delaunay, Arnd Bergmann, Bjorn Andersson,
	Dmitry Baryshkov, Geert Uytterhoeven, Konrad Dybcio,
	Krzysztof Kozlowski, Marek Szyprowski, Neil Armstrong,
	Nícolas F. R. A. Prado, Peng Fan, Udit Kumar, devicetree,
	linux-arm-kernel, linux-kernel, linux-stm32


Non volatile memory area is available on STM32MP25 with OTP in BSEC.

The 12 Kbits of OTP (effective) for STM32MP25x SoC Family
are organized into the following regions:
- lower OTP (OTP0 to OTP127) = 4096 lower OTP bits,
  bitwise (1-bit) programmable
- mid OTP (OTP128 to OTP255) = 4096 middle OTP bits,
  bulk (32-bit) programmable
- upper OTP (OTP256 to OTP383) = 4096 upper OTP bits,
  bulk (32-bit) programmable,
  only accessible when BSEC is in closed state.

BSEC is only accessible by secure world, so the OTP access is done
by driver with OP-TEE TA, as on STM32MP13x family.



Patrick Delaunay (4):
  dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem
  nvmem: stm32: add support for STM32MP25 BSEC to control OTP data
  arm64: defconfig: enable NVMEM STM32 ROMEM for stm32mp25
  nvmem: add bsec support to stm32mp25

 .../bindings/nvmem/st,stm32-romem.yaml           |  1 +
 arch/arm64/boot/dts/st/stm32mp251.dtsi           | 16 ++++++++++++++++
 arch/arm64/configs/defconfig                     |  1 +
 drivers/nvmem/stm32-romem.c                      | 16 ++++++++++++++++
 4 files changed, 34 insertions(+)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem
  2023-11-17 14:33 [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Patrick Delaunay
@ 2023-11-17 14:33 ` Patrick Delaunay
  2023-11-19 13:42   ` Conor Dooley
  2023-11-17 14:33 ` [PATCH 4/4] nvmem: add bsec support to stm32mp25 Patrick Delaunay
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Patrick Delaunay @ 2023-11-17 14:33 UTC (permalink / raw)
  To: Alexandre TORGUE, Srinivas Kandagatla, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Fabrice Gasnier
  Cc: Patrick Delaunay, devicetree, linux-arm-kernel, linux-kernel,
	linux-stm32

Add a new compatible for stm32mp25 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 a69de3e92282..92bfe25f0571 100644
--- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
+++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml
@@ -24,6 +24,7 @@ properties:
       - st,stm32f4-otp
       - st,stm32mp13-bsec
       - st,stm32mp15-bsec
+      - st,stm32mp25-bsec
 
   reg:
     maxItems: 1
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] nvmem: add bsec support to stm32mp25
  2023-11-17 14:33 [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Patrick Delaunay
  2023-11-17 14:33 ` [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem Patrick Delaunay
@ 2023-11-17 14:33 ` Patrick Delaunay
  2023-11-20 14:15   ` Alexandre TORGUE
  2023-12-08 11:03 ` (subset) [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Srinivas Kandagatla
  2023-12-14 16:28 ` Alexandre TORGUE
  3 siblings, 1 reply; 7+ messages in thread
From: Patrick Delaunay @ 2023-11-17 14:33 UTC (permalink / raw)
  To: Alexandre TORGUE, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Maxime Coquelin
  Cc: Patrick Delaunay, devicetree, linux-arm-kernel, linux-kernel,
	linux-stm32

Add BSEC support to STM32MP25 SoC family with SoC information:
- RPN = Device part number (BSEC_OTP_DATA9)
- PKG = package data register (Bits 2:0 of BSEC_OTP_DATA122)

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

 arch/arm64/boot/dts/st/stm32mp251.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi
index 124403f5f1f4..96859d098ef8 100644
--- a/arch/arm64/boot/dts/st/stm32mp251.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi
@@ -140,6 +140,22 @@ sdmmc1: mmc@48220000 {
 			};
 		};
 
+		bsec: efuse@44000000 {
+			compatible = "st,stm32mp25-bsec";
+			reg = <0x44000000 0x1000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			part_number_otp@24 {
+				reg = <0x24 0x4>;
+			};
+
+			package_otp@1e8 {
+				reg = <0x1e8 0x1>;
+				bits = <0 3>;
+			};
+		};
+
 		syscfg: syscon@44230000 {
 			compatible = "st,stm32mp25-syscfg", "syscon";
 			reg = <0x44230000 0x10000>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem
  2023-11-17 14:33 ` [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem Patrick Delaunay
@ 2023-11-19 13:42   ` Conor Dooley
  0 siblings, 0 replies; 7+ messages in thread
From: Conor Dooley @ 2023-11-19 13:42 UTC (permalink / raw)
  To: Patrick Delaunay
  Cc: Alexandre TORGUE, Srinivas Kandagatla, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Fabrice Gasnier, devicetree, linux-arm-kernel, linux-kernel,
	linux-stm32

[-- Attachment #1: Type: text/plain, Size: 241 bytes --]

On Fri, Nov 17, 2023 at 03:33:34PM +0100, Patrick Delaunay wrote:
> Add a new compatible for stm32mp25 support.
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>

Acked-by: Conor Dooley <conor.dooley@microchip.com>


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 4/4] nvmem: add bsec support to stm32mp25
  2023-11-17 14:33 ` [PATCH 4/4] nvmem: add bsec support to stm32mp25 Patrick Delaunay
@ 2023-11-20 14:15   ` Alexandre TORGUE
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre TORGUE @ 2023-11-20 14:15 UTC (permalink / raw)
  To: Patrick Delaunay, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Maxime Coquelin
  Cc: devicetree, linux-arm-kernel, linux-kernel, linux-stm32

Hi Patrick

On 11/17/23 15:33, Patrick Delaunay wrote:
> Add BSEC support to STM32MP25 SoC family with SoC information:
> - RPN = Device part number (BSEC_OTP_DATA9)
> - PKG = package data register (Bits 2:0 of BSEC_OTP_DATA122)
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
> ---

DT looks good for me, and yaml verification is passed. Only thing to fix 
is the commit title. If you don't have to send a V2 for other remarks 
then I will fix during merge else fix it in your v2.

Thanks

Alex

> 
>   arch/arm64/boot/dts/st/stm32mp251.dtsi | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi
> index 124403f5f1f4..96859d098ef8 100644
> --- a/arch/arm64/boot/dts/st/stm32mp251.dtsi
> +++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi
> @@ -140,6 +140,22 @@ sdmmc1: mmc@48220000 {
>   			};
>   		};
>   
> +		bsec: efuse@44000000 {
> +			compatible = "st,stm32mp25-bsec";
> +			reg = <0x44000000 0x1000>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			part_number_otp@24 {
> +				reg = <0x24 0x4>;
> +			};
> +
> +			package_otp@1e8 {
> +				reg = <0x1e8 0x1>;
> +				bits = <0 3>;
> +			};
> +		};
> +
>   		syscfg: syscon@44230000 {
>   			compatible = "st,stm32mp25-syscfg", "syscon";
>   			reg = <0x44230000 0x10000>;

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: (subset) [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data
  2023-11-17 14:33 [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Patrick Delaunay
  2023-11-17 14:33 ` [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem Patrick Delaunay
  2023-11-17 14:33 ` [PATCH 4/4] nvmem: add bsec support to stm32mp25 Patrick Delaunay
@ 2023-12-08 11:03 ` Srinivas Kandagatla
  2023-12-14 16:28 ` Alexandre TORGUE
  3 siblings, 0 replies; 7+ messages in thread
From: Srinivas Kandagatla @ 2023-12-08 11:03 UTC (permalink / raw)
  To: Alexandre TORGUE, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Maxime Coquelin, Catalin Marinas, Will Deacon, Fabrice Gasnier,
	Patrick Delaunay
  Cc: Arnd Bergmann, Bjorn Andersson, Dmitry Baryshkov,
	Geert Uytterhoeven, Konrad Dybcio, Krzysztof Kozlowski,
	Marek Szyprowski, Neil Armstrong, Nícolas F. R. A. Prado,
	Peng Fan, Udit Kumar, devicetree, linux-arm-kernel, linux-kernel,
	linux-stm32


On Fri, 17 Nov 2023 15:33:33 +0100, Patrick Delaunay wrote:
> Non volatile memory area is available on STM32MP25 with OTP in BSEC.
> 
> The 12 Kbits of OTP (effective) for STM32MP25x SoC Family
> are organized into the following regions:
> - lower OTP (OTP0 to OTP127) = 4096 lower OTP bits,
>   bitwise (1-bit) programmable
> - mid OTP (OTP128 to OTP255) = 4096 middle OTP bits,
>   bulk (32-bit) programmable
> - upper OTP (OTP256 to OTP383) = 4096 upper OTP bits,
>   bulk (32-bit) programmable,
>   only accessible when BSEC is in closed state.
> 
> [...]

Applied, thanks!

[1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem
      commit: d062d18d0e30e46e88a3b0f9fb2549393b7d7adf
[2/4] nvmem: stm32: add support for STM32MP25 BSEC to control OTP data
      commit: 2015e5f4d01fb76fca69047f870035e214d6d2d0

Best regards,
-- 
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data
  2023-11-17 14:33 [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Patrick Delaunay
                   ` (2 preceding siblings ...)
  2023-12-08 11:03 ` (subset) [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Srinivas Kandagatla
@ 2023-12-14 16:28 ` Alexandre TORGUE
  3 siblings, 0 replies; 7+ messages in thread
From: Alexandre TORGUE @ 2023-12-14 16:28 UTC (permalink / raw)
  To: Patrick Delaunay, Srinivas Kandagatla, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
	Catalin Marinas, Will Deacon, Fabrice Gasnier
  Cc: Arnd Bergmann, Bjorn Andersson, Dmitry Baryshkov,
	Geert Uytterhoeven, Konrad Dybcio, Krzysztof Kozlowski,
	Marek Szyprowski, Neil Armstrong, Nícolas F. R. A. Prado,
	Peng Fan, Udit Kumar, devicetree, linux-arm-kernel, linux-kernel,
	linux-stm32

Hi

On 11/17/23 15:33, Patrick Delaunay wrote:
> 
> Non volatile memory area is available on STM32MP25 with OTP in BSEC.
> 
> The 12 Kbits of OTP (effective) for STM32MP25x SoC Family
> are organized into the following regions:
> - lower OTP (OTP0 to OTP127) = 4096 lower OTP bits,
>    bitwise (1-bit) programmable
> - mid OTP (OTP128 to OTP255) = 4096 middle OTP bits,
>    bulk (32-bit) programmable
> - upper OTP (OTP256 to OTP383) = 4096 upper OTP bits,
>    bulk (32-bit) programmable,
>    only accessible when BSEC is in closed state.
> 
> BSEC is only accessible by secure world, so the OTP access is done
> by driver with OP-TEE TA, as on STM32MP13x family.
> 
> 
> 
> Patrick Delaunay (4):
>    dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem
>    nvmem: stm32: add support for STM32MP25 BSEC to control OTP data
>    arm64: defconfig: enable NVMEM STM32 ROMEM for stm32mp25
>    nvmem: add bsec support to stm32mp25
> 
>   .../bindings/nvmem/st,stm32-romem.yaml           |  1 +
>   arch/arm64/boot/dts/st/stm32mp251.dtsi           | 16 ++++++++++++++++
>   arch/arm64/configs/defconfig                     |  1 +
>   drivers/nvmem/stm32-romem.c                      | 16 ++++++++++++++++
>   4 files changed, 34 insertions(+)
> 


patch[4] (DT) applied on stm32-next.

thanks
Alex

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-12-14 16:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-17 14:33 [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Patrick Delaunay
2023-11-17 14:33 ` [PATCH 1/4] dt-bindings: nvmem: add new stm32mp25 compatible for stm32-romem Patrick Delaunay
2023-11-19 13:42   ` Conor Dooley
2023-11-17 14:33 ` [PATCH 4/4] nvmem: add bsec support to stm32mp25 Patrick Delaunay
2023-11-20 14:15   ` Alexandre TORGUE
2023-12-08 11:03 ` (subset) [PATCH 0/4] stm32: add support for STM32MP25 BSEC to control OTP data Srinivas Kandagatla
2023-12-14 16:28 ` Alexandre TORGUE

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).