blob: 763aa9b546699976051041f3ff37e306f0fa03a0 [file] [log] [blame]
Tiequan Luo7984a522018-05-07 11:22:27 +08001/*
Chirag Khuranaad047872020-02-18 16:04:35 +05302 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
Tiequan Luo7984a522018-05-07 11:22:27 +08003 *
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 "8909-pm8916.dtsi"
18#include "msm8909-pm8916-mtp.dtsi"
19#include "apq8009-audio-external_codec.dtsi"
taojiangf3ca09d2018-06-21 19:51:00 +080020#include "msm8909-pm8916-camera.dtsi"
21#include "msm8909-pm8916-camera-sensor-robot-som.dtsi"
Chirag Khuranaad047872020-02-18 16:04:35 +053022#include "dsi-panel-ili9806e-fwvga-video.dtsi"
Tiequan Luo7984a522018-05-07 11:22:27 +080023
24/ {
25 model = "Qualcomm Technologies, Inc. APQ8009 Robot SOM refboard";
26 compatible = "qcom,apq8009-mtp", "qcom,apq8009", "qcom,mtp";
27 qcom,msm-id = <265 2>;
28 qcom,board-id = <8 0x15>;
29};
30
Meng Wange0253bd2018-06-13 09:53:59 +080031&audio_codec_mtp {
32 status = "disabled";
33};
34
35&i2c_4 {
36 status= "okay";
37};
38
39&pm8916_gpios {
40 wcd_vdd_en { /* GPIO 4 */
41 wcd_vdd_en_active: wcd_vdd_en_active {
42 status = "ok";
43 pins = "gpio4";
44 function = "normal";
45 output-high;
46 qcom,drive-strength = <2>;
47 };
48 wcd_vdd_en_sleep: wcd_vdd_en_sleep {
49 status = "ok";
50 pins = "gpio4";
51 function = "normal";
52 output-low;
53 qcom,drive-strength = <2>;
54 };
55
56 };
57};
58
Tiequan Luo7984a522018-05-07 11:22:27 +080059&soc {
Meng Wange0253bd2018-06-13 09:53:59 +080060 ext_codec: sound-9335 {
61 compatible = "qcom,apq8009-audio-i2s-codec";
62 qcom,model = "apq8009-tashalite-snd-card-tdm";
63
Tiequan Luo7984a522018-05-07 11:22:27 +080064 qcom,audio-routing =
65 "AIF4 VI", "MCLK",
66 "RX_BIAS", "MCLK",
67 "MADINPUT", "MCLK",
Tiequan Luo7984a522018-05-07 11:22:27 +080068 "SpkrLeft IN", "SPK1 OUT",
69 "SpkrRight IN", "SPK2 OUT";
Meng Wange0253bd2018-06-13 09:53:59 +080070
71 qcom,tdm-i2s-switch-enable = <&msm_gpio 88 0>;
72 qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
73 qcom,quat-mi2s-gpios = <&cdc_quat_tdm_gpios>;
Tiequan Luo7984a522018-05-07 11:22:27 +080074 };
75
Meng Wange0253bd2018-06-13 09:53:59 +080076 clock_audio: audio_ext_clk {
77 compatible = "qcom,audio-ref-clk";
78 qcom,codec-mclk-clk-freq = <9600000>;
79 qcom,lpass-clock = <1>;
80 reg = <0x07702004 0x4>;
81 pinctrl-names = "sleep", "active";
82 pinctrl-0 = <&i2s_mclk_sleep>;
83 pinctrl-1 = <&i2s_mclk_active>;
84 #clock-cells = <1>;
Tiequan Luo7984a522018-05-07 11:22:27 +080085 };
86
87 i2c@78b8000 {
88 wcd9xxx_codec@d {
Meng Wange0253bd2018-06-13 09:53:59 +080089 status = "okay";
90 compatible = "qcom,tasha-i2c-pgd";
91 reg = <0x0d>;
92
93 interrupt-parent = <&wcd9xxx_intc>;
94 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
95 17 18 19 20 21 22 23 24 25 26 27 28 29
96 30>;
97
98 qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;
99
100 qcom,has-buck-vsel-gpio;
101 qcom,buck-vsel-gpio-node = <&wcd_vdd_gpio>;
102 swr_master {
103 compatible = "qcom,swr-wcd";
104 qcom,swr-num-dev = <2>;
105 #address-cells = <2>;
106 #size-cells = <0>;
107
108 wsa881x_211:wsa881x@21170211 {
109 compatible = "qcom,wsa881x";
110 reg = <0x00 0x21170211>;
111 qcom,spkr-sd-n-node = <&wsa_spkr>;
112 };
113
114 wsa881x_212:wsa881x@21170212 {
115 compatible = "qcom,wsa881x";
116 reg = <0x00 0x21170212>;
117 qcom,spkr-sd-n-node = <&wsa_spkr>;
118 };
119
120 wsa881x_213:wsa881x@21170213 {
121 compatible = "qcom,wsa881x";
122 reg = <0x00 0x21170213>;
123 qcom,spkr-sd-n-node = <&wsa_spkr>;
124 };
125
126 wsa881x_214:wsa881x@21170214 {
127 compatible = "qcom,wsa881x";
128 reg = <0x00 0x21170214>;
129 qcom,spkr-sd-n-node = <&wsa_spkr>;
130 };
131 };
Tiequan Luo7984a522018-05-07 11:22:27 +0800132 };
133 };
134
Meng Wange0253bd2018-06-13 09:53:59 +0800135 cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri {
136 compatible = "qcom,msm-cdc-pinctrl";
137 pinctrl-names = "aud_active", "aud_sleep";
138 pinctrl-0 = <&pri_mi2s_active &pri_mi2s_ws_active
139 &pri_mi2s_dout_active &pri_mi2s_din_active>;
140 pinctrl-1 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep
141 &pri_mi2s_dout_sleep &pri_mi2s_din_sleep>;
142 };
143
144 cdc_quat_tdm_gpios: msm_cdc_pinctrl_quat {
145 compatible = "qcom,msm-cdc-pinctrl";
146 pinctrl-names = "aud_active", "aud_sleep";
147 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
148 pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
149 };
150
151 wcd_rst_gpio: wcd_gpio_ctrl {
152 compatible = "qcom,msm-cdc-pinctrl";
153 pinctrl-names = "aud_active", "aud_sleep";
154 pinctrl-0 = <&cdc_reset1_active>;
155 pinctrl-1 = <&cdc_reset1_sleep>;
156 };
157
158 wcd_vdd_gpio: wcd_vdd_gpio_ctrl {
159 compatible = "qcom,msm-cdc-pinctrl";
160 pinctrl-names = "aud_active", "aud_sleep";
161 pinctrl-0 = <&wcd_vdd_en_active>;
162 pinctrl-1 = <&wcd_vdd_en_sleep>;
163 };
164
165 wsa_spkr: msm_cdc_pinctrll {
166 compatible = "qcom,msm-cdc-pinctrl";
167 pinctrl-names = "aud_active", "aud_sleep";
168 pinctrl-0 = <&spkr_en_active>;
169 pinctrl-1 = <&spkr_en_sleep>;
170 };
171
Tiequan Luo7984a522018-05-07 11:22:27 +0800172 vph_pwr_vreg: vph_pwr_vreg {
173 compatible = "regulator-fixed";
174 status = "ok";
175 regulator-name = "vph_pwr";
176 regulator-always-on;
177 };
178
zhaochen5868daf2018-07-09 17:55:17 +0800179 otg_vreg_5p0: otg_vreg_5p0 {
180 compatible = "regulator-fixed";
181 regulator-name = "sbc_vreg_5p0";
182 regulator-min-microvolt = <5000000>;
183 regulator-max-microvolt = <5000000>;
184 status = "ok";
185 enable-active-low;
186 vin-supply = <&vph_pwr_vreg>;
187 };
188
189 vbus_otg_vreg: vbus_otg_vreg {
190 compatible = "regulator-fixed";
191 regulator-name = "vbus_otg_vreg";
192 gpio = <&msm_gpio 74 0>;
193 vin-supply = <&otg_vreg_5p0>;
194 };
195
Tim Jiang6b649f52018-05-08 13:52:17 +0800196 bluetooth: bt_qca9379 {
197 compatible = "qca,qca9379";
198 qca,bt-reset-gpio = <&msm_gpio 47 0>; /* BT_EN */
199 };
bingsc5fca962018-05-08 14:42:14 +0800200 cnss_sdio: qcom,cnss_sdio {
201 compatible = "qcom,cnss_sdio";
202 subsys-name = "AR6320";
203 /**
204 * There is no vdd-wlan on board and this is not for DSRC.
205 * IO and XTAL share the same vreg.
206 */
207 vdd-wlan-io-supply = <&pm8916_l5>;
208 qcom,cap-tsf-gpio = <&msm_gpio 42 1>;
209 qcom,wlan-ramdump-dynamic = <0x200000>;
210 qcom,msm-bus,name = "msm-cnss";
211 qcom,msm-bus,num-cases = <4>;
212 qcom,msm-bus,num-paths = <1>;
213 qcom,msm-bus,vectors-KBps =
214 <79 512 0 0>, /* No vote */
215 <79 512 6250 200000>, /* 50 Mbps */
216 <79 512 25000 200000>, /* 200 Mbps */
217 <79 512 2048000 4096000>; /* MAX */
218 };
taojiangf3ca09d2018-06-21 19:51:00 +0800219
220 gpio_keys {
221 status = "disable";
222 };
Miaoqing Pan99497db2018-06-07 10:30:50 +0800223
224 spi@78ba000 {
225 reg = <0x78ba000 0x600>;
226 spi-max-frequency = <50000000>;
227 status = "okay";
228
229 spi@0 {
230 compatible = "qcom,spi-msm-slave";
231 reg = <0>;
232 spi-max-frequency = <50000000>;
233 };
234 };
bingsc5fca962018-05-08 14:42:14 +0800235};
236
zhaochen024979a2018-06-14 10:33:45 +0800237&i2c_1 {
238 status = "okay";
239 icm20602@68 {
240 compatible = "invensense,icm20602";
241 reg = <0x68>;
242 interrupt-parent = <&msm_gpio>;
243 interrupts = <12 0>;
244 invensense,icm20602-gpio = <&msm_gpio 12 0x0>;
245 vdd-ldo-supply = <&pm8916_l6>;
246 interrupt-names = "icm20602_irq";
247 pinctrl-names = "imu_active","imu_suspend";
248 pinctrl-0 = <&imu_int_active>;
249 pinctrl-1 = <&imu_int_suspend>;
250 status = "ok";
251 };
252 vl53l0x@29 {
253 compatible = "st,stmvl53l0";
254 reg = <0x29>;
255 status = "ok";
Chaojun Wang87a1a162018-08-23 09:48:52 +0800256 tof-id = <2>;
zhaochen024979a2018-06-14 10:33:45 +0800257 };
258};
259
bingsc5fca962018-05-08 14:42:14 +0800260&wcnss {
261 status = "disabled";
262};
263
264&msm_gpio {
265 sdc2_wlan_gpio_on: sdc2_wlan_gpio_on {
266 mux {
267 pins = "gpio43";
268 function = "gpio";
269 };
270 config {
271 pins = "gpio43";
272 drive-strength = <10>;
273 bias-pull-up;
274 output-high;
275 };
276 };
277
278 sdc2_wlan_gpio_off: sdc2_wlan_gpio_off {
279 mux {
280 pins = "gpio43";
281 function = "gpio";
282 };
283 config {
284 pins = "gpio43";
285 drive-strength = <2>;
286 bias-disable;
287 output-low;
288 };
289 };
Tiequan Luo7984a522018-05-07 11:22:27 +0800290};
291
292&sdhc_2 {
bingsc5fca962018-05-08 14:42:14 +0800293 /delete-property/cd-gpios;
294 #address-cells = <0>;
295 interrupt-parent = <&sdhc_2>;
296 interrupts = <0 1 2>;
297 #interrupt-cells = <1>;
298 interrupt-map-mask = <0xffffffff>;
299 interrupt-map = <0 &intc 0 125 0
300 1 &intc 0 221 0
bings9cae9e92018-06-15 08:40:54 +0800301 2 &msm_gpio 40 0x1>;
bingsc5fca962018-05-08 14:42:14 +0800302 interrupt-names = "hc_irq", "pwr_irq", "sdiowakeup_irq";
303
304 qcom,vdd-voltage-level = <1800000 2950000>;
305 qcom,vdd-current-level = <15000 400000>;
306
307 qcom,vdd-io-voltage-level = <1800000 1800000>;
308 qcom,vdd-io-current-level = <200 50000>;
309 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
310 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
311
312 pinctrl-names = "active", "sleep";
313 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on
314 &sdc2_wlan_gpio_on>;
315 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
316 &sdc2_wlan_gpio_off>;
317 qcom,nonremovable;
318 qcom,core_3_0v_support;
319 status = "ok";
Tiequan Luo7984a522018-05-07 11:22:27 +0800320};
321
322&usb_otg {
323 interrupts = <0 134 0>,<0 140 0>,<0 136 0>;
324 interrupt-names = "core_irq", "async_irq", "phy_irq";
325 qcom,hsusb-otg-mode = <3>;
326 qcom,switch-vbus-w-id;
zhaochen5868daf2018-07-09 17:55:17 +0800327 qcom,phy-id-high-as-peripheral;
328 vbus_otg-supply = <&vbus_otg_vreg>;
Tiequan Luo7984a522018-05-07 11:22:27 +0800329};
330
331&external_image_mem {
Vishwanath Raju K483f90a2018-05-29 13:38:37 +0530332 reg = <0x0 0x87900000 0x0 0x0700000>;
Tiequan Luo7984a522018-05-07 11:22:27 +0800333};
334
335&modem_adsp_mem {
336 reg = <0x0 0x88000000 0x0 0x01e00000>;
337};
338
339&peripheral_mem {
Vishwanath Raju K483f90a2018-05-29 13:38:37 +0530340 status = "disabled";
Tiequan Luo7984a522018-05-07 11:22:27 +0800341};
342
343&pm8916_chg {
344 status = "ok";
345};
346
347&pm8916_bms {
348 status = "ok";
349};
Tim Jiang6b649f52018-05-08 13:52:17 +0800350
351&blsp1_uart2_hs {
352 status = "ok";
353};
Chaojun Wangdf1442e2018-05-22 19:26:39 +0800354
Chaojun Wang87a1a162018-08-23 09:48:52 +0800355&i2c_3 {
Chaojun Wangdf1442e2018-05-22 19:26:39 +0800356 vl53l0x@52 {
357 compatible = "st,stmvl53l0";
358 reg = <0x29>;
359 status = "ok";
Chaojun Wang87a1a162018-08-23 09:48:52 +0800360 tof-id = <1>;
Chaojun Wangdf1442e2018-05-22 19:26:39 +0800361 };
362};
Meng Wange0253bd2018-06-13 09:53:59 +0800363
364
365&wcd_rst_gpio {
366 status = "okay";
367};
368
369&ext_codec {
370 status = "okay";
371};
Chirag Khuranaffb62a92019-09-04 16:51:56 +0530372
373&rpm_bus {
374 rpm-regulator-ldoa4 {
375 status = "okay";
376 pm8916_l4: regulator-l4 {
377 regulator-min-microvolt = <2050000>;
378 regulator-max-microvolt = <2050000>;
379 qcom,init-voltage = <2050000>;
380 regulator-always-on;
381 status = "okay";
382 };
383 };
384};
385
386&mdss_dsi0_pll {
387 status = "okay";
388};
389
Chirag Khurana11cf8602019-11-18 20:01:13 +0530390&mdss_fb0 {
391 /delete-node/ qcom,cont-splash-memory;
392};
393
Chirag Khuranaffb62a92019-09-04 16:51:56 +0530394&mdss_mdp {
395 qcom,mdss-pref-prim-intf = "dsi";
396 status = "okay";
397};
398
Chirag Khuranaad047872020-02-18 16:04:35 +0530399&dsi_ili9806e_fwvga_video {
400 qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
401 qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
402 qcom,mdss-dsi-panel-timings-phy-v2 = [
403 1E 1A 04 05 02 03 04 a0
404 1E 1A 04 05 02 03 04 a0
405 1E 1A 04 05 02 03 04 a0
406 1E 1A 04 05 02 03 04 a0
407 1E 0B 03 04 02 03 04 a0];
408};
409
Chirag Khuranaffb62a92019-09-04 16:51:56 +0530410&pmx_mdss {
411 mdss_dsi_active: mdss_dsi_active {
412 mux {
413 pins = "gpio28", "gpio37";
414 };
415 };
416
417 mdss_dsi_suspend: mdss_dsi_suspend {
418 mux {
419 pins = "gpio28", "gpio37";
420 };
421 };
422};
423
424&mdss_dsi0 {
Chirag Khurana0fb53a92020-02-18 16:17:07 +0530425 qcom,dsi-pref-prim-pan = <&dsi_ili9806e_fwvga_video>;
Chirag Khuranaffb62a92019-09-04 16:51:56 +0530426
427 pinctrl-names = "mdss_default", "mdss_sleep";
428 pinctrl-0 = <&mdss_dsi_active &mdss_dsi_select_gpio>;
429 pinctrl-1 = <&mdss_dsi_suspend &mdss_dsi_select_gpio>;
430
Chirag Khurana0fb53a92020-02-18 16:17:07 +0530431 qcom,platform-te-gpio = <&msm_gpio 24 0>;
Chirag Khuranaffb62a92019-09-04 16:51:56 +0530432 qcom,platform-reset-gpio = <&msm_gpio 28 0>;
433 qcom,platform-bklight-en-gpio = <&msm_gpio 37 0>;
434
Chirag Khurana0fb53a92020-02-18 16:17:07 +0530435 /delete-property/ qcom,platform-enable-gpio;
Chirag Khuranaffb62a92019-09-04 16:51:56 +0530436 vdd-supply = <&pm8916_l17>;
437 vddio-supply = <&pm8916_l6>;
438 status = "okay";
439};
440
441&pm8916_mpps {
442 pinctrl-names = "default";
443 pinctrl-0 = <&ext_fep_wled_pwr_en_default>;
444 ext_fep_wled_pwr_en_default: ext_fep_wled_pwr_en_default {
445 pins = "mpp4"; /* MPP_4 */
446 function = "digital"; /* Digital */
447 output-high; /* Output */
448 power-source = <1>;
449 status = "okay";
450 };
451};
Chirag Khurana11cf8602019-11-18 20:01:13 +0530452
453/delete-node/ &cont_splash_mem;