mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
54595f2807
Selecting CONFIG_OMAP2PLUS_MBOX while compile testing
causes a build failure:
WARNING: unmet direct dependencies detected for OMAP2PLUS_MBOX
Depends on [n]: MAILBOX [=y] && (ARCH_OMAP2PLUS || ARCH_K3)
Selected by [m]:
- TI_K3_M4_REMOTEPROC [=m] && REMOTEPROC [=y] && (ARCH_K3 || COMPILE_TEST [=y])
Using 'select' to force-enable another subsystem is generally
a mistake and causes problems such as this one, so change the
three drivers that link against this driver to use 'depends on'
instead, and ensure the driver itself can be compile tested
regardless of the platform.
When compile-testing without CONFIG_TI_SCI_PROTOCOL=m, there
is a chance for a link failure, so add a careful dependency
on that.
arm-linux-gnueabi-ld: drivers/remoteproc/ti_k3_m4_remoteproc.o: in function `k3_m4_rproc_probe':
ti_k3_m4_remoteproc.c:(.text.k3_m4_rproc_probe+0x76): undefined reference to `devm_ti_sci_get_by_phandle'
Fixes: ebcf9008a8
("remoteproc: k3-m4: Add a remoteproc driver for M4F subsystem")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Andrew Davis <afd@ti.com>
Reviewed-by: Martyn Welch <martyn.welch@collabora.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
299 lines
10 KiB
Plaintext
299 lines
10 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig MAILBOX
|
|
bool "Mailbox Hardware Support"
|
|
help
|
|
Mailbox is a framework to control hardware communication between
|
|
on-chip processors through queued messages and interrupt driven
|
|
signals. Say Y if your platform supports hardware mailboxes.
|
|
|
|
if MAILBOX
|
|
|
|
config ARM_MHU
|
|
tristate "ARM MHU Mailbox"
|
|
depends on ARM_AMBA
|
|
help
|
|
Say Y here if you want to build the ARM MHU controller driver.
|
|
The controller has 3 mailbox channels, the last of which can be
|
|
used in Secure mode only.
|
|
|
|
config ARM_MHU_V2
|
|
tristate "ARM MHUv2 Mailbox"
|
|
depends on ARM_AMBA
|
|
help
|
|
Say Y here if you want to build the ARM MHUv2 controller driver,
|
|
which provides unidirectional mailboxes between processing elements.
|
|
|
|
config ARM_MHU_V3
|
|
tristate "ARM MHUv3 Mailbox"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on HAS_IOMEM || COMPILE_TEST
|
|
depends on OF
|
|
help
|
|
Say Y here if you want to build the ARM MHUv3 controller driver,
|
|
which provides unidirectional mailboxes between processing elements.
|
|
|
|
ARM MHUv3 controllers can implement a varying number of extensions
|
|
that provides different means of transports: supported extensions
|
|
will be discovered and possibly managed at probe-time.
|
|
|
|
config IMX_MBOX
|
|
tristate "i.MX Mailbox"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
help
|
|
Mailbox implementation for i.MX Messaging Unit (MU).
|
|
|
|
config PLATFORM_MHU
|
|
tristate "Platform MHU Mailbox"
|
|
depends on OF
|
|
depends on HAS_IOMEM
|
|
help
|
|
Say Y here if you want to build a platform specific variant MHU
|
|
controller driver.
|
|
The controller has a maximum of 3 mailbox channels, the last of
|
|
which can be used in Secure mode only.
|
|
|
|
config PL320_MBOX
|
|
bool "ARM PL320 Mailbox"
|
|
depends on ARM_AMBA
|
|
help
|
|
An implementation of the ARM PL320 Interprocessor Communication
|
|
Mailbox (IPCM), tailored for the Calxeda Highbank. It is used to
|
|
send short messages between Highbank's A9 cores and the EnergyCore
|
|
Management Engine, primarily for cpufreq. Say Y here if you want
|
|
to use the PL320 IPCM support.
|
|
|
|
config ARMADA_37XX_RWTM_MBOX
|
|
tristate "Armada 37xx rWTM BIU Mailbox"
|
|
depends on ARCH_MVEBU || COMPILE_TEST
|
|
depends on OF
|
|
help
|
|
Mailbox implementation for communication with the the firmware
|
|
running on the Cortex-M3 rWTM secure processor of the Armada 37xx
|
|
SOC. Say Y here if you are building for such a device (for example
|
|
the Turris Mox router).
|
|
|
|
config OMAP2PLUS_MBOX
|
|
tristate "OMAP2+ Mailbox framework support"
|
|
depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
|
|
help
|
|
Mailbox implementation for OMAP family chips with hardware for
|
|
interprocessor communication involving DSP, IVA1.0 and IVA2 in
|
|
OMAP2/3; or IPU, IVA HD and DSP in OMAP4/5. Say Y here if you
|
|
want to use OMAP2+ Mailbox framework support.
|
|
|
|
config ROCKCHIP_MBOX
|
|
bool "Rockchip Soc Integrated Mailbox Support"
|
|
depends on ARCH_ROCKCHIP || COMPILE_TEST
|
|
help
|
|
This driver provides support for inter-processor communication
|
|
between CPU cores and MCU processor on Some Rockchip SOCs.
|
|
Please check it that the Soc you use have Mailbox hardware.
|
|
Say Y here if you want to use the Rockchip Mailbox support.
|
|
|
|
config PCC
|
|
bool "Platform Communication Channel Driver"
|
|
depends on ACPI
|
|
default n
|
|
help
|
|
ACPI 5.0+ spec defines a generic mode of communication
|
|
between the OS and a platform such as the BMC. This medium
|
|
(PCC) is typically used by CPPC (ACPI CPU Performance management),
|
|
RAS (ACPI reliability protocol) and MPST (ACPI Memory power
|
|
states). Select this driver if your platform implements the
|
|
PCC clients mentioned above.
|
|
|
|
config ALTERA_MBOX
|
|
tristate "Altera Mailbox"
|
|
depends on HAS_IOMEM
|
|
help
|
|
An implementation of the Altera Mailbox soft core. It is used
|
|
to send message between processors. Say Y here if you want to use the
|
|
Altera mailbox support.
|
|
|
|
config BCM2835_MBOX
|
|
tristate "BCM2835 Mailbox"
|
|
depends on ARCH_BCM2835
|
|
help
|
|
An implementation of the BCM2385 Mailbox. It is used to invoke
|
|
the services of the Videocore. Say Y here if you want to use the
|
|
BCM2835 Mailbox.
|
|
|
|
config STI_MBOX
|
|
tristate "STI Mailbox framework support"
|
|
depends on ARCH_STI && OF
|
|
help
|
|
Mailbox implementation for STMicroelectonics family chips with
|
|
hardware for interprocessor communication.
|
|
|
|
config TI_MESSAGE_MANAGER
|
|
tristate "Texas Instruments Message Manager Driver"
|
|
depends on ARCH_KEYSTONE || ARCH_K3
|
|
default ARCH_K3
|
|
help
|
|
An implementation of Message Manager slave driver for Keystone
|
|
and K3 architecture SoCs from Texas Instruments. Message Manager
|
|
is a communication entity found on few of Texas Instrument's keystone
|
|
and K3 architecture SoCs. These may be used for communication between
|
|
multiple processors within the SoC. Select this driver if your
|
|
platform has support for the hardware block.
|
|
|
|
config HI3660_MBOX
|
|
tristate "Hi3660 Mailbox" if EXPERT
|
|
depends on (ARCH_HISI || COMPILE_TEST)
|
|
depends on OF
|
|
default ARCH_HISI
|
|
help
|
|
An implementation of the hi3660 mailbox. It is used to send message
|
|
between application processors and other processors/MCU/DSP. Select
|
|
Y here if you want to use Hi3660 mailbox controller.
|
|
|
|
config HI6220_MBOX
|
|
tristate "Hi6220 Mailbox" if EXPERT
|
|
depends on (ARCH_HISI || COMPILE_TEST)
|
|
depends on OF
|
|
default ARCH_HISI
|
|
help
|
|
An implementation of the hi6220 mailbox. It is used to send message
|
|
between application processors and MCU. Say Y here if you want to
|
|
build Hi6220 mailbox controller driver.
|
|
|
|
config MAILBOX_TEST
|
|
tristate "Mailbox Test Client"
|
|
depends on OF
|
|
depends on HAS_IOMEM
|
|
help
|
|
Test client to help with testing new Controller driver
|
|
implementations.
|
|
|
|
config POLARFIRE_SOC_MAILBOX
|
|
tristate "PolarFire SoC (MPFS) Mailbox"
|
|
depends on HAS_IOMEM
|
|
depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
|
|
help
|
|
This driver adds support for the PolarFire SoC (MPFS) mailbox controller.
|
|
|
|
To compile this driver as a module, choose M here. the
|
|
module will be called mailbox-mpfs.
|
|
|
|
If unsure, say N.
|
|
|
|
config QCOM_APCS_IPC
|
|
tristate "Qualcomm APCS IPC driver"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
help
|
|
Say y here to enable support for the APCS IPC mailbox driver,
|
|
providing an interface for invoking the inter-process communication
|
|
signals from the application processor to other masters.
|
|
|
|
config TEGRA_HSP_MBOX
|
|
bool "Tegra HSP (Hardware Synchronization Primitives) Driver"
|
|
depends on ARCH_TEGRA
|
|
help
|
|
The Tegra HSP driver is used for the interprocessor communication
|
|
between different remote processors and host processors on Tegra186
|
|
and later SoCs. Say Y here if you want to have this support.
|
|
If unsure say N.
|
|
|
|
config XGENE_SLIMPRO_MBOX
|
|
tristate "APM SoC X-Gene SLIMpro Mailbox Controller"
|
|
depends on ARCH_XGENE
|
|
help
|
|
An implementation of the APM X-Gene Interprocessor Communication
|
|
Mailbox (IPCM) between the ARM 64-bit cores and SLIMpro controller.
|
|
It is used to send short messages between ARM64-bit cores and
|
|
the SLIMpro Management Engine, primarily for PM. Say Y here if you
|
|
want to use the APM X-Gene SLIMpro IPCM support.
|
|
|
|
config BCM_PDC_MBOX
|
|
tristate "Broadcom FlexSparx DMA Mailbox"
|
|
depends on ARCH_BCM_IPROC || COMPILE_TEST
|
|
help
|
|
Mailbox implementation for the Broadcom FlexSparx DMA ring manager,
|
|
which provides access to various offload engines on Broadcom
|
|
SoCs, including FA2/FA+ on Northstar Plus and PDC on Northstar 2.
|
|
|
|
config BCM_FLEXRM_MBOX
|
|
tristate "Broadcom FlexRM Mailbox"
|
|
depends on ARM64
|
|
depends on ARCH_BCM_IPROC || COMPILE_TEST
|
|
select GENERIC_MSI_IRQ
|
|
default m if ARCH_BCM_IPROC
|
|
help
|
|
Mailbox implementation of the Broadcom FlexRM ring manager,
|
|
which provides access to various offload engines on Broadcom
|
|
SoCs. Say Y here if you want to use the Broadcom FlexRM.
|
|
|
|
config STM32_IPCC
|
|
tristate "STM32 IPCC Mailbox"
|
|
depends on MACH_STM32MP157 || COMPILE_TEST
|
|
help
|
|
Mailbox implementation for STMicroelectonics STM32 family chips
|
|
with hardware for Inter-Processor Communication Controller (IPCC)
|
|
between processors. Say Y here if you want to have this support.
|
|
|
|
config MTK_ADSP_MBOX
|
|
tristate "MediaTek ADSP Mailbox Controller"
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
help
|
|
Say yes here to add support for "MediaTek ADSP Mailbox Controller.
|
|
This mailbox driver is used to send notification or short message
|
|
between processors with ADSP. It will place the message to share
|
|
buffer and will access the ipc control.
|
|
|
|
config MTK_CMDQ_MBOX
|
|
tristate "MediaTek CMDQ Mailbox Support"
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
select MTK_INFRACFG
|
|
help
|
|
Say yes here to add support for the MediaTek Command Queue (CMDQ)
|
|
mailbox driver. The CMDQ is used to help read/write registers with
|
|
critical time limitation, such as updating display configuration
|
|
during the vblank.
|
|
|
|
config ZYNQMP_IPI_MBOX
|
|
tristate "Xilinx ZynqMP IPI Mailbox"
|
|
depends on ARCH_ZYNQMP && OF
|
|
help
|
|
Say yes here to add support for Xilinx IPI mailbox driver.
|
|
This mailbox driver is used to send notification or short message
|
|
between processors with Xilinx ZynqMP IPI. It will place the
|
|
message to the IPI buffer and will access the IPI control
|
|
registers to kick the other processor or enquire status.
|
|
|
|
config SUN6I_MSGBOX
|
|
tristate "Allwinner sun6i/sun8i/sun9i/sun50i Message Box"
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
default ARCH_SUNXI
|
|
help
|
|
Mailbox implementation for the hardware message box present in
|
|
various Allwinner SoCs. This mailbox is used for communication
|
|
between the application CPUs and the power management coprocessor.
|
|
|
|
config SPRD_MBOX
|
|
tristate "Spreadtrum Mailbox"
|
|
depends on ARCH_SPRD || COMPILE_TEST
|
|
help
|
|
Mailbox driver implementation for the Spreadtrum platform. It is used
|
|
to send message between application processors and MCU. Say Y here if
|
|
you want to build the Spreatrum mailbox controller driver.
|
|
|
|
config QCOM_CPUCP_MBOX
|
|
tristate "Qualcomm Technologies, Inc. CPUCP mailbox driver"
|
|
depends on (ARCH_QCOM || COMPILE_TEST) && 64BIT
|
|
help
|
|
Qualcomm Technologies, Inc. CPUSS Control Processor (CPUCP) mailbox
|
|
controller driver enables communication between AP and CPUCP. Say
|
|
Y here if you want to build this driver.
|
|
|
|
config QCOM_IPCC
|
|
tristate "Qualcomm Technologies, Inc. IPCC driver"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
help
|
|
Qualcomm Technologies, Inc. Inter-Processor Communication Controller
|
|
(IPCC) driver for MSM devices. The driver provides mailbox support for
|
|
sending interrupts to the clients. On the other hand, the driver also
|
|
acts as an interrupt controller for receiving interrupts from clients.
|
|
Say Y here if you want to build this driver.
|
|
|
|
endif
|