The NXP LS1021A-TSN board (and many others) contains an automotive Ethernet switch. Some boards only have Ethernet ports routed through the switch, and it is therefore desirable to have TFTP functional.
These patches add support for the SJA1105 and SJA1110 switch family (tested on first-gen SJA1105T, second-gen SJA1105S, but not on third-gen SJA1110A yet, the support for that is blind). Along the way, fixes and improvements to the DSA framework are also made. I have not added documentation for the device tree bindings, the driver is compatible with the device tree bindings from Linux, for which a YAML schema-based validator exists. Changes in v2: - split sja1105 driver in 2 patches: basic driver and SGMII support - rebased on top of the "sgmii-2500" -> "2500base-x" change in felix - improved the sja1105 xpcs initialization sequence to work with in-band autoneg enabled as well Vladimir Oltean (10): net: tsec: add support for promiscuous mode include: import if_vlan.h from Linux net: dsa: allow drivers to get the port OF node net: introduce a helper to determine whether to use in-band autoneg net: dsa: felix: configure the in-band autoneg property based on OF node info net: dsa: add driver for NXP SJA1105 L2 switch net: dsa: sja1105: add support for SGMII arm: dts: ls1021a-tsn: add sja1105 and eth2 bindings configs: ls1021a-tsn: enable sja1105 switch driver configs: ls1021a-tsn: enable the generation of random Ethernet MAC addresses arch/arm/dts/ls1021a-tsn.dts | 103 + configs/ls1021atsn_qspi_defconfig | 3 + configs/ls1021atsn_sdcard_defconfig | 3 + drivers/core/of_extra.c | 12 + drivers/net/Kconfig | 16 + drivers/net/Makefile | 1 + drivers/net/mscc_eswitch/felix_switch.c | 10 +- drivers/net/sja1105.c | 3376 +++++++++++++++++++++++ drivers/net/tsec.c | 20 +- include/dm/of_extra.h | 14 + include/linux/if_vlan.h | 26 + include/net/dsa.h | 12 + include/tsec.h | 2 + net/dsa-uclass.c | 20 + 14 files changed, 3608 insertions(+), 10 deletions(-) create mode 100644 drivers/net/sja1105.c create mode 100644 include/linux/if_vlan.h -- 2.25.1