1# SPDX-License-Identifier: GPL-2.0-only
2#
3# TI device configuration
4#
5
6config NET_VENDOR_TI
7	bool "Texas Instruments (TI) devices"
8	default y
9	depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
10	help
11	  If you have a network (Ethernet) card belonging to this class, say Y.
12
13	  Note that the answer to this question doesn't directly affect the
14	  kernel: saying N will just cause the configurator to skip all
15	  the questions about TI devices. If you say Y, you will be asked for
16	  your specific card in the following questions.
17
18if NET_VENDOR_TI
19
20config TI_DAVINCI_EMAC
21	tristate "TI DaVinci EMAC Support"
22	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
23	select TI_DAVINCI_MDIO
24	select PHYLIB
25	select GENERIC_ALLOCATOR
26	help
27	  This driver supports TI's DaVinci Ethernet .
28
29	  To compile this driver as a module, choose M here: the module
30	  will be called davinci_emac_driver.  This is recommended.
31
32config TI_DAVINCI_MDIO
33	tristate "TI DaVinci MDIO Support"
34	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
35	select PHYLIB
36	help
37	  This driver supports TI's DaVinci MDIO module.
38
39	  To compile this driver as a module, choose M here: the module
40	  will be called davinci_mdio.  This is recommended.
41
42config TI_CPSW_PHY_SEL
43	bool "TI CPSW Phy mode Selection (DEPRECATED)"
44	default n
45	help
46	  This driver supports configuring of the phy mode connected to
47	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
48
49config TI_CPSW
50	tristate "TI CPSW Switch Support"
51	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
52	depends on TI_CPTS || !TI_CPTS
53	select TI_DAVINCI_MDIO
54	select MFD_SYSCON
55	select PAGE_POOL
56	select REGMAP
57	imply PHY_TI_GMII_SEL
58	help
59	  This driver supports TI's CPSW Ethernet Switch.
60
61	  To compile this driver as a module, choose M here: the module
62	  will be called cpsw.
63
64config TI_CPSW_SWITCHDEV
65	tristate "TI CPSW Switch Support with switchdev"
66	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
67	depends on NET_SWITCHDEV
68	depends on TI_CPTS || !TI_CPTS
69	select PAGE_POOL
70	select TI_DAVINCI_MDIO
71	select MFD_SYSCON
72	select REGMAP
73	select NET_DEVLINK
74	imply PHY_TI_GMII_SEL
75	help
76	  This driver supports TI's CPSW Ethernet Switch.
77
78	  To compile this driver as a module, choose M here: the module
79	  will be called cpsw_new.
80
81config TI_CPTS
82	tristate "TI Common Platform Time Sync (CPTS) Support"
83	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
84	depends on COMMON_CLK
85	depends on PTP_1588_CLOCK
86	help
87	  This driver supports the Common Platform Time Sync unit of
88	  the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
89	  The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
90	  driver offers a PTP Hardware Clock.
91
92config TI_K3_AM65_CPSW_NUSS
93	tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
94	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
95	select NET_DEVLINK
96	select TI_DAVINCI_MDIO
97	select PHYLINK
98	imply PHY_TI_GMII_SEL
99	depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
100	help
101	  This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
102	  The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
103	  Ethernet packet communication for the device: One Ethernet port
104	  (port 1) with selectable RGMII and RMII interfaces and an internal
105	  Communications Port Programming Interface (CPPI) port (port 0).
106
107	  To compile this driver as a module, choose M here: the module
108	  will be called ti-am65-cpsw-nuss.
109
110config TI_K3_AM65_CPSW_SWITCHDEV
111	bool "TI K3 AM654x/J721E CPSW Switch mode support"
112	depends on TI_K3_AM65_CPSW_NUSS
113	depends on NET_SWITCHDEV
114	help
115	 This enables switchdev support for TI K3 CPSWxG Ethernet
116	 Switch. Enable this driver to support hardware switch support for AM65
117	 CPSW NUSS driver.
118
119config TI_K3_AM65_CPTS
120	tristate "TI K3 AM65x CPTS"
121	depends on ARCH_K3 && OF
122	depends on PTP_1588_CLOCK
123	help
124	  Say y here to support the TI K3 AM65x CPTS with 1588 features such as
125	  PTP hardware clock for each CPTS device and network packets
126	  timestamping where applicable.
127	  Depending on integration CPTS blocks enable compliance with
128	  the IEEE 1588-2008 standard for a precision clock synchronization
129	  protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
130	  and PCIe Subsystem Precision Time Measurement (PTM).
131
132config TI_AM65_CPSW_TAS
133	bool "Enable TAS offload in AM65 CPSW"
134	depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
135	help
136	  Say y here to support Time Aware Shaper(TAS) offload in AM65 CPSW.
137	  AM65 CPSW hardware supports Enhanced Scheduled Traffic (EST)
138	  defined in IEEE 802.1Q 2018. The EST scheduler runs on CPTS and the
139	  TAS/EST schedule is updated in the Fetch RAM memory of the CPSW.
140
141config TI_KEYSTONE_NETCP
142	tristate "TI Keystone NETCP Core Support"
143	select TI_DAVINCI_MDIO
144	depends on OF
145	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
146	depends on TI_CPTS || !TI_CPTS
147	help
148	  This driver supports TI's Keystone NETCP Core.
149
150	  To compile this driver as a module, choose M here: the module
151	  will be called keystone_netcp.
152
153config TI_KEYSTONE_NETCP_ETHSS
154	depends on TI_KEYSTONE_NETCP
155	tristate "TI Keystone NETCP Ethernet subsystem Support"
156	help
157
158	  To compile this driver as a module, choose M here: the module
159	  will be called keystone_netcp_ethss.
160
161config TLAN
162	tristate "TI ThunderLAN support"
163	depends on (PCI || EISA)
164	help
165	  If you have a PCI Ethernet network card based on the ThunderLAN chip
166	  which is supported by this driver, say Y here.
167
168	  Devices currently supported by this driver are Compaq Netelligent,
169	  Compaq NetFlex and Olicom cards.  Please read the file
170	  <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
171	  for more details.
172
173	  To compile this driver as a module, choose M here. The module
174	  will be called tlan.
175
176	  Please email feedback to <torben.mathiasen@compaq.com>.
177
178config CPMAC
179	tristate "TI AR7 CPMAC Ethernet support"
180	depends on AR7
181	select PHYLIB
182	help
183	  TI AR7 CPMAC Ethernet support
184
185endif # NET_VENDOR_TI
186