linux/drivers/soc/ti/Kconfig

# SPDX-License-Identifier: GPL-2.0-only

#
# TI SOC drivers
#
menuconfig SOC_TI
	bool "TI SOC drivers support"

if SOC_TI

config KEYSTONE_NAVIGATOR_QMSS
	tristate "Keystone Queue Manager Sub System"
	depends on ARCH_KEYSTONE
	help
	  Say y here to support the Keystone multicore Navigator Queue
	  Manager support. The Queue Manager is a hardware module that
	  is responsible for accelerating management of the packet queues.
	  Packets are queued/de-queued by writing/reading descriptor address
	  to a particular memory mapped location in the Queue Manager module.

	  If unsure, say N.

config KEYSTONE_NAVIGATOR_DMA
	tristate "TI Keystone Navigator Packet DMA support"
	depends on ARCH_KEYSTONE
	help
	  Say y tp enable support for the Keystone Navigator Packet DMA on
	  on Keystone family of devices. It sets up the dma channels for the
	  Queue Manager Sub System.

	  If unsure, say N.

config AMX3_PM
	tristate "AMx3 Power Management"
	depends on SOC_AM33XX || SOC_AM43XX
	depends on WKUP_M3_IPC && TI_EMIF_SRAM && SRAM && RTC_DRV_OMAP
	help
	  Enable power management on AM335x and AM437x. Required for suspend to mem
	  and standby states on both AM335x and AM437x platforms and for deeper cpuidle
	  c-states on AM335x. Also required for rtc and ddr in self-refresh low
	  power mode on AM437x platforms.

config WKUP_M3_IPC
	tristate "TI AMx3 Wkup-M3 IPC Driver"
	depends on WKUP_M3_RPROC
	depends on OMAP2PLUS_MBOX
	help
	  TI AM33XX and AM43XX have a Cortex M3, the Wakeup M3, to handle
	  low power transitions. This IPC driver provides the necessary API
	  to communicate and use the Wakeup M3 for PM features like suspend
	  resume and boots it using wkup_m3_rproc driver.

config TI_K3_RINGACC
	tristate "K3 Ring accelerator Sub System"
	depends on ARCH_K3 || COMPILE_TEST
	depends on TI_SCI_INTA_IRQCHIP
	help
	  Say y here to support the K3 Ring accelerator module.
	  The Ring Accelerator (RINGACC or RA)  provides hardware acceleration
	  to enable straightforward passing of work between a producer
	  and a consumer. There is one RINGACC module per NAVSS on TI AM65x SoCs
	  If unsure, say N.

config TI_K3_SOCINFO
	bool
	depends on ARCH_K3 || COMPILE_TEST
	select SOC_BUS
	select MFD_SYSCON
	help
	  Include support for the SoC bus socinfo for the TI K3 Multicore SoC
	  platforms to provide information about the SoC family and
	  variant to user space.

config TI_PRUSS
	tristate "TI PRU-ICSS Subsystem Platform drivers"
	depends on SOC_AM33XX || SOC_AM43XX || SOC_DRA7XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
	select MFD_SYSCON
	help
	  TI PRU-ICSS Subsystem platform specific support.

	  Say Y or M here to support the Programmable Realtime Unit (PRU)
	  processors on various TI SoCs. It's safe to say N here if you're
	  not interested in the PRU or if you are unsure.

endif # SOC_TI

config TI_SCI_INTA_MSI_DOMAIN
	bool
	select GENERIC_MSI_IRQ
	help
	  Driver to enable Interrupt Aggregator specific MSI Domain.