162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#
462306a36Sopenharmony_ci# TI SOC drivers
562306a36Sopenharmony_ci#
662306a36Sopenharmony_cimenuconfig SOC_TI
762306a36Sopenharmony_ci	bool "TI SOC drivers support"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciif SOC_TI
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciconfig KEYSTONE_NAVIGATOR_QMSS
1262306a36Sopenharmony_ci	tristate "Keystone Queue Manager Sub System"
1362306a36Sopenharmony_ci	depends on ARCH_KEYSTONE
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  Say y here to support the Keystone multicore Navigator Queue
1662306a36Sopenharmony_ci	  Manager support. The Queue Manager is a hardware module that
1762306a36Sopenharmony_ci	  is responsible for accelerating management of the packet queues.
1862306a36Sopenharmony_ci	  Packets are queued/de-queued by writing/reading descriptor address
1962306a36Sopenharmony_ci	  to a particular memory mapped location in the Queue Manager module.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	  If unsure, say N.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciconfig KEYSTONE_NAVIGATOR_DMA
2462306a36Sopenharmony_ci	tristate "TI Keystone Navigator Packet DMA support"
2562306a36Sopenharmony_ci	depends on ARCH_KEYSTONE
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  Say y tp enable support for the Keystone Navigator Packet DMA on
2862306a36Sopenharmony_ci	  on Keystone family of devices. It sets up the dma channels for the
2962306a36Sopenharmony_ci	  Queue Manager Sub System.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  If unsure, say N.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig AMX3_PM
3462306a36Sopenharmony_ci	tristate "AMx3 Power Management"
3562306a36Sopenharmony_ci	depends on SOC_AM33XX || SOC_AM43XX
3662306a36Sopenharmony_ci	depends on WKUP_M3_IPC && TI_EMIF_SRAM && SRAM && RTC_DRV_OMAP
3762306a36Sopenharmony_ci	help
3862306a36Sopenharmony_ci	  Enable power management on AM335x and AM437x. Required for suspend to mem
3962306a36Sopenharmony_ci	  and standby states on both AM335x and AM437x platforms and for deeper cpuidle
4062306a36Sopenharmony_ci	  c-states on AM335x. Also required for rtc and ddr in self-refresh low
4162306a36Sopenharmony_ci	  power mode on AM437x platforms.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig WKUP_M3_IPC
4462306a36Sopenharmony_ci	tristate "TI AMx3 Wkup-M3 IPC Driver"
4562306a36Sopenharmony_ci	depends on WKUP_M3_RPROC
4662306a36Sopenharmony_ci	depends on OMAP2PLUS_MBOX
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  TI AM33XX and AM43XX have a Cortex M3, the Wakeup M3, to handle
4962306a36Sopenharmony_ci	  low power transitions. This IPC driver provides the necessary API
5062306a36Sopenharmony_ci	  to communicate and use the Wakeup M3 for PM features like suspend
5162306a36Sopenharmony_ci	  resume and boots it using wkup_m3_rproc driver.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciconfig TI_SCI_PM_DOMAINS
5462306a36Sopenharmony_ci	tristate "TI SCI PM Domains Driver"
5562306a36Sopenharmony_ci	depends on TI_SCI_PROTOCOL
5662306a36Sopenharmony_ci	depends on PM_GENERIC_DOMAINS
5762306a36Sopenharmony_ci	help
5862306a36Sopenharmony_ci	  Generic power domain implementation for TI device implementing
5962306a36Sopenharmony_ci	  the TI SCI protocol.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	  To compile this as a module, choose M here. The module will be
6262306a36Sopenharmony_ci	  called ti_sci_pm_domains. Note this is needed early in boot before
6362306a36Sopenharmony_ci	  rootfs may be available.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig TI_K3_RINGACC
6662306a36Sopenharmony_ci	tristate "K3 Ring accelerator Sub System"
6762306a36Sopenharmony_ci	depends on ARCH_K3 || COMPILE_TEST
6862306a36Sopenharmony_ci	depends on TI_SCI_INTA_IRQCHIP
6962306a36Sopenharmony_ci	help
7062306a36Sopenharmony_ci	  Say y here to support the K3 Ring accelerator module.
7162306a36Sopenharmony_ci	  The Ring Accelerator (RINGACC or RA)  provides hardware acceleration
7262306a36Sopenharmony_ci	  to enable straightforward passing of work between a producer
7362306a36Sopenharmony_ci	  and a consumer. There is one RINGACC module per NAVSS on TI AM65x SoCs
7462306a36Sopenharmony_ci	  If unsure, say N.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig TI_K3_SOCINFO
7762306a36Sopenharmony_ci	bool
7862306a36Sopenharmony_ci	depends on ARCH_K3 || COMPILE_TEST
7962306a36Sopenharmony_ci	select SOC_BUS
8062306a36Sopenharmony_ci	select MFD_SYSCON
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  Include support for the SoC bus socinfo for the TI K3 Multicore SoC
8362306a36Sopenharmony_ci	  platforms to provide information about the SoC family and
8462306a36Sopenharmony_ci	  variant to user space.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciconfig TI_PRUSS
8762306a36Sopenharmony_ci	tristate "TI PRU-ICSS Subsystem Platform drivers"
8862306a36Sopenharmony_ci	depends on SOC_AM33XX || SOC_AM43XX || SOC_DRA7XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
8962306a36Sopenharmony_ci	select MFD_SYSCON
9062306a36Sopenharmony_ci	help
9162306a36Sopenharmony_ci	  TI PRU-ICSS Subsystem platform specific support.
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	  Say Y or M here to support the Programmable Realtime Unit (PRU)
9462306a36Sopenharmony_ci	  processors on various TI SoCs. It's safe to say N here if you're
9562306a36Sopenharmony_ci	  not interested in the PRU or if you are unsure.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciendif # SOC_TI
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciconfig TI_SCI_INTA_MSI_DOMAIN
10062306a36Sopenharmony_ci	bool
10162306a36Sopenharmony_ci	select GENERIC_MSI_IRQ
10262306a36Sopenharmony_ci	help
10362306a36Sopenharmony_ci	  Driver to enable Interrupt Aggregator specific MSI Domain.
104