]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00233366-1 Anatop PFUZE: LDO bypass can be configed by cmdline
authorRobin Gong <b38343@freescale.com>
Mon, 19 Nov 2012 02:21:00 +0000 (10:21 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:44 +0000 (08:35 +0200)
commit8543463d27fab81d81fa36d76293dfc2ffbee0d6
treec8cf3fa2cd3c71205da7079e8ec0d658c47e04e9
parent2b1661ceb3dbe796a250a4dda59a0238ac1765b7
ENGR00233366-1 Anatop PFUZE: LDO bypass can be configed by cmdline

Currently, use CONFIG_MX6_INTER_LDO_BYPASS to enable/disable LDO bypass, and
use the same macro in u-boot too. It's not very friendly ,it will be more
flexible if use dynamic configure by command line input by u-boot.
Two ways to enable LDO bypass:
1. use command line:
You can set "ldo_active=on" or "ldo_active=off" in command line to enable/
disable LDO bypass.
2. set enable_ldo_mode value in board file:
If you didn't set the param in command line, every board
will use its default value, for example, you can find below code in arch/arm/
mach-mx6/mx6q_sabresd_pmic_pfuze100.c:
static int pfuze100_init(struct mc_pfuze *pfuze)
{
        ....
        /*use default mode(ldo bypass) if no param from cmdline*/
        if (enable_ldo_mode == LDO_MODE_DEFAULT)
                enable_ldo_mode = LDO_MODE_BYPASSED;
        ....
}

Note:
1.You should know clearly ldo bypass can be only enabled in the board
that mounted with external pmic to supply VDDARM_IN/VDDSOC_IN power rail, and
you should implement related external regulator firstly, such as:
in arch/arm/mach-mx6/board-mx6q_sabresd.c
static struct mxc_dvfs_platform_data sabresd_dvfscore_data = {
                .reg_id = "VDDCORE",
                .soc_id = "VDDSOC",
                ....
}
otherwise, you have to use internal ldo which is the default configuration.
2.one special case, if the chip is 1.2Ghz, it can't be set LDO bypass.

Signed-off-by: Robin Gong <b38343@freescale.com>
arch/arm/mach-mx6/cpu.c
arch/arm/mach-mx6/cpu_regulator-mx6.c
arch/arm/mach-mx6/irq.c
arch/arm/mach-mx6/mx6_anatop_regulator.c
arch/arm/mach-mx6/mx6_suspend.S
arch/arm/mach-mx6/pm.c
arch/arm/plat-mxc/cpufreq.c
arch/arm/plat-mxc/include/mach/system.h
arch/arm/plat-mxc/system.c