PMIC PM8008 LDOs do not support low power mode (LPM). PMIC PM8010 PMOS LDOs (i.e. LDOs 3-7) do not support LPM. If configured for LPM, these LDOs continue to operate in normal power mode (NPM) with the same quiescent current. However, their over-current protection (OCP) threshold is significantly reduced, well below their rated output current. This can result in OCP triggering and unexpectedly disabling an LDO that is configured for LPM. Since LPM is not supported, using it leads to no power efficiency improvements, and using it can cause false-positive OCP triggering, disallow mode control for all PM8008 LDOs and PM8010 LDOs 3-7. Rely on the hardware default NPM configuration for these LDOs instead. Change-Id: I7f68e364b5b7cb6fe23d3ac0976a7993b4d83621
		
			
				
	
	
		
			235 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			235 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/* Waipio configurations for PM8010I and PM8010J connected via I2C */
 | 
						|
 | 
						|
/ {
 | 
						|
	qcom,pmic-id = <0x2f 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
 | 
						|
	qcom,pmic-id-size = <8>;
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * Each QUP device that's a parent to PMIC must be listed as a critical device
 | 
						|
 * to GCC.
 | 
						|
 */
 | 
						|
&clock_gcc {
 | 
						|
	qcom,critical-devices = <&qupv3_se5_i2c>;
 | 
						|
};
 | 
						|
 | 
						|
&qupv3_se5_i2c {
 | 
						|
	#address-cells = <1>;
 | 
						|
	#size-cells = <0>;
 | 
						|
	status = "ok";
 | 
						|
 | 
						|
	pm8010i@8 {
 | 
						|
		compatible = "qcom,i2c-pmic";
 | 
						|
		reg = <0x8>;
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		pinctrl-names = "default";
 | 
						|
		pinctrl-0 = <&pm8008i_active>;
 | 
						|
 | 
						|
		pm8010-chip@900 {
 | 
						|
			compatible = "qcom,pm8008-chip";
 | 
						|
			reg = <0x900>;
 | 
						|
 | 
						|
			PM8010I_EN: qcom,pm8008-chip-en {
 | 
						|
				regulator-name = "pm8010i-chip-en";
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		qcom,revid@100 {
 | 
						|
			compatible = "qcom,qpnp-revid";
 | 
						|
			reg = <0x100>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pm8010i@9 {
 | 
						|
		compatible = "qcom,i2c-pmic";
 | 
						|
		reg = <0x9>;
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		qcom,pm8010i-regulator {
 | 
						|
			compatible = "qcom,pm8010-regulator";
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			pm8008_en-supply = <&PM8010I_EN>;
 | 
						|
			vdd_l1_l2-supply = <&S12B>;
 | 
						|
			vdd_l3_l4-supply = <&BOB>;
 | 
						|
			vdd_l5-supply = <&S1C>;
 | 
						|
			vdd_l6-supply = <&BOB>;
 | 
						|
			vdd_l7-supply = <&BOB>;
 | 
						|
 | 
						|
			L1I: pm8010i_l1: regulator@4000 {
 | 
						|
				reg = <0x4000>;
 | 
						|
				regulator-name = "pm8010i_l1";
 | 
						|
				regulator-min-microvolt = <480000>;
 | 
						|
				regulator-max-microvolt = <1104000>;
 | 
						|
				qcom,min-dropout-voltage = <24000>;
 | 
						|
				qcom,hpm-min-load = <30000>;
 | 
						|
			};
 | 
						|
 | 
						|
			L2I: pm8010i_l2: regulator@4100 {
 | 
						|
				reg = <0x4100>;
 | 
						|
				regulator-name = "pm8010i_l2";
 | 
						|
				regulator-min-microvolt = <1056000>;
 | 
						|
				regulator-max-microvolt = <1056000>;
 | 
						|
				qcom,min-dropout-voltage = <56000>;
 | 
						|
				qcom,hpm-min-load = <30000>;
 | 
						|
			};
 | 
						|
 | 
						|
			L3I: pm8010i_l3: regulator@4200 {
 | 
						|
				reg = <0x4200>;
 | 
						|
				regulator-name = "pm8010i_l3";
 | 
						|
				regulator-min-microvolt = <2784000>;
 | 
						|
				regulator-max-microvolt = <2904000>;
 | 
						|
				qcom,min-dropout-voltage = <224000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L4I: pm8010i_l4: regulator@4300 {
 | 
						|
				reg = <0x4300>;
 | 
						|
				regulator-name = "pm8010i_l4";
 | 
						|
				regulator-min-microvolt = <2800000>;
 | 
						|
				regulator-max-microvolt = <2800000>;
 | 
						|
				qcom,min-dropout-voltage = <152000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L5I: pm8010i_l5: regulator@4400 {
 | 
						|
				reg = <0x4400>;
 | 
						|
				regulator-name = "pm8010i_l5";
 | 
						|
				regulator-min-microvolt = <1776000>;
 | 
						|
				regulator-max-microvolt = <1800000>;
 | 
						|
				qcom,min-dropout-voltage = <24000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L6I: pm8010i_l6: regulator@4500 {
 | 
						|
				reg = <0x4500>;
 | 
						|
				regulator-name = "pm8010i_l6";
 | 
						|
				regulator-min-microvolt = <2800000>;
 | 
						|
				regulator-max-microvolt = <2800000>;
 | 
						|
				qcom,min-dropout-voltage = <208000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L7I: pm8010i_l7: regulator@4600 {
 | 
						|
				reg = <0x4600>;
 | 
						|
				regulator-name = "pm8010i_l7";
 | 
						|
				regulator-min-microvolt = <2712000>;
 | 
						|
				regulator-max-microvolt = <2960000>;
 | 
						|
				qcom,min-dropout-voltage = <296000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pm8010j@c {
 | 
						|
		compatible = "qcom,i2c-pmic";
 | 
						|
		reg = <0xc>;
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		pinctrl-names = "default";
 | 
						|
		pinctrl-0 = <&pm8008j_active>;
 | 
						|
 | 
						|
		pm8010-chip@900 {
 | 
						|
			compatible = "qcom,pm8008-chip";
 | 
						|
			reg = <0x900>;
 | 
						|
 | 
						|
			PM8010J_EN: qcom,pm8008-chip-en {
 | 
						|
				regulator-name = "pm8010j-chip-en";
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		qcom,revid@100 {
 | 
						|
			compatible = "qcom,qpnp-revid";
 | 
						|
			reg = <0x100>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pm8010j@d {
 | 
						|
		compatible = "qcom,i2c-pmic";
 | 
						|
		reg = <0xd>;
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		qcom,pm8010j-regulator {
 | 
						|
			compatible = "qcom,pm8010-regulator";
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
 | 
						|
			pm8008_en-supply = <&PM8010J_EN>;
 | 
						|
			vdd_l1_l2-supply = <&S12B>;
 | 
						|
			vdd_l3_l4-supply = <&S1C>;
 | 
						|
			vdd_l5-supply = <&BOB>;
 | 
						|
			vdd_l6-supply = <&BOB>;
 | 
						|
			vdd_l7-supply = <&BOB>;
 | 
						|
 | 
						|
			L1J: pm8010j_l1: regulator@4000 {
 | 
						|
				reg = <0x4000>;
 | 
						|
				regulator-name = "pm8010j_l1";
 | 
						|
				regulator-min-microvolt = <1104000>;
 | 
						|
				regulator-max-microvolt = <1104000>;
 | 
						|
				qcom,min-dropout-voltage = <64000>;
 | 
						|
				qcom,hpm-min-load = <30000>;
 | 
						|
			};
 | 
						|
 | 
						|
			L2J: pm8010j_l2: regulator@4100 {
 | 
						|
				reg = <0x4100>;
 | 
						|
				regulator-name = "pm8010j_l2";
 | 
						|
				regulator-min-microvolt = <1056000>;
 | 
						|
				regulator-max-microvolt = <1056000>;
 | 
						|
				qcom,min-dropout-voltage = <24000>;
 | 
						|
				qcom,hpm-min-load = <30000>;
 | 
						|
			};
 | 
						|
 | 
						|
			L3J: pm8010j_l3: regulator@4200 {
 | 
						|
				reg = <0x4200>;
 | 
						|
				regulator-name = "pm8010j_l3";
 | 
						|
				regulator-min-microvolt = <1576000>;
 | 
						|
				regulator-max-microvolt = <1800000>;
 | 
						|
				qcom,min-dropout-voltage = <224000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L4J: pm8010j_l4: regulator@4300 {
 | 
						|
				reg = <0x4300>;
 | 
						|
				regulator-name = "pm8010j_l4";
 | 
						|
				regulator-min-microvolt = <1608000>;
 | 
						|
				regulator-max-microvolt = <1800000>;
 | 
						|
				qcom,min-dropout-voltage = <192000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L5J: pm8010j_l5: regulator@4400 {
 | 
						|
				reg = <0x4400>;
 | 
						|
				regulator-name = "pm8010j_l5";
 | 
						|
				regulator-min-microvolt = <2800000>;
 | 
						|
				regulator-max-microvolt = <2800000>;
 | 
						|
				qcom,min-dropout-voltage = <56000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L6J: pm8010j_l6: regulator@4500 {
 | 
						|
				reg = <0x4500>;
 | 
						|
				regulator-name = "pm8010j_l6";
 | 
						|
				regulator-min-microvolt = <2800000>;
 | 
						|
				regulator-max-microvolt = <2800000>;
 | 
						|
				qcom,min-dropout-voltage = <120000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
 | 
						|
			L7J: pm8010j_l7: regulator@4600 {
 | 
						|
				reg = <0x4600>;
 | 
						|
				regulator-name = "pm8010j_l7";
 | 
						|
				regulator-min-microvolt = <2912000>;
 | 
						|
				regulator-max-microvolt = <3304000>;
 | 
						|
				qcom,min-dropout-voltage = <96000>;
 | 
						|
				qcom,hpm-min-load = <0>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 |