Re: [PATCH net-next v11 0/9] net: dsa: add DSA support for the LAN9645x switch chip family
From: Paolo Abeni
Date: Tue Aug 11 2026 - 06:36:01 EST
On 8/5/26 4:34 PM, Jens Emil Schulz Østergaard wrote:
> This series provides the Microchip LAN9645X Switch driver.
>
> The LAN9645x is a family of chips with ethernet switch functionality and
> multiple peripheral functions. The switch delivers up to 9 ethernet
> ports and 12 Gbps switching bandwidth.
>
> The switch chip has 5 integrated copper PHYs, support for 2x RGMII
> interfaces, 2x SGMII and one QSGMII interface.
>
> The switch chip is from the same design architecture family as ocelot
> and lan966x, and the driver reflects this similarity. However, LAN9645x
> does not have an internal CPU in any package, and must be driven
> externally. For register IO it supports interfaces such as SPI, I2C and
> MDIO.
>
> The chip supports a variety of network features such as
>
> * Mactable for MDB/FDB functionality
> * Bridge forwarding offload
> * VLAN-aware bridging
> * IGMP/MLD snooping
> * Link aggregation
> * PTP timestamping
> * FRER (802.1CB)
> * Media Redundancy Protocol
> * Parallel Redundancy and High-Availability Seamless Redundancy
> (HSR/PRP) in DANH/DANP mode
> * Per stream filtering and policing
> * Shapers such as Credit Based Shaping and Time Aware Shaing
> * Frame preemption
> * A TCAM (VCAP) for line-rate frame processing
>
> The LAN9645x family consists of the following SKUs:
>
> LAN96455F
> LAN96457F
> LAN96459F
> LAN96455S
> LAN96457S
> LAN96459S
>
> The difference between the SKUs is the number of supported ports (5, 7
> or 9) and features supported. The F subfamily supports HSR/PRP and TSN,
> while the S subfamily does not.
>
> The intended way to bind this driver is using a parent MFD driver,
> responsible for the register IO protocol, and distributing regmaps to
> child devices. The goal is to use the same approach as the MFD driver in
> drivers/mfd/ocelot-spi.c.
>
> This driver expects to request named regmaps from a parent device. This
> approach is similar to the DSA driver
>
> drivers/net/dsa/ocelot/ocelot_ext.c
>
> which supports being driven by an external CPU via SPI with parent
> device drivers/mfd/ocelot-spi.c.
>
> The MFD driver will come in a later series, because there are
> requirements on the number of child devices before a driver qualifies as
> a MFD device.
>
> Development is done using the LAN966x as a host CPU, running the lan966x
> swichdev driver, using the EVB-LAN9668 EDS2 board.
>
> The datasheet is available here:
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/DataSheets/LAN9645xF-Data-Sheet-DS00006065.pdf
>
> This series will deliver the following features:
>
> * Standalone ports
> * Bridge forwarding and FDB offloading
> * VLAN-aware bridge
> * Stats integration
>
> More support will be added at a later stage. Here is a tentative plan of
> future patches for this DSA driver:
>
> * Add LAG support.
> * Add MDB support.
> * Add TC matchall mirror support.
> * Add TC matchall police support.
> * Add DCB/qos support.
> * Add simple TC support: mqprio, cbs, tbf, ebf.
> * Add TC flower filter support.
> * Add HSR/PRP offloading support.
> * Add PTP support.
> * Add TC taprio support.
>
> For completeness I include tentative plan of planned patches for
> LAN9645x peripherals:
>
> * Extend pinctrl-ocelot for LAN9645x:
> https://lore.kernel.org/linux-gpio/20260119-pinctrl_ocelot_extend_support_for_lan9645x-v1-0-1228155ed0ee@xxxxxxxxxxxxx/
> * Add driver for internal PHY:
> https://lore.kernel.org/netdev/20260123-phy_micrel_add_support_for_lan9645x_internal_phy-v1-1-8484b1a5a7fd@xxxxxxxxxxxxx/
> * MFD driver for managing register IO protocol and child device
> initialization.
> * Extend pinctrl-microchip-sgpio for LAN9645x support.
> * Extend i2c_designware for LAN9645x support.
> * Add driver for outbound interrupt controller.
> * Add serdes driver for lan9645x.
>
> Signed-off-by: Jens Emil Schulz Østergaard <jensemil.schulzostergaard@xxxxxxxxxxxxx>
I forwarded the feedback from sashiko/nipa, but sashiko gemini has more
comments:
https://sashiko.dev/#/patchset/20260805-dsa_lan9645x_switch_driver_base-v11-0-007ebc983a0a%40microchip.com
please have a look and also to net-next commit c82ff94592fb
/P