[PATCH v3 net-next] net: phy: mediatek: support MT7530 PHYs on EN71221 MCM

Andrew Lunn andrew at lunn.ch
Mon Sep 14 05:01:56 PDT 2026


> + * The EcoNet EN751221 "G" multi-chip module MT7530 requires additional PHY
> + * configuration.
> + */
> +static int en751221_mcm_phy_config_init(struct phy_device *phydev)
> +{
> +	int ret;
> +
> +	ret = genphy_soft_reset(phydev);
> +	if (ret)
> +		return ret;
> +
> +	/* Master/Slave negotiation does not work reliably */
> +	ret = phy_write(phydev, MII_CTRL1000, ADVERTISE_1000FULL |
> +			CTL1000_ENABLE_MASTER | CTL1000_PREFER_MASTER |
> +			CTL1000_AS_MASTER);

Is it sufficiently broken that we should stop the user changing it?

     ethtool     -s     devname    [speed N]    [lanes N]    [duplex half|full]
            [port tp|aui|bnc|mii] [mdix auto|on|off]  [autoneg on|off]  [adver‐
            tise N[/M]  |  advertise mode  on|off  ...]  [phyad N] [xcvr inter‐
            nal|external]        [wol N[/M]         | wol p|u|m|b|a|g|s|f|d...]
            [sopass xx:yy:zz:aa:bb:cc]      [master-slave preferred-master|pre‐
            ferred-slave|forced-master|forced-slave]   [msglvl   N[/M] |    ms‐
            glvl type on|off ...]

You don't appear to have a config_aneg, so genphy_config_aneg() will
be used, which calls genphy_setup_master_slave. 

   Andrew



More information about the linux-arm-kernel mailing list