We're experiencing up to 1s of delay between waking up from SYSTEMOFF mode and executing from main. The traces from PPK show when the wakeup is triggered from an external source (button) and a GPIO toggles on to show when main is executing code - this is the first instruction inside my main func.

Current prj.conf settings:
# GPIO control CONFIG_GPIO=y CONFIG_PWM=y CONFIG_REBOOT=y CONFIG_GPIO_AS_PINRESET=n CONFIG_NFCT_PINS_AS_GPIOS=y CONFIG_PINCTRL=y # Config logger CONFIG_UART_CONSOLE=n CONFIG_USE_SEGGER_RTT=y CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG=y CONFIG_LOG_BUFFER_SIZE=4096 CONFIG_LOG_DEFAULT_LEVEL=3 CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=4096 CONFIG_LOG_PRINTK=y # Enable flash operations. CONFIG_FLASH=y # Enable BLE CONFIG_BT=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_LL_SOFTDEVICE=y CONFIG_BT_SMP=y CONFIG_BT_DEVICE_NAME_DYNAMIC=y CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n # n: allow sending notification messages without having notifications enabled # Allow for large Bluetooth data packets. CONFIG_BT_L2CAP_TX_MTU=498 CONFIG_BT_BUF_ACL_RX_SIZE=502 CONFIG_BT_BUF_ACL_TX_SIZE=251 CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 # DFU over BLE CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_MCUMGR=y CONFIG_MCUMGR_GRP_IMG=y CONFIG_IMG_MANAGER=y CONFIG_STREAM_FLASH=y CONFIG_NET_BUF=y CONFIG_ZCBOR=y CONFIG_FLASH_MAP=y CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_THREAD_MONITOR=y CONFIG_STATS=y CONFIG_STATS_NAMES=y CONFIG_MCUMGR_MGMT_NOTIFICATION_HOOKS=y # Crypto # Enable nordic security backend and PSA APIs CONFIG_NRF_SECURITY=y CONFIG_MBEDTLS_PSA_CRYPTO_C=y CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=8192 CONFIG_PSA_WANT_GENERATE_RANDOM=y # CONFIG_PSA_WANT_KEY_TYPE_AES=y CONFIG_PSA_WANT_ALG_CBC_NO_PADDING=y # Low power mode CONFIG_PM=y # Battery monitor CONFIG_ADC=y # NVS Storage CONFIG_NVS=y # Testing for reduced booting time # 32kHz clock source CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
Current child_image/mcuboot_custom.conf settings:
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y CONFIG_MULTITHREADING=y CONFIG_LOG=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
My understading is that using the internal RC LFCLK is faster on boot-up than using an external one but so far, it has not made a difference.
Any pointers from here would be appreciated. Thanks!