Sorry if already there. Google could not really help me. Everything was out of date.
On my BeagleBoneBlack Board Rev. B6 with AM3358BZCZ100 the MDIO does not come up with kernel 5.4 and 5.10.
dmesg says following
mdio_bus 4a101000.mdio: MDIO device at address 0 is missing
phy "/ocp/interconnect@4a0000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0" not found on slave 0
I changed in /arch/arm/boot/dts/am335x-bone-common.dtsi under "ethphy0: ethernet-phy@0" reg = <0> to reg = <2>. After that everything was ok. I am not sure if I have fixed it correctly. Maybe it is better to overlay it in am335x-boneblack.dts because the am335x-bone-common.dtsi is included by several boards.
It took me a while to find it.
Again the correct section am335x-bone-common.dtsi
&davinci_mdio {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";
ethphy0: ethernet-phy@0 {
reg = <2>;
};