Message ID | 20161222094327.24051-1-uwe@kleine-koenig.org |
---|---|
State | New |
Headers | show |
On Thu, Dec 22, 2016 at 10:43:27AM +0100, Uwe Kleine-König wrote: > The Turris Omnia features a Marvell MV88E7176 ethernet switch. Add it to > the dts. > > Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> > --- > Changes since (implicit) v1: > - drop mdio bus and per port phy-handle as they match the default > setup. > > One thing I was surprised is that the mv88e6xxx module isn't autoloaded > by udev. Is this expected? > > Best regards > Uwe > > arch/arm/boot/dts/armada-385-turris-omnia.dts | 66 ++++++++++++++++++++++++++- > 1 file changed, 64 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts > index ab49acb2d452..f8e55fa7f0fa 100644 > --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts > +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts > @@ -122,7 +122,7 @@ > pinctrl-names = "default"; > pinctrl-0 = <&ge0_rgmii_pins>; > status = "okay"; > - phy-mode = "rgmii-id"; > + phy-mode = "rgmii"; > > fixed-link { > speed = <1000>; > @@ -135,7 +135,7 @@ > pinctrl-names = "default"; > pinctrl-0 = <&ge1_rgmii_pins>; > status = "okay"; > - phy-mode = "rgmii-id"; > + phy-mode = "rgmii"; > > fixed-link { > speed = <1000>; > @@ -274,6 +274,68 @@ > }; > > /* Switch MV88E7176 at address 0x10 */ Hi Uwe You probably have the switch model wrong in this comment. 6176 not 7176? > + switch@10 { > + compatible = "marvell,mv88e6085"; > + #address-cells = <1>; > + #size-cells = <0>; > + dsa,member = <0 0>; > + > + reg = <0x10>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; ... > + ports@5 { > + reg = <5>; > + label = "cpu"; > + ethernet = <ð1>; > + phy-mode = "rgmii-id"; > + > + fixed-link { > + speed = <1000>; > + full-duplex; > + }; > + }; > + > + ports@6 { > + reg = <6>; > + label = "cpu"; > + ethernet = <ð0>; > + phy-mode = "rgmii-id"; > + > + fixed-link { > + speed = <1000>; > + full-duplex; > + }; > + }; Humm, we need to be careful here. I hope multi CPU will come soon. But we have not yet defined how the binding will look. I expect it does look a lot like this, but there are probably additional properties, like linking user ports to cpu ports. What i'm worried about is future backwards compatibility. There is a danger that this DT will trigger some of the multi CPU code, but it is missing other required properties, and so stops working. It would be safer if you just had a comment about the second CPU port. Thanks Andrew
diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts index ab49acb2d452..f8e55fa7f0fa 100644 --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts @@ -122,7 +122,7 @@ pinctrl-names = "default"; pinctrl-0 = <&ge0_rgmii_pins>; status = "okay"; - phy-mode = "rgmii-id"; + phy-mode = "rgmii"; fixed-link { speed = <1000>; @@ -135,7 +135,7 @@ pinctrl-names = "default"; pinctrl-0 = <&ge1_rgmii_pins>; status = "okay"; - phy-mode = "rgmii-id"; + phy-mode = "rgmii"; fixed-link { speed = <1000>; @@ -274,6 +274,68 @@ }; /* Switch MV88E7176 at address 0x10 */ + switch@10 { + compatible = "marvell,mv88e6085"; + #address-cells = <1>; + #size-cells = <0>; + dsa,member = <0 0>; + + reg = <0x10>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + ports@0 { + reg = <0>; + label = "lan0"; + }; + + ports@1 { + reg = <1>; + label = "lan1"; + }; + + ports@2 { + reg = <2>; + label = "lan2"; + }; + + ports@3 { + reg = <3>; + label = "lan3"; + }; + + ports@4 { + reg = <4>; + label = "lan4"; + }; + + ports@5 { + reg = <5>; + label = "cpu"; + ethernet = <ð1>; + phy-mode = "rgmii-id"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + + ports@6 { + reg = <6>; + label = "cpu"; + ethernet = <ð0>; + phy-mode = "rgmii-id"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + }; }; &pinctrl {
The Turris Omnia features a Marvell MV88E7176 ethernet switch. Add it to the dts. Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> --- Changes since (implicit) v1: - drop mdio bus and per port phy-handle as they match the default setup. One thing I was surprised is that the mv88e6xxx module isn't autoloaded by udev. Is this expected? Best regards Uwe arch/arm/boot/dts/armada-385-turris-omnia.dts | 66 ++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 2 deletions(-)