summaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood/patches-3.10/0026-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/kirkwood/patches-3.10/0026-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch')
-rw-r--r--target/linux/kirkwood/patches-3.10/0026-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch617
1 files changed, 617 insertions, 0 deletions
diff --git a/target/linux/kirkwood/patches-3.10/0026-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch b/target/linux/kirkwood/patches-3.10/0026-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch
new file mode 100644
index 0000000000..23349093d7
--- /dev/null
+++ b/target/linux/kirkwood/patches-3.10/0026-ARM-kirkwood-add-gigabit-ethernet-and-mvmdio-device-.patch
@@ -0,0 +1,617 @@
+From 678cc6aa6f66182cddfc0c8fc34d4ef196669b83 Mon Sep 17 00:00:00 2001
+From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
+Date: Sun, 7 Jul 2013 22:34:56 +0200
+Subject: [PATCH 26/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>
+Signed-off-by: Jason Cooper <jason@lakedaemon.net>
+---
+ 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(-)
+
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- a/arch/arm/boot/dts/kirkwood-is2.dts
++++ b/arch/arm/boot/dts/kirkwood-is2.dts
+@@ -28,3 +28,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <8>; };
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- a/arch/arm/boot/dts/kirkwood-ns2.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2.dts
+@@ -28,3 +28,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <8>; };
+--- a/arch/arm/boot/dts/kirkwood-ns2lite.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts
+@@ -28,3 +28,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <0>; };
+--- a/arch/arm/boot/dts/kirkwood-ns2max.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2max.dts
+@@ -47,3 +47,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <8>; };
+--- a/arch/arm/boot/dts/kirkwood-ns2mini.dts
++++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts
+@@ -48,3 +48,5 @@
+ };
+ };
+ };
++
++&ethphy0 { reg = <0>; };
+--- 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>;
++ };
++};
+--- 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>;
++ };
++};
+--- 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>; };
+--- 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>; };
+--- 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>;
++ };
++};
+--- 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 */
++ };
++ };
+ };
+ };