xref: /openbmc/linux/drivers/net/ethernet/ti/Kconfig (revision ce55c22ec8b223a90ff3e084d842f73cfba35588)
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # TI device configuration
4 #
5 
6 config 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 
18 if NET_VENDOR_TI
19 
20 config 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 
32 config 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 	select MDIO_BITBANG
37 	help
38 	  This driver supports TI's DaVinci MDIO module.
39 
40 	  To compile this driver as a module, choose M here: the module
41 	  will be called davinci_mdio.  This is recommended.
42 
43 config TI_CPSW_PHY_SEL
44 	bool "TI CPSW Phy mode Selection (DEPRECATED)"
45 	default n
46 	help
47 	  This driver supports configuring of the phy mode connected to
48 	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
49 
50 config TI_CPSW
51 	tristate "TI CPSW Switch Support"
52 	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
53 	depends on TI_CPTS || !TI_CPTS
54 	select TI_DAVINCI_MDIO
55 	select MFD_SYSCON
56 	select PAGE_POOL
57 	select REGMAP
58 	imply PHY_TI_GMII_SEL
59 	help
60 	  This driver supports TI's CPSW Ethernet Switch.
61 
62 	  To compile this driver as a module, choose M here: the module
63 	  will be called cpsw.
64 
65 config TI_CPSW_SWITCHDEV
66 	tristate "TI CPSW Switch Support with switchdev"
67 	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
68 	depends on NET_SWITCHDEV
69 	depends on TI_CPTS || !TI_CPTS
70 	select PAGE_POOL
71 	select TI_DAVINCI_MDIO
72 	select MFD_SYSCON
73 	select REGMAP
74 	select NET_DEVLINK
75 	imply PHY_TI_GMII_SEL
76 	help
77 	  This driver supports TI's CPSW Ethernet Switch.
78 
79 	  To compile this driver as a module, choose M here: the module
80 	  will be called cpsw_new.
81 
82 config TI_CPTS
83 	tristate "TI Common Platform Time Sync (CPTS) Support"
84 	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
85 	depends on COMMON_CLK
86 	depends on PTP_1588_CLOCK
87 	help
88 	  This driver supports the Common Platform Time Sync unit of
89 	  the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
90 	  The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
91 	  driver offers a PTP Hardware Clock.
92 
93 config TI_K3_CPPI_DESC_POOL
94 	tristate
95 
96 config TI_K3_AM65_CPSW_NUSS
97 	tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
98 	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
99 	select NET_DEVLINK
100 	select TI_DAVINCI_MDIO
101 	select PHYLINK
102 	select TI_K3_CPPI_DESC_POOL
103 	imply PHY_TI_GMII_SEL
104 	depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
105 	help
106 	  This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
107 	  The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
108 	  Ethernet packet communication for the device: One Ethernet port
109 	  (port 1) with selectable RGMII and RMII interfaces and an internal
110 	  Communications Port Programming Interface (CPPI) port (port 0).
111 
112 	  To compile this driver as a module, choose M here: the module
113 	  will be called ti-am65-cpsw-nuss.
114 
115 config TI_K3_AM65_CPSW_SWITCHDEV
116 	bool "TI K3 AM654x/J721E CPSW Switch mode support"
117 	depends on TI_K3_AM65_CPSW_NUSS
118 	depends on NET_SWITCHDEV
119 	help
120 	 This enables switchdev support for TI K3 CPSWxG Ethernet
121 	 Switch. Enable this driver to support hardware switch support for AM65
122 	 CPSW NUSS driver.
123 
124 config TI_K3_AM65_CPTS
125 	tristate "TI K3 AM65x CPTS"
126 	depends on ARCH_K3 && OF
127 	depends on PTP_1588_CLOCK
128 	help
129 	  Say y here to support the TI K3 AM65x CPTS with 1588 features such as
130 	  PTP hardware clock for each CPTS device and network packets
131 	  timestamping where applicable.
132 	  Depending on integration CPTS blocks enable compliance with
133 	  the IEEE 1588-2008 standard for a precision clock synchronization
134 	  protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
135 	  and PCIe Subsystem Precision Time Measurement (PTM).
136 
137 config TI_AM65_CPSW_TAS
138 	bool "Enable TAS offload in AM65 CPSW"
139 	depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
140 	help
141 	  Say y here to support Time Aware Shaper(TAS) offload in AM65 CPSW.
142 	  AM65 CPSW hardware supports Enhanced Scheduled Traffic (EST)
143 	  defined in IEEE 802.1Q 2018. The EST scheduler runs on CPTS and the
144 	  TAS/EST schedule is updated in the Fetch RAM memory of the CPSW.
145 
146 config TI_KEYSTONE_NETCP
147 	tristate "TI Keystone NETCP Core Support"
148 	select TI_DAVINCI_MDIO
149 	depends on OF
150 	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
151 	depends on TI_CPTS || !TI_CPTS
152 	help
153 	  This driver supports TI's Keystone NETCP Core.
154 
155 	  To compile this driver as a module, choose M here: the module
156 	  will be called keystone_netcp.
157 
158 config TI_KEYSTONE_NETCP_ETHSS
159 	depends on TI_KEYSTONE_NETCP
160 	tristate "TI Keystone NETCP Ethernet subsystem Support"
161 	help
162 
163 	  To compile this driver as a module, choose M here: the module
164 	  will be called keystone_netcp_ethss.
165 
166 config TLAN
167 	tristate "TI ThunderLAN support"
168 	depends on (PCI || EISA)
169 	help
170 	  If you have a PCI Ethernet network card based on the ThunderLAN chip
171 	  which is supported by this driver, say Y here.
172 
173 	  Devices currently supported by this driver are Compaq Netelligent,
174 	  Compaq NetFlex and Olicom cards.  Please read the file
175 	  <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
176 	  for more details.
177 
178 	  To compile this driver as a module, choose M here. The module
179 	  will be called tlan.
180 
181 	  Please email feedback to <torben.mathiasen@compaq.com>.
182 
183 config CPMAC
184 	tristate "TI AR7 CPMAC Ethernet support"
185 	depends on AR7
186 	select PHYLIB
187 	help
188 	  TI AR7 CPMAC Ethernet support
189 
190 config TI_ICSSG_PRUETH
191 	tristate "TI Gigabit PRU Ethernet driver"
192 	select PHYLIB
193 	select TI_ICSS_IEP
194 	select TI_K3_CPPI_DESC_POOL
195 	depends on PRU_REMOTEPROC
196 	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
197 	help
198 	  Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
199 	  This subsystem is available starting with the AM65 platform.
200 
201 	  This driver requires firmware binaries which will run on the PRUs
202 	  to support the Ethernet operation. Currently, it supports Ethernet
203 	  with 1G and 100M link speed.
204 
205 config TI_ICSS_IEP
206 	tristate "TI PRU ICSS IEP driver"
207 	depends on PTP_1588_CLOCK_OPTIONAL
208 	depends on TI_PRUSS
209 	default TI_PRUSS
210 	help
211 	  This driver enables support for the PRU-ICSS Industrial Ethernet
212 	  Peripheral within a PRU-ICSS subsystem present on various TI SoCs.
213 
214 	  To compile this driver as a module, choose M here. The module
215 	  will be called icss_iep.
216 
217 endif # NET_VENDOR_TI
218