blob: c5b8c7544c7ef4f206e1b532b251eaa3f1377b5a [file] [log] [blame]
Manjunatha Madana39994d02019-01-10 17:15:08 +05301/*
2 * Copyright (c) 2018-2019, 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"
17#include "msm8909w-gpu.dtsi"
18#include "msm8909w.dtsi"
19#include "apq8009w-memory.dtsi"
20#include "8909w-pm660.dtsi"
21#include "spi-panel-st7789v2-qvga-cmd.dtsi"
22
23/ {
24 model = "Qualcomm Technologies, Inc. APQ8009W-PM660 WTP SDW2500";
25 compatible = "qcom,apq8009-mtp", "qcom,apq8009", "qcom,mtp";
26 qcom,msm-id = <265 0>,
27 <301 0>;
28 qcom,board-id = <8 0x112>;
29 qcom,pmic-id = <0x0001001b 0x0 0x0 0x0>,
30 <0x0001011b 0x0 0x0 0x0>;
31};
32
33&soc {
34 /delete-node/ qcom,msm-cpufreq;
35 qcom,msm-cpufreq {
36 reg = <0 4>;
37 compatible = "qcom,msm-cpufreq";
38 clocks = <&clock_cpu clk_a7ssmux>,
39 <&clock_cpu clk_a7ssmux>,
40 <&clock_cpu clk_a7ssmux>,
41 <&clock_cpu clk_a7ssmux>;
42 clock-names = "cpu0_clk", "cpu1_clk",
43 "cpu2_clk", "cpu3_clk";
44 qcom,cpufreq-table =
45 < 400000 >,
46 < 800000 >,
47 < 1094400 >,
48 < 1267200 >;
49 };
50
51 i2c@78b7000 { /* BLSP1 QUP3 */
52 synaptics@20 {
53 compatible = "synaptics,dsx-i2c";
54 reg = <0x20>;
55 interrupt-parent = <&msm_gpio>;
56 interrupts = <98 0x2008>;
57 vdd_ana-supply = <&pm660_l18>;
58 vcc_i2c-supply = <&pm660_l13>;
59 synaptics,pwr-reg-name = "vdd_ana";
60 synaptics,bus-reg-name = "vcc_i2c";
61 pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
62 "pmx_ts_release";
63 pinctrl-0 = <&ts_int_active &ts_reset_active>;
64 pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
65 pinctrl-2 = <&ts_release>;
66 synaptics,irq-gpio = <&msm_gpio 98 0x2008>;
67 synaptics,irq-on-state = <0>;
68 synaptics,irq-flags = <0x2008>;
69 synaptics,power-delay-ms = <200>;
70 synaptics,max-y-for-2d = <389>;
71 synaptics,wakeup-gestures-en = <1>;
72 synaptics,resume-in-workqueue;
73 synaptics,x-flip;
74 synaptics,y-flip;
75
76 synaptics,reset-gpio = <&msm_gpio 31 0x0>;
77 synaptics,reset-delay-ms = <200>;
78 synaptics,reset-on-state = <0>;
79 synaptics,reset-active-ms = <20>;
80 /delete-property/ synaptics,display-coords;
81 /delete-property/ synaptics,panel-coords;
82 /delete-property/ synaptics,power-down;
83 /delete-property/ synaptics,disable-gpios;
84 /delete-property/ synaptics,is_wake;
85 };
86
87 /delete-node/ it7260@46;
88 };
89
90 spi@78B8000 { /* BLSP1 QUP4 */
91 status = "ok";
92 qcom,mdss_spi_client {
93 reg = <0>;
94 compatible = "qcom,mdss-spi-client";
95 label = "MDSS SPI QUP4 CLIENT";
96 dc-gpio = <&msm_gpio 59 0>;
97 spi-max-frequency = <50000000>;
98 };
99 };
100
101 qcom,msm-ssc-sensors {
102 compatible = "qcom,msm-ssc-sensors";
103 };
104
105 qcom,msm-thermal {
106 vdd-dig-supply = <&pm660_s2_floor_corner>;
107
108 msm_thermal_freq: qcom,vdd-apps-rstr {
109 qcom,vdd-rstr-reg = "vdd-apps";
110 qcom,levels = <1094400>;
111 qcom,freq-req;
112 };
113 };
114
115 qcom,bcl {
116 compatible = "qcom,bcl";
117 qcom,bcl-enable;
118 qcom,bcl-framework-interface;
119 qcom,bcl-freq-control-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
120 qcom,bcl-hotplug-list = <&CPU2 &CPU3>;
121 qcom,bcl-soc-hotplug-list = <&CPU2 &CPU3>;
122 qcom,ibat-monitor {
123 qcom,low-threshold-uamp = <1000000>;
124 qcom,high-threshold-uamp = <2000000>;
125 qcom,mitigation-freq-khz = <1094400>;
126 qcom,vph-high-threshold-uv = <3500000>;
127 qcom,vph-low-threshold-uv = <3200000>;
128 qcom,soc-low-threshold = <10>;
129 qcom,thermal-handle = <&msm_thermal_freq>;
130 };
131 };
132
133 msm_digital_codec: msm-dig-codec@771c000 {
134 compatible = "qcom,msm-digital-codec";
135 reg = <0x0771c000 0x0>;
136
137 cdc-vdd-digital-supply = <&pm660_l11>;
138 qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
139 qcom,cdc-vdd-digital-current = <5000>;
140 qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
141
142 qcom,subsys-name = "modem";
143 };
144
145 mdss_spi: qcom,mdss_spi {
146 compatible = "qcom,mdss-spi-display";
147 label = "mdss spi panel";
148
149 qcom,mdss-fb-map = <&mdss_fb0>;
150 qcom,mdss-mdp = <&mdss_mdp>;
151 vdd-supply = <&pm660_l18>;
152 vddio-supply = <&pm660_l11>;
153
154 qcom,panel-supply-entries {
155 #address-cells = <1>;
156 #size-cells = <0>;
157 qcom,panel-supply-entry@0 {
158 reg = <0>;
159 qcom,supply-name = "vdd";
160 qcom,supply-min-voltage = <3000000>;
161 qcom,supply-max-voltage = <3000000>;
162 qcom,supply-enable-load = <100000>;
163 qcom,supply-disable-load = <100>;
164 };
165 qcom,panel-supply-entry@1 {
166 reg = <1>;
167 qcom,supply-name = "vddio";
168 qcom,supply-min-voltage = <1800000>;
169 qcom,supply-max-voltage = <3000000>;
170 qcom,supply-enable-load = <100000>;
171 qcom,supply-disable-load = <100>;
172 };
173 };
174 };
175};
176
177&qcom_seecom {
178 reg = <0x87a00000 0x200000>;
179 reg-names = "secapp-region";
180 status = "okay";
181};
182
183&external_image_mem {
184 reg = <0x0 0x87a00000 0x0 0x0600000>;
185};
186
187&modem_adsp_mem {
188 reg = <0x0 0x88000000 0x0 0x05600000>;
189};
190
191&peripheral_mem {
192 reg = <0x0 0x8d600000 0x0 0x0600000>;
193};
194
195&i2c_1 {
196 status = "disabled";
197};
198
199&spi_0 {
200 status = "disabled";
201};
202
203&i2c_4 {
204 status = "disabled";
205};
206
207&i2c_2 {
208 status = "okay";
209 nq@28 {
210 compatible = "qcom,nq-nci";
211 reg = <0x28>;
212 qcom,nq-irq = <&msm_gpio 50 0x00>;
213 qcom,nq-ven = <&msm_gpio 52 0x00>;
214 qcom,nq-firm = <&msm_gpio 38 0x00>;
215 qcom,nq-esepwr = <&msm_gpio 49 0x00>;
216 qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
217 qcom,clk-src = "BBCLK3";
218 interrupt-parent = <&msm_gpio>;
219 interrupts = <50 0>;
220 interrupt-names = "nfc_irq";
221 pinctrl-names = "nfc_active","nfc_suspend";
222 pinctrl-0 = <&nfcw_int_active &nfcv2k_disable_active>;
223 pinctrl-1 = <&nfcw_int_suspend &nfcv2k_disable_suspend>;
224 clocks = <&clock_rpm clk_bb_clk3_pin>;
225 clock-names = "ref_clk";
226 };
227};
228
229&i2c_5 {
230 status = "disabled";
231};
232
233&sdhc_2 {
234 status = "disabled";
235};
236
237&blsp1_uart1 {
238 status = "disabled";
239};
240
241&blsp1_uart2 {
242 status = "ok";
243 pinctrl-names = "default";
244 pinctrl-0 = <&uart_console2_sleep>;
245};
246
247/* Pinctrl dt nodes for interrupt & reset gpio for Synaptics touch controller */
248&ts_int_active {
249 mux {
250 pins = "gpio98";
251 };
252
253 config {
254 pins = "gpio98";
255 };
256};
257
258&ts_int_suspend {
259 mux {
260 pins = "gpio98";
261 };
262
263 config {
264 pins = "gpio98";
265 };
266};
267
268&ts_reset_active {
269 mux {
270 pins = "gpio31";
271 };
272
273 config {
274 pins = "gpio31";
275 };
276};
277
278&ts_reset_suspend {
279 mux {
280 pins = "gpio31";
281 };
282
283 config {
284 pins = "gpio31";
285 };
286};
287
288&ts_release {
289 mux {
290 pins = "gpio98", "gpio31";
291 };
292
293 config {
294 pins = "gpio98", "gpio31";
295 };
296};
297
298&vendor_fstab {
299 fsmgr_flags = "wait";
300};
301
302&mdss_dsi0{
303 qcom,dsi-pref-prim-pan = <&dsi_auo_390p_cmd>;
304 qcom,platform-bklight-en-gpio = <&msm_gpio 37 0>;
305};
306
307&spi_st7789v2_qvga_cmd {
308 qcom,panel-supply-entries = <&dsi_pm660_panel_pwr_supply>;
309 qcom,mdss-spi-bl-pmic-pwm-frequency = <100>;
310 qcom,mdss-spi-bl-pmic-bank-select = <0>;
311 qcom,cont-splash-enabled;
312};
313
314&mdss_spi {
315 qcom,spi-pref-prim-pan = <&spi_st7789v2_qvga_cmd>;
316 pinctrl-names = "mdss_default", "mdss_sleep";
317 pinctrl-0 = <&mdss_te_active>;
318 pinctrl-1 = <&mdss_te_suspend>;
319
320 qcom,platform-te-gpio = <&msm_gpio 24 0>;
321 qcom,platform-reset-gpio = <&msm_gpio 25 0>;
322 qcom,platform-spi-dc-gpio = <&msm_gpio 59 0>;
323
324 vdd-supply = <&pm660_l18>;
325 vddio-supply = <&pm660_l11>;
326};
327
328&dai_mi2s3 {
329 qcom,msm-mi2s-rx-lines = <1>;
330 qcom,msm-mi2s-tx-lines = <2>;
331};
332
333&audio_codec_mtp {
334 compatible = "qcom,msm8909-audio-codec";
335 qcom,model = "msm8909w-wtp-snd-card";
336 qcom,msm-ext-pa = "quaternary";
337 qcom,split-a2dp;
338 qcom,audio-routing =
339 "CDC_CONN", "MCLK",
340 "QUAT_MI2S_RX", "DIGIT_REGULATOR",
341 "TX_I2S_CLK", "DIGIT_REGULATOR",
342 "DMIC1", "Digital Mic1",
343 "DMIC2", "Digital Mic2";
344 qcom,msm-gpios =
345 "quat_i2s",
346 "dmic";
347 qcom,pinctrl-names =
348 "all_off",
349 "quat_i2s_act",
350 "dmic_act",
351 "quat_i2s_dmic_act";
352 pinctrl-names =
353 "all_off",
354 "quat_i2s_act",
355 "dmic_act",
356 "quat_i2s_dmic_act";
357 pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
358 &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
359 pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active
360 &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
361 pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
362 &cdc_dmic0_clk_act &cdc_dmic0_data_act>;
363 pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active
364 &cdc_dmic0_clk_act &cdc_dmic0_data_act>;
365 /delete-property/qcom,cdc-us-euro-gpios;
366
367 asoc-codec = <&stub_codec>, <&msm_digital_codec>;
368 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec";
369};