blob: 013ac483615fcd3481c08cd4132a87e96ead7bce [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>;
Subbaraman Narayanamurthy94676ad2017-05-12 16:49:36 -070039 qcom,kpdpwr-sw-debounce;
David Collinsdba7baf2017-03-10 11:48:37 -080040 qcom,system-reset;
41 qcom,store-hard-reset-reason;
42
43 qcom,pon_1 {
44 qcom,pon-type = <0>;
45 qcom,pull-up = <1>;
46 linux,code = <116>;
David Collinsdba7baf2017-03-10 11:48:37 -080047 };
48
49 qcom,pon_2 {
50 qcom,pon-type = <1>;
51 qcom,pull-up = <1>;
52 linux,code = <114>;
53 };
54
55 qcom,pon_3 {
56 qcom,pon-type = <3>;
57 qcom,support-reset = <1>;
58 qcom,pull-up = <1>;
59 qcom,s1-timer = <6720>;
60 qcom,s2-timer = <2000>;
Subbaraman Narayanamurthyd5d4e7b2017-04-06 14:32:39 -070061 qcom,s2-type = <PON_POWER_OFF_DVDD_HARD_RESET>;
David Collinsdba7baf2017-03-10 11:48:37 -080062 qcom,use-bark;
63 };
64 };
65
Ram Chandrasekara3115282017-04-21 17:33:01 -060066 pm8998_tz: qcom,temp-alarm@2400 {
David Collinsdba7baf2017-03-10 11:48:37 -080067 compatible = "qcom,qpnp-temp-alarm";
68 reg = <0x2400 0x100>;
69 interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
70 label = "pm8998_tz";
David Collins249d44d2017-03-14 14:58:35 -070071 qcom,channel-num = <6>;
72 qcom,temp_alarm-vadc = <&pm8998_vadc>;
Ram Chandrasekara3115282017-04-21 17:33:01 -060073 #thermal-sensor-cells = <0>;
David Collinsdba7baf2017-03-10 11:48:37 -080074 };
75
Fenglin Wu5a50fc82017-03-22 12:27:31 +080076 pm8998_gpios: pinctrl@c000 {
77 compatible = "qcom,spmi-gpio";
78 reg = <0xc000 0x1a00>;
79 interrupts = <0x0 0xc0 0 IRQ_TYPE_NONE>,
80 <0x0 0xc1 0 IRQ_TYPE_NONE>,
81 <0x0 0xc3 0 IRQ_TYPE_NONE>,
82 <0x0 0xc4 0 IRQ_TYPE_NONE>,
83 <0x0 0xc5 0 IRQ_TYPE_NONE>,
84 <0x0 0xc6 0 IRQ_TYPE_NONE>,
85 <0x0 0xc7 0 IRQ_TYPE_NONE>,
86 <0x0 0xc8 0 IRQ_TYPE_NONE>,
87 <0x0 0xc9 0 IRQ_TYPE_NONE>,
88 <0x0 0xca 0 IRQ_TYPE_NONE>,
89 <0x0 0xcb 0 IRQ_TYPE_NONE>,
90 <0x0 0xcc 0 IRQ_TYPE_NONE>,
91 <0x0 0xcd 0 IRQ_TYPE_NONE>,
92 <0x0 0xcf 0 IRQ_TYPE_NONE>,
93 <0x0 0xd0 0 IRQ_TYPE_NONE>,
94 <0x0 0xd1 0 IRQ_TYPE_NONE>,
95 <0x0 0xd2 0 IRQ_TYPE_NONE>,
96 <0x0 0xd4 0 IRQ_TYPE_NONE>,
97 <0x0 0xd6 0 IRQ_TYPE_NONE>;
98 interrupt-names = "pm8998_gpio1", "pm8998_gpio2",
99 "pm8998_gpio4", "pm8998_gpio5",
100 "pm8998_gpio6", "pm8998_gpio7",
101 "pm8998_gpio8", "pm8998_gpio9",
102 "pm8998_gpio10", "pm8998_gpio11",
103 "pm8998_gpio12", "pm8998_gpio13",
104 "pm8998_gpio14", "pm8998_gpio16",
105 "pm8998_gpio17", "pm8998_gpio18",
106 "pm8998_gpio19", "pm8998_gpio21",
107 "pm8998_gpio23";
David Collinsdba7baf2017-03-10 11:48:37 -0800108 gpio-controller;
109 #gpio-cells = <2>;
Fenglin Wu5a50fc82017-03-22 12:27:31 +0800110 qcom,gpios-disallowed = <3 15 20 22 24 25 26>;
David Collinsdba7baf2017-03-10 11:48:37 -0800111 };
112
113 pm8998_coincell: qcom,coincell@2800 {
114 compatible = "qcom,qpnp-coincell";
115 reg = <0x2800 0x100>;
116 };
117
118 pm8998_rtc: qcom,pm8998_rtc {
119 compatible = "qcom,qpnp-rtc";
120 #address-cells = <1>;
121 #size-cells = <1>;
122 qcom,qpnp-rtc-write = <0>;
123 qcom,qpnp-rtc-alarm-pwrup = <0>;
124
125 qcom,pm8998_rtc_rw@6000 {
126 reg = <0x6000 0x100>;
127 };
128 qcom,pm8998_rtc_alarm@6100 {
129 reg = <0x6100 0x100>;
130 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
131 };
132 };
133
134 pm8998_vadc: vadc@3100 {
135 compatible = "qcom,qpnp-vadc-hc";
136 reg = <0x3100 0x100>;
137 #address-cells = <1>;
138 #size-cells = <0>;
139 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
140 interrupt-names = "eoc-int-en-set";
141 qcom,adc-bit-resolution = <15>;
142 qcom,adc-vdd-reference = <1875>;
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>;
Siddartha Mohanadoss8ca295a2017-05-15 15:45:04 -0700193 #thermal-sensor-cells = <1>;
David Collinsdba7baf2017-03-10 11:48:37 -0800194 };
David Collins08dece42017-09-25 10:43:14 -0700195
196 pm8998_div_clk1: qcom,clkdiv@5b00 {
197 compatible = "qcom,qpnp-clkdiv";
198 reg = <0x5b00 0x100>;
199 #clock-cells = <1>;
200 qcom,cxo-freq = <19200000>;
201 qcom,clkdiv-id = <1>;
202 qcom,clkdiv-init-freq = <19200000>;
203 };
204
205 pm8998_div_clk2: qcom,clkdiv@5c00 {
206 compatible = "qcom,qpnp-clkdiv";
207 reg = <0x5c00 0x100>;
208 #clock-cells = <1>;
209 qcom,cxo-freq = <19200000>;
210 qcom,clkdiv-id = <2>;
211 qcom,clkdiv-init-freq = <19200000>;
212 };
213
214 pm8998_div_clk3: qcom,clkdiv@5d00 {
215 compatible = "qcom,qpnp-clkdiv";
216 reg = <0x5d00 0x100>;
217 #clock-cells = <1>;
218 qcom,cxo-freq = <19200000>;
219 qcom,clkdiv-id = <3>;
220 qcom,clkdiv-init-freq = <19200000>;
221 };
David Collinsdba7baf2017-03-10 11:48:37 -0800222 };
223
224 qcom,pm8998@1 {
225 compatible ="qcom,spmi-pmic";
226 reg = <0x1 SPMI_USID>;
227 #address-cells = <2>;
228 #size-cells = <0>;
229 };
230};
Ram Chandrasekara3115282017-04-21 17:33:01 -0600231
232&thermal_zones {
233 pm8998_temp_alarm: pm8998_tz {
234 polling-delay-passive = <0>;
235 polling-delay = <0>;
236 thermal-governor = "step_wise";
237 thermal-sensors = <&pm8998_tz>;
238
239 trips {
240 pm8998_trip0: pm8998-trip0 {
241 temperature = <105000>;
242 hysteresis = <0>;
243 type = "passive";
244 };
245 pm8998_trip1: pm8998-trip1 {
246 temperature = <125000>;
247 hysteresis = <0>;
248 type = "passive";
249 };
250 pm8998_trip2: pm8998-trip2 {
251 temperature = <145000>;
252 hysteresis = <0>;
253 type = "critical";
254 };
255 };
256 };
257};