Commit e654b85a authored by Diogo Ivo's avatar Diogo Ivo Committed by Paolo Abeni
Browse files

net: ti: icssg-prueth: Add ICSSG Ethernet driver for AM65x SR1.0 platforms

Add the PRUeth driver for the ICSSG subsystem found in AM65x SR1.0 devices.
The main differences that set SR1.0 and SR2.0 apart are the missing TXPRU
core in SR1.0, two extra DMA channels for management purposes and different
firmware that needs to be configured accordingly.

Based on the work of Roger Quadros, Vignesh Raghavendra and
Grygorii Strashko in TI's 5.10 SDK [1].

[1]: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/?h=ti-linux-5.10.y



Co-developed-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: default avatarDiogo Ivo <diogo.ivo@siemens.com>
Reviewed-by: default avatarMD Danish Anwar <danishanwar@ti.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent ce95cb4c
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -198,6 +198,21 @@ config TI_ICSSG_PRUETH
	  to support the Ethernet operation. Currently, it supports Ethernet
	  with 1G and 100M link speed.

config TI_ICSSG_PRUETH_SR1
	tristate "TI Gigabit PRU SR1.0 Ethernet driver"
	select PHYLIB
	select TI_ICSS_IEP
	select TI_K3_CPPI_DESC_POOL
	depends on PRU_REMOTEPROC
	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
	help
	  Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
	  This subsystem is available on the AM65 SR1.0 platform.

	  This driver requires firmware binaries which will run on the PRUs
	  to support the Ethernet operation. Currently, it supports Ethernet
	  with 1G, 100M and 10M link speed.

config TI_ICSS_IEP
	tristate "TI PRU ICSS IEP driver"
	depends on PTP_1588_CLOCK_OPTIONAL
+8 −0
Original line number Diff line number Diff line
@@ -40,4 +40,12 @@ icssg-prueth-y := icssg/icssg_prueth.o \
		  icssg/icssg_mii_cfg.o \
		  icssg/icssg_stats.o \
		  icssg/icssg_ethtool.o
obj-$(CONFIG_TI_ICSSG_PRUETH_SR1) += icssg-prueth-sr1.o
icssg-prueth-sr1-y := icssg/icssg_prueth_sr1.o \
		      icssg/icssg_common.o \
		      icssg/icssg_classifier.o \
		      icssg/icssg_config.o \
		      icssg/icssg_mii_cfg.o \
		      icssg/icssg_stats.o \
		      icssg/icssg_ethtool.o
obj-$(CONFIG_TI_ICSS_IEP) += icssg/icss_iep.o
+1181 −0

File added.

Preview size limit exceeded, changes collapsed.