xref: /openbmc/linux/drivers/net/ethernet/ti/Kconfig (revision 01241aa000ab0a685062a448b0d7d97f470f446f)
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
993a76530SGrygorii Strashko	depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
10b544dbacSJeff Kirsher	---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
26b544dbacSJeff Kirsher	---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
36b544dbacSJeff Kirsher	---help---
37b544dbacSJeff Kirsher	  This driver supports TI's DaVinci MDIO module.
38b544dbacSJeff Kirsher
39b544dbacSJeff Kirsher	  To compile this driver as a module, choose M here: the module
40b544dbacSJeff Kirsher	  will be called davinci_mdio.  This is recommended.
41b544dbacSJeff Kirsher
425892cd13SMugunthan V Nconfig TI_CPSW_PHY_SEL
43dba235faSGrygorii Strashko	bool "TI CPSW Phy mode Selection (DEPRECATED)"
44dba235faSGrygorii Strashko	default n
455892cd13SMugunthan V N	---help---
465892cd13SMugunthan V N	  This driver supports configuring of the phy mode connected to
47dba235faSGrygorii Strashko	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
485892cd13SMugunthan V N
49df828598SMugunthan V Nconfig TI_CPSW
50df828598SMugunthan V N	tristate "TI CPSW Switch Support"
512652113fSFlorian Fainelli	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
52df828598SMugunthan V N	select TI_DAVINCI_MDIO
530ba517b1SMarkus Pargmann	select MFD_SYSCON
549ed4050cSIvan Khoronzhuk	select PAGE_POOL
550ba517b1SMarkus Pargmann	select REGMAP
56738a2692SGrygorii Strashko	imply PHY_TI_GMII_SEL
57df828598SMugunthan V N	---help---
58df828598SMugunthan V N	  This driver supports TI's CPSW Ethernet Switch.
59df828598SMugunthan V N
60df828598SMugunthan V N	  To compile this driver as a module, choose M here: the module
61df828598SMugunthan V N	  will be called cpsw.
62df828598SMugunthan V N
63ed3525edSIlias Apalodimasconfig TI_CPSW_SWITCHDEV
64ed3525edSIlias Apalodimas	tristate "TI CPSW Switch Support with switchdev"
65ed3525edSIlias Apalodimas	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
66aacf6578SGrygorii Strashko	depends on NET_SWITCHDEV
6799e9fe22SArnd Bergmann	select PAGE_POOL
68ed3525edSIlias Apalodimas	select TI_DAVINCI_MDIO
69ed3525edSIlias Apalodimas	select MFD_SYSCON
70ed3525edSIlias Apalodimas	select REGMAP
71ed3525edSIlias Apalodimas	select NET_DEVLINK
72ed3525edSIlias Apalodimas	imply PHY_TI_GMII_SEL
73ed3525edSIlias Apalodimas	help
74ed3525edSIlias Apalodimas	  This driver supports TI's CPSW Ethernet Switch.
75ed3525edSIlias Apalodimas
76ed3525edSIlias Apalodimas	  To compile this driver as a module, choose M here: the module
77ed3525edSIlias Apalodimas	  will be called cpsw_new.
78ed3525edSIlias Apalodimas
7987c0e764SRichard Cochranconfig TI_CPTS
80be9ca0d3SArnd Bergmann	bool "TI Common Platform Time Sync (CPTS) Support"
81ed3525edSIlias Apalodimas	depends on TI_CPSW || TI_KEYSTONE_NETCP || TI_CPSW_SWITCHDEV || COMPILE_TEST
82a41efedfSGrygorii Strashko	depends on COMMON_CLK
83504926dfSArnd Bergmann	depends on POSIX_TIMERS
8487c0e764SRichard Cochran	---help---
8587c0e764SRichard Cochran	  This driver supports the Common Platform Time Sync unit of
866246168bSWingMan Kwok	  the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
876246168bSWingMan Kwok	  The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
886246168bSWingMan Kwok	  driver offers a PTP Hardware Clock.
8987c0e764SRichard Cochran
90be9ca0d3SArnd Bergmannconfig TI_CPTS_MOD
91be9ca0d3SArnd Bergmann	tristate
92be9ca0d3SArnd Bergmann	depends on TI_CPTS
93ed3525edSIlias Apalodimas	default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y || TI_CPSW_SWITCHDEV=y
94504926dfSArnd Bergmann	select NET_PTP_CLASSIFY
95504926dfSArnd Bergmann	imply PTP_1588_CLOCK
96be9ca0d3SArnd Bergmann	default m
97be9ca0d3SArnd Bergmann
9893a76530SGrygorii Strashkoconfig TI_K3_AM65_CPSW_NUSS
9993a76530SGrygorii Strashko	tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
10093a76530SGrygorii Strashko	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
10193a76530SGrygorii Strashko	select TI_DAVINCI_MDIO
10293a76530SGrygorii Strashko	imply PHY_TI_GMII_SEL
103*01241aa0SGrygorii Strashko	depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
10493a76530SGrygorii Strashko	help
10593a76530SGrygorii Strashko	  This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
10693a76530SGrygorii Strashko	  The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
10793a76530SGrygorii Strashko	  Ethernet packet communication for the device: One Ethernet port
10893a76530SGrygorii Strashko	  (port 1) with selectable RGMII and RMII interfaces and an internal
10993a76530SGrygorii Strashko	  Communications Port Programming Interface (CPPI) port (port 0).
11093a76530SGrygorii Strashko
11193a76530SGrygorii Strashko	  To compile this driver as a module, choose M here: the module
11293a76530SGrygorii Strashko	  will be called ti-am65-cpsw-nuss.
11393a76530SGrygorii Strashko
114f6bd5952SGrygorii Strashkoconfig TI_K3_AM65_CPTS
115f6bd5952SGrygorii Strashko	tristate "TI K3 AM65x CPTS"
116*01241aa0SGrygorii Strashko	depends on ARCH_K3 && OF
117f6bd5952SGrygorii Strashko	depends on PTP_1588_CLOCK
118f6bd5952SGrygorii Strashko	help
119f6bd5952SGrygorii Strashko	  Say y here to support the TI K3 AM65x CPTS with 1588 features such as
120f6bd5952SGrygorii Strashko	  PTP hardware clock for each CPTS device and network packets
121f6bd5952SGrygorii Strashko	  timestamping where applicable.
122f6bd5952SGrygorii Strashko	  Depending on integration CPTS blocks enable compliance with
123f6bd5952SGrygorii Strashko	  the IEEE 1588-2008 standard for a precision clock synchronization
124f6bd5952SGrygorii Strashko	  protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
125f6bd5952SGrygorii Strashko	  and PCIe Subsystem Precision Time Measurement (PTM).
126f6bd5952SGrygorii Strashko
12784640e27SKaricheri, Muralidharanconfig TI_KEYSTONE_NETCP
12858c11b5fSKaricheri, Muralidharan	tristate "TI Keystone NETCP Core Support"
129f49ae149SKaricheri, Muralidharan	select TI_DAVINCI_MDIO
13084640e27SKaricheri, Muralidharan	depends on OF
13184640e27SKaricheri, Muralidharan	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
13284640e27SKaricheri, Muralidharan	---help---
13358c11b5fSKaricheri, Muralidharan	  This driver supports TI's Keystone NETCP Core.
13484640e27SKaricheri, Muralidharan
13584640e27SKaricheri, Muralidharan	  To compile this driver as a module, choose M here: the module
13684640e27SKaricheri, Muralidharan	  will be called keystone_netcp.
13784640e27SKaricheri, Muralidharan
13858c11b5fSKaricheri, Muralidharanconfig TI_KEYSTONE_NETCP_ETHSS
13958c11b5fSKaricheri, Muralidharan	depends on TI_KEYSTONE_NETCP
14058c11b5fSKaricheri, Muralidharan	tristate "TI Keystone NETCP Ethernet subsystem Support"
14158c11b5fSKaricheri, Muralidharan	---help---
14258c11b5fSKaricheri, Muralidharan
14358c11b5fSKaricheri, Muralidharan	  To compile this driver as a module, choose M here: the module
14458c11b5fSKaricheri, Muralidharan	  will be called keystone_netcp_ethss.
14558c11b5fSKaricheri, Muralidharan
146b544dbacSJeff Kirsherconfig TLAN
147b544dbacSJeff Kirsher	tristate "TI ThunderLAN support"
148b544dbacSJeff Kirsher	depends on (PCI || EISA)
149b544dbacSJeff Kirsher	---help---
150b544dbacSJeff Kirsher	  If you have a PCI Ethernet network card based on the ThunderLAN chip
151138b15edSPaul Gortmaker	  which is supported by this driver, say Y here.
152b544dbacSJeff Kirsher
153b544dbacSJeff Kirsher	  Devices currently supported by this driver are Compaq Netelligent,
154b544dbacSJeff Kirsher	  Compaq NetFlex and Olicom cards.  Please read the file
155e9a5475eSMauro Carvalho Chehab	  <file:Documentation/networking/device_drivers/ti/tlan.rst>
156b255e500SJakub Kicinski	  for more details.
157b544dbacSJeff Kirsher
158b544dbacSJeff Kirsher	  To compile this driver as a module, choose M here. The module
159b544dbacSJeff Kirsher	  will be called tlan.
160b544dbacSJeff Kirsher
161b544dbacSJeff Kirsher	  Please email feedback to <torben.mathiasen@compaq.com>.
162b544dbacSJeff Kirsher
163b544dbacSJeff Kirsherconfig CPMAC
1648ff25eebSKees Cook	tristate "TI AR7 CPMAC Ethernet support"
1658ff25eebSKees Cook	depends on AR7
166b544dbacSJeff Kirsher	select PHYLIB
167b544dbacSJeff Kirsher	---help---
168b544dbacSJeff Kirsher	  TI AR7 CPMAC Ethernet support
169b544dbacSJeff Kirsher
170b544dbacSJeff Kirsherendif # NET_VENDOR_TI
171