
This patch series allows users to access SCMI power domain protocol provided by SCMI server (platform). See SCMI specification document v3.2 beta 2[1] for more details about SCMI power domain protocol.
The implementation consists of two layers: - basic helper functions for SCMI power domain protocol in drivers/firmware/scmi/pwdom.c (patch#1) - DM-compliant power domain driver, which utilizes the helper functions, in drivers/power/domain/scmi-power-domain.c (patch#2)
[1] https://developer.arm.com/documentation/den0056/e/?lang=en
DT bindings =========== Standard bindings are applied, i.e.
scmi { ... pwrdom_scmi: protocol@11 { regs = <0x11>; #power-domain-cells = <1>; } ... }
som-device { ... power-domains = <&pwrdom_scmi 2>; }
Test ==== The patch series was tested on the following platform: * sandbox ("ut dm scmi_power_domains")
Prerequisite: ============= * This patch series is based on my "Base protocol support" patches[2] on v2023.10-rc4.
[2] https://lists.denx.de/pipermail/u-boot/2023-September/531623.html
Patches: ======== Patch#1: Add SCMI power domain protocol helpers Patch#2: Add power domain driver Patch#3-#4: Test related
Change history: =============== RFC (Sep 26, 2023) * initial release
AKASHI Takahiro (4): firmware: scmi: add power domain protocol support power: domain: add SCMI driver sandbox: add SCMI power domain protocol support for testing test: dm: add SCMI power domain protocol test
arch/sandbox/dts/test.dts | 6 + arch/sandbox/include/asm/scmi_test.h | 20 ++ configs/sandbox_defconfig | 1 + drivers/firmware/scmi/Makefile | 1 + drivers/firmware/scmi/pwdom.c | 189 +++++++++++++ drivers/firmware/scmi/sandbox-scmi_agent.c | 265 ++++++++++++++++++- drivers/firmware/scmi/sandbox-scmi_devices.c | 10 + drivers/firmware/scmi/scmi_agent-uclass.c | 11 + drivers/power/domain/Kconfig | 7 + drivers/power/domain/Makefile | 1 + drivers/power/domain/scmi-power-domain.c | 197 ++++++++++++++ include/scmi_agent-uclass.h | 2 + include/scmi_protocols.h | 178 +++++++++++++ test/dm/scmi.c | 107 +++++++- 14 files changed, 993 insertions(+), 2 deletions(-) create mode 100644 drivers/firmware/scmi/pwdom.c create mode 100644 drivers/power/domain/scmi-power-domain.c