• Hauke Mehrtens's avatar
    b44: add phylib support · 86f4ea63
    Hauke Mehrtens authored
    Most of the older home routers based on the Broadcom BCM47XX SoC series
    are using a MAC that is supported by b44. On most of these routers not
    the internal PHY of this MAC core is used, but a switch sometimes on an
    external chip or integrated into the same SoC as the Ethernet core.
    For this switch a special PHY driver is needed which should not be
    integrated into b44 as the same switches are also used by other
    Broadcom home networking SoCs which are using different Ethernet MAC
    drivers. This was tested with the b53 switch driver which is currently
    on its way to mainline.
    
    If the internal PHY is not used, b44 will now search on the MDIO bus
    for a phy and use the Linux phylib subsystem to register a driver.
    Support for the internal PHY must stay here, because there are some
    device which are suing the internal phy.
    
    With this patch we scan the mdio bus when the sprom or nvram says that
    the PHY address is 30, if a PHY was found at this address b44 uses it.
    
    This was tested with a BCM4704, BCM4712 and BCM5354.
    Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    86f4ea63
b44.c 62.5 KB