[Patch v2 RfT] ARM: Kirkwood: Fix DT based DSA.
Jason Cooper
jason at lakedaemon.net
Tue Sep 9 09:06:35 PDT 2014
All,
On Mon, Sep 01, 2014 at 07:35:41PM +0200, Andrew Lunn wrote:
> During the conversion of boards to use DT to instantiate Distributed
> Switch Architecture, nobody volunteered to test. As to be expected,
> the conversion was flawed. Testers and access to hardware has now
> become available, and this patch hopefully fixes the problems.
>
> dsa,mii-bus must be a phandle to the top level mdio node, not the port
> specific subnode of the mdio device.
>
> dsa,ethernet must be a phandle to the port subnode within the ethernet
> DT node, not the ethernet node.
>
> Don't pinctrl hog the card detect gpio for mvsdio.
>
> Rename the .dts files to make it clearer which file is for the Z0
> stepping and which for the A0 or later stepping.
>
> Fixes: e2eaa339af441b3d51cdaa16870065c4154ce13c
> Fixes: e7c8f3808be854379c9784745663a55371cbf232
>
> Signed-off-by: Andrew Lunn <andrew at lunn.ch>
> Cc: seugene at marvell.com
> ---
> v2:
> Fix duplex typo
> Feedback after testing
> Fix mvsdio card detect gpio
> ---
> arch/arm/boot/dts/Makefile | 4 +-
> arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 16 +++-----
> arch/arm/boot/dts/kirkwood-rd88f6281-a.dts | 43 ++++++++++++++++++++++
> arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts | 26 -------------
> ...-rd88f6281-a1.dts => kirkwood-rd88f6281-z0.dts} | 18 +++++----
> arch/arm/boot/dts/kirkwood-rd88f6281.dtsi | 27 +++-----------
> arch/arm/boot/dts/kirkwood.dtsi | 4 +-
> 7 files changed, 69 insertions(+), 69 deletions(-)
> create mode 100644 arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
> delete mode 100644 arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts
> rename arch/arm/boot/dts/{kirkwood-rd88f6281-a1.dts => kirkwood-rd88f6281-z0.dts} (57%)
Has anyone had a chance to test these changes? If so, can we get some
Tested-by's?
thx,
Jason.
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 89b54fd77732..0ac6476bc312 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -145,8 +145,8 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
> kirkwood-openrd-client.dtb \
> kirkwood-openrd-ultimate.dtb \
> kirkwood-rd88f6192.dtb \
> - kirkwood-rd88f6281-a0.dtb \
> - kirkwood-rd88f6281-a1.dtb \
> + kirkwood-rd88f6281-z0.dtb \
> + kirkwood-rd88f6281-a.dtb \
> kirkwood-rs212.dtb \
> kirkwood-rs409.dtb \
> kirkwood-rs411.dtb \
> diff --git a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
> index 8f76d28759a3..f82827d6fcff 100644
> --- a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
> +++ b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
> @@ -123,11 +123,11 @@
>
> dsa at 0 {
> compatible = "marvell,dsa";
> - #address-cells = <2>;
> + #address-cells = <1>;
> #size-cells = <0>;
>
> - dsa,ethernet = <ð0>;
> - dsa,mii-bus = <ðphy0>;
> + dsa,ethernet = <ð0port>;
> + dsa,mii-bus = <&mdio>;
>
> switch at 0 {
> #address-cells = <1>;
> @@ -169,17 +169,13 @@
>
> &mdio {
> status = "okay";
> -
> - ethphy0: ethernet-phy at ff {
> - reg = <0xff>; /* No phy attached */
> - speed = <1000>;
> - duplex = <1>;
> - };
> };
>
> ð0 {
> status = "okay";
> +
> ethernet0-port at 0 {
> - phy-handle = <ðphy0>;
> + speed = <1000>;
> + duplex = <1>;
> };
> };
> diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
> new file mode 100644
> index 000000000000..f2e08b3b33ea
> --- /dev/null
> +++ b/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
> @@ -0,0 +1,43 @@
> +/*
> + * Marvell RD88F6181 A Board descrition
> + *
> + * Andrew Lunn <andrew at lunn.ch>
> + *
> + * This file is licensed under the terms of the GNU General Public
> + * License version 2. This program is licensed "as is" without any
> + * warranty of any kind, whether express or implied.
> + *
> + * This file contains the definitions for the board with the A0 or
> + * higher stepping of the SoC. The ethernet switch does not have a
> + * "wan" port.
> + */
> +
> +/dts-v1/;
> +#include "kirkwood-rd88f6281.dtsi"
> +
> +/ {
> + model = "Marvell RD88f6281 Reference design, with A0 or higher SoC";
> + compatible = "marvell,rd88f6281-a", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
> +
> + dsa at 0 {
> + switch at 0 {
> + reg = <10 0>; /* MDIO address 10, switch 0 in tree */
> + };
> + };
> +};
> +
> +&mdio {
> + status = "okay";
> +
> + ethphy1: ethernet-phy at 11 {
> + reg = <11>;
> + };
> +};
> +
> +ð1 {
> + status = "okay";
> +
> + ethernet1-port at 0 {
> + phy-handle = <ðphy1>;
> + };
> +};
> diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts
> deleted file mode 100644
> index a803bbb70bc8..000000000000
> --- a/arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -/*
> - * Marvell RD88F6181 A0 Board descrition
> - *
> - * Andrew Lunn <andrew at lunn.ch>
> - *
> - * This file is licensed under the terms of the GNU General Public
> - * License version 2. This program is licensed "as is" without any
> - * warranty of any kind, whether express or implied.
> - *
> - * This file contains the definitions for the board with the A0 variant of
> - * the SoC. The ethernet switch does not have a "wan" port.
> - */
> -
> -/dts-v1/;
> -#include "kirkwood-rd88f6281.dtsi"
> -
> -/ {
> - model = "Marvell RD88f6281 Reference design, with A0 SoC";
> - compatible = "marvell,rd88f6281-a0", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
> -
> - dsa at 0 {
> - switch at 0 {
> - reg = <10 0>; /* MDIO address 10, switch 0 in tree */
> - };
> - };
> -};
> \ No newline at end of file
> diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
> similarity index 57%
> rename from arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts
> rename to arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
> index baeebbf1d8c7..f4272b64ed7f 100644
> --- a/arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts
> +++ b/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
> @@ -1,5 +1,5 @@
> /*
> - * Marvell RD88F6181 A1 Board descrition
> + * Marvell RD88F6181 Z0 stepping descrition
> *
> * Andrew Lunn <andrew at lunn.ch>
> *
> @@ -7,17 +7,17 @@
> * License version 2. This program is licensed "as is" without any
> * warranty of any kind, whether express or implied.
> *
> - * This file contains the definitions for the board with the A1 variant of
> - * the SoC. The ethernet switch has a "wan" port.
> - */
> + * This file contains the definitions for the board using the Z0
> + * stepping of the SoC. The ethernet switch has a "wan" port.
> +*/
>
> /dts-v1/;
>
> #include "kirkwood-rd88f6281.dtsi"
>
> / {
> - model = "Marvell RD88f6281 Reference design, with A1 SoC";
> - compatible = "marvell,rd88f6281-a1", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
> + model = "Marvell RD88f6281 Reference design, with Z0 SoC";
> + compatible = "marvell,rd88f6281-z0", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
>
> dsa at 0 {
> switch at 0 {
> @@ -28,4 +28,8 @@
> };
> };
> };
> -};
> \ No newline at end of file
> +};
> +
> +ð1 {
> + status = "disabled";
> +};
> diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
> index 26cf0e0ccefd..d195e884b3b5 100644
> --- a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
> +++ b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
> @@ -37,7 +37,6 @@
>
> ocp at f1000000 {
> pinctrl: pin-controller at 10000 {
> - pinctrl-0 = <&pmx_sdio_cd>;
> pinctrl-names = "default";
>
> pmx_sdio_cd: pmx-sdio-cd {
> @@ -69,8 +68,8 @@
> #address-cells = <2>;
> #size-cells = <0>;
>
> - dsa,ethernet = <ð0>;
> - dsa,mii-bus = <ðphy1>;
> + dsa,ethernet = <ð0port>;
> + dsa,mii-bus = <&mdio>;
>
> switch at 0 {
> #address-cells = <1>;
> @@ -119,35 +118,19 @@
> };
>
> partition at 300000 {
> - label = "data";
> + label = "rootfs";
> reg = <0x0300000 0x500000>;
> };
> };
>
> &mdio {
> status = "okay";
> -
> - ethphy0: ethernet-phy at 0 {
> - reg = <0>;
> - };
> -
> - ethphy1: ethernet-phy at ff {
> - reg = <0xff>; /* No PHY attached */
> - speed = <1000>;
> - duple = <1>;
> - };
> };
>
> ð0 {
> status = "okay";
> ethernet0-port at 0 {
> - phy-handle = <ðphy0>;
> - };
> -};
> -
> -ð1 {
> - status = "okay";
> - ethernet1-port at 0 {
> - phy-handle = <ðphy1>;
> + speed = <1000>;
> + duplex = <1>;
> };
> };
> diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> index afc640cd80c5..464f09a1a4a5 100644
> --- a/arch/arm/boot/dts/kirkwood.dtsi
> +++ b/arch/arm/boot/dts/kirkwood.dtsi
> @@ -309,7 +309,7 @@
> marvell,tx-checksum-limit = <1600>;
> status = "disabled";
>
> - ethernet0-port at 0 {
> + eth0port: ethernet0-port at 0 {
> compatible = "marvell,kirkwood-eth-port";
> reg = <0>;
> interrupts = <11>;
> @@ -342,7 +342,7 @@
> pinctrl-names = "default";
> status = "disabled";
>
> - ethernet1-port at 0 {
> + eth1port: ethernet1-port at 0 {
> compatible = "marvell,kirkwood-eth-port";
> reg = <0>;
> interrupts = <15>;
> --
> 2.1.0
>
More information about the linux-arm-kernel
mailing list