blob: 175befc02b22f5df895e95d828edac35fbaed963 [file] [log] [blame]
Tom Rini6b642ac2024-10-01 12:20:28 -06001// 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};