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

Caleb James DeLisle cjd at cjdns.fr
Tue Sep 15 02:55:25 PDT 2026


On 14/09/2026 14:01, Andrew Lunn wrote:
>> + * 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?


Well I must be going crazy because I tested this a second time and now 
it's working without forcing master at all. I guess when I was 
previously testing, I must have had some un-resetted state leftover from 
trying with EEE enabled. I will re-send without this command because it 
seems to work.


Thanks,

Caleb


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