Re: [PATCH v9 5/9] mailbox: add CIX mailbox driver
From: Guomin chen <hidden>
Date: 2025-07-08 09:52:00
Also in:
linux-devicetree, lkml
On Fri, Jul 04, 2025 at 01:35:51PM -0500, Jassi Brar wrote:
[Some people who received this message don't often get email from jassisinghbrar@gmail.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] EXTERNAL EMAIL On Fri, Jul 4, 2025 at 11:05 AM Arnd Bergmann [off-list ref] wrote:quoted
On Mon, Jun 9, 2025, at 05:16, Peter Chen wrote:quoted
From: Guomin Chen <redacted> The CIX mailbox controller, used in the Cix SoCs, like sky1. facilitates message transmission between multiple processors within the SoC, such as the AP, PM, audio DSP, SensorHub MCU, and others. Reviewed-by: Peter Chen <peter.chen@cixtech.com> Signed-off-by: Guomin Chen <redacted> Signed-off-by: Gary Yang <redacted> Signed-off-by: Lihua Liu <redacted> Signed-off-by: Peter Chen <peter.chen@cixtech.com>This is the only driver holding up the merge of the CIX platform, so I had a closer look myself.Sorry I wasn't made aware of this. Also I normally let the drivers roast until second half hoping other platform folks find issues - I have reduced imposing my opinions on platform specific code because it is usually met with some sledge-hammer requirement.quoted
The one thing that stuck out to me is the design of having multiple types of mailbox in one driver, which feels out of scope for a simple mailbox.Yes, if not all modes are used currently, maybe drop unused ones.
Hi Jassi Brar & Arnd Bergmann Many thanks to both of you for your responses. In the CIX platform, each mailbox controller is equipped with 11 channels, categorized into four communication types: Doorbell, REG, FIFO, and FAST. The Doorbell/REG transfer modes are used for the SCMI framework, while the FIFO transfer mode is used for the remoteproc/rpmsg framework. Currently, there are no clients using the FAST mode, but there may be in the future. In the CIX Sky1 SoC, there are 4 pairs of mailbox controllers (since each mailbox controller is unidirectional, 2 mailbox controllers are required to establish a single bidirectional communication link, one for receiving and one for transmitting): AP <--> PM (using Doorbell transfer mode), AP <--> SE (using REG transfer mode), AP <--> DSP (using FIFO transfer mode), AP <--> SensorHub (using FIFO transfer mode). Since this patchset is only a minimal system that includes only the necessary subsystems for booting, it contains only the SCMI clock client using Doorbell mode. Other clients using different transfer modes are not included in this patchset, but they will be added later. Supporting multiple types of transfer modes is a feature of this driver that leverages the hardware capabilities. We are not the only ones with a relatively complex mailbox design; for example, the NXP mailbox driver also supports multiple types of transfer modes. Thanks Guomin Chen
Thanks.