mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	power: regulator: qcom-rpmh-regulator: port over lineage_range helpers
Import struct linear_range() and builder macro from Linux regulator core. Acked-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
This commit is contained in:
		
							parent
							
								
									13bed6c903
								
							
						
					
					
						commit
						21c7b74a56
					
				@ -29,6 +29,13 @@ enum rpmh_regulator_type {
 | 
				
			|||||||
	XOB,
 | 
						XOB,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum rpmh_regulator_mode {
 | 
				
			||||||
 | 
						REGULATOR_MODE_RETENTION,
 | 
				
			||||||
 | 
						REGULATOR_MODE_LPM,
 | 
				
			||||||
 | 
						REGULATOR_MODE_AUTO,
 | 
				
			||||||
 | 
						REGULATOR_MODE_HPM,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define RPMH_REGULATOR_REG_VRM_VOLTAGE		0x0
 | 
					#define RPMH_REGULATOR_REG_VRM_VOLTAGE		0x0
 | 
				
			||||||
#define RPMH_REGULATOR_REG_ENABLE		0x4
 | 
					#define RPMH_REGULATOR_REG_ENABLE		0x4
 | 
				
			||||||
#define RPMH_REGULATOR_REG_VRM_MODE		0x8
 | 
					#define RPMH_REGULATOR_REG_VRM_MODE		0x8
 | 
				
			||||||
@ -61,6 +68,36 @@ enum rpmh_regulator_type {
 | 
				
			|||||||
#define PMIC5_BOB_MODE_AUTO			6
 | 
					#define PMIC5_BOB_MODE_AUTO			6
 | 
				
			||||||
#define PMIC5_BOB_MODE_PWM			7
 | 
					#define PMIC5_BOB_MODE_PWM			7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * struct linear_range - table of selector - value pairs
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Define a lookup-table for range of values. Intended to help when looking
 | 
				
			||||||
 | 
					 * for a register value matching certaing physical measure (like voltage).
 | 
				
			||||||
 | 
					 * Usable when increment of one in register always results a constant increment
 | 
				
			||||||
 | 
					 * of the physical measure (like voltage).
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @min:  Lowest value in range
 | 
				
			||||||
 | 
					 * @min_sel: Lowest selector for range
 | 
				
			||||||
 | 
					 * @max_sel: Highest selector for range
 | 
				
			||||||
 | 
					 * @step: Value step size
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					struct linear_range {
 | 
				
			||||||
 | 
						unsigned int min;
 | 
				
			||||||
 | 
						unsigned int min_sel;
 | 
				
			||||||
 | 
						unsigned int max_sel;
 | 
				
			||||||
 | 
						unsigned int step;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Initialize struct linear_range for regulators */
 | 
				
			||||||
 | 
					#define REGULATOR_LINEAR_RANGE(_min_uV, _min_sel, _max_sel, _step_uV)	\
 | 
				
			||||||
 | 
					{									\
 | 
				
			||||||
 | 
						.min		= _min_uV,					\
 | 
				
			||||||
 | 
						.min_sel	= _min_sel,					\
 | 
				
			||||||
 | 
						.max_sel	= _max_sel,					\
 | 
				
			||||||
 | 
						.step		= _step_uV,					\
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * struct rpmh_vreg_hw_data - RPMh regulator hardware configurations
 | 
					 * struct rpmh_vreg_hw_data - RPMh regulator hardware configurations
 | 
				
			||||||
 * @regulator_type:		RPMh accelerator type used to manage this
 | 
					 * @regulator_type:		RPMh accelerator type used to manage this
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user