1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * IPQ9574 RDP433 board device tree source
4 *
5 * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
6 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
7 */
8
9/dts-v1/;
10
11#include "ipq9574.dtsi"
12
13/ {
14	model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7";
15	compatible = "qcom,ipq9574-ap-al02-c7", "qcom,ipq9574";
16
17	aliases {
18		serial0 = &blsp1_uart2;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	regulator_fixed_3p3: s3300 {
26		compatible = "regulator-fixed";
27		regulator-min-microvolt = <3300000>;
28		regulator-max-microvolt = <3300000>;
29		regulator-boot-on;
30		regulator-always-on;
31		regulator-name = "fixed_3p3";
32	};
33
34	regulator_fixed_0p925: s0925 {
35		compatible = "regulator-fixed";
36		regulator-min-microvolt = <925000>;
37		regulator-max-microvolt = <925000>;
38		regulator-boot-on;
39		regulator-always-on;
40		regulator-name = "fixed_0p925";
41	};
42};
43
44&blsp1_uart2 {
45	pinctrl-0 = <&uart2_pins>;
46	pinctrl-names = "default";
47	status = "okay";
48};
49
50&rpm_requests {
51	regulators {
52		compatible = "qcom,rpm-mp5496-regulators";
53
54		ipq9574_s1: s1 {
55		/*
56		 * During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
57		 * During regulator registration, kernel not knowing the initial voltage,
58		 * considers it as zero and brings up the regulators with minimum supported voltage.
59		 * Update the regulator-min-microvolt with SVS voltage of 725mV so that
60		 * the regulators are brought up with 725mV which is sufficient for all the
61		 * corner parts to operate at 800MHz
62		 */
63			regulator-min-microvolt = <725000>;
64			regulator-max-microvolt = <1075000>;
65		};
66
67		mp5496_l2: l2 {
68			regulator-min-microvolt = <1800000>;
69			regulator-max-microvolt = <1800000>;
70			regulator-always-on;
71			regulator-boot-on;
72		};
73	};
74};
75
76&sdhc_1 {
77	pinctrl-0 = <&sdc_default_state>;
78	pinctrl-names = "default";
79	mmc-ddr-1_8v;
80	mmc-hs200-1_8v;
81	mmc-hs400-1_8v;
82	mmc-hs400-enhanced-strobe;
83	max-frequency = <384000000>;
84	bus-width = <8>;
85	status = "okay";
86};
87
88&sleep_clk {
89	clock-frequency = <32000>;
90};
91
92&tlmm {
93	sdc_default_state: sdc-default-state {
94		clk-pins {
95			pins = "gpio5";
96			function = "sdc_clk";
97			drive-strength = <8>;
98			bias-disable;
99		};
100
101		cmd-pins {
102			pins = "gpio4";
103			function = "sdc_cmd";
104			drive-strength = <8>;
105			bias-pull-up;
106		};
107
108		data-pins {
109			pins = "gpio0", "gpio1", "gpio2",
110			       "gpio3", "gpio6", "gpio7",
111			       "gpio8", "gpio9";
112			function = "sdc_data";
113			drive-strength = <8>;
114			bias-pull-up;
115		};
116
117		rclk-pins {
118			pins = "gpio10";
119			function = "sdc_rclk";
120			drive-strength = <8>;
121			bias-pull-down;
122		};
123	};
124};
125
126&usb_0_dwc3 {
127	dr_mode = "host";
128};
129
130&usb_0_qmpphy {
131	vdda-pll-supply = <&mp5496_l2>;
132	vdda-phy-supply = <&regulator_fixed_0p925>;
133
134	status = "okay";
135};
136
137&usb_0_qusbphy {
138	vdd-supply = <&regulator_fixed_0p925>;
139	vdda-pll-supply = <&mp5496_l2>;
140	vdda-phy-dpdm-supply = <&regulator_fixed_3p3>;
141
142	status = "okay";
143};
144
145&usb3 {
146	status = "okay";
147};
148
149&xo_board_clk {
150	clock-frequency = <24000000>;
151};
152