Power domains
The Linux PMU provider publishes seven generic power domains. Linux explicitly
controls HP connectivity (HPCNNT) transitions; the other domains are exposed
for topology and attachment and kept on by provider policy. Active-state radio
PMU initialization still occurs in the linked payload.
Registered topology and policy
Domain name |
Binding identifier |
Registered parent |
Linux policy |
|---|---|---|---|
|
|
None |
Always on |
|
|
|
Always on |
|
|
|
Always on |
|
|
|
Always on |
|
|
|
Automatic only when |
|
|
|
Always on |
|
|
None registered |
Always on |
The supplied device tree includes the HPCNNT opt-in. The radio module holds a separate vote while active because the payload accesses this domain outside a normal device attachment. An active radio vote prevents HPCNNT power-off. After payload PMU initialization, the reclaim hook reapplies Linux’s HPCNNT force state. See the domain policy and topology, DTS opt-in, and vote/reclaim implementation.
Read domain diagnostics
for file in /sys/bus/platform/devices/*/domains; do
[ -r "$file" ] && cat "$file"
done
Field |
Meaning |
|---|---|
Leading name |
Domain name from the table above |
|
|
|
Provider’s tracked |
|
Force-register interpretation: |
|
Low six force-control bits: reset, isolation, power-up, no-reset, no-isolation, power-down |
|
Successful genpd on/off callbacks; |
|
Reclaim attempts after payload PMU initialization |
|
Force-register readback failures during transitions |
|
Active radio veto for |
Despite the field name, hardware= decodes a force-control register. It is not
an independent power-good signal, current reading or proof of retention.
The output format is defined by domains_show().
System retention configuration
The OpenSBI APPWR profile writes power value 0x0000aa00 and clock value
0x00000000. The source defines these as memory-retention mode for the four HP
memory banks, power-down mode for HP logic groups and gating of HP clock
classes. LP firmware supplies the wake request. See the profile constants and entry sequence.
For current suspend status, CPU idle, shutdown and timed deep sleep, see Power management.
Power measurements
Record the board revision, supply point/voltage, USB connection, enabled peripherals, radio state, CPU frequency and instrument/sample interval alongside each measurement. Board-input current includes regulators, USB bridges and LEDs; do not label it as CPU-domain current.