162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#include "msm8916-pm8916.dtsi"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
662306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/ {
962306a36Sopenharmony_ci	chassis-type = "embedded";
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	aliases {
1262306a36Sopenharmony_ci		mmc0 = &sdhc_1; /* eMMC */
1362306a36Sopenharmony_ci		serial0 = &blsp_uart2;
1462306a36Sopenharmony_ci	};
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	chosen {
1762306a36Sopenharmony_ci		stdout-path = "serial0";
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	reserved-memory {
2162306a36Sopenharmony_ci		mpss_mem: mpss@86800000 {
2262306a36Sopenharmony_ci			reg = <0x0 0x86800000 0x0 0x5500000>;
2362306a36Sopenharmony_ci			no-map;
2462306a36Sopenharmony_ci		};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci		gps_mem: gps@8bd00000 {
2762306a36Sopenharmony_ci			reg = <0x0 0x8bd00000 0x0 0x200000>;
2862306a36Sopenharmony_ci			no-map;
2962306a36Sopenharmony_ci		};
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	gpio-keys {
3362306a36Sopenharmony_ci		compatible = "gpio-keys";
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		pinctrl-0 = <&button_default>;
3662306a36Sopenharmony_ci		pinctrl-names = "default";
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		label = "GPIO Buttons";
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		/* GPIO is board-specific */
4162306a36Sopenharmony_ci		button_restart: button-restart {
4262306a36Sopenharmony_ci			label = "Restart";
4362306a36Sopenharmony_ci			linux,code = <KEY_RESTART>;
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	leds {
4862306a36Sopenharmony_ci		compatible = "gpio-leds";
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		pinctrl-0 = <&gpio_leds_default>;
5162306a36Sopenharmony_ci		pinctrl-names = "default";
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		/*
5462306a36Sopenharmony_ci		 * GPIOs are board-specific.
5562306a36Sopenharmony_ci		 * Functions and default-states defined here are fallbacks.
5662306a36Sopenharmony_ci		 * Feel free to override them if your board is different.
5762306a36Sopenharmony_ci		 */
5862306a36Sopenharmony_ci		led_r: led-r {
5962306a36Sopenharmony_ci			color = <LED_COLOR_ID_RED>;
6062306a36Sopenharmony_ci			default-state = "on";
6162306a36Sopenharmony_ci			function = LED_FUNCTION_POWER;
6262306a36Sopenharmony_ci		};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		led_g: led-g {
6562306a36Sopenharmony_ci			color = <LED_COLOR_ID_GREEN>;
6662306a36Sopenharmony_ci			default-state = "off";
6762306a36Sopenharmony_ci			function = LED_FUNCTION_WLAN;
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci		led_b: led-b {
7162306a36Sopenharmony_ci			color = <LED_COLOR_ID_BLUE>;
7262306a36Sopenharmony_ci			default-state = "off";
7362306a36Sopenharmony_ci			function = LED_FUNCTION_WAN;
7462306a36Sopenharmony_ci		};
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci&bam_dmux {
7962306a36Sopenharmony_ci	status = "okay";
8062306a36Sopenharmony_ci};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci&bam_dmux_dma {
8362306a36Sopenharmony_ci	status = "okay";
8462306a36Sopenharmony_ci};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci&blsp_uart2 {
8762306a36Sopenharmony_ci	status = "okay";
8862306a36Sopenharmony_ci};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci/* Remove &mdss_dsi0_phy from clocks to make sure that gcc probes with display disabled */
9162306a36Sopenharmony_ci&gcc {
9262306a36Sopenharmony_ci	clocks = <&xo_board>, <&sleep_clk>, <0>, <0>, <0>, <0>, <0>;
9362306a36Sopenharmony_ci};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci&mpss {
9662306a36Sopenharmony_ci	status = "okay";
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci&pm8916_usbin {
10062306a36Sopenharmony_ci	status = "okay";
10162306a36Sopenharmony_ci};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci&sdhc_1 {
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci&usb {
10862306a36Sopenharmony_ci	extcon = <&pm8916_usbin>;
10962306a36Sopenharmony_ci	usb-role-switch;
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	status = "okay";
11262306a36Sopenharmony_ci};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci&usb_hs_phy {
11562306a36Sopenharmony_ci	extcon = <&pm8916_usbin>;
11662306a36Sopenharmony_ci};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci&wcnss {
11962306a36Sopenharmony_ci	status = "okay";
12062306a36Sopenharmony_ci};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci&wcnss_iris {
12362306a36Sopenharmony_ci	compatible = "qcom,wcn3620";
12462306a36Sopenharmony_ci};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci&tlmm {
12762306a36Sopenharmony_ci	/* pins are board-specific */
12862306a36Sopenharmony_ci	button_default: button-default-state {
12962306a36Sopenharmony_ci		function = "gpio";
13062306a36Sopenharmony_ci		drive-strength = <2>;
13162306a36Sopenharmony_ci	};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	gpio_leds_default: gpio-leds-default-state {
13462306a36Sopenharmony_ci		function = "gpio";
13562306a36Sopenharmony_ci		drive-strength = <2>;
13662306a36Sopenharmony_ci		bias-disable;
13762306a36Sopenharmony_ci	};
13862306a36Sopenharmony_ci};
139