2015-07-07 16:06:50 +01:00
Bindings for the Generic PWM Regulator
======================================
Currently supports 2 modes of operation:
2015-07-09 16:35:26 +01:00
Voltage Table: When in this mode, a voltage table (See below) of
2015-07-07 16:06:50 +01:00
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.
2015-07-09 16:35:26 +01:00
Continuous Voltage: This mode uses the regulator's maximum and minimum
2015-07-07 16:06:50 +01:00
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.
2014-09-28 10:28:54 +08:00
Required properties:
2015-07-07 16:06:50 +01:00
--------------------
- compatible: Should be "pwm-regulator"
- pwms: PWM specification (See: ../pwm/pwm.txt)
2015-07-09 16:35:27 +01:00
Only required for Voltage Table Mode:
2015-07-07 16:06:50 +01:00
- 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 (%)
2015-07-09 16:35:27 +01:00
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.
2014-09-28 10:28:54 +08:00
2015-07-07 16:06:50 +01:00
Any property defined as part of the core regulator binding can also be used.
(See: ../regulator/regulator.txt)
Continuous Voltage Example:
2014-09-28 10:28:54 +08:00
pwm_regulator {
compatible = "pwm-regulator;
pwms = <&pwm1 0 8448 0>;
2015-07-07 16:06:50 +01:00
regulator-min-microvolt = <1016000>;
regulator-max-microvolt = <1114000>;
regulator-name = "vdd_logic";
};
2014-09-28 10:28:54 +08:00
2015-07-07 16:06:50 +01:00
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 */
2014-09-28 10:28:54 +08:00
voltage-table = <1114000 0>,
<1095000 10>,
<1076000 20>,
<1056000 30>,
<1036000 40>,
<1016000 50>;
};