On Tue, 3 Nov 2020 09:44:35 +0200 Alexandru Ardelean wrote: > When the PHY powers up, the diagnostics clock isn't enabled (bit 2 in > register PHY_CTRL_1 (0x0012)). > Also, the PHY is not in standby mode, so bit 13 in PHY_CTRL_3 (0x0017) is > always set at power up. > > The standby mode and the diagnostics clock are both meant to be for the > cable diagnostics feature of the PHY (in phylib this would be equivalent to > the cable-test support), and for the frame-generator feature of the PHY. > > In standby mode, the PHY doesn't negotiate links or manage links. > > To use the cable diagnostics/test (or frame-generator), the PHY must be > first set in standby mode, so that the link operation doesn't interfere. > Then, the diagnostics clock must be enabled. > > For the cable-test feature, when the operation finishes, the PHY goes into > PHY_UP state, and the config_aneg hook is called. > > For the ADIN PHY, we need to make sure that during autonegotiation > configuration/setup the PHY is removed from standby mode and the > diagnostics clock is disabled, so that normal operation is resumed. > > This change does that by moving the set of the ADIN1300_LINKING_EN bit (2) > in the config_aneg (to disable standby mode). > Previously, this was set in the downshift setup, because the downshift > retry value and the ADIN1300_LINKING_EN are in the same register. > > And the ADIN1300_DIAG_CLK_EN bit (13) is cleared, to disable the > diagnostics clock. > > Reviewed-by: Andrew Lunn <and...@lunn.ch> > Signed-off-by: Alexandru Ardelean <alexandru.ardel...@analog.com>
Applied both, thanks.