Hi, Documentation/networking/phy.txt discusses phy_connect and states that:
"... interface is a u32 which specifies the connection type used between the controller and the PHY. Examples are GMII, MII, RGMII, and SGMII. For a full list, see include/linux/phy.h Now just make sure that phydev->supported and phydev->advertising have any values pruned from them which don't make sense for your controller (a 10/100 controller may be connected to a gigabit capable PHY, so you would need to mask off SUPPORTED_1000baseT*). See include/linux/ethtool.h for definitions for these bitfields. Note that you should not SET any bits, or the PHY may get put into an unsupported state. ..." However, 'drivers/net/ethernet/aurora/nb8800.c' for example, does SETs some bits (in function 'nb8800_pause_adv'). I checked 'drivers/net/ethernet/broadcom/genet/bcmmii.c' and that one CLEARs bits (as per the documentation). Does anybody knows what is the correct/recommended approach? Best regards, Sebastian