Quoting Andrew Lunn <and...@lunn.ch>:

Hi Andrew,

On Mon, Jun 17, 2019 at 09:33:12PM +0000, René van Dorst wrote:
Quoting Andrew Lunn <and...@lunn.ch>:

>On Sun, Jun 16, 2019 at 08:20:08PM +0200, René van Dorst wrote:
>>Like many other mediatek SOCs, the MT7621 SOC and the internal MT7530
>>switch both
>>supports TRGMII mode. MT7621 TRGMII speed is 1200MBit.
>
>Hi René
>

Hi Andrew,

>Is TRGMII used only between the SoC and the Switch? Or does external
>ports of the switch also support 1200Mbit/s? If external ports support
>this, what does ethtool show for Speed?

Only the first GMAC of the SOC and port 6 of the switch supports this mode.
The switch can be internal in the SOC but also a separate chip.

PHYLINK and ethertool reports the link as 1Gbit.
The link is fixed-link with speed = 1000.

dmesg output with unposted PHYLINK patches:
[    5.236763] mt7530 mdio-bus:1f: configuring for fixed/trgmii link mode
[    5.249813] mt7530 mdio-bus:1f: phylink_mac_config:
mode=fixed/trgmii/1Gbps/Full adv=00,00000000,00000220 pause=12 link=1 an=1
[    6.389435] mtk_soc_eth 1e100000.ethernet eth0: phylink_mac_config:
mode=fixed/trgmii/1Gbps/Full adv=00,00000000,00000220 pause=12 link=1 an=1

With PHYLINK, you can probably set the fixed link to the true 1.2Gbps.

By adding some extra speed states in the code it seems to work.

+               if (state->speed == 1200)
+                       mcr |= PMCR_FORCE_SPEED_1000;

dmesg:
[    5.261375] mt7530 mdio-bus:1f: configuring for fixed/trgmii link mode
[ 5.274390] mt7530 mdio-bus:1f: phylink_mac_config: mode=fixed/trgmii/Unsupported (update phy-core.c)/Full adv=00,00000000,00000200 pause=12 link=1 an=1 [ 6.296614] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/trgmii link mode [ 6.313608] mtk_soc_eth 1e100000.ethernet eth0: phylink_mac_config: mode=fixed/trgmii/Unsupported (update phy core.c)/Full adv=00,00000000,00000200 pause=12 link=1 an=1

# ethtool eth0
Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1200Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes


# ethtool eth0
Settings for eth0:
         Supported ports: [ MII ]
         Supported link modes:   1000baseT/Full
         Supported pause frame use: No
         Supports auto-negotiation: No
         Supported FEC modes: Not reported
         Advertised link modes:  1000baseT/Full
         Advertised pause frame use: No
         Advertised auto-negotiation: No
         Advertised FEC modes: Not reported
         Speed: 1000Mb/s

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

I leave the decision to you.

Greats,

René


   Andrew


Reply via email to