blob: 8149eb2f76e0cfb76aa5bf2a9af36910213addfe [file] [log] [blame]
Raja Mallikaac1e5992018-02-16 14:54:12 +05301/*
2 * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14/dts-v1/;
15
16#include "msm8909-mtp.dtsi"
Satish Kumar Kuradabbc2f002018-03-20 11:18:01 +053017#include "msm8909w-gpu.dtsi"
Raja Mallikaac1e5992018-02-16 14:54:12 +053018#include "msm8909w.dtsi"
19#include "msm8909w-bg-memory.dtsi"
20#include "8909w-pm660.dtsi"
21#include "msm8909-audio-bg_codec.dtsi"
Raja Mallikaac1e5992018-02-16 14:54:12 +053022
23/ {
24 model = "Qualcomm Technologies, Inc. MSM8909W-PM660 BLACKGHOST WTP";
25 compatible = "qcom,msm8909-mtp", "qcom,msm8909", "qcom,mtp";
26 qcom,msm-id = <245 0>,
27 <258 0>,
28 <275 0>,
29 <300 0>;
30 qcom,board-id = <8 0x10f>;
31 qcom,pmic-id = <0x0001001b 0x0 0x0 0x0>,
32 <0x0001011b 0x0 0x0 0x0>;
33};
34
35&soc {
36 i2c@78b9000 { /* BLSP1 QUP5 */
37 synaptics@20 {
38 compatible = "synaptics,dsx-i2c";
39 reg = <0x20>;
40 interrupt-parent = <&msm_gpio>;
41 interrupts = <98 0x2008>;
42 vdd_ana-supply = <&pm660_l18>;
43 vcc_i2c-supply = <&pm660_l13>;
44 synaptics,pwr-reg-name = "vdd_ana";
45 synaptics,bus-reg-name = "vcc_i2c";
46 pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
47 "pmx_ts_release";
48 pinctrl-0 = <&ts_int_active &ts_reset_active>;
49 pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
50 pinctrl-2 = <&ts_release>;
51 synaptics,irq-gpio = <&msm_gpio 98 0x2008>;
52 synaptics,irq-on-state = <0>;
53 synaptics,irq-flags = <0x2008>;
54 synaptics,power-delay-ms = <200>;
55 synaptics,reset-delay-ms = <200>;
56 synaptics,max-y-for-2d = <389>;
57 synaptics,wakeup-gestures-en;
58 synaptics,resume-in-workqueue;
59 synaptics,x-flip;
60 synaptics,y-flip;
61 /delete-property/ synaptics,reset-gpio;
62 /delete-property/ synaptics,display-coords;
63 /delete-property/ synaptics,panel-coords;
64 /delete-property/ synaptics,power-down;
65 /delete-property/ synaptics,disable-gpios;
66 /delete-property/ synaptics,is_wake;
67 };
68
69 /delete-node/ it7260@46;
70 };
71
Ramesh Yadav Javadi92bb99a2018-03-31 13:19:54 +053072 qcom,blackghost {
73 compatible = "qcom,pil-blackghost";
74 qcom,firmware-name = "bg-wear";
75 /* GPIO inputs from blackghost */
76 qcom,bg2ap-status-gpio = <&msm_gpio 97 0>;
77 qcom,bg2ap-errfatal-gpio = <&msm_gpio 95 0>;
78 /* GPIO output to blackghost */
79 qcom,ap2bg-status-gpio = <&msm_gpio 17 0>;
80 qcom,ap2bg-errfatal-gpio = <&msm_gpio 23 0>;
81 };
82
Raja Mallikaac1e5992018-02-16 14:54:12 +053083 qcom,msm-ssc-sensors {
84 compatible = "qcom,msm-ssc-sensors";
85 };
86
87 qcom,glink-bgcom-xprt-bg {
88 compatible = "qcom,glink-bgcom-xprt";
89 label = "bg";
90 qcom,qos-config = <&glink_qos_bg>;
91 qcom,ramp-time = <0x10>,
92 <0x20>,
93 <0x30>,
94 <0x40>;
95 };
96
97 glink_qos_bg: qcom,glink-qos-config-bg {
98 compatible = "qcom,glink-qos-config";
99 qcom,flow-info = <0x80 0x0>,
100 <0x70 0x1>,
101 <0x60 0x2>,
102 <0x50 0x3>;
103 qcom,mtu-size = <0x800>;
104 qcom,tput-stats-cycle = <0xa>;
105 };
106
107 qcom,glink_pkt {
108 compatible = "qcom,glinkpkt";
109
110 qcom,glinkpkt-bg-daemon {
111 qcom,glinkpkt-transport = "bgcom";
112 qcom,glinkpkt-edge = "bg";
113 qcom,glinkpkt-ch-name = "bg-daemon";
114 qcom,glinkpkt-dev-name = "glink_pkt_bg_daemon";
115 };
116
117 qcom,glinkpkt-bg-display-ctrl {
118 qcom,glinkpkt-transport = "bgcom";
119 qcom,glinkpkt-edge = "bg";
120 qcom,glinkpkt-ch-name = "display-ctrl";
121 qcom,glinkpkt-dev-name = "glink_pkt_bg_display_ctrl";
122 };
123
124 qcom,glinkpkt-bg-display-data {
125 qcom,glinkpkt-transport = "bgcom";
126 qcom,glinkpkt-edge = "bg";
127 qcom,glinkpkt-ch-name = "display-data";
128 qcom,glinkpkt-dev-name = "glink_pkt_bg_display_data";
129 };
130
131 qcom,glinkpkt-bg-rsb-ctrl {
132 qcom,glinkpkt-transport = "bgcom";
133 qcom,glinkpkt-edge = "bg";
134 qcom,glinkpkt-ch-name = "RSB_CTRL";
135 qcom,glinkpkt-dev-name = "glink_pkt_bg_rsb_ctrl";
136 };
137 };
138
139 spi@78B8000 { /* BLSP1 QUP4 */
140 status = "ok";
141 qcom,bg-spi {
142 compatible = "qcom,bg-spi";
143 reg = <0>;
144 spi-max-frequency = <16000000>;
145 interrupt-parent = <&msm_gpio>;
146 qcom,irq-gpio = <&msm_gpio 110 1>;
147 };
148 };
149
150 qcom,msm-thermal {
151 vdd-dig-supply = <&pm660_s2_floor_corner>;
152
153 msm_thermal_freq: qcom,vdd-apps-rstr {
154 qcom,vdd-rstr-reg = "vdd-apps";
155 qcom,levels = <1094400>;
156 qcom,freq-req;
157 };
158 };
159
160 qcom,bg-rsb {
161 compatible = "qcom,bg-rsb";
162 vdd-ldo1-supply = <&pm660_l11>;
163 vdd-ldo2-supply = <&pm660_l15>;
164 };
165
166 qcom,bg-daemon {
167 compatible = "qcom,bg-daemon";
168 qcom,bg-reset-gpio = <&pm660_gpios 5 0>;
Ramesh Yadav Javadi92bb99a2018-03-31 13:19:54 +0530169 ssr-reg1-supply = <&pm660_l3>;
170 ssr-reg2-supply = <&pm660_l9>;
Raja Mallikaac1e5992018-02-16 14:54:12 +0530171 };
172
173 qcom,bcl {
174 compatible = "qcom,bcl";
175 qcom,bcl-enable;
176 qcom,bcl-framework-interface;
177 qcom,bcl-freq-control-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
178 qcom,bcl-hotplug-list = <&CPU2 &CPU3>;
179 qcom,bcl-soc-hotplug-list = <&CPU2 &CPU3>;
180 qcom,ibat-monitor {
181 qcom,low-threshold-uamp = <1000000>;
182 qcom,high-threshold-uamp = <2000000>;
183 qcom,mitigation-freq-khz = <1094400>;
184 qcom,vph-high-threshold-uv = <3500000>;
185 qcom,vph-low-threshold-uv = <3200000>;
186 qcom,soc-low-threshold = <10>;
187 qcom,thermal-handle = <&msm_thermal_freq>;
188 };
189 };
190};
191
192&audio_codec_mtp {
193 status = "disabled";
194};
195
196&audio_codec_bg {
197 status = "ok";
198};
199
200&bg_cdc {
201 status = "ok";
202 vdd-spkr-supply = <&pm660_l11>;
203};
204
205&i2c_1 {
206 status = "okay";
207 nq@28 {
208 compatible = "qcom,nq-nci";
209 reg = <0x28>;
210 qcom,nq-irq = <&msm_gpio 50 0x00>;
211 qcom,nq-ven = <&msm_gpio 36 0x00>;
212 qcom,nq-firm = <&msm_gpio 38 0x00>;
213 qcom,nq-esepwr = <&msm_gpio 49 0x00>;
214 qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
215 qcom,clk-src = "BBCLK3";
216 interrupt-parent = <&msm_gpio>;
217 interrupts = <50 0>;
218 interrupt-names = "nfc_irq";
219 pinctrl-names = "nfc_active","nfc_suspend";
220 pinctrl-0 = <&nfcw_int_active
221 &nfcw_disable_active
222 &nfc_clk_default>;
223 pinctrl-1 = <&nfcw_int_suspend &nfcw_disable_suspend>;
224 clock-names = "ref_clk";
225 };
226};
227
228&spi_0 {
229 status = "disabled";
230};
231
232&i2c_3 {
233 status = "disabled";
234};
235
236&i2c_4 {
237 status = "disabled";
238};
239
240&i2c_2 {
241 status = "disabled";
242};
243
244&sdhc_2 {
245 status = "disabled";
246};
247
248&blsp1_uart1 {
249 status = "ok";
250 pinctrl-names = "default";
251 pinctrl-0 = <&uart_console_sleep>;
252};
253
254/* Pinctrl dt nodes for interrupt & reset gpio for Synaptics touch controller */
255&ts_int_active {
256 mux {
257 pins = "gpio98";
258 };
259
260 config {
261 pins = "gpio98";
262 };
263};
264
265&ts_int_suspend {
266 mux {
267 pins = "gpio98";
268 };
269
270 config {
271 pins = "gpio98";
272 /delete-property/ bias-pull-down;
273 bias-disable; /* No PULL */
274 };
275};
276
277&ts_reset_active {
278 mux {
279 pins = "gpio16";
280 };
281
282 config {
283 pins = "gpio16";
284 };
285};
286
287&ts_reset_suspend {
288 mux {
289 pins = "gpio16";
290 };
291
292 config {
293 pins = "gpio16";
294 };
295};
296
297&ts_release {
298 mux {
299 pins = "gpio98", "gpio16";
300 };
301
302 config {
303 pins = "gpio98", "gpio16";
304 };
305};
306
307&spi4_cs0_active {
308 mux {
309 pins = "gpio14";
310 function = "blsp_spi4";
311 };
312 config {
313 pins = "gpio14";
314 drive-strength = <2>;
315 bias-disable; /* No PULL */
316 output-high;
317 };
318};
Arun kumar8e24ce12018-03-21 22:16:36 +0530319
320&mdss_dsi0 {
321 qcom,dsi-pref-prim-pan = <&dsi_auo_390p_cmd>;
322 qcom,platform-bklight-en-gpio = <&msm_gpio 52 0>;
323};