> [1] > https://elixir.bootlin.com/linux/v5.12-rc7/source/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi#L101
&fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii-id"; phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; phy-reset-duration = <20>; phy-supply = <&sw2_reg>; phy-handle = <ðphy0>; status = "okay"; mdio { #address-cells = <1>; #size-cells = <0>; phy_port2: phy@1 { reg = <1>; }; phy_port3: phy@2 { reg = <2>; }; switch@10 { compatible = "qca,qca8334"; reg = <10>; switch_ports: ports { #address-cells = <1>; #size-cells = <0>; ethphy0: port@0 { reg = <0>; label = "cpu"; phy-mode = "rgmii-id"; ethernet = <&fec>; fixed-link { speed = <1000>; full-duplex; }; }; The fec phy-handle = <ðphy0>; is pointing to the PHY of switch port 0. This seems wrong. Does the FEC have a PHY? Do you connect the FEC and the SWITCH at the RGMII level? Or with two back to back PHYs? If you are doing it RGMII level, the FEC also needs a fixed-link. Andrew