Hi,all
ap6335 in kernel linux 4.1.15-2.1.0-ga work ok on my imx6qp board! wifi module is built in kernel, but system sleep will not ok.
I test system sleep mode,when I enter below method:
~# echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
dpm_run_callback(): pm_generic_suspend+0x0/0x30 returns -22
PM: Device mmc2:0001:2 failed to suspend: error -22
PM: Some devices failed to suspend, or early wake event detected
PM: resume of devices complete after 0.078 msecs
PM: resume devices took 0.000 seconds
Restarting tasks ... done.
dts configure:
regulators {
wlreg_on: fixedregulator@100 {
compatible = "regulator-fixed";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-name = "wlreg_on";
gpio = <&gpio7 0 0>;
startup-delay-us = <100>;
enable-active-high;
};
};
bcmdhd_wlan_0: bcmdhd_wlan@0 {
compatible = "android,bcmdhd_wlan";
//pinctrl-names = "default";
//pinctrl-0 =<&pinctrl_wifi_ctrl>;
gpios = <&gpio7 1 0>;
wlreg_on-supply = <&wlreg_on>;
};
};
pinctrl_wifi: wifigrp {
fsl,pins = <
MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17071
MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10071
MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17071
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17071
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17071
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17071
MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x13069 // WL_REG_ON
MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x80000000 // WL_HOST_WAKE
>;
};
&usdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi>;
bus-width = <4>;
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
wifi-host;
status = "okay";
};
If I remove the wifi module, system sleep is ok.
Anyone can help me to solve this problem?
Original Attachment has been moved to: kernel.log.zip
Thank you for your answer.
I modify the dts file,add configure parameter keep-power-in-suspend,like this:
&usdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi>;
bus-width = <4>;
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
keep-power-in-suspend;
wifi-host;
status = "okay";
};
~# echo standby > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.003 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
PM: suspend of devices complete after 67.106 msecs
PM: suspend devices took 0.070 seconds
PM: late suspend of devices complete after 0.944 msecs
PM: noirq suspend of devices complete after 0.956 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
CPU2: shutdown
CPU3: shutdown
Enabling non-boot CPUs ...
CPU1 is up
CPU2 is up
CPU3 is up
PM: noirq resume of devices complete after 0.585 msecs
PM: early resume of devices complete after 0.811 msecs
PM: resume of devices complete after 138.359 msecs
PM: resume devices took 0.140 seconds
Restarting tasks ... done.
now have the problem:standby later,resume the system at once.
This thread migth be helpful: