These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / Documentation / devicetree / bindings / regulator / pwm-regulator.txt
index ce91f61..ed936f0 100644 (file)
@@ -1,27 +1,68 @@
-pwm regulator bindings
+Bindings for the Generic PWM Regulator
+======================================
+
+Currently supports 2 modes of operation:
+
+Voltage Table:         When in this mode, a voltage table (See below) of
+                       predefined voltage <=> duty-cycle values must be
+                       provided via DT. Limitations are that the regulator can
+                       only operate at the voltages supplied in the table.
+                       Intermediary duty-cycle values which would normally
+                       allow finer grained voltage selection are ignored and
+                       rendered useless.  Although more control is given to
+                       the user if the assumptions made in continuous-voltage
+                       mode do not reign true.
+
+Continuous Voltage:    This mode uses the regulator's maximum and minimum
+                       supplied voltages specified in the
+                       regulator-{min,max}-microvolt properties to calculate
+                       appropriate duty-cycle values.  This allows for a much
+                       more fine grained solution when compared with
+                       voltage-table mode above.  This solution does make an
+                       assumption that a %50 duty-cycle value will cause the
+                       regulator voltage to run at half way between the
+                       supplied max_uV and min_uV values.
 
 Required properties:
-- compatible: Should be "pwm-regulator"
-- pwms: OF device-tree PWM specification (see PWM binding pwm.txt)
-- voltage-table: voltage and duty table, include 2 members in each set of
-  brackets, first one is voltage(unit: uv), the next is duty(unit: percent)
+--------------------
+- compatible:          Should be "pwm-regulator"
+
+- pwms:                        PWM specification (See: ../pwm/pwm.txt)
+
+Only required for Voltage Table Mode:
+- voltage-table:       Voltage and Duty-Cycle table consisting of 2 cells
+                           First cell is voltage in microvolts (uV)
+                           Second cell is duty-cycle in percent (%)
+
+NB: To be clear, if voltage-table is provided, then the device will be used
+in Voltage Table Mode.  If no voltage-table is provided, then the device will
+be used in Continuous Voltage Mode.
 
-Any property defined as part of the core regulator binding defined in
-regulator.txt can also be used.
+Any property defined as part of the core regulator binding can also be used.
+(See: ../regulator/regulator.txt)
 
-Example:
+Continuous Voltage Example:
        pwm_regulator {
                compatible = "pwm-regulator;
                pwms = <&pwm1 0 8448 0>;
+               regulator-min-microvolt = <1016000>;
+               regulator-max-microvolt = <1114000>;
+               regulator-name = "vdd_logic";
+       };
 
+Voltage Table Example:
+       pwm_regulator {
+               compatible = "pwm-regulator;
+               pwms = <&pwm1 0 8448 0>;
+               regulator-min-microvolt = <1016000>;
+               regulator-max-microvolt = <1114000>;
+               regulator-name = "vdd_logic";
+
+                             /* Voltage Duty-Cycle */
                voltage-table = <1114000 0>,
                                <1095000 10>,
                                <1076000 20>,
                                <1056000 30>,
                                <1036000 40>,
                                <1016000 50>;
-
-               regulator-min-microvolt = <1016000>;
-               regulator-max-microvolt = <1114000>;
-               regulator-name = "vdd_logic";
        };