blob: b119305ce2faac7d98a5af6c03b0d7ffda2dca54 [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";
Ram Chandrasekara3115282017-04-21 17:33:01 -060070 #thermal-sensor-cells = <0>;
David Collinsdba7baf2017-03-10 11:48:37 -080071 };
72
Fenglin Wu5a50fc82017-03-22 12:27:31 +080073 pm8998_gpios: pinctrl@c000 {
74 compatible = "qcom,spmi-gpio";
75 reg = <0xc000 0x1a00>;
76 interrupts = <0x0 0xc0 0 IRQ_TYPE_NONE>,
77 <0x0 0xc1 0 IRQ_TYPE_NONE>,
78 <0x0 0xc3 0 IRQ_TYPE_NONE>,
79 <0x0 0xc4 0 IRQ_TYPE_NONE>,
80 <0x0 0xc5 0 IRQ_TYPE_NONE>,
81 <0x0 0xc6 0 IRQ_TYPE_NONE>,
82 <0x0 0xc7 0 IRQ_TYPE_NONE>,
83 <0x0 0xc8 0 IRQ_TYPE_NONE>,
84 <0x0 0xc9 0 IRQ_TYPE_NONE>,
85 <0x0 0xca 0 IRQ_TYPE_NONE>,
86 <0x0 0xcb 0 IRQ_TYPE_NONE>,
87 <0x0 0xcc 0 IRQ_TYPE_NONE>,
88 <0x0 0xcd 0 IRQ_TYPE_NONE>,
89 <0x0 0xcf 0 IRQ_TYPE_NONE>,
90 <0x0 0xd0 0 IRQ_TYPE_NONE>,
91 <0x0 0xd1 0 IRQ_TYPE_NONE>,
92 <0x0 0xd2 0 IRQ_TYPE_NONE>,
93 <0x0 0xd4 0 IRQ_TYPE_NONE>,
94 <0x0 0xd6 0 IRQ_TYPE_NONE>;
95 interrupt-names = "pm8998_gpio1", "pm8998_gpio2",
96 "pm8998_gpio4", "pm8998_gpio5",
97 "pm8998_gpio6", "pm8998_gpio7",
98 "pm8998_gpio8", "pm8998_gpio9",
99 "pm8998_gpio10", "pm8998_gpio11",
100 "pm8998_gpio12", "pm8998_gpio13",
101 "pm8998_gpio14", "pm8998_gpio16",
102 "pm8998_gpio17", "pm8998_gpio18",
103 "pm8998_gpio19", "pm8998_gpio21",
104 "pm8998_gpio23";
David Collinsdba7baf2017-03-10 11:48:37 -0800105 gpio-controller;
106 #gpio-cells = <2>;
Fenglin Wu5a50fc82017-03-22 12:27:31 +0800107 qcom,gpios-disallowed = <3 15 20 22 24 25 26>;
David Collinsdba7baf2017-03-10 11:48:37 -0800108 };
109
110 pm8998_coincell: qcom,coincell@2800 {
111 compatible = "qcom,qpnp-coincell";
112 reg = <0x2800 0x100>;
113 };
114
115 pm8998_rtc: qcom,pm8998_rtc {
116 compatible = "qcom,qpnp-rtc";
117 #address-cells = <1>;
118 #size-cells = <1>;
119 qcom,qpnp-rtc-write = <0>;
120 qcom,qpnp-rtc-alarm-pwrup = <0>;
121
122 qcom,pm8998_rtc_rw@6000 {
123 reg = <0x6000 0x100>;
124 };
125 qcom,pm8998_rtc_alarm@6100 {
126 reg = <0x6100 0x100>;
127 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
128 };
129 };
130
131 pm8998_vadc: vadc@3100 {
132 compatible = "qcom,qpnp-vadc-hc";
133 reg = <0x3100 0x100>;
134 #address-cells = <1>;
135 #size-cells = <0>;
136 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
137 interrupt-names = "eoc-int-en-set";
138 qcom,adc-bit-resolution = <15>;
139 qcom,adc-vdd-reference = <1875>;
Siddartha Mohanadoss0fbfc822017-04-21 11:41:32 -0700140 #thermal-sensor-cells = <1>;
David Collinsdba7baf2017-03-10 11:48:37 -0800141
142 chan@6 {
143 label = "die_temp";
144 reg = <6>;
145 qcom,decimation = <2>;
146 qcom,pre-div-channel-scaling = <0>;
147 qcom,calibration-type = "absolute";
148 qcom,scale-function = <3>;
149 qcom,hw-settle-time = <0>;
150 qcom,fast-avg-setup = <0>;
151 qcom,cal-val = <0>;
152 };
153
154 chan@0 {
155 label = "ref_gnd";
156 reg = <0>;
157 qcom,decimation = <2>;
158 qcom,pre-div-channel-scaling = <0>;
159 qcom,calibration-type = "absolute";
160 qcom,scale-function = <0>;
161 qcom,hw-settle-time = <0>;
162 qcom,fast-avg-setup = <0>;
163 qcom,cal-val = <0>;
164 };
165
166 chan@1 {
167 label = "ref_1250v";
168 reg = <1>;
169 qcom,decimation = <2>;
170 qcom,pre-div-channel-scaling = <0>;
171 qcom,calibration-type = "absolute";
172 qcom,scale-function = <0>;
173 qcom,hw-settle-time = <0>;
174 qcom,fast-avg-setup = <0>;
175 qcom,cal-val = <0>;
176 };
177 };
178
179 pm8998_adc_tm: vadc@3400 {
180 compatible = "qcom,qpnp-adc-tm-hc";
181 reg = <0x3400 0x100>;
182 #address-cells = <1>;
183 #size-cells = <0>;
184 interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
185 interrupt-names = "eoc-int-en-set";
186 qcom,adc-bit-resolution = <15>;
187 qcom,adc-vdd-reference = <1875>;
188 qcom,adc_tm-vadc = <&pm8998_vadc>;
189 qcom,decimation = <0>;
190 qcom,fast-avg-setup = <0>;
191 };
192 };
193
194 qcom,pm8998@1 {
195 compatible ="qcom,spmi-pmic";
196 reg = <0x1 SPMI_USID>;
197 #address-cells = <2>;
198 #size-cells = <0>;
199 };
200};
Ram Chandrasekara3115282017-04-21 17:33:01 -0600201
202&thermal_zones {
203 pm8998_temp_alarm: pm8998_tz {
204 polling-delay-passive = <0>;
205 polling-delay = <0>;
206 thermal-governor = "step_wise";
207 thermal-sensors = <&pm8998_tz>;
208
209 trips {
210 pm8998_trip0: pm8998-trip0 {
211 temperature = <105000>;
212 hysteresis = <0>;
213 type = "passive";
214 };
215 pm8998_trip1: pm8998-trip1 {
216 temperature = <125000>;
217 hysteresis = <0>;
218 type = "passive";
219 };
220 pm8998_trip2: pm8998-trip2 {
221 temperature = <145000>;
222 hysteresis = <0>;
223 type = "critical";
224 };
225 };
226 };
227};