Skip to contentSkip to conversation

mvebu: Network devicetree pin muxing

PATCH New Ezequiel Garcia 3 participants 9 messages Aug 11, 2014 – Aug 17, 2014 Device tree bindings

lore
Share & tools
lore
#0 lore raw

v2 cover mvebu: Network devicetree pin muxing

This series adds the proper devicetree pin muxing for the network interfaces on all Armada 370 boards.

The MDIO interface uses pins MPP17 and MPP18, and so this is needed on all devices using MDIO.

For the ethernet interfaces, only the boards connecting with RGMII/GMII/MII need the mux. On this SoC, the SGMII is available on dedicated SerDes lanes, and so no MPP pin mux is required.

Given all the supported board use either RGMII or SGMII, we only add RGMII mux configuration. The only board which uses SGMII is the Armada 370 Reference Design board.

Patches have been tested on Armada 370 Mirabox only, using the recently submitted mvneta support for barebox. The series is based on v3.16.

It would be great if someone else can test on the other boards, to make sure no regressions are introduced.

Changes from v1:

* Replaced mux node name: ge{0,1}_pins -> ge{0,1}_rgmii_pins to be clear about the MII.

* Replaced {}_pins -> {}-pins, to be consistent.

* Massaged the commit logs a bit.

Ezequiel Garcia (6):
ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC
ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board
ARM: mvebu: Add proper pin muxing on the Armada 370 DB board
ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102
ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104
ARM: mvebu: Add proper pin muxing on Armada 370 RD board

 arch/arm/boot/dts/armada-370-db.dts            |  6 ++++++
 arch/arm/boot/dts/armada-370-mirabox.dts       |  6 ++++++
 arch/arm/boot/dts/armada-370-netgear-rn102.dts |  4 ++++
 arch/arm/boot/dts/armada-370-netgear-rn104.dts |  6 ++++++
 arch/arm/boot/dts/armada-370-rd.dts            |  4 ++++
 arch/arm/boot/dts/armada-370.dtsi              | 19 +++++++++++++++++++
 6 files changed, 45 insertions(+)
Signature · 1 line
2.0.1
#1 lore raw

PATCH v2 1/6 ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC

This commit adds the pin mux configuration for the two network interfaces and the MDIO interface in the Armada 370 SoC .dtsi file. Only the configuration for RGMII is added for now.

---
 arch/arm/boot/dts/armada-370.dtsi | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
arch/arm/boot/dts/armada-370.dtsi +19 -0
index 21b588b..f2c55f3 100644
@@ -151,6 +151,25 @@
 						       "mpp62", "mpp60", "mpp58";
 					marvell,function = "audio";
 				};
+
+				mdio_pins: mdio-pins {
+					marvell,pins = "mpp17", "mpp18";
+					marvell,function = "ge";
+				};
+
+				ge0_rgmii_pins: ge0-rgmii-pins {
+					marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
+						       "mpp9", "mpp10", "mpp11", "mpp12",
+						       "mpp13", "mpp14", "mpp15", "mpp16";
+					marvell,function = "ge0";
+				};
+
+				ge1_rgmii_pins: ge1-rgmii-pins {
+					marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22",
+						       "mpp23", "mpp24", "mpp25", "mpp26",
+						       "mpp27", "mpp28", "mpp29", "mpp30";
+					marvell,function = "ge1";
+				};
 			};
 
 			gpio0: gpio at 18100 {
Signature · 1 line
2.0.1
#2 lore raw

PATCH v2 2/6 ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board

In reply to Ezequiel Garcia

This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces.

---
 arch/arm/boot/dts/armada-370-mirabox.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm/boot/dts/armada-370-mirabox.dts +6 -0
index 097df7d8..2b6d24e 100644
@@ -91,6 +91,8 @@
 			};
 
 			mdio {
+				pinctrl-0 = <&mdio_pins>;
+				pinctrl-names = "default";
 				phy0: ethernet-phy at 0 {
 					reg = <0>;
 				};
@@ -100,11 +102,15 @@
 				};
 			};
 			ethernet at 70000 {
+				pinctrl-0 = <&ge0_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy0>;
 				phy-mode = "rgmii-id";
 			};
 			ethernet at 74000 {
+				pinctrl-0 = <&ge1_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy1>;
 				phy-mode = "rgmii-id";
Signature · 1 line
2.0.1
#3 lore raw

PATCH v2 3/6 ARM: mvebu: Add proper pin muxing on the Armada 370 DB board

In reply to Ezequiel Garcia

This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces

---
 arch/arm/boot/dts/armada-370-db.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm/boot/dts/armada-370-db.dts +6 -0
index 416f4e5..a495e58 100644
@@ -43,6 +43,8 @@
 			};
 
 			mdio {
+				pinctrl-0 = <&mdio_pins>;
+				pinctrl-names = "default";
 				phy0: ethernet-phy at 0 {
 					reg = <0>;
 				};
@@ -53,11 +55,15 @@
 			};
 
 			ethernet at 70000 {
+				pinctrl-0 = <&ge0_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy0>;
 				phy-mode = "rgmii-id";
 			};
 			ethernet at 74000 {
+				pinctrl-0 = <&ge1_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy1>;
 				phy-mode = "rgmii-id";
Signature · 1 line
2.0.1
#4 lore raw

PATCH v2 4/6 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102

In reply to Ezequiel Garcia

This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces

---
 arch/arm/boot/dts/armada-370-netgear-rn102.dts | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/boot/dts/armada-370-netgear-rn102.dts +4 -0
index d6d572e..03f917e 100644
@@ -101,12 +101,16 @@
 			};
 
 			mdio {
+				pinctrl-0 = <&mdio_pins>;
+				pinctrl-names = "default";
 				phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
 					reg = <0>;
 				};
 			};
 
 			ethernet at 74000 {
+				pinctrl-0 = <&ge1_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy0>;
 				phy-mode = "rgmii-id";
Signature · 1 line
2.0.1
#5 lore raw

PATCH v2 5/6 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104

In reply to Ezequiel Garcia

This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces

---
 arch/arm/boot/dts/armada-370-netgear-rn104.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm/boot/dts/armada-370-netgear-rn104.dts +6 -0
index c5fe8b5..f56bb1b 100644
@@ -86,6 +86,8 @@
 			};
 
 			mdio {
+				pinctrl-0 = <&mdio_pins>;
+				pinctrl-names = "default";
 				phy0: ethernet-phy at 0 { /* Marvell 88E1318 */
 					reg = <0>;
 				};
@@ -96,12 +98,16 @@
 			};
 
 			ethernet at 70000 {
+				pinctrl-0 = <&ge0_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy0>;
 				phy-mode = "rgmii-id";
 			};
 
 			ethernet at 74000 {
+				pinctrl-0 = <&ge1_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy1>;
 				phy-mode = "rgmii-id";
Signature · 1 line
2.0.1
#6 lore raw

PATCH v2 6/6 ARM: mvebu: Add proper pin muxing on Armada 370 RD board

In reply to Ezequiel Garcia

This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces

Only the second network interface is pin muxed. The first network interface is connected to the PHY using SGMII, which uses a dedicated SerDes lane.

---
 arch/arm/boot/dts/armada-370-rd.dts | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/boot/dts/armada-370-rd.dts +4 -0
index 4169f40..ca13d9c 100644
@@ -59,6 +59,8 @@
 			};
 
 			mdio {
+				pinctrl-0 = <&mdio_pins>;
+				pinctrl-names = "default";
 				phy0: ethernet-phy at 0 {
 					reg = <0>;
 				};
@@ -74,6 +76,8 @@
 				phy-mode = "sgmii";
 			};
 			ethernet at 74000 {
+				pinctrl-0 = <&ge1_rgmii_pins>;
+				pinctrl-names = "default";
 				status = "okay";
 				phy = <&phy1>;
 				phy-mode = "rgmii-id";
Signature · 1 line
2.0.1
#7 lore raw

v2 cover mvebu: Network devicetree pin muxing

In reply to Ezequiel Garcia
Quoted 6 lines · Ezequiel Garcia

This series adds the proper devicetree pin muxing for the network interfaces on all Armada 370 boards.

The MDIO interface uses pins MPP17 and MPP18, and so this is needed on all devices using MDIO.

Quoted 7 lines

For the ethernet interfaces, only the boards connecting with RGMII/GMII/MII need the mux. On this SoC, the SGMII is available on dedicated SerDes lanes, and so no MPP pin mux is required.

Given all the supported board use either RGMII or SGMII, we only add RGMII mux configuration. The only board which uses SGMII is the Armada 370 Reference Design board.

Andrew

Quoted 40 lines

Patches have been tested on Armada 370 Mirabox only, using the recently submitted mvneta support for barebox. The series is based on v3.16.

It would be great if someone else can test on the other boards, to make sure no regressions are introduced.

Changes from v1:

* Replaced mux node name: ge{0,1}_pins -> ge{0,1}_rgmii_pins to be clear about the MII.

* Replaced {}_pins -> {}-pins, to be consistent.

* Massaged the commit logs a bit.

Ezequiel Garcia (6):
ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC
ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board
ARM: mvebu: Add proper pin muxing on the Armada 370 DB board
ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102
ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104
ARM: mvebu: Add proper pin muxing on Armada 370 RD board

 arch/arm/boot/dts/armada-370-db.dts            |  6 ++++++
 arch/arm/boot/dts/armada-370-mirabox.dts       |  6 ++++++
 arch/arm/boot/dts/armada-370-netgear-rn102.dts |  4 ++++
 arch/arm/boot/dts/armada-370-netgear-rn104.dts |  6 ++++++
 arch/arm/boot/dts/armada-370-rd.dts            |  4 ++++
 arch/arm/boot/dts/armada-370.dtsi              | 19 +++++++++++++++++++
 6 files changed, 45 insertions(+)
Signature · 7 lines
2.0.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
#8 lore raw

v2 cover mvebu: Network devicetree pin muxing

In reply to Ezequiel Garcia

Ezequiel,

Quoted 37 lines · Ezequiel Garcia

This series adds the proper devicetree pin muxing for the network interfaces on all Armada 370 boards.

The MDIO interface uses pins MPP17 and MPP18, and so this is needed on all devices using MDIO.

For the ethernet interfaces, only the boards connecting with RGMII/GMII/MII need the mux. On this SoC, the SGMII is available on dedicated SerDes lanes, and so no MPP pin mux is required.

Given all the supported board use either RGMII or SGMII, we only add RGMII mux configuration. The only board which uses SGMII is the Armada 370 Reference Design board.

Patches have been tested on Armada 370 Mirabox only, using the recently submitted mvneta support for barebox. The series is based on v3.16.

It would be great if someone else can test on the other boards, to make sure no regressions are introduced.

Changes from v1:

* Replaced mux node name: ge{0,1}_pins -> ge{0,1}_rgmii_pins to be clear about the MII.

* Replaced {}_pins -> {}-pins, to be consistent.

* Massaged the commit logs a bit.

Ezequiel Garcia (6):
ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC
ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board
ARM: mvebu: Add proper pin muxing on the Armada 370 DB board
ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102
ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104
ARM: mvebu: Add proper pin muxing on Armada 370 RD board

Quoted 7 lines
 arch/arm/boot/dts/armada-370-db.dts            |  6 ++++++
 arch/arm/boot/dts/armada-370-mirabox.dts       |  6 ++++++
 arch/arm/boot/dts/armada-370-netgear-rn102.dts |  4 ++++
 arch/arm/boot/dts/armada-370-netgear-rn104.dts |  6 ++++++
 arch/arm/boot/dts/armada-370-rd.dts            |  4 ++++
 arch/arm/boot/dts/armada-370.dtsi              | 19 +++++++++++++++++++
 6 files changed, 45 insertions(+)

Applied whole series to mvebu/dt with Andrew's Ack.

thx,

Jason.