Files
kernel_xiaomi_raphael/arch/arm64/boot/dts/qcom/sa6155-pmic.dtsi
Manaf Meethalavalappu Pallikunhi 81eeebf558 ARM: dts: msm: Update pmic alarm thermal zone mitigation configs for GEN3
The pmic alarm sensor generates interrupt and notifies the thermal
framework only for 1st stage alarm. But thermal mitigation is enabled
only for second stage alarm for GEN3 targets. Since first trip doesn't
have mitigation, passive delay polling is also not enabled for this
zone. It leads to a case where alarm sensor reaches above second trip,
but mitigation is not applied.

Add dummy cooling map configuration for first trip threshold for these
alarm sensor thermal zones. It activates passive delay polling from
first trip violation and it will be active until it clears first
trip violation.

Change-Id: Iff1b0fcdb5206cb9499e97757b1822bfd2203fdb
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2020-08-18 01:43:13 -07:00

408 lines
9.1 KiB
Plaintext

/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/* Remove regulator nodes specific to SM6150 */
&soc {
/delete-node/ rpmh-regulator-mxlvl;
/delete-node/ rpmh-regulator-cxlvl;
/delete-node/ rpmh-regulator-smpc1;
/delete-node/ rpmh-regulator-smpc2;
/delete-node/ rpmh-regulator-modemlvl;
/delete-node/ rpmh-regulator-smpc8;
/delete-node/ rpmh-regulator-ldoa1;
/delete-node/ rpmh-regulator-ldoa2;
/delete-node/ rpmh-regulator-ldoa3;
/delete-node/ rpmh-regulator-ldoa4;
/delete-node/ rpmh-regulator-ldoa5;
/delete-node/ rpmh-regulator-ldoa6;
/delete-node/ rpmh-regulator-lmxlvl;
/delete-node/ rpmh-regulator-lcxlvl;
/delete-node/ rpmh-regulator-ldoa9;
/delete-node/ rpmh-regulator-ldoa10;
/delete-node/ rpmh-regulator-ldoa11;
/delete-node/ rpmh-regulator-ldoa12;
/delete-node/ rpmh-regulator-ldoa13;
/delete-node/ rpmh-regulator-ldoa14;
/delete-node/ rpmh-regulator-ldoa15;
/delete-node/ rpmh-regulator-ldoa16;
/delete-node/ rpmh-regulator-ldoa17;
/delete-node/ rpmh-regulator-ldoa18;
/delete-node/ rpmh-regulator-ldoa19;
/delete-node/ rpmh-regulator-ldoc1;
/delete-node/ rpmh-regulator-ldoc2;
/delete-node/ rpmh-regulator-ldoc3;
/delete-node/ rpmh-regulator-ldoc4;
/delete-node/ rpmh-regulator-ldoc5;
/delete-node/ rpmh-regulator-ldoc6;
/delete-node/ rpmh-regulator-ldoc7;
/delete-node/ rpmh-regulator-ldoc8;
/delete-node/ rpmh-regulator-ldoc9;
/delete-node/ rpmh-regulator-ldoc10;
/delete-node/ rpmh-regulator-ldoc11;
/delete-node/ rpmh-regulator-bobc1;
};
&qusb_phy0 {
/delete-property/ vdd-supply;
/delete-property/ vdda18-supply;
/delete-property/ vdda33-supply;
};
&qusb_phy1 {
/delete-property/ vdd-supply;
/delete-property/ vdda18-supply;
/delete-property/ vdda33-supply;
};
&usb0 {
/delete-property/ extcon;
/delete-property/ vbus_dwc3-supply;
};
&pm6150_pdphy {
/delete-property/ vdd-pdphy-supply;
};
&usb_qmp_phy {
/delete-property/ vdd-supply;
/delete-property/ core-supply;
};
&mdss_dsi0 {
vdda-1p2-supply = <&pm6155_1_l11>;
};
&sde_dp {
vdda-1p2-supply = <&pm6155_1_l11>;
vdda-0p9-supply = <&pm6155_1_l5>;
};
&mdss_dsi_phy0 {
vdda-0p9-supply = <&pm6155_1_l5>;
};
&cam_csiphy0 {
mipi-csi-vdd-supply = <&pm6155_1_l11>;
regulator-names = "gdscr", "mipi-csi-vdd";
rgltr-cntrl-support;
rgltr-min-voltage = <0 1232000>;
rgltr-max-voltage = <0 1232000>;
rgltr-load-current = <0 21800>;
};
&cam_csiphy1 {
mipi-csi-vdd-supply = <&pm6155_1_l11>;
regulator-names = "gdscr", "mipi-csi-vdd";
rgltr-cntrl-support;
rgltr-min-voltage = <0 1232000>;
rgltr-max-voltage = <0 1232000>;
rgltr-load-current = <0 21800>;
};
&cam_csiphy2 {
mipi-csi-vdd-supply = <&pm6155_1_l11>;
regulator-names = "gdscr", "mipi-csi-vdd";
rgltr-cntrl-support;
rgltr-min-voltage = <0 1232000>;
rgltr-max-voltage = <0 1232000>;
rgltr-load-current = <0 21800>;
};
&bluetooth {
/delete-property/ qca,bt-vdd-core-supply;
/delete-property/ qca,bt-vdd-pa-supply;
/delete-property/ qca,bt-vdd-ldo-supply;
};
&icnss {
/delete-property/ vdd-cx-mx-supply;
/delete-property/ vdd-1.8-xo-supply ;
/delete-property/ vdd-1.3-rfa-supply;
/delete-property/ vdd-3.3-ch0-supply;
};
&soc {
qcom,lpass@62400000 {
vdd_cx-supply = <&VDD_CX_LEVEL>;
};
};
&spmi_bus {
/delete-node/ qcom,pm6150@0;
/delete-node/ qcom,pm6150@1;
/delete-node/ qcom,pm6150l@4;
/delete-node/ qcom,pm6150l@5;
};
&thermal_zones {
/delete-node/ pm6150l-tz;
/delete-node/ pm6150-tz;
/delete-node/ pm6150-ibat-lvl0;
/delete-node/ pm6150-ibat-lvl1;
/delete-node/ pm6150-vbat-lvl0;
/delete-node/ pm6150-vbat-lvl1;
/delete-node/ pm6150-vbat-lvl2;
/delete-node/ pm6150-bcl-lvl0;
/delete-node/ pm6150-bcl-lvl1;
/delete-node/ pm6150-bcl-lvl2;
/delete-node/ pm6150l-vph-lvl0;
/delete-node/ pm6150l-vph-lvl1;
/delete-node/ pm6150l-vph-lvl2;
/delete-node/ pm6150l-bcl-lvl0;
/delete-node/ pm6150l-bcl-lvl1;
/delete-node/ pm6150l-bcl-lvl2;
/delete-node/ xo-therm;
/delete-node/ sdm-therm;
/delete-node/ conn-therm;
/delete-node/ emmc_ufs-therm;
/delete-node/ rf_pa0_therm-therm;
/delete-node/ camera_flash-therm;
/delete-node/ quiet-therm;
/delete-node/ quiet-therm-step;
/delete-node/ aoss-lowf;
/delete-node/ cpuss-0-lowf;
/delete-node/ cpuss-1-lowf;
/delete-node/ cpuss-2-lowf;
/delete-node/ cpuss-3-lowf;
/delete-node/ cpu-1-0-lowf;
/delete-node/ cpu-1-1-lowf;
/delete-node/ cpu-1-2-lowf;
/delete-node/ cpu-1-3-lowf;
/delete-node/ gpu-lowf;
/delete-node/ q6-hvx-lowf;
/delete-node/ mdm-core-lowf;
/delete-node/ video-lowf;
/delete-node/ display-lowf;
/delete-node/ wlan-lowf;
/delete-node/ camera-lowf;
/delete-node/ soc;
};
#include "sa6155-regulator.dtsi"
#include "pm6155.dtsi"
&spmi_bus {
qcom,pm6155@0 {
pm6155_vadc: vadc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100 0x100>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "eoc-int-en-set";
qcom,adc-vdd-reference = <1875>;
#io-channel-cells = <1>;
io-channel-ranges;
/* Channel node */
ref_gnd {
reg = <ADC_REF_GND>;
label = "ref_gnd";
qcom,pre-scaling = <1 1>;
};
vref_1p25 {
reg = <ADC_1P25VREF>;
label = "vref_1p25";
qcom,pre-scaling = <1 1>;
};
die_temp {
reg = <ADC_DIE_TEMP>;
label = "die_temp";
qcom,pre-scaling = <1 1>;
};
vph_pwr {
reg = <ADC_VPH_PWR>;
label = "vph_pwr";
qcom,pre-scaling = <1 3>;
};
vcoin {
reg = <ADC_VCOIN>;
label = "vcoin";
qcom,pre-scaling = <1 3>;
};
xo_therm {
reg = <ADC_XO_THERM_PU2>;
label = "xo_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pa_therm1 {
reg = <ADC_AMUX_THM1_PU2>;
label = "pa_therm1";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pa_therm2 {
reg = <ADC_AMUX_THM2_PU2>;
label = "pa_therm2";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
pm6155_adc_tm: adc_tm@3500 {
compatible = "qcom,adc-tm5";
reg = <0x3500 0x100>;
interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "thr-int-en";
#address-cells = <1>;
#size-cells = <0>;
#thermal-sensor-cells = <1>;
io-channels = <&pm6155_vadc ADC_XO_THERM_PU2>,
<&pm6155_vadc ADC_AMUX_THM1_PU2>,
<&pm6155_vadc ADC_AMUX_THM2_PU2>;
xo_therm {
reg = <ADC_XO_THERM_PU2>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pa_therm1 {
reg = <ADC_AMUX_THM1_PU2>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
pa_therm2 {
reg = <ADC_AMUX_THM2_PU2>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
};
&thermal_zones {
xo-therm-adc {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6155_adc_tm ADC_XO_THERM_PU2>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa-therm1-adc {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6155_adc_tm ADC_AMUX_THM1_PU2>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa-therm2-adc {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6155_adc_tm ADC_AMUX_THM2_PU2>;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pm6155-1-tz {
cooling-maps {
/*
* trip0 cooling map is dummy node to enable
* passive polling on trip0 violation.
*/
trip0_cpu0 {
trip = <&pm6155_trip0>;
cooling-device = <&CPU0 0 0>;
};
trip1_cpu0 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU0 (THERMAL_MAX_LIMIT-1)
(THERMAL_MAX_LIMIT-1)>;
};
trip1_cpu1 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU1 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
trip1_cpu2 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU2 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
trip1_cpu3 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU3 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
trip1_cpu4 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU4 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
trip1_cpu5 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU5 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
trip1_cpu6 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU6 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
trip1_cpu7 {
trip = <&pm6155_trip1>;
cooling-device =
<&CPU7 THERMAL_MAX_LIMIT
THERMAL_MAX_LIMIT>;
};
};
};
};