mirror of https://gitee.com/openkylin/linux.git
69 lines
2.3 KiB
Plaintext
69 lines
2.3 KiB
Plaintext
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: 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 can also be used.
|
|
(See: ../regulator/regulator.txt)
|
|
|
|
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>;
|
|
};
|