> +&mdio { > + switch0: switch0@1 { > + compatible = "marvell,mv88e6085"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <1>; > + > + dsa,member = <0 0>; > + > + ports: ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + label = "cpu"; > + ethernet = <ð0>; The label property is not required for the CPU port. Please also add a fixed-link node here to match the eth0. You should actually be getting errors from the DT validator here: # CPU and DSA ports must have phylink-compatible link descriptions if: oneOf: - required: [ ethernet ] - required: [ link ] then: allOf: - required: - phy-mode - oneOf: - required: - fixed-link - required: - phy-handle - required: - managed > +ð0 { > + nvmem-cells = <&macaddr_factory_0>; > + nvmem-cell-names = "mac-address"; > + phy-mode = "rgmii-id"; If the SoC is doing "rgmii-id" you want the CPU node doing "rgmii"; Andrew