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;
33 stdout-path = "serial0";
41 vdd_l1_l2_l3-supply = <&pm8916_s3>;
42 vdd_l5-supply = <&pm8916_s3>;
43 vdd_l4_l5_l6-supply = <&pm8916_s4>;
44 vdd_l7-supply = <&pm8916_s4>;
47 regulator-min-microvolt = <375000>;
48 regulator-max-microvolt = <1562000>;
52 regulator-min-microvolt = <375000>;
53 regulator-max-microvolt = <1562000>;
57 regulator-min-microvolt = <375000>;
58 regulator-max-microvolt = <1562000>;
62 regulator-min-microvolt = <1800000>;
63 regulator-max-microvolt = <1800000>;
70 regulator-min-microvolt = <375000>;
71 regulator-max-microvolt = <1525000>;
75 regulator-min-microvolt = <375000>;
76 regulator-max-microvolt = <1525000>;
80 regulator-min-microvolt = <375000>;
81 regulator-max-microvolt = <1525000>;
85 regulator-min-microvolt = <1750000>;
86 regulator-max-microvolt = <3337000>;
90 regulator-min-microvolt = <1750000>;
91 regulator-max-microvolt = <3337000>;
95 regulator-min-microvolt = <1750000>;
96 regulator-max-microvolt = <3337000>;
100 regulator-min-microvolt = <1750000>;
101 regulator-max-microvolt = <3337000>;
105 regulator-min-microvolt = <1750000>;
106 regulator-max-microvolt = <3337000>;
110 regulator-min-microvolt = <1750000>;
111 regulator-max-microvolt = <3337000>;
115 regulator-min-microvolt = <1750000>;
116 regulator-max-microvolt = <3337000>;
120 regulator-min-microvolt = <1750000>;
121 regulator-max-microvolt = <3337000>;
125 regulator-min-microvolt = <1750000>;
126 regulator-max-microvolt = <3337000>;
130 regulator-min-microvolt = <1750000>;
131 regulator-max-microvolt = <3337000>;
135 regulator-min-microvolt = <1750000>;
136 regulator-max-microvolt = <3337000>;
140 regulator-min-microvolt = <1750000>;
141 regulator-max-microvolt = <3337000>;
145 regulator-min-microvolt = <1750000>;
146 regulator-max-microvolt = <3337000>;
150 regulator-min-microvolt = <1750000>;
151 regulator-max-microvolt = <3337000>;
155 regulator-min-microvolt = <1750000>;
156 regulator-max-microvolt = <3337000>;
168 pinctrl-names = "default", "sleep";
169 pinctrl-0 = <&blsp1_uart1_default>;
170 pinctrl-1 = <&blsp1_uart1_sleep>;
176 pinctrl-names = "default", "sleep";
177 pinctrl-0 = <&blsp1_uart2_default>;
178 pinctrl-1 = <&blsp1_uart2_sleep>;
182 /* On Low speed expansion */
188 /* On High speed expansion */
194 /* On Low speed expansion */
200 /* On High speed expansion */
206 /* On Low speed expansion */
212 pinctrl-names = "default";
213 pinctrl-0 = <&msmgpio_leds>,
214 <&pm8916_gpios_leds>,
217 compatible = "gpio-leds";
220 label = "apq8016-sbc:green:user1";
221 gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
222 linux,default-trigger = "heartbeat";
223 default-state = "off";
227 label = "apq8016-sbc:green:user2";
228 gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
229 linux,default-trigger = "mmc0";
230 default-state = "off";
234 label = "apq8016-sbc:green:user3";
235 gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
236 linux,default-trigger = "mmc1";
237 default-state = "off";
241 label = "apq8016-sbc:green:user4";
242 gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
243 linux,default-trigger = "none";
244 default-state = "off";
248 label = "apq8016-sbc:yellow:wlan";
249 gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
250 linux,default-trigger = "wlan";
251 default-state = "off";
255 label = "apq8016-sbc:blue:bt";
256 gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
257 linux,default-trigger = "bt";
258 default-state = "off";
264 compatible = "smsc,usb3503";
265 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
270 interrupt-parent = <&msmgpio>;
271 compatible = "linux,extcon-usb-gpio";
272 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
273 pinctrl-names = "default";
274 pinctrl-0 = <&usb_id_default>;
278 compatible = "gpio-keys";
279 #address-cells = <1>;
283 pinctrl-names = "default";
284 pinctrl-0 = <&msm_key_volp_n_default>;
288 linux,code = <KEY_VOLUMEUP>;
289 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
295 // Overwrite RESETIN_N keyboard scan code
296 linux,code = <KEY_VOLUMEDOWN>;
308 vmmc-supply = <&pm8916_l8>;
309 vqmmc-supply = <&pm8916_l5>;
311 pinctrl-names = "default", "sleep";
312 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
313 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
318 vmmc-supply = <&pm8916_l11>;
319 vqmmc-supply = <&pm8916_l12>;
321 pinctrl-names = "default", "sleep";
322 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
323 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
324 #address-cells = <0>;
325 interrupt-parent = <&sdhc_2>;
326 interrupts = <0 1 2>;
327 #interrupt-cells = <1>;
328 interrupt-map-mask = <0xffffffff>;
329 interrupt-map = <0 &intc 0 125 0
332 interrupt-names = "hc_irq", "pwr_irq", "status_irq";
333 cd-gpios = <&msmgpio 38 0x1>;
339 extcon = <&usb_id>, <&usb_id>;
352 extcon = <&usb_id>, <&usb_id>;
355 switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>; // D+/D- lines: 1 - Routed to HUB, 0 - Device
356 pinctrl-names = "default";
357 pinctrl-0 = <&usb_sw_sel_pm>;
363 adv_bridge: bridge@39 {
365 compatible = "adi,adv7533";
367 interrupt-parent = <&msmgpio>;
368 //interrupts = <31 2>;
369 avdd-supply = <&pm8916_l6>;
370 v3p3-supply = <&pm8916_l17>;
372 pd-gpios = <&msmgpio 32 0>;
373 pinctrl-names = "default","sleep";
374 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
375 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
376 #sound-dai-cells = <1>;
380 remote-endpoint = <&dsi_out>;
392 remote-endpoint = <&adv_in>;
403 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
404 clock-names = "mclk";
405 digital = <&wcd_digital>;
409 playback - Primary MI2S
413 playback - secondary MI2S
423 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act &cdc_dmic_lines_act>;
424 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus &cdc_dmic_lines_sus>;
425 pinctrl-names = "default", "sleep";
426 qcom,model = "DB410c";
428 "MIC BIAS External", "Handset Mic",
429 "MIC BIAS Internal2", "Headset Mic",
430 "MIC BIAS External", "Secondary Mic",
431 "AMIC1", "MIC BIAS External",
432 "AMIC2", "MIC BIAS Internal2",
433 "AMIC3", "MIC BIAS External",
434 "DMIC1", "MIC BIAS Internal1",
435 "MIC BIAS Internal1", "Digital Mic1",
436 "DMIC2", "MIC BIAS Internal1",
437 "MIC BIAS Internal1", "Digital Mic2";
439 /* External Primary or External Secondary -ADV7533 HDMI */
440 external-dai-link@0 {
441 link-name = "ADV7533";
444 sound-dai = <&lpass MI2S_QUATERNARY>;
447 sound-dai = <&adv_bridge 0>;
451 internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
454 sound-dai = <&lpass MI2S_PRIMARY>;
457 sound-dai = <&wcd_codec 0>;
461 internal-codec-capture-dai-link@0 { /* I2S - Internal codec */
462 link-name = "WCD-Capture";
464 sound-dai = <&lpass MI2S_TERTIARY>;
467 sound-dai = <&wcd_codec 1>;
473 /* default regulators required for mezzanine boards */