MX8 suspend: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
Line 15: Line 15:
There are many possible ways to wake up from suspend.<br>
There are many possible ways to wake up from suspend.<br>
A few examples:<br>
A few examples:<br>
- Pushing the ON/OFF button (when present on the board)<br>
* Pushing the ON/OFF button (when present on the board)<br>
{{#varexists:PAD_WAKEUP_SUPPORT|
{{#varexists:PAD_WAKEUP_SUPPORT|
- Pushing a button on the board which has the properties "pad-wakeup-num" and  "pad-wakeup" set in its device tree node (under gpio related node), e.g.:
* Pushing a button on the board which has the properties "pad-wakeup-num" and  "pad-wakeup" set in its device tree node (under gpio related node), e.g.:
     wakeup from direct GPIOs
     wakeup from direct GPIOs
     &lsio_gpio5 {
     &lsio_gpio5 {
Line 44: Line 44:
     };
     };


- Pressing the capacitive touch which has the properties "pad-wakeup-num" and  "pad-wakeup" set in its device tree node (under touch IRQ gpio related node), e.g.:
* Pressing the capacitive touch which has the properties "pad-wakeup-num" and  "pad-wakeup" set in its device tree node (under touch IRQ gpio related node), e.g.:
     &lsio_gpio1 {
     &lsio_gpio1 {
         /* Enable wakeup-source from Capacitive touch */
         /* Enable wakeup-source from Capacitive touch */
Line 56: Line 56:
     };
     };
|
|
- Pushing a button on the board which has the boolean property "wakeup-source" set in its device tree node (under gpio_keys), e.g.:
* Pushing a button on the board which has the boolean property "wakeup-source" set in its device tree node (under gpio_keys), e.g.:


  gpio-keys {
  gpio-keys {
Line 71: Line 71:
  };
  };


- Pressing the capacitive touch which has the "wakeup-source" property set in its device tree node, e.g.:
* Touching the capacitive touchscreen which has the "wakeup-source" property set in its device tree node, e.g.:


         ft5x06_ts: ft5x06_ts@38 {
         ft5x06_ts: ft5x06_ts@38 {
Line 90: Line 90:
}}
}}


- Pressing any key on debug console defined as wake-up source before entering suspend (see below):<br>
* Pressing any key on debug console defined as wake-up source before entering suspend (see below):<br>
  {{#varexists:UART_CONSOLE_PATH|
  {{#varexists:UART_CONSOLE_PATH|
  # echo enabled > {{#var:UART_CONSOLE_PATH}}
  <pre># echo enabled > {{#var:UART_CONSOLE_PATH}}</pre>
  |
  |
  {{#ifeq: {{#var:HARDWARE_NAME}}|VAR-SOM-MX8X|
  {{#ifeq: {{#var:HARDWARE_NAME}}|VAR-SOM-MX8X|
  # echo enabled > /sys/devices/platform/5a090000.serial/tty/ttyLP3/power/wakeup
  <pre># echo enabled > /sys/devices/platform/5a090000.serial/tty/ttyLP3/power/wakeup</pre>
  |
  |
  # echo enabled > /sys/devices/platform/5a060000.serial/tty/ttyLP0/power/wakeup
  <pre># echo enabled > /sys/devices/platform/5a060000.serial/tty/ttyLP0/power/wakeup</pre>
}}
}}
}}
}}

Revision as of 15:16, 2 June 2021

VAR-SOM-MX8X Suspend to RAM

Suspend to RAM

This state offers significant power savings as everything in the system is put into a low-power state, except for memory, which is placed into the self-refresh mode to retain its contents.

To suspend to RAM execute the following command:

# pm-suspend

Wake up

There are many possible ways to wake up from suspend.
A few examples:

  • Pushing the ON/OFF button (when present on the board)
  • Pushing a button on the board which has the boolean property "wakeup-source" set in its device tree node (under gpio_keys), e.g.:
	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_gpio_keys>;
               ...
               back {
                       label = "Back";
                       gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
                       linux,code = <KEY_BACK>;
                       wakeup-source;
               };
	};
  • Touching the capacitive touchscreen which has the "wakeup-source" property set in its device tree node, e.g.:
       ft5x06_ts: ft5x06_ts@38 {
               status = "disabled";
               compatible = "edt,edt-ft5x06";
               reg = <0x38>;
               reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
               pinctrl-names = "default";
               pinctrl-0 = <&pinctrl_touch>;
               interrupt-parent = <&gpio1>;
               interrupts = <14 0>;
               touchscreen-size-x = <800>;
               touchscreen-size-y = <480>;
               touchscreen-inverted-x;
               touchscreen-inverted-y;
               wakeup-source;
       };
  • Pressing any key on debug console defined as wake-up source before entering suspend (see below):
# echo enabled > /sys/devices/platform/5a090000.serial/tty/ttyLP3/power/wakeup