2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2013-01-29 00:13:14 +08:00
|
|
|
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
|
2014-06-26 21:39:42 +08:00
|
|
|
|
2021-10-25 14:22:04 +08:00
|
|
|
config APPLE_MAILBOX
|
|
|
|
tristate "Apple Mailbox driver"
|
|
|
|
depends on ARCH_APPLE || (ARM64 && COMPILE_TEST)
|
|
|
|
default ARCH_APPLE
|
|
|
|
help
|
|
|
|
Apple SoCs have various co-processors required for certain
|
|
|
|
peripherals to work (NVMe, display controller, etc.). This
|
|
|
|
driver adds support for the mailbox controller used to
|
|
|
|
communicate with those.
|
|
|
|
|
|
|
|
Say Y here if you have a Apple SoC.
|
|
|
|
|
2014-06-26 21:39:42 +08:00
|
|
|
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.
|
|
|
|
|
2020-11-17 18:02:06 +08:00
|
|
|
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.
|
|
|
|
|
2018-08-03 13:29:19 +08:00
|
|
|
config IMX_MBOX
|
|
|
|
tristate "i.MX Mailbox"
|
|
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
|
|
help
|
|
|
|
Mailbox implementation for i.MX Messaging Unit (MU).
|
|
|
|
|
2016-08-18 18:10:25 +08:00
|
|
|
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.
|
|
|
|
|
2013-01-29 00:13:14 +08:00
|
|
|
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.
|
|
|
|
|
2019-03-31 11:15:33 +08:00
|
|
|
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).
|
|
|
|
|
2013-03-13 06:55:29 +08:00
|
|
|
config OMAP2PLUS_MBOX
|
|
|
|
tristate "OMAP2+ Mailbox framework support"
|
2019-06-05 01:01:46 +08:00
|
|
|
depends on ARCH_OMAP2PLUS || ARCH_K3
|
2013-03-13 06:55:29 +08:00
|
|
|
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 OMAP_MBOX_KFIFO_SIZE
|
|
|
|
int "Mailbox kfifo default buffer size (bytes)"
|
2014-06-25 08:43:38 +08:00
|
|
|
depends on OMAP2PLUS_MBOX
|
2013-03-13 06:55:29 +08:00
|
|
|
default 256
|
|
|
|
help
|
|
|
|
Specify the default size of mailbox's kfifo buffers (bytes).
|
|
|
|
This can also be changed at runtime (via the mbox_kfifo_size
|
|
|
|
module parameter).
|
2014-11-13 08:59:38 +08:00
|
|
|
|
2015-10-27 15:31:45 +08:00
|
|
|
config ROCKCHIP_MBOX
|
2021-03-13 10:31:10 +08:00
|
|
|
bool "Rockchip Soc Integrated Mailbox Support"
|
2015-10-27 15:31:45 +08:00
|
|
|
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.
|
|
|
|
|
2014-11-13 08:59:38 +08:00
|
|
|
config PCC
|
|
|
|
bool "Platform Communication Channel Driver"
|
|
|
|
depends on ACPI
|
2015-08-05 21:40:31 +08:00
|
|
|
default n
|
2014-11-13 08:59:38 +08:00
|
|
|
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.
|
|
|
|
|
2015-02-04 16:32:18 +08:00
|
|
|
config ALTERA_MBOX
|
|
|
|
tristate "Altera Mailbox"
|
2015-05-05 02:59:46 +08:00
|
|
|
depends on HAS_IOMEM
|
2015-02-04 16:32:18 +08:00
|
|
|
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.
|
2015-05-06 04:27:45 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2015-10-16 15:21:28 +08:00
|
|
|
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.
|
|
|
|
|
2016-03-17 08:23:14 +08:00
|
|
|
config TI_MESSAGE_MANAGER
|
|
|
|
tristate "Texas Instruments Message Manager Driver"
|
2018-08-28 08:53:11 +08:00
|
|
|
depends on ARCH_KEYSTONE || ARCH_K3
|
2022-11-23 04:22:44 +08:00
|
|
|
default ARCH_K3
|
2016-03-17 08:23:14 +08:00
|
|
|
help
|
|
|
|
An implementation of Message Manager slave driver for Keystone
|
2018-08-28 08:53:11 +08:00
|
|
|
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
|
2016-03-17 08:23:14 +08:00
|
|
|
multiple processors within the SoC. Select this driver if your
|
|
|
|
platform has support for the hardware block.
|
|
|
|
|
2018-02-28 12:54:54 +08:00
|
|
|
config HI3660_MBOX
|
2018-05-23 04:54:49 +08:00
|
|
|
tristate "Hi3660 Mailbox" if EXPERT
|
|
|
|
depends on (ARCH_HISI || COMPILE_TEST)
|
|
|
|
depends on OF
|
|
|
|
default ARCH_HISI
|
2018-02-28 12:54:54 +08:00
|
|
|
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.
|
|
|
|
|
2016-02-15 21:50:24 +08:00
|
|
|
config HI6220_MBOX
|
2018-05-23 04:54:49 +08:00
|
|
|
tristate "Hi6220 Mailbox" if EXPERT
|
|
|
|
depends on (ARCH_HISI || COMPILE_TEST)
|
|
|
|
depends on OF
|
|
|
|
default ARCH_HISI
|
2016-02-15 21:50:24 +08:00
|
|
|
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.
|
|
|
|
|
2015-10-16 15:21:30 +08:00
|
|
|
config MAILBOX_TEST
|
|
|
|
tristate "Mailbox Test Client"
|
|
|
|
depends on OF
|
2016-01-26 06:24:09 +08:00
|
|
|
depends on HAS_IOMEM
|
2015-10-16 15:21:30 +08:00
|
|
|
help
|
|
|
|
Test client to help with testing new Controller driver
|
|
|
|
implementations.
|
|
|
|
|
2021-06-24 23:00:55 +08:00
|
|
|
config POLARFIRE_SOC_MAILBOX
|
|
|
|
tristate "PolarFire SoC (MPFS) Mailbox"
|
|
|
|
depends on HAS_IOMEM
|
|
|
|
depends on SOC_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.
|
|
|
|
|
2017-05-28 07:14:04 +08:00
|
|
|
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.
|
|
|
|
|
2016-08-20 01:19:39 +08:00
|
|
|
config TEGRA_HSP_MBOX
|
|
|
|
bool "Tegra HSP (Hardware Synchronization Primitives) Driver"
|
2018-03-13 20:11:43 +08:00
|
|
|
depends on ARCH_TEGRA
|
2016-08-20 01:19:39 +08:00
|
|
|
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.
|
|
|
|
|
2016-02-13 11:39:26 +08:00
|
|
|
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.
|
2016-07-01 03:59:23 +08:00
|
|
|
|
|
|
|
config BCM_PDC_MBOX
|
2017-02-23 22:49:50 +08:00
|
|
|
tristate "Broadcom FlexSparx DMA Mailbox"
|
|
|
|
depends on ARCH_BCM_IPROC || COMPILE_TEST
|
2016-07-01 03:59:23 +08:00
|
|
|
help
|
2017-02-23 22:49:50 +08:00
|
|
|
Mailbox implementation for the Broadcom FlexSparx DMA ring manager,
|
2016-07-01 03:59:23 +08:00
|
|
|
which provides access to various offload engines on Broadcom
|
2017-02-23 22:49:50 +08:00
|
|
|
SoCs, including FA2/FA+ on Northstar Plus and PDC on Northstar 2.
|
2017-03-15 14:40:00 +08:00
|
|
|
|
|
|
|
config BCM_FLEXRM_MBOX
|
|
|
|
tristate "Broadcom FlexRM Mailbox"
|
2017-03-29 13:30:55 +08:00
|
|
|
depends on ARM64
|
2017-10-03 13:21:50 +08:00
|
|
|
depends on ARCH_BCM_IPROC || COMPILE_TEST
|
2022-11-11 21:54:40 +08:00
|
|
|
select GENERIC_MSI_IRQ
|
2017-10-03 13:21:52 +08:00
|
|
|
default m if ARCH_BCM_IPROC
|
2017-03-15 14:40:00 +08:00
|
|
|
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.
|
2018-05-31 16:27:25 +08:00
|
|
|
|
|
|
|
config STM32_IPCC
|
|
|
|
tristate "STM32 IPCC Mailbox"
|
2020-11-01 23:42:29 +08:00
|
|
|
depends on MACH_STM32MP157 || COMPILE_TEST
|
2018-05-31 16:27:25 +08:00
|
|
|
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.
|
2018-07-25 09:26:40 +08:00
|
|
|
|
2022-02-25 21:24:27 +08:00
|
|
|
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.
|
|
|
|
|
2018-07-25 09:26:40 +08:00
|
|
|
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.
|
2019-02-22 08:36:33 +08:00
|
|
|
|
|
|
|
config ZYNQMP_IPI_MBOX
|
|
|
|
bool "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.
|
|
|
|
|
2020-02-23 12:08:49 +08:00
|
|
|
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.
|
|
|
|
|
2020-05-22 21:31:09 +08:00
|
|
|
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.
|
|
|
|
|
2020-05-31 07:15:12 +08:00
|
|
|
config QCOM_IPCC
|
2021-07-16 15:49:46 +08:00
|
|
|
tristate "Qualcomm Technologies, Inc. IPCC driver"
|
2020-05-31 07:15:12 +08:00
|
|
|
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.
|
|
|
|
|
2013-01-29 00:13:14 +08:00
|
|
|
endif
|