> 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