• Alberto Panizzo's avatar
    regulator: mc13783: consider Power Gates as digital regulators. · f4b97b36
    Alberto Panizzo authored
    GPO regulators are digital outputs that can be enabled or disabled by a
    dedicated bit in mc13783 POWERMISC register.
    In this family can be count in also Power Gates (PWGT1 and 2): enabled by
    a dedicated pin a Power Gate is an hardware driven supply where the output
    (PWGTnDRV) follow this law:
    
     Bit PWGTxSPIEN | Pin PWGTxEN | PWGTxDRV |  Read Back
       0 = default  |             |          | PWGTxSPIEN
     ---------------+-------------+----------+------------
           1        |      x      |   Low    |     0
           0        |      0      |   High   |     1
           0        |      1      |   Low    |     0
    
    As read back value of control bit reflects the PWGTxDRV state (not the
    control value previously written) and mc13783 POWERMISC register contain
    only regulator related bits, a dedicated function to manage these bits is
    created here with the aim of tracing the real value of PWGTxSPIEN bits
    and reproduce it on next writes.
    
    All POWERMISC users _must_ use the new function to not accidentally
    disable Power Gates supplies.
    
    v2 changes:
    -Better utilization of abstraction layers.
    -Voltage query support. GPO's and PWGTxDRV are fixed voltage regulator
     with voltage value of 3.1V and 5.5V respectively.
    Signed-off-by: default avatarAlberto Panizzo <maramaopercheseimorto@gmail.com>
    Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    f4b97b36
mc13783-regulator.c 19.3 KB