Re: [PATCH net-next v2 13/14] net: stmmac: tc956x: add TC956x/QPS615 support
flat view
From: Rob Herring <robh@kernel.org>
Date: 2026-06-05 14:47:59
Also in:
bpf, linux-arm-kernel, linux-arm-msm, linux-devicetree, linux-gpio, lkml
On Thu, Jun 04, 2026 at 08:00:20PM -0500, Alex Elder wrote:
From: Daniel Thompson <redacted> 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 <redacted> Signed-off-by: Alex Elder <redacted> Signed-off-by: Daniel Thompson <redacted>
The order is wrong here unless you worked on it and then Daniel took over. Tags should be chronological order.
quoted hunk ↗ jump to hunk
--- MAINTAINERS | 2 + drivers/net/ethernet/stmicro/stmmac/Kconfig | 14 + drivers/net/ethernet/stmicro/stmmac/Makefile | 2 + .../ethernet/stmicro/stmmac/dwmac-tc956x.c | 818 ++++++++++++++++++ 4 files changed, 836 insertions(+) create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-tc956x.cdiff --git a/MAINTAINERS b/MAINTAINERS index 0439607d1155f..418537cbefbbb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS@@ -27059,6 +27059,8 @@ S: Maintained F: Documentation/devicetree/bindings/net/toshiba,tc956x-dwmac.yaml F: drivers/gpio/gpio-tc956x.c F: drivers/misc/tc956x_pci.c +F: drivers/net/ethernet/stmicro/stmmac/dwmac-tc956x.c +F: include/soc/toshiba/tc956x-dwmac.h TOSHIBA WMI HOTKEYS DRIVER M: Azael Avalos <coproscefalo@gmail.com>diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig index e3dd5adda5aca..8d247e033e356 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig@@ -404,6 +404,20 @@ 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 TOSHIBA_TC956X_PCI + select GENERIC_IRQ_CHIP + help + This selects the Toshiba TC956X (and Qualcomm QPS615) support in the + stmmac driver. + + This provides support for the ethernet controllers found on these + devices. + config STMMAC_PCI tristate "STMMAC PCI bus support" depends on PCIdiff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile index a1cea2f57252e..e8e7f95dbe3e8 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Makefile +++ b/drivers/net/ethernet/stmicro/stmmac/Makefile@@ -51,4 +51,6 @@ obj-$(CONFIG_STMMAC_PCI) += stmmac-pci.o obj-$(CONFIG_DWMAC_INTEL) += dwmac-intel.o obj-$(CONFIG_DWMAC_LOONGSON) += dwmac-loongson.o obj-$(CONFIG_DWMAC_MOTORCOMM) += dwmac-motorcomm.o +obj-$(CONFIG_TC956X_PCI) += tc956x-pci.o +obj-$(CONFIG_DWMAC_TC956X) += dwmac-tc956x.o stmmac-pci-objs:= stmmac_pci.odiff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-tc956x.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-tc956x.c new file mode 100644 index 0000000000000..c77585e4a50e6 --- /dev/null +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-tc956x.c@@ -0,0 +1,818 @@ +// SPDX-License-Identifier: GPL-2.0 + +/* + * Copyright (C) 2026 by RISCstar Solutions Corporation. All rights reserved. + * + * Derived from code having the following copyrights: + * Copyright (C) 2011-2012 Vayavya Labs Pvt Ltd + * Copyright (C) 2025 Toshiba Electronic Devices & Storage Corporation + */ + +#include <linux/auxiliary_bus.h>
Based on the block diagram, these are PCI devices. Auxiliary bus is the wrong thing to use here. Rob