1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 * Copyright (C) 2020 MediaTek Inc.
4 * Author: Seiya Wang <seiya.wang@mediatek.com>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/spmi/spmi.h>
18 stdout-path = "serial0:115200n8";
22 device_type = "memory";
23 reg = <0 0x40000000 0 0x80000000>;
26 /* system wide LDO 1.8V power rail */
27 pp1800_ldo_g: regulator-1v8-g {
28 compatible = "regulator-fixed";
29 regulator-name = "pp1800_ldo_g";
32 regulator-min-microvolt = <1800000>;
33 regulator-max-microvolt = <1800000>;
34 vin-supply = <&pp3300_g>;
37 /* system wide switching 3.3V power rail */
38 pp3300_g: regulator-3v3-g {
39 compatible = "regulator-fixed";
40 regulator-name = "pp3300_g";
43 regulator-min-microvolt = <3300000>;
44 regulator-max-microvolt = <3300000>;
45 vin-supply = <&ppvar_sys>;
48 /* system wide LDO 3.3V power rail */
49 pp3300_ldo_z: regulator-3v3-z {
50 compatible = "regulator-fixed";
51 regulator-name = "pp3300_ldo_z";
54 regulator-min-microvolt = <3300000>;
55 regulator-max-microvolt = <3300000>;
56 vin-supply = <&ppvar_sys>;
59 /* separately switched 3.3V power rail */
60 pp3300_u: regulator-3v3-u {
61 compatible = "regulator-fixed";
62 regulator-name = "pp3300_u";
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67 /* enable pin wired to GPIO controlled by EC */
68 vin-supply = <&pp3300_g>;
71 pp3300_wlan: regulator-3v3-wlan {
72 compatible = "regulator-fixed";
73 regulator-name = "pp3300_wlan";
76 regulator-min-microvolt = <3300000>;
77 regulator-max-microvolt = <3300000>;
78 pinctrl-names = "default";
79 pinctrl-0 = <&pp3300_wlan_pins>;
81 gpio = <&pio 143 GPIO_ACTIVE_HIGH>;
84 /* system wide switching 5.0V power rail */
85 pp5000_a: regulator-5v0-a {
86 compatible = "regulator-fixed";
87 regulator-name = "pp5000_a";
90 regulator-min-microvolt = <5000000>;
91 regulator-max-microvolt = <5000000>;
92 vin-supply = <&ppvar_sys>;
95 /* system wide semi-regulated power rail from battery or USB */
96 ppvar_sys: regulator-var-sys {
97 compatible = "regulator-fixed";
98 regulator-name = "ppvar_sys";
103 reserved_memory: reserved-memory {
104 #address-cells = <2>;
108 scp_mem_reserved: scp@50000000 {
109 compatible = "shared-dma-pool";
110 reg = <0 0x50000000 0 0x2900000>;
114 wifi_restricted_dma_region: wifi@c0000000 {
115 compatible = "restricted-dma-pool";
116 reg = <0 0xc0000000 0 0x4000000>;
124 clock-frequency = <400000>;
125 pinctrl-names = "default";
126 pinctrl-0 = <&i2c0_pins>;
128 touchscreen: touchscreen@10 {
130 interrupts-extended = <&pio 21 IRQ_TYPE_LEVEL_LOW>;
131 pinctrl-names = "default";
132 pinctrl-0 = <&touchscreen_pins>;
139 clock-frequency = <400000>;
140 pinctrl-names = "default";
141 pinctrl-0 = <&i2c1_pins>;
147 clock-frequency = <400000>;
148 clock-stretch-ns = <12600>;
149 pinctrl-names = "default";
150 pinctrl-0 = <&i2c2_pins>;
153 compatible = "elan,ekth3000";
155 interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
156 pinctrl-names = "default";
157 pinctrl-0 = <&trackpad_pins>;
158 vcc-supply = <&pp3300_u>;
166 clock-frequency = <400000>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&i2c3_pins>;
174 clock-frequency = <400000>;
175 pinctrl-names = "default";
176 pinctrl-0 = <&i2c7_pins>;
182 pinctrl-names = "default", "state_uhs";
183 pinctrl-0 = <&mmc0_default_pins>;
184 pinctrl-1 = <&mmc0_uhs_pins>;
186 max-frequency = <200000000>;
187 vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
188 vqmmc-supply = <&mt6359_vufs_ldo_reg>;
194 mmc-hs400-enhanced-strobe;
195 hs400-ds-delay = <0x12814>;
204 pinctrl-names = "default", "state_uhs";
205 pinctrl-0 = <&mmc1_default_pins>;
206 pinctrl-1 = <&mmc1_uhs_pins>;
208 max-frequency = <200000000>;
209 cd-gpios = <&pio 17 GPIO_ACTIVE_LOW>;
210 vmmc-supply = <&mt6360_ldo5_reg>;
211 vqmmc-supply = <&mt6360_ldo3_reg>;
220 &mt6359_vgpu11_buck_reg {
224 &mt6359_vgpu11_sshub_buck_reg {
226 regulator-min-microvolt = <575000>;
227 regulator-max-microvolt = <575000>;
230 &mt6359_vrf12_ldo_reg {
234 &mt6359_vufs_ldo_reg {
239 mediatek,dmic-mode = <1>; /* one-wire */
240 mediatek,mic-type-0 = <2>; /* DMIC */
241 mediatek,mic-type-2 = <2>; /* DMIC */
247 pinctrl-names = "default";
248 pinctrl-0 = <&nor_flash_pins>;
249 assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>;
250 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6_D8>;
253 compatible = "winbond,w25q64jwm", "jedec,spi-nor";
255 spi-max-frequency = <52000000>;
256 spi-rx-bus-width = <2>;
257 spi-tx-bus-width = <2>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&pcie_pins>;
267 reg = <0x0000 0 0 0 0>;
269 bus-range = <0x1 0x1>;
271 #address-cells = <3>;
276 reg = <0x10000 0 0 0 0x100000>,
277 <0x10000 0 0x100000 0 0x100000>;
278 memory-region = <&wifi_restricted_dma_region>;
285 gpio-line-names = "I2S_DP_LRCK",
300 * AP_FLASH_WP_L is crossystem ABI. Schematics
301 * call it AP_FLASH_WP_ODL.
315 "EN_PP3300_DPBRDG_DX",
326 "AP_SPI_H1_TPM_CS_L",
327 "AP_SPI_H1_TPM_MISO",
328 "AP_SPI_H1_TPM_MOSI",
415 "EN_PP1800_DPBRDG_DX",
417 "EN_PP1800_EDPBRDG_DX",
425 "EN_PP3300_DISPLAY_DX",
427 "TOUCH_REPORT_DISABLE",
430 "AP_I2C_TRACKPAD_SCL_1V8",
431 "AP_I2C_TRACKPAD_SDA_1V8",
435 "SET_VMC_VOLT_AT_1V8",
449 "AP_I2C_EDPBRDG_SCL",
450 "AP_I2C_EDPBRDG_SDA",
453 "UART_SERVO_TX_SCP_RX",
454 "UART_SCP_TX_SERVO_RX",
457 "UART_AP_WAKE_BT_ODL",
510 cr50_int: cr50-irq-default-pins {
511 pins-gsc-ap-int-odl {
512 pinmux = <PINMUX_GPIO171__FUNC_GPIO171>;
517 cros_ec_int: cros-ec-irq-default-pins {
519 pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
525 i2c0_pins: i2c0-default-pins {
527 pinmux = <PINMUX_GPIO204__FUNC_SCL0>,
528 <PINMUX_GPIO205__FUNC_SDA0>;
529 bias-pull-up = <MTK_PULL_SET_RSEL_011>;
530 drive-strength-microamp = <1000>;
534 i2c1_pins: i2c1-default-pins {
536 pinmux = <PINMUX_GPIO118__FUNC_SCL1>,
537 <PINMUX_GPIO119__FUNC_SDA1>;
538 bias-pull-up = <MTK_PULL_SET_RSEL_011>;
539 drive-strength-microamp = <1000>;
543 i2c2_pins: i2c2-default-pins {
545 pinmux = <PINMUX_GPIO141__FUNC_SCL2>,
546 <PINMUX_GPIO142__FUNC_SDA2>;
547 bias-pull-up = <MTK_PULL_SET_RSEL_011>;
551 i2c3_pins: i2c3-default-pins {
553 pinmux = <PINMUX_GPIO160__FUNC_SCL3>,
554 <PINMUX_GPIO161__FUNC_SDA3>;
556 drive-strength-microamp = <1000>;
560 i2c7_pins: i2c7-default-pins {
562 pinmux = <PINMUX_GPIO124__FUNC_SCL7>,
563 <PINMUX_GPIO125__FUNC_SDA7>;
565 drive-strength-microamp = <1000>;
569 mmc0_default_pins: mmc0-default-pins {
571 pinmux = <PINMUX_GPIO184__FUNC_MSDC0_DAT0>,
572 <PINMUX_GPIO188__FUNC_MSDC0_DAT1>,
573 <PINMUX_GPIO185__FUNC_MSDC0_DAT2>,
574 <PINMUX_GPIO193__FUNC_MSDC0_DAT3>,
575 <PINMUX_GPIO186__FUNC_MSDC0_DAT4>,
576 <PINMUX_GPIO189__FUNC_MSDC0_DAT5>,
577 <PINMUX_GPIO187__FUNC_MSDC0_DAT6>,
578 <PINMUX_GPIO190__FUNC_MSDC0_DAT7>,
579 <PINMUX_GPIO183__FUNC_MSDC0_CMD>;
581 drive-strength = <8>;
582 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
586 pinmux = <PINMUX_GPIO192__FUNC_MSDC0_CLK>;
587 drive-strength = <8>;
588 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
592 pinmux = <PINMUX_GPIO194__FUNC_MSDC0_RSTB>;
593 drive-strength = <8>;
594 bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
598 mmc0_uhs_pins: mmc0-uhs-pins {
600 pinmux = <PINMUX_GPIO184__FUNC_MSDC0_DAT0>,
601 <PINMUX_GPIO188__FUNC_MSDC0_DAT1>,
602 <PINMUX_GPIO185__FUNC_MSDC0_DAT2>,
603 <PINMUX_GPIO193__FUNC_MSDC0_DAT3>,
604 <PINMUX_GPIO186__FUNC_MSDC0_DAT4>,
605 <PINMUX_GPIO189__FUNC_MSDC0_DAT5>,
606 <PINMUX_GPIO187__FUNC_MSDC0_DAT6>,
607 <PINMUX_GPIO190__FUNC_MSDC0_DAT7>,
608 <PINMUX_GPIO183__FUNC_MSDC0_CMD>;
610 drive-strength = <10>;
611 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
615 pinmux = <PINMUX_GPIO192__FUNC_MSDC0_CLK>;
616 drive-strength = <10>;
617 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
621 pinmux = <PINMUX_GPIO194__FUNC_MSDC0_RSTB>;
622 drive-strength = <8>;
623 bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
627 pinmux = <PINMUX_GPIO191__FUNC_MSDC0_DSL>;
628 drive-strength = <10>;
629 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
633 mmc1_default_pins: mmc1-default-pins {
635 pinmux = <PINMUX_GPIO54__FUNC_MSDC1_DAT0>,
636 <PINMUX_GPIO56__FUNC_MSDC1_DAT1>,
637 <PINMUX_GPIO55__FUNC_MSDC1_DAT2>,
638 <PINMUX_GPIO53__FUNC_MSDC1_DAT3>,
639 <PINMUX_GPIO52__FUNC_MSDC1_CMD>;
641 drive-strength = <8>;
642 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
646 pinmux = <PINMUX_GPIO51__FUNC_MSDC1_CLK>;
647 drive-strength = <8>;
648 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
652 pinmux = <PINMUX_GPIO17__FUNC_GPIO17>;
658 mmc1_uhs_pins: mmc1-uhs-pins {
660 pinmux = <PINMUX_GPIO54__FUNC_MSDC1_DAT0>,
661 <PINMUX_GPIO56__FUNC_MSDC1_DAT1>,
662 <PINMUX_GPIO55__FUNC_MSDC1_DAT2>,
663 <PINMUX_GPIO53__FUNC_MSDC1_DAT3>,
664 <PINMUX_GPIO52__FUNC_MSDC1_CMD>;
666 drive-strength = <8>;
667 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
671 pinmux = <PINMUX_GPIO51__FUNC_MSDC1_CLK>;
673 drive-strength = <8>;
674 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
678 nor_flash_pins: nor-flash-default-pins {
680 pinmux = <PINMUX_GPIO24__FUNC_SPINOR_CS>,
681 <PINMUX_GPIO28__FUNC_SPINOR_IO1>;
684 drive-strength = <10>;
688 pinmux = <PINMUX_GPIO27__FUNC_SPINOR_IO0>;
690 drive-strength = <10>;
694 pinmux = <PINMUX_GPIO25__FUNC_SPINOR_CK>;
697 drive-strength = <10>;
701 pcie_pins: pcie-default-pins {
703 pinmux = <PINMUX_GPIO63__FUNC_PCIE_WAKE_N>;
708 pinmux = <PINMUX_GPIO64__FUNC_PCIE_PERESET_N>;
712 pinmux = <PINMUX_GPIO65__FUNC_PCIE_CLKREQ_N>;
717 pinmux = <PINMUX_GPIO145__FUNC_GPIO145>; /* WIFI_KILL_L */
722 pp3300_wlan_pins: pp3300-wlan-pins {
723 pins-pcie-en-pp3300-wlan {
724 pinmux = <PINMUX_GPIO143__FUNC_GPIO143>;
731 pinmux = <PINMUX_GPIO195__FUNC_SCP_VREQ_VAO>;
735 spi1_pins: spi1-default-pins {
737 pinmux = <PINMUX_GPIO157__FUNC_SPI1_A_CSB>,
738 <PINMUX_GPIO159__FUNC_SPI1_A_MO>,
739 <PINMUX_GPIO156__FUNC_SPI1_A_CLK>;
744 pinmux = <PINMUX_GPIO158__FUNC_SPI1_A_MI>;
749 spi5_pins: spi5-default-pins {
751 pinmux = <PINMUX_GPIO38__FUNC_SPI5_A_MI>,
752 <PINMUX_GPIO37__FUNC_GPIO37>,
753 <PINMUX_GPIO39__FUNC_SPI5_A_MO>,
754 <PINMUX_GPIO36__FUNC_SPI5_A_CLK>;
759 trackpad_pins: trackpad-default-pins {
761 pinmux = <PINMUX_GPIO15__FUNC_GPIO15>;
763 bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
767 touchscreen_pins: touchscreen-default-pins {
769 pinmux = <PINMUX_GPIO21__FUNC_GPIO21>;
775 pinmux = <PINMUX_GPIO137__FUNC_GPIO137>;
780 pinmux = <PINMUX_GPIO138__FUNC_GPIO138>;
787 interrupts-extended = <&pio 214 IRQ_TYPE_LEVEL_HIGH>;
793 firmware-name = "/*(DEBLOBBED)*/";
794 memory-region = <&scp_mem_reserved>;
795 pinctrl-names = "default";
796 pinctrl-0 = <&scp_pins>;
799 compatible = "google,cros-ec-rpmsg";
800 mediatek,rpmsg-name = "cros-ec-rpmsg";
807 mediatek,pad-select = <0>;
808 pinctrl-names = "default";
809 pinctrl-0 = <&spi1_pins>;
812 compatible = "google,cros-ec-spi";
814 interrupts-extended = <&pio 5 IRQ_TYPE_LEVEL_LOW>;
815 spi-max-frequency = <3000000>;
816 pinctrl-names = "default";
817 pinctrl-0 = <&cros_ec_int>;
819 #address-cells = <1>;
823 compatible = "google,cros-ec-pwm";
829 i2c_tunnel: i2c-tunnel {
830 compatible = "google,cros-ec-i2c-tunnel";
831 google,remote-bus = <0>;
832 #address-cells = <1>;
836 mt6360_ldo3_reg: regulator@0 {
837 compatible = "google,cros-ec-regulator";
839 regulator-min-microvolt = <1800000>;
840 regulator-max-microvolt = <3300000>;
843 mt6360_ldo5_reg: regulator@1 {
844 compatible = "google,cros-ec-regulator";
846 regulator-min-microvolt = <3300000>;
847 regulator-max-microvolt = <3300000>;
851 compatible = "google,cros-ec-typec";
852 #address-cells = <1>;
855 usb_c0: connector@0 {
856 compatible = "usb-c-connector";
861 try-power-role = "source";
864 usb_c1: connector@1 {
865 compatible = "usb-c-connector";
870 try-power-role = "source";
879 cs-gpios = <&pio 37 GPIO_ACTIVE_LOW>;
880 mediatek,pad-select = <0>;
881 pinctrl-names = "default";
882 pinctrl-0 = <&spi5_pins>;
885 compatible = "google,cr50";
887 interrupts-extended = <&pio 171 IRQ_TYPE_EDGE_RISING>;
888 spi-max-frequency = <1000000>;
889 pinctrl-names = "default";
890 pinctrl-0 = <&cr50_int>;
895 #address-cells = <2>;
899 compatible = "mediatek,mt6315-regulator";
900 reg = <0x6 SPMI_USID>;
903 mt6315_6_vbuck1: vbuck1 {
904 regulator-compatible = "vbuck1";
905 regulator-name = "Vbcpu";
906 regulator-min-microvolt = <400000>;
907 regulator-max-microvolt = <1193750>;
908 regulator-enable-ramp-delay = <256>;
909 regulator-allowed-modes = <0 1 2>;
913 mt6315_6_vbuck3: vbuck3 {
914 regulator-compatible = "vbuck3";
915 regulator-name = "Vlcpu";
916 regulator-min-microvolt = <400000>;
917 regulator-max-microvolt = <1193750>;
918 regulator-enable-ramp-delay = <256>;
919 regulator-allowed-modes = <0 1 2>;
926 compatible = "mediatek,mt6315-regulator";
927 reg = <0x7 SPMI_USID>;
930 mt6315_7_vbuck1: vbuck1 {
931 regulator-compatible = "vbuck1";
932 regulator-name = "Vgpu";
933 regulator-min-microvolt = <400000>;
934 regulator-max-microvolt = <800000>;
935 regulator-enable-ramp-delay = <256>;
936 regulator-allowed-modes = <0 1 2>;
950 vusb33-supply = <&pp3300_g>;
951 vbus-supply = <&pp5000_a>;
954 #include <arm/cros-ec-keyboard.dtsi>
955 #include <arm/cros-ec-sbs.dtsi>