xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1f110f2afSIskren Chernev// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2f110f2afSIskren Chernev/*
3f110f2afSIskren Chernev * Copyright (c) 2021, Iskren Chernev <iskren.chernev@gmail.com>
4f110f2afSIskren Chernev */
5f110f2afSIskren Chernev
6f110f2afSIskren Chernev/dts-v1/;
7f110f2afSIskren Chernev
8f110f2afSIskren Chernev#include "sm4250.dtsi"
9f110f2afSIskren Chernev
10f110f2afSIskren Chernev/ {
11f110f2afSIskren Chernev	model = "OnePlus Nord N100";
12f110f2afSIskren Chernev	compatible = "oneplus,billie2", "qcom,sm4250";
13f110f2afSIskren Chernev
14f110f2afSIskren Chernev	/* required for bootloader to select correct board */
15f110f2afSIskren Chernev	qcom,msm-id = <0x1a1 0x10000 0x1bc 0x10000>;
16f110f2afSIskren Chernev	qcom,board-id = <0x1000b 0x00>;
17f110f2afSIskren Chernev
18f110f2afSIskren Chernev	aliases {
19f110f2afSIskren Chernev	};
20f110f2afSIskren Chernev
21f110f2afSIskren Chernev	chosen {
22f110f2afSIskren Chernev		#address-cells = <2>;
23f110f2afSIskren Chernev		#size-cells = <2>;
24f110f2afSIskren Chernev		ranges;
25f110f2afSIskren Chernev
26f110f2afSIskren Chernev		stdout-path = "framebuffer0";
27f110f2afSIskren Chernev
28f110f2afSIskren Chernev		framebuffer0: framebuffer@9d400000 {
29f110f2afSIskren Chernev			compatible = "simple-framebuffer";
30f110f2afSIskren Chernev			reg = <0 0x5c000000 0 (1600 * 720 * 4)>;
31f110f2afSIskren Chernev			width = <720>;
32f110f2afSIskren Chernev			height = <1600>;
33f110f2afSIskren Chernev			stride = <(720 * 4)>;
34f110f2afSIskren Chernev			format = "a8r8g8b8";
35f110f2afSIskren Chernev		};
36f110f2afSIskren Chernev	};
37f110f2afSIskren Chernev};
38f110f2afSIskren Chernev
39f110f2afSIskren Chernev&reserved_memory {
40f110f2afSIskren Chernev	bootloader_log_mem: memory@5fff7000 {
41f110f2afSIskren Chernev		reg = <0x0 0x5fff7000 0x0 0x8000>;
42f110f2afSIskren Chernev		no-map;
43f110f2afSIskren Chernev	};
44f110f2afSIskren Chernev
45f110f2afSIskren Chernev	ramoops@cbe00000 {
46f110f2afSIskren Chernev		compatible = "ramoops";
47f110f2afSIskren Chernev		reg = <0x0 0xcbe00000 0x0 0x400000>;
48f110f2afSIskren Chernev		record-size = <0x40000>;
49f110f2afSIskren Chernev		pmsg-size = <0x200000>;
50f110f2afSIskren Chernev		console-size = <0x40000>;
51f110f2afSIskren Chernev		ftrace-size = <0x40000>;
52f110f2afSIskren Chernev	};
53f110f2afSIskren Chernev
54f110f2afSIskren Chernev	param_mem: memory@cc200000 {
55f110f2afSIskren Chernev		reg = <0x0 0xcc200000 0x0 0x100000>;
56f110f2afSIskren Chernev		no-map;
57f110f2afSIskren Chernev	};
58f110f2afSIskren Chernev
59f110f2afSIskren Chernev	mtp_mem: memory@cc300000 {
60f110f2afSIskren Chernev		reg = <0x00 0xcc300000 0x00 0xb00000>;
61f110f2afSIskren Chernev		no-map;
62f110f2afSIskren Chernev	};
63f110f2afSIskren Chernev};
64f110f2afSIskren Chernev
65f110f2afSIskren Chernev&rpm_requests {
66f110f2afSIskren Chernev	regulators-0 {
67f110f2afSIskren Chernev		compatible = "qcom,rpm-pm6125-regulators";
68f110f2afSIskren Chernev
69f110f2afSIskren Chernev		vreg_s6a: s6 {
70f110f2afSIskren Chernev			regulator-min-microvolt = <320000>;
71f110f2afSIskren Chernev			regulator-max-microvolt = <1456000>;
72f110f2afSIskren Chernev		};
73f110f2afSIskren Chernev
74f110f2afSIskren Chernev		vreg_s7a: s7 {
75f110f2afSIskren Chernev			regulator-min-microvolt = <1280000>;
76f110f2afSIskren Chernev			regulator-max-microvolt = <2040000>;
77f110f2afSIskren Chernev		};
78f110f2afSIskren Chernev
79f110f2afSIskren Chernev		vreg_s8a: s8 {
80f110f2afSIskren Chernev			regulator-min-microvolt = <1064000>;
81f110f2afSIskren Chernev			regulator-max-microvolt = <1304000>;
82f110f2afSIskren Chernev		};
83f110f2afSIskren Chernev
84f110f2afSIskren Chernev		vreg_l1a: l1 {
85f110f2afSIskren Chernev			regulator-min-microvolt = <952000>;
86f110f2afSIskren Chernev			regulator-max-microvolt = <1152000>;
87f110f2afSIskren Chernev		};
88f110f2afSIskren Chernev
89f110f2afSIskren Chernev		vreg_l4a: l4 {
90f110f2afSIskren Chernev			regulator-min-microvolt = <488000>;
91f110f2afSIskren Chernev			regulator-max-microvolt = <1000000>;
92f110f2afSIskren Chernev		};
93f110f2afSIskren Chernev
94f110f2afSIskren Chernev		vreg_l5a: l5 {
95f110f2afSIskren Chernev			regulator-min-microvolt = <1648000>;
96f110f2afSIskren Chernev			regulator-max-microvolt = <3056000>;
97f110f2afSIskren Chernev		};
98f110f2afSIskren Chernev
99f110f2afSIskren Chernev		vreg_l6a: l6 {
100f110f2afSIskren Chernev			regulator-min-microvolt = <576000>;
101f110f2afSIskren Chernev			regulator-max-microvolt = <656000>;
102f110f2afSIskren Chernev		};
103f110f2afSIskren Chernev
104f110f2afSIskren Chernev		vreg_l7a: l7 {
105f110f2afSIskren Chernev			regulator-min-microvolt = <1200000>;
106f110f2afSIskren Chernev			regulator-max-microvolt = <1304000>;
107f110f2afSIskren Chernev		};
108f110f2afSIskren Chernev
109f110f2afSIskren Chernev		vreg_l8a: l8 {
110f110f2afSIskren Chernev			regulator-min-microvolt = <400000>;
111f110f2afSIskren Chernev			regulator-max-microvolt = <728000>;
112f110f2afSIskren Chernev		};
113f110f2afSIskren Chernev
114f110f2afSIskren Chernev		vreg_l9a: l9 {
115f110f2afSIskren Chernev			regulator-min-microvolt = <1800000>;
116f110f2afSIskren Chernev			regulator-max-microvolt = <2000000>;
117f110f2afSIskren Chernev		};
118f110f2afSIskren Chernev
119f110f2afSIskren Chernev		vreg_l10a: l10 {
120f110f2afSIskren Chernev			regulator-min-microvolt = <1704000>;
121f110f2afSIskren Chernev			regulator-max-microvolt = <1904000>;
122f110f2afSIskren Chernev		};
123f110f2afSIskren Chernev
124f110f2afSIskren Chernev		vreg_l11a: l11 {
125f110f2afSIskren Chernev			regulator-min-microvolt = <1704000>;
126f110f2afSIskren Chernev			regulator-max-microvolt = <1952000>;
127f110f2afSIskren Chernev		};
128f110f2afSIskren Chernev
129f110f2afSIskren Chernev		vreg_l12a: l12 {
130f110f2afSIskren Chernev			regulator-min-microvolt = <1624000>;
131f110f2afSIskren Chernev			regulator-max-microvolt = <1984000>;
132f110f2afSIskren Chernev		};
133f110f2afSIskren Chernev
134f110f2afSIskren Chernev		vreg_l13a: l13 {
135f110f2afSIskren Chernev			regulator-min-microvolt = <1504000>;
136f110f2afSIskren Chernev			regulator-max-microvolt = <1952000>;
137f110f2afSIskren Chernev		};
138f110f2afSIskren Chernev
139f110f2afSIskren Chernev		vreg_l14a: l14 {
140f110f2afSIskren Chernev			regulator-min-microvolt = <1704000>;
141f110f2afSIskren Chernev			regulator-max-microvolt = <1904000>;
142f110f2afSIskren Chernev		};
143f110f2afSIskren Chernev
144f110f2afSIskren Chernev		vreg_l15a: l15 {
145f110f2afSIskren Chernev			regulator-min-microvolt = <2920000>;
146f110f2afSIskren Chernev			regulator-max-microvolt = <3232000>;
147f110f2afSIskren Chernev		};
148f110f2afSIskren Chernev
149f110f2afSIskren Chernev		vreg_l16a: l16 {
150f110f2afSIskren Chernev			regulator-min-microvolt = <1704000>;
151f110f2afSIskren Chernev			regulator-max-microvolt = <1904000>;
152f110f2afSIskren Chernev		};
153f110f2afSIskren Chernev
154f110f2afSIskren Chernev		vreg_l17a: l17 {
155f110f2afSIskren Chernev			regulator-min-microvolt = <1152000>;
156f110f2afSIskren Chernev			regulator-max-microvolt = <1304000>;
157f110f2afSIskren Chernev		};
158f110f2afSIskren Chernev
159f110f2afSIskren Chernev		vreg_l18a: l18 {
160f110f2afSIskren Chernev			regulator-min-microvolt = <1104000>;
161f110f2afSIskren Chernev			regulator-max-microvolt = <1304000>;
162f110f2afSIskren Chernev		};
163f110f2afSIskren Chernev
164f110f2afSIskren Chernev		vreg_l19a: l19 {
165f110f2afSIskren Chernev			regulator-min-microvolt = <1624000>;
166f110f2afSIskren Chernev			regulator-max-microvolt = <3304000>;
167f110f2afSIskren Chernev		};
168f110f2afSIskren Chernev
169f110f2afSIskren Chernev		vreg_l20a: l20 {
170f110f2afSIskren Chernev			regulator-min-microvolt = <1624000>;
171f110f2afSIskren Chernev			regulator-max-microvolt = <3304000>;
172f110f2afSIskren Chernev		};
173f110f2afSIskren Chernev
174f110f2afSIskren Chernev		vreg_l21a: l21 {
175f110f2afSIskren Chernev			regulator-min-microvolt = <2400000>;
176f110f2afSIskren Chernev			regulator-max-microvolt = <3544000>;
177f110f2afSIskren Chernev		};
178f110f2afSIskren Chernev
179f110f2afSIskren Chernev		vreg_l22a: l22 {
180f110f2afSIskren Chernev			regulator-min-microvolt = <2952000>;
181f110f2afSIskren Chernev			regulator-max-microvolt = <3304000>;
182f110f2afSIskren Chernev		};
183f110f2afSIskren Chernev
184f110f2afSIskren Chernev		vreg_l23a: l23 {
185f110f2afSIskren Chernev			regulator-min-microvolt = <3296000>;
186f110f2afSIskren Chernev			regulator-max-microvolt = <3304000>;
187f110f2afSIskren Chernev		};
188f110f2afSIskren Chernev
189f110f2afSIskren Chernev		vreg_l24a: l24 {
190f110f2afSIskren Chernev			regulator-min-microvolt = <2704000>;
191f110f2afSIskren Chernev			regulator-max-microvolt = <3544000>;
192f110f2afSIskren Chernev		};
193f110f2afSIskren Chernev	};
194f110f2afSIskren Chernev};
195f110f2afSIskren Chernev
196f110f2afSIskren Chernev&sleep_clk {
197f110f2afSIskren Chernev	clock-frequency = <32764>;
198f110f2afSIskren Chernev};
199f110f2afSIskren Chernev
200f110f2afSIskren Chernev&sdhc_2 {
201f110f2afSIskren Chernev	vmmc-supply = <&vreg_l22a>;
202f110f2afSIskren Chernev	vqmmc-supply = <&vreg_l5a>;
203f110f2afSIskren Chernev
204f110f2afSIskren Chernev	cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>;
205*27ad7815SBhupesh Sharma	pinctrl-names = "default", "sleep";
206*27ad7815SBhupesh Sharma	pinctrl-0 = <&sdc2_state_on &sdc2_card_det_n>;
207*27ad7815SBhupesh Sharma	pinctrl-1 = <&sdc2_state_off &sdc2_card_det_n>;
208f110f2afSIskren Chernev
209f110f2afSIskren Chernev	status = "okay";
210f110f2afSIskren Chernev};
211f110f2afSIskren Chernev
212f110f2afSIskren Chernev&tlmm {
213f110f2afSIskren Chernev	gpio-reserved-ranges = <14 4>;
214*27ad7815SBhupesh Sharma
215*27ad7815SBhupesh Sharma	sdc2_card_det_n: sd-card-det-n-state {
216*27ad7815SBhupesh Sharma		pins = "gpio88";
217*27ad7815SBhupesh Sharma		function = "gpio";
218*27ad7815SBhupesh Sharma		drive-strength = <2>;
219*27ad7815SBhupesh Sharma		bias-pull-up;
220*27ad7815SBhupesh Sharma	};
221f110f2afSIskren Chernev};
222f110f2afSIskren Chernev
223f110f2afSIskren Chernev&ufs_mem_hc {
224f110f2afSIskren Chernev	vcc-supply = <&vreg_l24a>;
225f110f2afSIskren Chernev	vcc-max-microamp = <600000>;
226f110f2afSIskren Chernev	vccq2-supply = <&vreg_l11a>;
227f110f2afSIskren Chernev	vccq2-max-microamp = <600000>;
228f110f2afSIskren Chernev	status = "okay";
229f110f2afSIskren Chernev};
230f110f2afSIskren Chernev
231f110f2afSIskren Chernev&ufs_mem_phy {
232f110f2afSIskren Chernev	vdda-phy-supply = <&vreg_l4a>;
233f110f2afSIskren Chernev	vdda-pll-supply = <&vreg_l12a>;
234f110f2afSIskren Chernev	vddp-ref-clk-supply = <&vreg_l18a>;
235f110f2afSIskren Chernev	status = "okay";
236f110f2afSIskren Chernev};
237f110f2afSIskren Chernev
2380ea0edc0SBhupesh Sharma&usb {
239f110f2afSIskren Chernev	status = "okay";
240f110f2afSIskren Chernev};
241f110f2afSIskren Chernev
2421f1e5122SBhupesh Sharma&usb_dwc3 {
2431f1e5122SBhupesh Sharma	maximum-speed = "high-speed";
2441f1e5122SBhupesh Sharma	dr_mode = "peripheral";
2451f1e5122SBhupesh Sharma
2461f1e5122SBhupesh Sharma	phys = <&usb_hsphy>;
2470ea0edc0SBhupesh Sharma	phy-names = "usb2-phy";
248f110f2afSIskren Chernev};
249f110f2afSIskren Chernev
250f110f2afSIskren Chernev&usb_hsphy {
251f110f2afSIskren Chernev	vdd-supply = <&vreg_l4a>;
252f110f2afSIskren Chernev	vdda-pll-supply = <&vreg_l12a>;
253f110f2afSIskren Chernev	vdda-phy-dpdm-supply = <&vreg_l15a>;
254f110f2afSIskren Chernev	status = "okay";
255f110f2afSIskren Chernev};
256f110f2afSIskren Chernev
257&xo_board {
258	clock-frequency = <19200000>;
259};
260