blob: 8d180443b087f7981d54a7793343a3348b48d324 [file] [log] [blame]
Archit Saxena6ce47392018-06-19 18:11:57 +05301/*
Nagireddy Annem297a0022019-04-25 15:42:10 +05302 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
Archit Saxena6ce47392018-06-19 18:11:57 +05303 *
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"
17#include "msm8909w-gpu.dtsi"
18#include "msm8909w.dtsi"
19#include "msm8909w-bg-memory.dtsi"
20#include "8909w-pm660.dtsi"
21#include "msm8909-audio-bg_codec.dtsi"
22
23/ {
24 model = "Qualcomm Technologies, Inc. MSM8909W BG 1GB WTP SDW3100";
25 compatible = "qcom,msm8909-mtp", "qcom,msm8909", "qcom,mtp";
26 qcom,msm-id = <245 0>,
27 <258 0>,
28 <275 0>,
29 <300 0>;
Nagireddy Annem297a0022019-04-25 15:42:10 +053030 qcom,board-id = <8 0xf>,
31 <8 0x17>;
Archit Saxena6ce47392018-06-19 18:11:57 +053032 qcom,pmic-id = <0x0001001b 0x0 0x0 0x0>,
33 <0x0001011b 0x0 0x0 0x0>;
34};
35
36&soc {
37 i2c@78b9000 { /* BLSP1 QUP5 */
38 synaptics@20 {
39 compatible = "synaptics,dsx-i2c";
40 reg = <0x20>;
41 interrupt-parent = <&msm_gpio>;
42 interrupts = <98 0x2008>;
43 vdd_ana-supply = <&pm660_l18>;
44 vcc_i2c-supply = <&pm660_l13>;
45 synaptics,pwr-reg-name = "vdd_ana";
46 synaptics,bus-reg-name = "vcc_i2c";
47 pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
48 "pmx_ts_release";
49 pinctrl-0 = <&ts_int_active &ts_reset_active>;
50 pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
51 pinctrl-2 = <&ts_release>;
52 synaptics,irq-gpio = <&msm_gpio 98 0x2008>;
53 synaptics,irq-on-state = <0>;
54 synaptics,irq-flags = <0x2008>;
55 synaptics,power-delay-ms = <200>;
56 synaptics,reset-delay-ms = <200>;
57 synaptics,max-y-for-2d = <389>;
58 synaptics,bus-lpm-cur-uA = <450>;
59 synaptics,do-not-disable-regulators;
60 synaptics,wakeup-gestures-en;
61 synaptics,resume-in-workqueue;
Shantanu Jaina48ab612018-08-28 16:59:02 +053062 synaptics,fw-name = "PR1814809-s1222_30303032.img";
Archit Saxena6ce47392018-06-19 18:11:57 +053063 /delete-property/ synaptics,reset-gpio;
64 /delete-property/ synaptics,display-coords;
65 /delete-property/ synaptics,panel-coords;
66 /delete-property/ synaptics,power-down;
67 /delete-property/ synaptics,disable-gpios;
68 /delete-property/ synaptics,is_wake;
69 };
70
71 /delete-node/ it7260@46;
72 };
73
74 qcom,blackghost {
75 compatible = "qcom,pil-blackghost";
76
77 qcom,pil-force-shutdown;
78 qcom,firmware-name = "bg-wear";
79 /* GPIO inputs from blackghost */
80 qcom,bg2ap-status-gpio = <&msm_gpio 97 0>;
81 qcom,bg2ap-errfatal-gpio = <&msm_gpio 95 0>;
82 /* GPIO output to blackghost */
83 qcom,ap2bg-status-gpio = <&msm_gpio 17 0>;
84 qcom,ap2bg-errfatal-gpio = <&msm_gpio 23 0>;
85 };
86
87 qcom,msm-ssc-sensors {
88 compatible = "qcom,msm-ssc-sensors";
89 };
90
91 qcom,glink-bgcom-xprt-bg {
92 compatible = "qcom,glink-bgcom-xprt";
93 label = "bg";
94 qcom,qos-config = <&glink_qos_bg>;
95 qcom,ramp-time = <0x10>,
96 <0x20>,
97 <0x30>,
98 <0x40>;
99 };
100
101 glink_qos_bg: qcom,glink-qos-config-bg {
102 compatible = "qcom,glink-qos-config";
103 qcom,flow-info = <0x80 0x0>,
104 <0x70 0x1>,
105 <0x60 0x2>,
106 <0x50 0x3>;
107 qcom,mtu-size = <0x800>;
108 qcom,tput-stats-cycle = <0xa>;
109 };
110
111 qcom,glink_pkt {
112 compatible = "qcom,glinkpkt";
113
114 qcom,glinkpkt-bg-daemon {
115 qcom,glinkpkt-transport = "bgcom";
116 qcom,glinkpkt-edge = "bg";
117 qcom,glinkpkt-ch-name = "bg-daemon";
118 qcom,glinkpkt-dev-name = "glink_pkt_bg_daemon";
119 };
120
121 qcom,glinkpkt-bg-display-ctrl {
122 qcom,glinkpkt-transport = "bgcom";
123 qcom,glinkpkt-edge = "bg";
124 qcom,glinkpkt-ch-name = "display-ctrl";
125 qcom,glinkpkt-dev-name = "glink_pkt_bg_display_ctrl";
126 };
127
128 qcom,glinkpkt-bg-display-data {
129 qcom,glinkpkt-transport = "bgcom";
130 qcom,glinkpkt-edge = "bg";
131 qcom,glinkpkt-ch-name = "display-data";
132 qcom,glinkpkt-dev-name = "glink_pkt_bg_display_data";
133 };
134
135 qcom,glinkpkt-bg-rsb-ctrl {
136 qcom,glinkpkt-transport = "bgcom";
137 qcom,glinkpkt-edge = "bg";
138 qcom,glinkpkt-ch-name = "RSB_CTRL";
139 qcom,glinkpkt-dev-name = "glink_pkt_bg_rsb_ctrl";
140 };
Arjun Singhe4cc5b02018-10-24 11:47:27 +0530141
142 qcom,glinkpkt-bg-sso-ctrl {
143 qcom,glinkpkt-transport = "bgcom";
144 qcom,glinkpkt-edge = "bg";
145 qcom,glinkpkt-ch-name = "sso-ctrl";
146 qcom,glinkpkt-dev-name = "glink_pkt_bg_sso_ctrl";
147 };
Archit Saxena6ce47392018-06-19 18:11:57 +0530148 };
149
150 spi@78B8000 { /* BLSP1 QUP4 */
151 status = "ok";
152 qcom,bg-spi {
153 compatible = "qcom,bg-spi";
154 reg = <0>;
155 spi-max-frequency = <16000000>;
156 interrupt-parent = <&msm_gpio>;
157 qcom,irq-gpio = <&msm_gpio 110 1>;
158 };
159 };
160
161 qcom,msm-thermal {
162 vdd-dig-supply = <&pm660_s2_floor_corner>;
163
164 msm_thermal_freq: qcom,vdd-apps-rstr {
165 qcom,vdd-rstr-reg = "vdd-apps";
166 qcom,levels = <1094400>;
167 qcom,freq-req;
168 };
169 };
170
171 qcom,bg-rsb {
172 compatible = "qcom,bg-rsb";
173 vdd-ldo1-supply = <&pm660_l11>;
174 vdd-ldo2-supply = <&pm660_l15>;
175 };
176
177 qcom,bg-daemon {
178 compatible = "qcom,bg-daemon";
179 qcom,bg-reset-gpio = <&pm660_gpios 5 0>;
180 ssr-reg1-supply = <&pm660_l3>;
181 ssr-reg2-supply = <&pm660_l9>;
182 };
183
184 qcom,bcl {
185 compatible = "qcom,bcl";
186 qcom,bcl-enable;
187 qcom,bcl-framework-interface;
188 qcom,bcl-freq-control-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
189 qcom,bcl-hotplug-list = <&CPU2 &CPU3>;
190 qcom,bcl-soc-hotplug-list = <&CPU2 &CPU3>;
191 qcom,ibat-monitor {
192 qcom,low-threshold-uamp = <1000000>;
193 qcom,high-threshold-uamp = <2000000>;
194 qcom,mitigation-freq-khz = <1094400>;
195 qcom,vph-high-threshold-uv = <3500000>;
196 qcom,vph-low-threshold-uv = <3200000>;
197 qcom,soc-low-threshold = <10>;
198 qcom,thermal-handle = <&msm_thermal_freq>;
199 };
200 };
201};
202
203&audio_codec_mtp {
204 status = "disabled";
205};
206
207&audio_codec_bg {
208 status = "ok";
209};
210
211&bg_cdc {
212 status = "ok";
213 vdd-spkr-supply = <&pm660_l11>;
214};
215
216&i2c_1 {
217 status = "okay";
218 nq@28 {
219 compatible = "qcom,nq-nci";
220 reg = <0x28>;
221 qcom,nq-irq = <&msm_gpio 50 0x00>;
222 qcom,nq-ven = <&msm_gpio 36 0x00>;
223 qcom,nq-firm = <&msm_gpio 38 0x00>;
224 qcom,nq-esepwr = <&msm_gpio 49 0x00>;
225 qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
226 qcom,clk-src = "BBCLK3";
227 interrupt-parent = <&msm_gpio>;
228 interrupts = <50 0>;
229 interrupt-names = "nfc_irq";
230 pinctrl-names = "nfc_active","nfc_suspend";
231 pinctrl-0 = <&nfcw_int_active &nfcw_disable_active
232 &nfc_clk_default>;
233 pinctrl-1 = <&nfcw_int_suspend &nfcw_disable_suspend>;
234 clocks = <&clock_rpm clk_bb_clk3_pin>;
235 clock-names = "ref_clk";
236 };
237};
238
239&spi_0 {
240 status = "disabled";
241};
242
243&i2c_3 {
244 status = "disabled";
245};
246
247&i2c_4 {
248 status = "disabled";
249};
250
251&i2c_2 {
252 status = "disabled";
253};
254
255&sdc1_clk_off {
256 config {
257 pins = "sdc1_clk";
258 bias-disable; /* NO pull */
259 drive-strength = <2>; /* 2 MA */
260 output-low;
261 };
262};
263
264&sdc1_cmd_off {
265 config {
266 pins = "sdc1_cmd";
267 bias-disable; /* NO pull */
268 drive-strength = <2>; /* 2 MA */
269 output-low;
270 };
271};
272
273&sdc1_data_off {
274 config {
275 pins = "sdc1_data";
276 bias-disable; /* NO pull */
277 drive-strength = <2>; /* 2 MA */
278 output-low;
279 };
280};
281
282&sdhc_2 {
283 status = "disabled";
284};
285
286&blsp1_uart1 {
287 status = "ok";
288 pinctrl-names = "default";
289 pinctrl-0 = <&uart_console_sleep>;
290};
291
292/* Pinctrl dt nodes for interrupt & reset gpio for Synaptics touch controller */
293&ts_int_active {
294 mux {
295 pins = "gpio98";
296 };
297
298 config {
299 pins = "gpio98";
300 };
301};
302
303&ts_int_suspend {
304 mux {
305 pins = "gpio98";
306 };
307
308 config {
309 pins = "gpio98";
310 /delete-property/ bias-pull-down;
311 bias-disable; /* No PULL */
312 };
313};
314
315&ts_reset_active {
316 mux {
317 pins = "gpio16";
318 };
319
320 config {
321 pins = "gpio16";
322 };
323};
324
325&ts_reset_suspend {
326 mux {
327 pins = "gpio16";
328 };
329
330 config {
331 pins = "gpio16";
332 };
333};
334
335&ts_release {
336 mux {
337 pins = "gpio98", "gpio16";
338 };
339
340 config {
341 pins = "gpio98", "gpio16";
342 };
343};
344
345&spi4_cs0_active {
346 mux {
347 pins = "gpio14";
348 function = "blsp_spi4";
349 };
350 config {
351 pins = "gpio14";
352 drive-strength = <2>;
353 bias-disable; /* No PULL */
354 output-high;
355 };
356};
357
358&mdss_dsi0 {
359 qcom,dsi-pref-prim-pan = <&dsi_auo_390p_cmd>;
360 qcom,platform-bklight-en-gpio = <&msm_gpio 52 0>;
361 qcom,platform-enable-gpio = <&msm_gpio 59 0>;
362};