From 449729b5b8be0665e1059911235781599536b012 Mon Sep 17 00:00:00 2001 From: Denys Drozdov Date: Tue, 3 Aug 2021 20:52:34 +0300 Subject: arm64: dts: apalis-imx8: keep pad-wakeup instead of gpio-keys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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] [] mx3_gpio_irq_handler+0x38/0xe8 [ 141.238372] [] generic_handle_irq+0x24/0x38 [ 141.244203] [] __handle_domain_irq+0x60/0xb8 [ 141.250122] [] gic_handle_irq+0x7c/0x178 [ 141.232366] [] mx3_gpio_irq_handler+0x38/0xe8 [ 141.238372] [] generic_handle_irq+0x24/0x38 [ 141.244203] [] __handle_domain_irq+0x60/0xb8 [ 141.346337] [] el1_irq+0xb0/0x124 [ 141.351300] [] arch_cpu_idle+0x10/0x18 [ 141.356698] [] do_idle+0x1ac/0x1e0 [ 141.361748] [] cpu_startup_entry+0x20/0x28 [ 141.367495] [] rest_init+0xd0/0xdc [ 141.372545] [] 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 --- .../arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi | 24 ++++------------------ 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi') 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 = ; - 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 = ; pad-wakeup-num = <1>; }; -- cgit v1.2.3