Files
android_kernel_xiaomi_sm845…/qcom/waipio-pm8010-i2c.dtsi
David Collins b649ac4271 ARM: dts: qcom: disallow PM8008 and PM8010 LDO LPM usage for Waipio boards
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
2021-08-20 17:40:43 -07:00

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>;
};
};
};
};