@@ -81,6 +101,21 @@
void mx6_cpu_regulator_init(void)
regulator_set_voltage(cpu_regulator,
cpu_op_tbl[0].cpu_voltage,
cpu_op_tbl[0].cpu_voltage);
+ if (enable_ldo_mode
== LDO_MODE_BYPASSED) {
+ /*digital bypass
VDDPU/VDDSOC/VDDARM*/
+ reg =
__raw_readl(ANADIG_REG_CORE);
+ reg &=
~BM_ANADIG_REG_CORE_REG0_TRG;
+ reg |=
BF_ANADIG_REG_CORE_REG0_TRG(0x1f);
+ reg &=
~BM_ANADIG_REG_CORE_REG1_TRG;
+ reg |=
BF_ANADIG_REG_CORE_REG1_TRG(0x1f);
+ reg &=
~BM_ANADIG_REG_CORE_REG2_TRG;
+ reg |=
BF_ANADIG_REG_CORE_REG2_TRG(0x1f);
+ __raw_writel(reg,
ANADIG_REG_CORE);
+ /* Mask the ANATOP
brown out interrupt in the GPC. */
+ reg =
__raw_readl(gpc_base + 0x14);
+ reg |= 0x80000000;
+ __raw_writel(reg,
gpc_base + 0x14);
+ }
clk_set_rate(cpu_clk,
cpu_op_tbl[0].cpu_rate);