162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# TI device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciconfig NET_VENDOR_TI
762306a36Sopenharmony_ci	bool "Texas Instruments (TI) devices"
862306a36Sopenharmony_ci	default y
962306a36Sopenharmony_ci	depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  If you have a network (Ethernet) card belonging to this class, say Y.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
1462306a36Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
1562306a36Sopenharmony_ci	  the questions about TI devices. If you say Y, you will be asked for
1662306a36Sopenharmony_ci	  your specific card in the following questions.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciif NET_VENDOR_TI
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig TI_DAVINCI_EMAC
2162306a36Sopenharmony_ci	tristate "TI DaVinci EMAC Support"
2262306a36Sopenharmony_ci	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
2362306a36Sopenharmony_ci	select TI_DAVINCI_MDIO
2462306a36Sopenharmony_ci	select PHYLIB
2562306a36Sopenharmony_ci	select GENERIC_ALLOCATOR
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  This driver supports TI's DaVinci Ethernet .
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3062306a36Sopenharmony_ci	  will be called davinci_emac_driver.  This is recommended.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig TI_DAVINCI_MDIO
3362306a36Sopenharmony_ci	tristate "TI DaVinci MDIO Support"
3462306a36Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
3562306a36Sopenharmony_ci	select PHYLIB
3662306a36Sopenharmony_ci	select MDIO_BITBANG
3762306a36Sopenharmony_ci	help
3862306a36Sopenharmony_ci	  This driver supports TI's DaVinci MDIO module.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4162306a36Sopenharmony_ci	  will be called davinci_mdio.  This is recommended.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig TI_CPSW_PHY_SEL
4462306a36Sopenharmony_ci	bool "TI CPSW Phy mode Selection (DEPRECATED)"
4562306a36Sopenharmony_ci	default n
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  This driver supports configuring of the phy mode connected to
4862306a36Sopenharmony_ci	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig TI_CPSW
5162306a36Sopenharmony_ci	tristate "TI CPSW Switch Support"
5262306a36Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
5362306a36Sopenharmony_ci	depends on TI_CPTS || !TI_CPTS
5462306a36Sopenharmony_ci	select TI_DAVINCI_MDIO
5562306a36Sopenharmony_ci	select MFD_SYSCON
5662306a36Sopenharmony_ci	select PAGE_POOL
5762306a36Sopenharmony_ci	select REGMAP
5862306a36Sopenharmony_ci	imply PHY_TI_GMII_SEL
5962306a36Sopenharmony_ci	help
6062306a36Sopenharmony_ci	  This driver supports TI's CPSW Ethernet Switch.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
6362306a36Sopenharmony_ci	  will be called cpsw.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig TI_CPSW_SWITCHDEV
6662306a36Sopenharmony_ci	tristate "TI CPSW Switch Support with switchdev"
6762306a36Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
6862306a36Sopenharmony_ci	depends on NET_SWITCHDEV
6962306a36Sopenharmony_ci	depends on TI_CPTS || !TI_CPTS
7062306a36Sopenharmony_ci	select PAGE_POOL
7162306a36Sopenharmony_ci	select TI_DAVINCI_MDIO
7262306a36Sopenharmony_ci	select MFD_SYSCON
7362306a36Sopenharmony_ci	select REGMAP
7462306a36Sopenharmony_ci	select NET_DEVLINK
7562306a36Sopenharmony_ci	imply PHY_TI_GMII_SEL
7662306a36Sopenharmony_ci	help
7762306a36Sopenharmony_ci	  This driver supports TI's CPSW Ethernet Switch.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
8062306a36Sopenharmony_ci	  will be called cpsw_new.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciconfig TI_CPTS
8362306a36Sopenharmony_ci	tristate "TI Common Platform Time Sync (CPTS) Support"
8462306a36Sopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
8562306a36Sopenharmony_ci	depends on COMMON_CLK
8662306a36Sopenharmony_ci	depends on PTP_1588_CLOCK
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  This driver supports the Common Platform Time Sync unit of
8962306a36Sopenharmony_ci	  the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
9062306a36Sopenharmony_ci	  The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
9162306a36Sopenharmony_ci	  driver offers a PTP Hardware Clock.
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciconfig TI_K3_CPPI_DESC_POOL
9462306a36Sopenharmony_ci	tristate
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciconfig TI_K3_AM65_CPSW_NUSS
9762306a36Sopenharmony_ci	tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
9862306a36Sopenharmony_ci	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
9962306a36Sopenharmony_ci	select NET_DEVLINK
10062306a36Sopenharmony_ci	select TI_DAVINCI_MDIO
10162306a36Sopenharmony_ci	select PHYLINK
10262306a36Sopenharmony_ci	select TI_K3_CPPI_DESC_POOL
10362306a36Sopenharmony_ci	imply PHY_TI_GMII_SEL
10462306a36Sopenharmony_ci	depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
10762306a36Sopenharmony_ci	  The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
10862306a36Sopenharmony_ci	  Ethernet packet communication for the device: One Ethernet port
10962306a36Sopenharmony_ci	  (port 1) with selectable RGMII and RMII interfaces and an internal
11062306a36Sopenharmony_ci	  Communications Port Programming Interface (CPPI) port (port 0).
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
11362306a36Sopenharmony_ci	  will be called ti-am65-cpsw-nuss.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig TI_K3_AM65_CPSW_SWITCHDEV
11662306a36Sopenharmony_ci	bool "TI K3 AM654x/J721E CPSW Switch mode support"
11762306a36Sopenharmony_ci	depends on TI_K3_AM65_CPSW_NUSS
11862306a36Sopenharmony_ci	depends on NET_SWITCHDEV
11962306a36Sopenharmony_ci	help
12062306a36Sopenharmony_ci	 This enables switchdev support for TI K3 CPSWxG Ethernet
12162306a36Sopenharmony_ci	 Switch. Enable this driver to support hardware switch support for AM65
12262306a36Sopenharmony_ci	 CPSW NUSS driver.
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciconfig TI_K3_AM65_CPTS
12562306a36Sopenharmony_ci	tristate "TI K3 AM65x CPTS"
12662306a36Sopenharmony_ci	depends on ARCH_K3 && OF
12762306a36Sopenharmony_ci	depends on PTP_1588_CLOCK
12862306a36Sopenharmony_ci	help
12962306a36Sopenharmony_ci	  Say y here to support the TI K3 AM65x CPTS with 1588 features such as
13062306a36Sopenharmony_ci	  PTP hardware clock for each CPTS device and network packets
13162306a36Sopenharmony_ci	  timestamping where applicable.
13262306a36Sopenharmony_ci	  Depending on integration CPTS blocks enable compliance with
13362306a36Sopenharmony_ci	  the IEEE 1588-2008 standard for a precision clock synchronization
13462306a36Sopenharmony_ci	  protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
13562306a36Sopenharmony_ci	  and PCIe Subsystem Precision Time Measurement (PTM).
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciconfig TI_AM65_CPSW_TAS
13862306a36Sopenharmony_ci	bool "Enable TAS offload in AM65 CPSW"
13962306a36Sopenharmony_ci	depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
14062306a36Sopenharmony_ci	help
14162306a36Sopenharmony_ci	  Say y here to support Time Aware Shaper(TAS) offload in AM65 CPSW.
14262306a36Sopenharmony_ci	  AM65 CPSW hardware supports Enhanced Scheduled Traffic (EST)
14362306a36Sopenharmony_ci	  defined in IEEE 802.1Q 2018. The EST scheduler runs on CPTS and the
14462306a36Sopenharmony_ci	  TAS/EST schedule is updated in the Fetch RAM memory of the CPSW.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciconfig TI_KEYSTONE_NETCP
14762306a36Sopenharmony_ci	tristate "TI Keystone NETCP Core Support"
14862306a36Sopenharmony_ci	select TI_DAVINCI_MDIO
14962306a36Sopenharmony_ci	depends on OF
15062306a36Sopenharmony_ci	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
15162306a36Sopenharmony_ci	depends on TI_CPTS || !TI_CPTS
15262306a36Sopenharmony_ci	help
15362306a36Sopenharmony_ci	  This driver supports TI's Keystone NETCP Core.
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
15662306a36Sopenharmony_ci	  will be called keystone_netcp.
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ciconfig TI_KEYSTONE_NETCP_ETHSS
15962306a36Sopenharmony_ci	depends on TI_KEYSTONE_NETCP
16062306a36Sopenharmony_ci	tristate "TI Keystone NETCP Ethernet subsystem Support"
16162306a36Sopenharmony_ci	help
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
16462306a36Sopenharmony_ci	  will be called keystone_netcp_ethss.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig TLAN
16762306a36Sopenharmony_ci	tristate "TI ThunderLAN support"
16862306a36Sopenharmony_ci	depends on (PCI || EISA)
16962306a36Sopenharmony_ci	help
17062306a36Sopenharmony_ci	  If you have a PCI Ethernet network card based on the ThunderLAN chip
17162306a36Sopenharmony_ci	  which is supported by this driver, say Y here.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci	  Devices currently supported by this driver are Compaq Netelligent,
17462306a36Sopenharmony_ci	  Compaq NetFlex and Olicom cards.  Please read the file
17562306a36Sopenharmony_ci	  <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
17662306a36Sopenharmony_ci	  for more details.
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
17962306a36Sopenharmony_ci	  will be called tlan.
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci	  Please email feedback to <torben.mathiasen@compaq.com>.
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig CPMAC
18462306a36Sopenharmony_ci	tristate "TI AR7 CPMAC Ethernet support"
18562306a36Sopenharmony_ci	depends on AR7
18662306a36Sopenharmony_ci	select PHYLIB
18762306a36Sopenharmony_ci	help
18862306a36Sopenharmony_ci	  TI AR7 CPMAC Ethernet support
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ciconfig TI_ICSSG_PRUETH
19162306a36Sopenharmony_ci	tristate "TI Gigabit PRU Ethernet driver"
19262306a36Sopenharmony_ci	select PHYLIB
19362306a36Sopenharmony_ci	select TI_ICSS_IEP
19462306a36Sopenharmony_ci	select TI_K3_CPPI_DESC_POOL
19562306a36Sopenharmony_ci	depends on PRU_REMOTEPROC
19662306a36Sopenharmony_ci	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
19762306a36Sopenharmony_ci	help
19862306a36Sopenharmony_ci	  Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
19962306a36Sopenharmony_ci	  This subsystem is available starting with the AM65 platform.
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	  This driver requires firmware binaries which will run on the PRUs
20262306a36Sopenharmony_ci	  to support the Ethernet operation. Currently, it supports Ethernet
20362306a36Sopenharmony_ci	  with 1G and 100M link speed.
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ciconfig TI_ICSS_IEP
20662306a36Sopenharmony_ci	tristate "TI PRU ICSS IEP driver"
20762306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
20862306a36Sopenharmony_ci	depends on TI_PRUSS
20962306a36Sopenharmony_ci	default TI_PRUSS
21062306a36Sopenharmony_ci	help
21162306a36Sopenharmony_ci	  This driver enables support for the PRU-ICSS Industrial Ethernet
21262306a36Sopenharmony_ci	  Peripheral within a PRU-ICSS subsystem present on various TI SoCs.
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
21562306a36Sopenharmony_ci	  will be called icss_iep.
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ciendif # NET_VENDOR_TI
218