1# SPDX-License-Identifier: GPL-2.0-only
2
3#
4# TI SOC drivers
5#
6menuconfig SOC_TI
7	bool "TI SOC drivers support"
8
9if SOC_TI
10
11config KEYSTONE_NAVIGATOR_QMSS
12	tristate "Keystone Queue Manager Sub System"
13	depends on ARCH_KEYSTONE
14	help
15	  Say y here to support the Keystone multicore Navigator Queue
16	  Manager support. The Queue Manager is a hardware module that
17	  is responsible for accelerating management of the packet queues.
18	  Packets are queued/de-queued by writing/reading descriptor address
19	  to a particular memory mapped location in the Queue Manager module.
20
21	  If unsure, say N.
22
23config KEYSTONE_NAVIGATOR_DMA
24	tristate "TI Keystone Navigator Packet DMA support"
25	depends on ARCH_KEYSTONE
26	help
27	  Say y tp enable support for the Keystone Navigator Packet DMA on
28	  on Keystone family of devices. It sets up the dma channels for the
29	  Queue Manager Sub System.
30
31	  If unsure, say N.
32
33config AMX3_PM
34	tristate "AMx3 Power Management"
35	depends on SOC_AM33XX || SOC_AM43XX
36	depends on WKUP_M3_IPC && TI_EMIF_SRAM && SRAM && RTC_DRV_OMAP
37	help
38	  Enable power management on AM335x and AM437x. Required for suspend to mem
39	  and standby states on both AM335x and AM437x platforms and for deeper cpuidle
40	  c-states on AM335x. Also required for rtc and ddr in self-refresh low
41	  power mode on AM437x platforms.
42
43config WKUP_M3_IPC
44	tristate "TI AMx3 Wkup-M3 IPC Driver"
45	depends on WKUP_M3_RPROC
46	depends on OMAP2PLUS_MBOX
47	help
48	  TI AM33XX and AM43XX have a Cortex M3, the Wakeup M3, to handle
49	  low power transitions. This IPC driver provides the necessary API
50	  to communicate and use the Wakeup M3 for PM features like suspend
51	  resume and boots it using wkup_m3_rproc driver.
52
53config TI_SCI_PM_DOMAINS
54	tristate "TI SCI PM Domains Driver"
55	depends on TI_SCI_PROTOCOL
56	depends on PM_GENERIC_DOMAINS
57	help
58	  Generic power domain implementation for TI device implementing
59	  the TI SCI protocol.
60
61	  To compile this as a module, choose M here. The module will be
62	  called ti_sci_pm_domains. Note this is needed early in boot before
63	  rootfs may be available.
64
65config TI_K3_RINGACC
66	bool "K3 Ring accelerator Sub System"
67	depends on ARCH_K3 || COMPILE_TEST
68	depends on TI_SCI_INTA_IRQCHIP
69	help
70	  Say y here to support the K3 Ring accelerator module.
71	  The Ring Accelerator (RINGACC or RA)  provides hardware acceleration
72	  to enable straightforward passing of work between a producer
73	  and a consumer. There is one RINGACC module per NAVSS on TI AM65x SoCs
74	  If unsure, say N.
75
76config TI_K3_SOCINFO
77	bool
78	depends on ARCH_K3 || COMPILE_TEST
79	select SOC_BUS
80	select MFD_SYSCON
81	help
82	  Include support for the SoC bus socinfo for the TI K3 Multicore SoC
83	  platforms to provide information about the SoC family and
84	  variant to user space.
85
86config TI_PRUSS
87	tristate "TI PRU-ICSS Subsystem Platform drivers"
88	depends on SOC_AM33XX || SOC_AM43XX || SOC_DRA7XX || ARCH_KEYSTONE || ARCH_K3
89	select MFD_SYSCON
90	help
91	  TI PRU-ICSS Subsystem platform specific support.
92
93	  Say Y or M here to support the Programmable Realtime Unit (PRU)
94	  processors on various TI SoCs. It's safe to say N here if you're
95	  not interested in the PRU or if you are unsure.
96
97endif # SOC_TI
98
99config TI_SCI_INTA_MSI_DOMAIN
100	bool
101	select GENERIC_MSI_IRQ_DOMAIN
102	help
103	  Driver to enable Interrupt Aggregator specific MSI Domain.
104