162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * IPQ9574 RDP433 board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
662306a36Sopenharmony_ci * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include "ipq9574.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7";
1562306a36Sopenharmony_ci	compatible = "qcom,ipq9574-ap-al02-c7", "qcom,ipq9574";
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	aliases {
1862306a36Sopenharmony_ci		serial0 = &blsp1_uart2;
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	chosen {
2262306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	regulator_fixed_3p3: s3300 {
2662306a36Sopenharmony_ci		compatible = "regulator-fixed";
2762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
2862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
2962306a36Sopenharmony_ci		regulator-boot-on;
3062306a36Sopenharmony_ci		regulator-always-on;
3162306a36Sopenharmony_ci		regulator-name = "fixed_3p3";
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	regulator_fixed_0p925: s0925 {
3562306a36Sopenharmony_ci		compatible = "regulator-fixed";
3662306a36Sopenharmony_ci		regulator-min-microvolt = <925000>;
3762306a36Sopenharmony_ci		regulator-max-microvolt = <925000>;
3862306a36Sopenharmony_ci		regulator-boot-on;
3962306a36Sopenharmony_ci		regulator-always-on;
4062306a36Sopenharmony_ci		regulator-name = "fixed_0p925";
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci&blsp1_uart2 {
4562306a36Sopenharmony_ci	pinctrl-0 = <&uart2_pins>;
4662306a36Sopenharmony_ci	pinctrl-names = "default";
4762306a36Sopenharmony_ci	status = "okay";
4862306a36Sopenharmony_ci};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci&rpm_requests {
5162306a36Sopenharmony_ci	regulators {
5262306a36Sopenharmony_ci		compatible = "qcom,rpm-mp5496-regulators";
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		ipq9574_s1: s1 {
5562306a36Sopenharmony_ci		/*
5662306a36Sopenharmony_ci		 * During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
5762306a36Sopenharmony_ci		 * During regulator registration, kernel not knowing the initial voltage,
5862306a36Sopenharmony_ci		 * considers it as zero and brings up the regulators with minimum supported voltage.
5962306a36Sopenharmony_ci		 * Update the regulator-min-microvolt with SVS voltage of 725mV so that
6062306a36Sopenharmony_ci		 * the regulators are brought up with 725mV which is sufficient for all the
6162306a36Sopenharmony_ci		 * corner parts to operate at 800MHz
6262306a36Sopenharmony_ci		 */
6362306a36Sopenharmony_ci			regulator-min-microvolt = <725000>;
6462306a36Sopenharmony_ci			regulator-max-microvolt = <1075000>;
6562306a36Sopenharmony_ci		};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci		mp5496_l2: l2 {
6862306a36Sopenharmony_ci			regulator-min-microvolt = <1800000>;
6962306a36Sopenharmony_ci			regulator-max-microvolt = <1800000>;
7062306a36Sopenharmony_ci			regulator-always-on;
7162306a36Sopenharmony_ci			regulator-boot-on;
7262306a36Sopenharmony_ci		};
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci&sdhc_1 {
7762306a36Sopenharmony_ci	pinctrl-0 = <&sdc_default_state>;
7862306a36Sopenharmony_ci	pinctrl-names = "default";
7962306a36Sopenharmony_ci	mmc-ddr-1_8v;
8062306a36Sopenharmony_ci	mmc-hs200-1_8v;
8162306a36Sopenharmony_ci	mmc-hs400-1_8v;
8262306a36Sopenharmony_ci	mmc-hs400-enhanced-strobe;
8362306a36Sopenharmony_ci	max-frequency = <384000000>;
8462306a36Sopenharmony_ci	bus-width = <8>;
8562306a36Sopenharmony_ci	status = "okay";
8662306a36Sopenharmony_ci};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci&sleep_clk {
8962306a36Sopenharmony_ci	clock-frequency = <32000>;
9062306a36Sopenharmony_ci};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci&tlmm {
9362306a36Sopenharmony_ci	sdc_default_state: sdc-default-state {
9462306a36Sopenharmony_ci		clk-pins {
9562306a36Sopenharmony_ci			pins = "gpio5";
9662306a36Sopenharmony_ci			function = "sdc_clk";
9762306a36Sopenharmony_ci			drive-strength = <8>;
9862306a36Sopenharmony_ci			bias-disable;
9962306a36Sopenharmony_ci		};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci		cmd-pins {
10262306a36Sopenharmony_ci			pins = "gpio4";
10362306a36Sopenharmony_ci			function = "sdc_cmd";
10462306a36Sopenharmony_ci			drive-strength = <8>;
10562306a36Sopenharmony_ci			bias-pull-up;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		data-pins {
10962306a36Sopenharmony_ci			pins = "gpio0", "gpio1", "gpio2",
11062306a36Sopenharmony_ci			       "gpio3", "gpio6", "gpio7",
11162306a36Sopenharmony_ci			       "gpio8", "gpio9";
11262306a36Sopenharmony_ci			function = "sdc_data";
11362306a36Sopenharmony_ci			drive-strength = <8>;
11462306a36Sopenharmony_ci			bias-pull-up;
11562306a36Sopenharmony_ci		};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci		rclk-pins {
11862306a36Sopenharmony_ci			pins = "gpio10";
11962306a36Sopenharmony_ci			function = "sdc_rclk";
12062306a36Sopenharmony_ci			drive-strength = <8>;
12162306a36Sopenharmony_ci			bias-pull-down;
12262306a36Sopenharmony_ci		};
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci&usb_0_dwc3 {
12762306a36Sopenharmony_ci	dr_mode = "host";
12862306a36Sopenharmony_ci};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci&usb_0_qmpphy {
13162306a36Sopenharmony_ci	vdda-pll-supply = <&mp5496_l2>;
13262306a36Sopenharmony_ci	vdda-phy-supply = <&regulator_fixed_0p925>;
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci	status = "okay";
13562306a36Sopenharmony_ci};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci&usb_0_qusbphy {
13862306a36Sopenharmony_ci	vdd-supply = <&regulator_fixed_0p925>;
13962306a36Sopenharmony_ci	vdda-pll-supply = <&mp5496_l2>;
14062306a36Sopenharmony_ci	vdda-phy-dpdm-supply = <&regulator_fixed_3p3>;
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	status = "okay";
14362306a36Sopenharmony_ci};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci&usb3 {
14662306a36Sopenharmony_ci	status = "okay";
14762306a36Sopenharmony_ci};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci&xo_board_clk {
15062306a36Sopenharmony_ci	clock-frequency = <24000000>;
15162306a36Sopenharmony_ci};
152