49b323157b
With the system coprocessor managing the range allocation of the inputs to Interrupt Aggregator, it is difficult to represent the device IRQs from DT. The suggestion is to use MSI in such cases where devices wants to allocate and group interrupts dynamically. Create a MSI domain bus layer that allocates and frees MSIs for a device. APIs that are implemented: - ti_sci_inta_msi_create_irq_domain() that creates a MSI domain - ti_sci_inta_msi_domain_alloc_irqs() that creates MSIs for the specified device and resource. - ti_sci_inta_msi_domain_free_irqs() frees the irqs attached to the device. - ti_sci_inta_msi_get_virq() for getting the virq attached to a specific event. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
83 lines
2.2 KiB
Plaintext
83 lines
2.2 KiB
Plaintext
# 64-bit ARM SoCs from TI
|
|
if ARM64
|
|
|
|
if ARCH_K3
|
|
|
|
config ARCH_K3_AM6_SOC
|
|
bool "K3 AM6 SoC"
|
|
help
|
|
Enable support for TI's AM6 SoC Family support
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
#
|
|
# 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
|
|
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.
|
|
|
|
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_SCI_PM_DOMAINS
|
|
tristate "TI SCI PM Domains Driver"
|
|
depends on TI_SCI_PROTOCOL
|
|
depends on PM_GENERIC_DOMAINS
|
|
help
|
|
Generic power domain implementation for TI device implementing
|
|
the TI SCI protocol.
|
|
|
|
To compile this as a module, choose M here. The module will be
|
|
called ti_sci_pm_domains. Note this is needed early in boot before
|
|
rootfs may be available.
|
|
|
|
config TI_SCI_INTA_MSI_DOMAIN
|
|
bool
|
|
select GENERIC_MSI_IRQ_DOMAIN
|
|
help
|
|
Driver to enable Interrupt Aggregator specific MSI Domain.
|
|
|
|
endif # SOC_TI
|