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
>