Skip to contentSkip to conversation

ARM: dts: Add SHAM and AES DT information

PATCH Superseded Mark A. Greer 3 participants 7 messages Jul 16, 2013 – Jul 17, 2013

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

cover ARM: dts: Add SHAM and AES DT information

From: "Mark A. Greer" <[email protected]>

Long overdue patches to add the device tree updates and documentation for the SHAM and AES modules on the am33xx. The supporting code is already in the mainline kernel.

Mark A. Greer (2):
ARM: dts: Add SHAM data and documentation for AM33XX
ARM: dts: Add AES data and documentation for AM33XX

 .../devicetree/bindings/crypto/omap-aes.txt        | 35 ++++++++++++++++++++++
 .../devicetree/bindings/crypto/omap-sham.txt       | 33 ++++++++++++++++++++
 arch/arm/boot/dts/am335x-bone.dts                  |  8 +++++
 arch/arm/boot/dts/am335x-evm.dts                   |  8 +++++
 arch/arm/boot/dts/am335x-evmsk.dts                 |  7 +++++
 arch/arm/boot/dts/am33xx.dtsi                      | 20 +++++++++++++
 6 files changed, 111 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/omap-aes.txt
 create mode 100644 Documentation/devicetree/bindings/crypto/omap-sham.txt
Signature · 1 line
1.7.12
#1 lore raw

PATCH 1/2 ARM: dts: Add SHAM data and documentation for AM33XX

From: "Mark A. Greer" <[email protected]>

Add the generic AM33XX SHAM module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the SHAM module.

---
 .../devicetree/bindings/crypto/omap-sham.txt       | 33 ++++++++++++++++++++++
 arch/arm/boot/dts/am335x-bone.dts                  |  4 +++
 arch/arm/boot/dts/am335x-evm.dts                   |  4 +++
 arch/arm/boot/dts/am335x-evmsk.dts                 |  3 ++
 arch/arm/boot/dts/am33xx.dtsi                      |  9 ++++++
 5 files changed, 53 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/omap-sham.txt
Documentation/devicetree/bindings/crypto/omap-sham.txt new file +33 -0
new file mode 100644
index 0000000..c6d1202
@@ -0,0 +1,33 @@
+OMAP SoC SHA crypto Module
+
+Required properties:
+
+- compatible : Should contain entries for this and backward compatible
+  SHAM versions:
+  - "ti,omap2-sham" for OMAP2 & OMAP3.
+  - "ti,omap4-sham" for OMAP4 and AM33XX.
+  Note that these two versions are incompatible.
+- ti,hwmods: Name of the hwmod associated with the SHAM module
+- reg : Offset and length of the register set for the module
+- interrupt-parent : the phandle for the interrupt controller that
+  services interrupts for this module.
+- interrupts : the interrupt number for the SHAM module.
+
+Optional properties:
+- dmas: DMA controller phandle and DMA request ordered pair.
+	Only one rx pair is valid per SHAM module.
+- dma-names: DMA request name. This string corresponds 1:1 with
+	the ordered pair in dmas. The string naming is to be
+	"rx" for RX request.
+
+Example:
+	/* AM335x */
+	sham: sham at 53100000 {
+		compatible = "ti,omap4-sham";
+		ti,hwmods = "sham";
+		reg = <0x53100000 0x200>;
+		interrupt-parent = <&intc>;
+		interrupts = <109>;
+		dmas = <&edma 36>;
+		dma-names = "rx";
+	};
arch/arm/boot/dts/am335x-bone.dts +4 -0
index 444b4ed..bc75b2c 100644
@@ -234,3 +234,7 @@
 	pinctrl-0 = <&davinci_mdio_default>;
 	pinctrl-1 = <&davinci_mdio_sleep>;
 };
+
+&sham {
+	status = "okay";
+};
arch/arm/boot/dts/am335x-evm.dts +4 -0
index 3aee1a4..9b8c56d 100644
@@ -488,3 +488,7 @@
 		ti,adc-channels = <4 5 6 7>;
 	};
 };
+
+&sham {
+	status = "okay";
+};
arch/arm/boot/dts/am335x-evmsk.dts +3 -0
index 0c8ad17..b04aea1 100644
@@ -401,4 +401,7 @@
 &cpsw_emac1 {
 	phy_id = <&davinci_mdio>, <1>;
 	phy-mode = "rgmii-txid";
+
+&sham {
+	status = "okay";
 };
arch/arm/boot/dts/am33xx.dtsi +9 -0
index 38b446b..eb0e719 100644
@@ -529,6 +529,15 @@
 			#address-cells = <2>;
 			#size-cells = <1>;
 			status = "disabled";
+
+		sham: sham at 53100000 {
+			compatible = "ti,omap4-sham";
+			ti,hwmods = "sham";
+			reg = <0x53100000 0x200>;
+			interrupt-parent = <&intc>;
+			interrupts = <109>;
+			dmas = <&edma 36>;
+			dma-names = "rx";
 		};
 	};
 };
Signature · 1 line
1.7.12
#2 lore raw

PATCH 1/2 ARM: dts: Add SHAM data and documentation for AM33XX

Quoted 9 lines · Mark A. Greer

From: "Mark A. Greer" <[email protected]>

Add the generic AM33XX SHAM module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the SHAM module.

Thanks,

-Joel

#3 lore raw

PATCH 1/2 ARM: dts: Add SHAM data and documentation for AM33XX

In reply to Mark A. Greer

Hi Mark,

Quoted 86 lines · Mark A. Greer

From: "Mark A. Greer" <[email protected]>

Add the generic AM33XX SHAM module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the SHAM module.

---
 .../devicetree/bindings/crypto/omap-sham.txt       | 33 ++++++++++++++++++++++
 arch/arm/boot/dts/am335x-bone.dts                  |  4 +++
 arch/arm/boot/dts/am335x-evm.dts                   |  4 +++
 arch/arm/boot/dts/am335x-evmsk.dts                 |  3 ++
 arch/arm/boot/dts/am33xx.dtsi                      |  9 ++++++
 5 files changed, 53 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/omap-sham.txt
Documentation/devicetree/bindings/crypto/omap-sham.txt new file +33 -0
new file mode 100644
index 0000000..c6d1202
@@ -0,0 +1,33 @@
+OMAP SoC SHA crypto Module
+
+Required properties:
+
+- compatible : Should contain entries for this and backward compatible
+  SHAM versions:
+  - "ti,omap2-sham" for OMAP2 & OMAP3.
+  - "ti,omap4-sham" for OMAP4 and AM33XX.
+  Note that these two versions are incompatible.
+- ti,hwmods: Name of the hwmod associated with the SHAM module
+- reg : Offset and length of the register set for the module
+- interrupt-parent : the phandle for the interrupt controller that
+  services interrupts for this module.
+- interrupts : the interrupt number for the SHAM module.
+
+Optional properties:
+- dmas: DMA controller phandle and DMA request ordered pair.
+	Only one rx pair is valid per SHAM module.
+- dma-names: DMA request name. This string corresponds 1:1 with
+	the ordered pair in dmas. The string naming is to be
+	"rx" for RX request.
+
+Example:
+	/* AM335x */
+	sham: sham at 53100000 {
+		compatible = "ti,omap4-sham";
+		ti,hwmods = "sham";
+		reg = <0x53100000 0x200>;
+		interrupt-parent = <&intc>;
+		interrupts = <109>;
+		dmas = <&edma 36>;
+		dma-names = "rx";
+	};
arch/arm/boot/dts/am335x-bone.dts +4 -0
index 444b4ed..bc75b2c 100644
@@ -234,3 +234,7 @@
 	pinctrl-0 = <&davinci_mdio_default>;
 	pinctrl-1 = <&davinci_mdio_sleep>;
 };
+
+&sham {
+	status = "okay";
+};
arch/arm/boot/dts/am335x-evm.dts +4 -0
index 3aee1a4..9b8c56d 100644
@@ -488,3 +488,7 @@
 		ti,adc-channels = <4 5 6 7>;
 	};
 };
+
+&sham {
+	status = "okay";
+};
arch/arm/boot/dts/am335x-evmsk.dts +0 -0
index 0c8ad17..b04aea1 100644

arch/arm/boot/dts/am335x-evmsk.dts line 406

Quoted 6 lines
arch/arm/boot/dts/am335x-evmsk.dts +3 -0
@@ -401,4 +401,7 @@
 &cpsw_emac1 {
 	phy_id = <&davinci_mdio>, <1>;
 	phy-mode = "rgmii-txid";
+
+&sham {
+	status = "okay";

"};" is missing here.

Quoted 8 lines
arch/arm/boot/dts/am335x-evmsk.dts +0 -0
 };
arch/arm/boot/dts/am33xx.dtsi +0 -0
index 38b446b..eb0e719 100644
@@ -529,6 +529,15 @@
 			#address-cells = <2>;
 			#size-cells = <1>;

arch/arm/boot/dts/am33xx.dtsi line 540

Quoted 10 lines
arch/arm/boot/dts/am33xx.dtsi +9 -0
 			status = "disabled";
+
+		sham: sham at 53100000 {
+			compatible = "ti,omap4-sham";
+			ti,hwmods = "sham";
+			reg = <0x53100000 0x200>;
+			interrupt-parent = <&intc>;
+			interrupts = <109>;
+			dmas = <&edma 36>;
+			dma-names = "rx";

ditto...

And please specify in commit log that this series is dependent on Joel's "[PATCH 1/2] ARM: dts: add AM33XX EDMA support" series.

Thanks,
Lokesh

Quoted 4 lines
arch/arm/boot/dts/am33xx.dtsi +0 -0
 		};
 	};
 };
#4 lore raw

PATCH 1/2 ARM: dts: Add SHAM data and documentation for AM33XX

Quoted 1 line · Lokesh Vutla

Hi Mark,

Hi Lokesh.

Quoted 16 lines · Mark A. Greer

arch/arm/boot/dts/am335x-evmsk.dts line 406

Quoted 13 lines

From: "Mark A. Greer" <[email protected]>

arch/arm/boot/dts/am335x-evmsk.dts +3 -0
index 0c8ad17..b04aea1 100644
@@ -401,4 +401,7 @@
 &cpsw_emac1 {
 	phy_id = <&davinci_mdio>, <1>;
 	phy-mode = "rgmii-txid";
+
+&sham {
+	status = "okay";

"};" is missing here.

Quoted 1 line
arch/arm/boot/dts/am335x-evmsk.dts +0 -0
 };

Ugh, yeah, I somehow mess that out.

Thanks for pointing that out.

Mark
--

#5 lore raw

PATCH 2/2 ARM: dts: Add AES data and documentation for AM33XX

In reply to Mark A. Greer

From: "Mark A. Greer" <[email protected]>

Add the generic AM33XX AES module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the AES module.

---
 .../devicetree/bindings/crypto/omap-aes.txt        | 35 ++++++++++++++++++++++
 arch/arm/boot/dts/am335x-bone.dts                  |  4 +++
 arch/arm/boot/dts/am335x-evm.dts                   |  4 +++
 arch/arm/boot/dts/am335x-evmsk.dts                 |  4 +++
 arch/arm/boot/dts/am33xx.dtsi                      | 11 +++++++
 5 files changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/omap-aes.txt
Documentation/devicetree/bindings/crypto/omap-aes.txt new file +35 -0
new file mode 100644
index 0000000..b51d12f
@@ -0,0 +1,35 @@
+OMAP SoC AES crypto Module
+
+Required properties:
+
+- compatible : Should contain entries for this and backward compatible
+  AES versions:
+  - "ti,omap2-aes" for OMAP2.
+  - "ti,omap3-aes" for OMAP3.
+  - "ti,omap4-aes" for OMAP4 and AM33XX.
+  Note that the OMAP2 and 3 versions are compatible (OMAP3 supports
+  more algorithms) but they are incompatible with OMAP4.
+- ti,hwmods: Name of the hwmod associated with the AES odule
+- reg : Offset and length of the register set for the module
+- interrupt-parent : the phandle for the interrupt controller that
+  services interrupts for this module.
+- interrupts : the interrupt number for the AES odule.
+
+Optional properties:
+- dmas: DMA controller phandle and DMA request ordered pairs.
+- dma-names: DMA request names. This string corresponds 1:1 with
+	the ordered pairs in dmas. The string naming is to be
+	"tx" for TX request and "rx" for RX request.
+
+Example:
+	/* AM335x */
+	aes: aes at 53500000 {
+		compatible = "ti,omap4-aes";
+		ti,hwmods = "aes";
+		reg = <0x53500000 0xa0>;
+		interrupt-parent = <&intc>;
+		interrupts = <102>;
+		dmas = <&edma 6
+			&edma 5>;
+		dma-names = "tx", "rx";
+	};
arch/arm/boot/dts/am335x-bone.dts +4 -0
index bc75b2c..0cb454e 100644
@@ -238,3 +238,7 @@
 &sham {
 	status = "okay";
 };
+
+&aes {
+	status = "okay";
+};
arch/arm/boot/dts/am335x-evm.dts +4 -0
index 9b8c56d..76ba004 100644
@@ -492,3 +492,7 @@
 &sham {
 	status = "okay";
 };
+
+&aes {
+	status = "okay";
+};
arch/arm/boot/dts/am335x-evmsk.dts +4 -0
index b04aea1..483d263 100644
@@ -405,3 +405,7 @@
 &sham {
 	status = "okay";
 };
+
+&aes {
+	status = "okay";
+};
arch/arm/boot/dts/am33xx.dtsi +11 -0
index eb0e719..b20265a 100644
@@ -539,5 +539,16 @@
 			dmas = <&edma 36>;
 			dma-names = "rx";
 		};
+
+		aes: aes at 53500000 {
+			compatible = "ti,omap4-aes";
+			ti,hwmods = "aes";
+			reg = <0x53500000 0xa0>;
+			interrupt-parent = <&intc>;
+			interrupts = <102>;
+			dmas = <&edma 6
+				&edma 5>;
+			dma-names = "tx", "rx";
+		};
 	};
 };
Signature · 1 line
1.7.12
#6 lore raw

PATCH 2/2 ARM: dts: Add AES data and documentation for AM33XX

Quoted 9 lines · Mark A. Greer

From: "Mark A. Greer" <[email protected]>

Add the generic AM33XX AES module's device tree data and enable it for the am335x-evm, am335x-evmsk, and am335x-bone platforms. Also add Documentation file describing the data for the AES module.

Thanks,

-Joel