Re: [PATCH v8 0/5] TH1520 SoC: Add AON firmware & power-domain support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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
>>
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux