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