summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/pfuze100-regulator.c
Commit message (Collapse)AuthorAgeFilesLines
* regulator: pfuze100: allow misprogrammed IDTim Harvey2013-12-091-3/+9
| | | | | | | | | prior to week 08 of 2013 Freescale misprogrammed between 1 and 3% of PFUZE1000 parts with a ID=0x8 instead of the expected ID=0x0 Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
* regulator: pfuze100: Fix address of FABIDAxel Lin2013-12-091-1/+1
| | | | | | | | | According to the datasheet, the address of FABID is 0x4. Fix it. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Robin Gong <b38343@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
* regulator: pfuze100: Fix off-by-one for max_register settingAxel Lin2013-08-021-1/+1
| | | | | | | | max_register should be register count - 1. Signed-off-by: Axel Lin <axel.lin@ingics.com> Reviewed-by: Robin Gong <b38343@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: Simplify pfuze100_set_ramp_delay implementationAxel Lin2013-07-311-16/+5
| | | | | | | | | | | | | | | | | Simplify the equation to calculate ramp_delay. Below equations are equivalent: ramp_delay = 25000 / (2 * ramp_delay); ramp_delay = 50000 / (4 * ramp_delay); ramp_delay = 25000 / (2 * ramp_delay); ramp_delay = 12500 / ramp_delay; So we don't need to read BIT6 of rdev->desc->vsel_reg for applying different equations. Also use rdev->desc->vsel_reg instead of run-time calculate register address. Signed-off-by: Axel Lin <axel.lin@ingics.com> Reviewed-by: Robin Gong <b38343@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: Fix n_voltages setting for SW2~SW4 with high bit setAxel Lin2013-07-301-8/+8
| | | | | | | | | | | | | | | | | | | | Current code adjust min_uV and uV_step but missed adjusting the n_voltages setting. When BIT6 is clear: n_voltages = (1975000 - 400000) / 25000 + 1 = 64 When BIT6 is set: n_voltages = (3300000 - 800000) / 50000 + 1 = 51 The n_voltages needs update because when BIT6 is set 0x73 ~ 0x7f are reserved. When using regulator_list_voltage_linear, the n_voltages does matter here because wrong n_voltages setting make the equation return wrong result. e.g. if selector is 63, regulator_list_voltage_linear returns 800000 + (50000 * 63) = 4000000 It should return -EINVAL if the selector is in the range of 51 ~ 63. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: Use regulator_map_voltage_ascendAxel Lin2013-07-291-0/+1
| | | | | | | | All table based voltage list have ascendant order. Use regulator_map_voltage_ascend for them. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: Fix module alias prefixAxel Lin2013-07-291-1/+1
| | | | | | | i2c drivers use "i2c:" prefix for module alias. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: Use i2c_[set|get]_clientdataAxel Lin2013-07-291-2/+2
| | | | | | | | Since this is a i2c driver, use i2c_[set|get]_clientdata instead of dev_[set|get]_drvdata. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: add MODULE_LICENSE() in pfuze100 driverRobin Gong2013-07-291-0/+1
| | | | | | | | | Fix building error on x86_64 and i386: WARNING: modpost: missing MODULE_LICENSE() in drivers/regulator/pfuze100-regulator.o Signed-off-by: Robin Gong <b38343@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator:pfuze100: fix build warning and correct the binding docRobin Gong2013-07-261-1/+1
| | | | | | | fix building warning and correct the binding doc Signed-off-by: Robin Gong <b38343@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* regulator: pfuze100: add pfuze100 regulator driverRobin Gong2013-07-251-0/+454
Add pfuze100 regulator driver. Signed-off-by: Robin Gong <b38343@freescale.com> Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
OpenPOWER on IntegriCloud