This adds support for the mv88e6250 chip. Initially based on the mv88e6240, this time around, I've been through each ->ops callback and checked that it makes sense, either replacing with a 6250 specific variant or dropping it if no equivalent functionality seems to exist for the 6250. Along the way, I found a few oddities in the existing code, mostly sent as separate patches/questions. The one relevant to the 6250 is the ieee_pri_map callback, where the existing mv88e6085_g1_ieee_pri_map() is actually wrong for many of the existing users. I've put the mv88e6250_g1_ieee_pri_map() patch first in case some of the existing chips get switched over to use that and it is deemed important enough for -stable. v3: - rebase on top of net-next/master - add reviewed-bys to patches unchanged from v2 (2,3,4,5) - add 6250-specific ->ieee_pri_map, ->port_set_speed, ->port_link_state (1,6,7) - in addition, use mv88e6065_phylink_validate for ->phylink_validate, and don't implement ->port_get_cmode, ->port_set_jumbo_size, ->port_disable_learn_limit, ->rmu_disable - drop ptp support - add patch adding the compatible string to the DT binding (9) - add small refactoring patch (10) v2: - rebase on top of net-next/master - add reviewed-by to two patches unchanged from v1 (2,3) - add separate watchdog_ops Rasmus Villemoes (10): net: dsa: mv88e6xxx: add mv88e6250_g1_ieee_pri_map net: dsa: mv88e6xxx: introduce support for two chips using direct smi addressing net: dsa: mv88e6xxx: prepare mv88e6xxx_g1_atu_op() for the mv88e6250 net: dsa: mv88e6xxx: implement vtu_getnext and vtu_loadpurge for mv88e6250 net: dsa: mv88e6xxx: implement watchdog_ops for mv88e6250 net: dsa: mv88e6xxx: implement port_set_speed for mv88e6250 net: dsa: mv88e6xxx: implement port_link_state for mv88e6250 net: dsa: mv88e6xxx: add support for mv88e6250 dt-bindings: net: dsa: marvell: add "marvell,mv88e6250" compatible string net: dsa: mv88e6xxx: refactor mv88e6352_g1_reset .../devicetree/bindings/net/dsa/marvell.txt | 7 +- drivers/net/dsa/mv88e6xxx/chip.c | 81 +++++++++++++++++++ drivers/net/dsa/mv88e6xxx/chip.h | 8 ++ drivers/net/dsa/mv88e6xxx/global1.c | 17 +++- drivers/net/dsa/mv88e6xxx/global1.h | 7 ++ drivers/net/dsa/mv88e6xxx/global1_atu.c | 5 +- drivers/net/dsa/mv88e6xxx/global1_vtu.c | 58 +++++++++++++ drivers/net/dsa/mv88e6xxx/global2.c | 26 ++++++ drivers/net/dsa/mv88e6xxx/global2.h | 14 ++++ drivers/net/dsa/mv88e6xxx/port.c | 77 ++++++++++++++++++ drivers/net/dsa/mv88e6xxx/port.h | 14 ++++ drivers/net/dsa/mv88e6xxx/smi.c | 25 +++++- 12 files changed, 333 insertions(+), 6 deletions(-) -- 2.20.1