1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 * Copyright (c) 2018 MediaTek Inc.
4 * Author: Ben Ho <ben.ho@mediatek.com>
5 * Erin Lo <erin.lo@mediatek.com>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include "mt8183.dtsi"
11 #include "mt6358.dtsi"
19 stdout-path = "serial0:115200n8";
23 device_type = "memory";
24 reg = <0 0x40000000 0 0x80000000>;
28 compatible = "fixed-clock";
30 clock-frequency = <32768>;
31 clock-output-names = "clk32k";
34 it6505_pp18_reg: regulator0 {
35 compatible = "regulator-fixed";
36 regulator-name = "it6505_pp18";
37 regulator-min-microvolt = <1800000>;
38 regulator-max-microvolt = <1800000>;
43 lcd_pp3300: regulator1 {
44 compatible = "regulator-fixed";
45 regulator-name = "lcd_pp3300";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
52 bl_pp5000: regulator2 {
53 compatible = "regulator-fixed";
54 regulator-name = "bl_pp5000";
55 regulator-min-microvolt = <5000000>;
56 regulator-max-microvolt = <5000000>;
61 mmc1_fixed_power: regulator3 {
62 compatible = "regulator-fixed";
63 regulator-name = "mmc1_power";
64 regulator-min-microvolt = <3300000>;
65 regulator-max-microvolt = <3300000>;
68 mmc1_fixed_io: regulator4 {
69 compatible = "regulator-fixed";
70 regulator-name = "mmc1_io";
71 regulator-min-microvolt = <1800000>;
72 regulator-max-microvolt = <1800000>;
75 pp1800_alw: regulator5 {
76 compatible = "regulator-fixed";
77 regulator-name = "pp1800_alw";
80 regulator-min-microvolt = <1800000>;
81 regulator-max-microvolt = <1800000>;
84 pp3300_alw: regulator6 {
85 compatible = "regulator-fixed";
86 regulator-name = "pp3300_alw";
89 regulator-min-microvolt = <3300000>;
90 regulator-max-microvolt = <3300000>;
93 reserved_memory: reserved-memory {
98 scp_mem_reserved: scp_mem_region {
99 compatible = "shared-dma-pool";
100 reg = <0 0x50000000 0 0x2900000>;
106 compatible = "maxim,max98357a";
107 sdmode-gpios = <&pio 175 0>;
111 compatible = "linux,bt-sco";
114 wifi_pwrseq: wifi-pwrseq {
115 compatible = "mmc-pwrseq-simple";
116 pinctrl-names = "default";
117 pinctrl-0 = <&wifi_pins_pwrseq>;
119 /* Toggle WIFI_ENABLE to reset the chip. */
120 reset-gpios = <&pio 119 1>;
123 wifi_wakeup: wifi-wakeup {
124 compatible = "gpio-keys";
125 pinctrl-names = "default";
126 pinctrl-0 = <&wifi_pins_wakeup>;
129 label = "Wake on WiFi";
130 gpios = <&pio 113 GPIO_ACTIVE_HIGH>;
131 linux,code = <KEY_WAKEUP>;
136 tboard_thermistor1: thermal-sensor1 {
137 compatible = "generic-adc-thermal";
138 #thermal-sensor-cells = <0>;
139 io-channels = <&auxadc 0>;
140 io-channel-names = "sensor-channel";
141 temperature-lookup-table = < (-5000) 4241
170 tboard_thermistor2: thermal-sensor2 {
171 compatible = "generic-adc-thermal";
172 #thermal-sensor-cells = <0>;
173 io-channels = <&auxadc 1>;
174 io-channel-names = "sensor-channel";
175 temperature-lookup-table = < (-5000) 4241
210 proc-supply = <&mt6358_vproc12_reg>;
214 proc-supply = <&mt6358_vproc12_reg>;
218 proc-supply = <&mt6358_vproc12_reg>;
222 proc-supply = <&mt6358_vproc12_reg>;
226 proc-supply = <&mt6358_vproc11_reg>;
230 proc-supply = <&mt6358_vproc11_reg>;
234 proc-supply = <&mt6358_vproc11_reg>;
238 proc-supply = <&mt6358_vproc11_reg>;
242 pinctrl-names = "default";
243 pinctrl-0 = <&i2c0_pins>;
245 clock-frequency = <400000>;
246 #address-cells = <1>;
251 pinctrl-names = "default";
252 pinctrl-0 = <&i2c1_pins>;
254 clock-frequency = <100000>;
258 pinctrl-names = "default";
259 pinctrl-0 = <&i2c3_pins>;
261 clock-frequency = <100000>;
262 #address-cells = <1>;
267 pinctrl-names = "default";
268 pinctrl-0 = <&i2c5_pins>;
270 clock-frequency = <100000>;
271 #address-cells = <1>;
276 pinctrl-names = "default";
277 pinctrl-0 = <&i2c6_pins>;
279 clock-frequency = <100000>;
284 pinctrl-names = "default", "state_uhs";
285 pinctrl-0 = <&mmc0_pins_default>;
286 pinctrl-1 = <&mmc0_pins_uhs>;
288 max-frequency = <200000000>;
295 hs400-ds-delay = <0x12814>;
296 vmmc-supply = <&mt6358_vemc_reg>;
297 vqmmc-supply = <&mt6358_vio18_reg>;
298 assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>;
299 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_CK>;
305 pinctrl-names = "default", "state_uhs";
306 pinctrl-0 = <&mmc1_pins_default>;
307 pinctrl-1 = <&mmc1_pins_uhs>;
308 vmmc-supply = <&mmc1_fixed_power>;
309 vqmmc-supply = <&mmc1_fixed_io>;
310 mmc-pwrseq = <&wifi_pwrseq>;
312 max-frequency = <200000000>;
317 keep-power-in-suspend;
323 assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>;
324 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
325 #address-cells = <1>;
328 qca_wifi: qca-wifi@1 {
329 compatible = "qcom,ath10k";
339 Avdd-supply = <&mt6358_vaud28_reg>;
343 regulator-min-microvolt = <2700000>;
344 regulator-max-microvolt = <2700000>;
348 regulator-min-microvolt = <2700000>;
349 regulator-max-microvolt = <2700000>;
355 pinmux = <PINMUX_GPIO120__FUNC_GPIO120>;
360 ec_ap_int_odl: ec_ap_int_odl {
362 pinmux = <PINMUX_GPIO151__FUNC_GPIO151>;
368 h1_int_od_l: h1_int_od_l {
370 pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
377 pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
378 <PINMUX_GPIO83__FUNC_SCL0>;
379 mediatek,pull-up-adv = <3>;
380 mediatek,drive-strength-adv = <00>;
386 pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
387 <PINMUX_GPIO84__FUNC_SCL1>;
388 mediatek,pull-up-adv = <3>;
389 mediatek,drive-strength-adv = <00>;
395 pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
396 <PINMUX_GPIO104__FUNC_SDA2>;
398 mediatek,drive-strength-adv = <00>;
404 pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
405 <PINMUX_GPIO51__FUNC_SDA3>;
406 mediatek,pull-up-adv = <3>;
407 mediatek,drive-strength-adv = <00>;
413 pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
414 <PINMUX_GPIO106__FUNC_SDA4>;
416 mediatek,drive-strength-adv = <00>;
422 pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
423 <PINMUX_GPIO49__FUNC_SDA5>;
424 mediatek,pull-up-adv = <3>;
425 mediatek,drive-strength-adv = <00>;
431 pinmux = <PINMUX_GPIO11__FUNC_SCL6>,
432 <PINMUX_GPIO12__FUNC_SDA6>;
437 mmc0_pins_default: mmc0-pins-default {
439 pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
440 <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
441 <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
442 <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
443 <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
444 <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
445 <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
446 <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
447 <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
449 drive-strength = <MTK_DRIVE_14mA>;
450 mediatek,pull-up-adv = <01>;
454 pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
455 drive-strength = <MTK_DRIVE_14mA>;
456 mediatek,pull-down-adv = <10>;
460 pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
461 drive-strength = <MTK_DRIVE_14mA>;
462 mediatek,pull-down-adv = <01>;
466 mmc0_pins_uhs: mmc0-pins-uhs {
468 pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
469 <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
470 <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
471 <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
472 <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
473 <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
474 <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
475 <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
476 <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
478 drive-strength = <MTK_DRIVE_14mA>;
479 mediatek,pull-up-adv = <01>;
483 pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
484 drive-strength = <MTK_DRIVE_14mA>;
485 mediatek,pull-down-adv = <10>;
489 pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
490 drive-strength = <MTK_DRIVE_14mA>;
491 mediatek,pull-down-adv = <10>;
495 pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
496 drive-strength = <MTK_DRIVE_14mA>;
497 mediatek,pull-up-adv = <01>;
501 mmc1_pins_default: mmc1-pins-default {
503 pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
504 <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
505 <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
506 <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
507 <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
509 mediatek,pull-up-adv = <10>;
513 pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
515 mediatek,pull-down-adv = <10>;
519 mmc1_pins_uhs: mmc1-pins-uhs {
521 pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
522 <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
523 <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
524 <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
525 <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
526 drive-strength = <MTK_DRIVE_6mA>;
528 mediatek,pull-up-adv = <10>;
532 pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
533 drive-strength = <MTK_DRIVE_8mA>;
534 mediatek,pull-down-adv = <10>;
541 pinmux = <PINMUX_GPIO110__FUNC_TP_URXD1_AO>,
542 <PINMUX_GPIO112__FUNC_TP_UTXD1_AO>;
548 pinmux = <PINMUX_GPIO85__FUNC_SPI0_MI>,
549 <PINMUX_GPIO86__FUNC_GPIO86>,
550 <PINMUX_GPIO87__FUNC_SPI0_MO>,
551 <PINMUX_GPIO88__FUNC_SPI0_CLK>;
558 pinmux = <PINMUX_GPIO161__FUNC_SPI1_A_MI>,
559 <PINMUX_GPIO162__FUNC_SPI1_A_CSB>,
560 <PINMUX_GPIO163__FUNC_SPI1_A_MO>,
561 <PINMUX_GPIO164__FUNC_SPI1_A_CLK>;
568 pinmux = <PINMUX_GPIO0__FUNC_SPI2_CSB>,
569 <PINMUX_GPIO1__FUNC_SPI2_MO>,
570 <PINMUX_GPIO2__FUNC_SPI2_CLK>;
574 pinmux = <PINMUX_GPIO94__FUNC_SPI2_MI>;
575 mediatek,pull-down-adv = <00>;
581 pinmux = <PINMUX_GPIO21__FUNC_SPI3_MI>,
582 <PINMUX_GPIO22__FUNC_SPI3_CSB>,
583 <PINMUX_GPIO23__FUNC_SPI3_MO>,
584 <PINMUX_GPIO24__FUNC_SPI3_CLK>;
591 pinmux = <PINMUX_GPIO17__FUNC_SPI4_MI>,
592 <PINMUX_GPIO18__FUNC_SPI4_CSB>,
593 <PINMUX_GPIO19__FUNC_SPI4_MO>,
594 <PINMUX_GPIO20__FUNC_SPI4_CLK>;
601 pinmux = <PINMUX_GPIO13__FUNC_SPI5_MI>,
602 <PINMUX_GPIO14__FUNC_SPI5_CSB>,
603 <PINMUX_GPIO15__FUNC_SPI5_MO>,
604 <PINMUX_GPIO16__FUNC_SPI5_CLK>;
609 uart0_pins_default: uart0-pins-default {
611 pinmux = <PINMUX_GPIO95__FUNC_URXD0>;
616 pinmux = <PINMUX_GPIO96__FUNC_UTXD0>;
620 uart1_pins_default: uart1-pins-default {
622 pinmux = <PINMUX_GPIO121__FUNC_URXD1>;
627 pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
630 pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
634 pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
639 uart1_pins_sleep: uart1-pins-sleep {
641 pinmux = <PINMUX_GPIO121__FUNC_GPIO121>;
646 pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
649 pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
653 pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
658 wifi_pins_pwrseq: wifi-pins-pwrseq {
660 pinmux = <PINMUX_GPIO119__FUNC_GPIO119>;
665 wifi_pins_wakeup: wifi-pins-wakeup {
667 pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
675 pinctrl-names = "default";
676 pinctrl-0 = <&scp_pins>;
679 compatible = "google,cros-ec-rpmsg";
680 mtk,rpmsg-name = "cros-ec-rpmsg";
689 pinctrl-names = "default";
690 pinctrl-0 = <&spi0_pins>;
691 mediatek,pad-select = <0>;
693 cs-gpios = <&pio 86 GPIO_ACTIVE_LOW>;
696 compatible = "google,cr50";
698 spi-max-frequency = <1000000>;
699 pinctrl-names = "default";
700 pinctrl-0 = <&h1_int_od_l>;
701 interrupt-parent = <&pio>;
702 interrupts = <153 IRQ_TYPE_EDGE_RISING>;
707 pinctrl-names = "default";
708 pinctrl-0 = <&spi1_pins>;
709 mediatek,pad-select = <0>;
712 w25q64dw: spi-flash@0 {
713 compatible = "winbond,w25q64dw", "jedec,spi-nor";
715 spi-max-frequency = <25000000>;
720 pinctrl-names = "default";
721 pinctrl-0 = <&spi2_pins>;
722 mediatek,pad-select = <0>;
726 compatible = "google,cros-ec-spi";
728 spi-max-frequency = <3000000>;
729 interrupt-parent = <&pio>;
730 interrupts = <151 IRQ_TYPE_LEVEL_LOW>;
731 pinctrl-names = "default";
732 pinctrl-0 = <&ec_ap_int_odl>;
734 i2c_tunnel: i2c-tunnel {
735 compatible = "google,cros-ec-i2c-tunnel";
736 google,remote-bus = <1>;
737 #address-cells = <1>;
741 usbc_extcon: extcon0 {
742 compatible = "google,extcon-usbc-cros-ec";
743 google,usb-port-id = <0>;
749 pinctrl-names = "default";
750 pinctrl-0 = <&spi3_pins>;
751 mediatek,pad-select = <0>;
756 pinctrl-names = "default";
757 pinctrl-0 = <&spi4_pins>;
758 mediatek,pad-select = <0>;
763 pinctrl-names = "default";
764 pinctrl-0 = <&spi5_pins>;
765 mediatek,pad-select = <0>;
772 vusb33-supply = <&mt6358_vusb_reg>;
781 pinctrl-names = "default";
782 pinctrl-0 = <&uart0_pins_default>;
787 pinctrl-names = "default", "sleep";
788 pinctrl-0 = <&uart1_pins_default>;
789 pinctrl-1 = <&uart1_pins_sleep>;
791 interrupts-extended = <&sysirq GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>,
792 <&pio 121 IRQ_TYPE_EDGE_FALLING>;
794 bluetooth: bluetooth {
795 pinctrl-names = "default";
796 pinctrl-0 = <&bt_pins>;
798 compatible = "qcom,qca6174-bt";
799 enable-gpios = <&pio 120 0>;
801 firmware-name = "nvm_00440302_i2s.bin";
806 #address-cells = <1>;
808 vusb33-supply = <&mt6358_vusb_reg>;
812 compatible = "usb5e3,610";
817 #include <arm/cros-ec-keyboard.dtsi>
818 #include <arm/cros-ec-sbs.dtsi>