MX8 suspend: Difference between revisions

From Variscite Wiki
No edit summary
(Add Debian Platform Customization)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V1.0_VAR-SOM-MX8X as default
<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V1.0_VAR-SOM-MX8X as default
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!--
--> {{INIT_RELEASE_PARAM|RELEASE_SUMO_V1.0_VAR-SOM-MX8X}} <!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_SUMO_V1.0_VAR-SOM-MX8X}}}} <!--
--> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} Suspend to RAM}}{{DocImage|category1=Yocto|category2={{#var:HARDWARE_NAME}}}}
--> {{#lst:Debian_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} Suspend to RAM}}{{DocImage|category1=Yocto|category2=Debian}} [[category:{{#var:HARDWARE_NAME}}]]
= Suspend to RAM =
= Suspend to RAM =


Line 18: Line 19:
{{#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.:
    {{#ifeq: {{#var:HARDWARE_NAME}}|VAR-SOM-MX8|
     wakeup from direct GPIOs
     wakeup from direct GPIOs
     &lsio_gpio5 {
     &lsio_gpio5 {
Line 43: Line 45:
         '''pad-wakeup = <IMX8QM_MIPI_CSI0_MCLK_OUT SC_PAD_WAKEUP_LOW_LVL 24>;'''
         '''pad-wakeup = <IMX8QM_MIPI_CSI0_MCLK_OUT SC_PAD_WAKEUP_LOW_LVL 24>;'''
     };
     };
 
    |
    wakeup from IOexpander GPIOs
    &lsio_gpio3 {
        /* Enable wakeup-source from all pca9534 gpio-keys*/
        '''pad-wakeup-num = <1>;''' /* Total number of wakeup pads in gpio3 bank */
        /*
        IMX8QXP_MIPI_CSI0_MCLK_OUT: PCA9534 IRQ pin id
        SC_PAD_WAKEUP_LOW_LVL:      trigger type
        4:                          PCA9534 IRQ gpio pin
        */
        '''pad-wakeup = <IMX8QXP_MIPI_CSI0_MCLK_OUT SC_PAD_WAKEUP_LOW_LVL 4>;'''
    };
    }}
* 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.:
    {{#ifeq: {{#var:HARDWARE_NAME}}|VAR-SOM-MX8|
     &lsio_gpio1 {
     &lsio_gpio1 {
         /* Enable wakeup-source from Capacitive touch */
         /* Enable wakeup-source from Capacitive touch */
Line 55: Line 70:
         '''pad-wakeup = <IMX8QM_LVDS0_GPIO01 SC_PAD_WAKEUP_LOW_LVL 5>;'''
         '''pad-wakeup = <IMX8QM_LVDS0_GPIO01 SC_PAD_WAKEUP_LOW_LVL 5>;'''
     };
     };
    |
    &lsio_gpio0 {
        /* Enable wakeup-source from Capacitive touch */
        '''pad-wakeup-num = <1>;''' /* Total number of wakeup pads in gpio0 bank */
        /*
        IMX8QXP_UART1_CTS_B:  Touch IRQ pin id
        SC_PAD_WAKEUP_LOW_LVL: trigger type
        24:                    Touch IRQ gpio pin
        */
        '''pad-wakeup = <IMX8QXP_UART1_CTS_B SC_PAD_WAKEUP_LOW_LVL 24>;'''
    };
    }}
|
|
* 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.:
Line 92: Line 119:
* 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|
  <pre># echo enabled > {{#var:UART_CONSOLE_PATH}}</pre>
  $ echo enabled > {{#var:UART_CONSOLE_PATH}}
  |
  |
  {{#ifeq: {{#var:HARDWARE_NAME}}|VAR-SOM-MX8X|
  {{#ifeq: {{#var:HARDWARE_NAME}}|VAR-SOM-MX8X|
  <pre># 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
}}
}}
}}
}}

Latest revision as of 15:25, 6 June 2023

Warning: This page is designed to be used with a 'release' URL parameter.

This page is using the default release RELEASE_SUMO_V1.0_VAR-SOM-MX8X.
To view this page for a specific Variscite SoM and software release, please follow these steps:

  1. Visit variwiki.com
  2. Select your SoM
  3. Select the software release
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