From: Vladimir Oltean <olteanv@gmail.com>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, andrew@lunn.ch, vivien.didelot@gmail.com,
f.fainelli@gmail.com, antoine.tenart@bootlin.com,
alexandre.belloni@bootlin.com, UNGLinuxDriver@microchip.com,
alexandru.marginean@nxp.com, claudiu.manoil@nxp.com,
madalin.bucur@oss.nxp.com, radu-andrei.bulie@nxp.com,
fido_max@inbox.ru
Subject: [PATCH v4 net-next 00/11] New DSA driver for VSC9953 Seville switch
Date: Mon, 13 Jul 2020 19:57:00 +0300 [thread overview]
Message-ID: <20200713165711.2518150-1-olteanv@gmail.com> (raw)
From: Vladimir Oltean <vladimir.oltean@nxp.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.
Currently, both felix and seville are built under the same kernel config
option (NET_DSA_MSCC_FELIX). This has both some advantages (no need to
duplicate the Lynx PCS code from felix_vsc9959.c) and some disadvantages
(Seville needs to depend on PCI and on ENETC_MDIO). This will be further
refined as time progresses.
The driver has been completely reviewed. Previous submission was here,
it wasn't accepted due to a conflict with Mark Brown's tree, very late
in the release cycle:
https://patchwork.ozlabs.org/project/netdev/cover/20200531122640.1375715-1-olteanv@gmail.com/
So this is more of a repost, with the only changes being related to
rebasing on top of the cleanup I had to do in Ocelot.
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 (7):
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: move probing to felix_vsc9959.c
docs: devicetree: add bindings for Seville DSA switch inside Felix
driver
.../devicetree/bindings/net/dsa/ocelot.txt | 105 +-
drivers/net/dsa/ocelot/Kconfig | 12 +-
drivers/net/dsa/ocelot/Makefile | 3 +-
drivers/net/dsa/ocelot/felix.c | 232 +---
drivers/net/dsa/ocelot/felix.h | 28 +-
drivers/net/dsa/ocelot/felix_vsc9959.c | 303 ++++-
drivers/net/dsa/ocelot/seville_vsc9953.c | 1104 +++++++++++++++++
drivers/net/ethernet/mscc/ocelot.c | 73 +-
drivers/net/ethernet/mscc/ocelot.h | 9 +-
drivers/net/ethernet/mscc/ocelot_io.c | 18 +-
drivers/net/ethernet/mscc/ocelot_net.c | 5 +-
drivers/net/ethernet/mscc/ocelot_vsc7514.c | 82 +-
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 +-
17 files changed, 1767 insertions(+), 410 deletions(-)
create mode 100644 drivers/net/dsa/ocelot/seville_vsc9953.c
--
2.25.1
next reply other threads:[~2020-07-13 16:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-13 16:57 Vladimir Oltean [this message]
2020-07-13 16:57 ` [PATCH v4 net-next 01/11] net: mscc: ocelot: convert port registers to regmap Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 02/11] soc: mscc: ocelot: add MII registers description Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 03/11] net: mscc: ocelot: convert QSYS_SWITCH_PORT_MODE and SYS_PORT_MODE to regfields Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 04/11] net: dsa: felix: create a template for the DSA tags on xmit Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 05/11] net: mscc: ocelot: split writes to pause frame enable bit and to thresholds Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 06/11] net: mscc: ocelot: disable flow control on NPI interface Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 07/11] net: mscc: ocelot: convert SYS_PAUSE_CFG register access to regfield Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 08/11] net: mscc: ocelot: extend watermark encoding function Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 09/11] net: dsa: felix: move probing to felix_vsc9959.c Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 10/11] net: dsa: felix: introduce support for Seville VSC9953 switch Vladimir Oltean
2020-07-13 16:57 ` [PATCH v4 net-next 11/11] docs: devicetree: add bindings for Seville DSA switch inside Felix driver Vladimir Oltean
2020-07-14 0:40 ` [PATCH v4 net-next 00/11] New DSA driver for VSC9953 Seville switch David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200713165711.2518150-1-olteanv@gmail.com \
--to=olteanv@gmail.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandru.marginean@nxp.com \
--cc=andrew@lunn.ch \
--cc=antoine.tenart@bootlin.com \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=fido_max@inbox.ru \
--cc=madalin.bucur@oss.nxp.com \
--cc=netdev@vger.kernel.org \
--cc=radu-andrei.bulie@nxp.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).