1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
6 #include "msm8916.dtsi"
8 #include "apq8016-sbc-soc-pins.dtsi"
9 #include "apq8016-sbc-pmic-pins.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12 #include <dt-bindings/sound/apq8016-lpass.h>
15 * GPIO name legend: proper name = the GPIO line is used as GPIO
16 * NC = not connected (pin out but not routed from the chip to
18 * "[PER]" = pin is muxed for [peripheral] (not GPIO)
19 * LSEC = Low Speed External Connector
20 * HSEC = High Speed External Connector
22 * Line names are taken from the schematic "DragonBoard410c"
23 * dated monday, august 31, 2015. Page 5 in particular.
25 * For the lines routed to the external connectors the
26 * lines are named after the 96Boards CE Specification 1.0,
27 * Appendix "Expansion Connector Signal Description".
29 * When the 96Board naming of a line and the schematic name of
30 * the same line are in conflict, the 96Board specification
31 * takes precedence, which means that the external UART on the
32 * LSEC is named UART0 while the schematic and SoC names this
33 * UART3. This is only for the informational lines i.e. "[FOO]",
34 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
35 * ones actually used for GPIO.
40 serial0 = &blsp1_uart2;
41 serial1 = &blsp1_uart1;
51 stdout-path = "serial0";
56 compatible = "ramoops";
57 reg = <0x0 0xbff00000 0x0 0x100000>;
59 record-size = <0x20000>;
60 console-size = <0x20000>;
61 ftrace-size = <0x20000>;
68 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */
69 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */
70 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
71 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
72 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */
73 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */
74 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
75 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
76 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
77 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
78 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
79 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
80 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
81 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
82 "[I2C3_SDA]", /* HSEC pin 38 */
83 "[I2C3_SCL]", /* HSEC pin 36 */
84 "[SPI0_MOSI]", /* LSEC pin 14 */
85 "[SPI0_MISO]", /* LSEC pin 10 */
86 "[SPI0_CS_N]", /* LSEC pin 12 */
87 "[SPI0_CLK]", /* LSEC pin 8 */
88 "HDMI_HPD_N", /* GPIO 20 */
90 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
91 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
92 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
93 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
94 "[CSI0_MCLK]", /* HSEC pin 15 */
95 "[CSI1_MCLK]", /* HSEC pin 17 */
96 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
97 "[I2C2_SDA]", /* HSEC pin 34 */
98 "[I2C2_SCL]", /* HSEC pin 32 */
101 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
102 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
103 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
104 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
108 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */
109 "[WCSS_WLAN_DATA_1]",
110 "[WCSS_WLAN_DATA_0]",
137 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
148 "BOOT_CONFIG_0", /* GPIO 80 */
178 "[LS_EXP_MI2S_WS]", /* GPIO 110 */
182 "[LS_EXP_MI2S_DATA0]",
183 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
185 "[DSI2HDMI_MI2S_WS]",
186 "[DSI2HDMI_MI2S_SCK]",
187 "[DSI2HDMI_MI2S_DATA0]",
188 "USR_LED_2_CTRL", /* GPIO 120 */
199 pinctrl-names = "default", "sleep";
200 pinctrl-0 = <&blsp1_uart1_default>;
201 pinctrl-1 = <&blsp1_uart1_sleep>;
207 pinctrl-names = "default", "sleep";
208 pinctrl-0 = <&blsp1_uart2_default>;
209 pinctrl-1 = <&blsp1_uart2_sleep>;
213 /* On Low speed expansion */
219 /* On High speed expansion */
223 adv_bridge: bridge@39 {
226 compatible = "adi,adv7533";
229 interrupt-parent = <&msmgpio>;
233 clocks = <&rpmcc RPM_SMD_BB_CLK2>;
236 pd-gpios = <&msmgpio 32 0>;
238 avdd-supply = <&pm8916_l6>;
239 v1p2-supply = <&pm8916_l6>;
240 v3p3-supply = <&pm8916_l17>;
242 pinctrl-names = "default","sleep";
243 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
244 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
245 #sound-dai-cells = <1>;
248 #address-cells = <1>;
253 adv7533_in: endpoint {
254 remote-endpoint = <&dsi0_out>;
260 adv7533_out: endpoint {
261 remote-endpoint = <&hdmi_con>;
269 /* On Low speed expansion */
275 /* On High speed expansion */
281 /* On Low speed expansion */
287 pinctrl-names = "default";
288 pinctrl-0 = <&msmgpio_leds>,
289 <&pm8916_gpios_leds>,
292 compatible = "gpio-leds";
295 label = "apq8016-sbc:green:user1";
296 gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
297 linux,default-trigger = "heartbeat";
298 default-state = "off";
302 label = "apq8016-sbc:green:user2";
303 gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
304 linux,default-trigger = "mmc0";
305 default-state = "off";
309 label = "apq8016-sbc:green:user3";
310 gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
311 linux,default-trigger = "mmc1";
312 default-state = "off";
316 label = "apq8016-sbc:green:user4";
317 gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
318 linux,default-trigger = "none";
320 default-state = "off";
324 label = "apq8016-sbc:yellow:wlan";
325 gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
326 linux,default-trigger = "phy0tx";
327 default-state = "off";
331 label = "apq8016-sbc:blue:bt";
332 gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
333 linux,default-trigger = "bluetooth-power";
334 default-state = "off";
339 vmmc-supply = <&pm8916_l8>;
340 vqmmc-supply = <&pm8916_l5>;
342 pinctrl-names = "default", "sleep";
343 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
344 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
349 vmmc-supply = <&pm8916_l11>;
350 vqmmc-supply = <&pm8916_l12>;
352 pinctrl-names = "default", "sleep";
353 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
354 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
356 cd-gpios = <&msmgpio 38 0x1>;
367 pinctrl-names = "default";
368 pinctrl-0 = <&usb_sw_sel_pm>;
371 v1p8-supply = <&pm8916_l7>;
372 v3p3-supply = <&pm8916_l13>;
392 vdda-supply = <&pm8916_l2>;
393 vddio-supply = <&pm8916_l6>;
398 remote-endpoint = <&adv7533_in>;
399 data-lanes = <0 1 2 3>;
408 vddio-supply = <&pm8916_l6>;
418 playback - Primary MI2S
422 playback - secondary MI2S
432 compatible = "qcom,apq8016-sbc-sndcard";
433 reg = <0x07702000 0x4>, <0x07702004 0x4>;
434 reg-names = "mic-iomux", "spkr-iomux";
437 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
438 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
439 pinctrl-names = "default", "sleep";
440 qcom,model = "DB410c";
442 "AMIC2", "MIC BIAS Internal2",
443 "AMIC3", "MIC BIAS External1";
444 external-dai-link@0 {
445 link-name = "ADV7533";
447 sound-dai = <&lpass MI2S_QUATERNARY>;
450 sound-dai = <&adv_bridge 0>;
454 internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
457 sound-dai = <&lpass MI2S_PRIMARY>;
460 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
464 internal-codec-capture-dai-link@0 { /* I2S - Internal codec */
465 link-name = "WCD-Capture";
467 sound-dai = <&lpass MI2S_TERTIARY>;
470 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
481 "USB_HUB_RESET_N_PM",
489 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
500 compatible = "smsc,usb3503";
501 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
506 compatible = "linux,extcon-usb-gpio";
507 vbus-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
508 pinctrl-names = "default";
509 pinctrl-0 = <&usb_id_default>;
513 compatible = "hdmi-connector";
518 remote-endpoint = <&adv7533_out>;
524 compatible = "gpio-keys";
525 #address-cells = <1>;
529 pinctrl-names = "default";
530 pinctrl-0 = <&msm_key_volp_n_default>;
534 linux,code = <KEY_VOLUMEUP>;
535 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
544 compatible = "qcom,pm8941-resin";
545 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
548 linux,code = <KEY_VOLUMEDOWN>;
556 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
557 clock-names = "mclk";
558 qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
559 qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
562 &smd_rpm_regulators {
563 vdd_l1_l2_l3-supply = <&pm8916_s3>;
564 vdd_l5-supply = <&pm8916_s3>;
565 vdd_l4_l5_l6-supply = <&pm8916_s4>;
566 vdd_l7-supply = <&pm8916_s4>;
569 regulator-min-microvolt = <375000>;
570 regulator-max-microvolt = <1562000>;
574 regulator-min-microvolt = <375000>;
575 regulator-max-microvolt = <1562000>;
579 regulator-min-microvolt = <1800000>;
580 regulator-max-microvolt = <1800000>;
587 regulator-min-microvolt = <375000>;
588 regulator-max-microvolt = <1525000>;
592 regulator-min-microvolt = <1200000>;
593 regulator-max-microvolt = <1200000>;
597 regulator-min-microvolt = <375000>;
598 regulator-max-microvolt = <1525000>;
602 regulator-min-microvolt = <1750000>;
603 regulator-max-microvolt = <3337000>;
607 regulator-min-microvolt = <1750000>;
608 regulator-max-microvolt = <3337000>;
612 regulator-min-microvolt = <1800000>;
613 regulator-max-microvolt = <1800000>;
617 regulator-min-microvolt = <1750000>;
618 regulator-max-microvolt = <3337000>;
622 regulator-min-microvolt = <1750000>;
623 regulator-max-microvolt = <3337000>;
627 regulator-min-microvolt = <1750000>;
628 regulator-max-microvolt = <3337000>;
632 regulator-min-microvolt = <1750000>;
633 regulator-max-microvolt = <3337000>;
637 regulator-min-microvolt = <1750000>;
638 regulator-max-microvolt = <3337000>;
639 regulator-allow-set-load;
640 regulator-system-load = <200000>;
644 regulator-min-microvolt = <1750000>;
645 regulator-max-microvolt = <3337000>;
649 regulator-min-microvolt = <1750000>;
650 regulator-max-microvolt = <3337000>;
654 regulator-min-microvolt = <1750000>;
655 regulator-max-microvolt = <3337000>;
659 * 1.8v required on LS expansion
660 * for mezzanine boards
663 regulator-min-microvolt = <1750000>;
664 regulator-max-microvolt = <3337000>;
669 regulator-min-microvolt = <1750000>;
670 regulator-max-microvolt = <3337000>;
674 regulator-min-microvolt = <3300000>;
675 regulator-max-microvolt = <3300000>;
679 regulator-min-microvolt = <1750000>;
680 regulator-max-microvolt = <3337000>;