2019-05-19 19:07:45 +07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2011-06-15 02:56:50 +07:00
|
|
|
#
|
|
|
|
# TI device configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
config NET_VENDOR_TI
|
|
|
|
bool "Texas Instruments (TI) devices"
|
2011-08-23 15:29:52 +07:00
|
|
|
default y
|
2014-12-04 11:54:29 +07:00
|
|
|
depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE
|
2011-06-15 02:56:50 +07:00
|
|
|
---help---
|
2015-06-22 03:28:02 +07:00
|
|
|
If you have a network (Ethernet) card belonging to this class, say Y.
|
2011-06-15 02:56:50 +07:00
|
|
|
|
|
|
|
Note that the answer to this question doesn't directly affect the
|
|
|
|
kernel: saying N will just cause the configurator to skip all
|
|
|
|
the questions about TI devices. If you say Y, you will be asked for
|
|
|
|
your specific card in the following questions.
|
|
|
|
|
|
|
|
if NET_VENDOR_TI
|
|
|
|
|
|
|
|
config TI_DAVINCI_EMAC
|
|
|
|
tristate "TI DaVinci EMAC Support"
|
2018-05-18 03:07:43 +07:00
|
|
|
depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
|
2011-06-15 02:56:50 +07:00
|
|
|
select TI_DAVINCI_MDIO
|
|
|
|
select PHYLIB
|
|
|
|
---help---
|
|
|
|
This driver supports TI's DaVinci Ethernet .
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called davinci_emac_driver. This is recommended.
|
|
|
|
|
|
|
|
config TI_DAVINCI_MDIO
|
|
|
|
tristate "TI DaVinci MDIO Support"
|
2018-05-18 03:07:43 +07:00
|
|
|
depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
|
2011-06-15 02:56:50 +07:00
|
|
|
select PHYLIB
|
|
|
|
---help---
|
|
|
|
This driver supports TI's DaVinci MDIO module.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called davinci_mdio. This is recommended.
|
|
|
|
|
2013-09-21 02:20:39 +07:00
|
|
|
config TI_CPSW_PHY_SEL
|
2019-02-20 22:25:19 +07:00
|
|
|
bool "TI CPSW Phy mode Selection (DEPRECATED)"
|
|
|
|
default n
|
2013-09-21 02:20:39 +07:00
|
|
|
---help---
|
|
|
|
This driver supports configuring of the phy mode connected to
|
2019-02-20 22:25:19 +07:00
|
|
|
the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
|
2013-09-21 02:20:39 +07:00
|
|
|
|
2012-03-19 03:17:54 +07:00
|
|
|
config TI_CPSW
|
|
|
|
tristate "TI CPSW Switch Support"
|
2018-05-18 03:07:43 +07:00
|
|
|
depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
|
2012-03-19 03:17:54 +07:00
|
|
|
select TI_DAVINCI_MDIO
|
2014-09-29 13:53:17 +07:00
|
|
|
select MFD_SYSCON
|
net: ethernet: ti: cpsw: add XDP support
Add XDP support based on rx page_pool allocator, one frame per page.
Page pool allocator is used with assumption that only one rx_handler
is running simultaneously. DMA map/unmap is reused from page pool
despite there is no need to map whole page.
Due to specific of cpsw, the same TX/RX handler can be used by 2
network devices, so special fields in buffer are added to identify
an interface the frame is destined to. Thus XDP works for both
interfaces, that allows to test xdp redirect between two interfaces
easily. Also, each rx queue have own page pools, but common for both
netdevs.
XDP prog is common for all channels till appropriate changes are added
in XDP infrastructure. Also, once page_pool recycling becomes part of
skb netstack some simplifications can be added, like removing
page_pool_release_page() before skb receive.
In order to keep rx_dev while redirect, that can be somehow used in
future, do flush in rx_handler, that allows to keep rx dev the same
while redirect. It allows to conform with tracing rx_dev pointed
by Jesper.
Also, there is probability, that XDP generic code can be extended to
support multi ndev drivers like this one, using same rx queue for
several ndevs, based on switchdev for instance or else. In this case,
driver can be modified like exposed here:
https://lkml.org/lkml/2019/7/3/243
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-07-09 04:34:32 +07:00
|
|
|
select PAGE_POOL
|
2014-09-29 13:53:17 +07:00
|
|
|
select REGMAP
|
2012-03-19 03:17:54 +07:00
|
|
|
---help---
|
|
|
|
This driver supports TI's CPSW Ethernet Switch.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called cpsw.
|
|
|
|
|
2012-10-29 15:45:16 +07:00
|
|
|
config TI_CPTS
|
2017-03-20 15:52:50 +07:00
|
|
|
bool "TI Common Platform Time Sync (CPTS) Support"
|
2018-05-18 03:07:43 +07:00
|
|
|
depends on TI_CPSW || TI_KEYSTONE_NETCP || COMPILE_TEST
|
2019-06-11 18:16:32 +07:00
|
|
|
depends on COMMON_CLK
|
2017-04-28 22:03:58 +07:00
|
|
|
depends on POSIX_TIMERS
|
2012-10-29 15:45:16 +07:00
|
|
|
---help---
|
|
|
|
This driver supports the Common Platform Time Sync unit of
|
2016-12-09 05:21:56 +07:00
|
|
|
the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
|
|
|
|
The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
|
|
|
|
driver offers a PTP Hardware Clock.
|
2012-10-29 15:45:16 +07:00
|
|
|
|
2017-03-20 15:52:50 +07:00
|
|
|
config TI_CPTS_MOD
|
|
|
|
tristate
|
|
|
|
depends on TI_CPTS
|
|
|
|
default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y
|
2017-04-28 22:03:58 +07:00
|
|
|
select NET_PTP_CLASSIFY
|
|
|
|
imply PTP_1588_CLOCK
|
2017-03-20 15:52:50 +07:00
|
|
|
default m
|
|
|
|
|
2015-01-16 07:12:50 +07:00
|
|
|
config TI_KEYSTONE_NETCP
|
2015-01-30 06:15:51 +07:00
|
|
|
tristate "TI Keystone NETCP Core Support"
|
2015-03-21 03:11:23 +07:00
|
|
|
select TI_DAVINCI_MDIO
|
2015-01-16 07:12:50 +07:00
|
|
|
depends on OF
|
|
|
|
depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
|
|
|
|
---help---
|
2015-01-30 06:15:51 +07:00
|
|
|
This driver supports TI's Keystone NETCP Core.
|
2015-01-16 07:12:50 +07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called keystone_netcp.
|
|
|
|
|
2015-01-30 06:15:51 +07:00
|
|
|
config TI_KEYSTONE_NETCP_ETHSS
|
|
|
|
depends on TI_KEYSTONE_NETCP
|
|
|
|
tristate "TI Keystone NETCP Ethernet subsystem Support"
|
|
|
|
---help---
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called keystone_netcp_ethss.
|
|
|
|
|
2011-06-15 02:56:50 +07:00
|
|
|
config TLAN
|
|
|
|
tristate "TI ThunderLAN support"
|
|
|
|
depends on (PCI || EISA)
|
|
|
|
---help---
|
|
|
|
If you have a PCI Ethernet network card based on the ThunderLAN chip
|
2015-06-22 03:28:02 +07:00
|
|
|
which is supported by this driver, say Y here.
|
2011-06-15 02:56:50 +07:00
|
|
|
|
|
|
|
Devices currently supported by this driver are Compaq Netelligent,
|
|
|
|
Compaq NetFlex and Olicom cards. Please read the file
|
2018-12-04 08:43:28 +07:00
|
|
|
<file:Documentation/networking/device_drivers/ti/tlan.txt>
|
|
|
|
for more details.
|
2011-06-15 02:56:50 +07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here. The module
|
|
|
|
will be called tlan.
|
|
|
|
|
|
|
|
Please email feedback to <torben.mathiasen@compaq.com>.
|
|
|
|
|
|
|
|
config CPMAC
|
2012-10-03 01:18:24 +07:00
|
|
|
tristate "TI AR7 CPMAC Ethernet support"
|
|
|
|
depends on AR7
|
2011-06-15 02:56:50 +07:00
|
|
|
select PHYLIB
|
|
|
|
---help---
|
|
|
|
TI AR7 CPMAC Ethernet support
|
|
|
|
|
|
|
|
endif # NET_VENDOR_TI
|