mirror of
https://github.com/apache/nuttx.git
synced 2026-08-01 20:28:58 +00:00
The RP2350 has no dedicated RTC block (the RP2040 one was removed). Use the POWMAN always-on timer instead: a 64-bit millisecond counter clocked from the low-power oscillator, so it keeps running across warm resets. Enabling CONFIG_RP23XX_RTC selects CONFIG_RTC and builds the driver, which implements the simple up_rtc_initialize()/up_rtc_time()/up_rtc_settime() interface backing the system clock (seconds resolution). up_rtc_initialize() sources the timer from the low-power oscillator at a 1 kHz tick and starts it, preserving the value when the timer is already running. POWMAN register writes carry the required 0x5afe password. Document the RTC on the rp23xx platform page: an "RTC" section explaining how the POWMAN always-on timer is used (LPOSC clocking, the 0x5afe password and the four 16-bit time registers, stopping the counter to reload it), with reference links to the RP2350 datasheet Power chapter and the pico-sdk hardware_powman / pico_aon_timer implementation the driver mirrors. The same references are noted in the driver header. Assisted-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com> |
||
|---|---|---|
| .. | ||
| arm | ||
| arm64 | ||
| avr | ||
| ceva | ||
| dummy | ||
| hc | ||
| mips | ||
| misoc | ||
| or1k | ||
| renesas | ||
| risc-v | ||
| sim | ||
| sparc | ||
| tricore | ||
| x86 | ||
| x86_64 | ||
| xtensa | ||
| z16 | ||
| z80 | ||
| CMakeLists.txt | ||
| Kconfig | ||