summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
diff options
context:
space:
mode:
authorDenys Drozdov <denys.drozdov@toradex.com>2021-08-03 20:52:34 +0300
committerMax Krummenacher <max.krummenacher@toradex.com>2021-08-04 16:49:12 +0000
commit449729b5b8be0665e1059911235781599536b012 (patch)
tree3a115d246b5a0d6c65739443cce006be5a2651af /arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
parentbb546e72ecef99f2b68c0a658a9558dafa48b162 (diff)
arm64: dts: apalis-imx8: keep pad-wakeup instead of gpio-keys
Resume from freeze state generated non-assigned gpio interrupt from the port in S0/S3 mode. Wakeup-source in gpio-keys doesn’t really work for Apalis imx8qxp and Apalis imx8qm. These targets should perform wakeup by the means of pad-wakeup (see CONFIG_GPIO_MXC_PAD_WAKEUP implemented in gpio-mxc driver). Kernel trace can be easily reproduced with the following scenario: - echo freeze > /sys/power/state - Wake the system up connecting MXM3_37 to GND. [ 141.232366] [<ffff0000084be898>] mx3_gpio_irq_handler+0x38/0xe8 [ 141.238372] [<ffff00000811783c>] generic_handle_irq+0x24/0x38 [ 141.244203] [<ffff000008117ea8>] __handle_domain_irq+0x60/0xb8 [ 141.250122] [<ffff00000808194c>] gic_handle_irq+0x7c/0x178 [ 141.232366] [<ffff0000084be898>] mx3_gpio_irq_handler+0x38/0xe8 [ 141.238372] [<ffff00000811783c>] generic_handle_irq+0x24/0x38 [ 141.244203] [<ffff000008117ea8>] __handle_domain_irq+0x60/0xb8 [ 141.346337] [<ffff000008083230>] el1_irq+0xb0/0x124 [ 141.351300] [<ffff000008085770>] arch_cpu_idle+0x10/0x18 [ 141.356698] [<ffff000008109f94>] do_idle+0x1ac/0x1e0 [ 141.361748] [<ffff00000810a168>] cpu_startup_entry+0x20/0x28 [ 141.367495] [<ffff000008dbb3a8>] rest_init+0xd0/0xdc [ 141.372545] [<ffff0000093f0b3c>] start_kernel+0x390/0x3a4 Drop gpio-keys support for these targets and keep only pad-wakeup configured for resume operations. More information can be found on NXP community link https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-add-iMX8QXP-PAD-GPIO-Wakeup/ta-p/1120559?attachment-id=32640 Related-to: ELB-1408 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi')
-rw-r--r--arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi24
1 files changed, 4 insertions, 20 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi b/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
index 64b793e907f8..3a970692aae8 100644
--- a/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
@@ -27,22 +27,6 @@
3000 1>;
};
- /* Apalis WAKE1_MICO */
- wakeup_key: gpio-keys {
- compatible = "gpio-keys";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpio_keys>;
- status = "disabled";
-
- wakeup-key {
- label = "Wake-Up";
- gpios = <&lsio_gpio2 20 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_WAKEUP>;
- debounce-interval = <10>;
- wakeup-source;
- };
- };
-
panel_lvds: panel-lvds {
compatible = "panel-lvds";
backlight = <&backlight>;
@@ -450,7 +434,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_cam1_gpios>, <&pinctrl_dap1_gpios>,
<&pinctrl_esai0_gpios>, <&pinctrl_fec2_gpios>,
- <&pinctrl_gpio3>, <&pinctrl_gpio4>,
+ <&pinctrl_gpio3>, <&pinctrl_gpio4>, <&pinctrl_gpio_keys>,
<&pinctrl_gpio_usbh_oc_n>, <&pinctrl_lpuart1ctrl>,
<&pinctrl_lvds0_i2c0_gpio>, <&pinctrl_lvds1_i2c0_gpios>,
<&pinctrl_mipi_dsi_0_1_en>, <&pinctrl_mipi_dsi1_gpios>,
@@ -1419,11 +1403,11 @@
/*
* Add GPIO2_20 as a wakeup source:
- * Pin: SC_P_SPI3_CS0 (MXM3_37/WAKE1_MICO)
- * Type: SC_PAD_WAKEUP_FALL_EDGE
+ * Pin: 101 SC_P_SPI3_CS0 (MXM3_37/WAKE1_MICO)
+ * Type: 5 SC_PAD_WAKEUP_FALL_EDGE
* Line: 20
*/
- pad-wakeup = <101 5 20>;
+ pad-wakeup = <IMX8QM_SPI3_CS0 5 20>;
pad-wakeup-num = <1>;
};