#include #include #include #include #include #include #include &spmi_bus { status = "ok"; #address-cells = <2>; #size-cells = <0>; interrupt-controller; #interrupt-cells = <4>; pm8150_0: qcom,pm8150@0 { status = "okay"; compatible = "qcom,spmi-pmic"; reg = <0 SPMI_USID>; #address-cells = <1>; #size-cells = <0>; pm8150_tz: qcom,temp-alarm@2400 { compatible = "qcom,spmi-temp-alarm"; reg = <0x2400>; interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; io-channels = <&pm8150_vadc ADC5_DIE_TEMP>; io-channel-names = "thermal"; #thermal-sensor-cells = <0>; }; qcom,power-on@800 { compatible = "qcom,pm8998-pon"; reg = <0x0800>; mode-bootloader = <0x2>; mode-recovery = <0x1>; mode-rtc = <0x3>; mode-dm-verity-device-corrupted = <0x4>; mode-dm-verity-enforcing = <0x5>; mode-keys-clear = <0x6>; mode-silent = <0xa>; mode-nonsilent = <0xb>; mode-forcedsilent = <0xc>; mode-forcednonsilent = <0xd>; pon_pwrkey: pwrkey { compatible = "qcom,pm8941-pwrkey"; interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>; debounce = <15625>; bias-pull-up; linux,code = ; }; pon_resin: resin { compatible = "qcom,pm8941-resin"; interrupts = <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>; debounce = <15625>; bias-pull-up; linux,code = ; }; }; pm8150_clkdiv: clock-controller@5b00 { compatible = "qcom,spmi-clkdiv"; reg = <0x5b00>; #clock-cells = <1>; qcom,num-clkdivs = <2>; clock-output-names = "pm8150_div_clk1", "pm8150_div_clk2"; clocks = <&rpmhcc RPMH_CXO_CLK>; clock-names = "xo"; }; pm8150_rtc: qcom,pm8150_rtc { status = "okay"; compatible = "qcom,pm8941-rtc"; reg = <0x6000>, <0x6100>; reg-names = "rtc", "alarm"; interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; }; pm8150_gpios: pinctrl@c000 { compatible = "qcom,pm8150-gpio"; reg = <0xc000>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; pm8150_sdam_2: sdam@b100 { status = "okay"; compatible = "qcom,spmi-sdam"; reg = <0xb100>; #address-cells = <1>; #size-cells = <1>; restart_reason: restart@48 { reg = <0x48 0x1>; bits = <1 7>; }; }; pm8150_vadc: vadc@3100 { status = "okay"; compatible = "qcom,spmi-adc5"; reg = <0x3100>; #address-cells = <1>; #size-cells = <0>; interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; #io-channel-cells = <1>; io-channel-ranges; /* Channel node */ ref_gnd { reg = ; label = "ref_gnd"; qcom,pre-scaling = <1 1>; }; vref_1p25 { reg = ; label = "vref_1p25"; qcom,pre-scaling = <1 1>; }; die_temp { reg = ; label = "die_temp"; qcom,pre-scaling = <1 1>; }; }; pm8150_adc_tm: adc_tm@3500 { status = "okay"; compatible = "qcom,spmi-adc-tm5"; reg = <0x3500>; interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "threshold"; #address-cells = <1>; #size-cells = <0>; #thermal-sensor-cells = <1>; io-channels = <&pm8150_vadc ADC5_XO_THERM_100K_PU>, <&pm8150_vadc ADC5_AMUX_THM1_100K_PU>, <&pm8150_vadc ADC5_AMUX_THM2_100K_PU>; }; }; qcom,pm8150@1 { status = "okay"; compatible ="qcom,spmi-pmic"; reg = <1 SPMI_USID>; #address-cells = <1>; #size-cells = <0>; }; }; &thermal_zones { pm8150_temp_alarm: pm8150_tz { polling-delay-passive = <100>; polling-delay = <0>; thermal-sensors = <&pm8150_tz>; trips { pm8150_trip0: trip0 { temperature = <105000>; hysteresis = <0>; type = "passive"; }; pm8150_trip1: trip1 { temperature = <125000>; hysteresis = <0>; type = "passive"; }; trip2 { temperature = <155000>; hysteresis = <0>; type = "critical"; }; }; }; };