Thread (25 messages) 25 messages, 5 authors, 2025-07-16

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.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help