• Mark Brown's avatar
    regulator: Implement WM831x BuckWise DC-DC convertor DVS support · e24a04c4
    Mark Brown authored
    The BuckWise DC-DC convertors in WM831x devices support switching to
    a second output voltage using the logic level on one of the device
    pins. This is intended to allow rapid voltage switching for uses like
    cpufreq, replacing the I2C or SPI write used to configure the voltage
    of the regulator with a much faster GPIO status change.
    
    This is implemented by keeping the DVS voltage configured as the
    maximum voltage permitted for the regulator. If a request is made
    for the maximum voltage then the GPIO is used to switch to the DVS
    voltage, otherwise the normal ON voltage is updated and used. This
    follows the idiom used by most cpufreq drivers, which drop the
    minimum voltage as the core frequency is dropped but use a constant
    maximum - raising the voltage should normally be fast, but lowering
    it may be slower.
    
    Configuration of the DVS MFP on the device should be done externally,
    for example via OTP.
    
    Support is present in the hardware for monitoring the status of the
    transition using a second GPIO. This is not currently implemented
    but platform data is provided for it - the driver currently assumes
    that the device will be configured to transition immediately - but
    platform data is provided to reduce merge issues once it is.
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    e24a04c4
wm831x-dcdc.c 25.5 KB