blob: 6345e969efae5fe8e574b840cc781717a6d375a3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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
Tom Rini6b642ac2024-10-01 12:20:28 -0600155 wifi_wakeup_event: event-wowlan {
Tom Rini53633a82024-02-29 12:33:36 -0500156 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 {
Tom Rini53633a82024-02-29 12:33:36 -0500436 regulator-max-microvolt = <900000>;
437
438 regulator-coupled-with = <&mt6358_vsram_gpu_reg>;
439 regulator-coupled-max-spread = <100000>;
440};
441
442&mt6358_vsim1_reg {
443 regulator-min-microvolt = <2700000>;
444 regulator-max-microvolt = <2700000>;
445};
446
447&mt6358_vsim2_reg {
448 regulator-min-microvolt = <2700000>;
449 regulator-max-microvolt = <2700000>;
450};
451
452&mt6358_vsram_gpu_reg {
453 regulator-min-microvolt = <850000>;
454 regulator-max-microvolt = <1000000>;
455
456 regulator-coupled-with = <&mt6358_vgpu_reg>;
457 regulator-coupled-max-spread = <100000>;
458};
459
460&pio {
461 aud_pins_default: audiopins {
462 pins-bus {
463 pinmux = <PINMUX_GPIO97__FUNC_I2S2_MCK>,
464 <PINMUX_GPIO98__FUNC_I2S2_BCK>,
465 <PINMUX_GPIO101__FUNC_I2S2_LRCK>,
466 <PINMUX_GPIO102__FUNC_I2S2_DI>,
467 <PINMUX_GPIO3__FUNC_I2S3_DO>, /*i2s to da7219/max98357*/
468 <PINMUX_GPIO89__FUNC_I2S5_BCK>,
469 <PINMUX_GPIO90__FUNC_I2S5_LRCK>,
470 <PINMUX_GPIO91__FUNC_I2S5_DO>,
471 <PINMUX_GPIO174__FUNC_I2S0_DI>, /*i2s to wifi/bt*/
472 <PINMUX_GPIO136__FUNC_AUD_CLK_MOSI>,
473 <PINMUX_GPIO137__FUNC_AUD_SYNC_MOSI>,
474 <PINMUX_GPIO138__FUNC_AUD_DAT_MOSI0>,
475 <PINMUX_GPIO139__FUNC_AUD_DAT_MOSI1>,
476 <PINMUX_GPIO140__FUNC_AUD_CLK_MISO>,
477 <PINMUX_GPIO141__FUNC_AUD_SYNC_MISO>,
478 <PINMUX_GPIO142__FUNC_AUD_DAT_MISO0>,
479 <PINMUX_GPIO143__FUNC_AUD_DAT_MISO1>; /*mtkaif3.0*/
480 };
481 };
482
483 aud_pins_tdm_out_on: audiotdmouton {
484 pins-bus {
485 pinmux = <PINMUX_GPIO169__FUNC_TDM_BCK_2ND>,
486 <PINMUX_GPIO170__FUNC_TDM_LRCK_2ND>,
487 <PINMUX_GPIO171__FUNC_TDM_DATA0_2ND>,
488 <PINMUX_GPIO172__FUNC_TDM_DATA1_2ND>,
489 <PINMUX_GPIO173__FUNC_TDM_DATA2_2ND>,
490 <PINMUX_GPIO10__FUNC_TDM_DATA3>; /*8ch-i2s to it6505*/
Tom Rini6b642ac2024-10-01 12:20:28 -0600491 drive-strength = <6>;
Tom Rini53633a82024-02-29 12:33:36 -0500492 };
493 };
494
495 aud_pins_tdm_out_off: audiotdmoutoff {
496 pins-bus {
497 pinmux = <PINMUX_GPIO169__FUNC_GPIO169>,
498 <PINMUX_GPIO170__FUNC_GPIO170>,
499 <PINMUX_GPIO171__FUNC_GPIO171>,
500 <PINMUX_GPIO172__FUNC_GPIO172>,
501 <PINMUX_GPIO173__FUNC_GPIO173>,
502 <PINMUX_GPIO10__FUNC_GPIO10>;
503 input-enable;
504 bias-pull-down;
Tom Rini6b642ac2024-10-01 12:20:28 -0600505 drive-strength = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500506 };
507 };
508
509 bt_pins: bt-pins {
510 pins-bt-en {
511 pinmux = <PINMUX_GPIO120__FUNC_GPIO120>;
512 output-low;
513 };
514 };
515
516 ec_ap_int_odl: ec-ap-int-odl {
517 pins1 {
518 pinmux = <PINMUX_GPIO151__FUNC_GPIO151>;
519 input-enable;
520 bias-pull-up;
521 };
522 };
523
524 h1_int_od_l: h1-int-od-l {
525 pins1 {
526 pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
527 input-enable;
528 };
529 };
530
531 i2c0_pins: i2c0 {
532 pins-bus {
533 pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
534 <PINMUX_GPIO83__FUNC_SCL0>;
535 mediatek,pull-up-adv = <3>;
Tom Rini53633a82024-02-29 12:33:36 -0500536 };
537 };
538
539 i2c1_pins: i2c1 {
540 pins-bus {
541 pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
542 <PINMUX_GPIO84__FUNC_SCL1>;
543 mediatek,pull-up-adv = <3>;
Tom Rini53633a82024-02-29 12:33:36 -0500544 };
545 };
546
547 i2c2_pins: i2c2 {
548 pins-bus {
549 pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
550 <PINMUX_GPIO104__FUNC_SDA2>;
551 bias-disable;
Tom Rini53633a82024-02-29 12:33:36 -0500552 };
553 };
554
555 i2c3_pins: i2c3 {
556 pins-bus {
557 pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
558 <PINMUX_GPIO51__FUNC_SDA3>;
559 mediatek,pull-up-adv = <3>;
Tom Rini53633a82024-02-29 12:33:36 -0500560 };
561 };
562
563 i2c4_pins: i2c4 {
564 pins-bus {
565 pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
566 <PINMUX_GPIO106__FUNC_SDA4>;
567 bias-disable;
Tom Rini53633a82024-02-29 12:33:36 -0500568 };
569 };
570
571 i2c5_pins: i2c5 {
572 pins-bus {
573 pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
574 <PINMUX_GPIO49__FUNC_SDA5>;
575 mediatek,pull-up-adv = <3>;
Tom Rini53633a82024-02-29 12:33:36 -0500576 };
577 };
578
579 i2c6_pins: i2c6 {
580 pins-bus {
581 pinmux = <PINMUX_GPIO11__FUNC_SCL6>,
582 <PINMUX_GPIO12__FUNC_SDA6>;
583 bias-disable;
584 };
585 };
586
587 mmc0_pins_default: mmc0-pins-default {
588 pins-cmd-dat {
589 pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
590 <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
591 <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
592 <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
593 <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
594 <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
595 <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
596 <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
597 <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
598 input-enable;
599 drive-strength = <MTK_DRIVE_14mA>;
600 mediatek,pull-up-adv = <01>;
601 };
602
603 pins-clk {
604 pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
605 drive-strength = <MTK_DRIVE_14mA>;
606 mediatek,pull-down-adv = <10>;
607 };
608
609 pins-rst {
610 pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
611 drive-strength = <MTK_DRIVE_14mA>;
612 mediatek,pull-down-adv = <01>;
613 };
614 };
615
616 mmc0_pins_uhs: mmc0-pins-uhs {
617 pins-cmd-dat {
618 pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
619 <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
620 <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
621 <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
622 <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
623 <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
624 <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
625 <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
626 <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
627 input-enable;
628 drive-strength = <MTK_DRIVE_14mA>;
629 mediatek,pull-up-adv = <01>;
630 };
631
632 pins-clk {
633 pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
634 drive-strength = <MTK_DRIVE_14mA>;
635 mediatek,pull-down-adv = <10>;
636 };
637
638 pins-ds {
639 pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
640 drive-strength = <MTK_DRIVE_14mA>;
641 mediatek,pull-down-adv = <10>;
642 };
643
644 pins-rst {
645 pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
646 drive-strength = <MTK_DRIVE_14mA>;
647 mediatek,pull-up-adv = <01>;
648 };
649 };
650
651 mmc1_pins_default: mmc1-pins-default {
652 pins-cmd-dat {
653 pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
654 <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
655 <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
656 <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
657 <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
658 input-enable;
659 mediatek,pull-up-adv = <10>;
660 };
661
662 pins-clk {
663 pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
664 input-enable;
665 mediatek,pull-down-adv = <10>;
666 };
667 };
668
669 mmc1_pins_uhs: mmc1-pins-uhs {
670 pins-cmd-dat {
671 pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
672 <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
673 <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
674 <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
675 <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
Tom Rini6b642ac2024-10-01 12:20:28 -0600676 drive-strength = <6>;
Tom Rini53633a82024-02-29 12:33:36 -0500677 input-enable;
678 mediatek,pull-up-adv = <10>;
679 };
680
681 pins-clk {
682 pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
Tom Rini6b642ac2024-10-01 12:20:28 -0600683 drive-strength = <8>;
Tom Rini53633a82024-02-29 12:33:36 -0500684 mediatek,pull-down-adv = <10>;
685 input-enable;
686 };
687 };
688
689 panel_pins_default: panel-pins-default {
690 panel-reset {
691 pinmux = <PINMUX_GPIO45__FUNC_GPIO45>;
692 output-low;
693 bias-pull-up;
694 };
695 };
696
697 pwm0_pin_default: pwm0-pin-default {
698 pins1 {
699 pinmux = <PINMUX_GPIO176__FUNC_GPIO176>;
700 output-high;
701 bias-pull-up;
702 };
703 pins2 {
704 pinmux = <PINMUX_GPIO43__FUNC_DISP_PWM>;
705 };
706 };
707
708 scp_pins: scp {
709 pins-scp-uart {
710 pinmux = <PINMUX_GPIO110__FUNC_TP_URXD1_AO>,
711 <PINMUX_GPIO112__FUNC_TP_UTXD1_AO>;
712 };
713 };
714
715 spi0_pins: spi0 {
716 pins-spi {
717 pinmux = <PINMUX_GPIO85__FUNC_SPI0_MI>,
718 <PINMUX_GPIO86__FUNC_GPIO86>,
719 <PINMUX_GPIO87__FUNC_SPI0_MO>,
720 <PINMUX_GPIO88__FUNC_SPI0_CLK>;
721 bias-disable;
722 };
723 };
724
725 spi1_pins: spi1 {
726 pins-spi {
727 pinmux = <PINMUX_GPIO161__FUNC_SPI1_A_MI>,
728 <PINMUX_GPIO162__FUNC_SPI1_A_CSB>,
729 <PINMUX_GPIO163__FUNC_SPI1_A_MO>,
730 <PINMUX_GPIO164__FUNC_SPI1_A_CLK>;
731 bias-disable;
732 };
733 };
734
735 spi2_pins: spi2 {
736 pins-spi {
737 pinmux = <PINMUX_GPIO0__FUNC_SPI2_CSB>,
738 <PINMUX_GPIO1__FUNC_SPI2_MO>,
739 <PINMUX_GPIO2__FUNC_SPI2_CLK>;
740 bias-disable;
741 };
742 pins-spi-mi {
743 pinmux = <PINMUX_GPIO94__FUNC_SPI2_MI>;
744 mediatek,pull-down-adv = <00>;
745 };
746 };
747
748 spi3_pins: spi3 {
749 pins-spi {
750 pinmux = <PINMUX_GPIO21__FUNC_SPI3_MI>,
751 <PINMUX_GPIO22__FUNC_SPI3_CSB>,
752 <PINMUX_GPIO23__FUNC_SPI3_MO>,
753 <PINMUX_GPIO24__FUNC_SPI3_CLK>;
754 bias-disable;
755 };
756 };
757
758 spi4_pins: spi4 {
759 pins-spi {
760 pinmux = <PINMUX_GPIO17__FUNC_SPI4_MI>,
761 <PINMUX_GPIO18__FUNC_SPI4_CSB>,
762 <PINMUX_GPIO19__FUNC_SPI4_MO>,
763 <PINMUX_GPIO20__FUNC_SPI4_CLK>;
764 bias-disable;
765 };
766 };
767
768 spi5_pins: spi5 {
769 pins-spi {
770 pinmux = <PINMUX_GPIO13__FUNC_SPI5_MI>,
771 <PINMUX_GPIO14__FUNC_SPI5_CSB>,
772 <PINMUX_GPIO15__FUNC_SPI5_MO>,
773 <PINMUX_GPIO16__FUNC_SPI5_CLK>;
774 bias-disable;
775 };
776 };
777
778 uart0_pins_default: uart0-pins-default {
779 pins-rx {
780 pinmux = <PINMUX_GPIO95__FUNC_URXD0>;
781 input-enable;
782 bias-pull-up;
783 };
784 pins-tx {
785 pinmux = <PINMUX_GPIO96__FUNC_UTXD0>;
786 };
787 };
788
789 uart1_pins_default: uart1-pins-default {
790 pins-rx {
791 pinmux = <PINMUX_GPIO121__FUNC_URXD1>;
792 input-enable;
793 bias-pull-up;
794 };
795 pins-tx {
796 pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
797 };
798 pins-rts {
799 pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
Tom Rini53633a82024-02-29 12:33:36 -0500800 };
801 pins-cts {
802 pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
803 input-enable;
804 };
805 };
806
807 uart1_pins_sleep: uart1-pins-sleep {
808 pins-rx {
809 pinmux = <PINMUX_GPIO121__FUNC_GPIO121>;
810 input-enable;
811 bias-pull-up;
812 };
813 pins-tx {
814 pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
815 };
816 pins-rts {
817 pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
Tom Rini53633a82024-02-29 12:33:36 -0500818 };
819 pins-cts {
820 pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
821 input-enable;
822 };
823 };
824
825 wifi_pins_pwrseq: wifi-pins-pwrseq {
826 pins-wifi-enable {
827 pinmux = <PINMUX_GPIO119__FUNC_GPIO119>;
828 output-low;
829 };
830 };
831
832 wifi_pins_wakeup: wifi-pins-wakeup {
833 pins-wifi-wakeup {
834 pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
835 input-enable;
836 };
837 };
838};
839
Tom Rini93743d22024-04-01 09:08:13 -0400840&pmic {
841 interrupts-extended = <&pio 182 IRQ_TYPE_LEVEL_HIGH>;
842};
843
Tom Rini53633a82024-02-29 12:33:36 -0500844&pwm0 {
845 status = "okay";
846 pinctrl-names = "default";
847 pinctrl-0 = <&pwm0_pin_default>;
848};
849
850&scp {
851 status = "okay";
852
853 firmware-name = "mediatek/mt8183/scp.img";
854 pinctrl-names = "default";
855 pinctrl-0 = <&scp_pins>;
856
857 cros-ec-rpmsg {
858 compatible = "google,cros-ec-rpmsg";
859 mediatek,rpmsg-name = "cros-ec-rpmsg";
860 };
861};
862
863&mfg_async {
864 domain-supply = <&mt6358_vsram_gpu_reg>;
865};
866
867&mfg {
868 domain-supply = <&mt6358_vgpu_reg>;
869};
870
871&soc_data {
872 status = "okay";
873};
874
875&spi0 {
876 pinctrl-names = "default";
877 pinctrl-0 = <&spi0_pins>;
878 mediatek,pad-select = <0>;
879 status = "okay";
880 cs-gpios = <&pio 86 GPIO_ACTIVE_LOW>;
881
Tom Rini93743d22024-04-01 09:08:13 -0400882 tpm@0 {
Tom Rini53633a82024-02-29 12:33:36 -0500883 compatible = "google,cr50";
884 reg = <0>;
885 spi-max-frequency = <1000000>;
886 pinctrl-names = "default";
887 pinctrl-0 = <&h1_int_od_l>;
Tom Rini93743d22024-04-01 09:08:13 -0400888 interrupts-extended = <&pio 153 IRQ_TYPE_EDGE_RISING>;
Tom Rini53633a82024-02-29 12:33:36 -0500889 };
890};
891
892&spi1 {
893 pinctrl-names = "default";
894 pinctrl-0 = <&spi1_pins>;
895 mediatek,pad-select = <0>;
896 status = "okay";
897
898 w25q64dw: flash@0 {
899 compatible = "winbond,w25q64dw", "jedec,spi-nor";
900 reg = <0>;
901 spi-max-frequency = <25000000>;
902 };
903};
904
905&spi2 {
906 pinctrl-names = "default";
907 pinctrl-0 = <&spi2_pins>;
908 mediatek,pad-select = <0>;
909 status = "okay";
910
911 cros_ec: cros-ec@0 {
912 compatible = "google,cros-ec-spi";
913 reg = <0>;
914 spi-max-frequency = <3000000>;
Tom Rini93743d22024-04-01 09:08:13 -0400915 interrupts-extended = <&pio 151 IRQ_TYPE_LEVEL_LOW>;
Tom Rini53633a82024-02-29 12:33:36 -0500916 pinctrl-names = "default";
917 pinctrl-0 = <&ec_ap_int_odl>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600918 wakeup-source;
Tom Rini53633a82024-02-29 12:33:36 -0500919
920 i2c_tunnel: i2c-tunnel {
921 compatible = "google,cros-ec-i2c-tunnel";
922 google,remote-bus = <1>;
923 #address-cells = <1>;
924 #size-cells = <0>;
925 };
926
927 usbc_extcon: extcon0 {
928 compatible = "google,extcon-usbc-cros-ec";
929 google,usb-port-id = <0>;
930 };
931
Tom Rini53633a82024-02-29 12:33:36 -0500932 typec {
933 compatible = "google,cros-ec-typec";
934 #address-cells = <1>;
935 #size-cells = <0>;
936
937 usb_c0: connector@0 {
938 compatible = "usb-c-connector";
939 reg = <0>;
940 power-role = "dual";
941 data-role = "host";
942 try-power-role = "sink";
943 };
944 };
945 };
946};
947
948&spi3 {
949 pinctrl-names = "default";
950 pinctrl-0 = <&spi3_pins>;
951 mediatek,pad-select = <0>;
952 status = "disabled";
953};
954
955&spi4 {
956 pinctrl-names = "default";
957 pinctrl-0 = <&spi4_pins>;
958 mediatek,pad-select = <0>;
959 status = "disabled";
960};
961
962&spi5 {
963 pinctrl-names = "default";
964 pinctrl-0 = <&spi5_pins>;
965 mediatek,pad-select = <0>;
966 status = "disabled";
967};
968
969&ssusb {
970 dr_mode = "host";
971 wakeup-source;
972 vusb33-supply = <&mt6358_vusb_reg>;
973 status = "okay";
974};
975
976&thermal_zones {
977 tboard1 {
978 polling-delay = <1000>; /* milliseconds */
979 polling-delay-passive = <0>; /* milliseconds */
980 thermal-sensors = <&tboard_thermistor1>;
981 };
982
983 tboard2 {
984 polling-delay = <1000>; /* milliseconds */
985 polling-delay-passive = <0>; /* milliseconds */
986 thermal-sensors = <&tboard_thermistor2>;
987 };
988};
989
990&u3phy {
991 status = "okay";
992};
993
994&uart0 {
995 pinctrl-names = "default";
996 pinctrl-0 = <&uart0_pins_default>;
997 status = "okay";
998};
999
1000&uart1 {
1001 pinctrl-names = "default", "sleep";
1002 pinctrl-0 = <&uart1_pins_default>;
1003 pinctrl-1 = <&uart1_pins_sleep>;
1004 status = "okay";
1005 /delete-property/ interrupts;
1006 interrupts-extended = <&sysirq GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>,
1007 <&pio 121 IRQ_TYPE_EDGE_FALLING>;
1008
1009 bluetooth: bluetooth {
1010 pinctrl-names = "default";
1011 pinctrl-0 = <&bt_pins>;
1012 status = "okay";
1013 compatible = "qcom,qca6174-bt";
1014 enable-gpios = <&pio 120 0>;
1015 clocks = <&clk32k>;
1016 firmware-name = "nvm_00440302_i2s.bin";
1017 };
1018};
1019
1020&usb_host {
1021 #address-cells = <1>;
1022 #size-cells = <0>;
1023 vusb33-supply = <&mt6358_vusb_reg>;
1024 status = "okay";
1025
1026 hub@1 {
1027 compatible = "usb5e3,610";
1028 reg = <1>;
1029 };
1030};
1031
1032#include <arm/cros-ec-sbs.dtsi>