[PATCH 1/6] mbox: add polarfire soc system controller mailbox

Conor.Dooley at microchip.com Conor.Dooley at microchip.com
Mon Nov 30 08:23:06 EST 2020


On 20/11/2020 00:05, Damien Le Moal wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 2020/11/20 2:05, conor.dooley at microchip.com wrote:
>> From: Conor Dooley <conor.dooley at microchip.com>
>>
>> This driver adds support for the single mailbox channel of the MSS
>> system controller on the Microchip PolarFire SoC.
>>
>> Signed-off-by: Conor Dooley <conor.dooley at microchip.com>
>> ---
>>  drivers/mailbox/Kconfig        |  12 ++
>>  drivers/mailbox/Makefile       |   2 +
>>  drivers/mailbox/mailbox-mpfs.c | 296 +++++++++++++++++++++++++++++++++
>>  3 files changed, 310 insertions(+)
>>  create mode 100644 drivers/mailbox/mailbox-mpfs.c
>>
>> diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig
>> index 05b1009e2820..4881a519683a 100644
>> --- a/drivers/mailbox/Kconfig
>> +++ b/drivers/mailbox/Kconfig
>> @@ -153,6 +153,18 @@ config MAILBOX_TEST
>>         Test client to help with testing new Controller driver
>>         implementations.
>>
>> +config MPFS_MBOX
>> +     tristate "MPFS Mailbox"
>> +     depends on HAS_IOMEM
> Shouldn't this dependency be on SOC_MICROCHIP_POLARFIRE ?
Not entirely sure what you mean by this one. You want the HAS_IOMEM to be selected by SOC_MICROCHIP_POLARFIRE ?
>
>> +     depends on SOC_MICROCHIP_POLARFIRE
>> +     help
>> +       This driver adds support for the Polarfire SoC mailbox controller.
>> +
>> +       To compile this driver as a module, choose M here. the
>> +       module will be called mailbox-mpfs.
>> +
>> +       If unsure, say Y.
>> +
>>  config QCOM_APCS_IPC
>>       tristate "Qualcomm APCS IPC driver"
>>       depends on ARCH_QCOM || COMPILE_TEST
>> diff --git a/drivers/mailbox/Makefile b/drivers/mailbox/Makefile
>> index 2e06e02b2e03..63f49b5bcc43 100644
>> --- a/drivers/mailbox/Makefile
>> +++ b/drivers/mailbox/Makefile
>> @@ -39,6 +39,8 @@ obj-$(CONFIG_BCM_PDC_MBOX)  += bcm-pdc-mailbox.o
>>
>>  obj-$(CONFIG_BCM_FLEXRM_MBOX)        += bcm-flexrm-mailbox.o
>>
>> +obj-$(CONFIG_MPFS_MBOX)      += mailbox-mpfs.o
>> +
>>  obj-$(CONFIG_QCOM_APCS_IPC)  += qcom-apcs-ipc-mailbox.o
>>
>>  obj-$(CONFIG_TEGRA_HSP_MBOX) += tegra-hsp.o
>> diff --git a/drivers/mailbox/mailbox-mpfs.c b/drivers/mailbox/mailbox-mpfs.c
>> new file mode 100644
>> index 000000000000..686ccd3317f9
>> --- /dev/null
>> +++ b/drivers/mailbox/mailbox-mpfs.c
>> @@ -0,0 +1,296 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Microchip MPFS system controller/mailbox controller driver
>> + *
>> + * Copyright (c) 2020 Microchip Corporation. All rights reserved.
>> + *
>> + * Author: Conor Dooley <conor.dooley at microchip.com>
>> + *
>> + */
>> +
>> +#include <linux/io.h>
>> +#include <linux/err.h>
>> +#include <linux/init.h>
>> +#include <linux/module.h>
>> +#include <linux/kernel.h>
>> +#include <linux/interrupt.h>
>> +#include <linux/platform_device.h>
>> +#include <linux/mailbox_controller.h>
>> +#include <soc/microchip/mpfs.h>
>> +
>> +#define SERVICES_CR_OFFSET                   0x50u
>> +#define SERVICES_SR_OFFSET                   0x54u
>> +#define MAILBOX_REG_OFFSET                   0x800u
>> +#define MSS_SYS_SUCCESS                              0u
trimmed, will address the rest in V2
> -- 
> Damien Le Moal
> Western Digital Research

 



More information about the linux-riscv mailing list