diff options
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-.patch | 671 |
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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; ++ ++ð1 { ++ status = "okay"; ++ ethernet1-port@0 { ++ phy-handle = <ðphy1>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; ++ ++ð1 { ++ status = "okay"; ++ ethernet1-port@0 { ++ phy-handle = <ðphy1>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ speed = <1000>; ++ duplex = <1>; ++ }; ++}; ++ ++ð1 { ++ status = "okay"; ++ ethernet1-port@0 { ++ phy-handle = <ðphy1>; ++ }; ++}; +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 @@ + }; + }; + }; ++ ++ðphy0 { 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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; ++ ++ð1 { ++ status = "okay"; ++ ethernet1-port@0 { ++ phy-handle = <ðphy1>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; ++ ++ð1 { ++ status = "okay"; ++ ethernet1-port@0 { ++ phy-handle = <ðphy1>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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 */ ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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 @@ + }; + }; + }; ++ ++ðphy0 { 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 @@ + }; + }; + }; ++ ++ðphy0 { 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 @@ + }; + }; + }; ++ ++ðphy0 { 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 @@ + }; + }; + }; ++ ++ðphy0 { 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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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 ++}; ++ ++ðphy0 { 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 ++}; ++ ++ðphy0 { 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 */ ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; +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 + |