~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/msm8953-xiaomi-vince.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: BSD-3-Clause
  2 /*
  3  * Copyright (c) 2022, Eugene Lepshy <fekz115@gmail.com>
  4  * Copyright (c) 2022, Gianluca Boiano <morf3089@gmail.com>
  5  */
  6 /dts-v1/;
  7 
  8 #include "msm8953.dtsi"
  9 #include "pm8953.dtsi"
 10 #include "pmi8950.dtsi"
 11 #include <dt-bindings/leds/common.h>
 12 
 13 /delete-node/ &adsp_fw_mem;
 14 /delete-node/ &cont_splash_mem;
 15 /delete-node/ &qseecom_mem;
 16 /delete-node/ &wcnss_fw_mem;
 17 
 18 / {
 19         model = "Xiaomi Redmi 5 Plus";
 20         compatible = "xiaomi,vince", "qcom,msm8953";
 21         chassis-type = "handset";
 22         qcom,msm-id = <293 0>;
 23         qcom,board-id = <0x1000b 0x08>;
 24 
 25         gpio-keys {
 26                 compatible = "gpio-keys";
 27 
 28                 pinctrl-names = "default";
 29                 pinctrl-0 = <&gpio_key_default>;
 30 
 31                 key-volume-up {
 32                         label = "volume_up";
 33                         linux,code = <KEY_VOLUMEUP>;
 34                         gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
 35                 };
 36         };
 37 
 38         reserved-memory {
 39                 qseecom_mem: qseecom@84a00000 {
 40                         reg = <0x0 0x84a00000 0x0 0x1900000>;
 41                         no-map;
 42                 };
 43 
 44                 cont_splash_mem: cont-splash@90001000 {
 45                         reg = <0x0 0x90001000 0x0 (1080 * 2160 * 3)>;
 46                         no-map;
 47                 };
 48 
 49                 adsp_fw_mem: adsp@8d600000 {
 50                         reg = <0x0 0x8d600000 0x0 0x1200000>;
 51                         no-map;
 52                 };
 53 
 54                 wcnss_fw_mem: wcnss@8e800000 {
 55                         reg = <0x0 0x8e800000 0x0 0x700000>;
 56                         no-map;
 57                 };
 58 
 59                 ramoops@9ff00000 {
 60                         compatible = "ramoops";
 61                         reg = <0x0 0x9ff00000 0x0 0x100000>;
 62                         record-size = <0x1000>;
 63                         console-size = <0x80000>;
 64                         ftrace-size = <0x1000>;
 65                         pmsg-size = <0x8000>;
 66                 };
 67         };
 68 
 69         /*
 70          * We bitbang on &i2c_4 because BLSP is protected by TZ as sensors are
 71          * normally proxied via ADSP firmware. GPIOs aren't protected.
 72          */
 73         i2c-sensors {
 74                 compatible = "i2c-gpio";
 75                 sda-gpios = <&tlmm 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 76                 scl-gpios = <&tlmm 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 77                 i2c-gpio,delay-us = <2>; /* ~100 kHz */
 78                 #address-cells = <1>;
 79                 #size-cells = <0>;
 80 
 81                 imu@6a {
 82                         compatible = "st,lsm6dsl";
 83                         reg = <0x6a>;
 84                         vdd-supply = <&pm8953_l10>;
 85                         vddio-supply = <&pm8953_l6>;
 86                         mount-matrix = "1", "0", "0",
 87                                         "0", "-1", "0",
 88                                         "0", "0", "1";
 89                 };
 90         };
 91 
 92         vph_pwr: vph-pwr-regulator {
 93                 compatible = "regulator-fixed";
 94                 regulator-name = "vph_pwr";
 95                 regulator-always-on;
 96                 regulator-boot-on;
 97         };
 98 };
 99 
100 &hsusb_phy {
101         vdd-supply = <&pm8953_l3>;
102         vdda-pll-supply = <&pm8953_l7>;
103         vdda-phy-dpdm-supply = <&pm8953_l13>;
104 
105         status = "okay";
106 };
107 
108 &i2c_2 {
109         status = "okay";
110 
111         led-controller@45 {
112                 compatible = "awinic,aw2013";
113                 reg = <0x45>;
114 
115                 vcc-supply = <&pm8953_l10>;
116                 vio-supply = <&pm8953_l5>;
117 
118                 #address-cells = <1>;
119                 #size-cells = <0>;
120 
121                 led@0 {
122                         reg = <0>;
123                         led-max-microamp = <5000>;
124                         function = LED_FUNCTION_INDICATOR;
125                         color = <LED_COLOR_ID_WHITE>;
126                 };
127         };
128 };
129 
130 &i2c_3 {
131         status = "okay";
132 
133         touchscreen@20 {
134                 reg = <0x20>;
135                 compatible = "syna,rmi4-i2c";
136                 interrupts-extended = <&tlmm 65 IRQ_TYPE_EDGE_FALLING>;
137 
138                 #address-cells = <1>;
139                 #size-cells = <0>;
140 
141                 vdd-supply = <&pm8953_l10>;
142                 vio-supply = <&pm8953_l6>;
143 
144                 pinctrl-names = "init", "suspend";
145                 pinctrl-0 = <&ts_reset_active &ts_int_active>;
146                 pinctrl-1 = <&ts_reset_suspend &ts_int_suspend>;
147                 syna,reset-delay-ms = <200>;
148                 syna,startup-delay-ms = <500>;
149 
150                 rmi4-f01@1 {
151                         reg = <0x01>;
152                         syna,nosleep-mode = <1>;
153                 };
154 
155                 rmi4-f12@12 {
156                         reg = <0x12>;
157                         syna,rezero-wait-ms = <20>;
158                         syna,sensor-type = <1>;
159                         touchscreen-x-mm = <68>;
160                         touchscreen-y-mm = <122>;
161                 };
162         };
163 };
164 
165 &pm8953_resin {
166         linux,code = <KEY_VOLUMEDOWN>;
167         status = "okay";
168 };
169 
170 &pmi8950_wled {
171         qcom,current-limit-microamp = <20000>;
172         qcom,ovp-millivolt = <29600>;
173         qcom,num-strings = <2>;
174         qcom,external-pfet;
175         qcom,cabc;
176 
177         status = "okay";
178 };
179 
180 &rpm_requests {
181         regulators {
182                 compatible = "qcom,rpm-pm8953-regulators";
183                 vdd_s1-supply = <&vph_pwr>;
184                 vdd_s2-supply = <&vph_pwr>;
185                 vdd_s3-supply = <&vph_pwr>;
186                 vdd_s4-supply = <&vph_pwr>;
187                 vdd_s5-supply = <&vph_pwr>;
188                 vdd_s6-supply = <&vph_pwr>;
189                 vdd_s7-supply = <&vph_pwr>;
190                 vdd_l1-supply = <&pm8953_s3>;
191                 vdd_l2_l3-supply = <&pm8953_s3>;
192                 vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
193                 vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
194                 vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
195 
196                 pm8953_s1: s1 {
197                         regulator-min-microvolt = <870000>;
198                         regulator-max-microvolt = <1156000>;
199                 };
200 
201                 pm8953_s3: s3 {
202                         regulator-min-microvolt = <984000>;
203                         regulator-max-microvolt = <1224000>;
204                 };
205 
206                 pm8953_s4: s4 {
207                         regulator-min-microvolt = <1900000>;
208                         regulator-max-microvolt = <2050000>;
209                 };
210 
211                 pm8953_l1: l1 {
212                         regulator-min-microvolt = <1000000>;
213                         regulator-max-microvolt = <1100000>;
214                 };
215 
216                 pm8953_l2: l2 {
217                         regulator-min-microvolt = <1200000>;
218                         regulator-max-microvolt = <1225000>;
219                 };
220 
221                 pm8953_l3: l3 {
222                         regulator-min-microvolt = <925000>;
223                         regulator-max-microvolt = <925000>;
224                 };
225 
226                 pm8953_l5: l5 {
227                         regulator-min-microvolt = <1800000>;
228                         regulator-max-microvolt = <1800000>;
229                 };
230 
231                 pm8953_l6: l6 {
232                         regulator-min-microvolt = <1800000>;
233                         regulator-max-microvolt = <1800000>;
234                 };
235 
236                 pm8953_l7: l7 {
237                         regulator-min-microvolt = <1800000>;
238                         regulator-max-microvolt = <1900000>;
239                 };
240 
241                 pm8953_l8: l8 {
242                         regulator-min-microvolt = <2900000>;
243                         regulator-max-microvolt = <2900000>;
244                 };
245 
246                 pm8953_l9: l9 {
247                         regulator-min-microvolt = <3000000>;
248                         regulator-max-microvolt = <3300000>;
249                 };
250 
251                 pm8953_l10: l10 {
252                         regulator-min-microvolt = <2850000>;
253                         regulator-max-microvolt = <2850000>;
254                 };
255 
256                 pm8953_l11: l11 {
257                         regulator-min-microvolt = <2950000>;
258                         regulator-max-microvolt = <2950000>;
259                 };
260 
261                 pm8953_l12: l12 {
262                         regulator-min-microvolt = <1800000>;
263                         regulator-max-microvolt = <2950000>;
264                 };
265 
266                 pm8953_l13: l13 {
267                         regulator-min-microvolt = <3125000>;
268                         regulator-max-microvolt = <3125000>;
269                 };
270 
271                 pm8953_l16: l16 {
272                         regulator-min-microvolt = <1800000>;
273                         regulator-max-microvolt = <1800000>;
274                 };
275 
276                 pm8953_l17: l17 {
277                         regulator-min-microvolt = <2750000>;
278                         regulator-max-microvolt = <2850000>;
279                 };
280 
281                 pm8953_l19: l19 {
282                         regulator-min-microvolt = <1200000>;
283                         regulator-max-microvolt = <1380000>;
284                 };
285 
286                 pm8953_l22: l22 {
287                         regulator-min-microvolt = <2800000>;
288                         regulator-max-microvolt = <2800000>;
289                 };
290 
291                 pm8953_l23: l23 {
292                         regulator-min-microvolt = <1200000>;
293                         regulator-max-microvolt = <1225000>;
294                 };
295         };
296 };
297 
298 &sdhc_1 {
299         vmmc-supply = <&pm8953_l8>;
300         vqmmc-supply = <&pm8953_l5>;
301 
302         status = "okay";
303 };
304 
305 &sdhc_2 {
306         vmmc-supply = <&pm8953_l11>;
307         vqmmc-supply = <&pm8953_l12>;
308 
309         pinctrl-names = "default", "sleep";
310         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
311         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
312 
313         status = "okay";
314 };
315 
316 &tlmm {
317         gpio-reserved-ranges = <0 4>, <16 4>, <135 4>;
318 
319         ts_reset_active: ts-reset-active-state {
320                 pins = "gpio64";
321                 function = "gpio";
322                 drive-strength = <8>;
323                 bias-pull-up;
324         };
325 
326         ts_reset_suspend: ts-reset-suspend-state {
327                 pins = "gpio64";
328                 function = "gpio";
329                 drive-strength = <2>;
330                 bias-pull-up;
331         };
332 
333         ts_int_active: ts-int-active-state {
334                 pins = "gpio65";
335                 function = "gpio";
336                 drive-strength = <8>;
337                 bias-pull-up;
338         };
339 
340         ts_int_suspend: ts-int-suspend-state {
341                 pins = "gpio65";
342                 function = "gpio";
343                 drive-strength = <2>;
344                 bias-pull-down;
345         };
346 };
347 
348 &uart_0 {
349         pinctrl-names = "default";
350         pinctrl-0 = <&uart_console_active>;
351 
352         status = "okay";
353 };
354 
355 &usb3 {
356         status = "okay";
357 };
358 
359 &usb3_dwc3 {
360         /delete-property/ usb-role-switch;
361         dr_mode = "peripheral";
362 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php