// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. */ #include #include &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"; }; }; }; };