public inbox for opensbi@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Add hart state management and system suspend support for AE350
@ 2025-12-29  7:19 Ben Zong-You Xie
  2025-12-29  7:19 ` [PATCH 1/5] lib: utils/hsm: factor out ATCSMU code into an HSM driver Ben Zong-You Xie
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Ben Zong-You Xie @ 2025-12-29  7:19 UTC (permalink / raw)
  To: opensbi

This patch series introduces support for hart state management and
system suspend functionalities on the Andes AE350 platform. For the hart
state management, AE350 platform supports CPU hotplug. For the
system suspend, there are two platform-specific low-power modes,
including deep sleep (suspend to RAM) and light sleep (suspend to standby).

Below is the patch summary:
[1/5]: The Andes System Management Unit (ATCSMU) logic is factored out into
       a dedicated FDT-based HSM driver, improving code reuse and
       maintainability.
[2/5]: Implement the functions to save and restore platform-specific CSRs
       which are lost during CPU hotplug or deep sleep.
[3/5]: Add the functions to enable/disable the cache.
[4/5]: A new Last Level Cache (LLC) driver is introduced to handle required
       cache operations for deep sleep.
[5/5]: An ATCSMU-based suspend driver is implemented to support Andes deep
       sleep and light sleep, providing the OS with access to standardized
       SBI system suspend extensions.

Ben Zong-You Xie (5):
  lib: utils/hsm: factor out ATCSMU code into an HSM driver
  platform: generic/andes: add CSR save and restore functions for AE350
    platform
  lib: utils/cache: add cache enable function
  lib: utils/cache: add Andes last level cache controller
  lib: utils/suspend: add Andes ATCSMU suspend driver

 include/sbi_utils/cache/cache.h              |  11 +
 include/sbi_utils/cache/fdt_cmo_helper.h     |  13 ++
 include/sbi_utils/hsm/fdt_hsm_andes_atcsmu.h |  65 ++++++
 include/sbi_utils/sys/atcsmu.h               |  59 ------
 lib/utils/cache/Kconfig                      |   5 +
 lib/utils/cache/cache.c                      |  11 +
 lib/utils/cache/fdt_andes_llcache.c          | 166 +++++++++++++++
 lib/utils/cache/fdt_cmo_helper.c             |  23 ++
 lib/utils/cache/objects.mk                   |   3 +
 lib/utils/hsm/Kconfig                        |   4 +
 lib/utils/hsm/fdt_hsm_andes_atcsmu.c         | 210 +++++++++++++++++++
 lib/utils/hsm/objects.mk                     |   5 +-
 lib/utils/reset/Kconfig                      |   2 +-
 lib/utils/reset/fdt_reset_atcwdt200.c        |  22 +-
 lib/utils/suspend/Kconfig                    |   5 +
 lib/utils/suspend/fdt_suspend_andes_atcsmu.c | 119 +++++++++++
 lib/utils/suspend/objects.mk                 |   3 +
 lib/utils/sys/Kconfig                        |   4 -
 lib/utils/sys/atcsmu.c                       |  89 --------
 lib/utils/sys/objects.mk                     |   1 -
 platform/generic/Kconfig                     |   1 -
 platform/generic/andes/ae350.c               | 147 +++++--------
 platform/generic/andes/objects.mk            |   2 +-
 platform/generic/andes/sleep.S               |  70 -------
 platform/generic/configs/defconfig           |   3 +
 platform/generic/include/andes/andes.h       |  84 +++++++-
 26 files changed, 791 insertions(+), 336 deletions(-)
 create mode 100644 include/sbi_utils/hsm/fdt_hsm_andes_atcsmu.h
 delete mode 100644 include/sbi_utils/sys/atcsmu.h
 create mode 100644 lib/utils/cache/fdt_andes_llcache.c
 create mode 100644 lib/utils/hsm/fdt_hsm_andes_atcsmu.c
 create mode 100644 lib/utils/suspend/fdt_suspend_andes_atcsmu.c
 delete mode 100644 lib/utils/sys/atcsmu.c
 delete mode 100644 platform/generic/andes/sleep.S

--
2.34.1

-- 
opensbi mailing list
opensbi@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/opensbi

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-02-23  3:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-29  7:19 [PATCH 0/5] Add hart state management and system suspend support for AE350 Ben Zong-You Xie
2025-12-29  7:19 ` [PATCH 1/5] lib: utils/hsm: factor out ATCSMU code into an HSM driver Ben Zong-You Xie
2025-12-29  7:19 ` [PATCH 2/5] platform: generic/andes: add CSR save and restore functions for AE350 platform Ben Zong-You Xie
2025-12-29  7:19 ` [PATCH 3/5] lib: utils/cache: add cache enable function Ben Zong-You Xie
2025-12-29  7:19 ` [PATCH 4/5] lib: utils/cache: add Andes last level cache controller Ben Zong-You Xie
2025-12-29  7:19 ` [PATCH 5/5] lib: utils/suspend: add Andes ATCSMU suspend driver Ben Zong-You Xie
2026-02-11 15:59   ` Andrew Jones
2026-02-23  3:53     ` Ben Zong-You Xie
2026-02-11  6:24 ` [PATCH 0/5] Add hart state management and system suspend support for AE350 Anup Patel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox