Hello, this is the fourth version of changes for the Topaz/Peridot family of switches. The patches apply on net-next. Changes since v3: - there was a mistake in the serdes_get_lane implementations for 6390 (patch 3/6). These methods returned -ENODEV if no lane was to be on port, but they should return 0. This is now fixed.
Tested on Turris Mox with Peridot, Topaz, and Peridot + Topaz. Marek Marek Behún (6): net: dsa: mv88e6xxx: support 2500base-x in SGMII IRQ handler net: dsa: mv88e6xxx: update code operating on hidden registers net: dsa: mv88e6xxx: create serdes_get_lane chip operation net: dsa: mv88e6xxx: simplify SERDES code for Topaz and Peridot net: dsa: mv88e6xxx: rename port cmode macro net: dsa: mv88e6xxx: fully support SERDES on Topaz family drivers/net/dsa/mv88e6xxx/Makefile | 1 + drivers/net/dsa/mv88e6xxx/chip.c | 88 +++----- drivers/net/dsa/mv88e6xxx/chip.h | 3 + drivers/net/dsa/mv88e6xxx/port.c | 98 ++++++--- drivers/net/dsa/mv88e6xxx/port.h | 30 ++- drivers/net/dsa/mv88e6xxx/port_hidden.c | 70 ++++++ drivers/net/dsa/mv88e6xxx/serdes.c | 275 +++++++++++------------- drivers/net/dsa/mv88e6xxx/serdes.h | 27 ++- 8 files changed, 333 insertions(+), 259 deletions(-) create mode 100644 drivers/net/dsa/mv88e6xxx/port_hidden.c -- 2.21.0