Merge tag 'powerpc-6.6-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[platform/kernel/linux-starfive.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 || 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