Skip to content
  • Angus Ainslie (Purism)'s avatar
    regulator: bd718x7: Disallow SW control for critical regulators · a5ff531b
    Angus Ainslie (Purism) authored
    
    
    BD718x7 has a HW 'feature' which leaves regulators with SEL-bit
    enabled (SW-control) disabled when transitioning from poweroff
    to SNVS state. In other words - if any critical regulator has
    been controlled by SW (enable/disable control) - it will stay
    OFF if we go to SNVS state. SNVS is usually a nice idea with
    i.MX8. So this change is required before we can enable SNVS
    as a state to go after reset.
    
    If SW control for crucial regulators is needed - then we
    must not use SNVS. Sorry.
    
    In default setup this means that all other regulators except
    buck3 and buck4 (GPU and VDU power) on BD71837 must not be
    controlled by SW.
    
    Buck 1 and 2 support DVS - Eg voltage can be changed when buck
    is enabled. So voltage change can be supported for those.
    As said - BD71837 buck 3 and 4 aren't crucial for boot so we
    can provide full control to those - if HW leaves them shut down
    after SNVS transition then linux can enable them again at boot.*
    
    *NOTE: bd718x7 driver is _not_ enabling/disabling buck3/buck4
    in suspend/resume callbacks. If this is wanted we can implement
    it in this driver or leave it for driver which uses the regulator
    APIs and controls buck states for other power saving use-cases
    (galcore that is?).
    
    Signed-off-by: default avatarMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    a5ff531b