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>;
112faf69431SYang Xiwen	dr_mode = "peripheral";
113faf69431SYang Xiwen
114faf69431SYang Xiwen	status = "okay";
115faf69431SYang Xiwen};
116faf69431SYang Xiwen
117faf69431SYang Xiwen&usb_hs_phy {
118faf69431SYang Xiwen	extcon = <&pm8916_usbin>;
119faf69431SYang Xiwen};
120faf69431SYang Xiwen
121*32444424SStephan Gerhold&wcnss {
122*32444424SStephan Gerhold	status = "okay";
123*32444424SStephan Gerhold};
124*32444424SStephan Gerhold
125*32444424SStephan Gerhold&wcnss_iris {
126*32444424SStephan Gerhold	compatible = "qcom,wcn3620";
127*32444424SStephan Gerhold};
128*32444424SStephan Gerhold
129faf69431SYang Xiwen&smd_rpm_regulators {
130faf69431SYang Xiwen	vdd_l1_l2_l3-supply = <&pm8916_s3>;
131faf69431SYang Xiwen	vdd_l4_l5_l6-supply = <&pm8916_s4>;
132faf69431SYang Xiwen	vdd_l7-supply = <&pm8916_s4>;
133faf69431SYang Xiwen
134faf69431SYang Xiwen	s3 {
135faf69431SYang Xiwen		regulator-min-microvolt = <1200000>;
136faf69431SYang Xiwen		regulator-max-microvolt = <1300000>;
137faf69431SYang Xiwen	};
138faf69431SYang Xiwen
139faf69431SYang Xiwen	s4 {
140faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
141faf69431SYang Xiwen		regulator-max-microvolt = <2100000>;
142faf69431SYang Xiwen	};
143faf69431SYang Xiwen
144faf69431SYang Xiwen	l1 {
145faf69431SYang Xiwen		regulator-min-microvolt = <1225000>;
146faf69431SYang Xiwen		regulator-max-microvolt = <1225000>;
147faf69431SYang Xiwen	};
148faf69431SYang Xiwen
149faf69431SYang Xiwen	l2 {
150faf69431SYang Xiwen		regulator-min-microvolt = <1200000>;
151faf69431SYang Xiwen		regulator-max-microvolt = <1200000>;
152faf69431SYang Xiwen	};
153faf69431SYang Xiwen
154faf69431SYang Xiwen	l4 {
155faf69431SYang Xiwen		regulator-min-microvolt = <2050000>;
156faf69431SYang Xiwen		regulator-max-microvolt = <2050000>;
157faf69431SYang Xiwen	};
158faf69431SYang Xiwen
159faf69431SYang Xiwen	l5 {
160faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
161faf69431SYang Xiwen		regulator-max-microvolt = <1800000>;
162faf69431SYang Xiwen	};
163faf69431SYang Xiwen
164faf69431SYang Xiwen	l6 {
165faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
166faf69431SYang Xiwen		regulator-max-microvolt = <1800000>;
167faf69431SYang Xiwen	};
168faf69431SYang Xiwen
169faf69431SYang Xiwen	l7 {
170faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
171faf69431SYang Xiwen		regulator-max-microvolt = <1800000>;
172faf69431SYang Xiwen	};
173faf69431SYang Xiwen
174faf69431SYang Xiwen	l8 {
175faf69431SYang Xiwen		regulator-min-microvolt = <2850000>;
176faf69431SYang Xiwen		regulator-max-microvolt = <2900000>;
177faf69431SYang Xiwen	};
178faf69431SYang Xiwen
179faf69431SYang Xiwen	l9 {
180faf69431SYang Xiwen		regulator-min-microvolt = <3300000>;
181faf69431SYang Xiwen		regulator-max-microvolt = <3300000>;
182faf69431SYang Xiwen	};
183faf69431SYang Xiwen
184faf69431SYang Xiwen	l10 {
185faf69431SYang Xiwen		regulator-min-microvolt = <2700000>;
186faf69431SYang Xiwen		regulator-max-microvolt = <2800000>;
187faf69431SYang Xiwen	};
188faf69431SYang Xiwen
189faf69431SYang Xiwen	l11 {
190faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
191faf69431SYang Xiwen		regulator-max-microvolt = <2950000>;
192faf69431SYang Xiwen		regulator-system-load = <200000>;
193faf69431SYang Xiwen		regulator-allow-set-load;
194faf69431SYang Xiwen	};
195faf69431SYang Xiwen
196faf69431SYang Xiwen	l12 {
197faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
198faf69431SYang Xiwen		regulator-max-microvolt = <2950000>;
199faf69431SYang Xiwen	};
200faf69431SYang Xiwen
201faf69431SYang Xiwen	l13 {
202faf69431SYang Xiwen		regulator-min-microvolt = <3075000>;
203faf69431SYang Xiwen		regulator-max-microvolt = <3075000>;
204faf69431SYang Xiwen	};
205faf69431SYang Xiwen
206faf69431SYang Xiwen	l14 {
207faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
208faf69431SYang Xiwen		regulator-max-microvolt = <3300000>;
209faf69431SYang Xiwen	};
210faf69431SYang Xiwen
211faf69431SYang Xiwen	l15 {
212faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
213faf69431SYang Xiwen		regulator-max-microvolt = <3300000>;
214faf69431SYang Xiwen	};
215faf69431SYang Xiwen
216faf69431SYang Xiwen	l16 {
217faf69431SYang Xiwen		regulator-min-microvolt = <1800000>;
218faf69431SYang Xiwen		regulator-max-microvolt = <3300000>;
219faf69431SYang Xiwen	};
220faf69431SYang Xiwen
221faf69431SYang Xiwen	l17 {
222faf69431SYang Xiwen		regulator-min-microvolt = <2850000>;
223faf69431SYang Xiwen		regulator-max-microvolt = <2850000>;
224faf69431SYang Xiwen	};
225faf69431SYang Xiwen
226faf69431SYang Xiwen	l18 {
227faf69431SYang Xiwen		regulator-min-microvolt = <2700000>;
228faf69431SYang Xiwen		regulator-max-microvolt = <2700000>;
229faf69431SYang Xiwen	};
230faf69431SYang Xiwen};
231faf69431SYang Xiwen
232faf69431SYang Xiwen&msmgpio {
233faf69431SYang Xiwen	/* pins are board-specific */
234faf69431SYang Xiwen	button_default: button-default-state {
235faf69431SYang Xiwen		function = "gpio";
236faf69431SYang Xiwen		drive-strength = <2>;
237faf69431SYang Xiwen	};
238faf69431SYang Xiwen
239faf69431SYang Xiwen	gpio_leds_default: gpio-leds-default-state {
240faf69431SYang Xiwen		function = "gpio";
241faf69431SYang Xiwen		drive-strength = <2>;
242faf69431SYang Xiwen		bias-disable;
243faf69431SYang Xiwen	};
244faf69431SYang Xiwen};
245