Hi @akbar123 ,
You can configure IRQ on a GPIO and set it as a wakeup source at the same time with something like below:-
This I had configured for imx93evk but you can modify it for your platform.
/ {
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
power {
label = "GPIO Key Power";
linux,code = <KEY_POWER>;
gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
wakeup-source;
debounce-interval = <20>;
interrupt-parent = <&gpio2>;
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
};
};
};
&iomuxc {
pinctrl_gpio_keys: gpio_keys_grp {
fsl,pins = <
MX93_PAD_GPIO_IO07__GPIO2_IO07 0x31e
>;
};
};
On your imx linux console, you can verify that interrupts have been mapped via /proc/interrupts

Cheers!!