android_kernel_motorola_sm6375/qcom/yupik-pmic-overlay.dtsi
Jishnu Prakash 40526282ad ARM: dts: msm: Prevent PM8008 LPM usage for all targets
PMIC PM8008 LDOs do not support low power mode (LPM). If configured for
LPM, these LDOs continue to operate in normal power mode (NPM) with the
same quiescent current but a reduced over-current protection (OCP)
threshold, which can result in OCP triggering. Fix all PM8008 LDOs
to use normal power mode (NPM) alone to avoid this.

Change-Id: I2c8961eaba0677768da09aeba577a32810c1d50f
2021-09-12 21:21:29 -07:00

488 lines
11 KiB
Devicetree

#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
#include "pmk8350.dtsi"
#include "pm7325.dtsi"
#include "pm8350c.dtsi"
#include "pmr735a.dtsi"
&pm7325_gpios {
key_vol_up {
key_vol_up_default: key_vol_up_default {
pins = "gpio6";
function = "normal";
input-enable;
bias-pull-up;
power-source = <1>;
};
};
};
&pm8350c_gpios {
pm8008i_reset {
pm8008i_active: pm8008i_active {
pins = "gpio3";
function = "normal";
bias-disable;
output-high;
power-source = <0>;
};
};
pm8008j_reset {
pm8008j_active: pm8008j_active {
pins = "gpio4";
function = "normal";
bias-disable;
output-high;
power-source = <0>;
};
};
};
&pmk8350 {
pon_pbs@800 {
status = "disabled";
};
};
&pmk8350_vadc {
/delete-node/ pm8350_ref_gnd;
/delete-node/ pm8350_vref_1p25;
/delete-node/ pm8350_die_temp;
/delete-node/ pm8350_vph_pwr;
/delete-node/ pm8350b_ref_gnd;
/delete-node/ pm8350b_vref_1p25;
/delete-node/ pm8350b_die_temp;
/delete-node/ pm8350b_vph_pwr;
/delete-node/ pm8350b_vbat_sns;
/delete-node/ pmr735b_ref_gnd;
/delete-node/ pmr735b_vref_1p25;
/delete-node/ pmr735b_die_temp;
/* PM7325 Channel nodes */
pm7325_ref_gnd {
reg = <PM7325_ADC7_REF_GND>;
label = "pm7325_ref_gnd";
qcom,pre-scaling = <1 1>;
};
pm7325_vref_1p25 {
reg = <PM7325_ADC7_1P25VREF>;
label = "pm7325_vref_1p25";
qcom,pre-scaling = <1 1>;
};
pm7325_die_temp {
reg = <PM7325_ADC7_DIE_TEMP>;
label = "pm7325_die_temp";
qcom,pre-scaling = <1 1>;
};
pm7325_vph_pwr {
reg = <PM7325_ADC7_VPH_PWR>;
label = "pm7325_vph_pwr";
qcom,pre-scaling = <1 3>;
};
pm7325_quiet_therm {
reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
label = "pm7325_quiet_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325_cam_flash_therm {
reg = <PM7325_ADC7_AMUX_THM2_100K_PU>;
label = "pm7325_cam_flash_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325_sdm_skin_therm {
reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
label = "pm7325_sdm_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pm7325_wide_rfc_therm {
reg = <PM7325_ADC7_AMUX_THM4_100K_PU>;
label = "pm7325_wide_rfc_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>,
<&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
pm7325_quiet_therm {
reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325_cam_flash_therm {
reg = <PM7325_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325_sdm_skin_therm {
reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pm7325_wide_rfc_therm {
reg = <PM7325_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pmk8350_xo_therm {
reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
quiet-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PM7325_ADC7_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
camera-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PM7325_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
sdm-skin-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PM7325_ADC7_AMUX_THM3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
rear-cam-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PM7325_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo-therm-usr {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
/*
* Each QUP device that's a parent to PMIC must be listed as a critical device
* to GCC
*/
&gcc {
qcom,critical-devices = <&qupv3_se1_i2c>;
};
&qupv3_se1_i2c {
#address-cells = <1>;
#size-cells = <0>;
status = "ok"
pm8008i_chip: pm8008i@8 {
compatible = "qcom,i2c-pmic";
reg = <0x8>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pm8008i_active>;
pm8008-chip@900 {
compatible = "qcom,pm8008-chip";
reg = <0x900>;
PM8008I_EN: qcom,pm8008-chip-en {
regulator-name = "pm8008i-chip-en";
};
};
qcom,revid@100 {
compatible = "qcom,qpnp-revid";
reg = <0x100>;
};
};
pm8008i_ldo: pm8008i@9 {
compatible = "qcom,i2c-pmic";
reg = <0x9>;
#address-cells = <1>;
#size-cells = <0>;
qcom,pm8008i-regulator {
compatible = "qcom,pm8008-regulator";
#address-cells = <1>;
#size-cells = <0>;
pm8008_en-supply = <&PM8008I_EN>;
vdd_l1_l2-supply = <&S8B>;
vdd_l3_l4-supply = <&BOB>;
vdd_l5-supply = <&S1B>;
vdd_l6-supply = <&BOB>;
vdd_l7-supply = <&BOB>;
L1I: pm8008i_l1: regulator@4000 {
reg = <0x4000>;
regulator-name = "pm8008i_l1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1200000>;
qcom,min-dropout-voltage = <160000>;
qcom,hpm-min-load = <0>;
};
L2I: pm8008i_l2: regulator@4100 {
reg = <0x4100>;
regulator-name = "pm8008i_l2";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1150000>;
qcom,min-dropout-voltage = <128000>;
qcom,hpm-min-load = <0>;
};
L3I: pm8008i_l3: regulator@4200 {
reg = <0x4200>;
regulator-name = "pm8008i_l3";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3000000>;
qcom,min-dropout-voltage = <144000>;
qcom,hpm-min-load = <0>;
};
L4I: pm8008i_l4: regulator@4300 {
reg = <0x4300>;
regulator-name = "pm8008i_l4";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <128000>;
qcom,hpm-min-load = <0>;
};
L5I: pm8008i_l5: regulator@4400 {
reg = <0x4400>;
regulator-name = "pm8008i_l5";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
qcom,min-dropout-voltage = <136000>;
qcom,hpm-min-load = <0>;
};
L6I: pm8008i_l6: regulator@4500 {
reg = <0x4500>;
regulator-name = "pm8008i_l6";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <128000>;
qcom,hpm-min-load = <0>;
};
L7I: pm8008i_l7: regulator@4600 {
reg = <0x4600>;
regulator-name = "pm8008i_l7";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3000000>;
qcom,min-dropout-voltage = <312000>;
qcom,hpm-min-load = <0>;
};
};
};
pm8008j_chip: pm8008j@c {
compatible = "qcom,i2c-pmic";
reg = <0xc>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pm8008j_active>;
pm8008-chip@900 {
compatible = "qcom,pm8008-chip";
reg = <0x900>;
PM8008J_EN: qcom,pm8008-chip-en {
regulator-name = "pm8008j-chip-en";
};
};
qcom,revid@100 {
compatible = "qcom,qpnp-revid";
reg = <0x100>;
};
};
pm8008j_ldo: pm8008j@d {
compatible = "qcom,i2c-pmic";
reg = <0xd>;
#address-cells = <1>;
#size-cells = <0>;
qcom,pm8008j-regulator {
compatible = "qcom,pm8008-regulator";
#address-cells = <1>;
#size-cells = <0>;
pm8008_en-supply = <&PM8008J_EN>;
vdd_l1_l2-supply = <&S8B>;
vdd_l3_l4-supply = <&S1B>;
vdd_l5-supply = <&BOB>;
vdd_l6-supply = <&BOB>;
vdd_l7-supply = <&BOB>;
L1J: pm8008j_l1: regulator@4000 {
reg = <0x4000>;
regulator-name = "pm8008j_l1";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1150000>;
qcom,min-dropout-voltage = <96000>;
qcom,hpm-min-load = <0>;
};
L2J: pm8008j_l2: regulator@4100 {
reg = <0x4100>;
regulator-name = "pm8008j_l2";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1250000>;
qcom,min-dropout-voltage = <24000>;
qcom,hpm-min-load = <0>;
};
L3J: pm8008j_l3: regulator@4200 {
reg = <0x4200>;
regulator-name = "pm8008j_l3";
regulator-min-microvolt = <1460000>;
regulator-max-microvolt = <1800000>;
qcom,min-dropout-voltage = <224000>;
qcom,hpm-min-load = <0>;
};
L4J: pm8008j_l4: regulator@4300 {
reg = <0x4300>;
regulator-name = "pm8008j_l4";
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <1600000>;
qcom,min-dropout-voltage = <0>;
qcom,hpm-min-load = <0>;
};
L5J: pm8008j_l5: regulator@4400 {
reg = <0x4400>;
regulator-name = "pm8008j_l5";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <104000>;
qcom,hpm-min-load = <0>;
};
L6J: pm8008j_l6: regulator@4500 {
reg = <0x4500>;
regulator-name = "pm8008j_l6";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
qcom,min-dropout-voltage = <112000>;
qcom,hpm-min-load = <0>;
};
L7J: pm8008j_l7: regulator@4600 {
reg = <0x4600>;
regulator-name = "pm8008j_l7";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3544000>;
qcom,min-dropout-voltage = <96000>;
qcom,hpm-min-load = <0>;
};
};
};
};
&pm7325_tz {
io-channels = <&pmk8350_vadc PM7325_ADC7_DIE_TEMP>;
io-channel-names = "thermal";
};
&pmr735a_tz {
io-channels = <&pmk8350_vadc PMR735A_ADC7_DIE_TEMP>;
io-channel-names = "thermal";
};
&soc {
reboot_reason {
compatible = "qcom,reboot-reason";
nvmem-cells = <&restart_reason>;
nvmem-cell-names = "restart_reason";
};
};