On 3/3/25 15:58, Michal Wilczynski 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 should be versioned as v6, to maintain continuity with the bigger patchset it is a subseries of. Please find below a changelog for the AON & power-domain: 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 | 247 ++++++++++++++++++ > 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 | 209 +++++++++++++++ > .../dt-bindings/power/thead,th1520-power.h | 19 ++ > .../linux/firmware/thead/thead,th1520-aon.h | 200 ++++++++++++++ > 13 files changed, 760 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 >