106e2ddbaSVinod Koul// SPDX-License-Identifier: GPL-2.0 25d9bf210SKonrad Dybcio/* 35d9bf210SKonrad Dybcio * Copyright (c) 2018, Linaro Limited 45d9bf210SKonrad Dybcio */ 506e2ddbaSVinod Koul 606e2ddbaSVinod Koul#include <dt-bindings/spmi/spmi.h> 785bc3096SVinod Koul#include <dt-bindings/input/linux-event-codes.h> 8041b9a7bSAmit Kucheria#include <dt-bindings/iio/qcom,spmi-vadc.h> 9041b9a7bSAmit Kucheria#include <dt-bindings/thermal/thermal.h> 10041b9a7bSAmit Kucheria 11041b9a7bSAmit Kucheria/ { 12041b9a7bSAmit Kucheria thermal-zones { 133a786086SManivannan Sadhasivam pms405-thermal { 14041b9a7bSAmit Kucheria polling-delay-passive = <250>; 15041b9a7bSAmit Kucheria 16041b9a7bSAmit Kucheria thermal-sensors = <&pms405_temp>; 17041b9a7bSAmit Kucheria 18041b9a7bSAmit Kucheria trips { 19041b9a7bSAmit Kucheria pms405_alert0: pms405-alert0 { 20041b9a7bSAmit Kucheria temperature = <105000>; 21041b9a7bSAmit Kucheria hysteresis = <2000>; 22041b9a7bSAmit Kucheria type = "passive"; 23041b9a7bSAmit Kucheria }; 24041b9a7bSAmit Kucheria pms405_crit: pms405-crit { 25041b9a7bSAmit Kucheria temperature = <125000>; 26041b9a7bSAmit Kucheria hysteresis = <2000>; 27041b9a7bSAmit Kucheria type = "critical"; 28041b9a7bSAmit Kucheria }; 29041b9a7bSAmit Kucheria }; 30041b9a7bSAmit Kucheria }; 31041b9a7bSAmit Kucheria }; 32041b9a7bSAmit Kucheria}; 3306e2ddbaSVinod Koul 3406e2ddbaSVinod Koul&spmi_bus { 3506e2ddbaSVinod Koul pms405_0: pms405@0 { 365239ce22SDavid Heidelberg compatible = "qcom,pms405", "qcom,spmi-pmic"; 3706e2ddbaSVinod Koul reg = <0x0 SPMI_USID>; 3806e2ddbaSVinod Koul #address-cells = <1>; 3906e2ddbaSVinod Koul #size-cells = <0>; 4006e2ddbaSVinod Koul 41dbc5c766SVinod Koul pms405_gpios: gpio@c000 { 42019102a9SKrzysztof Kozlowski compatible = "qcom,pms405-gpio", "qcom,spmi-gpio"; 43dbc5c766SVinod Koul reg = <0xc000>; 44dbc5c766SVinod Koul gpio-controller; 45b07bfd8eSKrzysztof Kozlowski gpio-ranges = <&pms405_gpios 0 0 12>; 46dbc5c766SVinod Koul #gpio-cells = <2>; 47a984d5d1SKrzysztof Kozlowski interrupt-controller; 48a984d5d1SKrzysztof Kozlowski #interrupt-cells = <2>; 49dbc5c766SVinod Koul }; 50dbc5c766SVinod Koul 5185bc3096SVinod Koul pon@800 { 5285bc3096SVinod Koul compatible = "qcom,pms405-pon"; 5385bc3096SVinod Koul reg = <0x0800>; 5485bc3096SVinod Koul mode-bootloader = <0x2>; 5585bc3096SVinod Koul mode-recovery = <0x1>; 5685bc3096SVinod Koul 5785bc3096SVinod Koul pwrkey { 5885bc3096SVinod Koul compatible = "qcom,pm8941-pwrkey"; 5985bc3096SVinod Koul interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; 6085bc3096SVinod Koul debounce = <15625>; 6185bc3096SVinod Koul bias-pull-up; 6285bc3096SVinod Koul linux,code = <KEY_POWER>; 6385bc3096SVinod Koul }; 6485bc3096SVinod Koul }; 6585bc3096SVinod Koul 66041b9a7bSAmit Kucheria pms405_temp: temp-alarm@2400 { 67041b9a7bSAmit Kucheria compatible = "qcom,spmi-temp-alarm"; 68041b9a7bSAmit Kucheria reg = <0x2400>; 69041b9a7bSAmit Kucheria interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>; 70041b9a7bSAmit Kucheria io-channels = <&pms405_adc ADC5_DIE_TEMP>; 71041b9a7bSAmit Kucheria io-channel-names = "thermal"; 72041b9a7bSAmit Kucheria #thermal-sensor-cells = <0>; 73041b9a7bSAmit Kucheria }; 74041b9a7bSAmit Kucheria 75041b9a7bSAmit Kucheria pms405_adc: adc@3100 { 76041b9a7bSAmit Kucheria compatible = "qcom,pms405-adc", "qcom,spmi-adc-rev2"; 77041b9a7bSAmit Kucheria reg = <0x3100>; 78041b9a7bSAmit Kucheria interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 79041b9a7bSAmit Kucheria #address-cells = <1>; 80041b9a7bSAmit Kucheria #size-cells = <0>; 81041b9a7bSAmit Kucheria #io-channel-cells = <1>; 82041b9a7bSAmit Kucheria 83*41c18552SMarijn Suijten channel@0 { 84041b9a7bSAmit Kucheria reg = <ADC5_REF_GND>; 85041b9a7bSAmit Kucheria qcom,pre-scaling = <1 1>; 86*41c18552SMarijn Suijten label = "ref_gnd"; 87041b9a7bSAmit Kucheria }; 88041b9a7bSAmit Kucheria 89*41c18552SMarijn Suijten channel@1 { 90041b9a7bSAmit Kucheria reg = <ADC5_1P25VREF>; 91041b9a7bSAmit Kucheria qcom,pre-scaling = <1 1>; 92*41c18552SMarijn Suijten label = "vref_1p25"; 93041b9a7bSAmit Kucheria }; 94041b9a7bSAmit Kucheria 95*41c18552SMarijn Suijten channel@131 { 96041b9a7bSAmit Kucheria reg = <ADC5_VPH_PWR>; 97041b9a7bSAmit Kucheria qcom,pre-scaling = <1 3>; 98*41c18552SMarijn Suijten label = "vph_pwr"; 99041b9a7bSAmit Kucheria }; 100041b9a7bSAmit Kucheria 101*41c18552SMarijn Suijten channel@6 { 102041b9a7bSAmit Kucheria reg = <ADC5_DIE_TEMP>; 103041b9a7bSAmit Kucheria qcom,pre-scaling = <1 1>; 104*41c18552SMarijn Suijten label = "die_temp"; 105041b9a7bSAmit Kucheria }; 106041b9a7bSAmit Kucheria 107*41c18552SMarijn Suijten channel@77 { 108041b9a7bSAmit Kucheria reg = <ADC5_AMUX_THM1_100K_PU>; 1097c2d4811SAmit Kucheria qcom,ratiometric; 1107c2d4811SAmit Kucheria qcom,hw-settle-time = <200>; 111041b9a7bSAmit Kucheria qcom,pre-scaling = <1 1>; 112*41c18552SMarijn Suijten label = "pa_therm1"; 113041b9a7bSAmit Kucheria }; 114041b9a7bSAmit Kucheria 115*41c18552SMarijn Suijten channel@79 { 116041b9a7bSAmit Kucheria reg = <ADC5_AMUX_THM3_100K_PU>; 1177c2d4811SAmit Kucheria qcom,ratiometric; 1187c2d4811SAmit Kucheria qcom,hw-settle-time = <200>; 119041b9a7bSAmit Kucheria qcom,pre-scaling = <1 1>; 120*41c18552SMarijn Suijten label = "pa_therm3"; 121041b9a7bSAmit Kucheria }; 12232d3060dSAmit Kucheria 123*41c18552SMarijn Suijten channel@76 { 12432d3060dSAmit Kucheria reg = <ADC5_XO_THERM_100K_PU>; 12532d3060dSAmit Kucheria qcom,ratiometric; 12632d3060dSAmit Kucheria qcom,hw-settle-time = <200>; 12732d3060dSAmit Kucheria qcom,pre-scaling = <1 1>; 128*41c18552SMarijn Suijten label = "xo_therm"; 12932d3060dSAmit Kucheria }; 130041b9a7bSAmit Kucheria }; 131041b9a7bSAmit Kucheria 132dc294716SVinod Koul rtc@6000 { 133dc294716SVinod Koul compatible = "qcom,pm8941-rtc"; 134ceb01bb8SEric Chanudet reg = <0x6000>, <0x6100>; 135dc294716SVinod Koul reg-names = "rtc", "alarm"; 136dc294716SVinod Koul interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; 137dc294716SVinod Koul }; 13806e2ddbaSVinod Koul }; 139a60a072cSJorge Ramirez-Ortiz 140a60a072cSJorge Ramirez-Ortiz pms405_1: pms405@1 { 1415239ce22SDavid Heidelberg compatible = "qcom,pms405", "qcom,spmi-pmic"; 142a60a072cSJorge Ramirez-Ortiz reg = <0x1 SPMI_USID>; 143a60a072cSJorge Ramirez-Ortiz 144a60a072cSJorge Ramirez-Ortiz pms405_spmi_regulators: regulators { 145a60a072cSJorge Ramirez-Ortiz compatible = "qcom,pms405-regulators"; 146a60a072cSJorge Ramirez-Ortiz }; 147a60a072cSJorge Ramirez-Ortiz }; 14806e2ddbaSVinod Koul}; 149