On 3/12/25 14:40, Ulf Hansson wrote: > On Tue, 11 Mar 2025 at 18:20, Michal Wilczynski > <m.wilczynski@xxxxxxxxxxx> wrote: >> >> This patch series introduces and documents power management (PM) support and >> the AON firmware driver for the T-Head TH1520 SoC, as used on the LicheePi 4A >> board. While part of a larger effort to enable the Imagination BXM-4-64 GPU >> upstream, these patches can merge independently. >> >> Bigger series cover letter: >> https://lore.kernel.org/all/20250219140239.1378758-1-m.wilczynski@xxxxxxxxxxx/ >> >> This series is versioned to maintain continuity with the bigger patchset it is >> a subseries of. Please find below a changelog for the AON & power-domain: > > I can pick up patch1 -> patch4 via my pmdomain tree, assuming I can > get an ack from some of the thead-SoC maintainers. > > Patch5 is probably better to be routed through the SoC maintainers > tree, but let me know if you prefer me to take this one too. Thanks, I don't have a preference, I'll leave it up to SoC maintainers. I haven't included the device tree changes in this mini-series, as then the PM & firmware, clock, and reset mini-series might conflict with each other in th1520.dtsi file, but SoC maintainers might also find it useful to pick this commit [1], along with the patch5. [1] - https://lore.kernel.org/all/20250219140239.1378758-20-m.wilczynski@xxxxxxxxxxx/ > > Kind regards > Uffe > > >> >> v8: >> - add proper cleanup in the th1520_pd_probe() >> - add "suppress_bind_attrs = true", since there is no need to unbound the driver >> during runtime. This simplifies the code by eliminating the remove function >> >> v7: >> - add '#include <linux/slab.h", due to kernel robot issue >> >> v6: >> - split the firmware & power-domain patches into a separate series >> >> v5: >> - changed the AON driver to be a set of library functions rather than a >> standalone driver >> >> v4: >> - added workaround to disable AUDIO power domain to prevent firmware crashes >> >> v3: >> - consolidated device tree representation by merging aon and power-domain nodes >> while maintaining separate drivers internally >> - power-domain driver is now instantiated from within the aon driver >> - fixed optional module dependencies in Kconfig >> - added kernel-doc comments for all exported functions >> - implemented th1520_aon_remove() to properly clean up mailbox channel >> resources >> >> v2: >> - introduced a new firmware driver to manage power-related operations. >> - rewrote the power-domain driver to function alongside the firmware driver. >> These nodes in the device tree lack direct address spaces, despite >> representing HW blocks. Control is achieved via firmware protocol messages >> transmitted through a mailbox to the E902 core. >> - added new dt-bindings for power and firmware nodes. >> - ran dtbs_check and dt_binding_check to ensure compliance. >> >> Michal Wilczynski (5): >> dt-bindings: firmware: thead,th1520: Add support for firmware node >> firmware: thead: Add AON firmware protocol driver >> dt-bindings: power: Add TH1520 SoC power domains >> pmdomain: thead: Add power-domain driver for TH1520 >> riscv: Enable PM_GENERIC_DOMAINS for T-Head SoCs >> >> .../bindings/firmware/thead,th1520-aon.yaml | 53 ++++ >> MAINTAINERS | 5 + >> arch/riscv/Kconfig.socs | 1 + >> drivers/firmware/Kconfig | 9 + >> drivers/firmware/Makefile | 1 + >> drivers/firmware/thead,th1520-aon.c | 248 ++++++++++++++++++ >> drivers/pmdomain/Kconfig | 1 + >> drivers/pmdomain/Makefile | 1 + >> drivers/pmdomain/thead/Kconfig | 12 + >> drivers/pmdomain/thead/Makefile | 2 + >> drivers/pmdomain/thead/th1520-pm-domains.c | 218 +++++++++++++++ >> .../dt-bindings/power/thead,th1520-power.h | 19 ++ >> .../linux/firmware/thead/thead,th1520-aon.h | 200 ++++++++++++++ >> 13 files changed, 770 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/firmware/thead,th1520-aon.yaml >> create mode 100644 drivers/firmware/thead,th1520-aon.c >> create mode 100644 drivers/pmdomain/thead/Kconfig >> create mode 100644 drivers/pmdomain/thead/Makefile >> create mode 100644 drivers/pmdomain/thead/th1520-pm-domains.c >> create mode 100644 include/dt-bindings/power/thead,th1520-power.h >> create mode 100644 include/linux/firmware/thead/thead,th1520-aon.h >> >> -- >> 2.34.1 >> >