xref: /linux/arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*11cf389cSEric Gonçalves// SPDX-License-Identifier: GPL-2.0-only
2*11cf389cSEric Gonçalves
3*11cf389cSEric Gonçalves/dts-v1/;
4*11cf389cSEric Gonçalves
5*11cf389cSEric Gonçalves#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
6*11cf389cSEric Gonçalves
7*11cf389cSEric Gonçalves#include "sm8450.dtsi"
8*11cf389cSEric Gonçalves#include "pm8350.dtsi"
9*11cf389cSEric Gonçalves#include "pm8350c.dtsi"
10*11cf389cSEric Gonçalves
11*11cf389cSEric Gonçalves/ {
12*11cf389cSEric Gonçalves	model = "Samsung Galaxy S22 5G";
13*11cf389cSEric Gonçalves	compatible = "samsung,r0q", "qcom,sm8450";
14*11cf389cSEric Gonçalves	chassis-type = "handset";
15*11cf389cSEric Gonçalves
16*11cf389cSEric Gonçalves	chosen {
17*11cf389cSEric Gonçalves		#address-cells = <2>;
18*11cf389cSEric Gonçalves		#size-cells = <2>;
19*11cf389cSEric Gonçalves		ranges;
20*11cf389cSEric Gonçalves
21*11cf389cSEric Gonçalves		framebuffer: framebuffer@b8000000 {
22*11cf389cSEric Gonçalves			compatible = "simple-framebuffer";
23*11cf389cSEric Gonçalves			reg = <0x0 0xb8000000 0x0 0x2b00000>;
24*11cf389cSEric Gonçalves			width = <1080>;
25*11cf389cSEric Gonçalves			height = <2340>;
26*11cf389cSEric Gonçalves			stride = <(1080 * 4)>;
27*11cf389cSEric Gonçalves			format = "a8r8g8b8";
28*11cf389cSEric Gonçalves		};
29*11cf389cSEric Gonçalves	};
30*11cf389cSEric Gonçalves
31*11cf389cSEric Gonçalves	vph_pwr: regulator-vph-pwr {
32*11cf389cSEric Gonçalves		compatible = "regulator-fixed";
33*11cf389cSEric Gonçalves		regulator-name = "vph_pwr";
34*11cf389cSEric Gonçalves		regulator-min-microvolt = <3700000>;
35*11cf389cSEric Gonçalves		regulator-max-microvolt = <3700000>;
36*11cf389cSEric Gonçalves		regulator-always-on;
37*11cf389cSEric Gonçalves		regulator-boot-on;
38*11cf389cSEric Gonçalves	};
39*11cf389cSEric Gonçalves
40*11cf389cSEric Gonçalves	reserved-memory {
41*11cf389cSEric Gonçalves		/*
42*11cf389cSEric Gonçalves		 * The bootloader will only keep display hardware enabled
43*11cf389cSEric Gonçalves		 * if this memory region is named exactly 'splash_region'
44*11cf389cSEric Gonçalves		 */
45*11cf389cSEric Gonçalves		splash-region@b8000000 {
46*11cf389cSEric Gonçalves			reg = <0x0 0xb8000000 0x0 0x2b00000>;
47*11cf389cSEric Gonçalves			no-map;
48*11cf389cSEric Gonçalves		};
49*11cf389cSEric Gonçalves	};
50*11cf389cSEric Gonçalves};
51*11cf389cSEric Gonçalves
52*11cf389cSEric Gonçalves&apps_rsc {
53*11cf389cSEric Gonçalves	regulators-0 {
54*11cf389cSEric Gonçalves		compatible = "qcom,pm8350-rpmh-regulators";
55*11cf389cSEric Gonçalves		qcom,pmic-id = "b";
56*11cf389cSEric Gonçalves
57*11cf389cSEric Gonçalves		vdd-s1-supply = <&vph_pwr>;
58*11cf389cSEric Gonçalves		vdd-s2-supply = <&vph_pwr>;
59*11cf389cSEric Gonçalves		vdd-s3-supply = <&vph_pwr>;
60*11cf389cSEric Gonçalves		vdd-s4-supply = <&vph_pwr>;
61*11cf389cSEric Gonçalves		vdd-s5-supply = <&vph_pwr>;
62*11cf389cSEric Gonçalves		vdd-s6-supply = <&vph_pwr>;
63*11cf389cSEric Gonçalves		vdd-s7-supply = <&vph_pwr>;
64*11cf389cSEric Gonçalves		vdd-s8-supply = <&vph_pwr>;
65*11cf389cSEric Gonçalves		vdd-s9-supply = <&vph_pwr>;
66*11cf389cSEric Gonçalves		vdd-s10-supply = <&vph_pwr>;
67*11cf389cSEric Gonçalves		vdd-s11-supply = <&vph_pwr>;
68*11cf389cSEric Gonçalves		vdd-s12-supply = <&vph_pwr>;
69*11cf389cSEric Gonçalves
70*11cf389cSEric Gonçalves		vdd-l2-l7-supply = <&vreg_bob>;
71*11cf389cSEric Gonçalves		vdd-l3-l5-supply = <&vreg_bob>;
72*11cf389cSEric Gonçalves
73*11cf389cSEric Gonçalves		vreg_l2b_3p07: ldo2 {
74*11cf389cSEric Gonçalves			regulator-min-microvolt = <3072000>;
75*11cf389cSEric Gonçalves			regulator-max-microvolt = <3072000>;
76*11cf389cSEric Gonçalves			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
77*11cf389cSEric Gonçalves		};
78*11cf389cSEric Gonçalves
79*11cf389cSEric Gonçalves		vreg_l5b_0p88: ldo5 {
80*11cf389cSEric Gonçalves			regulator-min-microvolt = <880000>;
81*11cf389cSEric Gonçalves			regulator-max-microvolt = <888000>;
82*11cf389cSEric Gonçalves			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
83*11cf389cSEric Gonçalves		};
84*11cf389cSEric Gonçalves	};
85*11cf389cSEric Gonçalves
86*11cf389cSEric Gonçalves	regulators-1 {
87*11cf389cSEric Gonçalves		compatible = "qcom,pm8350c-rpmh-regulators";
88*11cf389cSEric Gonçalves		qcom,pmic-id = "c";
89*11cf389cSEric Gonçalves
90*11cf389cSEric Gonçalves		vdd-s1-supply = <&vph_pwr>;
91*11cf389cSEric Gonçalves		vdd-s2-supply = <&vph_pwr>;
92*11cf389cSEric Gonçalves		vdd-s3-supply = <&vph_pwr>;
93*11cf389cSEric Gonçalves		vdd-s4-supply = <&vph_pwr>;
94*11cf389cSEric Gonçalves		vdd-s5-supply = <&vph_pwr>;
95*11cf389cSEric Gonçalves		vdd-s6-supply = <&vph_pwr>;
96*11cf389cSEric Gonçalves		vdd-s7-supply = <&vph_pwr>;
97*11cf389cSEric Gonçalves		vdd-s8-supply = <&vph_pwr>;
98*11cf389cSEric Gonçalves		vdd-s9-supply = <&vph_pwr>;
99*11cf389cSEric Gonçalves		vdd-s10-supply = <&vph_pwr>;
100*11cf389cSEric Gonçalves
101*11cf389cSEric Gonçalves		vdd-l1-l12-supply = <&vreg_bob>;
102*11cf389cSEric Gonçalves		vdd-l2-l8-supply = <&vreg_bob>;
103*11cf389cSEric Gonçalves		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
104*11cf389cSEric Gonçalves		vdd-l6-l9-l11-supply = <&vreg_bob>;
105*11cf389cSEric Gonçalves
106*11cf389cSEric Gonçalves		vdd-bob-supply = <&vph_pwr>;
107*11cf389cSEric Gonçalves
108*11cf389cSEric Gonçalves		vreg_bob: bob {
109*11cf389cSEric Gonçalves			regulator-min-microvolt = <3008000>;
110*11cf389cSEric Gonçalves			regulator-max-microvolt = <3960000>;
111*11cf389cSEric Gonçalves			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
112*11cf389cSEric Gonçalves		};
113*11cf389cSEric Gonçalves
114*11cf389cSEric Gonçalves		vreg_l1c_1p8: ldo1 {
115*11cf389cSEric Gonçalves			regulator-min-microvolt = <1800000>;
116*11cf389cSEric Gonçalves			regulator-max-microvolt = <1800000>;
117*11cf389cSEric Gonçalves			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
118*11cf389cSEric Gonçalves		};
119*11cf389cSEric Gonçalves	};
120*11cf389cSEric Gonçalves};
121*11cf389cSEric Gonçalves
122*11cf389cSEric Gonçalves&tlmm {
123*11cf389cSEric Gonçalves	gpio-reserved-ranges = <36 4>; /* SPI (not linked to anything) */
124*11cf389cSEric Gonçalves};
125*11cf389cSEric Gonçalves
126*11cf389cSEric Gonçalves&usb_1 {
127*11cf389cSEric Gonçalves	/* Keep USB 2.0 only for now */
128*11cf389cSEric Gonçalves	qcom,select-utmi-as-pipe-clk;
129*11cf389cSEric Gonçalves
130*11cf389cSEric Gonçalves	dr_mode = "peripheral";
131*11cf389cSEric Gonçalves	maximum-speed = "high-speed";
132*11cf389cSEric Gonçalves	/* Remove USB3 phy */
133*11cf389cSEric Gonçalves	phys = <&usb_1_hsphy>;
134*11cf389cSEric Gonçalves	phy-names = "usb2-phy";
135*11cf389cSEric Gonçalves
136*11cf389cSEric Gonçalves	status = "okay";
137*11cf389cSEric Gonçalves};
138*11cf389cSEric Gonçalves
139*11cf389cSEric Gonçalves&usb_1_hsphy {
140*11cf389cSEric Gonçalves	vdda-pll-supply = <&vreg_l5b_0p88>;
141*11cf389cSEric Gonçalves	vdda18-supply = <&vreg_l1c_1p8>;
142*11cf389cSEric Gonçalves	vdda33-supply = <&vreg_l2b_3p07>;
143*11cf389cSEric Gonçalves
144*11cf389cSEric Gonçalves	status = "okay";
145*11cf389cSEric Gonçalves};
146