regulator: axp20x: fix DCDCA and DCDCD for AXP806
Refactoring of the driver introduced bugs in AXP806's DCDCA and DCDCD
regulator definitions.
In DCDCA case, AXP806_DCDCA_1120mV_STEPS was obtained by subtracting
0x47 and 0x33. This should be 0x14 (hex) and not 14 (dec).
In DCDCD case, axp806_dcdcd_ranges[] contains two ranges with same
start and end macros, which is clearly wrong. Second range starts at
1.6V so it should use AXP806_DCDCD_1600mV_[START|END] macros. They are
already defined but unused.
Fixes: db4a555f7c
("regulator: axp20x: use defines for masks")
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Link: https://lore.kernel.org/r/20190713090717.347-2-jernej.skrabec@siol.net
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
3c7577d442
commit
1ef55fed92
1 changed files with 3 additions and 3 deletions
|
@ -240,7 +240,7 @@
|
|||
#define AXP806_DCDCA_600mV_END \
|
||||
(AXP806_DCDCA_600mV_START + AXP806_DCDCA_600mV_STEPS)
|
||||
#define AXP806_DCDCA_1120mV_START 0x33
|
||||
#define AXP806_DCDCA_1120mV_STEPS 14
|
||||
#define AXP806_DCDCA_1120mV_STEPS 20
|
||||
#define AXP806_DCDCA_1120mV_END \
|
||||
(AXP806_DCDCA_1120mV_START + AXP806_DCDCA_1120mV_STEPS)
|
||||
#define AXP806_DCDCA_NUM_VOLTAGES 72
|
||||
|
@ -774,8 +774,8 @@ static const struct regulator_linear_range axp806_dcdcd_ranges[] = {
|
|||
AXP806_DCDCD_600mV_END,
|
||||
20000),
|
||||
REGULATOR_LINEAR_RANGE(1600000,
|
||||
AXP806_DCDCD_600mV_START,
|
||||
AXP806_DCDCD_600mV_END,
|
||||
AXP806_DCDCD_1600mV_START,
|
||||
AXP806_DCDCD_1600mV_END,
|
||||
100000),
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue