| # 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 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 | |
| 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)" | |
| depends on OMAP2PLUS_MBOX | |
| 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). | |
| 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_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 |