mbox series

[net-next,0/4] net: dsa: mv88e6xxx: Support more SERDES interfacxes

Message ID 1541892737-3960-1-git-send-email-andrew@lunn.ch
Headers show
Series net: dsa: mv88e6xxx: Support more SERDES interfacxes | expand

Message

Andrew Lunn Nov. 10, 2018, 11:32 p.m. UTC
Currently the SERDES interfaces for ports 9 and 10 on the mv88e6390x
are supported, allowing upto 10G. However, when unused, these SERDES
interfaces can be used by some of the lower ports for 1000Base-X.

The tricky bit here is ordering. The SERDES have to become free from
ports 9 or 10 before they can be used with lower ports. Normally, this
would happen only when these ports would be configured up, which is
too late. So at probe time, defaulting ports 9 and 10 to 1000BaseX
frees them for use with lower ports. If they are actually needed, they
will be taken back when port 9 and 10 goes up.

Andrew Lunn (4):
  net: dsa: mv88e6xxx: Group cmode ops together
  net: dsa: mv88e6xxx: Differentiate between 6390 and 6390X cmodes
  net: dsa: mv88e6xxx: Default ports 9/10 6390X CMODE to 1000BaseX
  net: dsa: mv88e6xxx: Add support for SERDES on ports 2-8 for 6390X

 drivers/net/dsa/mv88e6xxx/chip.c   | 17 ++++++++++-------
 drivers/net/dsa/mv88e6xxx/port.c   | 24 +++++++++++++++++++++---
 drivers/net/dsa/mv88e6xxx/port.h   |  2 ++
 drivers/net/dsa/mv88e6xxx/serdes.c | 26 +++++++++++++++++++-------
 drivers/net/dsa/mv88e6xxx/serdes.h |  2 ++
 5 files changed, 54 insertions(+), 17 deletions(-)

Comments

David Miller Nov. 11, 2018, 6:18 p.m. UTC | #1
From: Andrew Lunn <andrew@lunn.ch>
Date: Sun, 11 Nov 2018 00:32:13 +0100

> Currently the SERDES interfaces for ports 9 and 10 on the mv88e6390x
> are supported, allowing upto 10G. However, when unused, these SERDES
> interfaces can be used by some of the lower ports for 1000Base-X.
> 
> The tricky bit here is ordering. The SERDES have to become free from
> ports 9 or 10 before they can be used with lower ports. Normally, this
> would happen only when these ports would be configured up, which is
> too late. So at probe time, defaulting ports 9 and 10 to 1000BaseX
> frees them for use with lower ports. If they are actually needed, they
> will be taken back when port 9 and 10 goes up.

Series applied, thanks Andrew.