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:40:16 EST
On 8/11/26 12:35 PM, Paolo Abeni wrote:
> 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
Whoops, sorry I missed part of netdev traffic. Please ignore this one.
/P