| // SPDX-License-Identifier: (GPL-2.0 OR MIT) |
| /* |
| * Copyright (C) 2021 MediaTek Inc. |
| */ |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/spmi/spmi.h> |
| #include "mt8195.dtsi" |
| #include "mt6359.dtsi" |
| |
| / { |
| aliases { |
| i2c0 = &i2c0; |
| i2c1 = &i2c1; |
| i2c2 = &i2c2; |
| i2c3 = &i2c3; |
| i2c4 = &i2c4; |
| i2c5 = &i2c5; |
| i2c7 = &i2c7; |
| mmc0 = &mmc0; |
| mmc1 = &mmc1; |
| serial0 = &uart0; |
| }; |
| |
| backlight_lcd0: backlight-lcd0 { |
| compatible = "pwm-backlight"; |
| brightness-levels = <0 1023>; |
| default-brightness-level = <576>; |
| enable-gpios = <&pio 82 GPIO_ACTIVE_HIGH>; |
| num-interpolated-steps = <1023>; |
| pwms = <&disp_pwm0 0 500000>; |
| power-supply = <&ppvar_sys>; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| dmic-codec { |
| compatible = "dmic-codec"; |
| num-channels = <2>; |
| wakeup-delay-ms = <50>; |
| }; |
| |
| memory@40000000 { |
| device_type = "memory"; |
| reg = <0 0x40000000 0 0x80000000>; |
| }; |
| |
| pp3300_disp_x: regulator-pp3300-disp-x { |
| compatible = "regulator-fixed"; |
| regulator-name = "pp3300_disp_x"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <2500>; |
| enable-active-high; |
| gpio = <&pio 55 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&panel_fixed_pins>; |
| vin-supply = <&pp3300_z2>; |
| }; |
| |
| /* system wide LDO 3.3V power rail */ |
| pp3300_z5: regulator-pp3300-ldo-z5 { |
| compatible = "regulator-fixed"; |
| regulator-name = "pp3300_ldo_z5"; |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| vin-supply = <&ppvar_sys>; |
| }; |
| |
| /* separately switched 3.3V power rail */ |
| pp3300_s3: regulator-pp3300-s3 { |
| compatible = "regulator-fixed"; |
| regulator-name = "pp3300_s3"; |
| /* automatically sequenced by PMIC EXT_PMIC_EN2 */ |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| vin-supply = <&pp3300_z2>; |
| }; |
| |
| /* system wide 3.3V power rail */ |
| pp3300_z2: regulator-pp3300-z2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "pp3300_z2"; |
| /* EN pin tied to pp4200_z2, which is controlled by EC */ |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| vin-supply = <&ppvar_sys>; |
| }; |
| |
| /* system wide 4.2V power rail */ |
| pp4200_z2: regulator-pp4200-z2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "pp4200_z2"; |
| /* controlled by EC */ |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <4200000>; |
| regulator-max-microvolt = <4200000>; |
| vin-supply = <&ppvar_sys>; |
| }; |
| |
| /* system wide switching 5.0V power rail */ |
| pp5000_s5: regulator-pp5000-s5 { |
| compatible = "regulator-fixed"; |
| regulator-name = "pp5000_s5"; |
| /* controlled by EC */ |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| vin-supply = <&ppvar_sys>; |
| }; |
| |
| /* system wide semi-regulated power rail from battery or USB */ |
| ppvar_sys: regulator-ppvar-sys { |
| compatible = "regulator-fixed"; |
| regulator-name = "ppvar_sys"; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| /* Murata NCP03WF104F05RL */ |
| tboard_thermistor1: thermal-sensor-t1 { |
| compatible = "generic-adc-thermal"; |
| #thermal-sensor-cells = <0>; |
| io-channels = <&auxadc 0>; |
| io-channel-names = "sensor-channel"; |
| temperature-lookup-table = < (-10000) 1553 |
| (-5000) 1485 |
| 0 1406 |
| 5000 1317 |
| 10000 1219 |
| 15000 1115 |
| 20000 1007 |
| 25000 900 |
| 30000 796 |
| 35000 697 |
| 40000 605 |
| 45000 523 |
| 50000 449 |
| 55000 384 |
| 60000 327 |
| 65000 279 |
| 70000 237 |
| 75000 202 |
| 80000 172 |
| 85000 147 |
| 90000 125 |
| 95000 107 |
| 100000 92 |
| 105000 79 |
| 110000 68 |
| 115000 59 |
| 120000 51 |
| 125000 44>; |
| }; |
| |
| tboard_thermistor2: thermal-sensor-t2 { |
| compatible = "generic-adc-thermal"; |
| #thermal-sensor-cells = <0>; |
| io-channels = <&auxadc 1>; |
| io-channel-names = "sensor-channel"; |
| temperature-lookup-table = < (-10000) 1553 |
| (-5000) 1485 |
| 0 1406 |
| 5000 1317 |
| 10000 1219 |
| 15000 1115 |
| 20000 1007 |
| 25000 900 |
| 30000 796 |
| 35000 697 |
| 40000 605 |
| 45000 523 |
| 50000 449 |
| 55000 384 |
| 60000 327 |
| 65000 279 |
| 70000 237 |
| 75000 202 |
| 80000 172 |
| 85000 147 |
| 90000 125 |
| 95000 107 |
| 100000 92 |
| 105000 79 |
| 110000 68 |
| 115000 59 |
| 120000 51 |
| 125000 44>; |
| }; |
| |
| usb_vbus: regulator-5v0-usb-vbus { |
| compatible = "regulator-fixed"; |
| regulator-name = "usb-vbus"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| enable-active-high; |
| regulator-always-on; |
| }; |
| |
| reserved_memory: reserved-memory { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| ranges; |
| |
| scp_mem: memory@50000000 { |
| compatible = "shared-dma-pool"; |
| reg = <0 0x50000000 0 0x2900000>; |
| no-map; |
| }; |
| |
| adsp_mem: memory@60000000 { |
| compatible = "shared-dma-pool"; |
| reg = <0 0x60000000 0 0xd80000>; |
| no-map; |
| }; |
| |
| afe_mem: memory@60d80000 { |
| compatible = "shared-dma-pool"; |
| reg = <0 0x60d80000 0 0x100000>; |
| no-map; |
| }; |
| |
| adsp_device_mem: memory@60e80000 { |
| compatible = "shared-dma-pool"; |
| reg = <0 0x60e80000 0 0x280000>; |
| no-map; |
| }; |
| }; |
| |
| spk_amplifier: rt1019p { |
| compatible = "realtek,rt1019p"; |
| label = "rt1019p"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&rt1019p_pins_default>; |
| sdb-gpios = <&pio 100 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| &adsp { |
| status = "okay"; |
| |
| memory-region = <&adsp_device_mem>, <&adsp_mem>; |
| }; |
| |
| &afe { |
| status = "okay"; |
| |
| mediatek,etdm-in2-cowork-source = <2>; |
| mediatek,etdm-out2-cowork-source = <0>; |
| memory-region = <&afe_mem>; |
| }; |
| |
| &auxadc { |
| status = "okay"; |
| }; |
| |
| &dp_intf0 { |
| status = "okay"; |
| |
| port { |
| dp_intf0_out: endpoint { |
| remote-endpoint = <&edp_in>; |
| }; |
| }; |
| }; |
| |
| &dp_intf1 { |
| status = "okay"; |
| |
| port { |
| dp_intf1_out: endpoint { |
| remote-endpoint = <&dptx_in>; |
| }; |
| }; |
| }; |
| |
| &edp_tx { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&edptx_pins_default>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| edp_in: endpoint { |
| remote-endpoint = <&dp_intf0_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| edp_out: endpoint { |
| data-lanes = <0 1 2 3>; |
| remote-endpoint = <&panel_in>; |
| }; |
| }; |
| }; |
| |
| aux-bus { |
| panel { |
| compatible = "edp-panel"; |
| power-supply = <&pp3300_disp_x>; |
| backlight = <&backlight_lcd0>; |
| port { |
| panel_in: endpoint { |
| remote-endpoint = <&edp_out>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &disp_pwm0 { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&disp_pwm0_pin_default>; |
| }; |
| |
| &dp_tx { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&dptx_pin>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| dptx_in: endpoint { |
| remote-endpoint = <&dp_intf1_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| dptx_out: endpoint { |
| data-lanes = <0 1 2 3>; |
| }; |
| }; |
| }; |
| }; |
| |
| &gic { |
| mediatek,broken-save-restore-fw; |
| }; |
| |
| &gpu { |
| status = "okay"; |
| mali-supply = <&mt6315_7_vbuck1>; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c0_pins>; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| i2c-scl-internal-delay-ns = <12500>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c1_pins>; |
| |
| trackpad@15 { |
| compatible = "elan,ekth3000"; |
| reg = <0x15>; |
| interrupts-extended = <&pio 6 IRQ_TYPE_LEVEL_LOW>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&trackpad_pins>; |
| vcc-supply = <&pp3300_s3>; |
| wakeup-source; |
| }; |
| }; |
| |
| &i2c2 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c2_pins>; |
| |
| audio_codec: codec@1a { |
| /* Realtek RT5682i or RT5682s, sharing the same configuration */ |
| reg = <0x1a>; |
| interrupts-extended = <&pio 89 IRQ_TYPE_EDGE_BOTH>; |
| realtek,jd-src = <1>; |
| |
| AVDD-supply = <&mt6359_vio18_ldo_reg>; |
| MICVDD-supply = <&pp3300_z2>; |
| VBAT-supply = <&pp3300_z5>; |
| }; |
| }; |
| |
| &i2c3 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c3_pins>; |
| |
| tpm@50 { |
| compatible = "google,cr50"; |
| reg = <0x50>; |
| interrupts-extended = <&pio 88 IRQ_TYPE_EDGE_FALLING>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&cr50_int>; |
| }; |
| }; |
| |
| &i2c4 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c4_pins>; |
| |
| ts_10: touchscreen@10 { |
| compatible = "hid-over-i2c"; |
| reg = <0x10>; |
| hid-descr-addr = <0x0001>; |
| interrupts-extended = <&pio 92 IRQ_TYPE_LEVEL_LOW>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&touchscreen_pins>; |
| post-power-on-delay-ms = <10>; |
| vdd-supply = <&pp3300_s3>; |
| status = "disabled"; |
| }; |
| }; |
| |
| &i2c5 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c5_pins>; |
| }; |
| |
| &i2c7 { |
| status = "okay"; |
| |
| clock-frequency = <400000>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c7_pins>; |
| |
| pmic@34 { |
| #interrupt-cells = <2>; |
| compatible = "mediatek,mt6360"; |
| reg = <0x34>; |
| interrupt-controller; |
| interrupts-extended = <&pio 130 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-names = "IRQB"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&subpmic_default>; |
| wakeup-source; |
| }; |
| }; |
| |
| &mfg0 { |
| domain-supply = <&mt6315_7_vbuck1>; |
| }; |
| |
| &mfg1 { |
| domain-supply = <&mt6359_vsram_others_ldo_reg>; |
| }; |
| |
| &mmc0 { |
| status = "okay"; |
| |
| bus-width = <8>; |
| cap-mmc-highspeed; |
| cap-mmc-hw-reset; |
| hs400-ds-delay = <0x14c11>; |
| max-frequency = <200000000>; |
| mmc-hs200-1_8v; |
| mmc-hs400-1_8v; |
| no-sdio; |
| no-sd; |
| non-removable; |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc0_pins_default>; |
| pinctrl-1 = <&mmc0_pins_uhs>; |
| vmmc-supply = <&mt6359_vemc_1_ldo_reg>; |
| vqmmc-supply = <&mt6359_vufs_ldo_reg>; |
| }; |
| |
| &mmc1 { |
| status = "okay"; |
| |
| bus-width = <4>; |
| cap-sd-highspeed; |
| cd-gpios = <&pio 54 GPIO_ACTIVE_LOW>; |
| max-frequency = <200000000>; |
| no-mmc; |
| no-sdio; |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc1_pins_default>, <&mmc1_pins_detect>; |
| pinctrl-1 = <&mmc1_pins_default>; |
| sd-uhs-sdr50; |
| sd-uhs-sdr104; |
| vmmc-supply = <&mt_pmic_vmch_ldo_reg>; |
| vqmmc-supply = <&mt_pmic_vmc_ldo_reg>; |
| }; |
| |
| &mt6359codec { |
| mediatek,dmic-mode = <1>; /* one-wire */ |
| mediatek,mic-type-0 = <2>; /* DMIC */ |
| }; |
| |
| /* for CPU-L */ |
| &mt6359_vcore_buck_reg { |
| regulator-always-on; |
| }; |
| |
| /* for CORE */ |
| &mt6359_vgpu11_buck_reg { |
| regulator-always-on; |
| }; |
| |
| &mt6359_vgpu11_sshub_buck_reg { |
| regulator-always-on; |
| regulator-min-microvolt = <550000>; |
| regulator-max-microvolt = <550000>; |
| }; |
| |
| /* for CORE SRAM */ |
| &mt6359_vpu_buck_reg { |
| regulator-always-on; |
| }; |
| |
| &mt6359_vrf12_ldo_reg { |
| regulator-always-on; |
| }; |
| |
| /* for GPU SRAM */ |
| &mt6359_vsram_others_ldo_reg { |
| regulator-min-microvolt = <750000>; |
| regulator-max-microvolt = <750000>; |
| }; |
| |
| &mt6359_vufs_ldo_reg { |
| regulator-always-on; |
| }; |
| |
| &nor_flash { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&nor_pins_default>; |
| |
| flash@0 { |
| compatible = "jedec,spi-nor"; |
| reg = <0>; |
| spi-max-frequency = <52000000>; |
| spi-rx-bus-width = <2>; |
| spi-tx-bus-width = <2>; |
| }; |
| }; |
| |
| &pcie1 { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pcie1_pins_default>; |
| }; |
| |
| &pio { |
| mediatek,rsel-resistance-in-si-unit; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pio_default>; |
| |
| /* 144 lines */ |
| gpio-line-names = |
| "I2S_SPKR_MCLK", |
| "I2S_SPKR_DATAIN", |
| "I2S_SPKR_LRCK", |
| "I2S_SPKR_BCLK", |
| "EC_AP_INT_ODL", |
| /* |
| * AP_FLASH_WP_L is crossystem ABI. Schematics |
| * call it AP_FLASH_WP_ODL. |
| */ |
| "AP_FLASH_WP_L", |
| "TCHPAD_INT_ODL", |
| "EDP_HPD_1V8", |
| "AP_I2C_CAM_SDA", |
| "AP_I2C_CAM_SCL", |
| "AP_I2C_TCHPAD_SDA_1V8", |
| "AP_I2C_TCHPAD_SCL_1V8", |
| "AP_I2C_AUD_SDA", |
| "AP_I2C_AUD_SCL", |
| "AP_I2C_TPM_SDA_1V8", |
| "AP_I2C_TPM_SCL_1V8", |
| "AP_I2C_TCHSCR_SDA_1V8", |
| "AP_I2C_TCHSCR_SCL_1V8", |
| "EC_AP_HPD_OD", |
| "", |
| "PCIE_NVME_RST_L", |
| "PCIE_NVME_CLKREQ_ODL", |
| "PCIE_RST_1V8_L", |
| "PCIE_CLKREQ_1V8_ODL", |
| "PCIE_WAKE_1V8_ODL", |
| "CLK_24M_CAM0", |
| "CAM1_SEN_EN", |
| "AP_I2C_PWR_SCL_1V8", |
| "AP_I2C_PWR_SDA_1V8", |
| "AP_I2C_MISC_SCL", |
| "AP_I2C_MISC_SDA", |
| "EN_PP5000_HDMI_X", |
| "AP_HDMITX_HTPLG", |
| "", |
| "AP_HDMITX_SCL_1V8", |
| "AP_HDMITX_SDA_1V8", |
| "AP_RTC_CLK32K", |
| "AP_EC_WATCHDOG_L", |
| "SRCLKENA0", |
| "SRCLKENA1", |
| "PWRAP_SPI0_CS_L", |
| "PWRAP_SPI0_CK", |
| "PWRAP_SPI0_MOSI", |
| "PWRAP_SPI0_MISO", |
| "SPMI_SCL", |
| "SPMI_SDA", |
| "", |
| "", |
| "", |
| "I2S_HP_DATAIN", |
| "I2S_HP_MCLK", |
| "I2S_HP_BCK", |
| "I2S_HP_LRCK", |
| "I2S_HP_DATAOUT", |
| "SD_CD_ODL", |
| "EN_PP3300_DISP_X", |
| "TCHSCR_RST_1V8_L", |
| "TCHSCR_REPORT_DISABLE", |
| "EN_PP3300_WLAN_X", |
| "BT_KILL_1V8_L", |
| "I2S_SPKR_DATAOUT", |
| "WIFI_KILL_1V8_L", |
| "BEEP_ON", |
| "SCP_I2C_SENSOR_SCL_1V8", |
| "SCP_I2C_SENSOR_SDA_1V8", |
| "", |
| "", |
| "", |
| "", |
| "AUD_CLK_MOSI", |
| "AUD_SYNC_MOSI", |
| "AUD_DAT_MOSI0", |
| "AUD_DAT_MOSI1", |
| "AUD_DAT_MISO0", |
| "AUD_DAT_MISO1", |
| "AUD_DAT_MISO2", |
| "SCP_VREQ_VAO", |
| "AP_SPI_GSC_TPM_CLK", |
| "AP_SPI_GSC_TPM_MOSI", |
| "AP_SPI_GSC_TPM_CS_L", |
| "AP_SPI_GSC_TPM_MISO", |
| "EN_PP1000_CAM_X", |
| "AP_EDP_BKLTEN", |
| "", |
| "USB3_HUB_RST_L", |
| "", |
| "WLAN_ALERT_ODL", |
| "EC_IN_RW_ODL", |
| "GSC_AP_INT_ODL", |
| "HP_INT_ODL", |
| "CAM0_RST_L", |
| "CAM1_RST_L", |
| "TCHSCR_INT_1V8_L", |
| "CAM1_DET_L", |
| "RST_ALC1011_L", |
| "", |
| "", |
| "BL_PWM_1V8", |
| "UART_AP_TX_DBG_RX", |
| "UART_DBG_TX_AP_RX", |
| "EN_SPKR", |
| "AP_EC_WARM_RST_REQ", |
| "UART_SCP_TX_DBGCON_RX", |
| "UART_DBGCON_TX_SCP_RX", |
| "", |
| "", |
| "KPCOL0", |
| "", |
| "MT6315_GPU_INT", |
| "MT6315_PROC_BC_INT", |
| "SD_CMD", |
| "SD_CLK", |
| "SD_DAT0", |
| "SD_DAT1", |
| "SD_DAT2", |
| "SD_DAT3", |
| "EMMC_DAT7", |
| "EMMC_DAT6", |
| "EMMC_DAT5", |
| "EMMC_DAT4", |
| "EMMC_RSTB", |
| "EMMC_CMD", |
| "EMMC_CLK", |
| "EMMC_DAT3", |
| "EMMC_DAT2", |
| "EMMC_DAT1", |
| "EMMC_DAT0", |
| "EMMC_DSL", |
| "", |
| "", |
| "MT6360_INT_ODL", |
| "SCP_JTAG0_TRSTN", |
| "AP_SPI_EC_CS_L", |
| "AP_SPI_EC_CLK", |
| "AP_SPI_EC_MOSI", |
| "AP_SPI_EC_MISO", |
| "SCP_JTAG0_TMS", |
| "SCP_JTAG0_TCK", |
| "SCP_JTAG0_TDO", |
| "SCP_JTAG0_TDI", |
| "AP_SPI_FLASH_CS_L", |
| "AP_SPI_FLASH_CLK", |
| "AP_SPI_FLASH_MOSI", |
| "AP_SPI_FLASH_MISO"; |
| |
| aud_pins_default: audio-default-pins { |
| pins-cmd-dat { |
| pinmux = <PINMUX_GPIO69__FUNC_AUD_CLK_MOSI>, |
| <PINMUX_GPIO70__FUNC_AUD_SYNC_MOSI>, |
| <PINMUX_GPIO71__FUNC_AUD_DAT_MOSI0>, |
| <PINMUX_GPIO72__FUNC_AUD_DAT_MOSI1>, |
| <PINMUX_GPIO73__FUNC_AUD_DAT_MISO0>, |
| <PINMUX_GPIO74__FUNC_AUD_DAT_MISO1>, |
| <PINMUX_GPIO75__FUNC_AUD_DAT_MISO2>, |
| <PINMUX_GPIO0__FUNC_TDMIN_MCK>, |
| <PINMUX_GPIO1__FUNC_TDMIN_DI>, |
| <PINMUX_GPIO2__FUNC_TDMIN_LRCK>, |
| <PINMUX_GPIO3__FUNC_TDMIN_BCK>, |
| <PINMUX_GPIO60__FUNC_I2SO2_D0>, |
| <PINMUX_GPIO49__FUNC_I2SIN_D0>, |
| <PINMUX_GPIO50__FUNC_I2SO1_MCK>, |
| <PINMUX_GPIO51__FUNC_I2SO1_BCK>, |
| <PINMUX_GPIO52__FUNC_I2SO1_WS>, |
| <PINMUX_GPIO53__FUNC_I2SO1_D0>; |
| }; |
| |
| pins-hp-jack-int-odl { |
| pinmux = <PINMUX_GPIO89__FUNC_GPIO89>; |
| input-enable; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| }; |
| |
| cr50_int: cr50-irq-default-pins { |
| pins-gsc-ap-int-odl { |
| pinmux = <PINMUX_GPIO88__FUNC_GPIO88>; |
| input-enable; |
| }; |
| }; |
| |
| cros_ec_int: cros-ec-irq-default-pins { |
| pins-ec-ap-int-odl { |
| pinmux = <PINMUX_GPIO4__FUNC_GPIO4>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| input-enable; |
| }; |
| }; |
| |
| edptx_pins_default: edptx-default-pins { |
| pins-cmd-dat { |
| pinmux = <PINMUX_GPIO7__FUNC_EDP_TX_HPD>; |
| bias-pull-up; |
| }; |
| }; |
| |
| disp_pwm0_pin_default: disp-pwm0-default-pins { |
| pins-disp-pwm { |
| pinmux = <PINMUX_GPIO82__FUNC_GPIO82>, |
| <PINMUX_GPIO97__FUNC_DISP_PWM0>; |
| }; |
| }; |
| |
| dptx_pin: dptx-default-pins { |
| pins-cmd-dat { |
| pinmux = <PINMUX_GPIO18__FUNC_DP_TX_HPD>; |
| bias-pull-up; |
| }; |
| }; |
| |
| i2c0_pins: i2c0-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO8__FUNC_SDA0>, |
| <PINMUX_GPIO9__FUNC_SCL0>; |
| bias-disable; |
| drive-strength-microamp = <1000>; |
| }; |
| }; |
| |
| i2c1_pins: i2c1-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO10__FUNC_SDA1>, |
| <PINMUX_GPIO11__FUNC_SCL1>; |
| bias-pull-up = <1000>; |
| drive-strength-microamp = <1000>; |
| }; |
| }; |
| |
| i2c2_pins: i2c2-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO12__FUNC_SDA2>, |
| <PINMUX_GPIO13__FUNC_SCL2>; |
| bias-disable; |
| drive-strength-microamp = <1000>; |
| }; |
| }; |
| |
| i2c3_pins: i2c3-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO14__FUNC_SDA3>, |
| <PINMUX_GPIO15__FUNC_SCL3>; |
| bias-pull-up = <1000>; |
| drive-strength-microamp = <1000>; |
| }; |
| }; |
| |
| i2c4_pins: i2c4-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO16__FUNC_SDA4>, |
| <PINMUX_GPIO17__FUNC_SCL4>; |
| bias-pull-up = <1000>; |
| drive-strength = <4>; |
| }; |
| }; |
| |
| i2c5_pins: i2c5-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO29__FUNC_SCL5>, |
| <PINMUX_GPIO30__FUNC_SDA5>; |
| bias-disable; |
| drive-strength-microamp = <1000>; |
| }; |
| }; |
| |
| i2c7_pins: i2c7-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO27__FUNC_SCL7>, |
| <PINMUX_GPIO28__FUNC_SDA7>; |
| bias-disable; |
| }; |
| }; |
| |
| mmc0_pins_default: mmc0-default-pins { |
| pins-cmd-dat { |
| pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>, |
| <PINMUX_GPIO125__FUNC_MSDC0_DAT1>, |
| <PINMUX_GPIO124__FUNC_MSDC0_DAT2>, |
| <PINMUX_GPIO123__FUNC_MSDC0_DAT3>, |
| <PINMUX_GPIO119__FUNC_MSDC0_DAT4>, |
| <PINMUX_GPIO118__FUNC_MSDC0_DAT5>, |
| <PINMUX_GPIO117__FUNC_MSDC0_DAT6>, |
| <PINMUX_GPIO116__FUNC_MSDC0_DAT7>, |
| <PINMUX_GPIO121__FUNC_MSDC0_CMD>; |
| input-enable; |
| drive-strength = <6>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins-clk { |
| pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>; |
| drive-strength = <6>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins-rst { |
| pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>; |
| drive-strength = <6>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| }; |
| |
| mmc0_pins_uhs: mmc0-uhs-pins { |
| pins-cmd-dat { |
| pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>, |
| <PINMUX_GPIO125__FUNC_MSDC0_DAT1>, |
| <PINMUX_GPIO124__FUNC_MSDC0_DAT2>, |
| <PINMUX_GPIO123__FUNC_MSDC0_DAT3>, |
| <PINMUX_GPIO119__FUNC_MSDC0_DAT4>, |
| <PINMUX_GPIO118__FUNC_MSDC0_DAT5>, |
| <PINMUX_GPIO117__FUNC_MSDC0_DAT6>, |
| <PINMUX_GPIO116__FUNC_MSDC0_DAT7>, |
| <PINMUX_GPIO121__FUNC_MSDC0_CMD>; |
| input-enable; |
| drive-strength = <8>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins-clk { |
| pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>; |
| drive-strength = <8>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins-ds { |
| pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>; |
| drive-strength = <8>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins-rst { |
| pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>; |
| drive-strength = <8>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| }; |
| |
| mmc1_pins_detect: mmc1-detect-pins { |
| pins-insert { |
| pinmux = <PINMUX_GPIO54__FUNC_GPIO54>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc1_pins_default: mmc1-default-pins { |
| pins-cmd-dat { |
| pinmux = <PINMUX_GPIO110__FUNC_MSDC1_CMD>, |
| <PINMUX_GPIO112__FUNC_MSDC1_DAT0>, |
| <PINMUX_GPIO113__FUNC_MSDC1_DAT1>, |
| <PINMUX_GPIO114__FUNC_MSDC1_DAT2>, |
| <PINMUX_GPIO115__FUNC_MSDC1_DAT3>; |
| input-enable; |
| drive-strength = <8>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins-clk { |
| pinmux = <PINMUX_GPIO111__FUNC_MSDC1_CLK>; |
| drive-strength = <8>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| }; |
| |
| nor_pins_default: nor-default-pins { |
| pins-ck-io { |
| pinmux = <PINMUX_GPIO142__FUNC_SPINOR_IO0>, |
| <PINMUX_GPIO141__FUNC_SPINOR_CK>, |
| <PINMUX_GPIO143__FUNC_SPINOR_IO1>; |
| drive-strength = <6>; |
| bias-pull-down; |
| }; |
| |
| pins-cs { |
| pinmux = <PINMUX_GPIO140__FUNC_SPINOR_CS>; |
| drive-strength = <6>; |
| bias-pull-up; |
| }; |
| }; |
| |
| pcie0_pins_default: pcie0-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO19__FUNC_WAKEN>, |
| <PINMUX_GPIO20__FUNC_PERSTN>, |
| <PINMUX_GPIO21__FUNC_CLKREQN>; |
| bias-pull-up; |
| }; |
| }; |
| |
| pcie1_pins_default: pcie1-default-pins { |
| pins-bus { |
| pinmux = <PINMUX_GPIO22__FUNC_PERSTN_1>, |
| <PINMUX_GPIO23__FUNC_CLKREQN_1>, |
| <PINMUX_GPIO24__FUNC_WAKEN_1>; |
| bias-pull-up; |
| }; |
| }; |
| |
| panel_fixed_pins: panel-pwr-default-pins { |
| pins-vreg-en { |
| pinmux = <PINMUX_GPIO55__FUNC_GPIO55>; |
| }; |
| }; |
| |
| pio_default: pio-default-pins { |
| pins-wifi-enable { |
| pinmux = <PINMUX_GPIO58__FUNC_GPIO58>; |
| output-high; |
| drive-strength = <14>; |
| }; |
| |
| pins-low-power-pd { |
| pinmux = <PINMUX_GPIO25__FUNC_GPIO25>, |
| <PINMUX_GPIO26__FUNC_GPIO26>, |
| <PINMUX_GPIO46__FUNC_GPIO46>, |
| <PINMUX_GPIO47__FUNC_GPIO47>, |
| <PINMUX_GPIO48__FUNC_GPIO48>, |
| <PINMUX_GPIO65__FUNC_GPIO65>, |
| <PINMUX_GPIO66__FUNC_GPIO66>, |
| <PINMUX_GPIO67__FUNC_GPIO67>, |
| <PINMUX_GPIO68__FUNC_GPIO68>, |
| <PINMUX_GPIO128__FUNC_GPIO128>, |
| <PINMUX_GPIO129__FUNC_GPIO129>; |
| input-enable; |
| bias-pull-down; |
| }; |
| |
| pins-low-power-pupd { |
| pinmux = <PINMUX_GPIO77__FUNC_GPIO77>, |
| <PINMUX_GPIO78__FUNC_GPIO78>, |
| <PINMUX_GPIO79__FUNC_GPIO79>, |
| <PINMUX_GPIO80__FUNC_GPIO80>, |
| <PINMUX_GPIO83__FUNC_GPIO83>, |
| <PINMUX_GPIO85__FUNC_GPIO85>, |
| <PINMUX_GPIO90__FUNC_GPIO90>, |
| <PINMUX_GPIO91__FUNC_GPIO91>, |
| <PINMUX_GPIO93__FUNC_GPIO93>, |
| <PINMUX_GPIO94__FUNC_GPIO94>, |
| <PINMUX_GPIO95__FUNC_GPIO95>, |
| <PINMUX_GPIO96__FUNC_GPIO96>, |
| <PINMUX_GPIO104__FUNC_GPIO104>, |
| <PINMUX_GPIO105__FUNC_GPIO105>, |
| <PINMUX_GPIO107__FUNC_GPIO107>; |
| input-enable; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| }; |
| |
| rt1019p_pins_default: rt1019p-default-pins { |
| pins-amp-sdb { |
| pinmux = <PINMUX_GPIO100__FUNC_GPIO100>; |
| output-low; |
| }; |
| }; |
| |
| scp_pins: scp-default-pins { |
| pins-vreq { |
| pinmux = <PINMUX_GPIO76__FUNC_SCP_VREQ_VAO>; |
| bias-disable; |
| input-enable; |
| }; |
| }; |
| |
| spi0_pins: spi0-default-pins { |
| pins-cs-mosi-clk { |
| pinmux = <PINMUX_GPIO132__FUNC_SPIM0_CSB>, |
| <PINMUX_GPIO134__FUNC_SPIM0_MO>, |
| <PINMUX_GPIO133__FUNC_SPIM0_CLK>; |
| bias-disable; |
| }; |
| |
| pins-miso { |
| pinmux = <PINMUX_GPIO135__FUNC_SPIM0_MI>; |
| bias-pull-down; |
| }; |
| }; |
| |
| subpmic_default: subpmic-default-pins { |
| subpmic_pin_irq: pins-subpmic-int-n { |
| pinmux = <PINMUX_GPIO130__FUNC_GPIO130>; |
| input-enable; |
| bias-pull-up; |
| }; |
| }; |
| |
| trackpad_pins: trackpad-default-pins { |
| pins-int-n { |
| pinmux = <PINMUX_GPIO6__FUNC_GPIO6>; |
| input-enable; |
| bias-pull-up; |
| }; |
| }; |
| |
| touchscreen_pins: touchscreen-default-pins { |
| pins-int-n { |
| pinmux = <PINMUX_GPIO92__FUNC_GPIO92>; |
| input-enable; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| pins-rst { |
| pinmux = <PINMUX_GPIO56__FUNC_GPIO56>; |
| output-high; |
| }; |
| pins-report-sw { |
| pinmux = <PINMUX_GPIO57__FUNC_GPIO57>; |
| output-low; |
| }; |
| }; |
| }; |
| |
| &pmic { |
| interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| &scp { |
| status = "okay"; |
| |
| firmware-name = "mediatek/mt8195/scp.img"; |
| memory-region = <&scp_mem>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&scp_pins>; |
| |
| cros-ec-rpmsg { |
| compatible = "google,cros-ec-rpmsg"; |
| mediatek,rpmsg-name = "cros-ec-rpmsg"; |
| }; |
| }; |
| |
| &sound { |
| status = "okay"; |
| |
| mediatek,adsp = <&adsp>; |
| mediatek,dai-link = |
| "DL10_FE", "DPTX_BE", "ETDM1_IN_BE", "ETDM2_IN_BE", |
| "ETDM1_OUT_BE", "ETDM2_OUT_BE","UL_SRC1_BE", |
| "AFE_SOF_DL2", "AFE_SOF_DL3", "AFE_SOF_UL4", "AFE_SOF_UL5"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&aud_pins_default>; |
| }; |
| |
| &spi0 { |
| status = "okay"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi0_pins>; |
| mediatek,pad-select = <0>; |
| |
| cros_ec: ec@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| compatible = "google,cros-ec-spi"; |
| reg = <0>; |
| interrupts-extended = <&pio 4 IRQ_TYPE_LEVEL_LOW>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&cros_ec_int>; |
| spi-max-frequency = <3000000>; |
| wakeup-source; |
| |
| keyboard-backlight { |
| compatible = "google,cros-kbd-led-backlight"; |
| }; |
| |
| i2c_tunnel: i2c-tunnel { |
| compatible = "google,cros-ec-i2c-tunnel"; |
| google,remote-bus = <0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| }; |
| |
| mt_pmic_vmc_ldo_reg: regulator@0 { |
| compatible = "google,cros-ec-regulator"; |
| reg = <0>; |
| regulator-name = "mt_pmic_vmc_ldo"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <3600000>; |
| }; |
| |
| mt_pmic_vmch_ldo_reg: regulator@1 { |
| compatible = "google,cros-ec-regulator"; |
| reg = <1>; |
| regulator-name = "mt_pmic_vmch_ldo"; |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <3600000>; |
| }; |
| |
| typec { |
| compatible = "google,cros-ec-typec"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| usb_c0: connector@0 { |
| compatible = "usb-c-connector"; |
| reg = <0>; |
| power-role = "dual"; |
| data-role = "host"; |
| try-power-role = "source"; |
| }; |
| |
| usb_c1: connector@1 { |
| compatible = "usb-c-connector"; |
| reg = <1>; |
| power-role = "dual"; |
| data-role = "host"; |
| try-power-role = "source"; |
| }; |
| }; |
| }; |
| }; |
| |
| &spmi { |
| #address-cells = <2>; |
| #size-cells = <0>; |
| |
| mt6315@6 { |
| compatible = "mediatek,mt6315-regulator"; |
| reg = <0x6 SPMI_USID>; |
| |
| regulators { |
| mt6315_6_vbuck1: vbuck1 { |
| regulator-compatible = "vbuck1"; |
| regulator-name = "Vbcpu"; |
| regulator-min-microvolt = <300000>; |
| regulator-max-microvolt = <1193750>; |
| regulator-enable-ramp-delay = <256>; |
| regulator-ramp-delay = <6250>; |
| regulator-allowed-modes = <0 1 2>; |
| regulator-always-on; |
| }; |
| }; |
| }; |
| |
| mt6315@7 { |
| compatible = "mediatek,mt6315-regulator"; |
| reg = <0x7 SPMI_USID>; |
| |
| regulators { |
| mt6315_7_vbuck1: vbuck1 { |
| regulator-compatible = "vbuck1"; |
| regulator-name = "Vgpu"; |
| regulator-min-microvolt = <625000>; |
| regulator-max-microvolt = <1193750>; |
| regulator-enable-ramp-delay = <256>; |
| regulator-ramp-delay = <6250>; |
| regulator-allowed-modes = <0 1 2>; |
| }; |
| }; |
| }; |
| }; |
| |
| &thermal_zones { |
| soc-area-thermal { |
| polling-delay = <1000>; |
| polling-delay-passive = <250>; |
| thermal-sensors = <&tboard_thermistor1>; |
| |
| trips { |
| trip-crit { |
| temperature = <84000>; |
| hysteresis = <1000>; |
| type = "critical"; |
| }; |
| }; |
| }; |
| |
| pmic-area-thermal { |
| polling-delay = <1000>; |
| polling-delay-passive = <0>; |
| thermal-sensors = <&tboard_thermistor2>; |
| |
| trips { |
| trip-crit { |
| temperature = <84000>; |
| hysteresis = <1000>; |
| type = "critical"; |
| }; |
| }; |
| }; |
| }; |
| |
| &u3phy0 { |
| status = "okay"; |
| }; |
| |
| &u3phy1 { |
| status = "okay"; |
| }; |
| |
| &u3phy2 { |
| status = "okay"; |
| }; |
| |
| &u3phy3 { |
| status = "okay"; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| }; |
| |
| /* |
| * For the USB Type-C ports the role and alternate modes switching is |
| * done by the EC so we set dr_mode to host to avoid interfering. |
| */ |
| &ssusb0 { |
| dr_mode = "host"; |
| vusb33-supply = <&mt6359_vusb_ldo_reg>; |
| status = "okay"; |
| }; |
| |
| &ssusb2 { |
| dr_mode = "host"; |
| vusb33-supply = <&mt6359_vusb_ldo_reg>; |
| status = "okay"; |
| }; |
| |
| &ssusb3 { |
| dr_mode = "host"; |
| vusb33-supply = <&mt6359_vusb_ldo_reg>; |
| status = "okay"; |
| }; |
| |
| &xhci0 { |
| status = "okay"; |
| |
| rx-fifo-depth = <3072>; |
| vbus-supply = <&usb_vbus>; |
| }; |
| |
| &xhci1 { |
| status = "okay"; |
| |
| rx-fifo-depth = <3072>; |
| vusb33-supply = <&mt6359_vusb_ldo_reg>; |
| vbus-supply = <&usb_vbus>; |
| }; |
| |
| &xhci2 { |
| status = "okay"; |
| vbus-supply = <&usb_vbus>; |
| }; |
| |
| &xhci3 { |
| status = "okay"; |
| |
| /* MT7921's USB Bluetooth has issues with USB2 LPM */ |
| usb2-lpm-disable; |
| vbus-supply = <&usb_vbus>; |
| }; |
| |
| #include <arm/cros-ec-keyboard.dtsi> |
| #include <arm/cros-ec-sbs.dtsi> |
| |
| &keyboard_controller { |
| function-row-physmap = < |
| MATRIX_KEY(0x00, 0x02, 0) /* T1 */ |
| MATRIX_KEY(0x03, 0x02, 0) /* T2 */ |
| MATRIX_KEY(0x02, 0x02, 0) /* T3 */ |
| MATRIX_KEY(0x01, 0x02, 0) /* T4 */ |
| MATRIX_KEY(0x03, 0x04, 0) /* T5 */ |
| MATRIX_KEY(0x02, 0x04, 0) /* T6 */ |
| MATRIX_KEY(0x01, 0x04, 0) /* T7 */ |
| MATRIX_KEY(0x02, 0x09, 0) /* T8 */ |
| MATRIX_KEY(0x01, 0x09, 0) /* T9 */ |
| MATRIX_KEY(0x00, 0x04, 0) /* T10 */ |
| >; |
| |
| linux,keymap = < |
| MATRIX_KEY(0x00, 0x02, KEY_BACK) |
| MATRIX_KEY(0x03, 0x02, KEY_REFRESH) |
| MATRIX_KEY(0x02, 0x02, KEY_ZOOM) |
| MATRIX_KEY(0x01, 0x02, KEY_SCALE) |
| MATRIX_KEY(0x03, 0x04, KEY_SYSRQ) |
| MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN) |
| MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP) |
| MATRIX_KEY(0x02, 0x09, KEY_MUTE) |
| MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) |
| MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) |
| |
| CROS_STD_MAIN_KEYMAP |
| >; |
| }; |