mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 16:31:25 +01:00 
			
		
		
		
	This commit adds emulation of sandbox PMIC device, which includes: - PMIC I2C emulation driver - PMIC I/O driver (UCLASS_PMIC) - PMIC regulator driver (UCLASS_REGULATOR) The sandbox PMIC has 12 significant registers and 4 as padding to 16 bytes, which allows using 'i2c md' command with the default count (16). The sandbox PMIC provides regulators: - 2x BUCK - 2x LDO Each, with adjustable output: - Enable state - Voltage - Current limit (LDO1/BUCK1 only) - Operation mode (different for BUCK and LDO) Each attribute has it's own register, beside the enable state, which depends on operation mode. The header file: sandbox_pmic.h includes PMIC's default register values, which are set on i2c pmic emul driver's probe() method. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested on sandbox: Tested-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			36 lines
		
	
	
		
			874 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			874 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Sandbox pmic
 | |
| 
 | |
| This device uses two drivers:
 | |
| - drivers/power/pmic/sandbox.c (for parent device)
 | |
| - drivers/power/regulator/sandbox.c (for child regulators)
 | |
| 
 | |
| This file describes the binding info for the PMIC driver.
 | |
| 
 | |
| To bind the regulators, please read the regulator binding info:
 | |
| - doc/device-tree-bindings/regulator/sandbox.txt
 | |
| 
 | |
| Required PMIC node properties:
 | |
| - compatible: "sandbox,pmic"
 | |
| - reg = 0x40
 | |
| 
 | |
| Required PMIC's "emul" subnode,  with property:
 | |
| - compatible: "sandbox,i2c-pmic"
 | |
| 
 | |
| With the above properties, the pmic device can be used for read/write only.
 | |
| To bind each regulator, the optional regulator subnodes should exists.
 | |
| 
 | |
| Optional subnodes:
 | |
| - ldo/buck subnodes of each device's regulator (see regulator binding info)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| sandbox_pmic {
 | |
| 	compatible = "sandbox,pmic";
 | |
| 	reg = <0x40>;
 | |
| 
 | |
| 	/* Mandatory for I/O */
 | |
| 	emul {
 | |
| 		compatible = "sandbox,i2c-pmic";
 | |
| 	};
 | |
| };
 |