# SPDX-License-Identifier: GPL-2.0-only
#
# TI device configuration
#

config NET_VENDOR_TI
	bool "Texas Instruments (TI) devices"
	default y
	depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE
	---help---
	  If you have a network (Ethernet) card belonging to this class, say Y.

	  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"
	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
	select TI_DAVINCI_MDIO
	select PHYLIB
	select GENERIC_ALLOCATOR
	---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"
	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
	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.

config TI_CPSW_PHY_SEL
	bool "TI CPSW Phy mode Selection (DEPRECATED)"
	default n
	---help---
	  This driver supports configuring of the phy mode connected to
	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.

config TI_CPSW
	tristate "TI CPSW Switch Support"
	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
	select TI_DAVINCI_MDIO
	select MFD_SYSCON
	select PAGE_POOL
	select REGMAP
	---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.

config TI_CPTS
	bool "TI Common Platform Time Sync (CPTS) Support"
	depends on TI_CPSW || TI_KEYSTONE_NETCP || COMPILE_TEST
	depends on COMMON_CLK
	depends on POSIX_TIMERS
	---help---
	  This driver supports the Common Platform Time Sync unit of
	  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.

config TI_CPTS_MOD
	tristate
	depends on TI_CPTS
	default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y
	select NET_PTP_CLASSIFY
	imply PTP_1588_CLOCK
	default m

config TI_KEYSTONE_NETCP
	tristate "TI Keystone NETCP Core Support"
	select TI_DAVINCI_MDIO
	depends on OF
	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
	---help---
	  This driver supports TI's Keystone NETCP Core.

	  To compile this driver as a module, choose M here: the module
	  will be called keystone_netcp.

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.

config TLAN
	tristate "TI ThunderLAN support"
	depends on (PCI || EISA)
	---help---
	  If you have a PCI Ethernet network card based on the ThunderLAN chip
	  which is supported by this driver, say Y here.

	  Devices currently supported by this driver are Compaq Netelligent,
	  Compaq NetFlex and Olicom cards.  Please read the file
	  <file:Documentation/networking/device_drivers/ti/tlan.txt>
	  for more details.

	  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
	tristate "TI AR7 CPMAC Ethernet support"
	depends on AR7
	select PHYLIB
	---help---
	  TI AR7 CPMAC Ethernet support

endif # NET_VENDOR_TI
