[Linux-stm32] [PATCH net-next 10/12] net: stmmac: tc956x: add TC956x/QPS615 support
Alex Elder
elder at riscstar.com
Wed May 6 17:44:28 UTC 2026
On 5/5/26 9:30 PM, Xilin Wu wrote:
> On 5/1/2026 11:54 PM, Alex Elder wrote:
>> From: Daniel Thompson <daniel at riscstar.com>
>>
>> Toshiba TC956x is an Ethernet AVB/TSN bridge and is essentially a
>> small and highly-specialized SoC. TC956x includes an "eMAC" subsystem
>> that can be accessed, along with several other peripherals, via two
>> PCIe endpoint functions. There is a main driver for the endpoint that
>> decomposes things and creates auxiliary bus devices to model the SoC.
>>
>> The eMAC consists of a Designware XGMAC, XPCS and PMA. Each eMAC is
>> supported by an MSIGEN that bridges TC956x level interrupts to PCIe
>> MSIs.
>>
>> Add a driver for the eMAC/MSIGEN combination.
>>
>> Co-developed-by: Alex Elder <elder at riscstar.com>
>> Signed-off-by: Alex Elder <elder at riscstar.com>
>> Signed-off-by: Daniel Thompson <daniel at riscstar.com>
>> ---
>> drivers/net/ethernet/stmicro/stmmac/Kconfig | 13 +
>> drivers/net/ethernet/stmicro/stmmac/Makefile | 2 +
>> .../ethernet/stmicro/stmmac/dwmac-tc956x.c | 791 ++++++++++++++++++
>> include/soc/toshiba/tc956x-dwmac.h | 84 ++
>> 4 files changed, 890 insertions(+)
>> create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-tc956x.c
>> create mode 100644 include/soc/toshiba/tc956x-dwmac.h
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/
>> net/ethernet/stmicro/stmmac/Kconfig
>> index e3dd5adda5aca..66bcfaccbe21f 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
>> +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
>> @@ -404,6 +404,19 @@ config DWMAC_MOTORCOMM
>> This enables glue driver for Motorcomm DWMAC-based PCI Ethernet
>> controllers. Currently only YT6801 is supported.
>> +config DWMAC_TC956X
>> + tristate "Toshiba TC956X DWMAC support"
>> + depends on PCI
>> + depends on COMMON_CLK
>> + depends on TOSHIBA_TC956X_PCI
>> + default m if TOSHIBA_TC956X_PCI
>
> Hi Alex,
>
> I think GENERIC_IRQ_CHIP should be selected here.
Yes there are a number of things missing in the Kconfig definitions
and I'm working through them this week. And yes, since we use
irq_generic_chip_ops we must ensure CONFIG_GENERIC_IRQ_CHIP is
enabled here.
> Thank you for the driver.
Thank you for your feedback (this and others I see).
-Alex
More information about the Linux-stm32
mailing list