blob: b9a6c79bbe00a7ef36ba6c24474e62c2c3bda547 [file] [log] [blame]
David Collinsdba7baf2017-03-10 11:48:37 -08001/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#include <dt-bindings/spmi/spmi.h>
14#include <dt-bindings/interrupt-controller/irq.h>
Subbaraman Narayanamurthyd5d4e7b2017-04-06 14:32:39 -070015#include <dt-bindings/msm/power-on.h>
David Collinsdba7baf2017-03-10 11:48:37 -080016
17&spmi_bus {
18 qcom,pm8998@0 {
19 compatible = "qcom,spmi-pmic";
20 reg = <0x0 SPMI_USID>;
21 #address-cells = <2>;
22 #size-cells = <0>;
23
24 pm8998_revid: qcom,revid@100 {
25 compatible = "qcom,qpnp-revid";
26 reg = <0x100 0x100>;
27 };
28
29 qcom,power-on@800 {
30 compatible = "qcom,qpnp-power-on";
31 reg = <0x800 0x100>;
32 interrupts = <0x0 0x8 0x0 IRQ_TYPE_NONE>,
33 <0x0 0x8 0x1 IRQ_TYPE_NONE>,
34 <0x0 0x8 0x4 IRQ_TYPE_NONE>,
35 <0x0 0x8 0x5 IRQ_TYPE_NONE>;
36 interrupt-names = "kpdpwr", "resin",
37 "resin-bark", "kpdpwr-resin-bark";
38 qcom,pon-dbc-delay = <15625>;
39 qcom,system-reset;
40 qcom,store-hard-reset-reason;
41
42 qcom,pon_1 {
43 qcom,pon-type = <0>;
44 qcom,pull-up = <1>;
45 linux,code = <116>;
David Collinsdba7baf2017-03-10 11:48:37 -080046 };
47
48 qcom,pon_2 {
49 qcom,pon-type = <1>;
50 qcom,pull-up = <1>;
51 linux,code = <114>;
52 };
53
54 qcom,pon_3 {
55 qcom,pon-type = <3>;
56 qcom,support-reset = <1>;
57 qcom,pull-up = <1>;
58 qcom,s1-timer = <6720>;
59 qcom,s2-timer = <2000>;
Subbaraman Narayanamurthyd5d4e7b2017-04-06 14:32:39 -070060 qcom,s2-type = <PON_POWER_OFF_DVDD_HARD_RESET>;
David Collinsdba7baf2017-03-10 11:48:37 -080061 qcom,use-bark;
62 };
63 };
64
Ram Chandrasekara3115282017-04-21 17:33:01 -060065 pm8998_tz: qcom,temp-alarm@2400 {
David Collinsdba7baf2017-03-10 11:48:37 -080066 compatible = "qcom,qpnp-temp-alarm";
67 reg = <0x2400 0x100>;
68 interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
69 label = "pm8998_tz";
David Collins249d44d2017-03-14 14:58:35 -070070 qcom,channel-num = <6>;
71 qcom,temp_alarm-vadc = <&pm8998_vadc>;
Ram Chandrasekara3115282017-04-21 17:33:01 -060072 #thermal-sensor-cells = <0>;
David Collinsdba7baf2017-03-10 11:48:37 -080073 };
74
Fenglin Wu5a50fc82017-03-22 12:27:31 +080075 pm8998_gpios: pinctrl@c000 {
76 compatible = "qcom,spmi-gpio";
77 reg = <0xc000 0x1a00>;
78 interrupts = <0x0 0xc0 0 IRQ_TYPE_NONE>,
79 <0x0 0xc1 0 IRQ_TYPE_NONE>,
80 <0x0 0xc3 0 IRQ_TYPE_NONE>,
81 <0x0 0xc4 0 IRQ_TYPE_NONE>,
82 <0x0 0xc5 0 IRQ_TYPE_NONE>,
83 <0x0 0xc6 0 IRQ_TYPE_NONE>,
84 <0x0 0xc7 0 IRQ_TYPE_NONE>,
85 <0x0 0xc8 0 IRQ_TYPE_NONE>,
86 <0x0 0xc9 0 IRQ_TYPE_NONE>,
87 <0x0 0xca 0 IRQ_TYPE_NONE>,
88 <0x0 0xcb 0 IRQ_TYPE_NONE>,
89 <0x0 0xcc 0 IRQ_TYPE_NONE>,
90 <0x0 0xcd 0 IRQ_TYPE_NONE>,
91 <0x0 0xcf 0 IRQ_TYPE_NONE>,
92 <0x0 0xd0 0 IRQ_TYPE_NONE>,
93 <0x0 0xd1 0 IRQ_TYPE_NONE>,
94 <0x0 0xd2 0 IRQ_TYPE_NONE>,
95 <0x0 0xd4 0 IRQ_TYPE_NONE>,
96 <0x0 0xd6 0 IRQ_TYPE_NONE>;
97 interrupt-names = "pm8998_gpio1", "pm8998_gpio2",
98 "pm8998_gpio4", "pm8998_gpio5",
99 "pm8998_gpio6", "pm8998_gpio7",
100 "pm8998_gpio8", "pm8998_gpio9",
101 "pm8998_gpio10", "pm8998_gpio11",
102 "pm8998_gpio12", "pm8998_gpio13",
103 "pm8998_gpio14", "pm8998_gpio16",
104 "pm8998_gpio17", "pm8998_gpio18",
105 "pm8998_gpio19", "pm8998_gpio21",
106 "pm8998_gpio23";
David Collinsdba7baf2017-03-10 11:48:37 -0800107 gpio-controller;
108 #gpio-cells = <2>;
Fenglin Wu5a50fc82017-03-22 12:27:31 +0800109 qcom,gpios-disallowed = <3 15 20 22 24 25 26>;
David Collinsdba7baf2017-03-10 11:48:37 -0800110 };
111
112 pm8998_coincell: qcom,coincell@2800 {
113 compatible = "qcom,qpnp-coincell";
114 reg = <0x2800 0x100>;
115 };
116
117 pm8998_rtc: qcom,pm8998_rtc {
118 compatible = "qcom,qpnp-rtc";
119 #address-cells = <1>;
120 #size-cells = <1>;
121 qcom,qpnp-rtc-write = <0>;
122 qcom,qpnp-rtc-alarm-pwrup = <0>;
123
124 qcom,pm8998_rtc_rw@6000 {
125 reg = <0x6000 0x100>;
126 };
127 qcom,pm8998_rtc_alarm@6100 {
128 reg = <0x6100 0x100>;
129 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
130 };
131 };
132
133 pm8998_vadc: vadc@3100 {
134 compatible = "qcom,qpnp-vadc-hc";
135 reg = <0x3100 0x100>;
136 #address-cells = <1>;
137 #size-cells = <0>;
138 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
139 interrupt-names = "eoc-int-en-set";
140 qcom,adc-bit-resolution = <15>;
141 qcom,adc-vdd-reference = <1875>;
Siddartha Mohanadoss0fbfc822017-04-21 11:41:32 -0700142 #thermal-sensor-cells = <1>;
David Collinsdba7baf2017-03-10 11:48:37 -0800143
144 chan@6 {
145 label = "die_temp";
146 reg = <6>;
147 qcom,decimation = <2>;
148 qcom,pre-div-channel-scaling = <0>;
149 qcom,calibration-type = "absolute";
150 qcom,scale-function = <3>;
151 qcom,hw-settle-time = <0>;
152 qcom,fast-avg-setup = <0>;
153 qcom,cal-val = <0>;
154 };
155
156 chan@0 {
157 label = "ref_gnd";
158 reg = <0>;
159 qcom,decimation = <2>;
160 qcom,pre-div-channel-scaling = <0>;
161 qcom,calibration-type = "absolute";
162 qcom,scale-function = <0>;
163 qcom,hw-settle-time = <0>;
164 qcom,fast-avg-setup = <0>;
165 qcom,cal-val = <0>;
166 };
167
168 chan@1 {
169 label = "ref_1250v";
170 reg = <1>;
171 qcom,decimation = <2>;
172 qcom,pre-div-channel-scaling = <0>;
173 qcom,calibration-type = "absolute";
174 qcom,scale-function = <0>;
175 qcom,hw-settle-time = <0>;
176 qcom,fast-avg-setup = <0>;
177 qcom,cal-val = <0>;
178 };
179 };
180
181 pm8998_adc_tm: vadc@3400 {
182 compatible = "qcom,qpnp-adc-tm-hc";
183 reg = <0x3400 0x100>;
184 #address-cells = <1>;
185 #size-cells = <0>;
186 interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
187 interrupt-names = "eoc-int-en-set";
188 qcom,adc-bit-resolution = <15>;
189 qcom,adc-vdd-reference = <1875>;
190 qcom,adc_tm-vadc = <&pm8998_vadc>;
191 qcom,decimation = <0>;
192 qcom,fast-avg-setup = <0>;
193 };
194 };
195
196 qcom,pm8998@1 {
197 compatible ="qcom,spmi-pmic";
198 reg = <0x1 SPMI_USID>;
199 #address-cells = <2>;
200 #size-cells = <0>;
201 };
202};
Ram Chandrasekara3115282017-04-21 17:33:01 -0600203
204&thermal_zones {
205 pm8998_temp_alarm: pm8998_tz {
206 polling-delay-passive = <0>;
207 polling-delay = <0>;
208 thermal-governor = "step_wise";
209 thermal-sensors = <&pm8998_tz>;
210
211 trips {
212 pm8998_trip0: pm8998-trip0 {
213 temperature = <105000>;
214 hysteresis = <0>;
215 type = "passive";
216 };
217 pm8998_trip1: pm8998-trip1 {
218 temperature = <125000>;
219 hysteresis = <0>;
220 type = "passive";
221 };
222 pm8998_trip2: pm8998-trip2 {
223 temperature = <145000>;
224 hysteresis = <0>;
225 type = "critical";
226 };
227 };
228 };
229};