Boardctl
Component Type: Input/Output
Status: In Progress
Overview
CIOBoardctl exposes board-level control and status operations through the
standard IO interface.
Documented variants include reset, reset-cause reporting, and poweroff.
Implementation
CIOBoardctl is a multi-class IO that dispatches on the ObjectID class
field to a NuttX boardctl() ioctl:
IO_CLASS_SYSTEM_RESET(write-only): triggersBOARDIOC_RESETwith the integer payload as the reset code.IO_CLASS_SYSTEM_RESETCAUSE(read-only): returns theboardioc_reset_cause_scauseandflagfields packed into twouint32_tslots.IO_CLASS_SYSTEM_POWEROFF(write-only): triggersBOARDIOC_POWEROFF.
Each sub-class is gated by its corresponding CONFIG_BOARDCTL_*. Batch
operations are not supported.
Configuration
Kconfig
CONFIG_DAWN_IO_BOARDCTL: enablesboardctlIO objects.
YAML
ios:
- id: reset1
type: boardctl
dtype: bool
rw: false
variant: reset
- id: reset_cause1
type: boardctl
dtype: uint32
rw: false
variant: reset_cause
- id: poweroff1
type: boardctl
dtype: bool
rw: false
variant: poweroff
External Control
ControlIO: not supported.
TriggerIO: not supported.