Merge tag 'qcom-drivers-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / drivers / net / ethernet / ti / Kconfig
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 || 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_QOS
138         bool "Enable QoS offload features in AM65 CPSW"
139         depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
140         help
141           This option enables QoS offload features in AM65 CPSW like
142           Time Aware Shaper (TAS) / Enhanced Scheduled Traffic (EST),
143           MQPRIO qdisc offload and Frame-Preemption MAC Merge / Interspersing
144           Express Traffic (IET).
145           The EST scheduler runs on CPTS and the TAS/EST schedule is
146           updated in the Fetch RAM memory of the CPSW.
147
148 config TI_KEYSTONE_NETCP
149         tristate "TI Keystone NETCP Core Support"
150         select TI_DAVINCI_MDIO
151         depends on OF
152         depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
153         depends on TI_CPTS || !TI_CPTS
154         help
155           This driver supports TI's Keystone NETCP Core.
156
157           To compile this driver as a module, choose M here: the module
158           will be called keystone_netcp.
159
160 config TI_KEYSTONE_NETCP_ETHSS
161         depends on TI_KEYSTONE_NETCP
162         tristate "TI Keystone NETCP Ethernet subsystem Support"
163         help
164
165           To compile this driver as a module, choose M here: the module
166           will be called keystone_netcp_ethss.
167
168 config TLAN
169         tristate "TI ThunderLAN support"
170         depends on (PCI || EISA)
171         help
172           If you have a PCI Ethernet network card based on the ThunderLAN chip
173           which is supported by this driver, say Y here.
174
175           Devices currently supported by this driver are Compaq Netelligent,
176           Compaq NetFlex and Olicom cards.  Please read the file
177           <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
178           for more details.
179
180           To compile this driver as a module, choose M here. The module
181           will be called tlan.
182
183           Please email feedback to <torben.mathiasen@compaq.com>.
184
185 config TI_ICSSG_PRUETH
186         tristate "TI Gigabit PRU Ethernet driver"
187         select PHYLIB
188         select TI_ICSS_IEP
189         select TI_K3_CPPI_DESC_POOL
190         depends on PRU_REMOTEPROC
191         depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
192         help
193           Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
194           This subsystem is available starting with the AM65 platform.
195
196           This driver requires firmware binaries which will run on the PRUs
197           to support the Ethernet operation. Currently, it supports Ethernet
198           with 1G and 100M link speed.
199
200 config TI_ICSS_IEP
201         tristate "TI PRU ICSS IEP driver"
202         depends on PTP_1588_CLOCK_OPTIONAL
203         depends on TI_PRUSS
204         default TI_PRUSS
205         help
206           This driver enables support for the PRU-ICSS Industrial Ethernet
207           Peripheral within a PRU-ICSS subsystem present on various TI SoCs.
208
209           To compile this driver as a module, choose M here. The module
210           will be called icss_iep.
211
212 endif # NET_VENDOR_TI