Add socd mitigation and bcl support for pmih010x & pmiv010x PMIC. Change-Id: If64fe4d1a22801dda5d1ade4a83ed0955fcadd7b Signed-off-by: Nitesh Kumar <quic_nitekuma@quicinc.com> Signed-off-by: Priyansh Jain <quic_priyjain@quicinc.com>
328 lines
6.3 KiB
Plaintext
328 lines
6.3 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/spmi/spmi.h>
|
|
|
|
&spmi_bus {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <4>;
|
|
|
|
qcom,pm7550ba@7 {
|
|
compatible = "qcom,spmi-pmic";
|
|
reg = <7 SPMI_USID>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pm7550ba_tz: qcom,temp-alarm@a00 {
|
|
compatible = "qcom,spmi-temp-alarm";
|
|
reg = <0xa00>;
|
|
interrupts = <0x7 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
pm7550ba_sdam_1: sdam@7000 {
|
|
compatible = "qcom,spmi-sdam";
|
|
reg = <0x7000>;
|
|
};
|
|
|
|
pm7550ba_sdam_2: sdam@7100 {
|
|
compatible = "qcom,spmi-sdam";
|
|
reg = <0x7100>;
|
|
};
|
|
|
|
pm7550ba_sdam_3: sdam@7200 {
|
|
compatible = "qcom,spmi-sdam";
|
|
reg = <0x7200>;
|
|
};
|
|
|
|
pm7550ba_sdam_4: sdam@7300 {
|
|
compatible = "qcom,spmi-sdam";
|
|
reg = <0x7300>;
|
|
};
|
|
|
|
pm7550ba_gpios: pinctrl@8800 {
|
|
compatible = "qcom,pm7550ba-gpio";
|
|
reg = <0x8800>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
pm7550ba_eusb2_repeater: eusb2-repeater@fd00 {
|
|
compatible = "qcom,pmic-eusb2-repeater";
|
|
reg = <0xfd00>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pm7550ba_vib: qcom,vibrator@df00 {
|
|
compatible = "qcom,qpnp-vibrator-ldo";
|
|
reg = <0xdf00>;
|
|
qcom,vib-ldo-volt-uv = <3000000>;
|
|
qcom,disable-overdrive;
|
|
status = "disabled";
|
|
};
|
|
|
|
pm7550ba_amoled: qcom,amoled {
|
|
compatible = "qcom,amoled-regulator";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
|
|
pm7550ba_oledb_vreg: oledb@fa00 {
|
|
reg = <0xfa00>;
|
|
reg-names = "oledb_base";
|
|
regulator-name = "oledb";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <8000000>;
|
|
qcom,swire-control;
|
|
};
|
|
|
|
pm7550ba_ab_vreg: ab@f900 {
|
|
reg = <0xf900>;
|
|
reg-names = "ab_base";
|
|
regulator-name = "ab";
|
|
regulator-min-microvolt = <4600000>;
|
|
regulator-max-microvolt = <5200000>;
|
|
qcom,swire-control;
|
|
};
|
|
|
|
pm7550ba_ibb_vreg: ibb@f800 {
|
|
reg = <0xf800>;
|
|
reg-names = "ibb_base";
|
|
regulator-name = "ibb";
|
|
regulator-min-microvolt = <1400000>;
|
|
regulator-max-microvolt = <6600000>;
|
|
qcom,swire-control;
|
|
regulator-allow-set-load;
|
|
};
|
|
};
|
|
|
|
pm7550ba_amoled_ecm: qcom,amoled-ecm@f900 {
|
|
compatible = "qcom,amoled-ecm";
|
|
reg = <0xf900>;
|
|
status = "disabled";
|
|
|
|
nvmem-names = "amoled-ecm-sdam0", "amoled-ecm-sdam1",
|
|
"amoled-ecm-sdam2";
|
|
nvmem = <&pmk8550_sdam_13>, <&pmk8550_sdam_14>,
|
|
<&pmk8550_sdam_41>;
|
|
interrupt-names = "ecm-sdam0", "ecm-sdam1",
|
|
"ecm-sdam2";
|
|
interrupts = <0x0 0x7c 0x1 IRQ_TYPE_EDGE_RISING>,
|
|
<0x0 0x7d 0x1 IRQ_TYPE_EDGE_RISING>,
|
|
<0x0 0x98 0x1 IRQ_TYPE_EDGE_RISING>;
|
|
};
|
|
|
|
pm7550ba_bcl: bcl@4700 {
|
|
compatible = "qcom,bcl-v5";
|
|
reg = <0x4700 0x100>;
|
|
interrupts = <0x7 0x47 0x0 IRQ_TYPE_NONE>,
|
|
<0x7 0x47 0x1 IRQ_TYPE_NONE>,
|
|
<0x7 0x47 0x2 IRQ_TYPE_NONE>;
|
|
interrupt-names = "bcl-lvl0",
|
|
"bcl-lvl1",
|
|
"bcl-lvl2";
|
|
qcom,pmic7-threshold;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
bcl_soc:bcl-soc {
|
|
compatible = "qcom,msm-bcl-soc";
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&thermal_zones {
|
|
pm7550ba_temp_alarm: pm7550ba_tz {
|
|
polling-delay-passive = <100>;
|
|
polling-delay = <0>;
|
|
thermal-governor = "step_wise";
|
|
thermal-sensors = <&pm7550ba_tz>;
|
|
|
|
trips {
|
|
pm7550ba_trip0: trip0 {
|
|
temperature = <95000>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
pm7550ba_trip1: trip1 {
|
|
temperature = <115000>;
|
|
hysteresis = <0>;
|
|
type = "hot";
|
|
};
|
|
|
|
pm7550ba_trip2: trip2 {
|
|
temperature = <145000>;
|
|
hysteresis = <0>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm7550ba-ibat-lvl0 {
|
|
polling-delay-passive = <0>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&pm7550ba_bcl 0>;
|
|
|
|
trips {
|
|
ibat_lvl0:ibat-lvl0 {
|
|
temperature = <7000>;
|
|
hysteresis = <200>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm7550ba-ibat-lvl1 {
|
|
polling-delay-passive = <0>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&pm7550ba_bcl 1>;
|
|
|
|
trips {
|
|
ibat_lvl1:ibat-lvl1 {
|
|
temperature = <9000>;
|
|
hysteresis = <200>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
vbat {
|
|
polling-delay-passive = <0>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&pm7550ba_bcl 2>;
|
|
|
|
trips {
|
|
vbat_lvl0:vbat-lvl0 {
|
|
temperature = <2800>;
|
|
hysteresis = <100>;
|
|
type = "passive";
|
|
};
|
|
|
|
vbat_lvl1:vbat-lvl1 {
|
|
temperature = <2600>;
|
|
hysteresis = <100>;
|
|
type = "passive";
|
|
};
|
|
|
|
vbat_lvl2:vbat-lvl2 {
|
|
temperature = <2300>;
|
|
hysteresis = <100>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm7550ba-bcl-lvl0 {
|
|
polling-delay-passive = <50>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&pm7550ba_bcl 5>;
|
|
|
|
trips {
|
|
thermal-engine-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
thermal-hal-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
b_bcl_lvl0: b-bcl-lvl0 {
|
|
temperature = <1>;
|
|
hysteresis = <1>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm7550ba-bcl-lvl1 {
|
|
polling-delay-passive = <50>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&pm7550ba_bcl 6>;
|
|
|
|
trips {
|
|
thermal-engine-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
thermal-hal-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
b_bcl_lvl1: b-bcl-lvl1 {
|
|
temperature = <1>;
|
|
hysteresis = <1>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
pm7550ba-bcl-lvl2 {
|
|
polling-delay-passive = <50>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&pm7550ba_bcl 7>;
|
|
|
|
trips {
|
|
thermal-engine-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
thermal-hal-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
b_bcl_lvl2: b-bcl-lvl2 {
|
|
temperature = <1>;
|
|
hysteresis = <1>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
|
|
socd {
|
|
polling-delay-passive = <100>;
|
|
polling-delay = <0>;
|
|
thermal-sensors = <&bcl_soc>;
|
|
|
|
trips {
|
|
thermal-engine-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
thermal-hal-trip {
|
|
temperature = <100>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
|
|
socd_trip:socd-trip {
|
|
temperature = <90>;
|
|
hysteresis = <0>;
|
|
type = "passive";
|
|
};
|
|
};
|
|
};
|
|
};
|