dt-bindings: arm: Add support for SCMI Regulators
authorCristian Marussi <cristian.marussi@arm.com>
Thu, 19 Nov 2020 19:10:50 +0000 (19:10 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Fri, 20 Nov 2020 14:55:48 +0000 (14:55 +0000)
Add devicetree bindings to support regulators based on SCMI Voltage
Domain Protocol.

Link: https://lore.kernel.org/r/20201119191051.46363-5-cristian.marussi@arm.com
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Documentation/devicetree/bindings/arm/arm,scmi.txt

index 55deb68230ebb2af17fe5185b1d93cc9af16bfb5..6e011ca970792aa5d891b9a544899c2546adccde 100644 (file)
@@ -62,6 +62,29 @@ Required properties:
  - #power-domain-cells : Should be 1. Contains the device or the power
                         domain ID value used by SCMI commands.
 
+Regulator bindings for the SCMI Regulator based on SCMI Message Protocol
+------------------------------------------------------------
+An SCMI Regulator is permanently bound to a well defined SCMI Voltage Domain,
+and should be always positioned as a root regulator.
+It does not support any current operation.
+
+SCMI Regulators are grouped under a 'regulators' node which in turn is a child
+of the SCMI Voltage protocol node inside the desired SCMI instance node.
+
+This binding uses the common regulator binding[6] but, due to SCMI abstractions,
+supports only a subset of its properties as specified below amongst Optional
+properties.
+
+Required properties:
+ - reg : shall identify an existent SCMI Voltage Domain.
+
+Optional properties:
+ - regulator-name
+ - regulator-min-microvolt / regulator-max-microvolt
+ - regulator-always-on / regulator-boot-on
+ - regulator-max-step-microvolt
+ - regulator-coupled-with / regulator-coupled-max-spread
+
 Sensor bindings for the sensors based on SCMI Message Protocol
 --------------------------------------------------------------
 SCMI provides an API to access the various sensors on the SoC.
@@ -105,6 +128,7 @@ Required sub-node properties:
 [3] Documentation/devicetree/bindings/thermal/thermal*.yaml
 [4] Documentation/devicetree/bindings/sram/sram.yaml
 [5] Documentation/devicetree/bindings/reset/reset.txt
+[6] Documentation/devicetree/bindings/regulator/regulator.yaml
 
 Example:
 
@@ -169,6 +193,25 @@ firmware {
                        reg = <0x16>;
                        #reset-cells = <1>;
                };
+
+               scmi_voltage: protocol@17 {
+                       reg = <0x17>;
+
+                       regulators {
+                               regulator_devX: regulator@0 {
+                                       reg = <0x0>;
+                                       regulator-max-microvolt = <3300000>;
+                               };
+
+                               regulator_devY: regulator@9 {
+                                       reg = <0x9>;
+                                       regulator-min-microvolt = <500000>;
+                                       regulator-max-microvolt = <4200000>;
+                               };
+
+                               ...
+                       };
+               };
        };
 };