18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# TI device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig NET_VENDOR_TI
78c2ecf20Sopenharmony_ci	bool "Texas Instruments (TI) devices"
88c2ecf20Sopenharmony_ci	default y
98c2ecf20Sopenharmony_ci	depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  If you have a network (Ethernet) card belonging to this class, say Y.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
148c2ecf20Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
158c2ecf20Sopenharmony_ci	  the questions about TI devices. If you say Y, you will be asked for
168c2ecf20Sopenharmony_ci	  your specific card in the following questions.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciif NET_VENDOR_TI
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig TI_DAVINCI_EMAC
218c2ecf20Sopenharmony_ci	tristate "TI DaVinci EMAC Support"
228c2ecf20Sopenharmony_ci	depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST
238c2ecf20Sopenharmony_ci	select TI_DAVINCI_MDIO
248c2ecf20Sopenharmony_ci	select PHYLIB
258c2ecf20Sopenharmony_ci	select GENERIC_ALLOCATOR
268c2ecf20Sopenharmony_ci	help
278c2ecf20Sopenharmony_ci	  This driver supports TI's DaVinci Ethernet .
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
308c2ecf20Sopenharmony_ci	  will be called davinci_emac_driver.  This is recommended.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig TI_DAVINCI_MDIO
338c2ecf20Sopenharmony_ci	tristate "TI DaVinci MDIO Support"
348c2ecf20Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
358c2ecf20Sopenharmony_ci	select PHYLIB
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  This driver supports TI's DaVinci MDIO module.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
408c2ecf20Sopenharmony_ci	  will be called davinci_mdio.  This is recommended.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig TI_CPSW_PHY_SEL
438c2ecf20Sopenharmony_ci	bool "TI CPSW Phy mode Selection (DEPRECATED)"
448c2ecf20Sopenharmony_ci	default n
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  This driver supports configuring of the phy mode connected to
478c2ecf20Sopenharmony_ci	  the CPSW. DEPRECATED: use PHY_TI_GMII_SEL.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig TI_CPSW
508c2ecf20Sopenharmony_ci	tristate "TI CPSW Switch Support"
518c2ecf20Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
528c2ecf20Sopenharmony_ci	depends on TI_CPTS || !TI_CPTS
538c2ecf20Sopenharmony_ci	select TI_DAVINCI_MDIO
548c2ecf20Sopenharmony_ci	select MFD_SYSCON
558c2ecf20Sopenharmony_ci	select PAGE_POOL
568c2ecf20Sopenharmony_ci	select REGMAP
578c2ecf20Sopenharmony_ci	imply PHY_TI_GMII_SEL
588c2ecf20Sopenharmony_ci	help
598c2ecf20Sopenharmony_ci	  This driver supports TI's CPSW Ethernet Switch.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
628c2ecf20Sopenharmony_ci	  will be called cpsw.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig TI_CPSW_SWITCHDEV
658c2ecf20Sopenharmony_ci	tristate "TI CPSW Switch Support with switchdev"
668c2ecf20Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
678c2ecf20Sopenharmony_ci	depends on NET_SWITCHDEV
688c2ecf20Sopenharmony_ci	depends on TI_CPTS || !TI_CPTS
698c2ecf20Sopenharmony_ci	select PAGE_POOL
708c2ecf20Sopenharmony_ci	select TI_DAVINCI_MDIO
718c2ecf20Sopenharmony_ci	select MFD_SYSCON
728c2ecf20Sopenharmony_ci	select REGMAP
738c2ecf20Sopenharmony_ci	select NET_DEVLINK
748c2ecf20Sopenharmony_ci	imply PHY_TI_GMII_SEL
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  This driver supports TI's CPSW Ethernet Switch.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
798c2ecf20Sopenharmony_ci	  will be called cpsw_new.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ciconfig TI_CPTS
828c2ecf20Sopenharmony_ci	tristate "TI Common Platform Time Sync (CPTS) Support"
838c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
848c2ecf20Sopenharmony_ci	depends on COMMON_CLK
858c2ecf20Sopenharmony_ci	depends on PTP_1588_CLOCK
868c2ecf20Sopenharmony_ci	help
878c2ecf20Sopenharmony_ci	  This driver supports the Common Platform Time Sync unit of
888c2ecf20Sopenharmony_ci	  the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
898c2ecf20Sopenharmony_ci	  The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
908c2ecf20Sopenharmony_ci	  driver offers a PTP Hardware Clock.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciconfig TI_K3_AM65_CPSW_NUSS
938c2ecf20Sopenharmony_ci	tristate "TI K3 AM654x/J721E CPSW Ethernet driver"
948c2ecf20Sopenharmony_ci	depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
958c2ecf20Sopenharmony_ci	select TI_DAVINCI_MDIO
968c2ecf20Sopenharmony_ci	imply PHY_TI_GMII_SEL
978c2ecf20Sopenharmony_ci	depends on TI_K3_AM65_CPTS || !TI_K3_AM65_CPTS
988c2ecf20Sopenharmony_ci	help
998c2ecf20Sopenharmony_ci	  This driver supports TI K3 AM654/J721E CPSW2G Ethernet SubSystem.
1008c2ecf20Sopenharmony_ci	  The two-port Gigabit Ethernet MAC (MCU_CPSW0) subsystem provides
1018c2ecf20Sopenharmony_ci	  Ethernet packet communication for the device: One Ethernet port
1028c2ecf20Sopenharmony_ci	  (port 1) with selectable RGMII and RMII interfaces and an internal
1038c2ecf20Sopenharmony_ci	  Communications Port Programming Interface (CPPI) port (port 0).
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1068c2ecf20Sopenharmony_ci	  will be called ti-am65-cpsw-nuss.
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ciconfig TI_K3_AM65_CPTS
1098c2ecf20Sopenharmony_ci	tristate "TI K3 AM65x CPTS"
1108c2ecf20Sopenharmony_ci	depends on ARCH_K3 && OF
1118c2ecf20Sopenharmony_ci	depends on PTP_1588_CLOCK
1128c2ecf20Sopenharmony_ci	help
1138c2ecf20Sopenharmony_ci	  Say y here to support the TI K3 AM65x CPTS with 1588 features such as
1148c2ecf20Sopenharmony_ci	  PTP hardware clock for each CPTS device and network packets
1158c2ecf20Sopenharmony_ci	  timestamping where applicable.
1168c2ecf20Sopenharmony_ci	  Depending on integration CPTS blocks enable compliance with
1178c2ecf20Sopenharmony_ci	  the IEEE 1588-2008 standard for a precision clock synchronization
1188c2ecf20Sopenharmony_ci	  protocol, Ethernet Enhanced Scheduled Traffic Operations (CPTS_ESTFn)
1198c2ecf20Sopenharmony_ci	  and PCIe Subsystem Precision Time Measurement (PTM).
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciconfig TI_AM65_CPSW_TAS
1228c2ecf20Sopenharmony_ci	bool "Enable TAS offload in AM65 CPSW"
1238c2ecf20Sopenharmony_ci	depends on TI_K3_AM65_CPSW_NUSS && NET_SCH_TAPRIO && TI_K3_AM65_CPTS
1248c2ecf20Sopenharmony_ci	help
1258c2ecf20Sopenharmony_ci	  Say y here to support Time Aware Shaper(TAS) offload in AM65 CPSW.
1268c2ecf20Sopenharmony_ci	  AM65 CPSW hardware supports Enhanced Scheduled Traffic (EST)
1278c2ecf20Sopenharmony_ci	  defined in IEEE 802.1Q 2018. The EST scheduler runs on CPTS and the
1288c2ecf20Sopenharmony_ci	  TAS/EST schedule is updated in the Fetch RAM memory of the CPSW.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig TI_KEYSTONE_NETCP
1318c2ecf20Sopenharmony_ci	tristate "TI Keystone NETCP Core Support"
1328c2ecf20Sopenharmony_ci	select TI_DAVINCI_MDIO
1338c2ecf20Sopenharmony_ci	depends on OF
1348c2ecf20Sopenharmony_ci	depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
1358c2ecf20Sopenharmony_ci	depends on TI_CPTS || !TI_CPTS
1368c2ecf20Sopenharmony_ci	help
1378c2ecf20Sopenharmony_ci	  This driver supports TI's Keystone NETCP Core.
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1408c2ecf20Sopenharmony_ci	  will be called keystone_netcp.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ciconfig TI_KEYSTONE_NETCP_ETHSS
1438c2ecf20Sopenharmony_ci	depends on TI_KEYSTONE_NETCP
1448c2ecf20Sopenharmony_ci	tristate "TI Keystone NETCP Ethernet subsystem Support"
1458c2ecf20Sopenharmony_ci	help
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1488c2ecf20Sopenharmony_ci	  will be called keystone_netcp_ethss.
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ciconfig TLAN
1518c2ecf20Sopenharmony_ci	tristate "TI ThunderLAN support"
1528c2ecf20Sopenharmony_ci	depends on (PCI || EISA)
1538c2ecf20Sopenharmony_ci	help
1548c2ecf20Sopenharmony_ci	  If you have a PCI Ethernet network card based on the ThunderLAN chip
1558c2ecf20Sopenharmony_ci	  which is supported by this driver, say Y here.
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci	  Devices currently supported by this driver are Compaq Netelligent,
1588c2ecf20Sopenharmony_ci	  Compaq NetFlex and Olicom cards.  Please read the file
1598c2ecf20Sopenharmony_ci	  <file:Documentation/networking/device_drivers/ethernet/ti/tlan.rst>
1608c2ecf20Sopenharmony_ci	  for more details.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
1638c2ecf20Sopenharmony_ci	  will be called tlan.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	  Please email feedback to <torben.mathiasen@compaq.com>.
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ciconfig CPMAC
1688c2ecf20Sopenharmony_ci	tristate "TI AR7 CPMAC Ethernet support"
1698c2ecf20Sopenharmony_ci	depends on AR7
1708c2ecf20Sopenharmony_ci	select PHYLIB
1718c2ecf20Sopenharmony_ci	help
1728c2ecf20Sopenharmony_ci	  TI AR7 CPMAC Ethernet support
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciendif # NET_VENDOR_TI
175