Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / mediatek / mt8183-kukui.dtsi
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 /*
3  * Copyright (c) 2018 MediaTek Inc.
4  * Author: Ben Ho <ben.ho@mediatek.com>
5  *         Erin Lo <erin.lo@mediatek.com>
6  */
7
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include "mt8183.dtsi"
11 #include "mt6358.dtsi"
12
13 / {
14         aliases {
15                 serial0 = &uart0;
16                 mmc0 = &mmc0;
17                 mmc1 = &mmc1;
18         };
19
20         chosen {
21                 stdout-path = "serial0:115200n8";
22         };
23
24         backlight_lcd0: backlight_lcd0 {
25                 compatible = "pwm-backlight";
26                 pwms = <&pwm0 0 500000>;
27                 power-supply = <&bl_pp5000>;
28                 enable-gpios = <&pio 176 0>;
29                 brightness-levels = <0 1023>;
30                 num-interpolated-steps = <1023>;
31                 default-brightness-level = <576>;
32                 status = "okay";
33         };
34
35         memory@40000000 {
36                 device_type = "memory";
37                 reg = <0 0x40000000 0 0x80000000>;
38         };
39
40         clk32k: oscillator1 {
41                 compatible = "fixed-clock";
42                 #clock-cells = <0>;
43                 clock-frequency = <32768>;
44                 clock-output-names = "clk32k";
45         };
46
47         it6505_pp18_reg: regulator0 {
48                 compatible = "regulator-fixed";
49                 regulator-name = "it6505_pp18";
50                 regulator-min-microvolt = <1800000>;
51                 regulator-max-microvolt = <1800000>;
52                 gpio = <&pio 178 0>;
53                 enable-active-high;
54         };
55
56         lcd_pp3300: regulator1 {
57                 compatible = "regulator-fixed";
58                 regulator-name = "lcd_pp3300";
59                 regulator-min-microvolt = <3300000>;
60                 regulator-max-microvolt = <3300000>;
61                 regulator-always-on;
62                 regulator-boot-on;
63         };
64
65         bl_pp5000: regulator2 {
66                 compatible = "regulator-fixed";
67                 regulator-name = "bl_pp5000";
68                 regulator-min-microvolt = <5000000>;
69                 regulator-max-microvolt = <5000000>;
70                 regulator-always-on;
71                 regulator-boot-on;
72         };
73
74         mmc1_fixed_power: regulator3 {
75                 compatible = "regulator-fixed";
76                 regulator-name = "mmc1_power";
77                 regulator-min-microvolt = <3300000>;
78                 regulator-max-microvolt = <3300000>;
79         };
80
81         mmc1_fixed_io: regulator4 {
82                 compatible = "regulator-fixed";
83                 regulator-name = "mmc1_io";
84                 regulator-min-microvolt = <1800000>;
85                 regulator-max-microvolt = <1800000>;
86         };
87
88         pp1800_alw: regulator5 {
89                 compatible = "regulator-fixed";
90                 regulator-name = "pp1800_alw";
91                 regulator-always-on;
92                 regulator-boot-on;
93                 regulator-min-microvolt = <1800000>;
94                 regulator-max-microvolt = <1800000>;
95         };
96
97         pp3300_alw: regulator6 {
98                 compatible = "regulator-fixed";
99                 regulator-name = "pp3300_alw";
100                 regulator-always-on;
101                 regulator-boot-on;
102                 regulator-min-microvolt = <3300000>;
103                 regulator-max-microvolt = <3300000>;
104         };
105
106         /* system wide semi-regulated power rail from charger */
107         reg_vsys: regulator-vsys {
108                 compatible = "regulator-fixed";
109                 regulator-name = "vsys";
110                 regulator-always-on;
111                 regulator-boot-on;
112         };
113
114         reserved_memory: reserved-memory {
115                 #address-cells = <2>;
116                 #size-cells = <2>;
117                 ranges;
118
119                 scp_mem_reserved: memory@50000000 {
120                         compatible = "shared-dma-pool";
121                         reg = <0 0x50000000 0 0x2900000>;
122                         no-map;
123                 };
124         };
125
126         sound: mt8183-sound {
127                 mediatek,platform = <&afe>;
128                 pinctrl-names = "default",
129                                 "aud_tdm_out_on",
130                                 "aud_tdm_out_off";
131                 pinctrl-0 = <&aud_pins_default>;
132                 pinctrl-1 = <&aud_pins_tdm_out_on>;
133                 pinctrl-2 = <&aud_pins_tdm_out_off>;
134                 status = "okay";
135         };
136
137         btsco: bt-sco {
138                 compatible = "linux,bt-sco";
139         };
140
141         wifi_pwrseq: wifi-pwrseq {
142                 compatible = "mmc-pwrseq-simple";
143                 pinctrl-names = "default";
144                 pinctrl-0 = <&wifi_pins_pwrseq>;
145
146                 /* Toggle WIFI_ENABLE to reset the chip. */
147                 reset-gpios = <&pio 119 1>;
148         };
149
150         wifi_wakeup: wifi-wakeup {
151                 compatible = "gpio-keys";
152                 pinctrl-names = "default";
153                 pinctrl-0 = <&wifi_pins_wakeup>;
154
155                 button-wowlan {
156                         label = "Wake on WiFi";
157                         gpios = <&pio 113 GPIO_ACTIVE_HIGH>;
158                         linux,code = <KEY_WAKEUP>;
159                         wakeup-source;
160                 };
161         };
162
163         tboard_thermistor1: thermal-sensor1 {
164                 compatible = "generic-adc-thermal";
165                 #thermal-sensor-cells = <0>;
166                 io-channels = <&auxadc 0>;
167                 io-channel-names = "sensor-channel";
168                 temperature-lookup-table = <    (-5000) 1553
169                                                 0 1488
170                                                 5000 1412
171                                                 10000 1326
172                                                 15000 1232
173                                                 20000 1132
174                                                 25000 1029
175                                                 30000 925
176                                                 35000 823
177                                                 40000 726
178                                                 45000 635
179                                                 50000 552
180                                                 55000 478
181                                                 60000 411
182                                                 65000 353
183                                                 70000 303
184                                                 75000 260
185                                                 80000 222
186                                                 85000 190
187                                                 90000 163
188                                                 95000 140
189                                                 100000 121
190                                                 105000 104
191                                                 110000 90
192                                                 115000 78
193                                                 120000 67
194                                                 125000 59>;
195         };
196
197         tboard_thermistor2: thermal-sensor2 {
198                 compatible = "generic-adc-thermal";
199                 #thermal-sensor-cells = <0>;
200                 io-channels = <&auxadc 1>;
201                 io-channel-names = "sensor-channel";
202                 temperature-lookup-table = <    (-5000) 1553
203                                                 0 1488
204                                                 5000 1412
205                                                 10000 1326
206                                                 15000 1232
207                                                 20000 1132
208                                                 25000 1029
209                                                 30000 925
210                                                 35000 823
211                                                 40000 726
212                                                 45000 635
213                                                 50000 552
214                                                 55000 478
215                                                 60000 411
216                                                 65000 353
217                                                 70000 303
218                                                 75000 260
219                                                 80000 222
220                                                 85000 190
221                                                 90000 163
222                                                 95000 140
223                                                 100000 121
224                                                 105000 104
225                                                 110000 90
226                                                 115000 78
227                                                 120000 67
228                                                 125000 59>;
229         };
230 };
231
232 &auxadc {
233         status = "okay";
234 };
235
236 &cci {
237         proc-supply = <&mt6358_vproc12_reg>;
238 };
239
240 &cpu0 {
241         proc-supply = <&mt6358_vproc12_reg>;
242 };
243
244 &cpu1 {
245         proc-supply = <&mt6358_vproc12_reg>;
246 };
247
248 &cpu2 {
249         proc-supply = <&mt6358_vproc12_reg>;
250 };
251
252 &cpu3 {
253         proc-supply = <&mt6358_vproc12_reg>;
254 };
255
256 &cpu4 {
257         proc-supply = <&mt6358_vproc11_reg>;
258 };
259
260 &cpu5 {
261         proc-supply = <&mt6358_vproc11_reg>;
262 };
263
264 &cpu6 {
265         proc-supply = <&mt6358_vproc11_reg>;
266 };
267
268 &cpu7 {
269         proc-supply = <&mt6358_vproc11_reg>;
270 };
271
272 &dsi0 {
273         status = "okay";
274         #address-cells = <1>;
275         #size-cells = <0>;
276         panel: panel@0 {
277                 /* compatible will be set in board dts */
278                 reg = <0>;
279                 enable-gpios = <&pio 45 0>;
280                 pinctrl-names = "default";
281                 pinctrl-0 = <&panel_pins_default>;
282                 avdd-supply = <&ppvarn_lcd>;
283                 avee-supply = <&ppvarp_lcd>;
284                 pp1800-supply = <&pp1800_lcd>;
285                 backlight = <&backlight_lcd0>;
286                 rotation = <270>;
287                 port {
288                         panel_in: endpoint {
289                                 remote-endpoint = <&dsi_out>;
290                         };
291                 };
292         };
293
294         ports {
295                 port {
296                         dsi_out: endpoint {
297                                 remote-endpoint = <&panel_in>;
298                         };
299                 };
300         };
301 };
302
303 &gic {
304         mediatek,broken-save-restore-fw;
305 };
306
307 &gpu {
308         mali-supply = <&mt6358_vgpu_reg>;
309 };
310
311 &i2c0 {
312         pinctrl-names = "default";
313         pinctrl-0 = <&i2c0_pins>;
314         status = "okay";
315         clock-frequency = <400000>;
316         #address-cells = <1>;
317         #size-cells = <0>;
318 };
319
320 &i2c1 {
321         pinctrl-names = "default";
322         pinctrl-0 = <&i2c1_pins>;
323         status = "okay";
324         clock-frequency = <100000>;
325 };
326
327 &i2c3 {
328         pinctrl-names = "default";
329         pinctrl-0 = <&i2c3_pins>;
330         status = "okay";
331         clock-frequency = <100000>;
332         #address-cells = <1>;
333         #size-cells = <0>;
334 };
335
336 &i2c5 {
337         pinctrl-names = "default";
338         pinctrl-0 = <&i2c5_pins>;
339         status = "okay";
340         clock-frequency = <100000>;
341         #address-cells = <1>;
342         #size-cells = <0>;
343 };
344
345 &i2c6 {
346         pinctrl-names = "default";
347         pinctrl-0 = <&i2c6_pins>;
348         status = "okay";
349         clock-frequency = <100000>;
350 };
351
352 &mipi_tx0 {
353         status = "okay";
354 };
355
356 &mmc0 {
357         status = "okay";
358         pinctrl-names = "default", "state_uhs";
359         pinctrl-0 = <&mmc0_pins_default>;
360         pinctrl-1 = <&mmc0_pins_uhs>;
361         bus-width = <8>;
362         max-frequency = <200000000>;
363         cap-mmc-highspeed;
364         mmc-hs200-1_8v;
365         mmc-hs400-1_8v;
366         cap-mmc-hw-reset;
367         no-sdio;
368         no-sd;
369         hs400-ds-delay = <0x12814>;
370         vmmc-supply = <&mt6358_vemc_reg>;
371         vqmmc-supply = <&mt6358_vio18_reg>;
372         assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>;
373         assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_CK>;
374         non-removable;
375 };
376
377 &mmc1 {
378         status = "okay";
379         pinctrl-names = "default", "state_uhs";
380         pinctrl-0 = <&mmc1_pins_default>;
381         pinctrl-1 = <&mmc1_pins_uhs>;
382         vmmc-supply = <&mmc1_fixed_power>;
383         vqmmc-supply = <&mmc1_fixed_io>;
384         mmc-pwrseq = <&wifi_pwrseq>;
385         bus-width = <4>;
386         max-frequency = <200000000>;
387         cap-sd-highspeed;
388         sd-uhs-sdr50;
389         sd-uhs-sdr104;
390         keep-power-in-suspend;
391         wakeup-source;
392         cap-sdio-irq;
393         non-removable;
394         no-mmc;
395         no-sd;
396         assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>;
397         assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
398         #address-cells = <1>;
399         #size-cells = <0>;
400
401         qca_wifi: qca-wifi@1 {
402                 compatible = "qcom,ath10k";
403                 reg = <1>;
404         };
405 };
406
407 &mt6358_vdram2_reg {
408         regulator-always-on;
409 };
410
411 &mt6358codec {
412         Avdd-supply = <&mt6358_vaud28_reg>;
413 };
414
415 &mt6358regulator {
416         vsys-ldo1-supply = <&reg_vsys>;
417         vsys-ldo2-supply = <&reg_vsys>;
418         vsys-ldo3-supply = <&reg_vsys>;
419         vsys-vcore-supply = <&reg_vsys>;
420         vsys-vdram1-supply = <&reg_vsys>;
421         vsys-vgpu-supply = <&reg_vsys>;
422         vsys-vmodem-supply = <&reg_vsys>;
423         vsys-vpa-supply = <&reg_vsys>;
424         vsys-vproc11-supply = <&reg_vsys>;
425         vsys-vproc12-supply = <&reg_vsys>;
426         vsys-vs1-supply = <&reg_vsys>;
427         vsys-vs2-supply = <&reg_vsys>;
428         vs1-ldo1-supply = <&mt6358_vs1_reg>;
429         vs2-ldo1-supply = <&mt6358_vdram1_reg>;
430         vs2-ldo2-supply = <&mt6358_vs2_reg>;
431         vs2-ldo3-supply = <&mt6358_vs2_reg>;
432         vs2-ldo4-supply = <&mt6358_vs2_reg>;
433 };
434
435 &mt6358_vgpu_reg {
436         regulator-min-microvolt = <625000>;
437         regulator-max-microvolt = <900000>;
438
439         regulator-coupled-with = <&mt6358_vsram_gpu_reg>;
440         regulator-coupled-max-spread = <100000>;
441 };
442
443 &mt6358_vsim1_reg {
444         regulator-min-microvolt = <2700000>;
445         regulator-max-microvolt = <2700000>;
446 };
447
448 &mt6358_vsim2_reg {
449         regulator-min-microvolt = <2700000>;
450         regulator-max-microvolt = <2700000>;
451 };
452
453 &mt6358_vsram_gpu_reg {
454         regulator-min-microvolt = <850000>;
455         regulator-max-microvolt = <1000000>;
456
457         regulator-coupled-with = <&mt6358_vgpu_reg>;
458         regulator-coupled-max-spread = <100000>;
459 };
460
461 &pio {
462         aud_pins_default: audiopins {
463                 pins-bus {
464                         pinmux = <PINMUX_GPIO97__FUNC_I2S2_MCK>,
465                                 <PINMUX_GPIO98__FUNC_I2S2_BCK>,
466                                 <PINMUX_GPIO101__FUNC_I2S2_LRCK>,
467                                 <PINMUX_GPIO102__FUNC_I2S2_DI>,
468                                 <PINMUX_GPIO3__FUNC_I2S3_DO>, /*i2s to da7219/max98357*/
469                                 <PINMUX_GPIO89__FUNC_I2S5_BCK>,
470                                 <PINMUX_GPIO90__FUNC_I2S5_LRCK>,
471                                 <PINMUX_GPIO91__FUNC_I2S5_DO>,
472                                 <PINMUX_GPIO174__FUNC_I2S0_DI>, /*i2s to wifi/bt*/
473                                 <PINMUX_GPIO136__FUNC_AUD_CLK_MOSI>,
474                                 <PINMUX_GPIO137__FUNC_AUD_SYNC_MOSI>,
475                                 <PINMUX_GPIO138__FUNC_AUD_DAT_MOSI0>,
476                                 <PINMUX_GPIO139__FUNC_AUD_DAT_MOSI1>,
477                                 <PINMUX_GPIO140__FUNC_AUD_CLK_MISO>,
478                                 <PINMUX_GPIO141__FUNC_AUD_SYNC_MISO>,
479                                 <PINMUX_GPIO142__FUNC_AUD_DAT_MISO0>,
480                                 <PINMUX_GPIO143__FUNC_AUD_DAT_MISO1>; /*mtkaif3.0*/
481                 };
482         };
483
484         aud_pins_tdm_out_on: audiotdmouton {
485                 pins-bus {
486                         pinmux = <PINMUX_GPIO169__FUNC_TDM_BCK_2ND>,
487                                 <PINMUX_GPIO170__FUNC_TDM_LRCK_2ND>,
488                                 <PINMUX_GPIO171__FUNC_TDM_DATA0_2ND>,
489                                 <PINMUX_GPIO172__FUNC_TDM_DATA1_2ND>,
490                                 <PINMUX_GPIO173__FUNC_TDM_DATA2_2ND>,
491                                 <PINMUX_GPIO10__FUNC_TDM_DATA3>; /*8ch-i2s to it6505*/
492                         drive-strength = <MTK_DRIVE_6mA>;
493                 };
494         };
495
496         aud_pins_tdm_out_off: audiotdmoutoff {
497                 pins-bus {
498                         pinmux = <PINMUX_GPIO169__FUNC_GPIO169>,
499                                 <PINMUX_GPIO170__FUNC_GPIO170>,
500                                 <PINMUX_GPIO171__FUNC_GPIO171>,
501                                 <PINMUX_GPIO172__FUNC_GPIO172>,
502                                 <PINMUX_GPIO173__FUNC_GPIO173>,
503                                 <PINMUX_GPIO10__FUNC_GPIO10>;
504                         input-enable;
505                         bias-pull-down;
506                         drive-strength = <MTK_DRIVE_2mA>;
507                 };
508         };
509
510         bt_pins: bt-pins {
511                 pins-bt-en {
512                         pinmux = <PINMUX_GPIO120__FUNC_GPIO120>;
513                         output-low;
514                 };
515         };
516
517         ec_ap_int_odl: ec-ap-int-odl {
518                 pins1 {
519                         pinmux = <PINMUX_GPIO151__FUNC_GPIO151>;
520                         input-enable;
521                         bias-pull-up;
522                 };
523         };
524
525         h1_int_od_l: h1-int-od-l {
526                 pins1 {
527                         pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
528                         input-enable;
529                 };
530         };
531
532         i2c0_pins: i2c0 {
533                 pins-bus {
534                         pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
535                                  <PINMUX_GPIO83__FUNC_SCL0>;
536                         mediatek,pull-up-adv = <3>;
537                         mediatek,drive-strength-adv = <00>;
538                 };
539         };
540
541         i2c1_pins: i2c1 {
542                 pins-bus {
543                         pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
544                                  <PINMUX_GPIO84__FUNC_SCL1>;
545                         mediatek,pull-up-adv = <3>;
546                         mediatek,drive-strength-adv = <00>;
547                 };
548         };
549
550         i2c2_pins: i2c2 {
551                 pins-bus {
552                         pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
553                                  <PINMUX_GPIO104__FUNC_SDA2>;
554                         bias-disable;
555                         mediatek,drive-strength-adv = <00>;
556                 };
557         };
558
559         i2c3_pins: i2c3 {
560                 pins-bus {
561                         pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
562                                  <PINMUX_GPIO51__FUNC_SDA3>;
563                         mediatek,pull-up-adv = <3>;
564                         mediatek,drive-strength-adv = <00>;
565                 };
566         };
567
568         i2c4_pins: i2c4 {
569                 pins-bus {
570                         pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
571                                  <PINMUX_GPIO106__FUNC_SDA4>;
572                         bias-disable;
573                         mediatek,drive-strength-adv = <00>;
574                 };
575         };
576
577         i2c5_pins: i2c5 {
578                 pins-bus {
579                         pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
580                                  <PINMUX_GPIO49__FUNC_SDA5>;
581                         mediatek,pull-up-adv = <3>;
582                         mediatek,drive-strength-adv = <00>;
583                 };
584         };
585
586         i2c6_pins: i2c6 {
587                 pins-bus {
588                         pinmux = <PINMUX_GPIO11__FUNC_SCL6>,
589                                  <PINMUX_GPIO12__FUNC_SDA6>;
590                         bias-disable;
591                 };
592         };
593
594         mmc0_pins_default: mmc0-pins-default {
595                 pins-cmd-dat {
596                         pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
597                                  <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
598                                  <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
599                                  <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
600                                  <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
601                                  <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
602                                  <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
603                                  <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
604                                  <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
605                         input-enable;
606                         drive-strength = <MTK_DRIVE_14mA>;
607                         mediatek,pull-up-adv = <01>;
608                 };
609
610                 pins-clk {
611                         pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
612                         drive-strength = <MTK_DRIVE_14mA>;
613                         mediatek,pull-down-adv = <10>;
614                 };
615
616                 pins-rst {
617                         pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
618                         drive-strength = <MTK_DRIVE_14mA>;
619                         mediatek,pull-down-adv = <01>;
620                 };
621         };
622
623         mmc0_pins_uhs: mmc0-pins-uhs {
624                 pins-cmd-dat {
625                         pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
626                                  <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
627                                  <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
628                                  <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
629                                  <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
630                                  <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
631                                  <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
632                                  <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
633                                  <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
634                         input-enable;
635                         drive-strength = <MTK_DRIVE_14mA>;
636                         mediatek,pull-up-adv = <01>;
637                 };
638
639                 pins-clk {
640                         pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
641                         drive-strength = <MTK_DRIVE_14mA>;
642                         mediatek,pull-down-adv = <10>;
643                 };
644
645                 pins-ds {
646                         pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
647                         drive-strength = <MTK_DRIVE_14mA>;
648                         mediatek,pull-down-adv = <10>;
649                 };
650
651                 pins-rst {
652                         pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
653                         drive-strength = <MTK_DRIVE_14mA>;
654                         mediatek,pull-up-adv = <01>;
655                 };
656         };
657
658         mmc1_pins_default: mmc1-pins-default {
659                 pins-cmd-dat {
660                         pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
661                                  <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
662                                  <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
663                                  <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
664                                  <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
665                         input-enable;
666                         mediatek,pull-up-adv = <10>;
667                 };
668
669                 pins-clk {
670                         pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
671                         input-enable;
672                         mediatek,pull-down-adv = <10>;
673                 };
674         };
675
676         mmc1_pins_uhs: mmc1-pins-uhs {
677                 pins-cmd-dat {
678                         pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
679                                  <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
680                                  <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
681                                  <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
682                                  <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
683                         drive-strength = <MTK_DRIVE_6mA>;
684                         input-enable;
685                         mediatek,pull-up-adv = <10>;
686                 };
687
688                 pins-clk {
689                         pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
690                         drive-strength = <MTK_DRIVE_8mA>;
691                         mediatek,pull-down-adv = <10>;
692                         input-enable;
693                 };
694         };
695
696         panel_pins_default: panel-pins-default {
697                 panel-reset {
698                         pinmux = <PINMUX_GPIO45__FUNC_GPIO45>;
699                         output-low;
700                         bias-pull-up;
701                 };
702         };
703
704         pwm0_pin_default: pwm0-pin-default {
705                 pins1 {
706                         pinmux = <PINMUX_GPIO176__FUNC_GPIO176>;
707                         output-high;
708                         bias-pull-up;
709                 };
710                 pins2 {
711                         pinmux = <PINMUX_GPIO43__FUNC_DISP_PWM>;
712                 };
713         };
714
715         scp_pins: scp {
716                 pins-scp-uart {
717                         pinmux = <PINMUX_GPIO110__FUNC_TP_URXD1_AO>,
718                                  <PINMUX_GPIO112__FUNC_TP_UTXD1_AO>;
719                 };
720         };
721
722         spi0_pins: spi0 {
723                 pins-spi {
724                         pinmux = <PINMUX_GPIO85__FUNC_SPI0_MI>,
725                                  <PINMUX_GPIO86__FUNC_GPIO86>,
726                                  <PINMUX_GPIO87__FUNC_SPI0_MO>,
727                                  <PINMUX_GPIO88__FUNC_SPI0_CLK>;
728                         bias-disable;
729                 };
730         };
731
732         spi1_pins: spi1 {
733                 pins-spi {
734                         pinmux = <PINMUX_GPIO161__FUNC_SPI1_A_MI>,
735                                  <PINMUX_GPIO162__FUNC_SPI1_A_CSB>,
736                                  <PINMUX_GPIO163__FUNC_SPI1_A_MO>,
737                                  <PINMUX_GPIO164__FUNC_SPI1_A_CLK>;
738                         bias-disable;
739                 };
740         };
741
742         spi2_pins: spi2 {
743                 pins-spi {
744                         pinmux = <PINMUX_GPIO0__FUNC_SPI2_CSB>,
745                                  <PINMUX_GPIO1__FUNC_SPI2_MO>,
746                                  <PINMUX_GPIO2__FUNC_SPI2_CLK>;
747                         bias-disable;
748                 };
749                 pins-spi-mi {
750                         pinmux = <PINMUX_GPIO94__FUNC_SPI2_MI>;
751                         mediatek,pull-down-adv = <00>;
752                 };
753         };
754
755         spi3_pins: spi3 {
756                 pins-spi {
757                         pinmux = <PINMUX_GPIO21__FUNC_SPI3_MI>,
758                                  <PINMUX_GPIO22__FUNC_SPI3_CSB>,
759                                  <PINMUX_GPIO23__FUNC_SPI3_MO>,
760                                  <PINMUX_GPIO24__FUNC_SPI3_CLK>;
761                         bias-disable;
762                 };
763         };
764
765         spi4_pins: spi4 {
766                 pins-spi {
767                         pinmux = <PINMUX_GPIO17__FUNC_SPI4_MI>,
768                                  <PINMUX_GPIO18__FUNC_SPI4_CSB>,
769                                  <PINMUX_GPIO19__FUNC_SPI4_MO>,
770                                  <PINMUX_GPIO20__FUNC_SPI4_CLK>;
771                         bias-disable;
772                 };
773         };
774
775         spi5_pins: spi5 {
776                 pins-spi {
777                         pinmux = <PINMUX_GPIO13__FUNC_SPI5_MI>,
778                                  <PINMUX_GPIO14__FUNC_SPI5_CSB>,
779                                  <PINMUX_GPIO15__FUNC_SPI5_MO>,
780                                  <PINMUX_GPIO16__FUNC_SPI5_CLK>;
781                         bias-disable;
782                 };
783         };
784
785         uart0_pins_default: uart0-pins-default {
786                 pins-rx {
787                         pinmux = <PINMUX_GPIO95__FUNC_URXD0>;
788                         input-enable;
789                         bias-pull-up;
790                 };
791                 pins-tx {
792                         pinmux = <PINMUX_GPIO96__FUNC_UTXD0>;
793                 };
794         };
795
796         uart1_pins_default: uart1-pins-default {
797                 pins-rx {
798                         pinmux = <PINMUX_GPIO121__FUNC_URXD1>;
799                         input-enable;
800                         bias-pull-up;
801                 };
802                 pins-tx {
803                         pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
804                 };
805                 pins-rts {
806                         pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
807                         output-enable;
808                 };
809                 pins-cts {
810                         pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
811                         input-enable;
812                 };
813         };
814
815         uart1_pins_sleep: uart1-pins-sleep {
816                 pins-rx {
817                         pinmux = <PINMUX_GPIO121__FUNC_GPIO121>;
818                         input-enable;
819                         bias-pull-up;
820                 };
821                 pins-tx {
822                         pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
823                 };
824                 pins-rts {
825                         pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
826                         output-enable;
827                 };
828                 pins-cts {
829                         pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
830                         input-enable;
831                 };
832         };
833
834         wifi_pins_pwrseq: wifi-pins-pwrseq {
835                 pins-wifi-enable {
836                         pinmux = <PINMUX_GPIO119__FUNC_GPIO119>;
837                         output-low;
838                 };
839         };
840
841         wifi_pins_wakeup: wifi-pins-wakeup {
842                 pins-wifi-wakeup {
843                         pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
844                         input-enable;
845                 };
846         };
847 };
848
849 &pwm0 {
850         status = "okay";
851         pinctrl-names = "default";
852         pinctrl-0 = <&pwm0_pin_default>;
853 };
854
855 &scp {
856         status = "okay";
857
858         firmware-name = "/*(DEBLOBBED)*/";
859         pinctrl-names = "default";
860         pinctrl-0 = <&scp_pins>;
861
862         cros-ec-rpmsg {
863                 compatible = "google,cros-ec-rpmsg";
864                 mediatek,rpmsg-name = "cros-ec-rpmsg";
865         };
866 };
867
868 &mfg_async {
869         domain-supply = <&mt6358_vsram_gpu_reg>;
870 };
871
872 &mfg {
873         domain-supply = <&mt6358_vgpu_reg>;
874 };
875
876 &soc_data {
877         status = "okay";
878 };
879
880 &spi0 {
881         pinctrl-names = "default";
882         pinctrl-0 = <&spi0_pins>;
883         mediatek,pad-select = <0>;
884         status = "okay";
885         cs-gpios = <&pio 86 GPIO_ACTIVE_LOW>;
886
887         cr50@0 {
888                 compatible = "google,cr50";
889                 reg = <0>;
890                 spi-max-frequency = <1000000>;
891                 pinctrl-names = "default";
892                 pinctrl-0 = <&h1_int_od_l>;
893                 interrupt-parent = <&pio>;
894                 interrupts = <153 IRQ_TYPE_EDGE_RISING>;
895         };
896 };
897
898 &spi1 {
899         pinctrl-names = "default";
900         pinctrl-0 = <&spi1_pins>;
901         mediatek,pad-select = <0>;
902         status = "okay";
903
904         w25q64dw: flash@0 {
905                 compatible = "winbond,w25q64dw", "jedec,spi-nor";
906                 reg = <0>;
907                 spi-max-frequency = <25000000>;
908         };
909 };
910
911 &spi2 {
912         pinctrl-names = "default";
913         pinctrl-0 = <&spi2_pins>;
914         mediatek,pad-select = <0>;
915         status = "okay";
916
917         cros_ec: cros-ec@0 {
918                 compatible = "google,cros-ec-spi";
919                 reg = <0>;
920                 spi-max-frequency = <3000000>;
921                 interrupt-parent = <&pio>;
922                 interrupts = <151 IRQ_TYPE_LEVEL_LOW>;
923                 pinctrl-names = "default";
924                 pinctrl-0 = <&ec_ap_int_odl>;
925
926                 i2c_tunnel: i2c-tunnel {
927                         compatible = "google,cros-ec-i2c-tunnel";
928                         google,remote-bus = <1>;
929                         #address-cells = <1>;
930                         #size-cells = <0>;
931                 };
932
933                 usbc_extcon: extcon0 {
934                         compatible = "google,extcon-usbc-cros-ec";
935                         google,usb-port-id = <0>;
936                 };
937
938                 cbas {
939                         compatible = "google,cros-cbas";
940                 };
941
942                 typec {
943                         compatible = "google,cros-ec-typec";
944                         #address-cells = <1>;
945                         #size-cells = <0>;
946
947                         usb_c0: connector@0 {
948                                 compatible = "usb-c-connector";
949                                 reg = <0>;
950                                 power-role = "dual";
951                                 data-role = "host";
952                                 try-power-role = "sink";
953                         };
954                 };
955         };
956 };
957
958 &spi3 {
959         pinctrl-names = "default";
960         pinctrl-0 = <&spi3_pins>;
961         mediatek,pad-select = <0>;
962         status = "disabled";
963 };
964
965 &spi4 {
966         pinctrl-names = "default";
967         pinctrl-0 = <&spi4_pins>;
968         mediatek,pad-select = <0>;
969         status = "disabled";
970 };
971
972 &spi5 {
973         pinctrl-names = "default";
974         pinctrl-0 = <&spi5_pins>;
975         mediatek,pad-select = <0>;
976         status = "disabled";
977 };
978
979 &ssusb {
980         dr_mode = "host";
981         wakeup-source;
982         vusb33-supply = <&mt6358_vusb_reg>;
983         status = "okay";
984 };
985
986 &thermal_zones {
987         tboard1 {
988                 polling-delay = <1000>; /* milliseconds */
989                 polling-delay-passive = <0>; /* milliseconds */
990                 thermal-sensors = <&tboard_thermistor1>;
991         };
992
993         tboard2 {
994                 polling-delay = <1000>; /* milliseconds */
995                 polling-delay-passive = <0>; /* milliseconds */
996                 thermal-sensors = <&tboard_thermistor2>;
997         };
998 };
999
1000 &u3phy {
1001         status = "okay";
1002 };
1003
1004 &uart0 {
1005         pinctrl-names = "default";
1006         pinctrl-0 = <&uart0_pins_default>;
1007         status = "okay";
1008 };
1009
1010 &uart1 {
1011         pinctrl-names = "default", "sleep";
1012         pinctrl-0 = <&uart1_pins_default>;
1013         pinctrl-1 = <&uart1_pins_sleep>;
1014         status = "okay";
1015         /delete-property/ interrupts;
1016         interrupts-extended = <&sysirq GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>,
1017                               <&pio 121 IRQ_TYPE_EDGE_FALLING>;
1018
1019         bluetooth: bluetooth {
1020                 pinctrl-names = "default";
1021                 pinctrl-0 = <&bt_pins>;
1022                 status = "okay";
1023                 compatible = "qcom,qca6174-bt";
1024                 enable-gpios = <&pio 120 0>;
1025                 clocks = <&clk32k>;
1026                 firmware-name = "/*(DEBLOBBED)*/";
1027         };
1028 };
1029
1030 &usb_host {
1031         #address-cells = <1>;
1032         #size-cells = <0>;
1033         vusb33-supply = <&mt6358_vusb_reg>;
1034         status = "okay";
1035
1036         hub@1 {
1037                 compatible = "usb5e3,610";
1038                 reg = <1>;
1039         };
1040 };
1041
1042 #include <arm/cros-ec-sbs.dtsi>