linux/drivers/regulator
Jan Remmet bd18898a21 regulator: tps65910: Work around silicon erratum SWCZ010
commit 8f9165c981 upstream.

http://www.ti.com/lit/pdf/SWCZ010:
  DCDC o/p voltage can go higher than programmed value

Impact:
VDDI, VDD2, and VIO output programmed voltage level can go higher than
expected or crash, when coming out of PFM to PWM mode or using DVFS.

Description:
When DCDC CLK SYNC bits are 11/01:
* VIO 3-MHz oscillator is the source clock of the digital core and input
  clock of VDD1 and VDD2
* Turn-on of VDD1 and VDD2 HSD PFETis synchronized or at a constant
  phase shift
* Current pulled though VCC1+VCC2 is Iload(VDD1) + Iload(VDD2)
* The 3 HSD PFET will be turned-on at the same time, causing the highest
  possible switching noise on the application. This noise level depends
  on the layout, the VBAT level, and the load current. The noise level
  increases with improper layout.

When DCDC CLK SYNC bits are 00:
* VIO 3-MHz oscillator is the source clock of digital core
* VDD1 and VDD2 are running on their own 3-MHz oscillator
* Current pulled though VCC1+VCC2 average of Iload(VDD1) + Iload(VDD2)
* The switching noise of the 3 SMPS will be randomly spread over time,
  causing lower overall switching noise.

Workaround:
Set DCDCCTRL_REG[1:0]= 00.

Signed-off-by: Jan Remmet <j.remmet@phytec.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2017-02-23 03:54:03 +00:00
..
88pm800.c regulator: 88pm800: Remove redundant error message 2014-02-20 01:34:38 +09:00
88pm8607.c regulator: 88pm8607: fix indent code style 2014-02-27 13:39:29 +09:00
aat2870-regulator.c regulator: aat2870: Use regulator_map_voltage_ascend 2014-03-26 16:52:39 +00:00
ab3100.c regulator: ab3100: cast fix 2014-01-23 19:52:09 +00:00
ab8500-ext.c regulator: ab8500-ext: use devm_regulator_register() 2013-09-30 18:10:52 +01:00
ab8500.c regulator: ab8500: use devm_regulator_register() 2013-12-09 17:38:40 +00:00
act8865-regulator.c regulator: act8865: Remove unnecessary *rdev[] from struct act8865 2014-03-10 10:30:21 +00:00
ad5398.c regulator: ad5398: Convert to devm_regulator_register 2013-09-17 00:27:55 +01:00
anatop-regulator.c regulator: anatop: Set default voltage selector for vddpu 2015-01-05 13:33:40 +00:00
arizona-ldo1.c regulator: arizona-ldo1: remove bypass functionality 2014-09-17 09:21:55 -07:00
arizona-micsupp.c regulator: arizona-micsupp: Add missing #include 2014-05-08 18:16:51 +01:00
as3711-regulator.c regulator: as3711: Remove redundant error message 2014-02-20 01:38:41 +09:00
as3722-regulator.c regulator: as3722: Make 0 a valid selector 2014-06-03 16:51:19 +01:00
axp20x-regulator.c regulator: axp20x: Use regulator_map_voltage_ascend for LDO4 2014-06-01 13:42:42 +01:00
bcm590xx-regulator.c regulator: bcm590xx: fix vbus name 2014-06-22 12:00:14 +01:00
core.c regulator: core: fix constraints output buffer 2015-07-15 10:00:25 +01:00
da903x.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
da9052-regulator.c regulator: da9052: Add ramp speed information for the DVC regulators 2014-02-19 22:04:38 +09:00
da9055-regulator.c Merge remote-tracking branches 'regulator/topic/bcm590xx', 'regulator/topic/da9052', 'regulator/topic/da9055', 'regulator/topic/da9063', 'regulator/topic/da9210', 'regulator/topic/db8500' and 'regulator/topic/dbx500' into regulator-next 2014-03-26 16:57:51 +00:00
da9063-regulator.c Merge remote-tracking branches 'regulator/topic/bcm590xx', 'regulator/topic/da9052', 'regulator/topic/da9055', 'regulator/topic/da9063', 'regulator/topic/da9210', 'regulator/topic/db8500' and 'regulator/topic/dbx500' into regulator-next 2014-03-26 16:57:51 +00:00
da9210-regulator.c regulator: da9210: Remove redundant error message 2014-02-20 19:58:46 +09:00
da9210-regulator.h regulator: da9210: New driver 2013-08-06 17:46:15 +01:00
db8500-prcmu.c regulator: db8500-prcmu: Set 1.8V as a fixed voltage for vsmps2 2014-03-21 17:46:40 +00:00
dbx500-prcmu.c regulator: dbx500: use seq_puts() instead of seq_printf() 2014-03-19 10:19:49 +00:00
dbx500-prcmu.h regulator: dbx500-prcmu: Remove operating_point from struct dbx500_regulator_info 2013-04-02 23:05:28 +01:00
devres.c regulator: Constify the pointer to alias name array 2014-05-23 18:55:23 +01:00
dummy.c regulator: dummy: Should be always-on 2014-02-26 08:49:52 +09:00
dummy.h regulator: fix build when CONFIG_REGULATOR_DUMMY=n 2010-10-28 22:40:32 +01:00
fan53555.c regulator: fan53555: Remove redundant error message 2014-02-20 20:20:39 +09:00
fixed-helper.c regulator: extend the fixed dummy voltage regulator to accept voltage 2012-06-19 23:22:30 +01:00
fixed.c regulator: fixed: use of_property_read_{bool|u32}() 2014-05-26 16:19:36 +01:00
gpio-regulator.c regulator: gpio-regulator: fix forgotten gpios-states reading 2014-02-14 14:58:57 +00:00
helpers.c regulator: helpers: Modify helpers enabling multi-bit control 2014-03-06 17:30:10 +08:00
internal.h regulator: core: Split devres code out into a separate file 2013-09-17 00:28:45 +01:00
isl6271a-regulator.c regulator: isl6271a-regulator: Use devm_regulator_register 2013-09-17 00:28:42 +01:00
Kconfig regulator: Updates for v3.16 2014-06-03 11:44:48 -07:00
lp872x.c regulator: lp872x: Do not hardcode return values 2014-02-20 01:26:02 +09:00
lp3971.c regulator: lp3971: Do not hardcode return value 2014-02-20 01:28:12 +09:00
lp3972.c regulator: lp3972: Convert to devm_regulator_register 2013-11-24 14:02:18 +00:00
lp8755.c Merge remote-tracking branch 'regulator/topic/max8660' into regulator-next 2013-09-01 13:50:16 +01:00
lp8788-buck.c regulator: lp8788-buck: use devm_regulator_register() 2013-09-30 18:10:59 +01:00
lp8788-ldo.c regulator: lp8788-ldo: use devm_regulator_register() 2013-09-30 18:10:59 +01:00
ltc3589.c regulator: ltc3589: fix broken voltage transitions 2014-10-30 09:40:12 -07:00
Makefile Merge remote-tracking branches 'regulator/topic/fixed', 'regulator/topic/id-const', 'regulator/topic/ltc3589', 'regulator/topic/max8649' and 'regulator/topic/of' into regulator-next 2014-06-02 17:08:05 +01:00
max1586.c regulator: max1586: Don't allocate memory for regulator_dev pointers 2014-03-10 10:24:28 +00:00
max8649.c regulator: max8649: remove unnecessary OOM messages 2014-06-02 15:12:16 +01:00
max8660.c regulator: max8660: Fix brace alignment 2014-03-19 12:47:06 +00:00
max8907-regulator.c regulator: max8907: Remove regulator_dev array from state container 2014-03-10 09:34:59 +00:00
max8925-regulator.c regulator: max8925: Silence checkpatch warning 2014-03-18 12:40:19 +00:00
max8952.c regulator: max8952: Make of_device_id array const 2014-05-07 20:56:47 +01:00
max8973-regulator.c regulator: max8973: Remove unused field from 'struct max8973_chip' 2014-03-10 09:36:42 +00:00
max8997.c regulator: max8997: Remove unnecessary **rdev from struct max8997_data 2014-03-10 10:11:15 +00:00
max8998.c regulator: max8998: Remove unnecessary **rdev from struct max8998_data 2014-03-10 10:12:13 +00:00
max14577.c regulator: max14577: Add support for MAX77836 regulators 2014-04-23 14:09:45 +01:00
max77686.c regulator: max77686: Remove regulator_dev array from state container 2014-03-10 09:29:01 +00:00
max77693.c regulator: max77693: Fix use of uninitialized regulator config 2014-11-14 15:19:55 +00:00
mc13xxx-regulator-core.c regulator: mc13xxx: Fix probing with DT 2014-03-03 10:58:23 +09:00
mc13xxx.h regulator: mc13xxx: Add warning of incorrect names of regulators 2013-04-28 02:10:00 +01:00
mc13783-regulator.c Merge remote-tracking branch 'regulator/topic/mc13783' into regulator-next 2013-10-24 11:11:38 +01:00
mc13892-regulator.c Merge remote-tracking branches 'regulator/topic/db8500', 'regulator/topic/gpio', 'regulator/topic/lp3971', 'regulator/topic/lp3972', 'regulator/topic/max14577', 'regulator/topic/max77693', 'regulator/topic/mc13892', 'regulator/topic/pcf50633' and 'regulator/topic/pfuze100' into regulator-linus 2014-01-23 12:01:27 +00:00
of_regulator.c regulator: use of_property_read_{bool|u32}() 2014-06-01 11:56:23 +01:00
palmas-regulator.c Merge remote-tracking branches 'regulator/fix/bcm590xx', 'regulator/fix/palmas' and 'regulator/fix/tps65218' into regulator-linus 2014-06-28 14:01:04 +01:00
pbias-regulator.c regulator: pbias: Fix broken pbias disable functionality 2015-09-28 10:21:40 +01:00
pcap-regulator.c regulator: pcap: use devm_regulator_register() 2013-09-30 18:11:00 +01:00
pcf50633-regulator.c mfd: pcf50633: Correct device name for pcf50633 regulator 2013-12-02 17:58:58 +00:00
pfuze100-regulator.c regulator: pfuze100: Support enable/disable for fixed regulator 2014-05-27 12:25:57 +01:00
rc5t583-regulator.c regulator: rc5t583: Remove redundant error message 2014-02-20 20:26:05 +09:00
s2mpa01.c Merge remote-tracking branches 'regulator/topic/palmas', 'regulator/topic/pbias', 'regulator/topic/pfuze100', 'regulator/topic/s2mpa01' and 'regulator/topic/s2mps11' into regulator-next 2014-06-02 17:08:08 +01:00
s2mps11.c regulator: s2mps11: Fix invalid selector mask and voltages for buck9 2016-06-15 21:29:21 +01:00
s5m8767.c regulator: s5m8767: fix get_register() error handling 2016-05-01 00:05:48 +02:00
st-pwm.c regulator: st-pwm: Make of_device_id array const 2014-05-07 20:56:09 +01:00
stw481x-vmmc.c regulator: stw481x-vmmc: use devm_regulator_register() 2013-12-09 17:26:29 +00:00
ti-abb-regulator.c regulator: ti-abb: Remove redundant error message 2014-02-19 22:06:52 +09:00
tps6105x-regulator.c Merge remote-tracking branch 'regulator/topic/tps6105x' into regulator-next 2013-10-24 11:11:41 +01:00
tps6507x-regulator.c regulator: tps6507x: Remove redundant error message 2014-02-20 20:53:09 +09:00
tps6524x-regulator.c regulator: tps6524x: Remove redundant error message 2014-02-20 20:54:59 +09:00
tps6586x-regulator.c regulator: tps6586x: Remove unused to_tps6586x_dev() function 2014-05-27 12:04:39 +01:00
tps51632-regulator.c regulator: tps51632: Remove redundant error message 2014-02-20 20:50:01 +09:00
tps62360-regulator.c regulator: tps62360: Remove redundant error message 2014-02-20 20:51:08 +09:00
tps65023-regulator.c Merge remote-tracking branch 'regulator/topic/tps65023' into regulator-next 2013-10-24 11:11:42 +01:00
tps65090-regulator.c regulator: tps65090: Fix tps65090 crash on Tegra Dalmore 2014-05-02 09:33:30 -07:00
tps65217-regulator.c regulator: tps65217: Use regulator_map_voltage_ascend for LDO1 2014-04-18 17:21:00 +01:00
tps65218-regulator.c regulator: tps65218: fix DCDC4 linear voltage range 2014-09-17 09:21:55 -07:00
tps65910-regulator.c regulator: tps65910: Work around silicon erratum SWCZ010 2017-02-23 03:54:03 +00:00
tps65912-regulator.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
tps80031-regulator.c regulator: tps80031: remove unnecessary parentheses 2014-03-05 12:33:18 +08:00
twl-regulator.c regulator: twl: Fix checkpatch issue 2014-01-08 17:16:07 +00:00
userspace-consumer.c regulator: use dev_get_platdata() 2013-07-30 12:24:20 +01:00
vexpress.c regulator: Updates for v3.16 2014-06-03 11:44:48 -07:00
virtual.c drivers/regulator/virtual: avoid world-writable sysfs files. 2014-05-14 10:53:55 +09:30
wm831x-dcdc.c regulator: wm831x-dcdc: Remove redundant error message 2014-02-20 21:03:14 +09:00
wm831x-isink.c regulator: wm831x-isink: Remove redundant error message 2014-02-20 21:03:16 +09:00
wm831x-ldo.c regulator: wm831x-ldo: Remove redundant error message 2014-02-20 21:03:17 +09:00
wm8350-regulator.c regulator: wm8350: Do not hardcode return value 2014-02-19 13:24:12 +09:00
wm8400-regulator.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
wm8994-regulator.c regulator: wm8994: Remove redundant error message 2014-02-20 21:05:39 +09:00