ast10x0/i3c: refine state tracking and harden error recovery Address review feedback from PR #278 and improve state safety during DAA and transfer recovery: - Replace boolean `da_assigned` and `ibi_en` with explicit `DaState` and `IbiState` enums. - Fix `do_ccc` timeout handling to return `I3cDrvError::Timeout` immediately. - Enforce sticky fault (`xfer_faulted`) when recovery fails to prevent hardware lockup. - Log and set sticky fault on `init()` failures during SIR timeout recovery. - Add 7-bit address bounds checks and spec-defined default reservations to `AddrBook`. - Update peripheral tests (`i3c_init`, `i3c_irq`) to conform to updated state models. Signed-off-by: Steven Lee <steven_lee@aspeedtech.com>
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.
You can run tasks using the Pigweed workflow launcher pw or bazel.
./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy../pw format - Run the code formatters.bazel test //... - Run all tests.bazel build //docs - Build documentation.The project is structured as a bazel module.
No additional tools are required - all dependencies are managed by bazel.