> + femac: ethernet@9c30000 { > + compatible = "hisilicon,hi3798mv200-femac"; > + reg = <0x9c30000 0x1000>, <0x9c31300 0x200>; > + ranges = <0x0 0x9c30000 0x10000>; > + #address-cells = <1>; > + #size-cells = <1>; > + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&crg HISTB_ETH0_MAC_CLK>, > + <&crg HISTB_ETH0_MACIF_CLK>, > + <&crg HISTB_ETH0_PHY_CLK>; > + clock-names = "mac", "macif", "phy"; > + resets = <&crg 0xd0 3>, <&crg 0x388 4>; > + reset-names = "mac", "phy"; > + phy-handle = <&fephy>; > + phy-connection-type = "mii"; > + // To be filled by bootloader > + mac-address = [00 00 00 00 00 00]; > + hisilicon,phy-reset-delays-us = <10000 10000 500000>; > + status = "okay"; > + > + mdio: mdio@1100 { > + compatible = "hisilicon,hisi-femac-mdio"; Is the MDIO bus master a device of its own? Is this compatible actually used anywhere? There are generally two different ways an MDIO bus master works. It is an individual device, with its own register space and it gets probed as an independent device. In this case, it needs a compatible to indicate what driver should be used. Or the MDIO bus master is embedded within a MAC driver. It shares the register space with the MAC driver. It is not a device which gets probed, and so it does not need a compatible. The MAC drivers compatible is sufficient. Andrew