2022-04-22 20:48:00

by Sean Anderson

[permalink] [raw]
Subject: [PATCH 0/8] nvmem: sfp: binding updates and additions

This adds several properties to the Layerscape Security Fuse Processor
(SFP) necessary for writing. Although the Linux driver does not use
these bindings, I plan to use them in U-Boot [1]. It also adds a new
compatibles for Trust Architecture (TA) 2.1 devices. In addition, it
also adds an SFP binding for all TA 2.1 and 3.0 devices.

[1] https://lore.kernel.org/u-boot/[email protected]/T/#m591f8425b6f096ab3d54e6f7bd258e41cfa4c43b


Sean Anderson (8):
dt-bindings: nvmem: sfp: Fix typo
dt-bindings: nvmem: sfp: Add clock properties
dt-bindings: nvmem: sfp: Add TA_PROG_SFP supply
dt-bindings: nvmem: sfp: Add compatible binding for TA 2.1 SFPs
arm64: dts: ls1028a: Update SFP binding to include clock
ARM: dts: layerscape: Add SFP binding for TA 2.1 devices
ARM: dts: Add SFP binding for TA 3.0 devices
nvmem: sfp: Add support for TA 2.1 devices

.../bindings/nvmem/fsl,layerscape-sfp.yaml | 30 +++++++++++++++++--
arch/arm/boot/dts/ls1021a.dtsi | 7 +++++
.../arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 8 +++++
.../arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 5 +++-
.../arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 8 +++++
.../arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 8 +++++
.../arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 8 +++++
.../arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 8 +++++
.../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 8 +++++
drivers/nvmem/layerscape-sfp.c | 1 +
10 files changed, 87 insertions(+), 4 deletions(-)

--
2.35.1.1320.gc452695387.dirty


2022-04-22 22:05:15

by Sean Anderson

[permalink] [raw]
Subject: [PATCH 7/8] ARM: dts: Add SFP binding for TA 3.0 devices

This adds an SFP binding for Trust Architecture 3.0 devices.

Signed-off-by: Sean Anderson <[email protected]>
---

arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 8 ++++++++
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 8 ++++++++
arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 8 ++++++++
3 files changed, 24 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 18e529118476..1a58e8671047 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -269,6 +269,14 @@ extirq: interrupt-controller@14 {
};
};

+ sfp: efuse@1e80000 {
+ compatible = "fsl,ls1028a-sfp";
+ reg = <0x0 0x1e80000 0x0 0x10000>;
+ clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
+ QORIQ_CLK_PLL_DIV(4)>;
+ clock-names = "sfp";
+ };
+
tmu: tmu@1f80000 {
compatible = "fsl,qoriq-tmu";
reg = <0x0 0x1f80000 0x0 0x10000>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 1282b61da8a5..5705ec554bf9 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -278,6 +278,14 @@ dcfg: dcfg@1e00000 {
little-endian;
};

+ sfp: efuse@1e80000 {
+ compatible = "fsl,ls1028a-sfp";
+ reg = <0x0 0x1e80000 0x0 0x10000>;
+ clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
+ QORIQ_CLK_PLL_DIV(4)>;
+ clock-names = "sfp";
+ };
+
isc: syscon@1f70000 {
compatible = "fsl,ls2080a-isc", "syscon";
reg = <0x0 0x1f70000 0x0 0x10000>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
index c5daa15b020d..53dd8c7dc048 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
@@ -671,6 +671,14 @@ dcfg: syscon@1e00000 {
little-endian;
};

+ sfp: efuse@1e80000 {
+ compatible = "fsl,ls1028a-sfp";
+ reg = <0x0 0x1e80000 0x0 0x10000>;
+ clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
+ QORIQ_CLK_PLL_DIV(4)>;
+ clock-names = "sfp";
+ };
+
isc: syscon@1f70000 {
compatible = "fsl,lx2160a-isc", "syscon";
reg = <0x0 0x1f70000 0x0 0x10000>;
--
2.35.1.1320.gc452695387.dirty

2022-04-22 22:55:23

by Sean Anderson

[permalink] [raw]
Subject: [PATCH 4/8] dt-bindings: nvmem: sfp: Add compatible binding for TA 2.1 SFPs

Trust Architecture (TA) 2.1 devices include the LS1012A, LS1021A,
LS1043A, and LS1046A. The SFP device on TA 2.1 devices is very similar
to the SFP on TA 3.0 devices. The primary difference is a few fields in
the control register. Add a compatible string.

Signed-off-by: Sean Anderson <[email protected]>
---

.../devicetree/bindings/nvmem/fsl,layerscape-sfp.yaml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/nvmem/fsl,layerscape-sfp.yaml b/Documentation/devicetree/bindings/nvmem/fsl,layerscape-sfp.yaml
index e7d1232fcd41..aa277f1eee7e 100644
--- a/Documentation/devicetree/bindings/nvmem/fsl,layerscape-sfp.yaml
+++ b/Documentation/devicetree/bindings/nvmem/fsl,layerscape-sfp.yaml
@@ -18,8 +18,13 @@ allOf:

properties:
compatible:
- enum:
- - fsl,ls1028a-sfp
+ oneOf:
+ - description: Trust architecture 2.1 SFP
+ items:
+ - const: fsl,ls1021a-sfp
+ - description: Trust architecture 3.0 SFP
+ items:
+ - const: fsl,ls1028a-sfp

reg:
maxItems: 1
--
2.35.1.1320.gc452695387.dirty