• A
    regulator: as3722: Fix equation to calculate max_uV in regulator_lin_range macro · 43f6fc95
    Axel Lin 提交于
    Fix off-by-one in the equation to calculate max_uV and also adjust the _min_uV
    setting accordingly.
    
    For LDOs:
    The voltage select bits set the LDO output voltage 0.825V...3.3V, 25mV steps
      ....00h : LDO off
      01h-24h : V_LDO4 = 0.8V + ldo4_vsel * 25mV
                       = 0.825V + (ldo4_vsel - 1h) * 25mV
      25h-3Fh : do not use
      40h-7Fh : V_LDO4 = 1.725V + (ldo4_vsel - 40h) * 25mV
    
    For SD2345:
    The voltage select bits set the DC/DC output voltage level and power the DC/DC
    converter down.
      ....00h : DC/DC powered down
      01h-40h : V_SD2 = 0.6V + sd2_vsel * 12.5mV
                      = 0.6125V + (sd2_vsel - 1h) * 12.5mV
      41h-70h : V_SD2 = 1.4V + (sd2_vsel - 40h) * 25mV
                      = 1.425V + (sd2_vsel - 41h) * 25mV
      71h-7Fh : V_SD2 = 2.6V + (sd2_vsel - 70h) * 50mV
                      = 2.65V + (sd2_vsel - 71h) * 50mV
    
    Note, the third entry in as3722_sd2345_ranges is wrong in current code.
    Fix it based on the datasheet.
    Signed-off-by: NAxel Lin <axel.lin@ingics.com>
    Acked-by: NLaxman Dewangan <ldewangan@nvidia.com>
    Signed-off-by: NMark Brown <broonie@linaro.org>
    43f6fc95
as3722-regulator.c 26.6 KB