blob: 7c496f136aef5863b09caafb603df2aa4042ceef [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
65 qcom,temp-alarm@2400 {
66 compatible = "qcom,qpnp-temp-alarm";
67 reg = <0x2400 0x100>;
68 interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
69 label = "pm8998_tz";
70 };
71
Fenglin Wu5a50fc82017-03-22 12:27:31 +080072 pm8998_gpios: pinctrl@c000 {
73 compatible = "qcom,spmi-gpio";
74 reg = <0xc000 0x1a00>;
75 interrupts = <0x0 0xc0 0 IRQ_TYPE_NONE>,
76 <0x0 0xc1 0 IRQ_TYPE_NONE>,
77 <0x0 0xc3 0 IRQ_TYPE_NONE>,
78 <0x0 0xc4 0 IRQ_TYPE_NONE>,
79 <0x0 0xc5 0 IRQ_TYPE_NONE>,
80 <0x0 0xc6 0 IRQ_TYPE_NONE>,
81 <0x0 0xc7 0 IRQ_TYPE_NONE>,
82 <0x0 0xc8 0 IRQ_TYPE_NONE>,
83 <0x0 0xc9 0 IRQ_TYPE_NONE>,
84 <0x0 0xca 0 IRQ_TYPE_NONE>,
85 <0x0 0xcb 0 IRQ_TYPE_NONE>,
86 <0x0 0xcc 0 IRQ_TYPE_NONE>,
87 <0x0 0xcd 0 IRQ_TYPE_NONE>,
88 <0x0 0xcf 0 IRQ_TYPE_NONE>,
89 <0x0 0xd0 0 IRQ_TYPE_NONE>,
90 <0x0 0xd1 0 IRQ_TYPE_NONE>,
91 <0x0 0xd2 0 IRQ_TYPE_NONE>,
92 <0x0 0xd4 0 IRQ_TYPE_NONE>,
93 <0x0 0xd6 0 IRQ_TYPE_NONE>;
94 interrupt-names = "pm8998_gpio1", "pm8998_gpio2",
95 "pm8998_gpio4", "pm8998_gpio5",
96 "pm8998_gpio6", "pm8998_gpio7",
97 "pm8998_gpio8", "pm8998_gpio9",
98 "pm8998_gpio10", "pm8998_gpio11",
99 "pm8998_gpio12", "pm8998_gpio13",
100 "pm8998_gpio14", "pm8998_gpio16",
101 "pm8998_gpio17", "pm8998_gpio18",
102 "pm8998_gpio19", "pm8998_gpio21",
103 "pm8998_gpio23";
David Collinsdba7baf2017-03-10 11:48:37 -0800104 gpio-controller;
105 #gpio-cells = <2>;
Fenglin Wu5a50fc82017-03-22 12:27:31 +0800106 qcom,gpios-disallowed = <3 15 20 22 24 25 26>;
David Collinsdba7baf2017-03-10 11:48:37 -0800107 };
108
109 pm8998_coincell: qcom,coincell@2800 {
110 compatible = "qcom,qpnp-coincell";
111 reg = <0x2800 0x100>;
112 };
113
114 pm8998_rtc: qcom,pm8998_rtc {
115 compatible = "qcom,qpnp-rtc";
116 #address-cells = <1>;
117 #size-cells = <1>;
118 qcom,qpnp-rtc-write = <0>;
119 qcom,qpnp-rtc-alarm-pwrup = <0>;
120
121 qcom,pm8998_rtc_rw@6000 {
122 reg = <0x6000 0x100>;
123 };
124 qcom,pm8998_rtc_alarm@6100 {
125 reg = <0x6100 0x100>;
126 interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
127 };
128 };
129
130 pm8998_vadc: vadc@3100 {
131 compatible = "qcom,qpnp-vadc-hc";
132 reg = <0x3100 0x100>;
133 #address-cells = <1>;
134 #size-cells = <0>;
135 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
136 interrupt-names = "eoc-int-en-set";
137 qcom,adc-bit-resolution = <15>;
138 qcom,adc-vdd-reference = <1875>;
139
140 chan@6 {
141 label = "die_temp";
142 reg = <6>;
143 qcom,decimation = <2>;
144 qcom,pre-div-channel-scaling = <0>;
145 qcom,calibration-type = "absolute";
146 qcom,scale-function = <3>;
147 qcom,hw-settle-time = <0>;
148 qcom,fast-avg-setup = <0>;
149 qcom,cal-val = <0>;
150 };
151
152 chan@0 {
153 label = "ref_gnd";
154 reg = <0>;
155 qcom,decimation = <2>;
156 qcom,pre-div-channel-scaling = <0>;
157 qcom,calibration-type = "absolute";
158 qcom,scale-function = <0>;
159 qcom,hw-settle-time = <0>;
160 qcom,fast-avg-setup = <0>;
161 qcom,cal-val = <0>;
162 };
163
164 chan@1 {
165 label = "ref_1250v";
166 reg = <1>;
167 qcom,decimation = <2>;
168 qcom,pre-div-channel-scaling = <0>;
169 qcom,calibration-type = "absolute";
170 qcom,scale-function = <0>;
171 qcom,hw-settle-time = <0>;
172 qcom,fast-avg-setup = <0>;
173 qcom,cal-val = <0>;
174 };
175 };
176
177 pm8998_adc_tm: vadc@3400 {
178 compatible = "qcom,qpnp-adc-tm-hc";
179 reg = <0x3400 0x100>;
180 #address-cells = <1>;
181 #size-cells = <0>;
182 interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
183 interrupt-names = "eoc-int-en-set";
184 qcom,adc-bit-resolution = <15>;
185 qcom,adc-vdd-reference = <1875>;
186 qcom,adc_tm-vadc = <&pm8998_vadc>;
187 qcom,decimation = <0>;
188 qcom,fast-avg-setup = <0>;
189 };
190 };
191
192 qcom,pm8998@1 {
193 compatible ="qcom,spmi-pmic";
194 reg = <0x1 SPMI_USID>;
195 #address-cells = <2>;
196 #size-cells = <0>;
197 };
198};