MX8 suspend: Difference between revisions
From Variscite Wiki
No edit summary |
|||
Line 18: | Line 18: | ||
{{#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 44: | ||
'''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 69: | ||
'''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.: |
Revision as of 00:11, 12 December 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