93 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.1 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 (%)
 | |
| 
 | |
| 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>;
 | |
| 	};
 | 
