#include #include #include #include #include &spmi_bus { pm660_0: qcom,pm660@0 { compatible ="qcom,spmi-pmic"; reg = <0 SPMI_USID>; #address-cells = <1>; #size-cells = <0>; pm660_revid: qcom,revid@100 { compatible = "qcom,qpnp-revid"; reg = <0x100>; qcom,fab-id-valid; }; pm660_misc: qcom,misc@900 { compatible = "qcom,qpnp-misc"; reg = <0x900>; }; pm660_pon: qcom,power-on@800 { compatible = "qcom,qpnp-power-on"; reg = <0x800>; interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>, <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>, <0x0 0x8 0x4 IRQ_TYPE_EDGE_BOTH>, <0x0 0x8 0x5 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "kpdpwr", "resin", "resin-bark", "kpdpwr-resin-bark"; qcom,pon-dbc-delay = <15625>; qcom,kpdpwr-sw-debounce; qcom,system-reset; qcom,store-hard-reset-reason; qcom,pon_1 { qcom,pon-type = ; qcom,pull-up = <1>; linux,code = ; }; qcom,pon_2 { qcom,pon-type = ; qcom,pull-up = <1>; linux,code = ; }; }; pm660_tz: qcom,temp-alarm@2400 { reg = <0x2400>; interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>; label = "pm660_tz"; qcom,channel-num = <6>; qcom,temp_alarm-vadc = <&pm660_vadc>; #thermal-sensor-cells = <0>; }; pm660_gpios: pinctrl@c000 { compatible = "qcom,pm660-gpio"; reg = <0xc000>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; pm660_rtc: qcom,pm660_rtc { compatible = "qcom,pm8941-rtc"; interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>; }; pm660_vadc: vadc@3100 { reg = <0x3100>; #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>; chan@6 { label = "die_temp"; reg = <6>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "absolute"; qcom,scale-function = <3>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; qcom,cal-val = <0>; }; chan@0 { label = "ref_gnd"; reg = <0>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; qcom,cal-val = <0>; }; chan@1 { label = "ref_1250v"; reg = <1>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; qcom,cal-val = <0>; }; chan@83 { label = "vph_pwr"; reg = <0x83>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <1>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; }; chan@85 { label = "vcoin"; reg = <0x85>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <1>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; }; chan@4c { label = "xo_therm"; reg = <0x4c>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <4>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; chan@4d { label = "msm_therm"; reg = <0x4d>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; chan@51 { label = "quiet_therm"; reg = <0x51>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; chan@4e { label = "emmc_therm"; reg = <0x4e>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; chan@4f { label = "pa_therm0"; reg = <0x4f>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; chan@1d { label = "drax_temp"; reg = <0x1d>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "absolute"; qcom,scale-function = <3>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; qcom,cal-val = <0>; }; }; pm660_pdphy: qcom,usb-pdphy@1700 { compatible = "qcom,qpnp-pdphy"; reg = <0x1700>; vdd-pdphy-supply = <&pm660l_l7>; vbus-supply = <0>; vconn-supply = <0>; interrupts = <0x0 0x17 0x0 IRQ_TYPE_EDGE_RISING>, <0x0 0x17 0x1 IRQ_TYPE_EDGE_RISING>, <0x0 0x17 0x2 IRQ_TYPE_EDGE_RISING>, <0x0 0x17 0x3 IRQ_TYPE_EDGE_RISING>, <0x0 0x17 0x4 IRQ_TYPE_EDGE_RISING>, <0x0 0x17 0x5 IRQ_TYPE_EDGE_RISING>, <0x0 0x17 0x6 IRQ_TYPE_EDGE_RISING>; interrupt-names = "sig-tx", "sig-rx", "msg-tx", "msg-rx", "msg-tx-failed", "msg-tx-discarded", "msg-rx-discarded"; qcom,default-sink-caps = <5000 3000>, /* 5V @ 3A */ <9000 3000>; /* 9V @ 3A */ }; pm660_adc_tm: vadc@3400 { reg = <0x3400>; #address-cells = <1>; #size-cells = <0>; interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; qcom,adc-vdd-reference = <1875>; qcom,adc_tm-vadc = <&pm660_vadc>; qcom,decimation = <0>; qcom,fast-avg-setup = <0>; #thermal-sensor-cells = <1>; chan@83 { label = "vph_pwr"; reg = <0x83>; qcom,pre-div-channel-scaling = <1>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,btm-channel-number = <0x60>; }; chan@4d { label = "msm_therm"; reg = <0x4d>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x68>; qcom,thermal-node; }; chan@51 { label = "quiet_therm"; reg = <0x51>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x70>; qcom,thermal-node; }; chan@4c { label = "xo_therm"; reg = <0x4c>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <4>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x78>; qcom,thermal-node; }; chan@4e { label = "emmc_therm"; reg = <0x4e>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x80>; qcom,thermal-node; }; chan@4f { label = "pa_therm0"; reg = <0x4f>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x88>; qcom,thermal-node; }; }; pm660_pbs: qcom,pbs@7400 { compatible = "qcom,qpnp-pbs"; reg = <0x7400>; status = "disabled"; }; bcl_sensor: bcl@4200 { reg = <0x4200>, <0x4300>; reg-names = "fg_user_adc", "fg_lmh"; interrupts = <0x0 0x42 0x0 IRQ_TYPE_EDGE_RISING>, <0x0 0x42 0x1 IRQ_TYPE_EDGE_RISING>, <0x0 0x42 0x2 IRQ_TYPE_EDGE_RISING>, <0x0 0x42 0x3 IRQ_TYPE_EDGE_RISING>, <0x0 0x42 0x4 IRQ_TYPE_EDGE_RISING>; interrupt-names = "bcl-high-ibat", "bcl-very-high-ibat", "bcl-low-vbat", "bcl-very-low-vbat", "bcl-crit-low-vbat"; #thermal-sensor-cells = <1>; }; pm660_div_clk: qcom,clkdiv@5b00 { reg = <0x5b00>; #clock-cells = <1>; qcom,cxo-freq = <19200000>; qcom,clkdiv-id = <1>; qcom,clkdiv-init-freq = <9600000>; status = "disabled"; }; }; pm660_1: qcom,pm660@1 { compatible ="qcom,spmi-pmic"; reg = <1 SPMI_USID>; #address-cells = <1>; #size-cells = <0>; }; }; &thermal_zones { xo-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x4c>; wake-capable-sensor; thermal-governor = "user_space"; trips { active-config0 { temperature = <65000>; hysteresis = <1000>; type = "passive"; }; }; }; msm-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x4d>; wake-capable-sensor; thermal-governor = "user_space"; trips { active-config0 { temperature = <65000>; hysteresis = <1000>; type = "passive"; }; }; }; emmc-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x4e>; wake-capable-sensor; thermal-governor = "user_space"; trips { active-config0 { temperature = <65000>; hysteresis = <1000>; type = "passive"; }; }; }; pa-therm0-adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x4f>; wake-capable-sensor; thermal-governor = "user_space"; trips { active-config0 { temperature = <65000>; hysteresis = <1000>; type = "passive"; }; }; }; quiet-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x51>; wake-capable-sensor; thermal-governor = "user_space"; trips { active-config0 { temperature = <65000>; hysteresis = <1000>; type = "passive"; }; }; }; ibat-high { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 0>; wake-capable-sensor; trips { ibat-high { temperature = <4200>; hysteresis = <200>; type = "passive"; }; }; }; ibat-vhigh { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 1>; wake-capable-sensor; trips { ibat-vhigh { temperature = <4300>; hysteresis = <100>; type = "passive"; }; }; }; vbat_adc { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 2>; wake-capable-sensor; tracks-low; trips { pm660_vbat_adc: vbat-adc { temperature = <3200>; hysteresis = <100>; type = "passive"; }; }; }; vbat_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 3>; wake-capable-sensor; tracks-low; trips { vbat-low { temperature = <2800>; hysteresis = <0>; type = "passive"; }; }; }; vbat_too_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 4>; wake-capable-sensor; tracks-low; trips { vbat-too-low { temperature = <2600>; hysteresis = <0>; type = "passive"; }; }; }; soc { polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 5>; wake-capable-sensor; tracks-low; trips { pm660_low_soc: low-soc { temperature = <10>; hysteresis = <0>; type = "passive"; }; }; }; pm660_temp_alarm: pm660_tz { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&pm660_tz>; wake-capable-sensor; trips { pm660_trip0: pm660-trip0 { temperature = <105000>; hysteresis = <0>; type = "passive"; }; pm660_trip1: pm660-trip1 { temperature = <125000>; hysteresis = <0>; type = "passive"; }; pm660_trip2: pm660-trip2 { temperature = <145000>; hysteresis = <0>; type = "critical"; }; }; }; };