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

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/qcom/qcom-msm8226-microsoft-common.dtsi

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  * Common Board Device Tree for Microsoft MSM8x26-based Lumias
  4  *
  5  * Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
  6  * Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
  7  * Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
  8  * Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
  9  */
 10 
 11 #include "qcom-msm8226.dtsi"
 12 #include "pm8226.dtsi"
 13 #include <dt-bindings/input/input.h>
 14 
 15 /*
 16  * Delete all generic (msm8226.dtsi) reserved
 17  * memory mappings which are different on these devices.
 18  */
 19 /delete-node/ &smem_region;
 20 
 21 / {
 22         aliases {
 23                 mmc0 = &sdhc_1; /* eMMC */
 24                 mmc1 = &sdhc_2; /* microSD */
 25                 display0 = &framebuffer;
 26         };
 27 
 28         chosen {
 29                 #address-cells = <1>;
 30                 #size-cells = <1>;
 31                 ranges;
 32 
 33                 stdout-path = "display0";
 34 
 35                 framebuffer: framebuffer@3200000 {
 36                         compatible = "simple-framebuffer";
 37                         reg = <0x3200000 0x800000>;
 38                         format = "a8r8g8b8";
 39                         width = <720>;
 40                         height = <1280>;
 41                         stride = <(720 * 4)>;
 42 
 43                         clocks = <&mmcc MDSS_AHB_CLK>,
 44                                  <&mmcc MDSS_AXI_CLK>,
 45                                  <&mmcc MDSS_BYTE0_CLK>,
 46                                  <&mmcc MDSS_MDP_CLK>,
 47                                  <&mmcc MDSS_PCLK0_CLK>,
 48                                  <&mmcc MDSS_VSYNC_CLK>;
 49                         power-domains = <&mmcc MDSS_GDSC>;
 50                 };
 51         };
 52 
 53         gpio_keys: gpio-keys {
 54                 compatible = "gpio-keys";
 55 
 56                 pinctrl-0 = <&gpio_keys_default>;
 57                 pinctrl-names = "default";
 58 
 59                 label = "GPIO Buttons";
 60 
 61                 key-volume-up {
 62                         label = "Volume Up";
 63                         gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
 64                         linux,code = <KEY_VOLUMEUP>;
 65                 };
 66         };
 67 
 68         /*
 69          * This device being a WP platform has a different
 70          * memory layout than other Android based devices.
 71          * This smem memory region is directly copied from
 72          * the original UEFI firmware.
 73          */
 74         reserved-memory {
 75                 display_reserved: framebuffer@3200000 {
 76                         reg = <0x03200000 0x800000>;
 77                         no-map;
 78                 };
 79 
 80                 smem_region: smem@fa00000 {
 81                         reg = <0x0fa00000 0x100000>;
 82                         no-map;
 83                 };
 84         };
 85 };
 86 
 87 &blsp1_i2c2 {
 88         status = "okay";
 89 
 90         magnetometer: magnetometer@c {
 91                 compatible = "asahi-kasei,ak09911";
 92                 reg = <0x0c>;
 93 
 94                 vdd-supply = <&pm8226_l15>;
 95                 vid-supply = <&pm8226_l6>;
 96         };
 97 
 98         accelerometer: accelerometer@1e {
 99                 compatible = "kionix,kx022-1020";
100                 reg = <0x1e>;
101 
102                 interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_RISING>;
103 
104                 vdd-supply = <&pm8226_l15>;
105                 vddio-supply = <&pm8226_l6>;
106 
107                 mount-matrix = "1",  "0",  "0",
108                                "0", "-1",  "0",
109                                "0",  "0",  "1";
110         };
111 };
112 
113 &blsp1_i2c5 {
114         status = "okay";
115 
116         touchscreen: touchscreen@4b {
117                 compatible = "syna,rmi4-i2c";
118                 reg = <0x4b>;
119 
120                 interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
121                 vdd-supply = <&pm8226_l15>;
122                 vio-supply = <&pm8226_l6>;
123 
124                 pinctrl-0 = <&touchscreen_default>;
125                 pinctrl-names = "default";
126 
127                 #address-cells = <1>;
128                 #size-cells = <0>;
129 
130                 rmi4-f01@1 {
131                         reg = <0x01>;
132                         syna,nosleep-mode = <1>;
133                 };
134 
135                 rmi4-f11@11 {
136                         reg = <0x11>;
137                         syna,sensor-type = <1>;
138                 };
139         };
140 };
141 
142 &blsp1_uart3 {
143         status = "okay";
144 };
145 
146 &pm8226_resin {
147         linux,code = <KEY_VOLUMEDOWN>;
148         status = "okay";
149 };
150 
151 &pm8226_vib {
152         status = "okay";
153 };
154 
155 &rpm_requests {
156         regulators {
157                 compatible = "qcom,rpm-pm8226-regulators";
158 
159                 /* These values were taken from the original firmware DSDT */
160                 pm8226_s1: s1 {
161                         regulator-min-microvolt = <1050000>;
162                         regulator-max-microvolt = <1050000>;
163                 };
164 
165                 pm8226_s3: s3 {
166                         regulator-min-microvolt = <1300000>;
167                         regulator-max-microvolt = <1300000>;
168                 };
169 
170                 pm8226_s4: s4 {
171                         regulator-min-microvolt = <1800000>;
172                         regulator-max-microvolt = <2100000>;
173                 };
174 
175                 pm8226_s5: s5 {
176                         regulator-min-microvolt = <1150000>;
177                         regulator-max-microvolt = <1150000>;
178                 };
179 
180                 pm8226_l3: l3 {
181                         regulator-min-microvolt = <750000>;
182                         regulator-max-microvolt = <1150000>;
183                 };
184 
185                 pm8226_l4: l4 {
186                         regulator-min-microvolt = <1200000>;
187                         regulator-max-microvolt = <1200000>;
188                 };
189 
190                 pm8226_l5: l5 {
191                         regulator-min-microvolt = <1200000>;
192                         regulator-max-microvolt = <1200000>;
193                 };
194 
195                 pm8226_l6: l6 {
196                         regulator-min-microvolt = <1800000>;
197                         regulator-max-microvolt = <1800000>;
198                 };
199 
200                 pm8226_l7: l7 {
201                         regulator-min-microvolt = <1850000>;
202                         regulator-max-microvolt = <1850000>;
203                 };
204 
205                 pm8226_l8: l8 {
206                         regulator-min-microvolt = <1800000>;
207                         regulator-max-microvolt = <1800000>;
208                         regulator-always-on;
209                 };
210 
211                 pm8226_l9: l9 {
212                         regulator-min-microvolt = <2050000>;
213                         regulator-max-microvolt = <2050000>;
214                 };
215 
216                 pm8226_l10: l10 {
217                         regulator-min-microvolt = <1800000>;
218                         regulator-max-microvolt = <1800000>;
219                 };
220 
221                 pm8226_l12: l12 {
222                         regulator-min-microvolt = <1800000>;
223                         regulator-max-microvolt = <1800000>;
224                 };
225 
226                 pm8226_l14: l14 {
227                         regulator-min-microvolt = <2750000>;
228                         regulator-max-microvolt = <2750000>;
229                 };
230 
231                 pm8226_l15: l15 {
232                         regulator-min-microvolt = <2850000>;
233                         regulator-max-microvolt = <2850000>;
234                 };
235 
236                 pm8226_l16: l16 {
237                         regulator-min-microvolt = <3000000>;
238                         regulator-max-microvolt = <3000000>;
239                 };
240 
241                 pm8226_l17: l17 {
242                         regulator-min-microvolt = <2950000>;
243                         regulator-max-microvolt = <2950000>;
244                         regulator-system-load = <200000>;
245                         regulator-allow-set-load;
246                 };
247 
248                 pm8226_l18: l18 {
249                         regulator-min-microvolt = <2950000>;
250                         regulator-max-microvolt = <2950000>;
251                         regulator-system-load = <200000>;
252                         regulator-allow-set-load;
253                 };
254 
255                 pm8226_l19: l19 {
256                         regulator-min-microvolt = <2850000>;
257                         regulator-max-microvolt = <2850000>;
258                 };
259 
260                 pm8226_l20: l20 {
261                         regulator-min-microvolt = <3075000>;
262                         regulator-max-microvolt = <3075000>;
263                 };
264 
265                 pm8226_l21: l21 {
266                         regulator-min-microvolt = <1850000>;
267                         regulator-max-microvolt = <2950000>;
268                 };
269 
270                 pm8226_l22: l22 {
271                         regulator-min-microvolt = <1800000>;
272                         regulator-max-microvolt = <1800000>;
273                 };
274 
275                 pm8226_l23: l23 {
276                         regulator-min-microvolt = <1800000>;
277                         regulator-max-microvolt = <1800000>;
278                 };
279 
280                 pm8226_l24: l24 {
281                         regulator-min-microvolt = <1300000>;
282                         regulator-max-microvolt = <1300000>;
283                 };
284 
285                 pm8226_l25: l25 {
286                         regulator-min-microvolt = <1775000>;
287                         regulator-max-microvolt = <2075000>;
288                 };
289 
290                 pm8226_l27: l27 {
291                         regulator-min-microvolt = <2050000>;
292                         regulator-max-microvolt = <2050000>;
293                 };
294 
295                 pm8226_l28: l28 {
296                         regulator-min-microvolt = <2000000>;
297                         regulator-max-microvolt = <3000000>;
298                 };
299         };
300 };
301 
302 &sdhc_1 {
303         vmmc-supply = <&pm8226_l17>;
304         vqmmc-supply = <&pm8226_l6>;
305 
306         status = "okay";
307 };
308 
309 &sdhc_2 {
310         vmmc-supply = <&pm8226_l18>;
311         vqmmc-supply = <&pm8226_l21>;
312 
313         status = "okay";
314 };
315 
316 &smbb {
317         status = "okay";
318 };
319 
320 &usb {
321         extcon = <&smbb>;
322         dr_mode = "peripheral";
323 
324         status = "okay";
325 };
326 
327 &usb_hs_phy {
328         extcon = <&smbb>;
329         v1p8-supply = <&pm8226_l10>;
330         v3p3-supply = <&pm8226_l20>;
331 };
332 
333 &tlmm {
334         gpio_keys_default: gpio-keys-default-state {
335                 pins = "gpio106", "gpio107", "gpio108";
336                 function = "gpio";
337                 drive-strength = <2>;
338                 bias-pull-up;
339         };
340 
341         touchscreen_default: touchscreen-default-state {
342                 irq-pins {
343                         pins = "gpio17";
344                         function = "gpio";
345                         drive-strength = <8>;
346                         bias-pull-up;
347                 };
348 
349                 reset-pins {
350                         pins = "gpio16";
351                         function = "gpio";
352                         drive-strength = <8>;
353                         bias-disable;
354                         output-high;
355                 };
356         };
357 };

~ [ 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