xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sdm632-motorola-ocean.dts (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1*3176c4d6SGabriela David// SPDX-License-Identifier: BSD-3-Clause
2*3176c4d6SGabriela David/*
3*3176c4d6SGabriela David * Copyright (c) 2022, Gabriela David
4*3176c4d6SGabriela David */
5*3176c4d6SGabriela David/dts-v1/;
6*3176c4d6SGabriela David
7*3176c4d6SGabriela David#include "sdm632.dtsi"
8*3176c4d6SGabriela David#include "pm8953.dtsi"
9*3176c4d6SGabriela David#include <dt-bindings/leds/common.h>
10*3176c4d6SGabriela David
11*3176c4d6SGabriela David/delete-node/ &cont_splash_mem;
12*3176c4d6SGabriela David/delete-node/ &qseecom_mem;
13*3176c4d6SGabriela David
14*3176c4d6SGabriela David/ {
15*3176c4d6SGabriela David	model = "Motorola G7 Power";
16*3176c4d6SGabriela David	compatible = "motorola,ocean", "qcom,sdm632";
17*3176c4d6SGabriela David	chassis-type = "handset";
18*3176c4d6SGabriela David	qcom,msm-id = <349 0>;
19*3176c4d6SGabriela David	qcom,board-id = <0x141 0xc100>;
20*3176c4d6SGabriela David	qcom,pmic-id = <0x10016 0x25 0x00 0x00>;
21*3176c4d6SGabriela David
22*3176c4d6SGabriela David	backlight: backlight {
23*3176c4d6SGabriela David		compatible = "led-backlight";
24*3176c4d6SGabriela David		leds = <&led>;
25*3176c4d6SGabriela David	};
26*3176c4d6SGabriela David
27*3176c4d6SGabriela David	chosen {
28*3176c4d6SGabriela David		#address-cells = <2>;
29*3176c4d6SGabriela David		#size-cells = <2>;
30*3176c4d6SGabriela David		ranges;
31*3176c4d6SGabriela David
32*3176c4d6SGabriela David		framebuffer@90001000 {
33*3176c4d6SGabriela David			compatible = "simple-framebuffer";
34*3176c4d6SGabriela David			reg = <0 0x90001000 0 (720 * 1520 * 3)>;
35*3176c4d6SGabriela David
36*3176c4d6SGabriela David			width = <720>;
37*3176c4d6SGabriela David			height = <1520>;
38*3176c4d6SGabriela David			stride = <(720 * 3)>;
39*3176c4d6SGabriela David			format = "r8g8b8";
40*3176c4d6SGabriela David
41*3176c4d6SGabriela David			power-domains = <&gcc MDSS_GDSC>;
42*3176c4d6SGabriela David
43*3176c4d6SGabriela David			clocks = <&gcc GCC_MDSS_AHB_CLK>,
44*3176c4d6SGabriela David				 <&gcc GCC_MDSS_AXI_CLK>,
45*3176c4d6SGabriela David				 <&gcc GCC_MDSS_VSYNC_CLK>,
46*3176c4d6SGabriela David				 <&gcc GCC_MDSS_MDP_CLK>,
47*3176c4d6SGabriela David				 <&gcc GCC_MDSS_BYTE0_CLK>,
48*3176c4d6SGabriela David				 <&gcc GCC_MDSS_PCLK0_CLK>,
49*3176c4d6SGabriela David				 <&gcc GCC_MDSS_ESC0_CLK>;
50*3176c4d6SGabriela David		};
51*3176c4d6SGabriela David	};
52*3176c4d6SGabriela David
53*3176c4d6SGabriela David	gpio-keys {
54*3176c4d6SGabriela David		compatible = "gpio-keys";
55*3176c4d6SGabriela David
56*3176c4d6SGabriela David		pinctrl-names = "default";
57*3176c4d6SGabriela David		pinctrl-0 = <&gpio_key_default>;
58*3176c4d6SGabriela David
59*3176c4d6SGabriela David		key-volume-up {
60*3176c4d6SGabriela David			label = "Volume Up";
61*3176c4d6SGabriela David			gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
62*3176c4d6SGabriela David			linux,code = <KEY_VOLUMEUP>;
63*3176c4d6SGabriela David		};
64*3176c4d6SGabriela David	};
65*3176c4d6SGabriela David
66*3176c4d6SGabriela David	reserved-memory {
67*3176c4d6SGabriela David		qseecom_mem: qseecom@84300000 {
68*3176c4d6SGabriela David			reg = <0x0 0x84300000 0x0 0x2000000>;
69*3176c4d6SGabriela David			no-map;
70*3176c4d6SGabriela David		};
71*3176c4d6SGabriela David
72*3176c4d6SGabriela David		cont_splash_mem: cont-splash@90001000 {
73*3176c4d6SGabriela David			reg = <0x0 0x90001000 0x0 (720 * 1520 * 3)>;
74*3176c4d6SGabriela David			no-map;
75*3176c4d6SGabriela David		};
76*3176c4d6SGabriela David
77*3176c4d6SGabriela David		reserved@eefa1800 {
78*3176c4d6SGabriela David			reg = <0x00 0xeefa1800 0x00 0x5e800>;
79*3176c4d6SGabriela David			no-map;
80*3176c4d6SGabriela David		};
81*3176c4d6SGabriela David
82*3176c4d6SGabriela David		ramoops@ef000000 {
83*3176c4d6SGabriela David			compatible = "ramoops";
84*3176c4d6SGabriela David			reg = <0x0 0xef000000 0x0 0xbf800>;
85*3176c4d6SGabriela David			console-size = <0x40000>;
86*3176c4d6SGabriela David			pmsg-size = <0x40000>;
87*3176c4d6SGabriela David			record-size = <0x3f800>;
88*3176c4d6SGabriela David		};
89*3176c4d6SGabriela David	};
90*3176c4d6SGabriela David
91*3176c4d6SGabriela David	vph_pwr: vph-pwr-regulator {
92*3176c4d6SGabriela David		compatible = "regulator-fixed";
93*3176c4d6SGabriela David		regulator-name = "vph_pwr";
94*3176c4d6SGabriela David		regulator-always-on;
95*3176c4d6SGabriela David		regulator-boot-on;
96*3176c4d6SGabriela David	};
97*3176c4d6SGabriela David};
98*3176c4d6SGabriela David
99*3176c4d6SGabriela David&hsusb_phy {
100*3176c4d6SGabriela David	vdd-supply = <&pm8953_l3>;
101*3176c4d6SGabriela David	vdda-pll-supply = <&pm8953_l7>;
102*3176c4d6SGabriela David	vdda-phy-dpdm-supply = <&pm8953_l13>;
103*3176c4d6SGabriela David
104*3176c4d6SGabriela David	status = "okay";
105*3176c4d6SGabriela David};
106*3176c4d6SGabriela David
107*3176c4d6SGabriela David&i2c_3 {
108*3176c4d6SGabriela David	status = "okay";
109*3176c4d6SGabriela David
110*3176c4d6SGabriela David	touchscreen@41 {
111*3176c4d6SGabriela David		compatible = "ilitek,ili2117";
112*3176c4d6SGabriela David		reg = <0x41>;
113*3176c4d6SGabriela David
114*3176c4d6SGabriela David		interrupt-parent = <&tlmm>;
115*3176c4d6SGabriela David		interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
116*3176c4d6SGabriela David
117*3176c4d6SGabriela David		touchscreen-inverted-x;
118*3176c4d6SGabriela David	};
119*3176c4d6SGabriela David};
120*3176c4d6SGabriela David
121*3176c4d6SGabriela David&i2c_5 {
122*3176c4d6SGabriela David	status = "okay";
123*3176c4d6SGabriela David
124*3176c4d6SGabriela David	led-controller@36 {
125*3176c4d6SGabriela David		compatible = "ti,lm3697";
126*3176c4d6SGabriela David		reg = <0x36>;
127*3176c4d6SGabriela David
128*3176c4d6SGabriela David		#address-cells = <1>;
129*3176c4d6SGabriela David		#size-cells = <0>;
130*3176c4d6SGabriela David
131*3176c4d6SGabriela David		led: led@1 {
132*3176c4d6SGabriela David			reg = <1>;
133*3176c4d6SGabriela David			default-trigger = "backlight";
134*3176c4d6SGabriela David			function = LED_FUNCTION_BACKLIGHT;
135*3176c4d6SGabriela David			led-sources = <0 1 2>;
136*3176c4d6SGabriela David		};
137*3176c4d6SGabriela David	};
138*3176c4d6SGabriela David};
139*3176c4d6SGabriela David
140*3176c4d6SGabriela David&pm8953_resin {
141*3176c4d6SGabriela David	linux,code = <KEY_VOLUMEDOWN>;
142*3176c4d6SGabriela David	status = "okay";
143*3176c4d6SGabriela David};
144*3176c4d6SGabriela David
145*3176c4d6SGabriela David&rpm_requests {
146*3176c4d6SGabriela David	regulators {
147*3176c4d6SGabriela David		compatible = "qcom,rpm-pm8953-regulators";
148*3176c4d6SGabriela David
149*3176c4d6SGabriela David		vdd_l1-supply = <&pm8953_s3>;
150*3176c4d6SGabriela David		vdd_l2_l3-supply = <&pm8953_s3>;
151*3176c4d6SGabriela David		vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
152*3176c4d6SGabriela David		vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
153*3176c4d6SGabriela David		vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
154*3176c4d6SGabriela David
155*3176c4d6SGabriela David		pm8953_s3: s3 {
156*3176c4d6SGabriela David			regulator-min-microvolt = <984000>;
157*3176c4d6SGabriela David			regulator-max-microvolt = <1240000>;
158*3176c4d6SGabriela David		};
159*3176c4d6SGabriela David
160*3176c4d6SGabriela David		pm8953_s4: s4 {
161*3176c4d6SGabriela David			regulator-min-microvolt = <1036000>;
162*3176c4d6SGabriela David			regulator-max-microvolt = <2040000>;
163*3176c4d6SGabriela David		};
164*3176c4d6SGabriela David
165*3176c4d6SGabriela David		pm8953_l1: l1 {
166*3176c4d6SGabriela David			regulator-min-microvolt = <975000>;
167*3176c4d6SGabriela David			regulator-max-microvolt = <1050000>;
168*3176c4d6SGabriela David		};
169*3176c4d6SGabriela David
170*3176c4d6SGabriela David		pm8953_l2: l2 {
171*3176c4d6SGabriela David			regulator-min-microvolt = <975000>;
172*3176c4d6SGabriela David			regulator-max-microvolt = <1175000>;
173*3176c4d6SGabriela David		};
174*3176c4d6SGabriela David
175*3176c4d6SGabriela David		pm8953_l3: l3 {
176*3176c4d6SGabriela David			regulator-min-microvolt = <925000>;
177*3176c4d6SGabriela David			regulator-max-microvolt = <925000>;
178*3176c4d6SGabriela David			regulator-allow-set-load;
179*3176c4d6SGabriela David		};
180*3176c4d6SGabriela David
181*3176c4d6SGabriela David		pm8953_l5: l5 {
182*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
183*3176c4d6SGabriela David			regulator-max-microvolt = <1800000>;
184*3176c4d6SGabriela David		};
185*3176c4d6SGabriela David
186*3176c4d6SGabriela David		pm8953_l6: l6 {
187*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
188*3176c4d6SGabriela David			regulator-max-microvolt = <1800000>;
189*3176c4d6SGabriela David			regulator-always-on;
190*3176c4d6SGabriela David			regulator-boot-on;
191*3176c4d6SGabriela David		};
192*3176c4d6SGabriela David
193*3176c4d6SGabriela David		pm8953_l7: l7 {
194*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
195*3176c4d6SGabriela David			regulator-max-microvolt = <1900000>;
196*3176c4d6SGabriela David		};
197*3176c4d6SGabriela David
198*3176c4d6SGabriela David		pm8953_l8: l8 {
199*3176c4d6SGabriela David			regulator-min-microvolt = <2900000>;
200*3176c4d6SGabriela David			regulator-max-microvolt = <2900000>;
201*3176c4d6SGabriela David		};
202*3176c4d6SGabriela David
203*3176c4d6SGabriela David		pm8953_l9: l9 {
204*3176c4d6SGabriela David			regulator-min-microvolt = <3000000>;
205*3176c4d6SGabriela David			regulator-max-microvolt = <3300000>;
206*3176c4d6SGabriela David		};
207*3176c4d6SGabriela David
208*3176c4d6SGabriela David		pm8953_l10: l10 {
209*3176c4d6SGabriela David			regulator-min-microvolt = <2800000>;
210*3176c4d6SGabriela David			regulator-max-microvolt = <3000000>;
211*3176c4d6SGabriela David		};
212*3176c4d6SGabriela David
213*3176c4d6SGabriela David		pm8953_l11: l11 {
214*3176c4d6SGabriela David			regulator-min-microvolt = <2950000>;
215*3176c4d6SGabriela David			regulator-max-microvolt = <2950000>;
216*3176c4d6SGabriela David		};
217*3176c4d6SGabriela David
218*3176c4d6SGabriela David		pm8953_l12: l12 {
219*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
220*3176c4d6SGabriela David			regulator-max-microvolt = <2950000>;
221*3176c4d6SGabriela David		};
222*3176c4d6SGabriela David
223*3176c4d6SGabriela David		pm8953_l13: l13 {
224*3176c4d6SGabriela David			regulator-min-microvolt = <3125000>;
225*3176c4d6SGabriela David			regulator-max-microvolt = <3125000>;
226*3176c4d6SGabriela David		};
227*3176c4d6SGabriela David
228*3176c4d6SGabriela David		pm8953_l16: l16 {
229*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
230*3176c4d6SGabriela David			regulator-max-microvolt = <1800000>;
231*3176c4d6SGabriela David		};
232*3176c4d6SGabriela David
233*3176c4d6SGabriela David		pm8953_l17: l17 {
234*3176c4d6SGabriela David			regulator-min-microvolt = <2850000>;
235*3176c4d6SGabriela David			regulator-max-microvolt = <2850000>;
236*3176c4d6SGabriela David		};
237*3176c4d6SGabriela David
238*3176c4d6SGabriela David		pm8953_l18: l18 {
239*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
240*3176c4d6SGabriela David			regulator-max-microvolt = <2700000>;
241*3176c4d6SGabriela David			regulator-always-on;
242*3176c4d6SGabriela David			regulator-boot-on;
243*3176c4d6SGabriela David		};
244*3176c4d6SGabriela David
245*3176c4d6SGabriela David		pm8953_l19: l19 {
246*3176c4d6SGabriela David			regulator-min-microvolt = <1200000>;
247*3176c4d6SGabriela David			regulator-max-microvolt = <1350000>;
248*3176c4d6SGabriela David		};
249*3176c4d6SGabriela David
250*3176c4d6SGabriela David		pm8953_l22: l22 {
251*3176c4d6SGabriela David			regulator-min-microvolt = <1800000>;
252*3176c4d6SGabriela David			regulator-max-microvolt = <1800000>;
253*3176c4d6SGabriela David			regulator-always-on;
254*3176c4d6SGabriela David		};
255*3176c4d6SGabriela David
256*3176c4d6SGabriela David		pm8953_l23: l23 {
257*3176c4d6SGabriela David			regulator-min-microvolt = <975000>;
258*3176c4d6SGabriela David			regulator-max-microvolt = <1225000>;
259*3176c4d6SGabriela David		};
260*3176c4d6SGabriela David	};
261*3176c4d6SGabriela David};
262*3176c4d6SGabriela David
263*3176c4d6SGabriela David&sdhc_1 {
264*3176c4d6SGabriela David	vmmc-supply = <&pm8953_l8>;
265*3176c4d6SGabriela David	vqmmc-supply = <&pm8953_l5>;
266*3176c4d6SGabriela David
267*3176c4d6SGabriela David	status = "okay";
268*3176c4d6SGabriela David};
269*3176c4d6SGabriela David
270*3176c4d6SGabriela David&sdhc_2 {
271*3176c4d6SGabriela David	vmmc-supply = <&pm8953_l11>;
272*3176c4d6SGabriela David	vqmmc-supply = <&pm8953_l12>;
273*3176c4d6SGabriela David
274*3176c4d6SGabriela David	pinctrl-names = "default", "sleep";
275*3176c4d6SGabriela David	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
276*3176c4d6SGabriela David	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
277*3176c4d6SGabriela David
278*3176c4d6SGabriela David	status = "okay";
279*3176c4d6SGabriela David};
280*3176c4d6SGabriela David
281*3176c4d6SGabriela David&tlmm {
282*3176c4d6SGabriela David	gpio-reserved-ranges = <96 4>;
283*3176c4d6SGabriela David};
284*3176c4d6SGabriela David
285*3176c4d6SGabriela David&usb3 {
286*3176c4d6SGabriela David	status = "okay";
287*3176c4d6SGabriela David};
288*3176c4d6SGabriela David
289*3176c4d6SGabriela David&usb3_dwc3 {
290*3176c4d6SGabriela David	dr_mode = "peripheral";
291*3176c4d6SGabriela David};
292