ARM: ux500: Setup external regulator supply #2 for HREF v20 boards
v20 HREFs require non-standard configuration of EXT_SUPPLY2 to function correctly (specific information is commented). Here we make use of the recently added mechanism to adapt initialisation values for such use-cases. Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
422d765d2c
commit
e0c44686c3
|
@ -510,4 +510,32 @@ void mop500_regulator_init(void)
|
||||||
regulator->constraints.state_mem.disabled = 1;
|
regulator->constraints.state_mem.disabled = 1;
|
||||||
regulator->constraints.state_standby.disabled = 1;
|
regulator->constraints.state_standby.disabled = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handle AB8500_EXT_SUPPLY2 on HREFP_V20_V50 boards (do it for
|
||||||
|
* all HREFP_V20 boards)
|
||||||
|
*/
|
||||||
|
if (cpu_is_u8500v20()) {
|
||||||
|
/* VextSupply2RequestCtrl = HP/OFF depending on VxRequest */
|
||||||
|
ab8500_modify_reg_init(AB8500_REGUREQUESTCTRL3, 0x01, 0x01);
|
||||||
|
|
||||||
|
/* VextSupply2SysClkReq1HPValid = SysClkReq1 controlled */
|
||||||
|
ab8500_modify_reg_init(AB8500_REGUSYSCLKREQ1HPVALID2,
|
||||||
|
0x20, 0x20);
|
||||||
|
|
||||||
|
/* VextSupply2 = force HP at initialization */
|
||||||
|
ab8500_modify_reg_init(AB8500_EXTSUPPLYREGU, 0x0c, 0x04);
|
||||||
|
|
||||||
|
/* enable VextSupply2 during platform active */
|
||||||
|
regulator = &ab8500_ext_regulators[AB8500_EXT_SUPPLY2];
|
||||||
|
regulator->constraints.always_on = 1;
|
||||||
|
|
||||||
|
/* disable VextSupply2 in suspend */
|
||||||
|
regulator = &ab8500_ext_regulators[AB8500_EXT_SUPPLY2];
|
||||||
|
regulator->constraints.state_mem.disabled = 1;
|
||||||
|
regulator->constraints.state_standby.disabled = 1;
|
||||||
|
|
||||||
|
/* enable VextSupply2 HW control (used in suspend) */
|
||||||
|
regulator->driver_data = (void *)&ab8500_ext_supply2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue