Suspend-to-mem fails without keep-power-in-suspend DT property

Hi,
I am trying to make the power consumption further low in system suspend(to mem) case in Jetson TX2.
Linux Kernel is from L4T 27.1.

For that I removed keep-power-in-suspend for sdhci4 node from device-tree.
But resume says,

mmc0: error -110 during resume (card was removed?)

and system resume fails as eMMC is not accessible.
I think the current MMC driver is not re-enabling the card power.
In my understanding, that property is used for keeping the card power ON even while controller is OFF.
I am trying for power off and power on back of eMMC and resume properly so while suspended, the power will be minimized a little bit.

Also I did no find the schematics for the eMMC interface.
I think the eMMC sits on the Jetson module and not in the motherboard.
I think, the schematics I could download from nvidia download centre is only for motherboard.

Can anyone have comments/helps on this?

Thanks,
Chivas.

hello chivas_regal,

it’s expected that you got failure after removing keep-power-in-suspend, please refer to the mmc documentation at below path.
sources/kernel/kernel-4.4/Documentation/devicetree/bindings/mmc/mmc.txt

keep-power-in-suspend: Preserves card power during a suspend/resume cycle

Hi JerryChang,

Thanks for quick reply.

I understand that keep-power-in-suspend DT property is used for preserving card power.

But I was expecting the current driver would disable card power during suspend and re-enable during resume if that DT property is removed.
But it seems current driver cannot work without keep-power-in-suspend.

I tried the same for some other vendor boards (eg: Freescale SabreSD) and those drivers can work with/without keep-power-in-suspend property.

Regards,
Chivas.

Hi Chivas,

Can you share the failing logs?

cheers
Bibek

hello chivas_regal,

could you please test this again with JetPack-3.2 Developer Preview ?
https://developer.nvidia.com/embedded/jetpack-notes
thanks