mirror_ubuntu-kernels/include/linux/mfd/samsung
Krzysztof Kozlowski 3b67262307 regulator: s2mps11: Fix invalid selector mask and voltages for buck9
The buck9 regulator of S2MPS11 PMIC had incorrect vsel_mask (0xff
instead of 0x1f) thus reading entire register as buck9's voltage. This
effectively caused regulator core to interpret values as higher voltages
than they were and then to set real voltage much lower than intended.

The buck9 provides power to other regulators, including LDO13
and LDO19 which supply the MMC2 (SD card). On Odroid XU3/XU4 the lower
voltage caused SD card detection errors on Odroid XU3/XU4:
	mmc1: card never left busy state
	mmc1: error -110 whilst initialising SD card

During driver probe the regulator core was checking whether initial
voltage matches the constraints. With incorrect vsel_mask of 0xff and
default value of 0x50, the core interpreted this as 5 V which is outside
of constraints (3-3.775 V). Then the regulator core was adjusting the
voltage to match the constraints. With incorrect vsel_mask this new
voltage mapped to a vere low voltage in the driver.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org>
2016-03-28 10:36:30 +01:00
..
core.h mfd: sec: Add support for S2MPS15 PMIC 2015-11-23 10:33:16 +00:00
irq.h mfd: sec: Fix RTC alarm interrupt number on S2MPS11 2015-04-09 10:26:54 +01:00
rtc.h rtc: s5m: Make register configuration per S2MPS device to remove exceptions 2016-01-11 20:21:55 +01:00
s2mpa01.h regulator: s2mpxxx: Move regulator min/step voltages in common place 2014-08-16 16:51:16 -05:00
s2mps11.h regulator: s2mps11: Fix invalid selector mask and voltages for buck9 2016-03-28 10:36:30 +01:00
s2mps13.h mfd: sec-core: Disable buck voltage reset on watchdog falling edge 2015-10-30 17:20:37 +00:00
s2mps14.h regulator: s2mpxxx: Move regulator min/step voltages in common place 2014-08-16 16:51:16 -05:00
s2mps15.h mfd: sec: Add support for S2MPS15 PMIC 2015-11-23 10:33:16 +00:00
s2mpu02.h mfd: sec-core: Add support for S2MPU02 device 2014-07-09 14:58:11 +01:00
s5m8763.h mfd: Modify samsung mfd header 2012-07-16 14:28:11 +02:00
s5m8767.h regulator: s5m8767: Use GPIO for controlling Buck9/eMMC 2014-01-27 20:24:17 +00:00