omap: rx51: Set regulator V28 always on
Subsystems (3)
RFC 1/1 omap: rx51: Set regulator V28 always on
It seems that the battery cover sensor in Nokia N900 is powered from the V28 domain. Now if this regulator is disabled it causes that the gpio 160 reads only zero which effectively causes uSD removal detection.
Currently the bootloader enabled V28 is kept on but this may change in the future according to comment indrivers/regulator/core.c: regulator_has_full_constraints.
Also if there are any consumers on the V28 domain doing regulator_enable regulator_disable cycle the V28 will be disabled after that.
Prepare for these by defining the V28 as always_on regulator.
---
This can be tested easily by setting full regulator constraints. Then the regulator framework will disable in a late_initcall all the regulators with zero use count and that don't have always_on flag set.
void __init rx51_peripherals_init(void)
{
+ regulator_has_full_constraints();
rx51_i2c_init();
board_onenand_init();
board_smc91x_init();
--- arch/arm/mach-omap2/board-rx51-peripherals.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-rx51-peripherals.c +1 -0
@@ -362,6 +362,7 @@ static struct regulator_init_data rx51_vaux1 = { .name = "V28", .min_uV = 2800000, .max_uV = 2800000, + .always_on = true, /* due battery cover sensor */ .valid_modes_mask =REGULATOR_MODE_NORMAL |REGULATOR_MODE_STANDBY , .valid_ops_mask = REGULATOR_CHANGE_MODE
Signature · 1 line
1.7.1
Tony Lindgren
maintainerThis patch has been applied to the linux-omap
by youw fwiendly patch wobot.
Branch in linux-omap: devel-boards
Initial commit ID (Likely to change): 73eb91e9d948a5e6b682ac4ccabec16743321939
PatchWorks
http://patchwork.kernel.org/patch/107561/
Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=73eb91e9d948a5e6b682ac4ccabec16743321939