• Oleksij Rempel's avatar
    phy: dp83td510: Utilize ALCD for cable length measurement when link is active · 986a7fa4
    Oleksij Rempel authored
    In industrial environments where 10BaseT1L PHYs are replacing existing
    field bus systems like CAN, it's often essential to retain the existing
    cable infrastructure. After installation, collecting metrics such as
    cable length is crucial for assessing the quality of the infrastructure.
    Traditionally, TDR (Time Domain Reflectometry) is used for this purpose.
    However, TDR requires interrupting the link, and if the link partner
    remains active, the TDR measurement will fail.
    
    Unlike multi-pair systems, where TDR can be attempted during the MDI-X
    switching window, 10BaseT1L systems face greater challenges. The TDR
    sequence on 10BaseT1L is longer and coincides with uninterrupted
    autonegotiation pulses, making TDR impossible when the link partner is
    active.
    
    The DP83TD510 PHY provides an alternative through ALCD (Active Link
    Cable Diagnostics), which allows for cable length measurement without
    disrupting an active link. Since a live link indicates no short or open
    cable states, ALCD can be used effectively to gather cable length
    information.
    
    Enhance the dp83td510 driver by:
    - Leveraging ALCD to measure cable length when the link is active.
    - Bypassing TDR when a link is detected, as ALCD provides the required
      information without disruption.
    Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Link: https://patch.msgid.link/20240822120703.1393130-4-o.rempel@pengutronix.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    986a7fa4
dp83td510.c 19 KB