• Florian Fainelli's avatar
    mv643xx_eth: convert to use the Marvell Orion MDIO driver · c3a07134
    Florian Fainelli authored
    This patch converts the Marvell MV643XX ethernet driver to use the
    Marvell Orion MDIO driver. As a result, PowerPC and ARM platforms
    registering the Marvell MV643XX ethernet driver are also updated to
    register a Marvell Orion MDIO driver. This driver voluntarily overlaps
    with the Marvell Ethernet shared registers because it will use a subset
    of this shared register (shared_base + 0x4 to shared_base + 0x84). The
    Ethernet driver is also updated to look up for a PHY device using the
    Orion MDIO bus driver.
    
    For ARM and PowerPC we register a single instance of the "mvmdio" driver
    in the system like it used to be done with the use of the "shared_smi"
    platform_data cookie on ARM.
    
    Note that it is safe to register the mvmdio driver only for the "ge00"
    instance of the driver because this "ge00" interface is guaranteed to
    always be explicitely registered by consumers of
    arch/arm/plat-orion/common.c and other instances (ge01, ge10 and ge11)
    were all pointing their shared_smi to ge00. For PowerPC the in-tree
    Device Tree Source files mention only one MV643XX ethernet MAC instance
    so the MDIO bus driver is registered only when id == 0.
    Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c3a07134
mv643xx_eth.c 69.4 KB