Imx7 sleep issue

This is more like bug+fix report. Please look here:
http://git.toradex.com/cgit/linux-toradex.git/tree/arch/arm/boot/dts/imx7-colibri.dtsi?h=toradex_5.4-2.3.x-imx

By mistake MX7D_PAD_LPSR_xx pinctrl landed in iomux instead of iomuxc_lpsr:

	pinctrl_cd_usdhc1_sleep: usdhc1-cd-slp-grp {
		fsl,pins = <
			MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0	0x0 /* CD */
		>;
	};
};

&iomuxc_lpsr {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpio_lpsr>;

As a result, if MX7D_PAD_GPIO1_IO15 is used, entry to sleep gives this:

[  336.614824] imx7d-pinctrl 30330000.iomuxc: pin MX7D_PAD_GPIO1_IO15 already requested by 30330000.iomuxc; cannot claim for 30b40000.usdhc
[  336.614838] imx7d-pinctrl 30330000.iomuxc: pin-12 (30b40000.usdhc) status -22
[  336.614849] imx7d-pinctrl 30330000.iomuxc: could not request pin 12 (MX7D_PAD_GPIO1_IO15) from group usdhc1-cd-slp-grp  on device 30330000.iomuxc
[  336.614857] sdhci-esdhc-imx 30b40000.usdhc: Error applying setting, reverse things back
[  336.614876] sdhci-esdhc-imx 30b40000.usdhc: failed to activate pinctrl state sleep

Moving pinctrl_cd_usdhc1_sleep to iomux_lpsr solves above issue.


For some reason return from sleep to run doesn’t restore power consumption. I’ll try to figure why it happens. Prior to freeze I have about 0.18A@5V, after return from freeze to run 0.13A@5V. Everything seems working, both imx7d cores operate. Hm.

1 Like

Dear @Edward,

Thanks for the report, we forwarded it already to our team to check about this specific device tree. There is a known issue related to GPIO 15 on this module and it will surely help us.

Regarding the last question, can you give us more information on it? What are the exact steps that you’re doing so that we could try this on our side?

Best regards,

Thanks for your reaction.

Regarding 2nd issue, it was Realtek Wi-Fi card. So no issue any more. Though I wonder what are standard Linux means to put Ethernet or Wi-Fi down with power usage drop. Google is not helpful with this. ifconfig down doesn’t reduce consumption neither for Ethernet nor Wi-Fi. In case of Ethernet, its LEDs keep blinking after ifconfig down. With good Wi-Fi cards I could expect power reduction with rfkill. In case of my Wi-Fi card, rfkill perhaps does something to RF, but doesn’t power card down. rmmod module actually enters card low power mode. But that’s not right way to shut WLAN down. Ech, Linux, Linux, new issues every day…

Edward

Dear @Edward,

Thanks for the feedback. If you need help with anything else please contact us again. In the meantime, I’ll check our documentation to see where we can add information about low power mode on Wi-Fi/Ethernet.

Best regards,
Guilherme

Dear @Edward,

The change to the device tree has been patched in one of our latest commits: linux-toradex.git - Linux kernel for Apalis and Colibri modules. I think it’s similar to what you have done.

Best regards,
Guilherme

Dear @gclaudino.tx,

Thank you. Yes, this is exactly the change I did.

Edward

1 Like