The T-head TH1520 SoC supports a hardware mailbox that enables two cores
within the SoC to communicate and coordinate [1]. One example of such
coordination would be cooperation with the T-Head E902 core, which is
responsible for power, clock, and resource management. For example, in
the specific case of the BXM-4-64 GPU, it needs to be powered on by the
E902 core, and the kernel running on the E910 needs to 'ask' the
firmware running on the E902 core to enable power to the GPU island.
Given recent advancements in work on the upstream GPU driver [2], there
is an emerging need to get this code in the mainline kernel.
Link: https://openbeagle.org/beaglev-ahead/beaglev-ahead/-/blob/main/docs/TH1520%20System%20User%20Manual.pdf [1]
Link: https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/1 [2]
Michal Wilczynski (3):
mailbox: Introduce support for T-head TH1520 Mailbox driver
dt-bindings: mailbox: Add thead,th1520-mailbox bindings
riscv: dts: thead: Add mailbox node
.../bindings/mailbox/thead,th1520-mbox.yaml | 83 +++
MAINTAINERS | 2 +
arch/riscv/boot/dts/thead/th1520.dtsi | 15 +
drivers/mailbox/Kconfig | 10 +
drivers/mailbox/Makefile | 2 +
drivers/mailbox/mailbox-th1520.c | 598 ++++++++++++++++++
6 files changed, 710 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml
create mode 100644 drivers/mailbox/mailbox-th1520.c
--
2.34.1