[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