Re: [PATCH net-next v2 5/7] net: phy: adin1100: Skip the soft reset on ADIN1110/ADIN2111
From: Alvin Šipraga
Date: Tue Nov 10 2026 - 05:10:21 EST
On Mon, Nov 09, 2026 at 10:59:50AM +0200, Iustin Stolniceanu wrote:
> The ADIN1110 and ADIN2111 MAC-PHYs integrate the ADIN1100 PHY and use
> this driver. On these devices, CRSM_SFT_RST resets the whole chip, not
> only the PHY, undoing the configuration done by the MAC driver before
> the PHY is attached. MDIO reads also return stale data until the reset
> completes.
>
> This is not an issue with the generic SPI protocol, where the adin1110
> driver configures the MAC in ndo_open, after phy_connect(). The OPEN
> Alliance TC6 protocol support, added in a following patch, configures
> the device in oa_tc6_init() before the PHY is attached, and the
> configuration would be lost.
>
> The MAC driver already resets the chip before attaching the PHY, so
> don't set .soft_reset for these devices.
>
> Signed-off-by: Iustin Stolniceanu <iustin.stolniceanu@xxxxxxxxxx>
Reviewed-by: Alvin Šipraga <alvin.sipraga@xxxxxxxxxx>
> ---
> drivers/net/phy/adin1100.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/phy/adin1100.c b/drivers/net/phy/adin1100.c
> index b946cb86b6c4..ddb91b0e7081 100644
> --- a/drivers/net/phy/adin1100.c
> +++ b/drivers/net/phy/adin1100.c
> @@ -341,7 +341,6 @@ static struct phy_driver adin_driver[] = {
> PHY_ID_MATCH_MODEL(PHY_ID_ADIN1110),
> .name = "ADIN1110",
> .get_features = adin_get_features,
> - .soft_reset = adin_soft_reset,
> .probe = adin_probe,
> .config_aneg = adin_config_aneg,
> .read_status = adin_read_status,
> @@ -357,7 +356,6 @@ static struct phy_driver adin_driver[] = {
> PHY_ID_MATCH_MODEL(PHY_ID_ADIN2111),
> .name = "ADIN2111",
> .get_features = adin_get_features,
> - .soft_reset = adin_soft_reset,
> .probe = adin_probe,
> .config_aneg = adin_config_aneg,
> .read_status = adin_read_status,
> --
> 2.43.0
>