• Daniel Mack's avatar
    net: phy: at803x: Add support for hardware reset · 13a56b44
    Daniel Mack authored
    The AT8030 will enter a FIFO error mode if a packet is transmitted while
    the cable is unplugged. This hardware issue is acknowledged by the
    vendor, and the only proposed solution is to conduct a hardware reset
    via the external pin each time the link goes down. There is apparantly
    no way to fix up the state via the register set.
    
    This patch adds support for reading a 'reset-gpios' property from the DT
    node of the PHY. If present, this gpio is used to apply a hardware reset
    each time a 'link down' condition is detected. All relevant registers
    are read out before, and written back after the reset cycle.
    
    Doing this every time the link goes down might seem like overkill, but
    there is unfortunately no way of figuring out whether the PHY is in
    such a lock-up state. Hence, this is the only way of reliably fixing up
    things.
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    13a56b44
at803x.c 9.11 KB