• Rajendra Nayak's avatar
    mmc: omap_hsmmc: Avoid a regulator voltage change with dt · 1f84b71b
    Rajendra Nayak authored
    When booting with Device tree, the omap_hsmmc driver does not
    program the pbias cell (inside OMAP control module) during
    a regulator voltage change.
    
    In case of non-dt boot, this is handled using callbacks
    from within platform_data and implemented in machine code.
    To be able to do this with device tree, without invoking
    any machine code, a OMAP control module driver is needed
    which is yet missing.
    
    The pbias cell is used to provide a 1.8v or 3.0v reference
    to the mmc/sd/sdio1 interface supporting both 1.8v and 3.0v
    voltages.
    
    Until a OMAP control module driver is available to handle this,
    when booting with a device tree blob, never change the regulator
    voltage which might then require a pbias cell re-program.
    There are 2 instances where in the mmc regulator voltage can be
    changed.
    -1- when the regulator is turned OFF.
    -2- when attempting a switch to 1.8v from 3.0v for dual volt cards
    
    This patch avoids a voltage change in both cases when booting from
    device tree, and hence compromises on power savings.
    Once the OMAP control module driver is available and hsmmc driver
    is modified to then do pbias programming even when booting
    with device tree, these limitaions can be removed to achieve better
    power savings.
    Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
    Tested-by: default avatarBalaji T K <balajitk@ti.com>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    1f84b71b
omap_hsmmc.c 54.1 KB