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 {
12*154f23a8SStephan Gerhold		mmc0 = &sdhc_1; /* eMMC */
13c310ca82SStephan Gerhold		serial0 = &blsp_uart2;
14faf69431SYang Xiwen	};
15faf69431SYang Xiwen
16faf69431SYang Xiwen	chosen {
17faf69431SYang Xiwen		stdout-path = "serial0";
18faf69431SYang Xiwen	};
19faf69431SYang Xiwen
20faf69431SYang Xiwen	reserved-memory {
21faf69431SYang Xiwen		mpss_mem: mpss@86800000 {
22faf69431SYang Xiwen			reg = <0x0 0x86800000 0x0 0x5500000>;
23faf69431SYang Xiwen			no-map;
24faf69431SYang Xiwen		};
25faf69431SYang Xiwen
26faf69431SYang Xiwen		gps_mem: gps@8bd00000 {
27faf69431SYang Xiwen			reg = <0x0 0x8bd00000 0x0 0x200000>;
28faf69431SYang Xiwen			no-map;
29faf69431SYang Xiwen		};
30faf69431SYang Xiwen	};
31faf69431SYang Xiwen
32faf69431SYang Xiwen	gpio-keys {
33faf69431SYang Xiwen		compatible = "gpio-keys";
34faf69431SYang Xiwen
35faf69431SYang Xiwen		pinctrl-0 = <&button_default>;
36faf69431SYang Xiwen		pinctrl-names = "default";
37faf69431SYang Xiwen
38faf69431SYang Xiwen		label = "GPIO Buttons";
39faf69431SYang Xiwen
40faf69431SYang Xiwen		/* GPIO is board-specific */
41faf69431SYang Xiwen		button_restart: button-restart {
42faf69431SYang Xiwen			label = "Restart";
43faf69431SYang Xiwen			linux,code = <KEY_RESTART>;
44faf69431SYang Xiwen		};
45faf69431SYang Xiwen	};
46faf69431SYang Xiwen
47faf69431SYang Xiwen	leds {
48faf69431SYang Xiwen		compatible = "gpio-leds";
49faf69431SYang Xiwen
50faf69431SYang Xiwen		pinctrl-0 = <&gpio_leds_default>;
51faf69431SYang Xiwen		pinctrl-names = "default";
52faf69431SYang Xiwen
53faf69431SYang Xiwen		/*
54faf69431SYang Xiwen		 * GPIOs are board-specific.
55faf69431SYang Xiwen		 * Functions and default-states defined here are fallbacks.
56faf69431SYang Xiwen		 * Feel free to override them if your board is different.
57faf69431SYang Xiwen		 */
58faf69431SYang Xiwen		led_r: led-r {
59faf69431SYang Xiwen			color = <LED_COLOR_ID_RED>;
60faf69431SYang Xiwen			default-state = "on";
61faf69431SYang Xiwen			function = LED_FUNCTION_POWER;
62faf69431SYang Xiwen		};
63faf69431SYang Xiwen
64faf69431SYang Xiwen		led_g: led-g {
65faf69431SYang Xiwen			color = <LED_COLOR_ID_GREEN>;
66faf69431SYang Xiwen			default-state = "off";
67faf69431SYang Xiwen			function = LED_FUNCTION_WLAN;
68faf69431SYang Xiwen		};
69faf69431SYang Xiwen
70faf69431SYang Xiwen		led_b: led-b {
71faf69431SYang Xiwen			color = <LED_COLOR_ID_BLUE>;
72faf69431SYang Xiwen			default-state = "off";
73faf69431SYang Xiwen			function = LED_FUNCTION_WAN;
74faf69431SYang Xiwen		};
75faf69431SYang Xiwen	};
76faf69431SYang Xiwen};
77faf69431SYang Xiwen
78faf69431SYang Xiwen&bam_dmux {
79faf69431SYang Xiwen	status = "okay";
80faf69431SYang Xiwen};
81faf69431SYang Xiwen
82faf69431SYang Xiwen&bam_dmux_dma {
83faf69431SYang Xiwen	status = "okay";
84faf69431SYang Xiwen};
85faf69431SYang Xiwen
86c310ca82SStephan Gerhold&blsp_uart2 {
87faf69431SYang Xiwen	status = "okay";
88faf69431SYang Xiwen};
89faf69431SYang Xiwen
90835f9395SStephan Gerhold/* Remove &mdss_dsi0_phy from clocks to make sure that gcc probes with display disabled */
91faf69431SYang Xiwen&gcc {
92faf69431SYang Xiwen	clocks = <&xo_board>, <&sleep_clk>, <0>, <0>, <0>, <0>, <0>;
93faf69431SYang Xiwen};
94faf69431SYang Xiwen
95faf69431SYang Xiwen&mpss {
96faf69431SYang Xiwen	status = "okay";
97faf69431SYang Xiwen};
98faf69431SYang Xiwen
99faf69431SYang Xiwen&pm8916_usbin {
100faf69431SYang Xiwen	status = "okay";
101faf69431SYang Xiwen};
102faf69431SYang Xiwen
103faf69431SYang Xiwen&sdhc_1 {
104faf69431SYang Xiwen	status = "okay";
105faf69431SYang Xiwen};
106faf69431SYang Xiwen
107faf69431SYang Xiwen&usb {
108faf69431SYang Xiwen	extcon = <&pm8916_usbin>;
10906a9f50cSYang Xiwen	usb-role-switch;
110faf69431SYang Xiwen
111faf69431SYang Xiwen	status = "okay";
112faf69431SYang Xiwen};
113faf69431SYang Xiwen
114faf69431SYang Xiwen&usb_hs_phy {
115faf69431SYang Xiwen	extcon = <&pm8916_usbin>;
116faf69431SYang Xiwen};
117faf69431SYang Xiwen
11832444424SStephan Gerhold&wcnss {
11932444424SStephan Gerhold	status = "okay";
12032444424SStephan Gerhold};
12132444424SStephan Gerhold
12232444424SStephan Gerhold&wcnss_iris {
12332444424SStephan Gerhold	compatible = "qcom,wcn3620";
12432444424SStephan Gerhold};
12532444424SStephan Gerhold
12641e22c2fSStephan Gerhold&tlmm {
127faf69431SYang Xiwen	/* pins are board-specific */
128faf69431SYang Xiwen	button_default: button-default-state {
129faf69431SYang Xiwen		function = "gpio";
130faf69431SYang Xiwen		drive-strength = <2>;
131faf69431SYang Xiwen	};
132faf69431SYang Xiwen
133faf69431SYang Xiwen	gpio_leds_default: gpio-leds-default-state {
134faf69431SYang Xiwen		function = "gpio";
135faf69431SYang Xiwen		drive-strength = <2>;
136faf69431SYang Xiwen		bias-disable;
137faf69431SYang Xiwen	};
138faf69431SYang Xiwen};
139