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