Skip to contentSkip to conversation

ARM: sunxi: dt: Fix aliases

PATCH New Maxime Ripard 2 participants 3 messages Jan 21, 2015 – Jan 22, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: sunxi: dt: Fix aliases

Commit f77d55a3b56a ("serial: 8250_dw: get index of serial line from DT aliases") made the serial driver now use the serial aliases to get the tty number, pointing out that our aliases have been wrong all along.

Remove them from the DTSI and add custom ones in the relevant boards.

---
 arch/arm/boot/dts/sun4i-a10.dtsi                 | 12 ------------
 arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts |  6 ++++++
 arch/arm/boot/dts/sun5i-a10s.dtsi                |  8 --------
 arch/arm/boot/dts/sun5i-a13-hsg-h702.dts         |  4 ++++
 arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts  |  4 ++++
 arch/arm/boot/dts/sun5i-a13-olinuxino.dts        |  4 ++++
 arch/arm/boot/dts/sun5i-a13.dtsi                 |  5 -----
 arch/arm/boot/dts/sun6i-a31.dtsi                 | 10 ----------
 arch/arm/boot/dts/sun7i-a20-bananapi.dts         |  6 ++++++
 arch/arm/boot/dts/sun7i-a20-hummingbird.dts      |  8 ++++++++
 arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts  |  3 +++
 arch/arm/boot/dts/sun7i-a20.dtsi                 | 12 ------------
 arch/arm/boot/dts/sun8i-a23.dtsi                 |  9 ---------
 arch/arm/boot/dts/sun9i-a80-optimus.dts          |  5 +++++
 arch/arm/boot/dts/sun9i-a80.dtsi                 | 10 ----------
 15 files changed, 40 insertions(+), 66 deletions(-)
arch/arm/boot/dts/sun4i-a10.dtsi +0 -12
index e3422309e54b..e20a5855bef8 100644
@@ -15,18 +15,6 @@
 / {
 	interrupt-parent = <&intc>;
 
-	aliases {
-		ethernet0 = &emac;
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &uart5;
-		serial6 = &uart6;
-		serial7 = &uart7;
-	};
-
 	chosen {
 		#address-cells = <1>;
 		#size-cells = <1>;
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +6 -0
index fe3c559ca6a8..bfa742817690 100644
@@ -55,6 +55,12 @@
 	model = "Olimex A10s-Olinuxino Micro";
 	compatible = "olimex,a10s-olinuxino-micro", "allwinner,sun5i-a10s";
 
+	aliases {
+		serial0 = &uart0;
+		serial1 = &uart2;
+		serial2 = &uart3;
+	};
+
 	soc at 01c00000 {
 		emac: ethernet at 01c0b000 {
 			pinctrl-names = "default";
arch/arm/boot/dts/sun5i-a10s.dtsi +0 -8
index 3c3c1920788a..c67e39b4ccb9 100644
@@ -16,14 +16,6 @@
 / {
 	interrupt-parent = <&intc>;
 
-	aliases {
-		ethernet0 = &emac;
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-	};
-
 	chosen {
 		#address-cells = <1>;
 		#size-cells = <1>;
arch/arm/boot/dts/sun5i-a13-hsg-h702.dts +4 -0
index eeed1f236ee8..c7be3abd9fcc 100644
@@ -53,6 +53,10 @@
 	model = "HSG H702";
 	compatible = "hsg,h702", "allwinner,sun5i-a13";
 
+	aliases {
+		serial0 = &uart1;
+	};
+
 	soc at 01c00000 {
 		mmc0: mmc at 01c0f000 {
 			pinctrl-names = "default";
arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +4 -0
index 916ee8bb826f..3decefb3c37a 100644
@@ -54,6 +54,10 @@
 	model = "Olimex A13-Olinuxino Micro";
 	compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
 
+	aliases {
+		serial0 = &uart1;
+	};
+
 	soc at 01c00000 {
 		mmc0: mmc at 01c0f000 {
 			pinctrl-names = "default";
arch/arm/boot/dts/sun5i-a13-olinuxino.dts +4 -0
index e31d291d14cb..b421f7fa197b 100644
@@ -55,6 +55,10 @@
 	model = "Olimex A13-Olinuxino";
 	compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13";
 
+	aliases {
+		serial0 = &uart1;
+	};
+
 	soc at 01c00000 {
 		mmc0: mmc at 01c0f000 {
 			pinctrl-names = "default";
arch/arm/boot/dts/sun5i-a13.dtsi +0 -5
index 2448d7f38d6b..c556688f8b8b 100644
@@ -16,11 +16,6 @@
 / {
 	interrupt-parent = <&intc>;
 
-	aliases {
-		serial0 = &uart1;
-		serial1 = &uart3;
-	};
-
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm/boot/dts/sun6i-a31.dtsi +0 -10
index f47156b6572b..f823e8cd6d61 100644
@@ -52,16 +52,6 @@
 / {
 	interrupt-parent = <&gic>;
 
-	aliases {
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &uart5;
-		ethernet0 = &gmac;
-	};
-
 	chosen {
 		#address-cells = <1>;
 		#size-cells = <1>;
arch/arm/boot/dts/sun7i-a20-bananapi.dts +6 -0
index 1cf1214cc068..bd7b15add697 100644
@@ -55,6 +55,12 @@
 	model = "LeMaker Banana Pi";
 	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
 
+	aliases {
+		serial0 = &uart0;
+		serial1 = &uart3;
+		serial2 = &uart7;
+	};
+
 	soc at 01c00000 {
 		spi0: spi at 01c05000 {
 			pinctrl-names = "default";
arch/arm/boot/dts/sun7i-a20-hummingbird.dts +8 -0
index 0e4bfa3b2b85..0bcefcbbb756 100644
@@ -19,6 +19,14 @@
 	model = "Merrii A20 Hummingbird";
 	compatible = "merrii,a20-hummingbird", "allwinner,sun7i-a20";
 
+	aliases {
+		serial0 = &uart0;
+		serial1 = &uart2;
+		serial2 = &uart3;
+		serial3 = &uart4;
+		serial4 = &uart5;
+	};
+
 	soc at 01c00000 {
 		mmc0: mmc at 01c0f000 {
 			pinctrl-names = "default";
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts +3 -0
index 9d669cdf031d..66cc77707198 100644
@@ -20,6 +20,9 @@
 	compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20";
 
 	aliases {
+		serial0 = &uart0;
+		serial1 = &uart6;
+		serial2 = &uart7;
 		spi0 = &spi1;
 		spi1 = &spi2;
 	};
arch/arm/boot/dts/sun7i-a20.dtsi +0 -12
index e21ce5992d56..cab0eab179df 100644
@@ -52,18 +52,6 @@
 / {
 	interrupt-parent = <&gic>;
 
-	aliases {
-		ethernet0 = &gmac;
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &uart5;
-		serial6 = &uart6;
-		serial7 = &uart7;
-	};
-
 	chosen {
 		#address-cells = <1>;
 		#size-cells = <1>;
arch/arm/boot/dts/sun8i-a23.dtsi +0 -9
index 0746cd1024d7..86584fcf5e32 100644
@@ -52,15 +52,6 @@
 / {
 	interrupt-parent = <&gic>;
 
-	aliases {
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &r_uart;
-	};
-
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm/boot/dts/sun9i-a80-optimus.dts +5 -0
index 506948f582ee..11ec71072e81 100644
@@ -54,6 +54,11 @@
 	model = "Merrii A80 Optimus Board";
 	compatible = "merrii,a80-optimus", "allwinner,sun9i-a80";
 
+	aliases {
+		serial0 = &uart0;
+		serial1 = &uart4;
+	};
+
 	chosen {
 		bootargs = "earlyprintk console=ttyS0,115200";
 	};
arch/arm/boot/dts/sun9i-a80.dtsi +0 -10
index 494714f67b57..9ef4438206a9 100644
@@ -52,16 +52,6 @@
 / {
 	interrupt-parent = <&gic>;
 
-	aliases {
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &uart5;
-		serial6 = &r_uart;
-	};
-
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
Signature · 1 line
2.2.2
#1 lore raw

PATCH 1/1 ARM: sunxi: dt: Fix aliases

Hi Maxime,

El 21/01/15 a las 08:04, Maxime Ripard escibi?:

Quoted 35 lines

Commit f77d55a3b56a ("serial: 8250_dw: get index of serial line from DT aliases") made the serial driver now use the serial aliases to get the tty number, pointing out that our aliases have been wrong all along.

Remove them from the DTSI and add custom ones in the relevant boards.

---
  arch/arm/boot/dts/sun4i-a10.dtsi                 | 12 ------------
  arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts |  6 ++++++
  arch/arm/boot/dts/sun5i-a10s.dtsi                |  8 --------
  arch/arm/boot/dts/sun5i-a13-hsg-h702.dts         |  4 ++++
  arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts  |  4 ++++
  arch/arm/boot/dts/sun5i-a13-olinuxino.dts        |  4 ++++
  arch/arm/boot/dts/sun5i-a13.dtsi                 |  5 -----
  arch/arm/boot/dts/sun6i-a31.dtsi                 | 10 ----------
  arch/arm/boot/dts/sun7i-a20-bananapi.dts         |  6 ++++++
  arch/arm/boot/dts/sun7i-a20-hummingbird.dts      |  8 ++++++++
  arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts  |  3 +++
  arch/arm/boot/dts/sun7i-a20.dtsi                 | 12 ------------
  arch/arm/boot/dts/sun8i-a23.dtsi                 |  9 ---------
  arch/arm/boot/dts/sun9i-a80-optimus.dts          |  5 +++++
  arch/arm/boot/dts/sun9i-a80.dtsi                 | 10 ----------
  15 files changed, 40 insertions(+), 66 deletions(-)
arch/arm/boot/dts/sun4i-a10.dtsi +0 -2
index e3422309e54b..e20a5855bef8 100644
@@ -15,18 +15,6 @@
  / {
  	interrupt-parent = <&intc>;
 
-	aliases {
-		ethernet0 = &emac;

(...)

Quoted 10 lines
arch/arm/boot/dts/sun5i-a10s.dtsi +0 -2
index 3c3c1920788a..c67e39b4ccb9 100644
@@ -16,14 +16,6 @@
  / {
  	interrupt-parent = <&intc>;
 
-	aliases {
-		ethernet0 = &emac;

(...)

Quoted 14 lines
arch/arm/boot/dts/sun6i-a31.dtsi +0 -8
@@ -52,16 +52,6 @@
  / {
  	interrupt-parent = <&gic>;
 
-	aliases {
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &uart5;
-		ethernet0 = &gmac;

(...)

arch/arm/boot/dts/sun7i-a20.dtsi line 56

Quoted 10 lines
arch/arm/boot/dts/sun7i-a20.dtsi +0 -2
index e21ce5992d56..cab0eab179df 100644
@@ -52,18 +52,6 @@
  / {
  	interrupt-parent = <&gic>;
 
-	aliases {
-		ethernet0 = &gmac;

(...)

It worries me that you're dropping the ethernet0 alias while adjusting this; I believe u-boot uses it to fill in the mac address on the DT[1]. This may cause dual IP address assignments to devices (one to u-boot and one to linux), broken connectivity (unexpected IP addr assigned to linux when eg. using static DHCP) or other such interesting stuff.

Cheers!

Emilio

[1]
http://git.denx.de/?p=u-boot/u-boot-sunxi.git;a=blob;f=common/fdt_support.c;h=8266bca7d6489a2ca8fb6f1015064184b137d2dd;hb=HEAD#l448

#2 lore raw

PATCH 1/1 ARM: sunxi: dt: Fix aliases

Hi Emilio,

Quoted 84 lines · Emilio L?pez

Hi Maxime,

El 21/01/15 a las 08:04, Maxime Ripard escibi?:

Quoted 35 lines

Commit f77d55a3b56a ("serial: 8250_dw: get index of serial line from DT aliases") made the serial driver now use the serial aliases to get the tty number, pointing out that our aliases have been wrong all along.

Remove them from the DTSI and add custom ones in the relevant boards.

---
 arch/arm/boot/dts/sun4i-a10.dtsi                 | 12 ------------
 arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts |  6 ++++++
 arch/arm/boot/dts/sun5i-a10s.dtsi                |  8 --------
 arch/arm/boot/dts/sun5i-a13-hsg-h702.dts         |  4 ++++
 arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts  |  4 ++++
 arch/arm/boot/dts/sun5i-a13-olinuxino.dts        |  4 ++++
 arch/arm/boot/dts/sun5i-a13.dtsi                 |  5 -----
 arch/arm/boot/dts/sun6i-a31.dtsi                 | 10 ----------
 arch/arm/boot/dts/sun7i-a20-bananapi.dts         |  6 ++++++
 arch/arm/boot/dts/sun7i-a20-hummingbird.dts      |  8 ++++++++
 arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts  |  3 +++
 arch/arm/boot/dts/sun7i-a20.dtsi                 | 12 ------------
 arch/arm/boot/dts/sun8i-a23.dtsi                 |  9 ---------
 arch/arm/boot/dts/sun9i-a80-optimus.dts          |  5 +++++
 arch/arm/boot/dts/sun9i-a80.dtsi                 | 10 ----------
 15 files changed, 40 insertions(+), 66 deletions(-)
arch/arm/boot/dts/sun4i-a10.dtsi +0 -2
index e3422309e54b..e20a5855bef8 100644
@@ -15,18 +15,6 @@
 / {
 	interrupt-parent = <&intc>;
 
-	aliases {
-		ethernet0 = &emac;

(...)

Quoted 10 lines
arch/arm/boot/dts/sun5i-a10s.dtsi +0 -2
index 3c3c1920788a..c67e39b4ccb9 100644
@@ -16,14 +16,6 @@
 / {
 	interrupt-parent = <&intc>;
 
-	aliases {
-		ethernet0 = &emac;

(...)

Quoted 14 lines
arch/arm/boot/dts/sun6i-a31.dtsi +0 -8
@@ -52,16 +52,6 @@
 / {
 	interrupt-parent = <&gic>;
 
-	aliases {
-		serial0 = &uart0;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		serial3 = &uart3;
-		serial4 = &uart4;
-		serial5 = &uart5;
-		ethernet0 = &gmac;

(...)

Quoted 10 lines
arch/arm/boot/dts/sun7i-a20.dtsi +0 -2
index e21ce5992d56..cab0eab179df 100644
@@ -52,18 +52,6 @@
 / {
 	interrupt-parent = <&gic>;
 
-	aliases {
-		ethernet0 = &gmac;

(...)

Quoted 5 lines

It worries me that you're dropping the ethernet0 alias while adjusting this; I believe u-boot uses it to fill in the mac address on the DT[1]. This may cause dual IP address assignments to devices (one to u-boot and one to linux), broken connectivity (unexpected IP addr assigned to linux when eg. using static DHCP) or other such interesting stuff.

Ah, good point, I forgot about that. I'll re-add them in the v2.

Thanks!
Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150122/832f2a2b/attachment-0001.sig>