1
0
Fork 0
freescale-linux-fslc/include/linux/mfd
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
..
abx500 power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
arizona mfd: arizona: Add device tree binding to specify mono outputs 2016-01-11 07:33:16 +00:00
da9052 mfd: da9053: Addition of extra registers for GPIOs 8-13 2015-10-30 17:19:49 +00:00
da9055 mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9062 mfd: da9062: Supply core driver 2015-08-11 15:08:45 +01:00
da9063 mfd: da9063: Fix missing DA9063_M_DVC_RDY mask bit 2015-08-11 15:08:51 +01:00
da9150 mfd: da9150: Add support for Fuel-Gauge 2015-10-13 11:27:54 +01:00
mt6323 mfd: mt6397: Add MT6323 support to MT6397 driver 2016-03-16 08:50:30 +00:00
mt6397 mfd: mt6397: int_con and int_status may vary in location 2016-03-16 08:50:28 +00:00
pcf50633
samsung regulator: s2mps11: Fix invalid selector mask and voltages for buck9 2016-03-28 10:36:30 +01:00
syscon mfd: imx6sx: Add PCIe register definitions for iomuxc gpr 2016-03-16 08:50:41 +00:00
wm831x
wm8350 leds: wm8350: Remove work queue 2016-01-04 09:57:35 +01:00
wm8994
88pm80x.h mfd: 88pm80x: Add 88pm860 chip type support 2015-10-26 14:48:56 +00:00
88pm860x.h
aat2870.h
ab3100.h
abx500.h
adp5520.h
as3711.h mfd: as3711: Set regmap config reg counts properly 2016-03-16 08:50:34 +00:00
as3722.h
asic3.h
atmel-hlcdc.h mfd: Add atmel-hlcdc driver 2014-11-25 16:18:43 +00:00
axp20x.h mfd: axp20x: Add support for RSB based AXP223 PMIC 2016-02-12 08:54:42 +00:00
bcm590xx.h
core.h mfd: core: propagate device properties to sub devices drivers 2015-12-07 02:29:23 +01:00
cros_ec.h mfd: cros_ec: Small kerneldoc fix 2016-03-16 08:50:24 +00:00
cros_ec_commands.h mfd: cros_ec: rev cros_ec_commands.h 2015-06-15 13:18:20 +01:00
da903x.h
davinci_voicecodec.h ASoC: cq93vc: Remove unused state struct 2014-11-27 11:11:30 +00:00
db8500-prcmu.h
dbx500-prcmu.h
dln2.h mfd: Add support for Diolan DLN-2 devices 2014-11-10 16:30:05 +00:00
ds1wm.h
ezx-pcap.h
hi6421-pmic.h
htc-egpio.h
htc-pasic3.h
imx25-tsadc.h mfd: fsl-imx25-tsadc: Register touchscreen ADC driver 2016-02-11 15:40:41 +00:00
intel_bxtwc.h mfd: add Intel Broxton Whiskey Cove PMIC driver 2015-10-30 17:18:50 +00:00
intel_msic.h
intel_soc_pmic.h mfd: intel_soc_pmic: Add support for Broxton WC PMIC 2015-10-30 17:18:03 +00:00
ipaq-micro.h
janz.h
kempld.h
lm3533.h
lp3943.h Revert "gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free" 2016-03-09 22:00:27 +07:00
lp8788-isink.h
lp8788.h
lpc_ich.h mfd: watchdog: iTCO_wdt: Expose watchdog properties using platform data 2015-08-11 15:03:21 +01:00
max8907.h
max8925.h
max8997-private.h
max8997.h
max8998-private.h
max8998.h
max14577-private.h
max14577.h
max77686-private.h rtc: max77686: move initialisation of rtc regmap, irq chip locally 2016-03-14 17:08:13 +01:00
max77686.h mfd: max77686: Remove unused struct max77686_opmode_data 2015-06-22 12:25:05 +01:00
max77693-common.h drivers: max77843: Switch to common max77693 state container 2015-07-16 21:39:30 +01:00
max77693-private.h mfd/extcon: max77693: Rename defines to allow inclusion with max77843 2015-07-16 21:39:30 +01:00
max77693.h == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
max77843-private.h mfd/extcon: max77843: Rename defines to allow inclusion with max77693 2015-07-16 21:39:30 +01:00
mc13xxx.h
mc13783.h
mc13892.h
mcp.h
menelaus.h mfd: menelaus: Drop support for SW controller VCORE 2015-03-30 10:06:50 +01:00
palmas.h extcon: palmas: Add the support for VBUS detection by using GPIO 2016-02-05 14:15:31 +09:00
qcom_rpm.h mfd: qcom-rpm: Driver for the Qualcomm RPM 2015-01-22 16:04:00 +00:00
rc5t583.h mfd: rc5t583: Set regmap config reg counts properly 2016-03-16 08:50:34 +00:00
rdc321x.h
retu.h
rk808.h mfd: rk808: Disable the under voltage detect 2015-03-12 09:07:10 +00:00
rn5t618.h
rt5033-private.h mfd: rt5033: Add Richtek RT5033 driver core. 2015-01-22 15:55:47 +00:00
rt5033.h power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
rtsx_common.h
rtsx_pci.h mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rtsx_usb.h
si476x-core.h
si476x-platform.h
si476x-reports.h
sky81452.h mfd: Add support for Skyworks SKY81452 driver 2015-03-12 09:08:12 +00:00
smsc.h
sta2x11-mfd.h
stmpe.h Input: stmpe-ts - enforce device tree only mode 2015-05-26 14:16:08 -07:00
stw481x.h regulator: stw481x: Remove unused fields from struct stw481x 2015-03-21 01:05:56 +00:00
syscon.h mfd: syscon: Return ENOTSUPP instead of ENOSYS when disabled 2016-03-16 08:50:35 +00:00
t7l66xb.h
tc3589x.h Input: tc3589x - localize platform data 2015-04-03 17:08:59 -07:00
tc6387xb.h
tc6393xb.h
ti_am335x_tscadc.h mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save 2015-03-03 16:41:15 +00:00
tmio.h mmc: tmio: add flag to reduce delay after changing clock status 2016-02-29 11:03:04 +01:00
tps6105x.h mfd: tps6105x: Use i2c regmap to access registers 2015-10-05 10:38:22 +01:00
tps6507x.h
tps6586x.h
tps65086.h mfd: tps65086: Add driver for the TPS65086 PMIC 2016-03-16 08:50:15 +00:00
tps65090.h mfd: tps65090: Set regmap config reg counts properly 2016-03-16 08:50:36 +00:00
tps65217.h
tps65218.h regulator: tps65218: add support for LS3 current regulator 2015-11-25 12:25:26 +00:00
tps65910.h
tps65912.h mfd: tps65912: Add driver for the TPS65912 PMIC 2016-02-11 16:30:59 +00:00
tps80031.h
twl4030-audio.h
twl6040.h
ucb1x00.h
viperboard.h
wl1273-core.h
wm8400-audio.h
wm8400-private.h
wm8400.h