All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/15] net: dsa: add support for MT7988
@ 2023-03-30 15:19 ` Daniel Golle
  0 siblings, 0 replies; 78+ messages in thread
From: Daniel Golle @ 2023-03-30 15:19 UTC (permalink / raw)
  To: netdev, linux-mediatek, linux-arm-kernel, linux, linux-kernel,
	Arınç Ünal, Andrew Lunn, Florian Fainelli,
	Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Matthias Brugger, AngeloGioacchino Del Regno,
	Sean Wang, Landen Chao, DENG Qingfang, Philipp Zabel
  Cc: Sam Shih, Lorenzo Bianconi, John Crispin, Felix Fietkau

The MediaTek MT7988 SoC comes with a built-in switch very similar to
previous MT7530 and MT7531. However, the switch address space is mapped
into the SoCs memory space rather than being connected via MDIO.
Using MMIO simplifies register access and also removes the need for a bus
lock, and for that reason also makes interrupt handling more light-weight.

Note that this is different from previous SoCs like MT7621 and MT7623N
which also came with an integrated MT7530-like switch which yet had to be
accessed via MDIO.

Split-off the part of the driver registering an MDIO driver, then add
another module acting as MMIO/platform driver.

The whole series has been tested on various MediaTek boards:
 * MT7623A + MT7530 (BPi-R2)
 * MT7986A + MT7531 (BPi-R3)
 * MT7988A reference board

Changes since RFC v3:
 * WARN_ON_ONCE if register read fails
 * move probing of the reset GPIO and reset controller link out of
   common  probe function, as they are not actually common

Changes since RFC v2:
 * split into many small commits to ease review
 * introduce helper functions to reduce code duplication
 * use helpers for locking to make lock-skipping easier and less ugly
   to implement.
 * add dt-bindings for mediatek,mt7988-switch

Changes since initial RFC:
 * use regmap for register access and move register access to bus-
   specific driver
 * move initialization of MT7531 SGMII PCS to MDIO driver

Daniel Golle (15):
  net: dsa: mt7530: make some noise if register read fails
  net: dsa: mt7530: refactor SGMII PCS creation
  net: dsa: mt7530: use unlocked regmap accessors
  net: dsa: mt7530: use regmap to access switch register space
  net: dsa: mt7530: move SGMII PCS creation to mt7530_probe function
  net: dsa: mt7530: introduce mutex helpers
  net: dsa: mt7530: move p5_intf_modes() function to mt7530.c
  net: dsa: mt7530: introduce mt7530_probe_common helper function
  net: dsa: mt7530: introduce mt7530_remove_common helper function
  net: dsa: mt7530: split-off common parts from mt7531_setup
  net: dsa: mt7530: introduce separate MDIO driver
  net: dsa: mt7530: skip locking if MDIO bus isn't present
  net: dsa: mt7530: add support for 10G link modes for CPU port
  net: dsa: mt7530: introduce driver for MT7988 built-in switch
  dt-bindings: net: dsa: mediatek,mt7530: add mediatek,mt7988-switch

 .../bindings/net/dsa/mediatek,mt7530.yaml     |  26 +-
 MAINTAINERS                                   |   3 +
 drivers/net/dsa/Kconfig                       |  28 +-
 drivers/net/dsa/Makefile                      |   4 +-
 drivers/net/dsa/mt7530-mdio.c                 | 271 ++++++++++
 drivers/net/dsa/mt7530-mmio.c                 | 101 ++++
 drivers/net/dsa/mt7530.c                      | 511 ++++++++----------
 drivers/net/dsa/mt7530.h                      |  38 +-
 8 files changed, 668 insertions(+), 314 deletions(-)
 create mode 100644 drivers/net/dsa/mt7530-mdio.c
 create mode 100644 drivers/net/dsa/mt7530-mmio.c


base-commit: 4ddd6375c3ef6756d492ea5466408cace097121b
-- 
2.39.2


^ permalink raw reply	[flat|nested] 78+ messages in thread

end of thread, other threads:[~2023-04-03 18:25 UTC | newest]

Thread overview: 78+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-30 15:19 [PATCH net-next 00/15] net: dsa: add support for MT7988 Daniel Golle
2023-03-30 15:19 ` Daniel Golle
2023-03-30 15:19 ` [PATCH net-next 01/15] net: dsa: mt7530: make some noise if register read fails Daniel Golle
2023-03-30 15:19   ` Daniel Golle
2023-03-30 20:58   ` Andrew Lunn
2023-03-30 20:58     ` Andrew Lunn
2023-03-30 15:19 ` [PATCH net-next 02/15] net: dsa: mt7530: refactor SGMII PCS creation Daniel Golle
2023-03-30 15:19   ` Daniel Golle
2023-03-30 20:59   ` Andrew Lunn
2023-03-30 20:59     ` Andrew Lunn
2023-03-30 15:20 ` [PATCH net-next 03/15] net: dsa: mt7530: use unlocked regmap accessors Daniel Golle
2023-03-30 15:20   ` Daniel Golle
2023-03-30 21:01   ` Andrew Lunn
2023-03-30 21:01     ` Andrew Lunn
2023-03-30 15:20 ` [PATCH net-next 04/15] net: dsa: mt7530: use regmap to access switch register space Daniel Golle
2023-03-30 15:20   ` Daniel Golle
2023-03-30 21:02   ` Andrew Lunn
2023-03-30 21:02     ` Andrew Lunn
2023-03-31  2:28   ` Daniel Golle
2023-03-31  2:28     ` Daniel Golle
2023-03-30 15:21 ` [PATCH net-next 05/15] net: dsa: mt7530: move SGMII PCS creation to mt7530_probe function Daniel Golle
2023-03-30 15:21   ` Daniel Golle
2023-03-30 21:02   ` Andrew Lunn
2023-03-30 21:02     ` Andrew Lunn
2023-03-30 15:21 ` [PATCH net-next 06/15] net: dsa: mt7530: introduce mutex helpers Daniel Golle
2023-03-30 15:21   ` Daniel Golle
2023-03-30 15:21 ` [PATCH net-next 07/15] net: dsa: mt7530: move p5_intf_modes() function to mt7530.c Daniel Golle
2023-03-30 15:21   ` Daniel Golle
2023-03-30 15:22 ` [PATCH net-next 08/15] net: dsa: mt7530: introduce mt7530_probe_common helper function Daniel Golle
2023-03-30 15:22   ` Daniel Golle
2023-03-30 15:22 ` [PATCH net-next 09/15] net: dsa: mt7530: introduce mt7530_remove_common " Daniel Golle
2023-03-30 15:22   ` Daniel Golle
2023-03-30 15:22 ` [PATCH net-next 10/15] net: dsa: mt7530: split-off common parts from mt7531_setup Daniel Golle
2023-03-30 15:22   ` Daniel Golle
2023-03-30 15:22 ` [PATCH net-next 11/15] net: dsa: mt7530: introduce separate MDIO driver Daniel Golle
2023-03-30 15:22   ` Daniel Golle
2023-03-30 15:23 ` [PATCH net-next 12/15] net: dsa: mt7530: skip locking if MDIO bus isn't present Daniel Golle
2023-03-30 15:23   ` Daniel Golle
2023-03-30 15:23 ` [PATCH net-next 13/15] net: dsa: mt7530: add support for 10G link modes for CPU port Daniel Golle
2023-03-30 15:23   ` Daniel Golle
2023-04-01  8:56   ` Arınç ÜNAL
2023-04-01  8:56     ` Arınç ÜNAL
2023-04-01 13:05     ` Daniel Golle
2023-04-01 13:05       ` Daniel Golle
2023-03-30 15:23 ` [PATCH net-next 14/15] net: dsa: mt7530: introduce driver for MT7988 built-in switch Daniel Golle
2023-03-30 15:23   ` Daniel Golle
2023-03-30 21:03   ` Andrew Lunn
2023-03-30 21:03     ` Andrew Lunn
2023-03-31  5:50   ` Arınç ÜNAL
2023-03-31  5:50     ` Arınç ÜNAL
2023-03-31 10:16     ` Daniel Golle
2023-03-31 10:16       ` Daniel Golle
2023-03-31 12:06       ` Arınç ÜNAL
2023-03-31 12:06         ` Arınç ÜNAL
2023-03-31 12:45         ` Andrew Lunn
2023-03-31 12:45           ` Andrew Lunn
2023-03-31 13:18         ` Arınç ÜNAL
2023-03-31 13:18           ` Arınç ÜNAL
2023-03-31 13:19           ` Arınç ÜNAL
2023-03-31 13:19             ` Arınç ÜNAL
2023-03-31 14:10           ` Daniel Golle
2023-03-31 14:10             ` Daniel Golle
2023-03-31 14:11             ` Arınç ÜNAL
2023-03-31 14:11               ` Arınç ÜNAL
2023-03-31 20:07           ` Arınç ÜNAL
2023-03-31 20:07             ` Arınç ÜNAL
2023-03-31 20:33             ` Daniel Golle
2023-03-31 20:33               ` Daniel Golle
2023-04-01  8:05         ` Luiz Angelo Daros de Luca
2023-04-01  8:05           ` Luiz Angelo Daros de Luca
2023-03-30 15:23 ` [PATCH 15/15] dt-bindings: net: dsa: mediatek,mt7530: add mediatek,mt7988-switch Daniel Golle
2023-03-30 15:23   ` Daniel Golle
2023-03-31  5:27   ` Arınç ÜNAL
2023-03-31  5:27     ` Arınç ÜNAL
2023-04-03 18:23     ` Daniel Golle
2023-04-03 18:23       ` Daniel Golle
2023-03-31  5:27 ` [PATCH net-next 00/15] net: dsa: add support for MT7988 Arınç ÜNAL
2023-03-31  5:27   ` Arınç ÜNAL

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.