Skip to content

Implement RTC driver with generic dmdrvi contract and STM32F4/F7 ports - #1

Merged
JohnAmadis merged 6 commits into
mainfrom
feat/stm32-rtc
Oct 16, 2026
Merged

JohnAmadis merged 6 commits into
mainfrom
feat/stm32-rtc

Conversation

@JaxCalder

@JaxCalder JaxCalder commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Implement dmrtc with a dmdrvi device interface, portable calendar core and STM32F4/F7 ports sharing stm32_common. Board/MCU INI configuration selects LSE/LSI and startup deadline. RCC IRQ plus an ISR-safe semaphore handles oscillator startup; register waits sleep with bounded deadlines. Device initialization requires the scheduler and the accompanying boot worker change.

Public RTC ioctl commands and calendar/capability/status structures come from dmdrvi. The generic rtc CLI opens a configurable VFS device and has no dmrtc API dependency. Supported precision/range, unset state, permissions and optional loss detection have defined behavior; STM32 does not claim detected continuity or trusted UTC. No private ioctl aliases or manually pinned dependencies remain.

Validation: native ctest 3/3 targets (driver 12/12, actual STM32 wait source, generic client against an independent subsecond/read-only RTC); STM32F4/F7 builds; STM32F746G-DISCO RTC 11/11, dmdrvi 6/6, RNG 6/6. Warm-reset retention and actual LSE IRQ wake were checked separately. The latest console transcript and package hashes are in docs/testing.md and docs/validation/rtc-device-contract-2026-10-16.txt. VBAT is tied to VDD, so power-loss retention is not claimed.

Merge/release dependencies first:

Validation used local unreleased packages, without changing production dependency resolution. Registration: choco-technologies/dmod-registry#16; ecosystem: choco-technologies/dmod-ecosystem#30.

Current remote CI fails on missing dmdrvi_rtc_* types/commands because the public registry still supplies the interface before this contract. After the dmdrvi release, rerun the consumer workflow; local native and board validation used the new interface.

@JaxCalder JaxCalder changed the title Implement STM32 RTC calendar driver with hardware port Implement RTC driver with generic dmdrvi contract and STM32F4/F7 ports Oct 16, 2026
@JohnAmadis
JohnAmadis merged commit c4320f2 into main Oct 16, 2026
5 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants