blob: ab711dd60ae5a4d86521ac2b3a4989af15c1ac93 [file] [log] [blame]
Tiequan Luo7984a522018-05-07 11:22:27 +08001/*
2 * Copyright (c) 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"
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"
Tiequan Luo7984a522018-05-07 11:22:27 +080022
23/ {
24 model = "Qualcomm Technologies, Inc. APQ8009 Robot SOM refboard";
25 compatible = "qcom,apq8009-mtp", "qcom,apq8009", "qcom,mtp";
26 qcom,msm-id = <265 2>;
27 qcom,board-id = <8 0x15>;
28};
29
Meng Wange0253bd2018-06-13 09:53:59 +080030&audio_codec_mtp {
31 status = "disabled";
32};
33
34&i2c_4 {
35 status= "okay";
36};
37
38&pm8916_gpios {
39 wcd_vdd_en { /* GPIO 4 */
40 wcd_vdd_en_active: wcd_vdd_en_active {
41 status = "ok";
42 pins = "gpio4";
43 function = "normal";
44 output-high;
45 qcom,drive-strength = <2>;
46 };
47 wcd_vdd_en_sleep: wcd_vdd_en_sleep {
48 status = "ok";
49 pins = "gpio4";
50 function = "normal";
51 output-low;
52 qcom,drive-strength = <2>;
53 };
54
55 };
56};
57
Tiequan Luo7984a522018-05-07 11:22:27 +080058&soc {
Meng Wange0253bd2018-06-13 09:53:59 +080059 ext_codec: sound-9335 {
60 compatible = "qcom,apq8009-audio-i2s-codec";
61 qcom,model = "apq8009-tashalite-snd-card-tdm";
62
Tiequan Luo7984a522018-05-07 11:22:27 +080063 qcom,audio-routing =
64 "AIF4 VI", "MCLK",
65 "RX_BIAS", "MCLK",
66 "MADINPUT", "MCLK",
Tiequan Luo7984a522018-05-07 11:22:27 +080067 "SpkrLeft IN", "SPK1 OUT",
68 "SpkrRight IN", "SPK2 OUT";
Meng Wange0253bd2018-06-13 09:53:59 +080069
70 qcom,tdm-i2s-switch-enable = <&msm_gpio 88 0>;
71 qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
72 qcom,quat-mi2s-gpios = <&cdc_quat_tdm_gpios>;
Tiequan Luo7984a522018-05-07 11:22:27 +080073 };
74
Meng Wange0253bd2018-06-13 09:53:59 +080075 clock_audio: audio_ext_clk {
76 compatible = "qcom,audio-ref-clk";
77 qcom,codec-mclk-clk-freq = <9600000>;
78 qcom,lpass-clock = <1>;
79 reg = <0x07702004 0x4>;
80 pinctrl-names = "sleep", "active";
81 pinctrl-0 = <&i2s_mclk_sleep>;
82 pinctrl-1 = <&i2s_mclk_active>;
83 #clock-cells = <1>;
Tiequan Luo7984a522018-05-07 11:22:27 +080084 };
85
86 i2c@78b8000 {
87 wcd9xxx_codec@d {
Meng Wange0253bd2018-06-13 09:53:59 +080088 status = "okay";
89 compatible = "qcom,tasha-i2c-pgd";
90 reg = <0x0d>;
91
92 interrupt-parent = <&wcd9xxx_intc>;
93 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
94 17 18 19 20 21 22 23 24 25 26 27 28 29
95 30>;
96
97 qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;
98
99 qcom,has-buck-vsel-gpio;
100 qcom,buck-vsel-gpio-node = <&wcd_vdd_gpio>;
101 swr_master {
102 compatible = "qcom,swr-wcd";
103 qcom,swr-num-dev = <2>;
104 #address-cells = <2>;
105 #size-cells = <0>;
106
107 wsa881x_211:wsa881x@21170211 {
108 compatible = "qcom,wsa881x";
109 reg = <0x00 0x21170211>;
110 qcom,spkr-sd-n-node = <&wsa_spkr>;
111 };
112
113 wsa881x_212:wsa881x@21170212 {
114 compatible = "qcom,wsa881x";
115 reg = <0x00 0x21170212>;
116 qcom,spkr-sd-n-node = <&wsa_spkr>;
117 };
118
119 wsa881x_213:wsa881x@21170213 {
120 compatible = "qcom,wsa881x";
121 reg = <0x00 0x21170213>;
122 qcom,spkr-sd-n-node = <&wsa_spkr>;
123 };
124
125 wsa881x_214:wsa881x@21170214 {
126 compatible = "qcom,wsa881x";
127 reg = <0x00 0x21170214>;
128 qcom,spkr-sd-n-node = <&wsa_spkr>;
129 };
130 };
Tiequan Luo7984a522018-05-07 11:22:27 +0800131 };
132 };
133
Meng Wange0253bd2018-06-13 09:53:59 +0800134 cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri {
135 compatible = "qcom,msm-cdc-pinctrl";
136 pinctrl-names = "aud_active", "aud_sleep";
137 pinctrl-0 = <&pri_mi2s_active &pri_mi2s_ws_active
138 &pri_mi2s_dout_active &pri_mi2s_din_active>;
139 pinctrl-1 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep
140 &pri_mi2s_dout_sleep &pri_mi2s_din_sleep>;
141 };
142
143 cdc_quat_tdm_gpios: msm_cdc_pinctrl_quat {
144 compatible = "qcom,msm-cdc-pinctrl";
145 pinctrl-names = "aud_active", "aud_sleep";
146 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
147 pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
148 };
149
150 wcd_rst_gpio: wcd_gpio_ctrl {
151 compatible = "qcom,msm-cdc-pinctrl";
152 pinctrl-names = "aud_active", "aud_sleep";
153 pinctrl-0 = <&cdc_reset1_active>;
154 pinctrl-1 = <&cdc_reset1_sleep>;
155 };
156
157 wcd_vdd_gpio: wcd_vdd_gpio_ctrl {
158 compatible = "qcom,msm-cdc-pinctrl";
159 pinctrl-names = "aud_active", "aud_sleep";
160 pinctrl-0 = <&wcd_vdd_en_active>;
161 pinctrl-1 = <&wcd_vdd_en_sleep>;
162 };
163
164 wsa_spkr: msm_cdc_pinctrll {
165 compatible = "qcom,msm-cdc-pinctrl";
166 pinctrl-names = "aud_active", "aud_sleep";
167 pinctrl-0 = <&spkr_en_active>;
168 pinctrl-1 = <&spkr_en_sleep>;
169 };
170
Tiequan Luo7984a522018-05-07 11:22:27 +0800171 vph_pwr_vreg: vph_pwr_vreg {
172 compatible = "regulator-fixed";
173 status = "ok";
174 regulator-name = "vph_pwr";
175 regulator-always-on;
176 };
177
zhaochen5868daf2018-07-09 17:55:17 +0800178 otg_vreg_5p0: otg_vreg_5p0 {
179 compatible = "regulator-fixed";
180 regulator-name = "sbc_vreg_5p0";
181 regulator-min-microvolt = <5000000>;
182 regulator-max-microvolt = <5000000>;
183 status = "ok";
184 enable-active-low;
185 vin-supply = <&vph_pwr_vreg>;
186 };
187
188 vbus_otg_vreg: vbus_otg_vreg {
189 compatible = "regulator-fixed";
190 regulator-name = "vbus_otg_vreg";
191 gpio = <&msm_gpio 74 0>;
192 vin-supply = <&otg_vreg_5p0>;
193 };
194
Tiequan Luo7984a522018-05-07 11:22:27 +0800195 mdss_mdp: qcom,mdss_mdp@1a00000 {
196 status = "disabled";
197 };
Tim Jiang6b649f52018-05-08 13:52:17 +0800198
199 bluetooth: bt_qca9379 {
200 compatible = "qca,qca9379";
201 qca,bt-reset-gpio = <&msm_gpio 47 0>; /* BT_EN */
202 };
bingsc5fca962018-05-08 14:42:14 +0800203 cnss_sdio: qcom,cnss_sdio {
204 compatible = "qcom,cnss_sdio";
205 subsys-name = "AR6320";
206 /**
207 * There is no vdd-wlan on board and this is not for DSRC.
208 * IO and XTAL share the same vreg.
209 */
210 vdd-wlan-io-supply = <&pm8916_l5>;
211 qcom,cap-tsf-gpio = <&msm_gpio 42 1>;
212 qcom,wlan-ramdump-dynamic = <0x200000>;
213 qcom,msm-bus,name = "msm-cnss";
214 qcom,msm-bus,num-cases = <4>;
215 qcom,msm-bus,num-paths = <1>;
216 qcom,msm-bus,vectors-KBps =
217 <79 512 0 0>, /* No vote */
218 <79 512 6250 200000>, /* 50 Mbps */
219 <79 512 25000 200000>, /* 200 Mbps */
220 <79 512 2048000 4096000>; /* MAX */
221 };
taojiangf3ca09d2018-06-21 19:51:00 +0800222
223 gpio_keys {
224 status = "disable";
225 };
Miaoqing Pan99497db2018-06-07 10:30:50 +0800226
227 spi@78ba000 {
228 reg = <0x78ba000 0x600>;
229 spi-max-frequency = <50000000>;
230 status = "okay";
231
232 spi@0 {
233 compatible = "qcom,spi-msm-slave";
234 reg = <0>;
235 spi-max-frequency = <50000000>;
236 };
237 };
bingsc5fca962018-05-08 14:42:14 +0800238};
239
zhaochen024979a2018-06-14 10:33:45 +0800240&i2c_1 {
241 status = "okay";
242 icm20602@68 {
243 compatible = "invensense,icm20602";
244 reg = <0x68>;
245 interrupt-parent = <&msm_gpio>;
246 interrupts = <12 0>;
247 invensense,icm20602-gpio = <&msm_gpio 12 0x0>;
248 vdd-ldo-supply = <&pm8916_l6>;
249 interrupt-names = "icm20602_irq";
250 pinctrl-names = "imu_active","imu_suspend";
251 pinctrl-0 = <&imu_int_active>;
252 pinctrl-1 = <&imu_int_suspend>;
253 status = "ok";
254 };
255 vl53l0x@29 {
256 compatible = "st,stmvl53l0";
257 reg = <0x29>;
258 status = "ok";
259 };
260};
261
bingsc5fca962018-05-08 14:42:14 +0800262&wcnss {
263 status = "disabled";
264};
265
266&msm_gpio {
267 sdc2_wlan_gpio_on: sdc2_wlan_gpio_on {
268 mux {
269 pins = "gpio43";
270 function = "gpio";
271 };
272 config {
273 pins = "gpio43";
274 drive-strength = <10>;
275 bias-pull-up;
276 output-high;
277 };
278 };
279
280 sdc2_wlan_gpio_off: sdc2_wlan_gpio_off {
281 mux {
282 pins = "gpio43";
283 function = "gpio";
284 };
285 config {
286 pins = "gpio43";
287 drive-strength = <2>;
288 bias-disable;
289 output-low;
290 };
291 };
Tiequan Luo7984a522018-05-07 11:22:27 +0800292};
293
294&sdhc_2 {
bingsc5fca962018-05-08 14:42:14 +0800295 /delete-property/cd-gpios;
296 #address-cells = <0>;
297 interrupt-parent = <&sdhc_2>;
298 interrupts = <0 1 2>;
299 #interrupt-cells = <1>;
300 interrupt-map-mask = <0xffffffff>;
301 interrupt-map = <0 &intc 0 125 0
302 1 &intc 0 221 0
bings9cae9e92018-06-15 08:40:54 +0800303 2 &msm_gpio 40 0x1>;
bingsc5fca962018-05-08 14:42:14 +0800304 interrupt-names = "hc_irq", "pwr_irq", "sdiowakeup_irq";
305
306 qcom,vdd-voltage-level = <1800000 2950000>;
307 qcom,vdd-current-level = <15000 400000>;
308
309 qcom,vdd-io-voltage-level = <1800000 1800000>;
310 qcom,vdd-io-current-level = <200 50000>;
311 qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
312 qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
313
314 pinctrl-names = "active", "sleep";
315 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on
316 &sdc2_wlan_gpio_on>;
317 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
318 &sdc2_wlan_gpio_off>;
319 qcom,nonremovable;
320 qcom,core_3_0v_support;
321 status = "ok";
Tiequan Luo7984a522018-05-07 11:22:27 +0800322};
323
324&usb_otg {
325 interrupts = <0 134 0>,<0 140 0>,<0 136 0>;
326 interrupt-names = "core_irq", "async_irq", "phy_irq";
327 qcom,hsusb-otg-mode = <3>;
328 qcom,switch-vbus-w-id;
zhaochen5868daf2018-07-09 17:55:17 +0800329 qcom,phy-id-high-as-peripheral;
330 vbus_otg-supply = <&vbus_otg_vreg>;
Tiequan Luo7984a522018-05-07 11:22:27 +0800331};
332
333&external_image_mem {
Vishwanath Raju K483f90a2018-05-29 13:38:37 +0530334 reg = <0x0 0x87900000 0x0 0x0700000>;
Tiequan Luo7984a522018-05-07 11:22:27 +0800335};
336
337&modem_adsp_mem {
338 reg = <0x0 0x88000000 0x0 0x01e00000>;
339};
340
341&peripheral_mem {
Vishwanath Raju K483f90a2018-05-29 13:38:37 +0530342 status = "disabled";
Tiequan Luo7984a522018-05-07 11:22:27 +0800343};
344
345&pm8916_chg {
346 status = "ok";
347};
348
349&pm8916_bms {
350 status = "ok";
351};
Tim Jiang6b649f52018-05-08 13:52:17 +0800352
353&blsp1_uart2_hs {
354 status = "ok";
355};
Chaojun Wangdf1442e2018-05-22 19:26:39 +0800356
357&i2c_1 {
358 status = "okay";
359 vl53l0x@52 {
360 compatible = "st,stmvl53l0";
361 reg = <0x29>;
362 status = "ok";
363 };
364};
Meng Wange0253bd2018-06-13 09:53:59 +0800365
366
367&wcd_rst_gpio {
368 status = "okay";
369};
370
371&ext_codec {
372 status = "okay";
373};