Re: [PATCH v2 00/16] omap_hsmmc: regulator usage cleanup and fixes
From: Kishon Vijay Abraham I <hidden>
Date: 2015-08-21 13:27:38
Also in:
linux-mmc, linux-omap, lkml
Hi Tony, On Friday 21 August 2015 01:11 PM, Tony Lindgren wrote:
* Kishon Vijay Abraham I [off-list ref] [150820 05:39]:quoted
Hi, On Monday 03 August 2015 05:56 PM, Kishon Vijay Abraham I wrote:quoted
Changes from v1: *) return on -EPROBE_DEFER and other fatal errors. (Don't return only if the return value is -ENODEV) *) Remove the beagle x15 dts patch. It can be part of a different series. *) Avoid using regulator_is_enabled for vqmmc since if the regulator is shared and the other users are not using regulator_is_enabled then there can be unbalanced regulator_enable/regulator_disable This patch series does the following *) Uses devm_regulator_get_optional() for vmmc and then removes the CONFIG_REGULATOR check altogether. *) return on -EPROBE_DEFER and any other fatal errors *) enable/disable vmmc_aux regulator based on prior state I've pushed this patch series to git://git.ti.com/linux-phy/linux-phy.git mmc_regulator_cleanup_fixes_v2 Please note the branch also has the pbias fixes [1] & [2]. [1] -> https://lkml.org/lkml/2015/7/27/358 [2] -> https://lkml.org/lkml/2015/7/27/391 This series is in preparation for implementing the voltage switch sequence so that UHS cards can be supported. Did basic read/write test in J6, J6 Eco, Beagle-x15, AM437x EVM, Beaglebone black, OMAP5 uEVM and OMAP4 PANDA.I have now done read/write test in omap3 beagle-xm with this series!Great thanks for doing that. Also gave this series a try here with my off idle MMC SDIO WLAN card test and things still work for me. That's not really testing the PBIAS regulator though, but a good torture test for saving and restoring context. So FWIW: Tested-by: Tony Lindgren <tony@atomide.com> If you need a PM torture test for PBIAS regulator, you could try to do the following on your beagle xm MMC card with oamp2plus_defconfig: 1. Make sure EHCI modules are not loaded and OTG USB cable is not connected 2. Enable UART timeouts and off idle with something like: !/bin/bash uarts=$(find /sys/class/tty/tty[SO]*/device/power/ -type d) for uart in $uarts; do echo 3000 > $uart/autosuspend_delay_ms 2>&1 done modprobe leds-gpio modprobe ledtrig-default-on uarts=$(find /sys/class/tty/tty[SO]*/power/ -type d 2>/dev/null) for uart in $uarts; do echo enabled > $uart/wakeup 2>&1 echo auto > $uart/control 2>&1 done echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode 3. Make sure you start seeing core_pwrdm OFF count increasing with cat /sys/kernel/debug/pm_debug/count MMC should keep on working when hitting idle, if not, something is not saved or restored properly. And SDIO WLAN cards should wake up the system and respond to ping if the wakeirq is configured in the dts file for the MMC controller. At least mwifiex_sdio cards work for this :)
Thanks for the detailed explanation. Sure will add those tests. Cheers Kishon