[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200530115142.707415-1-olteanv@gmail.com>
Date: Sat, 30 May 2020 14:51:29 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, andrew@...n.ch, vivien.didelot@...il.com,
f.fainelli@...il.com, antoine.tenart@...tlin.com,
alexandre.belloni@...tlin.com, UNGLinuxDriver@...rochip.com,
alexandru.marginean@....com, claudiu.manoil@....com,
madalin.bucur@....nxp.com, radu-andrei.bulie@....com,
fido_max@...ox.ru, broonie@...nel.org
Subject: [PATCH v2 net-next 00/13] New DSA driver for VSC9953 Seville switch
From: Vladimir Oltean <vladimir.oltean@....com>
Looking at the Felix and Ocelot drivers, Maxim asked if it would be
possible to use them as a base for a new driver for the Seville switch
inside NXP T1040. Turns out, it is! The result is that the mscc_felix
driver was extended to probe on Seville.
The biggest challenge seems to be getting register read/write API
generic enough to cover such wild bitfield variations between hardware
generations.
There is a trivial dependency patch on the regmap core which is in Mark
Brown's for-next tree:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git/commit/?h=for-next&id=8baebfc2aca26e3fa67ab28343671b82be42b22c
I didn't know what to do with it, so I just added it here as well, as
01/13, so that net-next builds wouldn't break.
Maxim Kochetkov (4):
soc/mscc: ocelot: add MII registers description
net: mscc: ocelot: convert SYS_PAUSE_CFG register access to regfield
net: mscc: ocelot: extend watermark encoding function
net: dsa: felix: introduce support for Seville VSC9953 switch
Vladimir Oltean (9):
regmap: add helper for per-port regfield initialization
net: dsa: felix: set proper link speed in felix_phylink_mac_config
net: mscc: ocelot: convert port registers to regmap
net: mscc: ocelot: convert QSYS_SWITCH_PORT_MODE and SYS_PORT_MODE to
regfields
net: dsa: felix: create a template for the DSA tags on xmit
net: mscc: ocelot: split writes to pause frame enable bit and to
thresholds
net: mscc: ocelot: disable flow control on NPI interface
net: dsa: felix: support half-duplex link modes
net: dsa: felix: move probing to felix_vsc9959.c
.../devicetree/bindings/net/dsa/ocelot.txt | 106 +-
drivers/net/dsa/ocelot/Kconfig | 12 +-
drivers/net/dsa/ocelot/Makefile | 3 +-
drivers/net/dsa/ocelot/felix.c | 269 +---
drivers/net/dsa/ocelot/felix.h | 22 +-
drivers/net/dsa/ocelot/felix_vsc9959.c | 313 ++++-
drivers/net/dsa/ocelot/seville_vsc9953.c | 1111 +++++++++++++++++
drivers/net/ethernet/mscc/ocelot.c | 86 +-
drivers/net/ethernet/mscc/ocelot.h | 9 +-
drivers/net/ethernet/mscc/ocelot_board.c | 21 +-
drivers/net/ethernet/mscc/ocelot_io.c | 18 +-
drivers/net/ethernet/mscc/ocelot_regs.c | 61 +-
include/linux/regmap.h | 8 +
include/soc/mscc/ocelot.h | 68 +-
include/soc/mscc/ocelot_dev.h | 78 --
include/soc/mscc/ocelot_qsys.h | 13 -
include/soc/mscc/ocelot_sys.h | 23 -
net/dsa/tag_ocelot.c | 21 +-
18 files changed, 1811 insertions(+), 431 deletions(-)
create mode 100644 drivers/net/dsa/ocelot/seville_vsc9953.c
--
2.25.1
Powered by blists - more mailing lists