[PATCH net-next 00/13] Add NXP SJA1110 support to the sja1105 DSA driver

Vladimir Oltean
2021-05-24T23:22:36Z

From: Vladimir Oltean <vladimir.oltean@nxp.com>

The NXP SJA1110 is an automotive Ethernet switch with an embedded Arm
Cortex-M7 microcontroller. The switch has 11 ports (10 external + one
for the DSA-style connection to the microcontroller).
The microcontroller can be disabled and the switch can be controlled
over SPI, a la SJA1105 - this is how this driver handles things.

There are some integrated NXP PHYs (100base-T1 and 100base-TX). Their
initialization is handled by their own PHY drivers, the switch is only
concerned with enabling register accesses to them, by registering two
MDIO buses.

PHY interrupts might be possible, however I believe that the board I am
working on does not have them wired, which makes things a bit more
difficult to test.

Cc: Russell King <linux@armlinux.org.uk>

Vladimir Oltean (13):
net: dsa: sja1105: be compatible with "ethernet-ports" OF node name
net: dsa: sja1105: allow SGMII PCS configuration to be per port
net: dsa: sja1105: the 0x1F0000 SGMII "base address" is actually
MDIO_MMD_VEND2
net: dsa: sja1105: cache the phy-mode port property
net: dsa: sja1105: add a PHY interface type compatibility matrix
net: dsa: sja1105: add a translation table for port speeds
net: dsa: sja1105: always keep RGMII ports in the MAC role
net: dsa: sja1105: some table entries are always present when read
dynamically
dt-bindings: net: dsa: sja1105: add compatible strings for SJA1110
net: dsa: sja1105: add support for the SJA1110 switch family
net: dsa: sja1105: register the MDIO buses for 100base-T1 and
100base-TX
net: dsa: sja1105: expose the SGMII PCS as an mdio_device
net: dsa: sja1105: add support for the SJA1110 SGMII/2500base-x PCS

.../devicetree/bindings/net/dsa/sja1105.txt | 4 +
drivers/net/dsa/sja1105/Makefile | 1 +
drivers/net/dsa/sja1105/sja1105.h | 88 ++-
drivers/net/dsa/sja1105/sja1105_clocking.c | 120 +++-
.../net/dsa/sja1105/sja1105_dynamic_config.c | 336 ++++++++++-
.../net/dsa/sja1105/sja1105_dynamic_config.h | 1 +
drivers/net/dsa/sja1105/sja1105_main.c | 518 +++++++++++++----
drivers/net/dsa/sja1105/sja1105_mdio.c | 530 ++++++++++++++++++
drivers/net/dsa/sja1105/sja1105_sgmii.h | 63 ++-
drivers/net/dsa/sja1105/sja1105_spi.c | 368 +++++++++++-
.../net/dsa/sja1105/sja1105_static_config.c | 483 ++++++++++++++++
.../net/dsa/sja1105/sja1105_static_config.h | 98 +++-
12 files changed, 2442 insertions(+), 168 deletions(-)
create mode 100644 drivers/net/dsa/sja1105/sja1105_mdio.c

--
2.25.1