2 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
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.
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.
14 #include <dt-bindings/gpio/gpio.h>
15 #include <dt-bindings/input/input.h>
16 #include <dt-bindings/sound/apq8016-lpass.h>
17 #include "msm8916.dtsi"
18 #include "pm8916.dtsi"
19 #include "apq8016-sbc-soc-pins.dtsi"
20 #include "apq8016-sbc-pmic-pins.dtsi"
21 #include "msm8916-mdss.dtsi"
24 serial0 = &blsp1_uart2;
25 serial1 = &blsp1_uart1;
35 stdout-path = "serial0";
43 vdd_l1_l2_l3-supply = <&pm8916_s3>;
44 vdd_l5-supply = <&pm8916_s3>;
45 vdd_l4_l5_l6-supply = <&pm8916_s4>;
46 vdd_l7-supply = <&pm8916_s4>;
49 regulator-min-microvolt = <375000>;
50 regulator-max-microvolt = <1562000>;
54 regulator-min-microvolt = <375000>;
55 regulator-max-microvolt = <1562000>;
59 regulator-min-microvolt = <375000>;
60 regulator-max-microvolt = <1562000>;
64 regulator-min-microvolt = <1800000>;
65 regulator-max-microvolt = <1800000>;
72 regulator-min-microvolt = <375000>;
73 regulator-max-microvolt = <1525000>;
77 regulator-min-microvolt = <375000>;
78 regulator-max-microvolt = <1525000>;
82 regulator-min-microvolt = <375000>;
83 regulator-max-microvolt = <1525000>;
87 regulator-min-microvolt = <1750000>;
88 regulator-max-microvolt = <3337000>;
92 regulator-min-microvolt = <1750000>;
93 regulator-max-microvolt = <3337000>;
97 regulator-min-microvolt = <1750000>;
98 regulator-max-microvolt = <3337000>;
102 regulator-min-microvolt = <1750000>;
103 regulator-max-microvolt = <3337000>;
107 regulator-min-microvolt = <1750000>;
108 regulator-max-microvolt = <3337000>;
112 regulator-min-microvolt = <1750000>;
113 regulator-max-microvolt = <3337000>;
117 regulator-min-microvolt = <1750000>;
118 regulator-max-microvolt = <3337000>;
122 regulator-min-microvolt = <1750000>;
123 regulator-max-microvolt = <3337000>;
127 regulator-min-microvolt = <1750000>;
128 regulator-max-microvolt = <3337000>;
132 regulator-min-microvolt = <1750000>;
133 regulator-max-microvolt = <3337000>;
137 regulator-min-microvolt = <1750000>;
138 regulator-max-microvolt = <3337000>;
142 regulator-min-microvolt = <1750000>;
143 regulator-max-microvolt = <3337000>;
147 regulator-min-microvolt = <1750000>;
148 regulator-max-microvolt = <3337000>;
152 regulator-min-microvolt = <1750000>;
153 regulator-max-microvolt = <3337000>;
157 regulator-min-microvolt = <1750000>;
158 regulator-max-microvolt = <3337000>;
170 pinctrl-names = "default", "sleep";
171 pinctrl-0 = <&blsp1_uart1_default>;
172 pinctrl-1 = <&blsp1_uart1_sleep>;
178 pinctrl-names = "default", "sleep";
179 pinctrl-0 = <&blsp1_uart2_default>;
180 pinctrl-1 = <&blsp1_uart2_sleep>;
184 /* On Low speed expansion */
190 /* On High speed expansion */
196 /* On Low speed expansion */
202 /* On High speed expansion */
208 /* On Low speed expansion */
214 pinctrl-names = "default";
215 pinctrl-0 = <&msmgpio_leds>,
216 <&pm8916_gpios_leds>,
219 compatible = "gpio-leds";
222 label = "apq8016-sbc:green:user1";
223 gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
224 linux,default-trigger = "heartbeat";
225 default-state = "off";
229 label = "apq8016-sbc:green:user2";
230 gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
231 linux,default-trigger = "mmc0";
232 default-state = "off";
236 label = "apq8016-sbc:green:user3";
237 gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
238 linux,default-trigger = "mmc1";
239 default-state = "off";
243 label = "apq8016-sbc:green:user4";
244 gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
245 linux,default-trigger = "none";
246 default-state = "off";
250 label = "apq8016-sbc:yellow:wlan";
251 gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
252 linux,default-trigger = "wlan";
253 default-state = "off";
257 label = "apq8016-sbc:blue:bt";
258 gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
259 linux,default-trigger = "bt";
260 default-state = "off";
266 compatible = "smsc,usb3503";
267 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
272 interrupt-parent = <&msmgpio>;
273 compatible = "linux,extcon-usb-gpio";
274 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
275 pinctrl-names = "default";
276 pinctrl-0 = <&usb_id_default>;
280 compatible = "gpio-keys";
281 #address-cells = <1>;
285 pinctrl-names = "default";
286 pinctrl-0 = <&msm_key_volp_n_default>;
290 linux,code = <KEY_VOLUMEUP>;
291 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
297 // Overwrite RESETIN_N keyboard scan code
298 linux,code = <KEY_VOLUMEDOWN>;
310 vmmc-supply = <&pm8916_l8>;
311 vqmmc-supply = <&pm8916_l5>;
313 pinctrl-names = "default", "sleep";
314 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
315 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
320 vmmc-supply = <&pm8916_l11>;
321 vqmmc-supply = <&pm8916_l12>;
323 pinctrl-names = "default", "sleep";
324 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
325 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
326 #address-cells = <0>;
327 interrupt-parent = <&sdhc_2>;
328 interrupts = <0 1 2>;
329 #interrupt-cells = <1>;
330 interrupt-map-mask = <0xffffffff>;
331 interrupt-map = <0 &intc 0 125 0
334 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
335 cd-gpios = <&msmgpio 38 0x1>;
341 extcon = <&usb_id>, <&usb_id>;
354 extcon = <&usb_id>, <&usb_id>;
357 switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>; // D+/D- lines: 1 - Routed to HUB, 0 - Device
358 pinctrl-names = "default";
359 pinctrl-0 = <&usb_sw_sel_pm>;
365 adv_bridge: bridge@39 {
367 compatible = "adi,adv7533";
369 interrupt-parent = <&msmgpio>;
371 avdd-supply = <&pm8916_l6>;
372 v3p3-supply = <&pm8916_l17>;
374 pd-gpios = <&msmgpio 32 0>;
375 pinctrl-names = "default","sleep";
376 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
377 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
378 #sound-dai-cells = <1>;
382 remote-endpoint = <&dsi_out>;
394 remote-endpoint = <&adv_in>;
405 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
406 clock-names = "mclk";
407 digital = <&wcd_digital>;
411 playback - Primary MI2S
415 playback - secondary MI2S
424 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
425 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
426 pinctrl-names = "default", "sleep";
427 qcom,model = "DB410c";
429 "MIC BIAS External", "Handset Mic",
430 "MIC BIAS Internal2", "Headset Mic",
431 "MIC BIAS External", "Secondary Mic",
432 "AMIC1", "MIC BIAS External",
433 "AMIC2", "MIC BIAS Internal2",
434 "AMIC3", "MIC BIAS External",
435 "DMIC1", "MIC BIAS Internal1",
436 "MIC BIAS Internal1", "Digital Mic1",
437 "DMIC2", "MIC BIAS Internal1",
438 "MIC BIAS Internal1", "Digital Mic2";
440 /* External Primary or External Secondary -ADV7533 HDMI */
441 external-dai-link@0 {
442 link-name = "ADV7533";
445 sound-dai = <&lpass MI2S_QUATERNARY>;
448 sound-dai = <&adv_bridge 0>;
452 internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
455 sound-dai = <&lpass MI2S_PRIMARY>;
458 sound-dai = <&wcd_codec 0>;
462 internal-codec-capture-dai-link@0 { /* I2S - Internal codec */
463 link-name = "WCD-Capture";
465 sound-dai = <&lpass MI2S_TERTIARY>;
468 sound-dai = <&wcd_codec 1>;
474 /* default regulators required for mezzanine boards */