[PATCH net-next 0/2] net: mediatek: Add MT7621 TRGMII mode support

René van Dorst opensource at vdorst.com
Tue Jun 18 04:46:53 PDT 2019

Quoting Florian Fainelli <f.fainelli at gmail.com>:

Hi Andrew and Florian,

> On 6/17/2019 6:53 PM, Andrew Lunn wrote:
>>> By adding some extra speed states in the code it seems to work.
>>> +               if (state->speed == 1200)
>>> +                       mcr |= PMCR_FORCE_SPEED_1000;
>> Hi René
>> Is TRGMII always 1.2G? Or can you set it to 1000 or 1200?

In case of the MT7621 SOC yes, according to the SDKs the MT7623 has 2 options
2GBit and 2.6Gbit. The current mt7530 driver only set TRGMII speed at 2Gbit.

>> This PMCR_FORCE_SPEED_1000 feels wrong.
> It is not uncommon to have to "force" 1G to get a higher speed, there is
> something similar with B53 switches configuring the CPU ports at 2GB/sec
> (proprietary too and not standardized either).

On the SOC MAC side it is basicly only a MAC clock change.
MAC control registers still need to be set forced 1G.

>>>> We could consider adding 1200BaseT/Full?
>>> I don't have any opinion about this.
>>> It is great that it shows nicely in ethtool but I think supporting more
>>> speeds in phy_speed_to_str() is enough.
>>> Also you may want to add other SOCs trgmii ranges too:
>>> - 1200BaseT/Full for mt7621 only
>>> - 2000BaseT/Full for mt7623 and mt7683
>>> - 2600BaseT/Full for mt7623 only
>> Are these standardised in any way? Or MTK proprietary?  Also, is the T
>> in BaseT correct? These speeds work over copper cables? Or should we
>> be talking about 1200BaseKX?
> Looks like this is MTK proprietary:
> http://lists.infradead.org/pipermail/linux-mediatek/2016-September/007083.html
> https://patchwork.kernel.org/patch/9341129/
> --
> Florian

MTK proprietary, But I think it is equal too the RGMII but with a  
faster clock.

But do we need a "xxxxBaseT/Full" at all for these fixed-link cases?
If I am correct a "xxxxBaseT/Full" is only needed to automatically select the
best option. But with fixed-link we force it so extra "xxxxBaseT/Full" is not



More information about the Linux-mediatek mailing list