feat(power): Initial deep sleep work.

* New ZMK_SLEEP Kconfig symbol to enable the functionality.
* Switch to PORT events that allows wake from deep sleep.
* Initial basic power management policy, with idle ms,
  and ignoring deep sleep if we detect a USB connection.
This commit is contained in:
Pete Johanson
2020-10-02 02:09:38 -04:00
parent 9be566603e
commit a7496ab064
5 changed files with 121 additions and 29 deletions

View File

@@ -76,6 +76,25 @@ endif
endmenu
menuconfig ZMK_SLEEP
bool "Enable deep sleep support"
imply USB
if ZMK_SLEEP
config SYS_POWER_DEEP_SLEEP_STATES
default y
choice SYS_PM_POLICY
default SYS_PM_POLICY_APP
endchoice
config ZMK_IDLE_SLEEP_TIMEOUT
int "Milliseconds to wait to sleep when going idle"
default 900000
endif
config ZMK_DISPLAY
bool "ZMK display support"
default n
@@ -112,7 +131,6 @@ config ZMK_SPLIT_BLE_ROLE_CENTRAL
config ZMK_SPLIT_BLE_ROLE_PERIPHERAL
bool "Peripheral"
select BT_KEYS_OVERWRITE_OLDEST
if ZMK_SPLIT_BLE_ROLE_PERIPHERAL