• Matti Vaittinen's avatar
    regulator: bd71828: Don't overwrite runtime voltages · 0f9f7c63
    Matti Vaittinen authored
    Some of the regulators on the BD71828 have common voltage setting for
    RUN/SUSPEND/IDLE/LPSR states. The enable control can be set for each
    state though.
    
    The driver allows setting the voltage values for these states via
    device-tree. As a side effect, setting the voltages for
    SUSPEND/IDLE/LPSR will also change the RUN level voltage which is not
    desired and can break the system.
    
    The comment in code reflects this behaviour, but it is likely to not
    make people any happier. The right thing to do is to allow setting the
    enable/disable state at SUSPEND/IDLE/LPSR via device-tree, but to
    disallow setting state specific voltages for those regulators.
    
    BUCK1 is a bit different. It only shares the SUSPEND and LPSR state
    voltages. The former behaviour of allowing to silently overwrite the
    SUSPEND state voltage by LPSR state voltage is also changed here so that
    the SUSPEND voltage is prioritized over LPSR voltage.
    
    Prevent setting PMIC state specific voltages for regulators which do not
    support it.
    Signed-off-by: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
    Fixes: 522498f8 ("regulator: bd71828: Basic support for ROHM bd71828 PMIC regulators")
    Link: https://msgid.link/r/e1883ae1e3ae5668f1030455d4750923561f3d68.1715848512.git.mazziesaccount@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    0f9f7c63
bd71828-regulator.c 22.4 KB