STM32WB09KE - zephyr - GPIO wake from deepstop not working
I have a board that we want to use to wake up on button presses and send BLE messages to other devices. In the start i can see that an IRQ is triggered when we push the button. But once we go to deepstop/sleep, the trigger does not do anything anymore.
I use zephyr version 4.4.2
My buttons is connected to PB14 and PB15,
dts contains:
gpio_keys {
compatible = "gpio-keys";
wakeup-source;
button1: button_0 {
label = "Button 1";
gpios = <&gpiob 14 GPIO_ACTIVE_HIGH>;
zephyr,code = <INPUT_KEY_0>;
};
button2: button_1 {
label = "Button 2";
gpios = <&gpiob 15 GPIO_ACTIVE_HIGH>;
zephyr,code = <INPUT_KEY_1>;
};
};
/* Board is populated with an HSE 32 MHz crystal (OSC_IN/OSC_OUT) and an
* LSE 32.768 kHz crystal (PB12/PB13) - use both instead of the internal
* HSI/LSI RC oscillators for accurate timing.
*/
&clk_hse {
status = "okay";
};
&clk_lse {
status = "okay";
};
&pll {
status = "okay";
};
&rcc {
clocks = <&pll>;
clock-frequency = <DT_FREQ_M(64)>;
clksys-prescaler = <1>;
slow-clock = <&clk_lse>;
};
&rtc {
/**
* STM32_SRC_LSE reflects the "slow-clock" selected on RCC node.
* NO_SEL reflects STM32WB0's lack of RTC clock mux to configure.
*/
clocks = <&rcc STM32_CLOCK(APB0, 12)>,
<&rcc STM32_SRC_LSE NO_SEL>;
status = "okay";
};
Defconfig contains
CONFIG_PM=y
CONFIG_PM_DEVICE=y
When I check the power consumption (see img below) i see after boot sequence the consumption drops to 66µA, It stays there untill i press on of the buttons.
I press one button and see a short bump in the consumption → expected wake up but is to short and nothing happens
I release the button and also see small short bump → expected second wake up as i configured IRQ as:
gpio_pin_interrupt_configure_dt(&btn->spec, GPIO_INT_EDGE_BOTH); But still nothing happens.
Then exactly 1 second after button pressed i see a massive consumption that stays but still no logging or reaction.

Is there any example for the STM32WB09 series that i could try with zephyr to check if a button edge can get the MCU out of deepstop?
Or any pointers on how to configure or what to look out for?
Thanks
