Skip to contentSkip to conversation

arm: spear6xx: DT cleanups and improvements

PATCH Superseded Thomas Petazzoni 2 participants 11 messages Mar 21, 2017 – Apr 17, 2017 Device tree bindings

lore
Share & tools
lore
#0 lore raw

v2 cover arm: spear6xx: DT cleanups and improvements

Hello,

This small series brings a few minor DT cleanups and improvements for the SPEAr600 platform:

- Provide and use DT node labels
- Fix minor coding style issue
- Switch to the new MTD partition DT binding
- Remove unneeded pinctrl properties

Changes since v1:

- Add a few more node labels, and convert the spear600-evb.dts to use node labels, so that one platform upstream uses the node labels.

- Add more patches making misc cleanups/improvements in spear600-evb.dts.

Thanks!

Thomas

Thomas Petazzoni (5):
arm: spear6xx: add labels to various nodes in spear600.dtsi
arm: spear6xx: use node labels in spear600-evb.dts
arm: spear6xx: fix spaces in spear600-evb.dts
arm: spear6xx: switch spear600-evb to the new flash partition DT
binding
arm: spear6xx: remove unneeded pinctrl properties in spear600-evb

 arch/arm/boot/dts/spear600-evb.dts | 148 ++++++++++++++++++-------------------
 arch/arm/boot/dts/spear600.dtsi    |  20 ++---
 2 files changed, 82 insertions(+), 86 deletions(-)
Signature · 1 line
2.7.4
#1 lore raw

PATCH v2 1/5 arm: spear6xx: add labels to various nodes in spear600.dtsi

Having labels allows to more easily reference nodes in .dts files including spear600.dtsi.

---
 arch/arm/boot/dts/spear600.dtsi | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
arch/arm/boot/dts/spear600.dtsi +10 -10
index 9f60a7b..8459286 100644
@@ -49,7 +49,7 @@
 			#interrupt-cells = <1>;
 		};
 
-		clcd at fc200000 {
+		clcd: clcd at fc200000 {
 			compatible = "arm,pl110", "arm,primecell";
 			reg = <0xfc200000 0x1000>;
 			interrupt-parent = <&vic1>;
@@ -57,7 +57,7 @@
 			status = "disabled";
 		};
 
-		dma at fc400000 {
+		dmac: dma at fc400000 {
 			compatible = "arm,pl080", "arm,primecell";
 			reg = <0xfc400000 0x1000>;
 			interrupt-parent = <&vic1>;
@@ -97,7 +97,7 @@
 			status = "disabled";
 		};
 
-		ehci at e1800000 {
+		ehci_usb0: ehci at e1800000 {
 			compatible = "st,spear600-ehci", "usb-ehci";
 			reg = <0xe1800000 0x1000>;
 			interrupt-parent = <&vic1>;
@@ -105,7 +105,7 @@
 			status = "disabled";
 		};
 
-		ehci at e2000000 {
+		ehci_usb1: ehci at e2000000 {
 			compatible = "st,spear600-ehci", "usb-ehci";
 			reg = <0xe2000000 0x1000>;
 			interrupt-parent = <&vic1>;
@@ -113,7 +113,7 @@
 			status = "disabled";
 		};
 
-		ohci at e1900000 {
+		ohci_usb0: ohci at e1900000 {
 			compatible = "st,spear600-ohci", "usb-ohci";
 			reg = <0xe1900000 0x1000>;
 			interrupt-parent = <&vic1>;
@@ -121,7 +121,7 @@
 			status = "disabled";
 		};
 
-		ohci at e2100000 {
+		ohci_usb1: ohci at e2100000 {
 			compatible = "st,spear600-ohci", "usb-ohci";
 			reg = <0xe2100000 0x1000>;
 			interrupt-parent = <&vic1>;
@@ -135,7 +135,7 @@
 			compatible = "simple-bus";
 			ranges = <0xd0000000 0xd0000000 0x30000000>;
 
-			serial at d0000000 {
+			uart0: serial at d0000000 {
 				compatible = "arm,pl011", "arm,primecell";
 				reg = <0xd0000000 0x1000>;
 				interrupt-parent = <&vic0>;
@@ -143,7 +143,7 @@
 				status = "disabled";
 			};
 
-			serial at d0080000 {
+			uart1: serial at d0080000 {
 				compatible = "arm,pl011", "arm,primecell";
 				reg = <0xd0080000 0x1000>;
 				interrupt-parent = <&vic0>;
@@ -181,7 +181,7 @@
 				interrupts = <4>;
 			};
 
-			i2c at d0200000 {
+			i2c: i2c at d0200000 {
 				#address-cells = <1>;
 				#size-cells = <0>;
 				compatible = "snps,designware-i2c";
@@ -191,7 +191,7 @@
 				status = "disabled";
 			};
 
-			rtc at fc900000 {
+			rtc: rtc at fc900000 {
 				compatible = "st,spear600-rtc";
 				reg = <0xfc900000 0x1000>;
 				interrupts = <10>;
Signature · 1 line
2.7.4
#2 lore raw

PATCH v2 2/5 arm: spear6xx: use node labels in spear600-evb.dts

In reply to Thomas Petazzoni

Now that we have introduced node labels in spear600.dtsi, we can use them for spear600-evb.dts.

---
 arch/arm/boot/dts/spear600-evb.dts | 156 ++++++++++++++++++-------------------
 1 file changed, 76 insertions(+), 80 deletions(-)
arch/arm/boot/dts/spear600-evb.dts +76 -80
index d865a89..375eb61 100644
@@ -22,95 +22,91 @@
 		device_type = "memory";
 		reg = <0 0x10000000>;
 	};
+};
 
-	ahb {
-		clcd at fc200000 {
-			status = "okay";
-		};
+&clcd {
+	status = "okay";
+};
 
-		dma at fc400000 {
-			status = "okay";
-		};
+&dmac {
+	status = "okay";
+};
 
-		ehci at e1800000 {
-			status = "okay";
-		};
+&ehci_usb0 {
+	status = "okay";
+};
 
-		ehci at e2000000 {
-			status = "okay";
-		};
+&ehci_usb1 {
+	status = "okay";
+};
 
-		gmac: ethernet at e0800000 {
-			phy-mode = "gmii";
-			status = "okay";
-		};
+&gmac {
+	phy-mode = "gmii";
+	status = "okay";
+};
 
-		ohci at e1900000 {
-			status = "okay";
-		};
+&ohci_usb0 {
+	status = "okay";
+};
 
-		ohci at e2100000 {
-			status = "okay";
-		};
+&ohci_usb1 {
+	status = "okay";
+};
 
-		smi: flash at fc000000 {
-			status = "okay";
-			clock-rate=<50000000>;
-
-			flash at f8000000 {
-				#address-cells = <1>;
-				#size-cells = <1>;
-				reg = <0xf8000000 0x800000>;
-				st,smi-fast-mode;
-
-				partition at 0 {
-					label = "xloader";
-					reg = <0x0 0x10000>;
-				};
-				partition at 10000 {
-					label = "u-boot";
-					reg = <0x10000 0x50000>;
-				};
-				partition at 60000 {
-					label = "environment";
-					reg = <0x60000 0x10000>;
-				};
-				partition at 70000 {
-					label = "dtb";
-					reg = <0x70000 0x10000>;
-				};
-				partition at 80000 {
-					label = "linux";
-					reg = <0x80000 0x310000>;
-				};
-				partition at 390000 {
-					label = "rootfs";
-					reg = <0x390000 0x0>;
-				};
-			};
-		};
+&smi {
+	status = "okay";
+	clock-rate=<50000000>;
+
+	flash at f8000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		reg = <0xf8000000 0x800000>;
+		st,smi-fast-mode;
 
-		apb {
-			serial at d0000000 {
-				status = "okay";
-				pinctrl-names = "default";
-				pinctrl-0 = <>;
-			};
-
-			serial at d0080000 {
-				status = "okay";
-				pinctrl-names = "default";
-				pinctrl-0 = <>;
-			};
-
-			rtc at fc900000 {
-			       status = "okay";
-			};
-
-			i2c at d0200000 {
-				clock-frequency = <400000>;
-				status = "okay";
-			};
+		partition at 0 {
+			label = "xloader";
+			reg = <0x0 0x10000>;
+		};
+		partition at 10000 {
+			label = "u-boot";
+			reg = <0x10000 0x50000>;
+		};
+		partition at 60000 {
+			label = "environment";
+			reg = <0x60000 0x10000>;
+		};
+		partition at 70000 {
+			label = "dtb";
+			reg = <0x70000 0x10000>;
+		};
+		partition at 80000 {
+			label = "linux";
+			reg = <0x80000 0x310000>;
+		};
+		partition at 390000 {
+			label = "rootfs";
+			reg = <0x390000 0x0>;
 		};
 	};
 };
+
+&uart0 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <>;
+};
+
+&uart1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <>;
+};
+
+&rtc {
+	status = "okay";
+};
+
+&i2c {
+	clock-frequency = <400000>;
+	status = "okay";
+};
Signature · 1 line
2.7.4
#3 lore raw

PATCH v2 3/5 arm: spear6xx: fix spaces in spear600-evb.dts

In reply to Thomas Petazzoni

This commit fixes a minor coding style issue in spear600-evb.dts:
missing spaces around equal sign.

---
 arch/arm/boot/dts/spear600-evb.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/spear600-evb.dts +1 -1
index 375eb61..32a44b6 100644
@@ -55,7 +55,7 @@
 
 &smi {
 	status = "okay";
-	clock-rate=<50000000>;
+	clock-rate = <50000000>;
 
 	flash at f8000000 {
 		#address-cells = <1>;
Signature · 1 line
2.7.4
#4 lore raw

PATCH v2 4/5 arm: spear6xx: switch spear600-evb to the new flash partition DT binding

In reply to Thomas Petazzoni

This commit moves spear600-evb.dts to use the new flash partition Device Tree binding documented in Documentation/devicetree/bindings/mtd/partition.txt.

As this Device Tree binding document says: "For backwards compatibility partitions as direct subnodes of the mtd device are supported. This use is discouraged."

---
 arch/arm/boot/dts/spear600-evb.dts | 54 ++++++++++++++++++++------------------
 1 file changed, 29 insertions(+), 25 deletions(-)
arch/arm/boot/dts/spear600-evb.dts +29 -25
index 32a44b6..f36603f 100644
@@ -58,34 +58,38 @@
 	clock-rate = <50000000>;
 
 	flash at f8000000 {
-		#address-cells = <1>;
-		#size-cells = <1>;
 		reg = <0xf8000000 0x800000>;
 		st,smi-fast-mode;
 
-		partition at 0 {
-			label = "xloader";
-			reg = <0x0 0x10000>;
-		};
-		partition at 10000 {
-			label = "u-boot";
-			reg = <0x10000 0x50000>;
-		};
-		partition at 60000 {
-			label = "environment";
-			reg = <0x60000 0x10000>;
-		};
-		partition at 70000 {
-			label = "dtb";
-			reg = <0x70000 0x10000>;
-		};
-		partition at 80000 {
-			label = "linux";
-			reg = <0x80000 0x310000>;
-		};
-		partition at 390000 {
-			label = "rootfs";
-			reg = <0x390000 0x0>;
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "xloader";
+				reg = <0x0 0x10000>;
+			};
+			partition at 10000 {
+				label = "u-boot";
+				reg = <0x10000 0x50000>;
+			};
+			partition at 60000 {
+				label = "environment";
+				reg = <0x60000 0x10000>;
+			};
+			partition at 70000 {
+				label = "dtb";
+				reg = <0x70000 0x10000>;
+			};
+			partition at 80000 {
+				label = "linux";
+				reg = <0x80000 0x310000>;
+			};
+			partition at 390000 {
+				label = "rootfs";
+				reg = <0x390000 0x0>;
+			};
 		};
 	};
 };
Signature · 1 line
2.7.4
#5 lore raw

PATCH v2 5/5 arm: spear6xx: remove unneeded pinctrl properties in spear600-evb

In reply to Thomas Petazzoni

The spear6xx doesn't have a pinctrl driver, since the pinmux is globally defined through a single register, generally configured by the firmware/bootloader.

Therefore, the pinctrl related properties in spear600-evb.dts are not necessary.

---
 arch/arm/boot/dts/spear600-evb.dts | 4 ----
 1 file changed, 4 deletions(-)
arch/arm/boot/dts/spear600-evb.dts +0 -4
index f36603f..c67e76c 100644
@@ -96,14 +96,10 @@
 
 &uart0 {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <>;
 };
 
 &uart1 {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <>;
 };
 
 &rtc {
Signature · 1 line
2.7.4
#6 lore raw

v2 cover arm: spear6xx: DT cleanups and improvements

In reply to Thomas Petazzoni
Quoted 10 lines · Thomas Petazzoni

Hello,

This small series brings a few minor DT cleanups and improvements for the SPEAr600 platform:

- Provide and use DT node labels
- Fix minor coding style issue
- Switch to the new MTD partition DT binding
- Remove unneeded pinctrl properties

Quoted 7 lines

Changes since v1:

- Add a few more node labels, and convert the spear600-evb.dts to use node labels, so that one platform upstream uses the node labels.

- Add more patches making misc cleanups/improvements in spear600-evb.dts.

Signature · 1 line
viresh
#7 lore raw

v2 cover arm: spear6xx: DT cleanups and improvements

Hello,

Quoted 9 lines · Viresh Kumar
Quoted 7 lines

Changes since v1:

- Add a few more node labels, and convert the spear600-evb.dts to use node labels, so that one platform upstream uses the node labels.

- Add more patches making misc cleanups/improvements in spear600-evb.dts.

Thanks! However, unless I'm missing something, I don't see these changes in linux-next. Who is going to apply them and send a pull request to arm-soc? You're listed as one the maintainers for SPEAr, so I was assuming you would do it. Is this correct?

Let me know if there's anything to be done on my side to get those patches merged.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#8 lore raw

v2 cover arm: spear6xx: DT cleanups and improvements

Quoted 7 lines · Thomas Petazzoni

Thanks! However, unless I'm missing something, I don't see these changes in linux-next. Who is going to apply them and send a pull request to arm-soc? You're listed as one the maintainers for SPEAr, so I was assuming you would do it. Is this correct?

Let me know if there's anything to be done on my side to get those patches merged.

Yes, that would be the normal flow and I did that initially. But then the number of patches really decreased and its better to send the patches directly to ARM maintainers so that they can apply them. No need of PULL requests really.

Send them to: arm-soc <[email protected]>

Signature · 1 line
viresh
#9 lore raw

v2 cover arm: spear6xx: DT cleanups and improvements

Hello,

Quoted 5 lines · Viresh Kumar

Yes, that would be the normal flow and I did that initially. But then the number of patches really decreased and its better to send the patches directly to ARM maintainers so that they can apply them. No need of PULL requests really.

Send them to: arm-soc <[email protected]>

OK, thanks. I more recently sent two other SPEAr600 patches, one adding the ADC to the DT, one fixing the clock driver for the ADC clock.

Could you have a look at them, and hopefully give your Acked-by, so that I can get send them to arm-soc at the same time?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#10 lore raw

v2 cover arm: spear6xx: DT cleanups and improvements

Quoted 8 lines · Thomas Petazzoni

Hello,

Quoted 4 lines · Viresh Kumar

Yes, that would be the normal flow and I did that initially. But then the number of patches really decreased and its better to send the patches directly to ARM maintainers so that they can apply them. No need of PULL requests really.

Quoted 7 lines
Quoted 1 line

Send them to: arm-soc <[email protected]>

OK, thanks. I more recently sent two other SPEAr600 patches, one adding the ADC to the DT, one fixing the clock driver for the ADC clock.

Could you have a look at them, and hopefully give your Acked-by, so that I can get send them to arm-soc at the same time?

Already done this morning.

Signature · 1 line
viresh