Hello, I just noticed that I dropped the other recipents from the conversation. I readded them also adding some context. > > On Sun, Nov 06, 2016 at 05:28:09PM +0100, Andrew Lunn wrote: > > > On Sun, Nov 06, 2016 at 11:45:34AM +0100, Uwe Kleine-König wrote: > > > > + switch@0 { > > > > + compatible = "marvell,mv88e6176", "marvell,mv88e6085"; > > > > > > All currently supported switches are compatible with the mv88e6085, in > > > terms of probing. During the probe it can read an ID register to find > > > out what specific switch it is, so you don't need additional details > > > here. So please drop the marvell,mv88e6176, it will never be used. > > > > That's what I know from several imx devices, for example look at > > > > $ git grep imx25 arch/arm/boot/dts/imx25.dtsi > > > > There are several instances of imx25-something, > > imx$earliersoc-something. Given there is a good reason for this, I > > wonder why it's different here. > > Possibly because you cannot easily tell the variants apart using ID > registers in the devices register space? For the switch it is very > easy, port register 3 is the ID. It only becomes an issue when probe > cannot find this register. There is a new generation mv88e6390 which > i'm currently adding support for which has moved the port > registers. So i need to add a new compatible string so probe knows > where to look. Even if you cannot easily distinguish between an "fsl,imx35-cspi" and an "fsl,imx27-cspi" by inspecting hardware registers, it would be enough to write in imx25.dtsi compatible = "fsl,imx35-cspi"; still we're writing compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; because it never hurts and is helpful when later some differences are found and it documents the situation more accurately. I wonder what the dt people have to say here. > > > From what you say here, the switch is in mulit-chip mode, at address > > > 0x10. So set the reg property to <0x10>. > > > > When using 0x10 I get > > > > mv88e6085 f1072004.mdio-mi:10: switch 0x176 probed: Marvell 88E6176, revision 1 > > Great. > > > > > so now I have to find out how to use this. > > Just use them as normal interfaces. ip addr add 10.42.42.42/24 dev > lan4, brctrl addif br0 lan2, ethtool -S lan1 etc. > > The whole idea is that they are just normal Linux network interfaces. That's how I expected things to be, but uwe@omnia:~$ dmesg | tail ... [ 2164.644589] libphy: mdio_driver_register: mv88e6085 [ 2164.649823] mv88e6085 f1072004.mdio-mi:10: switch 0x176 probed: Marvell 88E6176, revision 1 uwe@omnia:~$ ls /sys/class/net/ eth0 eth1 eth2 lo there are no additional interfaces. I will debug a bit further. Best regards Uwe