111975b9bSLuca Weiss// SPDX-License-Identifier: BSD-3-Clause 211975b9bSLuca Weiss/* 311975b9bSLuca Weiss * Copyright (C) 2022 Luca Weiss <luca.weiss@fairphone.com> 411975b9bSLuca Weiss */ 511975b9bSLuca Weiss 683022f64SLuca Weiss#include <dt-bindings/iio/qcom,spmi-vadc.h> 711975b9bSLuca Weiss#include <dt-bindings/interrupt-controller/irq.h> 811975b9bSLuca Weiss#include <dt-bindings/spmi/spmi.h> 911975b9bSLuca Weiss 1011975b9bSLuca Weiss/ { 1111975b9bSLuca Weiss thermal-zones { 1211975b9bSLuca Weiss pm7250b-thermal { 1311975b9bSLuca Weiss polling-delay-passive = <100>; 1411975b9bSLuca Weiss polling-delay = <0>; 1511975b9bSLuca Weiss 1611975b9bSLuca Weiss thermal-sensors = <&pm7250b_temp>; 1711975b9bSLuca Weiss 1811975b9bSLuca Weiss trips { 1911975b9bSLuca Weiss trip0 { 2011975b9bSLuca Weiss temperature = <95000>; 2111975b9bSLuca Weiss hysteresis = <0>; 2211975b9bSLuca Weiss type = "passive"; 2311975b9bSLuca Weiss }; 2411975b9bSLuca Weiss 2511975b9bSLuca Weiss trip1 { 2611975b9bSLuca Weiss temperature = <115000>; 2711975b9bSLuca Weiss hysteresis = <0>; 2811975b9bSLuca Weiss type = "hot"; 2911975b9bSLuca Weiss }; 3011975b9bSLuca Weiss 3111975b9bSLuca Weiss trip2 { 3211975b9bSLuca Weiss temperature = <145000>; 3311975b9bSLuca Weiss hysteresis = <0>; 3411975b9bSLuca Weiss type = "critical"; 3511975b9bSLuca Weiss }; 3611975b9bSLuca Weiss }; 3711975b9bSLuca Weiss }; 3811975b9bSLuca Weiss }; 3911975b9bSLuca Weiss}; 4011975b9bSLuca Weiss 4111975b9bSLuca Weiss&spmi_bus { 4211975b9bSLuca Weiss pmic@2 { 4311975b9bSLuca Weiss compatible = "qcom,pm7250b", "qcom,spmi-pmic"; 4411975b9bSLuca Weiss reg = <0x2 SPMI_USID>; 4511975b9bSLuca Weiss #address-cells = <1>; 4611975b9bSLuca Weiss #size-cells = <0>; 4711975b9bSLuca Weiss 4811975b9bSLuca Weiss pm7250b_temp: temp-alarm@2400 { 4911975b9bSLuca Weiss compatible = "qcom,spmi-temp-alarm"; 5011975b9bSLuca Weiss reg = <0x2400>; 5111975b9bSLuca Weiss interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; 5211975b9bSLuca Weiss io-channels = <&pm7250b_adc ADC5_DIE_TEMP>; 5311975b9bSLuca Weiss io-channel-names = "thermal"; 5411975b9bSLuca Weiss #thermal-sensor-cells = <0>; 5511975b9bSLuca Weiss }; 5611975b9bSLuca Weiss 5711975b9bSLuca Weiss pm7250b_adc: adc@3100 { 5811975b9bSLuca Weiss compatible = "qcom,spmi-adc5"; 5911975b9bSLuca Weiss reg = <0x3100>; 6011975b9bSLuca Weiss #address-cells = <1>; 6111975b9bSLuca Weiss #size-cells = <0>; 6211975b9bSLuca Weiss #io-channel-cells = <1>; 6311975b9bSLuca Weiss interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 6411975b9bSLuca Weiss 6541c18552SMarijn Suijten channel@0 { 6611975b9bSLuca Weiss reg = <ADC5_REF_GND>; 6711975b9bSLuca Weiss qcom,pre-scaling = <1 1>; 6811975b9bSLuca Weiss label = "ref_gnd"; 6911975b9bSLuca Weiss }; 7011975b9bSLuca Weiss 7141c18552SMarijn Suijten channel@1 { 7211975b9bSLuca Weiss reg = <ADC5_1P25VREF>; 7311975b9bSLuca Weiss qcom,pre-scaling = <1 1>; 7411975b9bSLuca Weiss label = "vref_1p25"; 7511975b9bSLuca Weiss }; 7611975b9bSLuca Weiss 7741c18552SMarijn Suijten channel@2 { 7811975b9bSLuca Weiss reg = <ADC5_DIE_TEMP>; 7911975b9bSLuca Weiss qcom,pre-scaling = <1 1>; 8011975b9bSLuca Weiss label = "die_temp"; 8111975b9bSLuca Weiss }; 8211975b9bSLuca Weiss 8341c18552SMarijn Suijten channel@7 { 8411975b9bSLuca Weiss reg = <ADC5_USB_IN_I>; 8511975b9bSLuca Weiss qcom,pre-scaling = <1 1>; 8611975b9bSLuca Weiss label = "usb_in_i_uv"; 8711975b9bSLuca Weiss }; 8811975b9bSLuca Weiss 8941c18552SMarijn Suijten channel@8 { 9011975b9bSLuca Weiss reg = <ADC5_USB_IN_V_16>; 9111975b9bSLuca Weiss qcom,pre-scaling = <1 16>; 9211975b9bSLuca Weiss label = "usb_in_v_div_16"; 9311975b9bSLuca Weiss }; 9411975b9bSLuca Weiss 9541c18552SMarijn Suijten channel@9 { 9611975b9bSLuca Weiss reg = <ADC5_CHG_TEMP>; 9711975b9bSLuca Weiss qcom,pre-scaling = <1 1>; 9811975b9bSLuca Weiss label = "chg_temp"; 9911975b9bSLuca Weiss }; 10011975b9bSLuca Weiss 10141c18552SMarijn Suijten channel@e { 10211975b9bSLuca Weiss reg = <ADC5_AMUX_THM2>; 10311975b9bSLuca Weiss qcom,hw-settle-time = <200>; 10411975b9bSLuca Weiss qcom,pre-scaling = <1 1>; 10511975b9bSLuca Weiss label = "smb1390_therm"; 10611975b9bSLuca Weiss }; 10711975b9bSLuca Weiss 10841c18552SMarijn Suijten channel@1e { 10911975b9bSLuca Weiss reg = <ADC5_MID_CHG_DIV6>; 11011975b9bSLuca Weiss qcom,pre-scaling = <1 6>; 11111975b9bSLuca Weiss label = "chg_mid"; 11211975b9bSLuca Weiss }; 11311975b9bSLuca Weiss 11441c18552SMarijn Suijten channel@4b { 1157592ba4dSLuca Weiss reg = <ADC5_BAT_ID_100K_PU>; 1167592ba4dSLuca Weiss qcom,hw-settle-time = <200>; 1177592ba4dSLuca Weiss qcom,pre-scaling = <1 1>; 1187592ba4dSLuca Weiss qcom,ratiometric; 1197592ba4dSLuca Weiss label = "bat_id"; 1207592ba4dSLuca Weiss }; 1217592ba4dSLuca Weiss 12241c18552SMarijn Suijten channel@83 { 12311975b9bSLuca Weiss reg = <ADC5_VPH_PWR>; 12411975b9bSLuca Weiss qcom,pre-scaling = <1 3>; 12511975b9bSLuca Weiss label = "vph_pwr"; 12611975b9bSLuca Weiss }; 12711975b9bSLuca Weiss 12841c18552SMarijn Suijten channel@84 { 12911975b9bSLuca Weiss reg = <ADC5_VBAT_SNS>; 13011975b9bSLuca Weiss qcom,pre-scaling = <1 3>; 13111975b9bSLuca Weiss label = "vbat_sns"; 13211975b9bSLuca Weiss }; 13311975b9bSLuca Weiss 13441c18552SMarijn Suijten channel@99 { 13511975b9bSLuca Weiss reg = <ADC5_SBUx>; 13611975b9bSLuca Weiss qcom,pre-scaling = <1 3>; 13711975b9bSLuca Weiss label = "chg_sbux"; 13811975b9bSLuca Weiss }; 13911975b9bSLuca Weiss }; 14011975b9bSLuca Weiss 14111975b9bSLuca Weiss pm7250b_adc_tm: adc-tm@3500 { 14211975b9bSLuca Weiss compatible = "qcom,spmi-adc-tm5"; 14311975b9bSLuca Weiss reg = <0x3500>; 14411975b9bSLuca Weiss interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>; 14511975b9bSLuca Weiss #thermal-sensor-cells = <1>; 14611975b9bSLuca Weiss #address-cells = <1>; 14711975b9bSLuca Weiss #size-cells = <0>; 14811975b9bSLuca Weiss status = "disabled"; 14911975b9bSLuca Weiss }; 150*e99a7a0cSRohit Agarwal 151*e99a7a0cSRohit Agarwal pm7250b_gpios: pinctrl@c000 { 152*e99a7a0cSRohit Agarwal compatible = "qcom,pm7250b-gpio", "qcom,spmi-gpio"; 153*e99a7a0cSRohit Agarwal reg = <0xc000>; 154*e99a7a0cSRohit Agarwal gpio-controller; 155*e99a7a0cSRohit Agarwal gpio-ranges = <&pm7250b_gpios 0 0 12>; 156*e99a7a0cSRohit Agarwal #gpio-cells = <2>; 157*e99a7a0cSRohit Agarwal interrupt-controller; 158*e99a7a0cSRohit Agarwal #interrupt-cells = <2>; 159*e99a7a0cSRohit Agarwal }; 16011975b9bSLuca Weiss }; 16111975b9bSLuca Weiss 16211975b9bSLuca Weiss pmic@3 { 16311975b9bSLuca Weiss compatible = "qcom,pm7250b", "qcom,spmi-pmic"; 16411975b9bSLuca Weiss reg = <0x3 SPMI_USID>; 16511975b9bSLuca Weiss #address-cells = <1>; 16611975b9bSLuca Weiss #size-cells = <0>; 16711975b9bSLuca Weiss }; 16811975b9bSLuca Weiss}; 169