[PATCH 0/7] mailbox: Improve the mbox core then introduce the goog-mba driver
From: Douglas Anderson <dianders@chromium.org>
Date: 2026-07-14 22:24:45
Also in:
linux-devicetree, linux-samsung-soc, lkml
The goal of this series is to land support for the goog-mba (MailBox Array) IP block that's present in Pixel 10 phones. As can be seen in the device-tree bindings for the goog-mba IP block, the mailbox IP block in Pixel 10 phones is fairly sophisticated. Notably: * It has hardware features that support queuing, meaning that more than one mailbox message can be pending at a time. * The "channels" in a given mailbox array aren't homogeneous. Each "channel" in the mailbox array can have a different amount of memory for messages. Really, the "channels" in a mailbox are considered to be full single-channel mailboxes and a grouping of mailboxes is considered a "mailbox array" (hence the IP block being named "mba") In order to cleanly support some of the sophisticated goog-mba features, improvements are made to the mailbox core. Specifically, support for mailbox controllers that can queue is added and also support for mailbox drivers that have more than one sub-node is added. This is a fairly big rewrite from the downstream MBA driver shipping on Pixel 10 phones, which awkwardly makes due without the improvements to the mailbox core. It has been lightly tested both by porting it to an experimental downstream tree based on 7.1 and also by running it directly upstream against a stripped down Pixel 10 device tree. Douglas Anderson (7): dt-bindings: mailbox: Don't require #mbox-cells to be 1 mailbox: Allow #mbox-cells = <0> without specifying a custom xlate mailbox: Find a matching mailbox by fwnode rather than device mailbox: Simplify circular queue math with mod arithmetic mailbox: Add support for mailbox controllers that can queue dt-bindings: mailbox: goog-mba: Add goog-mba mailbox bindings mailbox: goog-mba: Introduce the goog-mba mailbox driver .../bindings/mailbox/google,mba.yaml | 216 +++++++ .../devicetree/bindings/mailbox/mailbox.txt | 6 +- MAINTAINERS | 8 + drivers/mailbox/Kconfig | 8 + drivers/mailbox/Makefile | 2 + drivers/mailbox/goog-mba-priv.h | 108 ++++ drivers/mailbox/goog-mba-trace.h | 183 ++++++ drivers/mailbox/goog-mba.c | 567 ++++++++++++++++++ drivers/mailbox/mailbox.c | 84 ++- include/linux/mailbox/goog-mba-message.h | 38 ++ include/linux/mailbox_controller.h | 15 +- 11 files changed, 1209 insertions(+), 26 deletions(-) create mode 100644 Documentation/devicetree/bindings/mailbox/google,mba.yaml create mode 100644 drivers/mailbox/goog-mba-priv.h create mode 100644 drivers/mailbox/goog-mba-trace.h create mode 100644 drivers/mailbox/goog-mba.c create mode 100644 include/linux/mailbox/goog-mba-message.h -- 2.55.0.141.g00534a21ce-goog