nRF54LM20A GPIO and GPIO-KEYS

Hello,

I am having an issue with nRF54LM20 rev B silicon where the gpio interrupts are not consistent for key functions with either code similar to the button demo or gpio-keys. I have tried with both CONFIG_PM_DEVICE_RUNTIME set to Y and N and I still need to use polling mode. Currently my keys are on gpio1 and I updated the edge sense mask. Is there something I am missing. I am on sdk 3.4.1. I now know that gpio2 can not be used since there is not GPIOTE and that will be changed on the next rev.

buttons: buttons {
        compatible = "gpio-keys";
        status = "okay";
        debounce-interval-ms = <20>;
        no-disconnect; /* FORCES PINS TO STAY CONNECTED */
        polling-mode;

        button0: button_0 {
            gpios = <&gpio1 22 (  GPIO_ACTIVE_HIGH | GPIO_INT_WAKEUP)>;
            label = "Push button 0";
            zephyr,code = <INPUT_KEY_3>;
        };

        button1: button_1 {
            gpios = <&gpio1 29 (GPIO_PULL_UP | GPIO_ACTIVE_LOW | GPIO_INT_WAKEUP)>;
            label = "Push button 1";
            zephyr,code = <INPUT_KEY_4>;
        };

        button2: button_2 {
            gpios = <&gpio1 5 (GPIO_PULL_UP | GPIO_ACTIVE_LOW | GPIO_INT_WAKEUP)>;
            label = "Push button 2";
            zephyr,code = <INPUT_KEY_1>;
        };

        button3: button_3 {
            gpios = <&gpio2 6 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
            label = "Push button 3";
            zephyr,code = <INPUT_KEY_2>;
        };
    };
&gpio1 {
    status = "okay";
    sense-edge-mask = <0x20400020>; /* Pin 5, 22, and 29 bitmask */
};
Thanks
Ed
Related