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

From: Andrew Lunn

Date: Mon Sep 14 2026 - 09:15:55 EST


> + * 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