Skip to contentSkip to conversation

ARM: dts: Add SHAM and AES DT information

PATCH Superseded Mark A. Greer 6 participants 14 messages Jul 17, 2013 – Aug 23, 2013

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

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

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla <[email protected]>

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                 |  8 +++++
 arch/arm/boot/dts/am33xx.dtsi                      | 21 +++++++++++++
 6 files changed, 113 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 v2 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                 |  4 +++
 arch/arm/boot/dts/am33xx.dtsi                      | 10 +++++++
 5 files changed, 55 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 +4 -0
index 0c8ad17..61dc5d4 100644
@@ -402,3 +402,7 @@
 	phy_id = <&davinci_mdio>, <1>;
 	phy-mode = "rgmii-txid";
 };
+
+&sham {
+	status = "okay";
+};
arch/arm/boot/dts/am33xx.dtsi +10 -0
index 38b446b..63a5e95 100644
@@ -530,5 +530,15 @@
 			#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 v2 1/2 ARM: dts: Add SHAM data and documentation for AM33XX

Quoted 32 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                 |  4 +++
 arch/arm/boot/dts/am33xx.dtsi                      | 10 +++++++
 5 files changed, 55 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/omap-sham.txt
Documentation/devicetree/bindings/crypto/omap-sham.txt new file +8 -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.

Documentation/devicetree/bindings/crypto/omap-sham.txt line 18

Quoted 10 lines
Documentation/devicetree/bindings/crypto/omap-sham.txt new file +10 -0
+  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.

This may be a little late, but...

Nit: A dma specifier may have many cells, so calling it "pair" is not necessarily correct:

dmas = <&dma0 432 7 5>,

       <&dma1 3>,
       <&dma0 212 1 13>;

You could instead say:

- dmas: DMA specifier for the rx dma. See the DMA client binding, Documentation/devicetree/bindings/dma/dma.txt

Documentation/devicetree/bindings/crypto/omap-sham.txt line 21

Quoted 3 lines
Documentation/devicetree/bindings/crypto/omap-sham.txt new file +3 -0
+- 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.

Similarly:

- dma-names: DMA request name. Should be "rx" if a dma is present.

It would be nice to get the bindings using consistent terminology so we don't confuse everyone further.

Thanks,
Mark.

#3 lore raw

PATCH v2 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 61dc5d4..025a47e 100644
@@ -406,3 +406,7 @@
 &sham {
 	status = "okay";
 };
+
+&aes {
+	status = "okay";
+};
arch/arm/boot/dts/am33xx.dtsi +11 -0
index 63a5e95..2a7ff0f 100644
@@ -540,5 +540,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
#4 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

In reply to Mark A. Greer

Hi Beno?t,

Quoted 11 lines · Mark A. Greer

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.

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla <[email protected]>

I guess you should take these patches?

- Paul

#5 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

Hi Paul,

Quoted 10 lines · Paul Walmsley

Hi Beno?t,

Quoted 6 lines · Mark A. Greer

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.

Quoted 7 lines
Quoted 5 lines

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla <[email protected]>

I guess you should take these patches?

You're right, I should, I've just never seen them :-( Thanks for the pointer.

Mark,

After a quick search on Google, I did not see any comment on these patches. Did you get any review so far?

Thanks,
Benoit

#6 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

Hi Mark,

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

Is this EDMA series supposed to be merged for 3.12? If this is the case, where can I find a reference GIT for it?

Thanks,
Benoit

Quoted 33 lines · Benoit Cousson

Hi Paul,

Quoted 10 lines · Paul Walmsley

Hi Beno?t,

Quoted 6 lines · Mark A. Greer

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.

Quoted 8 lines
Quoted 6 lines

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla
<[email protected]>

I guess you should take these patches?

You're right, I should, I've just never seen them :-( Thanks for the pointer.

Mark,

After a quick search on Google, I did not see any comment on these patches. Did you get any review so far?

Thanks,
Benoit

#7 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

Quoted 1 line · Benoit Cousson

Hi Mark,

Hi Benoit.

Quoted 3 lines

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

I just applied them on top of k.o fd3930f (proc: more readdir conversion bug-fixes) without issue. I also went through the resulting code and it looked okay.

Which repo are you applying them to?

If I should put them on top of another repo/branch, just let me know which one.

Mark
--

#8 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

In reply to Benoit Cousson

Hi Benoit,

Quoted 5 lines · Benoit Cousson

Hi Mark,

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

Is this EDMA series supposed to be merged for 3.12? If this is the case, where can I find a reference GIT for it?

The following EDMA support dt patch series from Joel is needed :
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92176.html
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92177.html

Thanks and Regards,
Lokesh

Quoted 43 lines

Thanks,
Benoit

Quoted 33 lines · Benoit Cousson

Hi Paul,

Quoted 10 lines · Paul Walmsley

Hi Beno?t,

Quoted 6 lines · Mark A. Greer

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.

Quoted 8 lines
Quoted 6 lines

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla
<[email protected]>

I guess you should take these patches?

You're right, I should, I've just never seen them :-( Thanks for the pointer.

Mark,

After a quick search on Google, I did not see any comment on these patches. Did you get any review so far?

Thanks,
Benoit

Signature · 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#9 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

Hi Lokesh,

Quoted 10 lines · Lokesh Vutla

Hi Benoit,

Quoted 5 lines · Benoit Cousson

Hi Mark,

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

Is this EDMA series supposed to be merged for 3.12? If this is the case, where can I find a reference GIT for it?

The following EDMA support dt patch series from Joel is needed :
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92176.html
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92177.html

Thanks, it works a little bit better with these patches :-)

What about the EDMA driver? Is this already in mainline or planned for 3.12?

Thanks,
Benoit

Quoted 47 lines

Thanks and Regards,
Lokesh

Quoted 43 lines

Thanks,
Benoit

Quoted 25 lines · Benoit Cousson

Hi Paul,

Quoted 10 lines · Paul Walmsley

Hi Beno?t,

Quoted 6 lines · Mark A. Greer

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.

Quoted 8 lines
Quoted 6 lines

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla
<[email protected]>

I guess you should take these patches?

You're right, I should, I've just never seen them :-( Thanks for the pointer.

Quoted 8 lines

Mark,

After a quick search on Google, I did not see any comment on these patches. Did you get any review so far?

Thanks,
Benoit

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

#10 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

Hi Benoit,

Quoted 9 lines · Benoit Cousson

Hi Lokesh,

Quoted 6 lines · Lokesh Vutla

Hi Benoit,

Quoted 4 lines · Benoit Cousson

Hi Mark,

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Is this EDMA series supposed to be merged for 3.12? If this is the case, where can I find a reference GIT for it?

The following EDMA support dt patch series from Joel is needed :
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92176.html
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92177.html

Thanks, it works a little bit better with these patches :-)

What about the EDMA driver? Is this already in mainline or planned for 3.12?

Its already in mainline..:)

Thanks and regards,
Lokesh

Quoted 52 lines

Thanks,
Benoit

Quoted 47 lines

Thanks and Regards,
Lokesh

Quoted 43 lines

Thanks,
Benoit

Quoted 33 lines · Benoit Cousson

Hi Paul,

Quoted 10 lines · Paul Walmsley

Hi Beno?t,

Quoted 6 lines · Mark A. Greer

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.

Quoted 8 lines
Quoted 6 lines

This series is based on the current mainline kernel, c0d15cc (linked-list: Remove __list_for_each).

Changes from v1:
- Added missing '};' as pointed out by Lokesh Vutla
<[email protected]>

I guess you should take these patches?

You're right, I should, I've just never seen them :-( Thanks for the pointer.

Mark,

After a quick search on Google, I did not see any comment on these patches. Did you get any review so far?

Thanks,
Benoit

Signature · 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#11 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

In reply to Benoit Cousson
Quoted 7 lines · Benoit Cousson

Hi Lokesh,

Quoted 4 lines · Lokesh Vutla

Hi Benoit,

Quoted 2 lines · Benoit Cousson

Hi Mark,

Quoted 8 lines
Quoted 6 lines
Quoted 3 lines

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

Is this EDMA series supposed to be merged for 3.12? If this is the case, where can I find a reference GIT for it?

The following EDMA support dt patch series from Joel is needed :
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92176.html
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92177.html

Thanks, it works a little bit better with these patches :-)

Yeah, sorry.

Given Mark Rutland's comments in another email, let me respin and send v3. I'll put a comment about the dependencies this time.

Mark
--

#12 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

Quoted 15 lines · Mark A. Greer
Quoted 14 lines · Benoit Cousson

Hi Lokesh,

Quoted 10 lines · Lokesh Vutla

Hi Benoit,

Quoted 5 lines · Benoit Cousson

Hi Mark,

In fact I cannot even apply these patches since they are referring the the edma controller node that does not seem to be there in 3.11-rc6.

Is this EDMA series supposed to be merged for 3.12? If this is the case, where can I find a reference GIT for it?

The following EDMA support dt patch series from Joel is needed :
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92176.html
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg92177.html

Quoted 6 lines
Quoted 1 line

Thanks, it works a little bit better with these patches :-)

Yeah, sorry.

Given Mark Rutland's comments in another email, let me respin and send v3. I'll put a comment about the dependencies this time.

Just sanity tested these patches on v3.11-rc6 too.

Drivers register successfully after passing the boot crypto testmgr tests.

bash-4.2# cat /proc/crypto | grep -i omap
driver : ctr-aes-omap
driver : cbc-aes-omap
driver : ecb-aes-omap
driver : omap-hmac-sha256
driver : omap-hmac-sha224
driver : omap-sha256
driver : omap-sha224
driver : omap-hmac-md5
driver : omap-hmac-sha1
driver : omap-md5
driver : omap-sha1

Thanks,

-Joel

#13 lore raw

v2 cover ARM: dts: Add SHAM and AES DT information

In reply to Benoit Cousson
Quoted 4 lines · Benoit Cousson

Mark,

After a quick search on Google, I did not see any comment on these patches. Did you get any review so far?

Some people reviewed v1. The entire thread starts here:

	http://www.spinics.net/lists/arm-kernel/msg259079.html

Joel Fernandes <[email protected]> had given his "Tested-by" but Lokesh Vutla <[email protected]> found an issue so I made and posted v2 which is what you have now. I haven't received any comments on v2.

Mark
--