summaryrefslogtreecommitdiffstats
path: root/arch/hexagon
diff options
context:
space:
mode:
authorKishon Vijay Abraham I <kishon@ti.com>2016-05-27 12:05:29 +0530
committerLinus Walleij <linus.walleij@linaro.org>2016-06-07 09:35:16 +0200
commitadc2847550559a899124a29ed0bdf32e26fa3dea (patch)
treea024c25cbacbb158312d605c5c857fa68326d14a /arch/hexagon
parent2ec64c9d0d5f6a4fd17dce4fa6645d98b8be0849 (diff)
downloadlinux-adc2847550559a899124a29ed0bdf32e26fa3dea.tar.bz2
gpio: pcf857x: restore the initial line state of all pcf lines
The reset values for all the PCF lines are high and hence on shutdown we should drive all the lines high in order to bring it to the reset state. This is actually required since PCF doesn't have a reset line and even after warm reset (by invoking "reboot" in prompt) the PCF lines maintains it's previous programmed state. This becomes a problem if the boards are designed to work with the default initial state. DRA7XX_evm uses PCF8575 and one of the PCF output lines feeds to MMC/SD VDD and this line should be driven high in order for the MMC/SD to be detected. This line is modelled as regulator and the hsmmc driver takes care of enabling and disabling it. In the case of 'reboot', during shutdown path as part of it's cleanup process the hsmmc driver disables this regulator. This makes MMC *boot* not functional. Fix it by driving all the pcf lines high. This patch was sent long back (https://patchwork.ozlabs.org/patch/420382/) But there was a concern that contention might occur if the PCF shutdown handler is invoked before the shutdown handler of the PCF's consumers. In that case PCF shutdown handler can't drive all the pcf lines high without knowing if the PCF consumers are still active. However commit 52cdbdd4985 ("driver core: correct device's shutdown order") will make sure shutdown handler of PCF's consumers are invoked before invoking the shutdown handler of PCF. So it should be safe to merge this now. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/hexagon')
0 files changed, 0 insertions, 0 deletions