circuitpython/ports/atmel-samd/supervisor
Scott Shawcroft 40118bcf57
Add `board_deinit` for use with sleep
This changes lots of files to unify `board.h` across ports. It adds
`board_deinit` when CIRCUITPY_ALARM is set. `main.c` uses it to
deinit the board before deep sleeping (even when pretending.)

Deep sleep is now a two step process for the port. First, the
port should prepare to deep sleep based on the given alarms. It
should set alarms for both deep and pretend sleep. In particular,
the pretend versions should be set immediately so that we don't
miss an alarm as we shutdown. These alarms should also wake from
`port_idle_until_interrupt` which is used when pretending to deep
sleep.

Second, when real deep sleeping, `alarm_enter_deep_sleep` is called.
The port should set any alarms it didn't during prepare based on
data it saved internally during prepare.

ESP32-S2 sleep is a bit reorganized to locate more logic with
TimeAlarm. This will help it scale to more alarm types.

Fixes #3786
2020-12-08 10:52:25 -08:00
..
internal_flash.c atmel-samd: add same51, feather_m4_can 2020-09-08 13:06:45 -05:00
internal_flash.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
internal_flash_root_pointers.h Move atmel-samd to tinyusb and support nRF flash. 2018-11-08 17:25:30 -08:00
port.c Add `board_deinit` for use with sleep 2020-12-08 10:52:25 -08:00
qspi_flash.c decoupling chip specific functions from EXTERNAL_FLASH_QSPI_SINGLE 2020-04-28 11:51:07 -07:00
samd21_cpu.s Mark pointers in cpu registers as in use. 2018-07-03 05:45:50 -07:00
samd51_cpu.s Mark pointers in cpu registers as in use. 2018-07-03 05:45:50 -07:00
same51_cpu.s atmel-samd: add same51, feather_m4_can 2020-09-08 13:06:45 -05:00
same54_cpu.s atmel-samd: Add support for SAM E54 family MCUs 2020-06-23 10:41:48 -05:00
usb.c supervisor: factor out, Handle USB via background callback 2020-07-15 11:49:44 -05:00