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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*
  3  * Copyright (c) 2022, Collabora Ltd
  4  * Author: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  5  */
  6 
  7 /dts-v1/;
  8 #include <dt-bindings/gpio/gpio.h>
  9 #include "mt6795.dtsi"
 10 #include "mt6331.dtsi"
 11 
 12 / {
 13         model = "Sony Xperia M5";
 14         compatible = "sony,xperia-m5", "mediatek,mt6795";
 15         chassis-type = "handset";
 16 
 17         aliases {
 18                 mmc0 = &mmc0;
 19                 mmc1 = &mmc1;
 20                 mmc2 = &mmc2;
 21                 serial0 = &uart0;
 22                 serial1 = &uart1;
 23         };
 24 
 25         backlight_lcd0: backlight {
 26                 compatible = "led-backlight";
 27                 leds = <&disp_led_pwm>, <&pmic_bl_led>;
 28 
 29                 default-brightness-level = <300>;
 30         };
 31 
 32         led-controller-display {
 33                 compatible = "pwm-leds";
 34 
 35                 disp_led_pwm: led-0 {
 36                         label = "backlight-pwm";
 37                         pwms = <&pwm0 0 500000>;
 38                         max-brightness = <1024>;
 39                 };
 40         };
 41 
 42         memory@40000000 {
 43                 device_type = "memory";
 44                 reg = <0 0x40000000 0 0x1e800000>;
 45         };
 46 
 47         reserved_memory: reserved-memory {
 48                 #address-cells = <2>;
 49                 #size-cells = <2>;
 50                 ranges;
 51 
 52                 /* 128 KiB reserved for ARM Trusted Firmware (BL31) */
 53                 bl31_secmon_reserved: secmon@43000000 {
 54                         reg = <0 0x43000000 0 0x30000>;
 55                         no-map;
 56                 };
 57 
 58                 /* preloader and bootloader regions cannot be touched */
 59                 preloader-region@44800000 {
 60                         reg = <0 0x44800000 0 0x100000>;
 61                         no-map;
 62                 };
 63 
 64                 bootloader-region@46000000 {
 65                         reg = <0 0x46000000 0 0x400000>;
 66                         no-map;
 67                 };
 68         };
 69 
 70         vreg_disp_avdd: regulator-disp-avdd {
 71                 compatible = "regulator-fixed";
 72                 regulator-name = "disp_avdd";
 73                 regulator-min-microvolt = <5000000>;
 74                 regulator-max-microvolt = <5000000>;
 75                 gpio = <&pio 138 GPIO_ACTIVE_HIGH>;
 76                 enable-active-high;
 77         };
 78 
 79         vreg_disp_avee: regulator-disp-avee {
 80                 compatible = "regulator-fixed";
 81                 regulator-name = "disp_avee";
 82                 regulator-min-microvolt = <5000000>;
 83                 regulator-max-microvolt = <5000000>;
 84                 gpio = <&pio 139 GPIO_ACTIVE_HIGH>;
 85                 enable-active-high;
 86         };
 87 
 88         vreg_disp_vddh: regulator-disp-vddh {
 89                 compatible = "regulator-fixed";
 90                 regulator-name = "disp_vddh";
 91                 regulator-min-microvolt = <1800000>;
 92                 regulator-max-microvolt = <1800000>;
 93                 regulator-always-on;
 94                 regulator-boot-on;
 95         };
 96 };
 97 
 98 &dsi0 {
 99         status = "okay";
100         #address-cells = <1>;
101         #size-cells = <0>;
102 
103         panel: panel@0 {
104                 compatible = "sharp,ls060t1sx01";
105                 reg = <0>;
106                 avdd-supply = <&vreg_disp_avdd>;
107                 avee-supply = <&vreg_disp_avee>;
108                 vddi-supply = <&mt6331_vgp3_reg>;
109                 vddh-supply = <&vreg_disp_vddh>;
110                 reset-gpios = <&pio 106 GPIO_ACTIVE_LOW>;
111                 backlight = <&backlight_lcd0>;
112 
113                 pinctrl-0 = <&disp_rst_pins>;
114                 pinctrl-names = "default";
115 
116                 port {
117                         panel_in: endpoint {
118                                 remote-endpoint = <&dsi0_out>;
119                         };
120                 };
121         };
122 
123         port {
124                 dsi0_out: endpoint {
125                         remote-endpoint = <&panel_in>;
126                 };
127         };
128 };
129 
130 &fhctl {
131         clocks = <&apmixedsys CLK_APMIXED_MAINPLL>, <&apmixedsys CLK_APMIXED_MPLL>,
132                  <&apmixedsys CLK_APMIXED_MSDCPLL>;
133         mediatek,hopping-ssc-percent = <8>, <5>, <8>;
134         status = "okay";
135 };
136 
137 &i2c0 {
138         pinctrl-names = "default";
139         pinctrl-0 = <&i2c0_pins>;
140         status = "okay";
141 };
142 
143 &i2c1 {
144         pinctrl-names = "default";
145         pinctrl-0 = <&i2c1_pins>;
146         status = "okay";
147 
148         accelerometer@10 {
149                 compatible = "bosch,bma255";
150                 reg = <0x10>;
151                 pinctrl-names = "default";
152                 pinctrl-0 = <&accel_pins>;
153         };
154 
155         magnetometer@12 {
156                 compatible = "bosch,bmm150";
157                 reg = <0x12>;
158         };
159 };
160 
161 &i2c2 {
162         pinctrl-names = "default";
163         pinctrl-0 = <&i2c2_pins>;
164         status = "okay";
165 
166         touchscreen@20 {
167                 compatible = "syna,rmi4-i2c";
168                 reg = <0x20>;
169                 #address-cells = <1>;
170                 #size-cells = <0>;
171                 interrupts-extended = <&pio 6 IRQ_TYPE_EDGE_FALLING>;
172                 pinctrl-names = "default";
173                 pinctrl-0 = <&ts_pins>;
174                 syna,startup-delay-ms = <160>;
175                 syna,reset-delay-ms = <90>;
176 
177                 rmi4-f01@1 {
178                         reg = <0x1>;
179                         syna,nosleep-mode = <1>;
180                 };
181 
182                 rmi4-f12@12 {
183                         reg = <0x12>;
184                         syna,sensor-type = <1>;
185                 };
186         };
187 };
188 
189 &i2c3 {
190         pinctrl-names = "default";
191         pinctrl-0 = <&i2c3_pins>;
192         status = "okay";
193 
194         pn547: nfc@28 {
195                 compatible = "nxp,pn544-i2c";
196                 reg = <0x28>;
197                 interrupts-extended = <&pio 3 IRQ_TYPE_EDGE_RISING>;
198                 pinctrl-names = "default";
199                 pinctrl-0 = <&nfc_pins>;
200                 enable-gpios = <&pio 149 GPIO_ACTIVE_HIGH>;
201                 firmware-gpios = <&pio 94 GPIO_ACTIVE_HIGH>;
202         };
203 
204         proximity@48 {
205                 compatible = "sensortek,stk3310";
206                 reg = <0x48>;
207                 interrupts-extended = <&pio 8 IRQ_TYPE_EDGE_FALLING>;
208                 pinctrl-names = "default";
209                 pinctrl-0 = <&proximity_pins>;
210         };
211 };
212 
213 &mmc0 {
214         /* eMMC controller */
215         mediatek,latch-ck = <0x14>; /* hs400 */
216         mediatek,hs200-cmd-int-delay = <1>;
217         mediatek,hs400-cmd-int-delay = <1>;
218         mediatek,hs400-ds-dly3 = <0x1a>;
219         non-removable;
220         pinctrl-names = "default", "state_uhs";
221         pinctrl-0 = <&mmc0_pins_default>;
222         pinctrl-1 = <&mmc0_pins_uhs>;
223         vmmc-supply = <&mt6331_vemc33_reg>;
224         vqmmc-supply = <&mt6331_vio18_reg>;
225         status = "okay";
226 };
227 
228 &mmc1 {
229         /* MicroSD card slot */
230         vmmc-supply = <&mt6331_vmc_reg>;
231         vqmmc-supply = <&mt6331_vmch_reg>;
232         status = "okay";
233 };
234 
235 &mmc2 {
236         /* SDIO WiFi on MMC2 */
237         vmmc-supply = <&mt6331_vmc_reg>;
238         vqmmc-supply = <&mt6331_vmch_reg>;
239         status = "okay";
240 };
241 
242 &mt6331_vgp3_reg {
243         regulator-min-microvolt = <1800000>;
244 };
245 
246 &pio {
247         disp_rst_pins: lcm-pins {
248                 pins-rst {
249                         pinmux = <PINMUX_GPIO106__FUNC_GPIO106>;
250                 };
251         };
252 
253         mmc0_pins_default: emmc-sdr-pins {
254                 pins-cmd-dat {
255                         pinmux = <PINMUX_GPIO154__FUNC_MSDC0_DAT0>,
256                                  <PINMUX_GPIO155__FUNC_MSDC0_DAT1>,
257                                  <PINMUX_GPIO156__FUNC_MSDC0_DAT2>,
258                                  <PINMUX_GPIO157__FUNC_MSDC0_DAT3>,
259                                  <PINMUX_GPIO158__FUNC_MSDC0_DAT4>,
260                                  <PINMUX_GPIO159__FUNC_MSDC0_DAT5>,
261                                  <PINMUX_GPIO160__FUNC_MSDC0_DAT6>,
262                                  <PINMUX_GPIO161__FUNC_MSDC0_DAT7>,
263                                  <PINMUX_GPIO162__FUNC_MSDC0_CMD>;
264                         input-enable;
265                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
266                 };
267 
268                 pins-clk {
269                         pinmux = <PINMUX_GPIO163__FUNC_MSDC0_CLK>;
270                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
271                 };
272 
273                 pins-rst {
274                         pinmux = <PINMUX_GPIO165__FUNC_MSDC0_RSTB>;
275                         bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
276                 };
277         };
278 
279         mmc0_pins_uhs: emmc-uhs-pins {
280                 pins-cmd-dat {
281                         pinmux = <PINMUX_GPIO154__FUNC_MSDC0_DAT0>,
282                                  <PINMUX_GPIO155__FUNC_MSDC0_DAT1>,
283                                  <PINMUX_GPIO156__FUNC_MSDC0_DAT2>,
284                                  <PINMUX_GPIO157__FUNC_MSDC0_DAT3>,
285                                  <PINMUX_GPIO158__FUNC_MSDC0_DAT4>,
286                                  <PINMUX_GPIO159__FUNC_MSDC0_DAT5>,
287                                  <PINMUX_GPIO160__FUNC_MSDC0_DAT6>,
288                                  <PINMUX_GPIO161__FUNC_MSDC0_DAT7>,
289                                  <PINMUX_GPIO162__FUNC_MSDC0_CMD>;
290                         input-enable;
291                         drive-strength = <6>;
292                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
293                 };
294 
295                 pins-clk {
296                         pinmux = <PINMUX_GPIO163__FUNC_MSDC0_CLK>;
297                         drive-strength = <6>;
298                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
299                 };
300 
301                 pins-rst {
302                         pinmux = <PINMUX_GPIO165__FUNC_MSDC0_RSTB>;
303                         drive-strength = <6>;
304                         bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
305                 };
306 
307                 pins-ds {
308                         pinmux = <PINMUX_GPIO164__FUNC_MSDC0_DSL>;
309                         drive-strength = <6>;
310                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
311                 };
312         };
313 
314         nfc_pins: nfc-pins {
315                 pins-irq {
316                         pinmux = <PINMUX_GPIO3__FUNC_GPIO3>;
317                         bias-pull-down;
318                         input-enable;
319                 };
320 
321                 pins-fw-ven {
322                         pinmux = <PINMUX_GPIO94__FUNC_GPIO94>,
323                                  <PINMUX_GPIO149__FUNC_GPIO149>;
324                 };
325         };
326 
327         ts_pins: touchscreen-pins {
328                 pins-irq {
329                         pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
330                         bias-pull-up;
331                         input-enable;
332                 };
333 
334                 pins-rst {
335                         pinmux = <PINMUX_GPIO102__FUNC_GPIO102>;
336                         output-high;
337                 };
338         };
339 
340         proximity_pins: proximity-pins {
341                 pins-irq {
342                         pinmux = <PINMUX_GPIO8__FUNC_GPIO8>;
343                         bias-pull-up;
344                         input-enable;
345                 };
346         };
347 
348         accel_pins: accelerometer-pins {
349                 pins-irq {
350                         pinmux = <PINMUX_GPIO12__FUNC_GPIO12>;
351                         bias-pull-up;
352                         input-enable;
353                 };
354         };
355 
356         i2c0_pins: i2c0-pins {
357                 pins-bus {
358                         pinmux = <PINMUX_GPIO45__FUNC_SDA0>,
359                                  <PINMUX_GPIO46__FUNC_SCL0>;
360                         input-enable;
361                 };
362         };
363 
364         i2c1_pins: i2c1-pins {
365                 pins-bus {
366                         pinmux = <PINMUX_GPIO125__FUNC_SDA1>,
367                                  <PINMUX_GPIO126__FUNC_SCL1>;
368                         bias-disable;
369                 };
370         };
371 
372         i2c2_pins: i2c2-pins {
373                 pins-bus {
374                         pinmux = <PINMUX_GPIO43__FUNC_SDA2>,
375                                  <PINMUX_GPIO44__FUNC_SCL2>;
376                         bias-disable;
377                 };
378         };
379 
380         i2c3_pins: i2c3-pins {
381                 pins-bus {
382                         pinmux = <PINMUX_GPIO136__FUNC_SDA3>,
383                                  <PINMUX_GPIO137__FUNC_SCL3>;
384                         bias-disable;
385                 };
386         };
387 
388         i2c4_pins: i2c4-pins {
389                 pins-bus {
390                         pinmux = <PINMUX_GPIO100__FUNC_SDA4>,
391                                  <PINMUX_GPIO101__FUNC_SCL4>;
392                         bias-disable;
393                 };
394         };
395 
396         uart0_pins: uart0-pins {
397                 pins-rx {
398                         pinmux = <PINMUX_GPIO113__FUNC_URXD0>;
399                         bias-pull-up;
400                         input-enable;
401                 };
402                 pins-tx {
403                         pinmux = <PINMUX_GPIO114__FUNC_UTXD0>;
404                         output-high;
405                 };
406         };
407 
408         uart2_pins: uart2-pins {
409                 pins-rx {
410                         pinmux = <PINMUX_GPIO31__FUNC_URXD2>;
411                         bias-pull-up;
412                         input-enable;
413                 };
414                 pins-tx {
415                         pinmux = <PINMUX_GPIO32__FUNC_UTXD2>;
416                 };
417         };
418 };
419 
420 &pmic {
421         /*
422          * Smartphones, including the Xperia M5, are equipped with a companion
423          * MT6332 PMIC: when this is present, the main MT6331 PMIC will fire
424          * an interrupt on the companion, so we use the MT6332 IRQ GPIO.
425          */
426         interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
427 
428         mt6332-led {
429                 compatible = "mediatek,mt6332-led";
430                 #address-cells = <1>;
431                 #size-cells = <0>;
432 
433                 pmic_bl_led: led@0 {
434                         reg = <0>;
435                         label = "backlight-pmic";
436                 };
437         };
438 };
439 
440 &pwm0 {
441         status = "okay";
442 };
443 
444 &uart0 {
445         status = "okay";
446 
447         pinctrl-names = "default";
448         pinctrl-0 = <&uart0_pins>;
449 };
450 
451 &uart2 {
452         status = "okay";
453 
454         pinctrl-names = "default";
455         pinctrl-0 = <&uart2_pins>;
456 };

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