mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 08:21:36 +01:00 
			
		
		
		
	This patch extends pmic_bind_children prefix matching. In addition to the node name the property regulator-name is used while trying to match prefixes. This allows assigning different drivers to regulator nodes named regulator@1 and regulator@10 for example. I have discarded the idea of using other properties then regulator-name as I do not see any benefit in using property compatible or even regulator-compatible. Of course I am open to change this if there are good reasons to do so. Signed-off-by: Felix Brack <fb@ltec.ch> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  *  Sandbox PMIC dts node
 | |
|  *
 | |
|  *  Copyright (C) 2015 Samsung Electronics
 | |
|  *  Przemyslaw Marczak  <p.marczak@samsung.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #include <dt-bindings/pmic/sandbox_pmic.h>
 | |
| 
 | |
| &sandbox_pmic {
 | |
| 	compatible = "sandbox,pmic";
 | |
| 
 | |
| 	pmic_emul {
 | |
| 		compatible = "sandbox,i2c-pmic";
 | |
| 
 | |
| 		/*
 | |
| 		 * Default PMICs register values are set by macro
 | |
| 		 * VAL2REG(min, step, value) [uV/uA]
 | |
| 		 * VAL2OMREG(mode id)
 | |
| 		 * reg-defaults - byte array
 | |
| 		 */
 | |
| 		reg-defaults = /bits/ 8 <
 | |
| 			/* BUCK1 */
 | |
| 			VAL2REG(800000, 25000, 1000000)
 | |
| 			VAL2REG(150000, 25000, 150000)
 | |
| 			VAL2OMREG(BUCK_OM_OFF)
 | |
| 			/* BUCK2 */
 | |
| 			VAL2REG(750000, 50000, 3000000)
 | |
| 			VAL2REG(150000, 25000, 150000)
 | |
| 			VAL2OMREG(0)
 | |
| 			/* LDO1 */
 | |
| 			VAL2REG(800000, 25000, 1600000)
 | |
| 			VAL2REG(100000, 50000, 150000)
 | |
| 			VAL2OMREG(LDO_OM_OFF)
 | |
| 			/* LDO2 */
 | |
| 			VAL2REG(750000, 50000, 3000000)
 | |
| 			VAL2REG(150000, 25000, 150000)
 | |
| 			VAL2OMREG(0)
 | |
| 			/* reg[12:15] - not used */
 | |
| 			0x00
 | |
| 			0x00
 | |
| 			0x00
 | |
| 			0x00
 | |
| 		>;
 | |
| 	};
 | |
| 
 | |
| 	buck1 {
 | |
| 		regulator-name = "SUPPLY_1.2V";
 | |
| 		regulator-min-microvolt = <1200000>;
 | |
| 		regulator-max-microvolt = <1200000>;
 | |
| 		regulator-min-microamp = <200000>;
 | |
| 		regulator-max-microamp = <200000>;
 | |
| 		regulator-always-on;
 | |
| 	};
 | |
| 
 | |
| 	buck2: buck2 {
 | |
| 		regulator-name = "SUPPLY_3.3V";
 | |
| 		regulator-min-microvolt = <3300000>;
 | |
| 		regulator-max-microvolt = <3300000>;
 | |
| 	};
 | |
| 
 | |
| 	ldo1 {
 | |
| 		regulator-name = "VDD_EMMC_1.8V";
 | |
| 		regulator-min-microvolt = <1800000>;
 | |
| 		regulator-max-microvolt = <1800000>;
 | |
| 		regulator-min-microamp = <100000>;
 | |
| 		regulator-max-microamp = <100000>;
 | |
| 		regulator-boot-on;
 | |
| 	};
 | |
| 
 | |
| 	ldo2 {
 | |
| 		regulator-name = "VDD_LCD_3.3V";
 | |
| 		regulator-min-microvolt = <3300000>;
 | |
| 		regulator-max-microvolt = <3300000>;
 | |
| 	};
 | |
| 
 | |
| 	no_match_by_nodename {
 | |
| 		regulator-name = "buck_SUPPLY_1.5V";
 | |
| 		regulator-min-microvolt = <1500000>;
 | |
| 		regulator-max-microvolt = <1500000>;
 | |
| 	};
 | |
| };
 |