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): triggers BOARDIOC_RESET with the integer payload as the reset code.

  • IO_CLASS_SYSTEM_RESETCAUSE (read-only): returns the boardioc_reset_cause_s cause and flag fields packed into two uint32_t slots.

  • IO_CLASS_SYSTEM_POWEROFF (write-only): triggers BOARDIOC_POWEROFF.

Each sub-class is gated by its corresponding CONFIG_BOARDCTL_*. Batch operations are not supported.

Configuration

Kconfig

  • CONFIG_DAWN_IO_BOARDCTL: enables boardctl IO 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.

Doxygen