From 0ad36f15227b95e63f6a4de1a1086ae59039f904 Mon Sep 17 00:00:00 2001 From: David Collins Date: Fri, 8 Nov 2019 15:11:31 -0800 Subject: [PATCH] dt-bindings: regulator: add proxy consumer bindings Add bindings for regulator proxy consumers which can be used to enforce minimum voltage, current, and enable state of regulators when a board is booting up. Change-Id: If51da56b7c8f685d0c8a93d514964d2c924381ce --- bindings/regulator/proxy-consumer.txt | 80 +++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 bindings/regulator/proxy-consumer.txt diff --git a/bindings/regulator/proxy-consumer.txt b/bindings/regulator/proxy-consumer.txt new file mode 100644 index 00000000..48e9d5e8 --- /dev/null +++ b/bindings/regulator/proxy-consumer.txt @@ -0,0 +1,80 @@ +Regulator Proxy Consumer Bindings + +Regulator proxy consumers provide a means to use a default regulator state +during bootup only which is removed at the end of boot. This feature can be +used in situations where a shared regulator can be scaled between several +possible voltages and hardware requires that it be at a high level at the +beginning of boot before the consumer device responsible for requesting the +high level has probed. + +Supported properties: + +- qcom,proxy-consumer-enable + Usage: optional + Value type: + Definition: Boolean flag indicating that the regulator must be kept + enabled during boot. + +- qcom,proxy-consumer-voltage + Usage: optional + Value type: + Definition: List of two integers corresponding the minimum and maximum + voltage in microvolts allowed during boot. + +- qcom,proxy-consumer-current + Usage: optional + Value type: + Definition: Minimum current in microamps required during boot. + +- qcom,proxy-consumer-name + Usage: optional + Value type: + Definition: Name of the proxy consumer supply. If not specified, + "proxy" is assumed. + +- -supply + Usage: required if qcom,proxy-consumer-enable, + qcom,proxy-consumer-voltage, or qcom,proxy-consumer-current + is specified + Value type: + Definition: phandle of the regulator's own device node. + is defined in qcom,proxy-consumer-name + or "proxy" if qcom,proxy-consumer-name isn't present. + +Examples: + +foo_vreg: regulator@0 { + regulator-name = "foo"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <2000000>; + proxy-supply = <&foo_vreg>; + qcom,proxy-consumer-voltage = <1500000 2000000>; + qcom,proxy-consumer-current = <25000>; + qcom,proxy-consumer-enable; +}; + +pmic { + compatible = "foo_pmic"; + ldo1-proxy-supply = <&ldo1>; + ldo2-proxy-supply = <&ldo2>; + + ldo1: ldo1 { + regulator-name = "ldo1"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <2000000>; + qcom,proxy-consumer-name = "ldo1-proxy"; + qcom,proxy-consumer-voltage = <1500000 2000000>; + qcom,proxy-consumer-current = <25000>; + qcom,proxy-consumer-enable; + }; + + ldo2: ldo2 { + regulator-name = "ldo2"; + regulator-min-microvolt = <2000000>; + regulator-max-microvolt = <3000000>; + qcom,proxy-consumer-name = "ldo2-proxy"; + qcom,proxy-consumer-voltage = <2500000 3000000>; + qcom,proxy-consumer-current = <50000>; + qcom,proxy-consumer-enable; + }; +};