xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/pms405.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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