Wakeup on GPIO in Linux on STM32MP1
Hello. I am working on standby/wakeup using gpio pin in stm32mp1 custom board. Going to sleep works well using gpio-keys but I can't wakeup. What bothers me most is that interrupt responsible for waking up does not set "waleup" attribute although it is defined in DTS as wakeup-source. I am not sure whether I correctly understand the concept behind exti_pwr and pwr_irq nodes so if there is anyone who can help me with a proper setup I would appreciate your help. Please find enclosed DTS.
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
autorepeat;
input-name = "gpio-keys";
button@1 {
label = "Suspend";
linux,code = <205>;
gpios = <&gpioi 6 GPIO_ACTIVE_LOW>;
};
button@2 {
label = "Wakeup";
linux,code = <143>;
interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_RISING>;
wakeup-source;
};
};
};
&pwr_irq {
wakeup-gpios = <&gpioi 6 GPIO_ACTIVE_HIGH>;
};
