1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2019, Linaro Limited
5 */
6
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/spmi/spmi.h>
10#include <dt-bindings/iio/qcom,spmi-vadc.h>
11
12/ {
13	thermal-zones {
14		pm8150-thermal {
15			polling-delay-passive = <100>;
16
17			thermal-sensors = <&pm8150_temp>;
18
19			trips {
20				trip0 {
21					temperature = <95000>;
22					hysteresis = <0>;
23					type = "passive";
24				};
25
26				trip1 {
27					temperature = <115000>;
28					hysteresis = <0>;
29					type = "hot";
30				};
31
32				trip2 {
33					temperature = <145000>;
34					hysteresis = <0>;
35					type = "critical";
36				};
37			};
38		};
39	};
40};
41
42&spmi_bus {
43	pm8150_0: pmic@0 {
44		compatible = "qcom,pm8150", "qcom,spmi-pmic";
45		reg = <0x0 SPMI_USID>;
46		#address-cells = <1>;
47		#size-cells = <0>;
48
49		pon: pon@800 {
50			compatible = "qcom,pm8998-pon";
51			reg = <0x0800>;
52			mode-bootloader = <0x2>;
53			mode-recovery = <0x1>;
54
55			pon_pwrkey: pwrkey {
56				compatible = "qcom,pm8941-pwrkey";
57				interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
58				debounce = <15625>;
59				bias-pull-up;
60				linux,code = <KEY_POWER>;
61
62				status = "disabled";
63			};
64
65			pon_resin: resin {
66				compatible = "qcom,pm8941-resin";
67				interrupts = <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>;
68				debounce = <15625>;
69				bias-pull-up;
70
71				status = "disabled";
72			};
73		};
74
75		pm8150_temp: temp-alarm@2400 {
76			compatible = "qcom,spmi-temp-alarm";
77			reg = <0x2400>;
78			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
79			io-channels = <&pm8150_adc ADC5_DIE_TEMP>;
80			io-channel-names = "thermal";
81			#thermal-sensor-cells = <0>;
82		};
83
84		pm8150_adc: adc@3100 {
85			compatible = "qcom,spmi-adc5";
86			reg = <0x3100>;
87			#address-cells = <1>;
88			#size-cells = <0>;
89			#io-channel-cells = <1>;
90			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
91
92			channel@0 {
93				reg = <ADC5_REF_GND>;
94				qcom,pre-scaling = <1 1>;
95				label = "ref_gnd";
96			};
97
98			channel@1 {
99				reg = <ADC5_1P25VREF>;
100				qcom,pre-scaling = <1 1>;
101				label = "vref_1p25";
102			};
103
104			channel@6 {
105				reg = <ADC5_DIE_TEMP>;
106				qcom,pre-scaling = <1 1>;
107				label = "die_temp";
108			};
109		};
110
111		pm8150_adc_tm: adc-tm@3500 {
112			compatible = "qcom,spmi-adc-tm5";
113			reg = <0x3500>;
114			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
115			#thermal-sensor-cells = <1>;
116			#address-cells = <1>;
117			#size-cells = <0>;
118			status = "disabled";
119		};
120
121		rtc@6000 {
122			compatible = "qcom,pm8941-rtc";
123			reg = <0x6000>, <0x6100>;
124			reg-names = "rtc", "alarm";
125			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
126		};
127
128		pm8150_gpios: gpio@c000 {
129			compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
130			reg = <0xc000>;
131			gpio-controller;
132			gpio-ranges = <&pm8150_gpios 0 0 10>;
133			#gpio-cells = <2>;
134			interrupt-controller;
135			#interrupt-cells = <2>;
136		};
137	};
138
139	pmic@1 {
140		compatible = "qcom,pm8150", "qcom,spmi-pmic";
141		reg = <0x1 SPMI_USID>;
142		#address-cells = <1>;
143		#size-cells = <0>;
144	};
145};
146