LS1012a standby mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1012a standby mode

Jump to solution
775 Views
haff
Contributor III

I am working with the custom ls1012a board. Trying to send device to sleep and wake it up. For now stuck after the first step, it doesn't wake up.

Running yocto bsp is based on the RDB board. I have configured needed pin (gpio0 27) as gpio in the RCW and tested it's in/out functions. All is ok. Then I have it registered as gpio-key and as a possible wakeup source within dts:

gpio-keys {
    compatible = "gpio-keys";

    up {
        label = "gpio-wake";
        gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
        linux,code = <29>;
        gpio-key,wakeup;
    };
};

But still, when I send board into "mem" sleep (tried "freeze" as well, same thing) I can't wake it up with gpio. As a matter of fact, I can't wake it up with anything else as well. I have tried enabling uart as a wakeup source, same thing.

What am I doing wrong? Should this work in the current implementation of the BSP? Would be grateful for any pointers where I can look to debug it.

0 Kudos
1 Solution
610 Views
haff
Contributor III

Found what I have missed.

Needed to stop RCPM from powering down GPIO during LPM20. To do it I have added

fsl,rcpm-wakeup = <&rcpm 0x00000040>;

into the gpio-keys node in dts. Now can wake up the device using this GPIO.

View solution in original post

1 Reply
611 Views
haff
Contributor III

Found what I have missed.

Needed to stop RCPM from powering down GPIO during LPM20. To do it I have added

fsl,rcpm-wakeup = <&rcpm 0x00000040>;

into the gpio-keys node in dts. Now can wake up the device using this GPIO.