On 9/27/24 11:42, Michal Wilczynski wrote: > 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 Just realized that I haven't included a summary of changes for v2. Here it is: v2: - fixed thead,th1520-mbox.yaml binding file by dropping redundant descriptions, renaming reg-names, removing unnecessary clocks, providing constraints and defining ICU's - fixed the mailbox driver code to work well with updated binding-file, removed clocks support, as it's not necessary for mailbox to work - adjusted the device tree node instance of mbox_910t so it will work with updated bindings file > > .../bindings/mailbox/thead,th1520-mbox.yaml | 84 +++ > MAINTAINERS | 2 + > arch/riscv/boot/dts/thead/th1520.dtsi | 13 + > drivers/mailbox/Kconfig | 10 + > drivers/mailbox/Makefile | 2 + > drivers/mailbox/mailbox-th1520.c | 551 ++++++++++++++++++ > 6 files changed, 662 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml > create mode 100644 drivers/mailbox/mailbox-th1520.c >