arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / arm64 / boot / dts / mediatek / mt8395-genio-1200-evk.dts
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 /*
3  * Copyright (C) 2023 MediaTek Inc.
4  * Author: Ben Lok <ben.lok@mediatek.com>
5  *         Macpaul Lin <macpaul.lin@mediatek.com>
6  */
7 /dts-v1/;
8
9 #include "mt8195.dtsi"
10 #include "mt6359.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14 #include <dt-bindings/pinctrl/mt8195-pinfunc.h>
15 #include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
16 #include <dt-bindings/spmi/spmi.h>
17 #include <dt-bindings/usb/pd.h>
18
19 / {
20         model = "MediaTek Genio 1200 EVK-P1V2-EMMC";
21         compatible = "mediatek,mt8395-evk", "mediatek,mt8395",
22                      "mediatek,mt8195";
23
24         aliases {
25                 serial0 = &uart0;
26                 ethernet0 = &eth;
27         };
28
29         chosen {
30                 stdout-path = "serial0:921600n8";
31         };
32
33         firmware {
34                 optee {
35                         compatible = "linaro,optee-tz";
36                         method = "smc";
37                 };
38         };
39
40         memory@40000000 {
41                 device_type = "memory";
42                 reg = <0 0x40000000 0x2 0x00000000>;
43         };
44
45         reserved-memory {
46                 #address-cells = <2>;
47                 #size-cells = <2>;
48                 ranges;
49
50                 /*
51                  * 12 MiB reserved for OP-TEE (BL32)
52                  * +-----------------------+ 0x43e0_0000
53                  * |      SHMEM 2MiB       |
54                  * +-----------------------+ 0x43c0_0000
55                  * |        | TA_RAM  8MiB |
56                  * + TZDRAM +--------------+ 0x4340_0000
57                  * |        | TEE_RAM 2MiB |
58                  * +-----------------------+ 0x4320_0000
59                  */
60                 optee_reserved: optee@43200000 {
61                         no-map;
62                         reg = <0 0x43200000 0 0x00c00000>;
63                 };
64
65                 scp_mem: memory@50000000 {
66                         compatible = "shared-dma-pool";
67                         reg = <0 0x50000000 0 0x2900000>;
68                         no-map;
69                 };
70
71                 vpu_mem: memory@53000000 {
72                         compatible = "shared-dma-pool";
73                         reg = <0 0x53000000 0 0x1400000>; /* 20 MB */
74                 };
75
76                 /* 2 MiB reserved for ARM Trusted Firmware (BL31) */
77                 bl31_secmon_mem: memory@54600000 {
78                         no-map;
79                         reg = <0 0x54600000 0x0 0x200000>;
80                 };
81
82                 snd_dma_mem: memory@60000000 {
83                         compatible = "shared-dma-pool";
84                         reg = <0 0x60000000 0 0x1100000>;
85                         no-map;
86                 };
87
88                 apu_mem: memory@62000000 {
89                         compatible = "shared-dma-pool";
90                         reg = <0 0x62000000 0 0x1400000>; /* 20 MB */
91                 };
92         };
93
94         backlight_lcd0: backlight-lcd0 {
95                 compatible = "pwm-backlight";
96                 pwms = <&disp_pwm0 0 500000>;
97                 enable-gpios = <&pio 47 GPIO_ACTIVE_HIGH>;
98                 brightness-levels = <0 1023>;
99                 num-interpolated-steps = <1023>;
100                 default-brightness-level = <576>;
101         };
102
103         backlight_lcd1: backlight-lcd1 {
104                 compatible = "pwm-backlight";
105                 pwms = <&disp_pwm1 0 500000>;
106                 enable-gpios = <&pio 46 GPIO_ACTIVE_HIGH>;
107                 brightness-levels = <0 1023>;
108                 num-interpolated-steps = <1023>;
109                 default-brightness-level = <576>;
110         };
111
112         can_clk: can-clk {
113                 compatible = "fixed-clock";
114                 #clock-cells = <0>;
115                 clock-frequency = <20000000>;
116                 clock-output-names = "can-clk";
117         };
118
119         edp_panel_fixed_3v3: regulator-0 {
120                 compatible = "regulator-fixed";
121                 regulator-name = "edp_panel_3v3";
122                 regulator-min-microvolt = <3300000>;
123                 regulator-max-microvolt = <3300000>;
124                 enable-active-high;
125                 gpio = <&pio 6 GPIO_ACTIVE_HIGH>;
126                 pinctrl-names = "default";
127                 pinctrl-0 = <&edp_panel_3v3_en_pins>;
128         };
129
130         edp_panel_fixed_12v: regulator-1 {
131                 compatible = "regulator-fixed";
132                 regulator-name = "edp_backlight_12v";
133                 regulator-min-microvolt = <12000000>;
134                 regulator-max-microvolt = <12000000>;
135                 enable-active-high;
136                 gpio = <&pio 96 GPIO_ACTIVE_HIGH>;
137                 pinctrl-names = "default";
138                 pinctrl-0 = <&edp_panel_12v_en_pins>;
139         };
140
141         keys: gpio-keys {
142                 compatible = "gpio-keys";
143
144                 button-volume-up {
145                         wakeup-source;
146                         debounce-interval = <100>;
147                         gpios = <&pio 106 GPIO_ACTIVE_LOW>;
148                         label = "volume_up";
149                         linux,code = <KEY_VOLUMEUP>;
150                 };
151         };
152
153         wifi_fixed_3v3: regulator-2 {
154                 compatible = "regulator-fixed";
155                 regulator-name = "wifi_3v3";
156                 regulator-min-microvolt = <3300000>;
157                 regulator-max-microvolt = <3300000>;
158                 gpio = <&pio 135 GPIO_ACTIVE_HIGH>;
159                 enable-active-high;
160                 regulator-always-on;
161         };
162 };
163
164 &disp_pwm0 {
165         pinctrl-names = "default";
166         pinctrl-0 = <&pwm0_default_pins>;
167         status = "okay";
168 };
169
170 &dmic_codec {
171         wakeup-delay-ms = <200>;
172 };
173
174 &eth {
175         phy-mode ="rgmii-rxid";
176         phy-handle = <&eth_phy0>;
177         snps,reset-gpio = <&pio 93 GPIO_ACTIVE_HIGH>;
178         snps,reset-delays-us = <0 10000 10000>;
179         mediatek,tx-delay-ps = <2030>;
180         mediatek,mac-wol;
181         pinctrl-names = "default", "sleep";
182         pinctrl-0 = <&eth_default_pins>;
183         pinctrl-1 = <&eth_sleep_pins>;
184         status = "okay";
185
186         mdio {
187                 compatible = "snps,dwmac-mdio";
188                 #address-cells = <1>;
189                 #size-cells = <0>;
190                 eth_phy0: eth-phy0@1 {
191                         compatible = "ethernet-phy-id001c.c916";
192                         reg = <0x1>;
193                 };
194         };
195 };
196
197 &i2c0 {
198         clock-frequency = <400000>;
199         pinctrl-0 = <&i2c0_pins>;
200         pinctrl-names = "default";
201         status = "okay";
202 };
203
204 &i2c1 {
205         clock-frequency = <400000>;
206         pinctrl-0 = <&i2c1_pins>;
207         pinctrl-names = "default";
208         status = "okay";
209
210         touchscreen@5d {
211                 compatible = "goodix,gt9271";
212                 reg = <0x5d>;
213                 interrupt-parent = <&pio>;
214                 interrupts = <132 IRQ_TYPE_EDGE_RISING>;
215                 irq-gpios = <&pio 132 GPIO_ACTIVE_HIGH>;
216                 reset-gpios = <&pio 133 GPIO_ACTIVE_HIGH>;
217                 AVDD28-supply = <&mt6360_ldo1>;
218                 pinctrl-names = "default";
219                 pinctrl-0 = <&touch_pins>;
220         };
221 };
222
223 &i2c2 {
224         clock-frequency = <400000>;
225         pinctrl-0 = <&i2c2_pins>;
226         pinctrl-names = "default";
227         status = "okay";
228 };
229
230 &i2c6 {
231         clock-frequency = <400000>;
232         pinctrl-0 = <&i2c6_pins>;
233         pinctrl-names = "default";
234         #address-cells = <1>;
235         #size-cells = <0>;
236         status = "okay";
237
238         mt6360: pmic@34 {
239                 compatible = "mediatek,mt6360";
240                 reg = <0x34>;
241                 interrupt-parent = <&pio>;
242                 interrupts = <128 IRQ_TYPE_EDGE_FALLING>;
243                 interrupt-names = "IRQB";
244                 interrupt-controller;
245                 #interrupt-cells = <1>;
246                 pinctrl-0 = <&mt6360_pins>;
247
248                 charger {
249                         compatible = "mediatek,mt6360-chg";
250                         richtek,vinovp-microvolt = <14500000>;
251
252                         otg_vbus_regulator: usb-otg-vbus-regulator {
253                                 regulator-name = "usb-otg-vbus";
254                                 regulator-min-microvolt = <4425000>;
255                                 regulator-max-microvolt = <5825000>;
256                         };
257                 };
258
259                 regulator {
260                         compatible = "mediatek,mt6360-regulator";
261                         LDO_VIN3-supply = <&mt6360_buck2>;
262
263                         mt6360_buck1: buck1 {
264                                 regulator-name = "emi_vdd2";
265                                 regulator-min-microvolt = <300000>;
266                                 regulator-max-microvolt = <1300000>;
267                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
268                                                            MT6360_OPMODE_LP
269                                                            MT6360_OPMODE_ULP>;
270                                 regulator-always-on;
271                         };
272
273                         mt6360_buck2: buck2 {
274                                 regulator-name = "emi_vddq";
275                                 regulator-min-microvolt = <300000>;
276                                 regulator-max-microvolt = <1300000>;
277                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
278                                                            MT6360_OPMODE_LP
279                                                            MT6360_OPMODE_ULP>;
280                                 regulator-always-on;
281                         };
282
283                         mt6360_ldo1: ldo1 {
284                                 regulator-name = "tp1_p3v0";
285                                 regulator-min-microvolt = <3300000>;
286                                 regulator-max-microvolt = <3300000>;
287                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
288                                                            MT6360_OPMODE_LP>;
289                                 regulator-always-on;
290                         };
291
292                         mt6360_ldo2: ldo2 {
293                                 regulator-name = "panel1_p1v8";
294                                 regulator-min-microvolt = <1800000>;
295                                 regulator-max-microvolt = <1800000>;
296                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
297                                                            MT6360_OPMODE_LP>;
298                         };
299
300                         mt6360_ldo3: ldo3 {
301                                 regulator-name = "vmc_pmu";
302                                 regulator-min-microvolt = <1200000>;
303                                 regulator-max-microvolt = <3600000>;
304                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
305                                                            MT6360_OPMODE_LP>;
306                         };
307
308                         mt6360_ldo5: ldo5 {
309                                 regulator-name = "vmch_pmu";
310                                 regulator-min-microvolt = <2700000>;
311                                 regulator-max-microvolt = <3600000>;
312                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
313                                                            MT6360_OPMODE_LP>;
314                         };
315
316                         /* This is a measure point, which name is mt6360_ldo1 on schematic */
317                         mt6360_ldo6: ldo6 {
318                                 regulator-name = "mt6360_ldo1";
319                                 regulator-min-microvolt = <500000>;
320                                 regulator-max-microvolt = <2100000>;
321                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
322                                                            MT6360_OPMODE_LP>;
323                         };
324
325                         mt6360_ldo7: ldo7 {
326                                 regulator-name = "emi_vmddr_en";
327                                 regulator-min-microvolt = <500000>;
328                                 regulator-max-microvolt = <2100000>;
329                                 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
330                                                            MT6360_OPMODE_LP>;
331                                 regulator-always-on;
332                         };
333                 };
334         };
335 };
336
337 &mfg0 {
338         domain-supply = <&mt6315_7_vbuck1>;
339 };
340
341 &mmc0 {
342         status = "okay";
343         pinctrl-names = "default", "state_uhs";
344         pinctrl-0 = <&mmc0_default_pins>;
345         pinctrl-1 = <&mmc0_uhs_pins>;
346         bus-width = <8>;
347         max-frequency = <200000000>;
348         cap-mmc-highspeed;
349         mmc-hs200-1_8v;
350         mmc-hs400-1_8v;
351         cap-mmc-hw-reset;
352         no-sdio;
353         no-sd;
354         hs400-ds-delay = <0x14c11>;
355         vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
356         vqmmc-supply = <&mt6359_vufs_ldo_reg>;
357         non-removable;
358 };
359
360 &mmc1 {
361         pinctrl-names = "default", "state_uhs";
362         pinctrl-0 = <&mmc1_default_pins>;
363         pinctrl-1 = <&mmc1_uhs_pins>;
364         bus-width = <4>;
365         max-frequency = <200000000>;
366         cap-sd-highspeed;
367         sd-uhs-sdr50;
368         sd-uhs-sdr104;
369         no-mmc;
370         no-sdio;
371         vmmc-supply = <&mt6360_ldo5>;
372         vqmmc-supply = <&mt6360_ldo3>;
373         status = "okay";
374         non-removable;
375 };
376
377 &mt6359_vaud18_ldo_reg {
378         regulator-always-on;
379 };
380
381 &mt6359_vbbck_ldo_reg {
382         regulator-always-on;
383 };
384
385 /* For USB Hub */
386 &mt6359_vcamio_ldo_reg {
387         regulator-always-on;
388 };
389
390 &mt6359_vcn33_2_bt_ldo_reg {
391         regulator-min-microvolt = <3300000>;
392         regulator-max-microvolt = <3300000>;
393 };
394
395 &mt6359_vcore_buck_reg {
396         regulator-always-on;
397 };
398
399 &mt6359_vgpu11_buck_reg {
400         regulator-always-on;
401 };
402
403 &mt6359_vpu_buck_reg {
404         regulator-always-on;
405 };
406
407 &mt6359_vrf12_ldo_reg {
408         regulator-always-on;
409 };
410
411 &mt6359codec {
412         mediatek,mic-type-0 = <1>; /* ACC */
413         mediatek,mic-type-1 = <3>; /* DCC */
414         mediatek,mic-type-2 = <1>; /* ACC */
415 };
416
417 &pcie0 {
418         pinctrl-names = "default", "idle";
419         pinctrl-0 = <&pcie0_default_pins>;
420         pinctrl-1 = <&pcie0_idle_pins>;
421         status = "okay";
422 };
423
424 &pcie1 {
425         pinctrl-names = "default";
426         pinctrl-0 = <&pcie1_default_pins>;
427         status = "disabled";
428 };
429
430 &pciephy {
431         status = "okay";
432 };
433
434 &pio {
435         audio_default_pins: audio-default-pins {
436                 pins-cmd-dat {
437                         pinmux = <PINMUX_GPIO61__FUNC_DMIC1_CLK>,
438                                  <PINMUX_GPIO62__FUNC_DMIC1_DAT>,
439                                  <PINMUX_GPIO65__FUNC_PCM_DO>,
440                                  <PINMUX_GPIO66__FUNC_PCM_CLK>,
441                                  <PINMUX_GPIO67__FUNC_PCM_DI>,
442                                  <PINMUX_GPIO68__FUNC_PCM_SYNC>,
443                                  <PINMUX_GPIO69__FUNC_AUD_CLK_MOSI>,
444                                  <PINMUX_GPIO70__FUNC_AUD_SYNC_MOSI>,
445                                  <PINMUX_GPIO71__FUNC_AUD_DAT_MOSI0>,
446                                  <PINMUX_GPIO72__FUNC_AUD_DAT_MOSI1>,
447                                  <PINMUX_GPIO73__FUNC_AUD_DAT_MISO0>,
448                                  <PINMUX_GPIO74__FUNC_AUD_DAT_MISO1>,
449                                  <PINMUX_GPIO75__FUNC_AUD_DAT_MISO2>;
450                 };
451         };
452
453         disp_pwm1_default_pins: disp-pwm1-default-pins {
454                 pins1 {
455                         pinmux = <PINMUX_GPIO104__FUNC_DISP_PWM1>;
456                 };
457         };
458
459         edp_panel_12v_en_pins: edp-panel-12v-en-pins {
460                 pins1 {
461                         pinmux = <PINMUX_GPIO96__FUNC_GPIO96>;
462                         output-high;
463                 };
464         };
465
466         edp_panel_3v3_en_pins: edp-panel-3v3-en-pins {
467                 pins1 {
468                         pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
469                         output-high;
470                 };
471         };
472
473         eth_default_pins: eth-default-pins {
474                 pins-cc {
475                         pinmux = <PINMUX_GPIO85__FUNC_GBE_TXC>,
476                                  <PINMUX_GPIO86__FUNC_GBE_RXC>,
477                                  <PINMUX_GPIO87__FUNC_GBE_RXDV>,
478                                  <PINMUX_GPIO88__FUNC_GBE_TXEN>;
479                         drive-strength = <MTK_DRIVE_8mA>;
480                 };
481
482                 pins-mdio {
483                         pinmux = <PINMUX_GPIO89__FUNC_GBE_MDC>,
484                                  <PINMUX_GPIO90__FUNC_GBE_MDIO>;
485                         input-enable;
486                 };
487
488                 pins-power {
489                         pinmux = <PINMUX_GPIO91__FUNC_GPIO91>,
490                                  <PINMUX_GPIO92__FUNC_GPIO92>;
491                         output-high;
492                 };
493
494                 pins-rxd {
495                         pinmux = <PINMUX_GPIO81__FUNC_GBE_RXD3>,
496                                  <PINMUX_GPIO82__FUNC_GBE_RXD2>,
497                                  <PINMUX_GPIO83__FUNC_GBE_RXD1>,
498                                  <PINMUX_GPIO84__FUNC_GBE_RXD0>;
499                 };
500
501                 pins-txd {
502                         pinmux = <PINMUX_GPIO77__FUNC_GBE_TXD3>,
503                                  <PINMUX_GPIO78__FUNC_GBE_TXD2>,
504                                  <PINMUX_GPIO79__FUNC_GBE_TXD1>,
505                                  <PINMUX_GPIO80__FUNC_GBE_TXD0>;
506                         drive-strength = <MTK_DRIVE_8mA>;
507                 };
508         };
509
510         eth_sleep_pins: eth-sleep-pins {
511                 pins-cc {
512                         pinmux = <PINMUX_GPIO85__FUNC_GPIO85>,
513                                  <PINMUX_GPIO86__FUNC_GPIO86>,
514                                  <PINMUX_GPIO87__FUNC_GPIO87>,
515                                  <PINMUX_GPIO88__FUNC_GPIO88>;
516                 };
517
518                 pins-mdio {
519                         pinmux = <PINMUX_GPIO89__FUNC_GPIO89>,
520                                  <PINMUX_GPIO90__FUNC_GPIO90>;
521                         input-disable;
522                         bias-disable;
523                 };
524
525                 pins-rxd {
526                         pinmux = <PINMUX_GPIO81__FUNC_GPIO81>,
527                                  <PINMUX_GPIO82__FUNC_GPIO82>,
528                                  <PINMUX_GPIO83__FUNC_GPIO83>,
529                                  <PINMUX_GPIO84__FUNC_GPIO84>;
530                 };
531
532                 pins-txd {
533                         pinmux = <PINMUX_GPIO77__FUNC_GPIO77>,
534                                  <PINMUX_GPIO78__FUNC_GPIO78>,
535                                  <PINMUX_GPIO79__FUNC_GPIO79>,
536                                  <PINMUX_GPIO80__FUNC_GPIO80>;
537                 };
538         };
539
540         gpio_key_pins: gpio-keys-pins {
541                 pins {
542                         pinmux = <PINMUX_GPIO106__FUNC_GPIO106>;
543                         bias-pull-up;
544                         input-enable;
545                 };
546         };
547
548         i2c0_pins: i2c0-pins {
549                 pins {
550                         pinmux = <PINMUX_GPIO8__FUNC_SDA0>,
551                                  <PINMUX_GPIO9__FUNC_SCL0>;
552                         bias-pull-up = <MTK_PULL_SET_RSEL_111>;
553                         drive-strength-microamp = <1000>;
554                 };
555         };
556
557         i2c1_pins: i2c1-pins {
558                 pins {
559                         pinmux = <PINMUX_GPIO10__FUNC_SDA1>,
560                                  <PINMUX_GPIO11__FUNC_SCL1>;
561                         bias-pull-up = <MTK_PULL_SET_RSEL_111>;
562                         drive-strength-microamp = <1000>;
563                 };
564         };
565
566         i2c2_pins: i2c2-pins {
567                 pins {
568                         pinmux = <PINMUX_GPIO12__FUNC_SDA2>,
569                                  <PINMUX_GPIO13__FUNC_SCL2>;
570                         bias-pull-up = <MTK_PULL_SET_RSEL_111>;
571                         drive-strength = <MTK_DRIVE_6mA>;
572                 };
573         };
574
575         i2c6_pins: i2c6-pins {
576                 pins {
577                         pinmux = <PINMUX_GPIO25__FUNC_SDA6>,
578                                  <PINMUX_GPIO26__FUNC_SCL6>;
579                         bias-pull-up;
580                 };
581         };
582
583         mmc0_default_pins: mmc0-default-pins {
584                 pins-clk {
585                         pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
586                         drive-strength = <MTK_DRIVE_6mA>;
587                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
588                 };
589
590                 pins-cmd-dat {
591                         pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
592                                  <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
593                                  <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
594                                  <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
595                                  <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
596                                  <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
597                                  <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
598                                  <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
599                                  <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
600                         input-enable;
601                         drive-strength = <MTK_DRIVE_6mA>;
602                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
603                 };
604
605                 pins-rst {
606                         pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
607                         drive-strength = <MTK_DRIVE_6mA>;
608                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
609                 };
610         };
611
612         mmc0_uhs_pins: mmc0-uhs-pins {
613                 pins-clk {
614                         pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
615                         drive-strength = <MTK_DRIVE_8mA>;
616                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
617                 };
618
619                 pins-cmd-dat {
620                         pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
621                                  <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
622                                  <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
623                                  <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
624                                  <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
625                                  <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
626                                  <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
627                                  <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
628                                  <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
629                         input-enable;
630                         drive-strength = <MTK_DRIVE_8mA>;
631                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
632                 };
633
634                 pins-ds {
635                         pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>;
636                         drive-strength = <MTK_DRIVE_8mA>;
637                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
638                 };
639
640                 pins-rst {
641                         pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
642                         drive-strength = <MTK_DRIVE_8mA>;
643                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
644                 };
645         };
646
647         mmc1_default_pins: mmc1-default-pins {
648                 pins-clk {
649                         pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
650                         drive-strength = <MTK_DRIVE_8mA>;
651                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
652                 };
653
654                 pins-cmd-dat {
655                         pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
656                                  <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
657                                  <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
658                                  <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
659                                  <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
660                         input-enable;
661                         drive-strength = <MTK_DRIVE_8mA>;
662                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
663                 };
664         };
665
666         mmc1_uhs_pins: mmc1-uhs-pins {
667                 pins-clk {
668                         pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>;
669                         drive-strength = <MTK_DRIVE_8mA>;
670                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
671                 };
672
673                 pins-cmd-dat {
674                         pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>,
675                                  <PINMUX_GPIO112__FUNC_MSDC1_DAT0>,
676                                  <PINMUX_GPIO113__FUNC_MSDC1_DAT1>,
677                                  <PINMUX_GPIO114__FUNC_MSDC1_DAT2>,
678                                  <PINMUX_GPIO115__FUNC_MSDC1_DAT3>;
679                         input-enable;
680                         drive-strength = <MTK_DRIVE_8mA>;
681                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
682                 };
683         };
684
685         mt6360_pins: mt6360-pins {
686                 pins {
687                         pinmux = <PINMUX_GPIO17__FUNC_GPIO17>,
688                                  <PINMUX_GPIO128__FUNC_GPIO128>;
689                         input-enable;
690                         bias-pull-up;
691                 };
692         };
693
694         pcie0_default_pins: pcie0-default-pins {
695                 pins {
696                         pinmux = <PINMUX_GPIO19__FUNC_WAKEN>,
697                                  <PINMUX_GPIO20__FUNC_PERSTN>,
698                                  <PINMUX_GPIO21__FUNC_CLKREQN>;
699                         bias-pull-up;
700                 };
701         };
702
703         pcie0_idle_pins: pcie0-idle-pins {
704                 pins {
705                         pinmux = <PINMUX_GPIO20__FUNC_GPIO20>;
706                         bias-disable;
707                         output-low;
708                 };
709         };
710
711         pcie1_default_pins: pcie1-default-pins {
712                 pins {
713                         pinmux = <PINMUX_GPIO22__FUNC_PERSTN_1>,
714                                  <PINMUX_GPIO23__FUNC_CLKREQN_1>,
715                                  <PINMUX_GPIO24__FUNC_WAKEN_1>;
716                         bias-pull-up;
717                 };
718         };
719
720         pwm0_default_pins: pwm0-default-pins {
721                 pins-cmd-dat {
722                         pinmux = <PINMUX_GPIO97__FUNC_DISP_PWM0>;
723                 };
724         };
725
726         spi1_pins: spi1-pins {
727                 pins {
728                         pinmux = <PINMUX_GPIO136__FUNC_SPIM1_CSB>,
729                                  <PINMUX_GPIO137__FUNC_SPIM1_CLK>,
730                                  <PINMUX_GPIO138__FUNC_SPIM1_MO>,
731                                  <PINMUX_GPIO139__FUNC_SPIM1_MI>;
732                         bias-disable;
733                 };
734         };
735
736         spi2_pins: spi-pins {
737                 pins {
738                         pinmux = <PINMUX_GPIO140__FUNC_SPIM2_CSB>,
739                                  <PINMUX_GPIO141__FUNC_SPIM2_CLK>,
740                                  <PINMUX_GPIO142__FUNC_SPIM2_MO>,
741                                  <PINMUX_GPIO143__FUNC_SPIM2_MI>;
742                         bias-disable;
743                 };
744         };
745
746         touch_pins: touch-pins {
747                 pins-irq {
748                         pinmux = <PINMUX_GPIO132__FUNC_GPIO132>;
749                         input-enable;
750                         bias-disable;
751                 };
752
753                 pins-reset {
754                         pinmux = <PINMUX_GPIO133__FUNC_GPIO133>;
755                         output-high;
756                 };
757         };
758
759         uart0_pins: uart0-pins {
760                 pins {
761                         pinmux = <PINMUX_GPIO98__FUNC_UTXD0>,
762                                  <PINMUX_GPIO99__FUNC_URXD0>;
763                 };
764         };
765
766         uart1_pins: uart1-pins {
767                 pins {
768                         pinmux = <PINMUX_GPIO100__FUNC_URTS1>,
769                                  <PINMUX_GPIO101__FUNC_UCTS1>,
770                                  <PINMUX_GPIO102__FUNC_UTXD1>,
771                                  <PINMUX_GPIO103__FUNC_URXD1>;
772                 };
773         };
774 };
775
776 &pmic {
777         interrupt-parent = <&pio>;
778         interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
779 };
780
781 &scp {
782         memory-region = <&scp_mem>;
783         status = "okay";
784 };
785
786 &spi1 {
787         pinctrl-0 = <&spi1_pins>;
788         pinctrl-names = "default";
789         mediatek,pad-select = <0>;
790         #address-cells = <1>;
791         #size-cells = <0>;
792         status = "okay";
793         cs-gpios = <&pio 64 GPIO_ACTIVE_LOW>;
794
795         can0: can@0 {
796                 compatible = "microchip,mcp2518fd";
797                 reg = <0>;
798                 clocks = <&can_clk>;
799                 spi-max-frequency = <20000000>;
800                 interrupts-extended = <&pio 16 IRQ_TYPE_LEVEL_LOW>;
801                 vdd-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
802                 xceiver-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
803         };
804 };
805
806 &spi2 {
807         pinctrl-0 = <&spi2_pins>;
808         pinctrl-names = "default";
809         mediatek,pad-select = <0>;
810         #address-cells = <1>;
811         #size-cells = <0>;
812         status = "okay";
813 };
814
815 &spmi {
816         #address-cells = <2>;
817         #size-cells = <0>;
818
819         mt6315_6: pmic@6 {
820                 compatible = "mediatek,mt6315-regulator";
821                 reg = <0x6 SPMI_USID>;
822
823                 regulators {
824                         mt6315_6_vbuck1: vbuck1 {
825                                 regulator-compatible = "vbuck1";
826                                 regulator-name = "Vbcpu";
827                                 regulator-min-microvolt = <300000>;
828                                 regulator-max-microvolt = <1193750>;
829                                 regulator-enable-ramp-delay = <256>;
830                                 regulator-allowed-modes = <0 1 2>;
831                                 regulator-always-on;
832                         };
833                 };
834         };
835
836         mt6315_7: pmic@7 {
837                 compatible = "mediatek,mt6315-regulator";
838                 reg = <0x7 SPMI_USID>;
839
840                 regulators {
841                         mt6315_7_vbuck1: vbuck1 {
842                                 regulator-compatible = "vbuck1";
843                                 regulator-name = "Vgpu";
844                                 regulator-min-microvolt = <300000>;
845                                 regulator-max-microvolt = <1193750>;
846                                 regulator-enable-ramp-delay = <256>;
847                                 regulator-allowed-modes = <0 1 2>;
848                         };
849                 };
850         };
851 };
852
853 &u3phy0 {
854         status = "okay";
855 };
856
857 &u3phy1 {
858         status = "okay";
859 };
860
861 &u3phy2 {
862         status = "okay";
863 };
864
865 &u3phy3 {
866         status = "okay";
867 };
868
869 &uart0 {
870         pinctrl-0 = <&uart0_pins>;
871         pinctrl-names = "default";
872         status = "okay";
873 };
874
875 &uart1 {
876         pinctrl-0 = <&uart1_pins>;
877         pinctrl-names = "default";
878         status = "okay";
879 };
880
881 &ufsphy {
882         status = "disabled";
883 };
884
885 &xhci0 {
886         status = "okay";
887 };
888
889 &xhci1 {
890         vusb33-supply = <&mt6359_vusb_ldo_reg>;
891         status = "okay";
892 };
893
894 &xhci2 {
895         vusb33-supply = <&mt6359_vusb_ldo_reg>;
896         status = "okay";
897 };
898
899 &xhci3 {
900         vusb33-supply = <&mt6359_vusb_ldo_reg>;
901         status = "okay";
902 };