• Markus Niebel's avatar
    net: phy: micrel: add 125MHz reference clock workaround · e1b505a6
    Markus Niebel authored
    The micrel KSZ9031 phy has a optional clock pin (CLK125_NDO) which can be
    used as reference clock for the MAC unit. The clock signal must meet the
    RGMII requirements to ensure the correct data transmission between the
    MAC and the PHY. The KSZ9031 phy does not fulfill the duty cycle
    requirement if the phy is configured as slave. For a complete
    describtion look at the errata sheets: DS80000691D or DS80000692D.
    The errata sheet recommends to force the phy into master mode whenever
    there is a 1000Base-T link-up as work around. Only set the
    "micrel,force-master" property if you use the phy reference clock provided
    by CLK125_NDO pin as MAC reference clock in your application.
    Attenation, this workaround is only usable if the link partner can
    be configured to slave mode for 1000Base-T.
    Signed-off-by: default avatarMarkus Niebel <Markus.Niebel@tqs.de>
    [m.felsch@pengutronix.de: fix dt-binding documentation]
    [m.felsch@pengutronix.de: use already existing result var for read/write]
    [m.felsch@pengutronix.de: add error handling]
    [m.felsch@pengutronix.de: add more comments]
    Signed-off-by: default avatarMarco Felsch <m.felsch@pengutronix.de>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>