aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood/patches-3.10/0024-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/kirkwood/patches-3.10/0024-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch')
-rw-r--r--target/linux/kirkwood/patches-3.10/0024-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch671
1 files changed, 671 insertions, 0 deletions
diff --git a/target/linux/kirkwood/patches-3.10/0024-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch b/target/linux/kirkwood/patches-3.10/0024-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch
new file mode 100644
index 0000000000..31d216906d
--- /dev/null
+++ b/target/linux/kirkwood/patches-3.10/0024-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch
@@ -0,0 +1,671 @@
+From 81547b563bd8340d98cdf2c020449ef2e7e8821d Mon Sep 17 00:00:00 2001
+From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
+Date: Tue, 2 Jul 2013 13:00:19 +0200
+Subject: [PATCH 24/29] ARM: kirkwood: add gigabit ethernet and mvmdio device
+ tree nodes
+
+This patch adds mv643xx_eth and mvmdio device tree nodes for DT enabled
+Kirkwood boards. Phy nodes are also added with reg property set on a
+per-board basis.
+
+Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
+---
+ arch/arm/boot/dts/kirkwood-cloudbox.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-db.dtsi | 16 +++++++
+ arch/arm/boot/dts/kirkwood-dnskw.dtsi | 16 +++++++
+ arch/arm/boot/dts/kirkwood-dockstar.dts | 17 +++++++
+ arch/arm/boot/dts/kirkwood-dreamplug.dts | 28 ++++++++++++
+ arch/arm/boot/dts/kirkwood-goflexnet.dts | 16 +++++++
+ .../arm/boot/dts/kirkwood-guruplug-server-plus.dts | 30 +++++++++++++
+ arch/arm/boot/dts/kirkwood-ib62x0.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-iconnect.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 24 ++++++++++
+ arch/arm/boot/dts/kirkwood-is2.dts | 2 +
+ arch/arm/boot/dts/kirkwood-km_kirkwood.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-lsxl.dtsi | 28 ++++++++++++
+ arch/arm/boot/dts/kirkwood-mplcec4.dts | 27 +++++++++++
+ .../boot/dts/kirkwood-netgear_readynas_duo_v2.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-ns2-common.dtsi | 16 +++++++
+ arch/arm/boot/dts/kirkwood-ns2.dts | 2 +
+ arch/arm/boot/dts/kirkwood-ns2lite.dts | 2 +
+ arch/arm/boot/dts/kirkwood-ns2max.dts | 2 +
+ arch/arm/boot/dts/kirkwood-ns2mini.dts | 2 +
+ arch/arm/boot/dts/kirkwood-openblocks_a6.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-topkick.dts | 16 +++++++
+ arch/arm/boot/dts/kirkwood-ts219-6281.dts | 4 +-
+ arch/arm/boot/dts/kirkwood-ts219-6282.dts | 4 +-
+ arch/arm/boot/dts/kirkwood-ts219.dtsi | 16 +++++++
+ arch/arm/boot/dts/kirkwood.dtsi | 52 ++++++++++++++++++++++
+ 26 files changed, 414 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/kirkwood-cloudbox.dts b/arch/arm/boot/dts/kirkwood-cloudbox.dts
+index 5f21d4e..03e1b68 100644
+--- a/arch/arm/boot/dts/kirkwood-cloudbox.dts
++++ b/arch/arm/boot/dts/kirkwood-cloudbox.dts
+@@ -87,3 +87,19 @@
+ gpios = <&gpio0 17 0>;
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-db.dtsi b/arch/arm/boot/dts/kirkwood-db.dtsi
+index c87cfb8..ca8bf36 100644
+--- a/arch/arm/boot/dts/kirkwood-db.dtsi
++++ b/arch/arm/boot/dts/kirkwood-db.dtsi
+@@ -87,3 +87,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@8 {
++ device_type = "ethernet-phy";
++ reg = <8>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi
+index 6875ac0..7c8bc17 100644
+--- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi
++++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi
+@@ -217,3 +217,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@8 {
++ device_type = "ethernet-phy";
++ reg = <8>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts
+index 0196cf6..b5aebbc 100644
+--- a/arch/arm/boot/dts/kirkwood-dockstar.dts
++++ b/arch/arm/boot/dts/kirkwood-dockstar.dts
+@@ -91,3 +91,20 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ compatible = "marvell,88e1116";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts
+index 289e51d..e0c93d4 100644
+--- a/arch/arm/boot/dts/kirkwood-dreamplug.dts
++++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts
+@@ -99,3 +99,31 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++
++ ethphy1: ethernet-phy@1 {
++ device_type = "ethernet-phy";
++ reg = <1>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
++
++&eth1 {
++ status = "okay";
++ ethernet1-port@0 {
++ phy-handle = <&ethphy1>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts
+index c3573be..aba5849 100644
+--- a/arch/arm/boot/dts/kirkwood-goflexnet.dts
++++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts
+@@ -170,3 +170,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
+index 44fd97d..210dfb9 100644
+--- a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
++++ b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
+@@ -96,3 +96,33 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ compatible = "marvell,88e1121";
++ reg = <0>;
++ };
++
++ ethphy1: ethernet-phy@1 {
++ device_type = "ethernet-phy";
++ compatible = "marvell,88e1121";
++ reg = <1>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
++
++&eth1 {
++ status = "okay";
++ ethernet1-port@0 {
++ phy-handle = <&ethphy1>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts
+index 5335b1a..fff3e65 100644
+--- a/arch/arm/boot/dts/kirkwood-ib62x0.dts
++++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts
+@@ -119,3 +119,19 @@
+
+
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@8 {
++ device_type = "ethernet-phy";
++ reg = <8>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts
+index e591d5d..9fe8ba2 100644
+--- a/arch/arm/boot/dts/kirkwood-iconnect.dts
++++ b/arch/arm/boot/dts/kirkwood-iconnect.dts
+@@ -176,3 +176,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@11 {
++ device_type = "ethernet-phy";
++ reg = <11>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+index 3694e94..315f095 100644
+--- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
++++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+@@ -191,3 +191,27 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy1: ethernet-phy@11 {
++ device_type = "ethernet-phy";
++ reg = <11>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ speed = <1000>;
++ duplex = <1>;
++ };
++};
++
++&eth1 {
++ status = "okay";
++ ethernet1-port@0 {
++ phy-handle = <&ethphy1>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-is2.dts b/arch/arm/boot/dts/kirkwood-is2.dts
+index 0bdce0a..2e5fe72 100644
+--- a/arch/arm/boot/dts/kirkwood-is2.dts
++++ b/arch/arm/boot/dts/kirkwood-is2.dts
+@@ -28,3 +28,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <8>; };
+diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
+index 5bbd054..f9194b1 100644
+--- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
++++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
+@@ -43,3 +43,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
+index 37d45c4..dcc6470 100644
+--- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
++++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
+@@ -201,3 +201,31 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++
++ ethphy1: ethernet-phy@8 {
++ device_type = "ethernet-phy";
++ reg = <8>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
++
++&eth1 {
++ status = "okay";
++ ethernet1-port@0 {
++ phy-handle = <&ethphy1>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts
+index 90501cf..32a0133 100644
+--- a/arch/arm/boot/dts/kirkwood-mplcec4.dts
++++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts
+@@ -190,3 +190,30 @@
+ };
+ };
+
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@1 {
++ device_type = "ethernet-phy";
++ reg = <1>;
++ };
++
++ ethphy1: ethernet-phy@2 {
++ device_type = "ethernet-phy";
++ reg = <2>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
++
++&eth1 {
++ status = "okay";
++ ethernet1-port@0 {
++ phy-handle = <&ethphy1>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
+index 1ca66ab..b66b2cd 100644
+--- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
++++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
+@@ -178,3 +178,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
+index 6affd92..6a48bfd 100644
+--- a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
++++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
+@@ -82,3 +82,19 @@
+ };
+
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy {
++ device_type = "ethernet-phy";
++ /* overwrite reg property in board file */
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-ns2.dts b/arch/arm/boot/dts/kirkwood-ns2.dts
+index f2d36ecf..8ffd552 100644
+--- a/arch/arm/boot/dts/kirkwood-ns2.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2.dts
+@@ -28,3 +28,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <8>; };
+diff --git a/arch/arm/boot/dts/kirkwood-ns2lite.dts b/arch/arm/boot/dts/kirkwood-ns2lite.dts
+index b02eb4e..16332f8 100644
+--- a/arch/arm/boot/dts/kirkwood-ns2lite.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts
+@@ -28,3 +28,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <0>; };
+diff --git a/arch/arm/boot/dts/kirkwood-ns2max.dts b/arch/arm/boot/dts/kirkwood-ns2max.dts
+index bcec4d6..68d767d 100644
+--- a/arch/arm/boot/dts/kirkwood-ns2max.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2max.dts
+@@ -47,3 +47,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <8>; };
+diff --git a/arch/arm/boot/dts/kirkwood-ns2mini.dts b/arch/arm/boot/dts/kirkwood-ns2mini.dts
+index adab1ab..5b1b17b 100644
+--- a/arch/arm/boot/dts/kirkwood-ns2mini.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts
+@@ -48,3 +48,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <0>; };
+diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
+index d27f724..f8be3e3 100644
+--- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
++++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
+@@ -210,3 +210,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts
+index 66eb45b..34eacf2 100644
+--- a/arch/arm/boot/dts/kirkwood-topkick.dts
++++ b/arch/arm/boot/dts/kirkwood-topkick.dts
+@@ -201,3 +201,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ device_type = "ethernet-phy";
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood-ts219-6281.dts b/arch/arm/boot/dts/kirkwood-ts219-6281.dts
+index 42648ab..fff3a3e 100644
+--- a/arch/arm/boot/dts/kirkwood-ts219-6281.dts
++++ b/arch/arm/boot/dts/kirkwood-ts219-6281.dts
+@@ -50,4 +50,6 @@
+ gpios = <&gpio0 16 1>;
+ };
+ };
+-};
+\ No newline at end of file
++};
++
++&ethphy0 { reg = <8>; };
+diff --git a/arch/arm/boot/dts/kirkwood-ts219-6282.dts b/arch/arm/boot/dts/kirkwood-ts219-6282.dts
+index 95ceeb9..ed0441a 100644
+--- a/arch/arm/boot/dts/kirkwood-ts219-6282.dts
++++ b/arch/arm/boot/dts/kirkwood-ts219-6282.dts
+@@ -50,4 +50,6 @@
+ gpios = <&gpio1 5 1>;
+ };
+ };
+-};
+\ No newline at end of file
++};
++
++&ethphy0 { reg = <0>; };
+diff --git a/arch/arm/boot/dts/kirkwood-ts219.dtsi b/arch/arm/boot/dts/kirkwood-ts219.dtsi
+index 7c022fd..6b063eb 100644
+--- a/arch/arm/boot/dts/kirkwood-ts219.dtsi
++++ b/arch/arm/boot/dts/kirkwood-ts219.dtsi
+@@ -81,3 +81,19 @@
+ };
+ };
+ };
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy {
++ device_type = "ethernet-phy";
++ /* overwrite reg property in board file */
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
+diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
+index 7eef88f..ebc6dc4 100644
+--- a/arch/arm/boot/dts/kirkwood.dtsi
++++ b/arch/arm/boot/dts/kirkwood.dtsi
+@@ -203,5 +203,57 @@
+ clocks = <&gate_clk 4>;
+ status = "disabled";
+ };
++
++ mdio: mdio-bus@72004 {
++ compatible = "marvell,orion-mdio";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ reg = <0x72004 0x84>;
++ interrupts = <46>;
++ clocks = <&gate_clk 0>;
++ status = "disabled";
++
++ /* add phy nodes in board file */
++ };
++
++ eth0: ethernet-controller@72000 {
++ compatible = "marvell,kirkwood-eth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ reg = <0x72000 0x4000>;
++ clocks = <&gate_clk 0>;
++ marvell,tx-checksum-limit = <1600>;
++ status = "disabled";
++
++ ethernet0-port@0 {
++ device_type = "network";
++ compatible = "marvell,kirkwood-eth-port";
++ reg = <0>;
++ interrupts = <11>;
++ /* overwrite MAC address in bootloader */
++ local-mac-address = [00 00 00 00 00 00];
++ /* set phy-handle property in board file */
++ };
++ };
++
++ eth1: ethernet-controller@76000 {
++ compatible = "marvell,kirkwood-eth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ reg = <0x76000 0x4000>;
++ clocks = <&gate_clk 19>;
++ marvell,tx-checksum-limit = <1600>;
++ status = "disabled";
++
++ ethernet1-port@0 {
++ device_type = "network";
++ compatible = "marvell,kirkwood-eth-port";
++ reg = <0>;
++ interrupts = <15>;
++ /* overwrite MAC address in bootloader */
++ local-mac-address = [00 00 00 00 00 00];
++ /* set phy-handle property in board file */
++ };
++ };
+ };
+ };
+--
+1.8.4.rc1
+