diff options
author | Marcus Carlberg <marcus.carlberg@axis.com> | 2022-08-22 16:41:36 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-08-26 16:30:55 -0700 |
commit | 1d2577ab0f052375379fa112d1aa34dbb4ef1463 (patch) | |
tree | d67a3c927462fbe0f4e77c141e46b69e7a041ace /drivers/net/dsa/mv88e6xxx/chip.c | |
parent | 44387d1736c40a74085be354e2b5f37ca0689608 (diff) | |
download | linux-1d2577ab0f052375379fa112d1aa34dbb4ef1463.tar.gz linux-1d2577ab0f052375379fa112d1aa34dbb4ef1463.tar.bz2 linux-1d2577ab0f052375379fa112d1aa34dbb4ef1463.zip |
net: dsa: mv88e6xxx: support RGMII cmode
Since the probe defaults all interfaces to the highest speed possible
(10GBASE-X in mv88e6393x) before the phy mode configuration from the
devicetree is considered it is currently impossible to use port 0 in
RGMII mode.
This change will allow RGMII modes to be configurable for port 0
enabling port 0 to be configured as RGMII as well as serial depending
on configuration.
Signed-off-by: Marcus Carlberg <marcus.carlberg@axis.com>
Link: https://lore.kernel.org/r/20220822144136.16627-1-marcus.carlberg@axis.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/chip.c')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/chip.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 07e9a4da924c..6403f1f8bdbb 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -816,6 +816,14 @@ static void mv88e6393x_phylink_get_caps(struct mv88e6xxx_chip *chip, int port, MAC_10000FD; } } + + if (port == 0) { + __set_bit(PHY_INTERFACE_MODE_RMII, supported); + __set_bit(PHY_INTERFACE_MODE_RGMII, supported); + __set_bit(PHY_INTERFACE_MODE_RGMII_ID, supported); + __set_bit(PHY_INTERFACE_MODE_RGMII_RXID, supported); + __set_bit(PHY_INTERFACE_MODE_RGMII_TXID, supported); + } } static void mv88e6xxx_get_caps(struct dsa_switch *ds, int port, |