xref: /linux/drivers/net/ethernet/ti/Kconfig (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2b544dbacSJeff Kirsher#
3b544dbacSJeff Kirsher# TI device configuration
4b544dbacSJeff Kirsher#
5b544dbacSJeff Kirsher
6b544dbacSJeff Kirsherconfig NET_VENDOR_TI
7b544dbacSJeff Kirsher	bool "Texas Instruments (TI) devices"
888f07484SJeff Kirsher	default y
998bdeae9SWolfram Sang	depends on PCI || EISA || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
10a7f7f624SMasahiro Yamada	help
11138b15edSPaul Gortmaker	  If you have a network (Ethernet) card belonging to this class, say Y.
12b544dbacSJeff Kirsher
13b544dbacSJeff Kirsher	  Note that the answer to this question doesn't directly affect the
14b544dbacSJeff Kirsher	  kernel: saying N will just cause the configurator to skip all
15b544dbacSJeff Kirsher	  the questions about TI devices. If you say Y, you will be asked for
16b544dbacSJeff Kirsher	  your specific card in the following questions.
17b544dbacSJeff Kirsher
18b544dbacSJeff Kirsherif NET_VENDOR_TI
19b544dbacSJeff Kirsher
20b544dbacSJeff Kirsherconfig TI_DAVINCI_EMAC
21b544dbacSJeff Kirsher	tristate "TI DaVinci EMAC Support"
222652113fSFlorian Fainelli	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
23b544dbacSJeff Kirsher	select TI_DAVINCI_MDIO
24b544dbacSJeff Kirsher	select PHYLIB
25b2ef81dcSMao Wenan	select GENERIC_ALLOCATOR
26a7f7f624SMasahiro Yamada	help
27b544dbacSJeff Kirsher	  This driver supports TI's DaVinci Ethernet .
28b544dbacSJeff Kirsher
29b544dbacSJeff Kirsher	  To compile this driver as a module, choose M here: the module
30b544dbacSJeff Kirsher	  will be called davinci_emac_driver.  This is recommended.
31b544dbacSJeff Kirsher
32b544dbacSJeff Kirsherconfig TI_DAVINCI_MDIO
33b544dbacSJeff Kirsher	tristate "TI DaVinci MDIO Support"
3493a76530SGrygorii Strashko	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
35b544dbacSJeff Kirsher	select PHYLIB
3635bbe652SRandy Dunlap	select MDIO_BITBANG
37a7f7f624SMasahiro Yamada	help
38b544dbacSJeff Kirsher	  This driver supports TI's DaVinci MDIO module.
39b544dbacSJeff Kirsher
40b544dbacSJeff Kirsher	  To compile this driver as a module, choose M here: the module
41b544dbacSJeff Kirsher	  will be called davinci_mdio.  This is recommended.
42b544dbacSJeff Kirsher
435892cd13SMugunthan V Nconfig TI_CPSW_PHY_SEL
44dba235faSGrygorii Strashko	bool "TI CPSW Phy mode Selection (DEPRECATED)"
45dba235faSGrygorii Strashko	default n
46a7f7f624SMasahiro Yamada	help
475892cd13SMugunthan V N	  This driver supports configuring of the phy mode connected to
48dba235faSGrygorii Strashko	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
495892cd13SMugunthan V N
50df828598SMugunthan V Nconfig TI_CPSW
51df828598SMugunthan V N	tristate "TI CPSW Switch Support"
522652113fSFlorian Fainelli	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
5392db978fSClay McClure	depends on TI_CPTS || !TI_CPTS
54df828598SMugunthan V N	select TI_DAVINCI_MDIO
550ba517b1SMarkus Pargmann	select MFD_SYSCON
569ed4050cSIvan Khoronzhuk	select PAGE_POOL
570ba517b1SMarkus Pargmann	select REGMAP
58738a2692SGrygorii Strashko	imply PHY_TI_GMII_SEL
59a7f7f624SMasahiro Yamada	help
60df828598SMugunthan V N	  This driver supports TI's CPSW Ethernet Switch.
61df828598SMugunthan V N
62df828598SMugunthan V N	  To compile this driver as a module, choose M here: the module
63df828598SMugunthan V N	  will be called cpsw.
64df828598SMugunthan V N
65ed3525edSIlias Apalodimasconfig TI_CPSW_SWITCHDEV
66ed3525edSIlias Apalodimas	tristate "TI CPSW Switch Support with switchdev"
67ed3525edSIlias Apalodimas	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
68aacf6578SGrygorii Strashko	depends on NET_SWITCHDEV
6992db978fSClay McClure	depends on TI_CPTS || !TI_CPTS
7099e9fe22SArnd Bergmann	select PAGE_POOL
71ed3525edSIlias Apalodimas	select TI_DAVINCI_MDIO
72ed3525edSIlias Apalodimas	select MFD_SYSCON
73ed3525edSIlias Apalodimas	select REGMAP
74ed3525edSIlias Apalodimas	select NET_DEVLINK
75ed3525edSIlias Apalodimas	imply PHY_TI_GMII_SEL
76ed3525edSIlias Apalodimas	help
77ed3525edSIlias Apalodimas	  This driver supports TI's CPSW Ethernet Switch.
78ed3525edSIlias Apalodimas
79ed3525edSIlias Apalodimas	  To compile this driver as a module, choose M here: the module
80ed3525edSIlias Apalodimas	  will be called cpsw_new.
81ed3525edSIlias Apalodimas
8287c0e764SRichard Cochranconfig TI_CPTS
8392db978fSClay McClure	tristate "TI Common Platform Time Sync (CPTS) Support"
8492db978fSClay McClure	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
85a41efedfSGrygorii Strashko	depends on COMMON_CLK
8692db978fSClay McClure	depends on PTP_1588_CLOCK
87a7f7f624SMasahiro Yamada	help
8887c0e764SRichard Cochran	  This driver supports the Common Platform Time Sync unit of
896246168bSWingMan Kwok	  the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
906246168bSWingMan Kwok	  The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
916246168bSWingMan Kwok	  driver offers a PTP Hardware Clock.
9287c0e764SRichard Cochran
93a602ee31SMD Danish Anwarconfig TI_K3_CPPI_DESC_POOL
94a602ee31SMD Danish Anwar	tristate
95a602ee31SMD Danish Anwar
9693a76530SGrygorii Strashkoconfig TI_K3_AM65_CPSW_NUSS
9793a76530SGrygorii Strashko	tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
9893a76530SGrygorii Strashko	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
9958356eb3SVignesh Raghavendra	select NET_DEVLINK
10093a76530SGrygorii Strashko	select TI_DAVINCI_MDIO
101bfa323c6SYueHaibing	select PHYLINK
102a602ee31SMD Danish Anwar	select TI_K3_CPPI_DESC_POOL
10393a76530SGrygorii Strashko	imply PHY_TI_GMII_SEL
10401241aa0SGrygorii Strashko	depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
10593a76530SGrygorii Strashko	help
10693a76530SGrygorii Strashko	  This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
10793a76530SGrygorii Strashko	  The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
10893a76530SGrygorii Strashko	  Ethernet packet communication for the device: One Ethernet port
10993a76530SGrygorii Strashko	  (port 1) with selectable RGMII and RMII interfaces and an internal
11093a76530SGrygorii Strashko	  Communications Port Programming Interface (CPPI) port (port 0).
11193a76530SGrygorii Strashko
11293a76530SGrygorii Strashko	  To compile this driver as a module, choose M here: the module
11393a76530SGrygorii Strashko	  will be called ti-am65-cpsw-nuss.
11493a76530SGrygorii Strashko
11558356eb3SVignesh Raghavendraconfig TI_K3_AM65_CPSW_SWITCHDEV
11658356eb3SVignesh Raghavendra	bool "TI K3 AM654x/J721E CPSW Switch mode support"
11758356eb3SVignesh Raghavendra	depends on TI_K3_AM65_CPSW_NUSS
11858356eb3SVignesh Raghavendra	depends on NET_SWITCHDEV
11958356eb3SVignesh Raghavendra	help
12058356eb3SVignesh Raghavendra	 This enables switchdev support for TI K3 CPSWxG Ethernet
12158356eb3SVignesh Raghavendra	 Switch. Enable this driver to support hardware switch support for AM65
12258356eb3SVignesh Raghavendra	 CPSW NUSS driver.
12358356eb3SVignesh Raghavendra
124f6bd5952SGrygorii Strashkoconfig TI_K3_AM65_CPTS
125f6bd5952SGrygorii Strashko	tristate "TI K3 AM65x CPTS"
12601241aa0SGrygorii Strashko	depends on ARCH_K3 && OF
127f6bd5952SGrygorii Strashko	depends on PTP_1588_CLOCK
128f6bd5952SGrygorii Strashko	help
129f6bd5952SGrygorii Strashko	  Say y here to support the TI K3 AM65x CPTS with 1588 features such as
130f6bd5952SGrygorii Strashko	  PTP hardware clock for each CPTS device and network packets
131f6bd5952SGrygorii Strashko	  timestamping where applicable.
132f6bd5952SGrygorii Strashko	  Depending on integration CPTS blocks enable compliance with
133f6bd5952SGrygorii Strashko	  the IEEE 1588-2008 standard for a precision clock synchronization
134f6bd5952SGrygorii Strashko	  protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
135f6bd5952SGrygorii Strashko	  and PCIe Subsystem Precision Time Measurement (PTM).
136f6bd5952SGrygorii Strashko
137d0f9535bSRoger Quadrosconfig TI_AM65_CPSW_QOS
138d0f9535bSRoger Quadros	bool "Enable QoS offload features in AM65 CPSW"
1398127224cSIvan Khoronzhuk	depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
1408127224cSIvan Khoronzhuk	help
141d0f9535bSRoger Quadros	  This option enables QoS offload features in AM65 CPSW like
14249a2eb90SRoger Quadros	  Time Aware Shaper (TAS) / Enhanced Scheduled Traffic (EST),
14349a2eb90SRoger Quadros	  MQPRIO qdisc offload and Frame-Preemption MAC Merge / Interspersing
14449a2eb90SRoger Quadros	  Express Traffic (IET).
145d0f9535bSRoger Quadros	  The EST scheduler runs on CPTS and the TAS/EST schedule is
146d0f9535bSRoger Quadros	  updated in the Fetch RAM memory of the CPSW.
1478127224cSIvan Khoronzhuk
14884640e27SKaricheri, Muralidharanconfig TI_KEYSTONE_NETCP
14958c11b5fSKaricheri, Muralidharan	tristate "TI Keystone NETCP Core Support"
150f49ae149SKaricheri, Muralidharan	select TI_DAVINCI_MDIO
15184640e27SKaricheri, Muralidharan	depends on OF
15284640e27SKaricheri, Muralidharan	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
15392db978fSClay McClure	depends on TI_CPTS || !TI_CPTS
154a7f7f624SMasahiro Yamada	help
15558c11b5fSKaricheri, Muralidharan	  This driver supports TI's Keystone NETCP Core.
15684640e27SKaricheri, Muralidharan
15784640e27SKaricheri, Muralidharan	  To compile this driver as a module, choose M here: the module
15884640e27SKaricheri, Muralidharan	  will be called keystone_netcp.
15984640e27SKaricheri, Muralidharan
16058c11b5fSKaricheri, Muralidharanconfig TI_KEYSTONE_NETCP_ETHSS
16158c11b5fSKaricheri, Muralidharan	depends on TI_KEYSTONE_NETCP
16258c11b5fSKaricheri, Muralidharan	tristate "TI Keystone NETCP Ethernet subsystem Support"
163a7f7f624SMasahiro Yamada	help
16458c11b5fSKaricheri, Muralidharan
16558c11b5fSKaricheri, Muralidharan	  To compile this driver as a module, choose M here: the module
16658c11b5fSKaricheri, Muralidharan	  will be called keystone_netcp_ethss.
16758c11b5fSKaricheri, Muralidharan
168b544dbacSJeff Kirsherconfig TLAN
169b544dbacSJeff Kirsher	tristate "TI ThunderLAN support"
170a29689e6SNiklas Schnelle	depends on (PCI || EISA) && HAS_IOPORT
171a7f7f624SMasahiro Yamada	help
172b544dbacSJeff Kirsher	  If you have a PCI Ethernet network card based on the ThunderLAN chip
173138b15edSPaul Gortmaker	  which is supported by this driver, say Y here.
174b544dbacSJeff Kirsher
175b544dbacSJeff Kirsher	  Devices currently supported by this driver are Compaq Netelligent,
176b544dbacSJeff Kirsher	  Compaq NetFlex and Olicom cards.  Please read the file
177132db935SJakub Kicinski	  <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
178b255e500SJakub Kicinski	  for more details.
179b544dbacSJeff Kirsher
180b544dbacSJeff Kirsher	  To compile this driver as a module, choose M here. The module
181b544dbacSJeff Kirsher	  will be called tlan.
182b544dbacSJeff Kirsher
183b544dbacSJeff Kirsher	  Please email feedback to <torben.mathiasen@compaq.com>.
184b544dbacSJeff Kirsher
185128d5874SRoger Quadrosconfig TI_ICSSG_PRUETH
186128d5874SRoger Quadros	tristate "TI Gigabit PRU Ethernet driver"
187128d5874SRoger Quadros	select PHYLIB
188186734c1SRoger Quadros	select TI_ICSS_IEP
189a602ee31SMD Danish Anwar	select TI_K3_CPPI_DESC_POOL
190128d5874SRoger Quadros	depends on PRU_REMOTEPROC
191*d6947113SGuillaume La Roque	depends on NET_SWITCHDEV
192128d5874SRoger Quadros	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
193e083dd03SRandy Dunlap	depends on PTP_1588_CLOCK_OPTIONAL
194128d5874SRoger Quadros	help
195128d5874SRoger Quadros	  Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
196128d5874SRoger Quadros	  This subsystem is available starting with the AM65 platform.
197128d5874SRoger Quadros
198128d5874SRoger Quadros	  This driver requires firmware binaries which will run on the PRUs
199128d5874SRoger Quadros	  to support the Ethernet operation. Currently, it supports Ethernet
200128d5874SRoger Quadros	  with 1G and 100M link speed.
201128d5874SRoger Quadros
202e654b85aSDiogo Ivoconfig TI_ICSSG_PRUETH_SR1
203e654b85aSDiogo Ivo	tristate "TI Gigabit PRU SR1.0 Ethernet driver"
204e654b85aSDiogo Ivo	select PHYLIB
205e654b85aSDiogo Ivo	select TI_ICSS_IEP
206e654b85aSDiogo Ivo	select TI_K3_CPPI_DESC_POOL
207e654b85aSDiogo Ivo	depends on PRU_REMOTEPROC
208abd5576bSMD Danish Anwar	depends on NET_SWITCHDEV
209e654b85aSDiogo Ivo	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
210e654b85aSDiogo Ivo	help
211e654b85aSDiogo Ivo	  Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
212e654b85aSDiogo Ivo	  This subsystem is available on the AM65 SR1.0 platform.
213e654b85aSDiogo Ivo
214e654b85aSDiogo Ivo	  This driver requires firmware binaries which will run on the PRUs
215e654b85aSDiogo Ivo	  to support the Ethernet operation. Currently, it supports Ethernet
216e654b85aSDiogo Ivo	  with 1G, 100M and 10M link speed.
217e654b85aSDiogo Ivo
218c1e0230eSRoger Quadrosconfig TI_ICSS_IEP
219c1e0230eSRoger Quadros	tristate "TI PRU ICSS IEP driver"
220a8f367f7SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
221c1e0230eSRoger Quadros	depends on TI_PRUSS
222c1e0230eSRoger Quadros	default TI_PRUSS
223c1e0230eSRoger Quadros	help
224c1e0230eSRoger Quadros	  This driver enables support for the PRU-ICSS Industrial Ethernet
225c1e0230eSRoger Quadros	  Peripheral within a PRU-ICSS subsystem present on various TI SoCs.
226c1e0230eSRoger Quadros
227c1e0230eSRoger Quadros	  To compile this driver as a module, choose M here. The module
228c1e0230eSRoger Quadros	  will be called icss_iep.
229c1e0230eSRoger Quadros
230b544dbacSJeff Kirsherendif # NET_VENDOR_TI
231