GNU Linux-libre 5.10.215-gnu1
[releases.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         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
42 config 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
49 config 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
64 config 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
81 config 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
92 config 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 TI_DAVINCI_MDIO
96         imply PHY_TI_GMII_SEL
97         depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
98         help
99           This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
100           The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
101           Ethernet packet communication for the device: One Ethernet port
102           (port 1) with selectable RGMII and RMII interfaces and an internal
103           Communications Port Programming Interface (CPPI) port (port 0).
104
105           To compile this driver as a module, choose M here: the module
106           will be called ti-am65-cpsw-nuss.
107
108 config TI_K3_AM65_CPTS
109         tristate "TI K3 AM65x CPTS"
110         depends on ARCH_K3 && OF
111         depends on PTP_1588_CLOCK
112         help
113           Say y here to support the TI K3 AM65x CPTS with 1588 features such as
114           PTP hardware clock for each CPTS device and network packets
115           timestamping where applicable.
116           Depending on integration CPTS blocks enable compliance with
117           the IEEE 1588-2008 standard for a precision clock synchronization
118           protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
119           and PCIe Subsystem Precision Time Measurement (PTM).
120
121 config TI_AM65_CPSW_TAS
122         bool "Enable TAS offload in AM65 CPSW"
123         depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
124         help
125           Say y here to support Time Aware Shaper(TAS) offload in AM65 CPSW.
126           AM65 CPSW hardware supports Enhanced Scheduled Traffic (EST)
127           defined in IEEE 802.1Q 2018. The EST scheduler runs on CPTS and the
128           TAS/EST schedule is updated in the Fetch RAM memory of the CPSW.
129
130 config TI_KEYSTONE_NETCP
131         tristate "TI Keystone NETCP Core Support"
132         select TI_DAVINCI_MDIO
133         depends on OF
134         depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
135         depends on TI_CPTS || !TI_CPTS
136         help
137           This driver supports TI's Keystone NETCP Core.
138
139           To compile this driver as a module, choose M here: the module
140           will be called keystone_netcp.
141
142 config TI_KEYSTONE_NETCP_ETHSS
143         depends on TI_KEYSTONE_NETCP
144         tristate "TI Keystone NETCP Ethernet subsystem Support"
145         help
146
147           To compile this driver as a module, choose M here: the module
148           will be called keystone_netcp_ethss.
149
150 config TLAN
151         tristate "TI ThunderLAN support"
152         depends on (PCI || EISA)
153         help
154           If you have a PCI Ethernet network card based on the ThunderLAN chip
155           which is supported by this driver, say Y here.
156
157           Devices currently supported by this driver are Compaq Netelligent,
158           Compaq NetFlex and Olicom cards.  Please read the file
159           <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
160           for more details.
161
162           To compile this driver as a module, choose M here. The module
163           will be called tlan.
164
165           Please email feedback to <torben.mathiasen@compaq.com>.
166
167 config CPMAC
168         tristate "TI AR7 CPMAC Ethernet support"
169         depends on AR7
170         select PHYLIB
171         help
172           TI AR7 CPMAC Ethernet support
173
174 endif # NET_VENDOR_TI