regulator: bd71837: add property for omitting ON/OFF control
authorMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Thu, 3 Sep 2020 18:38:34 +0000 (21:38 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 4 Sep 2020 10:02:40 +0000 (11:02 +0100)
The BD718(37/47/50) regulator enable states can be controlled either by SW
or by PMIC internal state machine.

On some systems mixture of SW and HW state machine controlled regulators is
needed.

Specifically, some SoCs signal SUSPEND state change to PMIC via
STBY_REQ line. Now there are setups that expect certain regulators then to
be disabled (by PMIC state machine) while other regulators should stay
enabled (regardless of HW state => SW control required).

Add a new device-tree property "rohm,no-regulator-enable-control" which can
be used to leave regulator(s) under HW state machine control.

Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Link: https://lore.kernel.org/r/9ff1104579093e7977944be769d625b9e33bc663.1599029334.git.matti.vaittinen@fi.rohmeurope.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.yaml

index 19d9408..f5e3119 100644 (file)
@@ -93,6 +93,17 @@ patternProperties:
         # ----------------------------------------------------------------
         # rest | not supported   | not supported    | not supported
 
+      # BD71837 power outputs can either be controlled by the PMIC internal
+      # hardware state machine or by software. If you need regulators to be
+      # turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles
+      # PMIC HW state machine) - then you should set this property.
+      # Tradeoff is that then SW can't control the ON/OFF state for this
+      # regulator (other than invoking a PMIC state change).
+      rohm,no-regulator-enable-control:
+        description: |
+          Enable/Disable control of this regulator must be left to the
+          PMIC hardware state machine.
+        type: boolean
 
     required:
       - regulator-name