Skip to content

Commit e4b1d67

Browse files
vfalanisJassi Brar
authored andcommitted
mailbox: add Microchip IPC support
Add a mailbox controller driver for the Microchip Inter-processor Communication (IPC), which is used to send and receive data between processors. The driver uses the RISC-V Supervisor Binary Interface (SBI) to communicate with software running in machine mode (M-mode) to access the IPC hardware block. Additional details on the Microchip vendor extension and the IPC function IDs described in the driver can be found in the following documentation: https://github.com/linux4microchip/microchip-sbi-ecall-extension This SBI interface in this driver is compatible with the Mi-V Inter-hart Communication (IHC) IP. Transmitting and receiving data through the mailbox framework is done through struct mchp_ipc_msg. Signed-off-by: Valentina Fernandez <[email protected]> Signed-off-by: Jassi Brar <[email protected]>
1 parent af33bd5 commit e4b1d67

File tree

4 files changed

+552
-0
lines changed

4 files changed

+552
-0
lines changed

drivers/mailbox/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,19 @@ config POLARFIRE_SOC_MAILBOX
178178

179179
If unsure, say N.
180180

181+
config MCHP_SBI_IPC_MBOX
182+
tristate "Microchip Inter-processor Communication (IPC) SBI driver"
183+
depends on RISCV_SBI || COMPILE_TEST
184+
depends on ARCH_MICROCHIP
185+
help
186+
Mailbox implementation for Microchip devices with an
187+
Inter-process communication (IPC) controller.
188+
189+
To compile this driver as a module, choose M here. the
190+
module will be called mailbox-mchp-ipc-sbi.
191+
192+
If unsure, say N.
193+
181194
config QCOM_APCS_IPC
182195
tristate "Qualcomm APCS IPC driver"
183196
depends on ARCH_QCOM || COMPILE_TEST

drivers/mailbox/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ obj-$(CONFIG_BCM_FLEXRM_MBOX) += bcm-flexrm-mailbox.o
4545

4646
obj-$(CONFIG_POLARFIRE_SOC_MAILBOX) += mailbox-mpfs.o
4747

48+
obj-$(CONFIG_MCHP_SBI_IPC_MBOX) += mailbox-mchp-ipc-sbi.o
49+
4850
obj-$(CONFIG_QCOM_APCS_IPC) += qcom-apcs-ipc-mailbox.o
4951

5052
obj-$(CONFIG_TEGRA_HSP_MBOX) += tegra-hsp.o

0 commit comments

Comments
 (0)