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(-) -- 2.19.1