1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 2729ee9c4SIvan T. Ivanov#include <dt-bindings/iio/qcom,spmi-vadc.h> 3ad5fe787SVinod Koul#include <dt-bindings/input/linux-event-codes.h> 409a587a0SStephan Gerhold#include <dt-bindings/interrupt-controller/irq.h> 5729ee9c4SIvan T. Ivanov#include <dt-bindings/spmi/spmi.h> 6729ee9c4SIvan T. Ivanov 7b7a28d8aSDmitry Baryshkov/ { 8b7a28d8aSDmitry Baryshkov thermal-zones { 9*ac3eb41aSDmitry Baryshkov pm8916-thermal { 10b7a28d8aSDmitry Baryshkov polling-delay-passive = <100>; 11729ee9c4SIvan T. Ivanov 12b7a28d8aSDmitry Baryshkov thermal-sensors = <&pm8916_temp>; 13b7a28d8aSDmitry Baryshkov 14b7a28d8aSDmitry Baryshkov trips { 15b7a28d8aSDmitry Baryshkov trip0 { 16b7a28d8aSDmitry Baryshkov temperature = <105000>; 17b7a28d8aSDmitry Baryshkov hysteresis = <0>; 18b7a28d8aSDmitry Baryshkov type = "passive"; 19b7a28d8aSDmitry Baryshkov }; 20b7a28d8aSDmitry Baryshkov 21b7a28d8aSDmitry Baryshkov trip1 { 22b7a28d8aSDmitry Baryshkov temperature = <125000>; 23b7a28d8aSDmitry Baryshkov hysteresis = <0>; 24b7a28d8aSDmitry Baryshkov type = "hot"; 25b7a28d8aSDmitry Baryshkov }; 26b7a28d8aSDmitry Baryshkov 27b7a28d8aSDmitry Baryshkov trip2 { 28b7a28d8aSDmitry Baryshkov temperature = <145000>; 29b7a28d8aSDmitry Baryshkov hysteresis = <0>; 30b7a28d8aSDmitry Baryshkov type = "critical"; 31b7a28d8aSDmitry Baryshkov }; 32b7a28d8aSDmitry Baryshkov }; 33b7a28d8aSDmitry Baryshkov }; 34b7a28d8aSDmitry Baryshkov }; 35b7a28d8aSDmitry Baryshkov}; 36b7a28d8aSDmitry Baryshkov 37b7a28d8aSDmitry Baryshkov&spmi_bus { 386300095bSStephan Gerhold pm8916_0: pmic@0 { 392bce84c1SStephen Boyd compatible = "qcom,pm8916", "qcom,spmi-pmic"; 40729ee9c4SIvan T. Ivanov reg = <0x0 SPMI_USID>; 41729ee9c4SIvan T. Ivanov #address-cells = <1>; 42729ee9c4SIvan T. Ivanov #size-cells = <0>; 43729ee9c4SIvan T. Ivanov 44ad5fe787SVinod Koul pon@800 { 45ad5fe787SVinod Koul compatible = "qcom,pm8916-pon"; 46729ee9c4SIvan T. Ivanov reg = <0x800>; 47ad5fe787SVinod Koul mode-bootloader = <0x2>; 48ad5fe787SVinod Koul mode-recovery = <0x1>; 49ad5fe787SVinod Koul 50ad5fe787SVinod Koul pwrkey { 51ad5fe787SVinod Koul compatible = "qcom,pm8941-pwrkey"; 52729ee9c4SIvan T. Ivanov interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; 53729ee9c4SIvan T. Ivanov debounce = <15625>; 54729ee9c4SIvan T. Ivanov bias-pull-up; 55ad5fe787SVinod Koul linux,code = <KEY_POWER>; 56ad5fe787SVinod Koul }; 570f60e6fbSLoic Poulain 584eb7b63dSStephan Gerhold pm8916_resin: resin { 594eb7b63dSStephan Gerhold compatible = "qcom,pm8941-resin"; 604eb7b63dSStephan Gerhold interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; 614eb7b63dSStephan Gerhold debounce = <15625>; 624eb7b63dSStephan Gerhold bias-pull-up; 634eb7b63dSStephan Gerhold status = "disabled"; 644eb7b63dSStephan Gerhold }; 654eb7b63dSStephan Gerhold 660f60e6fbSLoic Poulain watchdog { 670f60e6fbSLoic Poulain compatible = "qcom,pm8916-wdt"; 680f60e6fbSLoic Poulain interrupts = <0x0 0x8 6 IRQ_TYPE_EDGE_RISING>; 690f60e6fbSLoic Poulain timeout-sec = <60>; 700f60e6fbSLoic Poulain }; 71729ee9c4SIvan T. Ivanov }; 72729ee9c4SIvan T. Ivanov 7326b87a3dSNikita Travkin pm8916_charger: charger@1000 { 7426b87a3dSNikita Travkin compatible = "qcom,pm8916-lbc"; 7526b87a3dSNikita Travkin reg = <0x1000>, <0x1200>, <0x1300>, <0x1600>; 7626b87a3dSNikita Travkin reg-names = "chgr", "bat_if", "usb", "misc"; 7726b87a3dSNikita Travkin 7826b87a3dSNikita Travkin interrupts = <0x0 0x10 0 IRQ_TYPE_EDGE_BOTH>, 7926b87a3dSNikita Travkin <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>, 8026b87a3dSNikita Travkin <0x0 0x10 6 IRQ_TYPE_EDGE_BOTH>, 8126b87a3dSNikita Travkin <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>, 8226b87a3dSNikita Travkin <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>, 8326b87a3dSNikita Travkin <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>, 8426b87a3dSNikita Travkin <0x0 0x13 0 IRQ_TYPE_EDGE_BOTH>, 8526b87a3dSNikita Travkin <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>, 8626b87a3dSNikita Travkin <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>, 8726b87a3dSNikita Travkin <0x0 0x13 4 IRQ_TYPE_EDGE_BOTH>; 8826b87a3dSNikita Travkin interrupt-names = "vbat_det", 8926b87a3dSNikita Travkin "fast_chg", 9026b87a3dSNikita Travkin "chg_fail", 9126b87a3dSNikita Travkin "chg_done", 9226b87a3dSNikita Travkin "bat_pres", 9326b87a3dSNikita Travkin "temp_ok", 9426b87a3dSNikita Travkin "coarse_det", 9526b87a3dSNikita Travkin "usb_vbus", 9626b87a3dSNikita Travkin "chg_gone", 9726b87a3dSNikita Travkin "overtemp"; 9826b87a3dSNikita Travkin 9926b87a3dSNikita Travkin status = "disabled"; 10026b87a3dSNikita Travkin }; 10126b87a3dSNikita Travkin 1027891372dSKonrad Dybcio pm8916_usbin: usb-detect@1300 { 103f5d7bca5SStephan Gerhold compatible = "qcom,pm8941-misc"; 104f5d7bca5SStephan Gerhold reg = <0x1300>; 105f5d7bca5SStephan Gerhold interrupts = <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>; 106f5d7bca5SStephan Gerhold interrupt-names = "usb_vbus"; 107f5d7bca5SStephan Gerhold status = "disabled"; 108f5d7bca5SStephan Gerhold }; 109f5d7bca5SStephan Gerhold 110729ee9c4SIvan T. Ivanov pm8916_temp: temp-alarm@2400 { 111729ee9c4SIvan T. Ivanov compatible = "qcom,spmi-temp-alarm"; 112bd6429e8SStephen Boyd reg = <0x2400>; 113729ee9c4SIvan T. Ivanov interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>; 114729ee9c4SIvan T. Ivanov io-channels = <&pm8916_vadc VADC_DIE_TEMP>; 115729ee9c4SIvan T. Ivanov io-channel-names = "thermal"; 116729ee9c4SIvan T. Ivanov #thermal-sensor-cells = <0>; 117729ee9c4SIvan T. Ivanov }; 118729ee9c4SIvan T. Ivanov 1196300095bSStephan Gerhold pm8916_vadc: adc@3100 { 120729ee9c4SIvan T. Ivanov compatible = "qcom,spmi-vadc"; 121bd6429e8SStephen Boyd reg = <0x3100>; 122729ee9c4SIvan T. Ivanov interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 123729ee9c4SIvan T. Ivanov #address-cells = <1>; 124729ee9c4SIvan T. Ivanov #size-cells = <0>; 125729ee9c4SIvan T. Ivanov #io-channel-cells = <1>; 126729ee9c4SIvan T. Ivanov 12741c18552SMarijn Suijten channel@0 { 128729ee9c4SIvan T. Ivanov reg = <VADC_USBIN>; 129729ee9c4SIvan T. Ivanov qcom,pre-scaling = <1 10>; 130729ee9c4SIvan T. Ivanov }; 13141c18552SMarijn Suijten channel@7 { 132729ee9c4SIvan T. Ivanov reg = <VADC_VSYS>; 133729ee9c4SIvan T. Ivanov qcom,pre-scaling = <1 3>; 134729ee9c4SIvan T. Ivanov }; 13541c18552SMarijn Suijten channel@8 { 136729ee9c4SIvan T. Ivanov reg = <VADC_DIE_TEMP>; 137729ee9c4SIvan T. Ivanov }; 13841c18552SMarijn Suijten channel@9 { 139729ee9c4SIvan T. Ivanov reg = <VADC_REF_625MV>; 140729ee9c4SIvan T. Ivanov }; 14141c18552SMarijn Suijten channel@a { 142729ee9c4SIvan T. Ivanov reg = <VADC_REF_1250MV>; 143729ee9c4SIvan T. Ivanov }; 14441c18552SMarijn Suijten channel@e { 145729ee9c4SIvan T. Ivanov reg = <VADC_GND_REF>; 146729ee9c4SIvan T. Ivanov }; 14741c18552SMarijn Suijten channel@f { 148729ee9c4SIvan T. Ivanov reg = <VADC_VDD_VADC>; 149729ee9c4SIvan T. Ivanov }; 150729ee9c4SIvan T. Ivanov }; 15109a587a0SStephan Gerhold 15226b87a3dSNikita Travkin pm8916_bms: battery@4000 { 15326b87a3dSNikita Travkin compatible = "qcom,pm8916-bms-vm"; 15426b87a3dSNikita Travkin reg = <0x4000>; 15526b87a3dSNikita Travkin interrupts = <0x0 0x40 0 IRQ_TYPE_EDGE_RISING>, 15626b87a3dSNikita Travkin <0x0 0x40 1 IRQ_TYPE_EDGE_RISING>, 15726b87a3dSNikita Travkin <0x0 0x40 2 IRQ_TYPE_EDGE_RISING>, 15826b87a3dSNikita Travkin <0x0 0x40 3 IRQ_TYPE_EDGE_RISING>, 15926b87a3dSNikita Travkin <0x0 0x40 4 IRQ_TYPE_EDGE_RISING>, 16026b87a3dSNikita Travkin <0x0 0x40 5 IRQ_TYPE_EDGE_RISING>; 16126b87a3dSNikita Travkin interrupt-names = "cv_leave", 16226b87a3dSNikita Travkin "cv_enter", 16326b87a3dSNikita Travkin "ocv_good", 16426b87a3dSNikita Travkin "ocv_thr", 16526b87a3dSNikita Travkin "fifo", 16626b87a3dSNikita Travkin "state_chg"; 16726b87a3dSNikita Travkin 16826b87a3dSNikita Travkin status = "disabled"; 16926b87a3dSNikita Travkin }; 17026b87a3dSNikita Travkin 17109a587a0SStephan Gerhold rtc@6000 { 17209a587a0SStephan Gerhold compatible = "qcom,pm8941-rtc"; 173ceb01bb8SEric Chanudet reg = <0x6000>, <0x6100>; 174ceb01bb8SEric Chanudet reg-names = "rtc", "alarm"; 17509a587a0SStephan Gerhold interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>; 17609a587a0SStephan Gerhold }; 17709a587a0SStephan Gerhold 17809a587a0SStephan Gerhold pm8916_mpps: mpps@a000 { 179de0c7e12SDmitry Baryshkov compatible = "qcom,pm8916-mpp", "qcom,spmi-mpp"; 18009a587a0SStephan Gerhold reg = <0xa000>; 18109a587a0SStephan Gerhold gpio-controller; 18209a587a0SStephan Gerhold #gpio-cells = <2>; 183de0c7e12SDmitry Baryshkov gpio-ranges = <&pm8916_mpps 0 0 4>; 1843386f014SDmitry Baryshkov interrupt-controller; 1853386f014SDmitry Baryshkov #interrupt-cells = <2>; 18609a587a0SStephan Gerhold }; 18709a587a0SStephan Gerhold 188c95243eeSKrzysztof Kozlowski pm8916_gpios: gpio@c000 { 189019102a9SKrzysztof Kozlowski compatible = "qcom,pm8916-gpio", "qcom,spmi-gpio"; 19009a587a0SStephan Gerhold reg = <0xc000>; 19109a587a0SStephan Gerhold gpio-controller; 192b07bfd8eSKrzysztof Kozlowski gpio-ranges = <&pm8916_gpios 0 0 4>; 19309a587a0SStephan Gerhold #gpio-cells = <2>; 194a984d5d1SKrzysztof Kozlowski interrupt-controller; 195a984d5d1SKrzysztof Kozlowski #interrupt-cells = <2>; 19609a587a0SStephan Gerhold }; 197729ee9c4SIvan T. Ivanov }; 198729ee9c4SIvan T. Ivanov 1996300095bSStephan Gerhold pm8916_1: pmic@1 { 2005582fcb3SSrinivas Kandagatla compatible = "qcom,pm8916", "qcom,spmi-pmic"; 201729ee9c4SIvan T. Ivanov reg = <0x1 SPMI_USID>; 202729ee9c4SIvan T. Ivanov #address-cells = <1>; 203729ee9c4SIvan T. Ivanov #size-cells = <0>; 2045582fcb3SSrinivas Kandagatla 205e79a1385SBjorn Andersson pm8916_pwm: pwm { 206e79a1385SBjorn Andersson compatible = "qcom,pm8916-pwm"; 207e79a1385SBjorn Andersson 208e79a1385SBjorn Andersson #pwm-cells = <2>; 209e79a1385SBjorn Andersson 210e79a1385SBjorn Andersson status = "disabled"; 211e79a1385SBjorn Andersson }; 212e79a1385SBjorn Andersson 213741a5ea7SStephan Gerhold pm8916_vib: vibrator@c000 { 214741a5ea7SStephan Gerhold compatible = "qcom,pm8916-vib"; 215741a5ea7SStephan Gerhold reg = <0xc000>; 216741a5ea7SStephan Gerhold status = "disabled"; 217741a5ea7SStephan Gerhold }; 218741a5ea7SStephan Gerhold 219274cf2bdSStephan Gerhold pm8916_codec: audio-codec@f000 { 2205582fcb3SSrinivas Kandagatla compatible = "qcom,pm8916-wcd-analog-codec"; 221c2f0cbb5SStephan Gerhold reg = <0xf000>; 2225582fcb3SSrinivas Kandagatla interrupt-parent = <&spmi_bus>; 2235582fcb3SSrinivas Kandagatla interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>, 2245582fcb3SSrinivas Kandagatla <0x1 0xf0 0x1 IRQ_TYPE_NONE>, 2255582fcb3SSrinivas Kandagatla <0x1 0xf0 0x2 IRQ_TYPE_NONE>, 2265582fcb3SSrinivas Kandagatla <0x1 0xf0 0x3 IRQ_TYPE_NONE>, 2275582fcb3SSrinivas Kandagatla <0x1 0xf0 0x4 IRQ_TYPE_NONE>, 2285582fcb3SSrinivas Kandagatla <0x1 0xf0 0x5 IRQ_TYPE_NONE>, 2295582fcb3SSrinivas Kandagatla <0x1 0xf0 0x6 IRQ_TYPE_NONE>, 2305582fcb3SSrinivas Kandagatla <0x1 0xf0 0x7 IRQ_TYPE_NONE>, 2315582fcb3SSrinivas Kandagatla <0x1 0xf1 0x0 IRQ_TYPE_NONE>, 2325582fcb3SSrinivas Kandagatla <0x1 0xf1 0x1 IRQ_TYPE_NONE>, 2335582fcb3SSrinivas Kandagatla <0x1 0xf1 0x2 IRQ_TYPE_NONE>, 2345582fcb3SSrinivas Kandagatla <0x1 0xf1 0x3 IRQ_TYPE_NONE>, 2355582fcb3SSrinivas Kandagatla <0x1 0xf1 0x4 IRQ_TYPE_NONE>, 2365582fcb3SSrinivas Kandagatla <0x1 0xf1 0x5 IRQ_TYPE_NONE>; 2375582fcb3SSrinivas Kandagatla interrupt-names = "cdc_spk_cnp_int", 2385582fcb3SSrinivas Kandagatla "cdc_spk_clip_int", 2395582fcb3SSrinivas Kandagatla "cdc_spk_ocp_int", 2405582fcb3SSrinivas Kandagatla "mbhc_ins_rem_det1", 2415582fcb3SSrinivas Kandagatla "mbhc_but_rel_det", 2425582fcb3SSrinivas Kandagatla "mbhc_but_press_det", 2435582fcb3SSrinivas Kandagatla "mbhc_ins_rem_det", 2445582fcb3SSrinivas Kandagatla "mbhc_switch_int", 2455582fcb3SSrinivas Kandagatla "cdc_ear_ocp_int", 2465582fcb3SSrinivas Kandagatla "cdc_hphr_ocp_int", 2475582fcb3SSrinivas Kandagatla "cdc_hphl_ocp_det", 2485582fcb3SSrinivas Kandagatla "cdc_ear_cnp_int", 2495582fcb3SSrinivas Kandagatla "cdc_hphr_cnp_int", 2505582fcb3SSrinivas Kandagatla "cdc_hphl_cnp_int"; 2515582fcb3SSrinivas Kandagatla #sound-dai-cells = <1>; 252a5cf21b1SStephan Gerhold status = "disabled"; 2535582fcb3SSrinivas Kandagatla }; 254729ee9c4SIvan T. Ivanov }; 255729ee9c4SIvan T. Ivanov}; 256