xref: /linux/arch/arm64/boot/dts/qcom/sdm450-lenovo-tbx605f.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2024, Neil Armstrong <neil.armstrong@linaro.org>
4 */
5/dts-v1/;
6
7#include "sdm450.dtsi"
8#include "pm8953.dtsi"
9#include "pmi8950.dtsi"
10
11/ {
12	model = "Lenovo Smart Tab M10";
13	compatible = "lenovo,tbx605f", "qcom,sdm450";
14	chassis-type = "tablet";
15
16	chosen {
17		#address-cells = <2>;
18		#size-cells = <2>;
19		ranges;
20
21		framebuffer@90001000 {
22			compatible = "simple-framebuffer";
23			reg = <0 0x90001000 0 (1200 * 1920 * 3)>;
24
25			width = <1200>;
26			height = <1920>;
27			stride = <(1200 * 3)>;
28			format = "r8g8b8";
29
30			power-domains = <&gcc MDSS_GDSC>;
31
32			clocks = <&gcc GCC_MDSS_AHB_CLK>,
33				 <&gcc GCC_MDSS_AXI_CLK>,
34				 <&gcc GCC_MDSS_VSYNC_CLK>,
35				 <&gcc GCC_MDSS_MDP_CLK>,
36				 <&gcc GCC_MDSS_BYTE0_CLK>,
37				 <&gcc GCC_MDSS_PCLK0_CLK>,
38				 <&gcc GCC_MDSS_ESC0_CLK>;
39		};
40	};
41
42	reserved-memory {
43		other_ext_region@0 {
44			no-map;
45			reg = <0x00 0x84500000 0x00 0x2300000>;
46		};
47	};
48
49	gpio-keys {
50		compatible = "gpio-keys";
51		key-volume-up {
52			label = "volume_up";
53			gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
54			linux,code = <KEY_VOLUMEUP>;
55		};
56	};
57
58	vph_pwr: vph-pwr-regulator {
59		compatible = "regulator-fixed";
60		regulator-name = "vph_pwr";
61		regulator-always-on;
62		regulator-boot-on;
63	};
64};
65
66&hsusb_phy {
67	vdd-supply = <&pm8953_l3>;
68	vdda-pll-supply = <&pm8953_l7>;
69	vdda-phy-dpdm-supply = <&pm8953_l13>;
70
71	status = "okay";
72};
73
74&i2c_3 {
75	status = "okay";
76
77	touchscreen@38 {
78		compatible = "edt,edt-ft5506";
79		reg = <0x38>;
80		interrupt-parent = <&tlmm>;
81		interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
82		vcc-supply = <&pm8953_l10>;
83
84		pinctrl-names = "default";
85		pinctrl-0 = <&ts_int_active &ts_reset_active>;
86
87		reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
88		touchscreen-size-x = <1200>;
89		touchscreen-size-y = <1920>;
90	};
91};
92
93&pm8953_resin {
94	linux,code = <KEY_VOLUMEDOWN>;
95	status = "okay";
96};
97
98&rpm_requests {
99	regulators {
100		compatible = "qcom,rpm-pm8953-regulators";
101
102		vdd_s1-supply = <&vph_pwr>;
103		vdd_s2-supply = <&vph_pwr>;
104		vdd_s3-supply = <&vph_pwr>;
105		vdd_s4-supply = <&vph_pwr>;
106		vdd_s5-supply = <&vph_pwr>;
107		vdd_s6-supply = <&vph_pwr>;
108		vdd_s7-supply = <&vph_pwr>;
109		vdd_l1-supply = <&pm8953_s3>;
110		vdd_l2_l3-supply = <&pm8953_s3>;
111		vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
112		vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
113		vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
114
115		pm8953_s1: s1 {
116			regulator-min-microvolt = <870000>;
117			regulator-max-microvolt = <1156000>;
118		};
119
120		pm8953_s3: s3 {
121			regulator-min-microvolt = <1224000>;
122			regulator-max-microvolt = <1224000>;
123		};
124
125		pm8953_s4: s4 {
126			regulator-min-microvolt = <1900000>;
127			regulator-max-microvolt = <2050000>;
128		};
129
130		pm8953_l1: l1 {
131			regulator-min-microvolt = <1000000>;
132			regulator-max-microvolt = <1100000>;
133		};
134
135		pm8953_l2: l2 {
136			regulator-min-microvolt = <975000>;
137			regulator-max-microvolt = <1225000>;
138		};
139
140		pm8953_l3: l3 {
141			regulator-min-microvolt = <925000>;
142			regulator-max-microvolt = <925000>;
143		};
144
145		pm8953_l5: l5 {
146			regulator-min-microvolt = <1800000>;
147			regulator-max-microvolt = <1800000>;
148		};
149
150		pm8953_l6: l6 {
151			regulator-min-microvolt = <1800000>;
152			regulator-max-microvolt = <1800000>;
153		};
154
155		pm8953_l7: l7 {
156			regulator-min-microvolt = <1800000>;
157			regulator-max-microvolt = <1900000>;
158		};
159
160		pm8953_l8: l8 {
161			regulator-min-microvolt = <2900000>;
162			regulator-max-microvolt = <2900000>;
163		};
164
165		pm8953_l9: l9 {
166			regulator-min-microvolt = <3000000>;
167			regulator-max-microvolt = <3300000>;
168		};
169
170		pm8953_l10: l10 {
171			regulator-min-microvolt = <2850000>;
172			regulator-max-microvolt = <2850000>;
173		};
174
175		pm8953_l11: l11 {
176			regulator-min-microvolt = <3300000>;
177			regulator-max-microvolt = <3300000>;
178		};
179
180		pm8953_l12: l12 {
181			regulator-min-microvolt = <2950000>;
182			regulator-max-microvolt = <2950000>;
183		};
184
185		pm8953_l13: l13 {
186			regulator-min-microvolt = <3125000>;
187			regulator-max-microvolt = <3125000>;
188		};
189
190		pm8953_l16: l16 {
191			regulator-min-microvolt = <1800000>;
192			regulator-max-microvolt = <1800000>;
193		};
194
195		pm8953_l17: l17 {
196			regulator-min-microvolt = <2850000>;
197			regulator-max-microvolt = <2850000>;
198		};
199
200		pm8953_l19: l19 {
201			regulator-min-microvolt = <1200000>;
202			regulator-max-microvolt = <1350000>;
203		};
204
205		pm8953_l22: l22 {
206			regulator-min-microvolt = <2800000>;
207			regulator-max-microvolt = <2850000>;
208		};
209
210		pm8953_l23: l23 {
211			regulator-min-microvolt = <975000>;
212			regulator-max-microvolt = <1225000>;
213		};
214	};
215};
216
217&sdhc_1 {
218	vmmc-supply = <&pm8953_l8>;
219	vqmmc-supply = <&pm8953_l5>;
220
221	status = "okay";
222};
223
224&sdhc_2 {
225	vmmc-supply = <&pm8953_l11>;
226	vqmmc-supply = <&pm8953_l12>;
227
228	cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
229
230	pinctrl-names = "default", "sleep";
231	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_off>;
232	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
233
234	status = "okay";
235};
236
237&tlmm {
238	gpio-reserved-ranges = <0 4>, <135 4>;
239
240	ts_int_active: ts-int-active-state {
241		pins = "gpio65";
242		function = "gpio";
243		drive-strength = <8>;
244		bias-pull-up;
245	};
246
247	ts_reset_active: ts-reset-active-state {
248		pins = "gpio64";
249		function = "gpio";
250		drive-strength = <0x08>;
251		bias-pull-up;
252	};
253};
254
255&usb3 {
256	status = "okay";
257};
258
259&usb3_dwc3 {
260	dr_mode = "peripheral";
261};
262
263&wcnss {
264	vddpx-supply = <&pm8953_l5>;
265
266	status = "okay";
267};
268
269&wcnss_iris {
270	compatible = "qcom,wcn3660b";
271
272	vddxo-supply = <&pm8953_l7>;
273	vddrfa-supply = <&pm8953_l19>;
274	vddpa-supply = <&pm8953_l9>;
275	vdddig-supply = <&pm8953_l5>;
276};
277