xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/ipq5424-rdp466.dts (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
12846c905SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
22846c905SEmmanuel Vadot/*
32846c905SEmmanuel Vadot * IPQ5424 RDP466 board device tree source
42846c905SEmmanuel Vadot *
52846c905SEmmanuel Vadot * Copyright (c) 2024 The Linux Foundation. All rights reserved.
62846c905SEmmanuel Vadot */
72846c905SEmmanuel Vadot
82846c905SEmmanuel Vadot/dts-v1/;
92846c905SEmmanuel Vadot
10*ae5de77eSEmmanuel Vadot#include <dt-bindings/input/input.h>
11*ae5de77eSEmmanuel Vadot#include <dt-bindings/leds/common.h>
122846c905SEmmanuel Vadot#include "ipq5424.dtsi"
132846c905SEmmanuel Vadot
142846c905SEmmanuel Vadot/ {
152846c905SEmmanuel Vadot	model = "Qualcomm Technologies, Inc. IPQ5424 RDP466";
162846c905SEmmanuel Vadot	compatible = "qcom,ipq5424-rdp466", "qcom,ipq5424";
172846c905SEmmanuel Vadot
182846c905SEmmanuel Vadot	aliases {
192846c905SEmmanuel Vadot		serial0 = &uart1;
202846c905SEmmanuel Vadot	};
212846c905SEmmanuel Vadot
22*ae5de77eSEmmanuel Vadot	gpio-keys {
23*ae5de77eSEmmanuel Vadot		compatible = "gpio-keys";
24*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&gpio_keys_default>;
25*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
26*ae5de77eSEmmanuel Vadot
27*ae5de77eSEmmanuel Vadot		button-wps {
28*ae5de77eSEmmanuel Vadot			label = "wps";
29*ae5de77eSEmmanuel Vadot			linux,code = <KEY_WPS_BUTTON>;
30*ae5de77eSEmmanuel Vadot			gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
31*ae5de77eSEmmanuel Vadot			debounce-interval = <60>;
32*ae5de77eSEmmanuel Vadot		};
33*ae5de77eSEmmanuel Vadot	};
34*ae5de77eSEmmanuel Vadot
35*ae5de77eSEmmanuel Vadot	leds {
36*ae5de77eSEmmanuel Vadot		compatible = "gpio-leds";
37*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&gpio_leds_default>;
38*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
39*ae5de77eSEmmanuel Vadot
40*ae5de77eSEmmanuel Vadot		led-0 {
41*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
42*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_WLAN;
43*ae5de77eSEmmanuel Vadot			gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
44*ae5de77eSEmmanuel Vadot			linux,default-trigger = "phy0tx";
45*ae5de77eSEmmanuel Vadot			default-state = "off";
46*ae5de77eSEmmanuel Vadot		};
47*ae5de77eSEmmanuel Vadot	};
48*ae5de77eSEmmanuel Vadot
492846c905SEmmanuel Vadot	vreg_misc_3p3: regulator-usb-3p3 {
502846c905SEmmanuel Vadot		compatible = "regulator-fixed";
512846c905SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
522846c905SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
532846c905SEmmanuel Vadot		regulator-boot-on;
542846c905SEmmanuel Vadot		regulator-always-on;
552846c905SEmmanuel Vadot		regulator-name = "usb_hs_vdda_3p3";
562846c905SEmmanuel Vadot	};
572846c905SEmmanuel Vadot
582846c905SEmmanuel Vadot	vreg_misc_1p8: regulator-usb-1p8 {
592846c905SEmmanuel Vadot		compatible = "regulator-fixed";
602846c905SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
612846c905SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
622846c905SEmmanuel Vadot		regulator-boot-on;
632846c905SEmmanuel Vadot		regulator-always-on;
642846c905SEmmanuel Vadot		regulator-name = "vdda_1p8_usb";
652846c905SEmmanuel Vadot	};
662846c905SEmmanuel Vadot
672846c905SEmmanuel Vadot	vreg_misc_0p925: regulator-usb-0p925 {
682846c905SEmmanuel Vadot		compatible = "regulator-fixed";
692846c905SEmmanuel Vadot		regulator-min-microvolt = <925000>;
702846c905SEmmanuel Vadot		regulator-max-microvolt = <925000>;
712846c905SEmmanuel Vadot		regulator-boot-on;
722846c905SEmmanuel Vadot		regulator-always-on;
732846c905SEmmanuel Vadot		regulator-name = "vdd_core_usb";
742846c905SEmmanuel Vadot	};
752846c905SEmmanuel Vadot};
762846c905SEmmanuel Vadot
772846c905SEmmanuel Vadot&dwc_0 {
782846c905SEmmanuel Vadot	dr_mode = "host";
792846c905SEmmanuel Vadot};
802846c905SEmmanuel Vadot
812846c905SEmmanuel Vadot&dwc_1 {
822846c905SEmmanuel Vadot	dr_mode = "host";
832846c905SEmmanuel Vadot};
842846c905SEmmanuel Vadot
85*ae5de77eSEmmanuel Vadot&pcie2 {
86*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pcie2_default_state>;
87*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
88*ae5de77eSEmmanuel Vadot
89*ae5de77eSEmmanuel Vadot	perst-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
90*ae5de77eSEmmanuel Vadot
91*ae5de77eSEmmanuel Vadot	status = "okay";
92*ae5de77eSEmmanuel Vadot};
93*ae5de77eSEmmanuel Vadot
94*ae5de77eSEmmanuel Vadot&pcie2_phy {
95*ae5de77eSEmmanuel Vadot	status = "okay";
96*ae5de77eSEmmanuel Vadot};
97*ae5de77eSEmmanuel Vadot
98*ae5de77eSEmmanuel Vadot&pcie3 {
99*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pcie3_default_state>;
100*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
101*ae5de77eSEmmanuel Vadot
102*ae5de77eSEmmanuel Vadot	perst-gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
103*ae5de77eSEmmanuel Vadot
104*ae5de77eSEmmanuel Vadot	status = "okay";
105*ae5de77eSEmmanuel Vadot};
106*ae5de77eSEmmanuel Vadot
107*ae5de77eSEmmanuel Vadot&pcie3_phy {
108*ae5de77eSEmmanuel Vadot	status = "okay";
109*ae5de77eSEmmanuel Vadot};
110*ae5de77eSEmmanuel Vadot
1112846c905SEmmanuel Vadot&qusb_phy_0 {
1122846c905SEmmanuel Vadot	vdd-supply = <&vreg_misc_0p925>;
1132846c905SEmmanuel Vadot	vdda-pll-supply = <&vreg_misc_1p8>;
1142846c905SEmmanuel Vadot	vdda-phy-dpdm-supply = <&vreg_misc_3p3>;
1152846c905SEmmanuel Vadot
1162846c905SEmmanuel Vadot	status = "okay";
1172846c905SEmmanuel Vadot};
1182846c905SEmmanuel Vadot
1192846c905SEmmanuel Vadot&qusb_phy_1 {
1202846c905SEmmanuel Vadot	vdd-supply = <&vreg_misc_0p925>;
1212846c905SEmmanuel Vadot	vdda-pll-supply = <&vreg_misc_1p8>;
1222846c905SEmmanuel Vadot	vdda-phy-dpdm-supply = <&vreg_misc_3p3>;
1232846c905SEmmanuel Vadot
1242846c905SEmmanuel Vadot	status = "okay";
1252846c905SEmmanuel Vadot};
1262846c905SEmmanuel Vadot
127*ae5de77eSEmmanuel Vadot&sdhc {
128*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&sdc_default_state>;
129*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
130*ae5de77eSEmmanuel Vadot
131*ae5de77eSEmmanuel Vadot	status = "okay";
132*ae5de77eSEmmanuel Vadot};
133*ae5de77eSEmmanuel Vadot
1342846c905SEmmanuel Vadot&sleep_clk {
1352846c905SEmmanuel Vadot	clock-frequency = <32000>;
1362846c905SEmmanuel Vadot};
1372846c905SEmmanuel Vadot
1382846c905SEmmanuel Vadot&spi0 {
1392846c905SEmmanuel Vadot	pinctrl-0 = <&spi0_default_state>;
1402846c905SEmmanuel Vadot	pinctrl-names = "default";
1412846c905SEmmanuel Vadot	status = "okay";
1422846c905SEmmanuel Vadot
1432846c905SEmmanuel Vadot	flash@0 {
1442846c905SEmmanuel Vadot		compatible = "micron,n25q128a11", "jedec,spi-nor";
1452846c905SEmmanuel Vadot		reg = <0>;
1462846c905SEmmanuel Vadot		#address-cells = <1>;
1472846c905SEmmanuel Vadot		#size-cells = <1>;
1482846c905SEmmanuel Vadot		spi-max-frequency = <50000000>;
1492846c905SEmmanuel Vadot	};
1502846c905SEmmanuel Vadot};
1512846c905SEmmanuel Vadot
1522846c905SEmmanuel Vadot&ssphy_0 {
1532846c905SEmmanuel Vadot	vdda-pll-supply = <&vreg_misc_1p8>;
1542846c905SEmmanuel Vadot	vdda-phy-supply = <&vreg_misc_0p925>;
1552846c905SEmmanuel Vadot
1562846c905SEmmanuel Vadot	status = "okay";
1572846c905SEmmanuel Vadot};
1582846c905SEmmanuel Vadot
1592846c905SEmmanuel Vadot&tlmm {
160*ae5de77eSEmmanuel Vadot	gpio_keys_default: gpio-keys-default-state {
161*ae5de77eSEmmanuel Vadot		pins = "gpio19";
162*ae5de77eSEmmanuel Vadot		function = "gpio";
163*ae5de77eSEmmanuel Vadot		drive-strength = <8>;
164*ae5de77eSEmmanuel Vadot		bias-pull-up;
165*ae5de77eSEmmanuel Vadot	};
166*ae5de77eSEmmanuel Vadot
167*ae5de77eSEmmanuel Vadot	gpio_leds_default: gpio-leds-default-state {
168*ae5de77eSEmmanuel Vadot		pins = "gpio42";
169*ae5de77eSEmmanuel Vadot		function = "gpio";
170*ae5de77eSEmmanuel Vadot		drive-strength = <8>;
171*ae5de77eSEmmanuel Vadot		bias-pull-down;
172*ae5de77eSEmmanuel Vadot	};
173*ae5de77eSEmmanuel Vadot
1742846c905SEmmanuel Vadot	spi0_default_state: spi0-default-state {
1752846c905SEmmanuel Vadot		clk-pins {
1762846c905SEmmanuel Vadot			pins = "gpio6";
1772846c905SEmmanuel Vadot			function = "spi0_clk";
1782846c905SEmmanuel Vadot			drive-strength = <8>;
1792846c905SEmmanuel Vadot			bias-pull-down;
1802846c905SEmmanuel Vadot		};
1812846c905SEmmanuel Vadot
1822846c905SEmmanuel Vadot		cs-pins {
1832846c905SEmmanuel Vadot			pins = "gpio7";
1842846c905SEmmanuel Vadot			function = "spi0_cs";
1852846c905SEmmanuel Vadot			drive-strength = <8>;
1862846c905SEmmanuel Vadot			bias-pull-up;
1872846c905SEmmanuel Vadot		};
1882846c905SEmmanuel Vadot
1892846c905SEmmanuel Vadot		miso-pins {
1902846c905SEmmanuel Vadot			pins = "gpio8";
1912846c905SEmmanuel Vadot			function = "spi0_miso";
1922846c905SEmmanuel Vadot			drive-strength = <8>;
1932846c905SEmmanuel Vadot			bias-pull-down;
1942846c905SEmmanuel Vadot		};
1952846c905SEmmanuel Vadot
1962846c905SEmmanuel Vadot		mosi-pins {
1972846c905SEmmanuel Vadot			pins = "gpio9";
1982846c905SEmmanuel Vadot			function = "spi0_mosi";
1992846c905SEmmanuel Vadot			drive-strength = <8>;
2002846c905SEmmanuel Vadot			bias-pull-down;
2012846c905SEmmanuel Vadot		};
2022846c905SEmmanuel Vadot	};
2032846c905SEmmanuel Vadot
2042846c905SEmmanuel Vadot	sdc_default_state: sdc-default-state {
2052846c905SEmmanuel Vadot		clk-pins {
2062846c905SEmmanuel Vadot			pins = "gpio5";
2072846c905SEmmanuel Vadot			function = "sdc_clk";
2082846c905SEmmanuel Vadot			drive-strength = <8>;
2092846c905SEmmanuel Vadot			bias-disable;
2102846c905SEmmanuel Vadot		};
2112846c905SEmmanuel Vadot
2122846c905SEmmanuel Vadot		cmd-pins {
2132846c905SEmmanuel Vadot			pins = "gpio4";
2142846c905SEmmanuel Vadot			function = "sdc_cmd";
2152846c905SEmmanuel Vadot			drive-strength = <8>;
2162846c905SEmmanuel Vadot			bias-pull-up;
2172846c905SEmmanuel Vadot		};
2182846c905SEmmanuel Vadot
2192846c905SEmmanuel Vadot		data-pins {
2202846c905SEmmanuel Vadot			pins = "gpio0", "gpio1", "gpio2", "gpio3";
2212846c905SEmmanuel Vadot			function = "sdc_data";
2222846c905SEmmanuel Vadot			drive-strength = <8>;
2232846c905SEmmanuel Vadot			bias-pull-up;
2242846c905SEmmanuel Vadot		};
2252846c905SEmmanuel Vadot	};
226*ae5de77eSEmmanuel Vadot
227*ae5de77eSEmmanuel Vadot	pcie2_default_state: pcie2-default-state {
228*ae5de77eSEmmanuel Vadot		pins = "gpio31";
229*ae5de77eSEmmanuel Vadot		function = "gpio";
230*ae5de77eSEmmanuel Vadot		drive-strength = <8>;
231*ae5de77eSEmmanuel Vadot		bias-pull-up;
232*ae5de77eSEmmanuel Vadot	};
233*ae5de77eSEmmanuel Vadot
234*ae5de77eSEmmanuel Vadot	pcie3_default_state: pcie3-default-state {
235*ae5de77eSEmmanuel Vadot		pins = "gpio34";
236*ae5de77eSEmmanuel Vadot		function = "gpio";
237*ae5de77eSEmmanuel Vadot		drive-strength = <8>;
238*ae5de77eSEmmanuel Vadot		bias-pull-up;
239*ae5de77eSEmmanuel Vadot	};
2402846c905SEmmanuel Vadot};
2412846c905SEmmanuel Vadot
2422846c905SEmmanuel Vadot&uart1 {
2432846c905SEmmanuel Vadot	pinctrl-0 = <&uart1_pins>;
2442846c905SEmmanuel Vadot	pinctrl-names = "default";
2452846c905SEmmanuel Vadot	status = "okay";
2462846c905SEmmanuel Vadot};
2472846c905SEmmanuel Vadot
2482846c905SEmmanuel Vadot&usb2 {
2492846c905SEmmanuel Vadot	status = "okay";
2502846c905SEmmanuel Vadot};
2512846c905SEmmanuel Vadot
2522846c905SEmmanuel Vadot&usb3 {
2532846c905SEmmanuel Vadot	status = "okay";
2542846c905SEmmanuel Vadot};
2552846c905SEmmanuel Vadot
2562846c905SEmmanuel Vadot&xo_board {
2572846c905SEmmanuel Vadot	clock-frequency = <24000000>;
2582846c905SEmmanuel Vadot};
259