[PATCH net-next 3/6] net: dsa: add support for retrieving the interface mode
Andrew Lunn
andrew at lunn.ch
Fri Jul 22 15:35:03 PDT 2022
> If a DSA driver defaults to AN enabled on the DSA/CPU ports, and makes
> use of the defaulting firmware description, then this will break with
> these patches, since we setup a fixed-link specifier that states that
> no AN should be used.
There is another way to look at this. AN is only an issue for SERDES
based links. A bit of grepping:
vf610-zii-cfu1.dts: compatible = "marvell,mv88e6085";
vf610-zii-dev-rev-b.dts: compatible = "marvell,mv88e6085";
vf610-zii-dev-rev-b.dts: compatible = "marvell,mv88e6085";
vf610-zii-dev-rev-b.dts: compatible = "marvell,mv88e6085";
vf610-zii-dev-rev-c.dts: compatible = "marvell,mv88e6190";
vf610-zii-dev-rev-c.dts: compatible = "marvell,mv88e6190";
vf610-zii-scu4-aib.dts: compatible = "marvell,mv88e6190";
vf610-zii-scu4-aib.dts: compatible = "marvell,mv88e6190";
vf610-zii-scu4-aib.dts: compatible = "marvell,mv88e6190";
vf610-zii-scu4-aib.dts: compatible = "marvell,mv88e6190";
vf610-zii-spb4.dts: compatible = "marvell,mv88e6190";
vf610-zii-ssmb-dtu.dts: compatible = "marvell,mv88e6190";
vf610-zii-ssmb-dtu.dts: compatible = "marvell,mv88e6xxx-mdio-external";
vf610-zii-ssmb-spu3.dts: compatible = "marvell,mv88e6190";
vf610 is a Vybrid, which is fast Ethernet. No SERDES. We cannot break
the CPU port on these...
kirkwood-dir665.dts: compatible = "marvell,mv88e6085";
kirkwood-l-50.dts: compatible = "marvell,mv88e6085";
kirkwood-l-50.dts: compatible = "marvell,mv88e6085";
kirkwood-linksys-viper.dts: compatible = "marvell,mv88e6085";
kirkwood-mv88f6281gtw-ge.dts: compatible = "marvell,mv88e6085";
kirkwood-rd88f6281.dtsi: compatible = "marvell,mv88e6085";
RGMII or GMII. You cannot break the CPU port on these.
orion5x-netgear-wnr854t.dts: compatible = "marvell,mv88e6085";
Even older than kirkwood, mo chance it uses SERDES.
imx51-zii-rdu1.dts: compatible = "marvell,mv88e6085";
imx51-zii-scu2-mezz.dts: compatible = "marvell,mv88e6085";
imx51-zii-scu3-esb.dts
imx6q-bx50v3.dtsi: compatible = "marvell,mv88e6085"; /* 88e6240*/
imx6qdl-gw5904.dtsi: compatible = "marvell,mv88e6085";
imx6qdl-zii-rdu2.dtsi: compatible = "marvell,mv88e6085";
imx7d-zii-rpu2.dts: compatible = "marvell,mv88e6085";
These all have a FEC, so are either GMII or MII. No SERDES.
What is left for 32bit ARM is:
armada-370-rd.dts: compatible = "marvell,mv88e6085";
Has a fixed-link for the switch, and nothing for the SoC
armada-381-netgear-gs110emx.dts: compatible = "marvell,mv88e6190";
Has a fixed-link for the switch and a fixed-link for the SoC, as is RGMII
armada-385-clearfog-gtr-l8.dts: compatible = "marvell,mv88e6190";
armada-385-clearfog-gtr-s4.dts: compatible = "marvell,mv88e6085";
These two have nothing for the CPU port, SoC has fixed-link, "2500base-x"
armada-385-linksys.dtsi: compatible = "marvell,mv88e6085";
Has a fixed link, and Soc also has a fixed link, SGMII.
armada-385-turris-omnia.dts: compatible = "marvell,mv88e6085";
Has a fixed link, with phy-mode rgmii-id.
armada-388-clearfog.dts: compatible = "marvell,mv88e6085";
Has a fixed link, SoC also has a fixed link.
armada-xp-linksys-mamba.dts: compatible = "marvell,mv88e6085";
Has a fixed-link, nothing for the SoC side.
So the majority of boards are:
1) Not SERDES based
or
2) Have a fixed-link.
It is just the two clearfog boards which might have a problem, but
these two also use mvneta, and Russell already pointed out, they are
by default forgiving with inband signalling.
In the arm64 world, we have:
freescale/imx8mq-zii-ultra.dtsi: compatible = "marvell,mv88e6085";
marvell/cn9130-crb.dtsi: compatible = "marvell,mv88e6190";
marvell/armada-3720-turris-mox.dts: compatible = "marvell,mv88e6190";
marvell/armada-3720-turris-mox.dts: compatible = "marvell,mv88e6085";
marvell/armada-3720-turris-mox.dts: compatible = "marvell,mv88e6190";
marvell/armada-3720-turris-mox.dts: compatible = "marvell,mv88e6085";
marvell/armada-3720-turris-mox.dts: compatible = "marvell,mv88e6190";
marvell/armada-3720-turris-mox.dts: compatible = "marvell,mv88e6085";
marvell/armada-3720-espressobin.dtsi: compatible = "marvell,mv88e6085";
marvell/armada-7040-mochabin.dts: compatible = "marvell,mv88e6085";
marvell/armada-8040-clearfog-gt-8k.dts: compatible = "marvell,mv88e6085";
So another RGMII FEC, and then Marvell devices which are all pretty
forgiving.
So i would say, the likelihood of the CPU port breaking is pretty low.
DSA ports could also be an issue here.
armada-3720-turris-mox.dts has:
phy-mode = "2500base-x";
managed = "in-band-status";
for all its DSA ports.
vf610-zii-dev-rev-b.dts has fixed link, some ports are rgmii, some are
1000base-X.
vf610-zii-dev-rev-c.dts does not have fixed link and the ports are
xaui. Does xaui have in-band signalling?
vf610-zii-scu4-aib.dts does not have fixed link and the ports are xgmii and 2500base-x.
So there are more open questions here, but a lot less boards.
Andrew
More information about the Linux-mediatek
mailing list