1faf69431SYang Xiwen// SPDX-License-Identifier: GPL-2.0-only
2faf69431SYang Xiwen
3faf69431SYang Xiwen#include "msm8916-pm8916.dtsi"
4faf69431SYang Xiwen
5faf69431SYang Xiwen#include <dt-bindings/gpio/gpio.h>
6faf69431SYang Xiwen#include <dt-bindings/leds/common.h>
7faf69431SYang Xiwen
8faf69431SYang Xiwen/ {
9faf69431SYang Xiwen	chassis-type = "embedded";
10faf69431SYang Xiwen
11faf69431SYang Xiwen	aliases {
12faf69431SYang Xiwen		serial0 = &blsp1_uart2;
13faf69431SYang Xiwen	};
14faf69431SYang Xiwen
15faf69431SYang Xiwen	chosen {
16faf69431SYang Xiwen		stdout-path = "serial0";
17faf69431SYang Xiwen	};
18faf69431SYang Xiwen
19faf69431SYang Xiwen	reserved-memory {
20faf69431SYang Xiwen		mpss_mem: mpss@86800000 {
21faf69431SYang Xiwen			reg = <0x0 0x86800000 0x0 0x5500000>;
22faf69431SYang Xiwen			no-map;
23faf69431SYang Xiwen		};
24faf69431SYang Xiwen
25faf69431SYang Xiwen		gps_mem: gps@8bd00000 {
26faf69431SYang Xiwen			reg = <0x0 0x8bd00000 0x0 0x200000>;
27faf69431SYang Xiwen			no-map;
28faf69431SYang Xiwen		};
29faf69431SYang Xiwen	};
30faf69431SYang Xiwen
31faf69431SYang Xiwen	gpio-keys {
32faf69431SYang Xiwen		compatible = "gpio-keys";
33faf69431SYang Xiwen
34faf69431SYang Xiwen		pinctrl-0 = <&button_default>;
35faf69431SYang Xiwen		pinctrl-names = "default";
36faf69431SYang Xiwen
37faf69431SYang Xiwen		label = "GPIO Buttons";
38faf69431SYang Xiwen
39faf69431SYang Xiwen		/* GPIO is board-specific */
40faf69431SYang Xiwen		button_restart: button-restart {
41faf69431SYang Xiwen			label = "Restart";
42faf69431SYang Xiwen			linux,code = <KEY_RESTART>;
43faf69431SYang Xiwen		};
44faf69431SYang Xiwen	};
45faf69431SYang Xiwen
46faf69431SYang Xiwen	leds {
47faf69431SYang Xiwen		compatible = "gpio-leds";
48faf69431SYang Xiwen
49faf69431SYang Xiwen		pinctrl-0 = <&gpio_leds_default>;
50faf69431SYang Xiwen		pinctrl-names = "default";
51faf69431SYang Xiwen
52faf69431SYang Xiwen		/*
53faf69431SYang Xiwen		 * GPIOs are board-specific.
54faf69431SYang Xiwen		 * Functions and default-states defined here are fallbacks.
55faf69431SYang Xiwen		 * Feel free to override them if your board is different.
56faf69431SYang Xiwen		 */
57faf69431SYang Xiwen		led_r: led-r {
58faf69431SYang Xiwen			color = <LED_COLOR_ID_RED>;
59faf69431SYang Xiwen			default-state = "on";
60faf69431SYang Xiwen			function = LED_FUNCTION_POWER;
61faf69431SYang Xiwen		};
62faf69431SYang Xiwen
63faf69431SYang Xiwen		led_g: led-g {
64faf69431SYang Xiwen			color = <LED_COLOR_ID_GREEN>;
65faf69431SYang Xiwen			default-state = "off";
66faf69431SYang Xiwen			function = LED_FUNCTION_WLAN;
67faf69431SYang Xiwen		};
68faf69431SYang Xiwen
69faf69431SYang Xiwen		led_b: led-b {
70faf69431SYang Xiwen			color = <LED_COLOR_ID_BLUE>;
71faf69431SYang Xiwen			default-state = "off";
72faf69431SYang Xiwen			function = LED_FUNCTION_WAN;
73faf69431SYang Xiwen		};
74faf69431SYang Xiwen	};
75faf69431SYang Xiwen};
76faf69431SYang Xiwen
77faf69431SYang Xiwen&bam_dmux {
78faf69431SYang Xiwen	status = "okay";
79faf69431SYang Xiwen};
80faf69431SYang Xiwen
81faf69431SYang Xiwen&bam_dmux_dma {
82faf69431SYang Xiwen	status = "okay";
83faf69431SYang Xiwen};
84faf69431SYang Xiwen
85faf69431SYang Xiwen&blsp1_uart2 {
86faf69431SYang Xiwen	status = "okay";
87faf69431SYang Xiwen};
88faf69431SYang Xiwen
89faf69431SYang Xiwen/* Remove &dsi_phy0 from clocks to make sure that gcc probes with display disabled */
90faf69431SYang Xiwen&gcc {
91faf69431SYang Xiwen	clocks = <&xo_board>, <&sleep_clk>, <0>, <0>, <0>, <0>, <0>;
92faf69431SYang Xiwen};
93faf69431SYang Xiwen
94faf69431SYang Xiwen&mpss {
95faf69431SYang Xiwen	status = "okay";
96faf69431SYang Xiwen};
97faf69431SYang Xiwen
98faf69431SYang Xiwen&pm8916_usbin {
99faf69431SYang Xiwen	status = "okay";
100faf69431SYang Xiwen};
101faf69431SYang Xiwen
102faf69431SYang Xiwen&sdhc_1 {
103faf69431SYang Xiwen	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
104faf69431SYang Xiwen	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
105faf69431SYang Xiwen	pinctrl-names = "default", "sleep";
106faf69431SYang Xiwen
107faf69431SYang Xiwen	status = "okay";
108faf69431SYang Xiwen};
109faf69431SYang Xiwen
110faf69431SYang Xiwen&usb {
111faf69431SYang Xiwen	extcon = <&pm8916_usbin>;
11206a9f50cSYang Xiwen	usb-role-switch;
113faf69431SYang Xiwen
114faf69431SYang Xiwen	status = "okay";
115faf69431SYang Xiwen};
116faf69431SYang Xiwen
117faf69431SYang Xiwen&usb_hs_phy {
118faf69431SYang Xiwen	extcon = <&pm8916_usbin>;
119faf69431SYang Xiwen};
120faf69431SYang Xiwen
12132444424SStephan Gerhold&wcnss {
12232444424SStephan Gerhold	status = "okay";
12332444424SStephan Gerhold};
12432444424SStephan Gerhold
12532444424SStephan Gerhold&wcnss_iris {
12632444424SStephan Gerhold	compatible = "qcom,wcn3620";
12732444424SStephan Gerhold};
12832444424SStephan Gerhold
129*41e22c2fSStephan Gerhold&tlmm {
130faf69431SYang Xiwen	/* pins are board-specific */
131faf69431SYang Xiwen	button_default: button-default-state {
132faf69431SYang Xiwen		function = "gpio";
133faf69431SYang Xiwen		drive-strength = <2>;
134faf69431SYang Xiwen	};
135faf69431SYang Xiwen
136faf69431SYang Xiwen	gpio_leds_default: gpio-leds-default-state {
137faf69431SYang Xiwen		function = "gpio";
138faf69431SYang Xiwen		drive-strength = <2>;
139faf69431SYang Xiwen		bias-disable;
140faf69431SYang Xiwen	};
141faf69431SYang Xiwen};
142