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 (%) Optional properties for Continuous mode: - pwm-dutycycle-unit: Integer value encoding the duty cycle unit. If not defined, <100> is assumed, meaning that pwm-dutycycle-range contains values expressed in percent. - pwm-dutycycle-range: Should contain 2 entries. The first entry is encoding the dutycycle for regulator-min-microvolt and the second one the dutycycle for regulator-max-microvolt. Duty cycle values are expressed in pwm-dutycycle-unit. If not defined, <0 100> is assumed. 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. Optional properties: -------------------- - enable-gpios: GPIO to use to enable/disable the regulator Any property defined as part of the core regulator binding can also be used. (See: ../regulator/regulator.txt) Continuous Voltage With Enable GPIO Example: pwm_regulator { compatible = "pwm-regulator"; pwms = <&pwm1 0 8448 0>; enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; regulator-min-microvolt = <1016000>; regulator-max-microvolt = <1114000>; regulator-name = "vdd_logic"; /* unit == per-mille */ pwm-dutycycle-unit = <1000>; /* * Inverted PWM logic, and the duty cycle range is limited * to 30%-70%. */ pwm-dutycycle-range = <700 300>; /* */ }; 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>; }; |