lib: utils/hsm: Add SiFive TMC0 driver

The SiFive TMC0 controls the tile power domains on SiFive platform. The
CPU enters the low power state via the `CEASE` instruction after
configuring the TMC0. Any devices that inside the tile power domain will
be power gated, including the private cache. Therefore flushing the
private cache before entering the low power state.

Co-developed-by: Vincent Chen <vincent.chen@sifive.com>
Signed-off-by: Vincent Chen <vincent.chen@sifive.com>
Reviewed-by: Cyan Yang <cyan.yang@sifive.com>
Signed-off-by: Nick Hu <nick.hu@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20251020-cache-upstream-v7-9-69a132447d8a@sifive.com
Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Nick Hu authored and Anup Patel committed 2025-10-28 11:28:03 +05:30
1 parent 94f0f84656
commit 1514a32730
5 files changed
+339

No files matched your search

+5
View File
@@ -14,6 +14,11 @@ config FDT_HSM_RPMI
depends on FDT_MAILBOX && RPMI_MAILBOX
default n
config FDT_HSM_SIFIVE_TMC0
bool "FDT SiFive TMC v0 driver"
depends on FDT_CACHE
default n
config FDT_HSM_SPACEMIT
bool "FDT SPACEMIT HSM driver"
default n