blob: 5a440504d4f9b7470d778ef22807cfe231267705 [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright (C) 2020 MediaTek Inc.
* Author: Seiya Wang <seiya.wang@mediatek.com>
*/
/dts-v1/;
#include "mt8192.dtsi"
#include "mt6359.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/spmi/spmi.h>
/ {
aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
i2c3 = &i2c3;
i2c7 = &i2c7;
mmc0 = &mmc0;
mmc1 = &mmc1;
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x80000000>;
};
backlight_lcd0: backlight-lcd0 {
compatible = "pwm-backlight";
pwms = <&pwm0 0 500000>;
power-supply = <&ppvar_sys>;
enable-gpios = <&pio 152 0>;
brightness-levels = <0 1023>;
num-interpolated-steps = <1023>;
default-brightness-level = <576>;
};
dmic_codec: dmic-codec {
compatible = "dmic-codec";
num-channels = <2>;
wakeup-delay-ms = <50>;
};
pp1000_dpbrdg: regulator-1v0-dpbrdg {
compatible = "regulator-fixed";
regulator-name = "pp1000_dpbrdg";
pinctrl-names = "default";
pinctrl-0 = <&pp1000_dpbrdg_en_pins>;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
enable-active-high;
regulator-boot-on;
gpio = <&pio 19 GPIO_ACTIVE_HIGH>;
vin-supply = <&mt6359_vs2_buck_reg>;
};
pp1000_mipibrdg: regulator-1v0-mipibrdg {
compatible = "regulator-fixed";
regulator-name = "pp1000_mipibrdg";
pinctrl-names = "default";
pinctrl-0 = <&pp1000_mipibrdg_en_pins>;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
enable-active-high;
regulator-boot-on;
gpio = <&pio 129 GPIO_ACTIVE_HIGH>;
vin-supply = <&mt6359_vs2_buck_reg>;
};
pp1800_dpbrdg: regulator-1v8-dpbrdg {
compatible = "regulator-fixed";
regulator-name = "pp1800_dpbrdg";
pinctrl-names = "default";
pinctrl-0 = <&pp1800_dpbrdg_en_pins>;
enable-active-high;
regulator-boot-on;
gpio = <&pio 126 GPIO_ACTIVE_HIGH>;
vin-supply = <&mt6359_vio18_ldo_reg>;
};
/* system wide LDO 1.8V power rail */
pp1800_ldo_g: regulator-1v8-g {
compatible = "regulator-fixed";
regulator-name = "pp1800_ldo_g";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&pp3300_g>;
};
pp1800_mipibrdg: regulator-1v8-mipibrdg {
compatible = "regulator-fixed";
regulator-name = "pp1800_mipibrdg";
pinctrl-names = "default";
pinctrl-0 = <&pp1800_mipibrdg_en_pins>;
enable-active-high;
regulator-boot-on;
gpio = <&pio 128 GPIO_ACTIVE_HIGH>;
vin-supply = <&mt6359_vio18_ldo_reg>;
};
pp3300_dpbrdg: regulator-3v3-dpbrdg {
compatible = "regulator-fixed";
regulator-name = "pp3300_dpbrdg";
pinctrl-names = "default";
pinctrl-0 = <&pp3300_dpbrdg_en_pins>;
enable-active-high;
regulator-boot-on;
gpio = <&pio 26 GPIO_ACTIVE_HIGH>;
vin-supply = <&pp3300_g>;
};
/* system wide switching 3.3V power rail */
pp3300_g: regulator-3v3-g {
compatible = "regulator-fixed";
regulator-name = "pp3300_g";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&ppvar_sys>;
};
/* system wide LDO 3.3V power rail */
pp3300_ldo_z: regulator-3v3-z {
compatible = "regulator-fixed";
regulator-name = "pp3300_ldo_z";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&ppvar_sys>;
};
pp3300_mipibrdg: regulator-3v3-mipibrdg {
compatible = "regulator-fixed";
regulator-name = "pp3300_mipibrdg";
pinctrl-names = "default";
pinctrl-0 = <&pp3300_mipibrdg_en_pins>;
enable-active-high;
regulator-boot-on;
gpio = <&pio 127 GPIO_ACTIVE_HIGH>;
vin-supply = <&pp3300_g>;
};
/* separately switched 3.3V power rail */
pp3300_u: regulator-3v3-u {
compatible = "regulator-fixed";
regulator-name = "pp3300_u";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
/* enable pin wired to GPIO controlled by EC */
vin-supply = <&pp3300_g>;
};
pp3300_wlan: regulator-3v3-wlan {
compatible = "regulator-fixed";
regulator-name = "pp3300_wlan";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
pinctrl-names = "default";
pinctrl-0 = <&pp3300_wlan_pins>;
enable-active-high;
gpio = <&pio 143 GPIO_ACTIVE_HIGH>;
};
/* system wide switching 5.0V power rail */
pp5000_a: regulator-5v0-a {
compatible = "regulator-fixed";
regulator-name = "pp5000_a";
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-var-sys {
compatible = "regulator-fixed";
regulator-name = "ppvar_sys";
regulator-always-on;
regulator-boot-on;
};
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
scp_mem_reserved: scp@50000000 {
compatible = "shared-dma-pool";
reg = <0 0x50000000 0 0x2900000>;
no-map;
};
wifi_restricted_dma_region: wifi@c0000000 {
compatible = "restricted-dma-pool";
reg = <0 0xc0000000 0 0x4000000>;
};
};
sound: sound {
mediatek,platform = <&afe>;
pinctrl-names = "aud_clk_mosi_off",
"aud_clk_mosi_on",
"aud_dat_mosi_off",
"aud_dat_mosi_on",
"aud_dat_miso_off",
"aud_dat_miso_on",
"vow_dat_miso_off",
"vow_dat_miso_on",
"vow_clk_miso_off",
"vow_clk_miso_on",
"aud_nle_mosi_off",
"aud_nle_mosi_on",
"aud_dat_miso2_off",
"aud_dat_miso2_on",
"aud_gpio_i2s3_off",
"aud_gpio_i2s3_on",
"aud_gpio_i2s8_off",
"aud_gpio_i2s8_on",
"aud_gpio_i2s9_off",
"aud_gpio_i2s9_on",
"aud_dat_mosi_ch34_off",
"aud_dat_mosi_ch34_on",
"aud_dat_miso_ch34_off",
"aud_dat_miso_ch34_on",
"aud_gpio_tdm_off",
"aud_gpio_tdm_on";
pinctrl-0 = <&aud_clk_mosi_off_pins>;
pinctrl-1 = <&aud_clk_mosi_on_pins>;
pinctrl-2 = <&aud_dat_mosi_off_pins>;
pinctrl-3 = <&aud_dat_mosi_on_pins>;
pinctrl-4 = <&aud_dat_miso_off_pins>;
pinctrl-5 = <&aud_dat_miso_on_pins>;
pinctrl-6 = <&vow_dat_miso_off_pins>;
pinctrl-7 = <&vow_dat_miso_on_pins>;
pinctrl-8 = <&vow_clk_miso_off_pins>;
pinctrl-9 = <&vow_clk_miso_on_pins>;
pinctrl-10 = <&aud_nle_mosi_off_pins>;
pinctrl-11 = <&aud_nle_mosi_on_pins>;
pinctrl-12 = <&aud_dat_miso2_off_pins>;
pinctrl-13 = <&aud_dat_miso2_on_pins>;
pinctrl-14 = <&aud_gpio_i2s3_off_pins>;
pinctrl-15 = <&aud_gpio_i2s3_on_pins>;
pinctrl-16 = <&aud_gpio_i2s8_off_pins>;
pinctrl-17 = <&aud_gpio_i2s8_on_pins>;
pinctrl-18 = <&aud_gpio_i2s9_off_pins>;
pinctrl-19 = <&aud_gpio_i2s9_on_pins>;
pinctrl-20 = <&aud_dat_mosi_ch34_off_pins>;
pinctrl-21 = <&aud_dat_mosi_ch34_on_pins>;
pinctrl-22 = <&aud_dat_miso_ch34_off_pins>;
pinctrl-23 = <&aud_dat_miso_ch34_on_pins>;
pinctrl-24 = <&aud_gpio_tdm_off_pins>;
pinctrl-25 = <&aud_gpio_tdm_on_pins>;
};
};
&dsi0 {
status = "okay";
};
&dsi_out {
remote-endpoint = <&anx7625_in>;
};
&gpu {
mali-supply = <&mt6315_7_vbuck1>;
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
touchscreen: touchscreen@10 {
reg = <0x10>;
interrupts-extended = <&pio 21 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&touchscreen_pins>;
};
};
&i2c1 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
};
&i2c2 {
status = "okay";
clock-frequency = <400000>;
clock-stretch-ns = <12600>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
trackpad@15 {
compatible = "elan,ekth3000";
reg = <0x15>;
interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pins>;
vcc-supply = <&pp3300_u>;
wakeup-source;
};
};
&i2c3 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c3_pins>;
anx_bridge: anx7625@58 {
compatible = "analogix,anx7625";
reg = <0x58>;
pinctrl-names = "default";
pinctrl-0 = <&anx7625_pins>;
enable-gpios = <&pio 41 GPIO_ACTIVE_HIGH>;
reset-gpios = <&pio 42 GPIO_ACTIVE_HIGH>;
vdd10-supply = <&pp1000_mipibrdg>;
vdd18-supply = <&pp1800_mipibrdg>;
vdd33-supply = <&pp3300_mipibrdg>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
anx7625_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
port@1 {
reg = <1>;
anx7625_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
aux-bus {
panel: panel {
compatible = "edp-panel";
power-supply = <&pp3300_mipibrdg>;
backlight = <&backlight_lcd0>;
port {
panel_in: endpoint {
remote-endpoint = <&anx7625_out>;
};
};
};
};
};
};
&i2c7 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c7_pins>;
};
&mfg0 {
domain-supply = <&mt6315_7_vbuck1>;
};
&mfg1 {
domain-supply = <&mt6359_vsram_others_ldo_reg>;
};
&mipi_tx0 {
status = "okay";
};
&mmc0 {
status = "okay";
pinctrl-names = "default", "state_uhs";
pinctrl-0 = <&mmc0_default_pins>;
pinctrl-1 = <&mmc0_uhs_pins>;
bus-width = <8>;
max-frequency = <200000000>;
vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
vqmmc-supply = <&mt6359_vufs_ldo_reg>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
supports-cqe;
cap-mmc-hw-reset;
mmc-hs400-enhanced-strobe;
hs400-ds-delay = <0x12814>;
no-sdio;
no-sd;
non-removable;
};
&mmc1 {
status = "okay";
pinctrl-names = "default", "state_uhs";
pinctrl-0 = <&mmc1_default_pins>;
pinctrl-1 = <&mmc1_uhs_pins>;
bus-width = <4>;
max-frequency = <200000000>;
cd-gpios = <&pio 17 GPIO_ACTIVE_LOW>;
vmmc-supply = <&mt6360_ldo5_reg>;
vqmmc-supply = <&mt6360_ldo3_reg>;
cap-sd-highspeed;
sd-uhs-sdr50;
sd-uhs-sdr104;
no-sdio;
no-mmc;
};
/* for CORE */
&mt6359_vgpu11_buck_reg {
regulator-always-on;
};
&mt6359_vgpu11_sshub_buck_reg {
regulator-always-on;
regulator-min-microvolt = <575000>;
regulator-max-microvolt = <575000>;
};
&mt6359_vrf12_ldo_reg {
regulator-always-on;
};
&mt6359_vsram_others_ldo_reg {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <800000>;
regulator-coupled-with = <&mt6315_7_vbuck1>;
regulator-coupled-max-spread = <10000>;
};
&mt6359_vufs_ldo_reg {
regulator-always-on;
};
&mt6359codec {
mediatek,dmic-mode = <1>; /* one-wire */
mediatek,mic-type-0 = <2>; /* DMIC */
mediatek,mic-type-2 = <2>; /* DMIC */
};
&nor_flash {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&nor_flash_pins>;
assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>;
assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6_D8>;
flash@0 {
compatible = "winbond,w25q64jwm", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <52000000>;
spi-rx-bus-width = <2>;
spi-tx-bus-width = <2>;
};
};
&pcie {
pinctrl-names = "default";
pinctrl-0 = <&pcie_pins>;
pcie0: pcie@0,0 {
device_type = "pci";
reg = <0x0000 0 0 0 0>;
num-lanes = <1>;
bus-range = <0x1 0x1>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
wifi: wifi@0,0 {
reg = <0x10000 0 0 0 0x100000>,
<0x10000 0 0x100000 0 0x100000>;
memory-region = <&wifi_restricted_dma_region>;
};
};
};
&pio {
/* 220 lines */
gpio-line-names = "I2S_DP_LRCK",
"IS_DP_BCLK",
"I2S_DP_MCLK",
"I2S_DP_DATAOUT",
"SAR0_INT_ODL",
"EC_AP_INT_ODL",
"EDPBRDG_INT_ODL",
"DPBRDG_INT_ODL",
"DPBRDG_PWREN",
"DPBRDG_RST_ODL",
"I2S_HP_MCLK",
"I2S_HP_BCK",
"I2S_HP_LRCK",
"I2S_HP_DATAIN",
/*
* AP_FLASH_WP_L is crossystem ABI. Schematics
* call it AP_FLASH_WP_ODL.
*/
"AP_FLASH_WP_L",
"TRACKPAD_INT_ODL",
"EC_AP_HPD_OD",
"SD_CD_ODL",
"HP_INT_ODL_ALC",
"EN_PP1000_DPBRDG",
"AP_GPIO20",
"TOUCH_INT_L_1V8",
"UART_BT_WAKE_ODL",
"AP_GPIO23",
"AP_SPI_FLASH_CS_L",
"AP_SPI_FLASH_CLK",
"EN_PP3300_DPBRDG_DX",
"AP_SPI_FLASH_MOSI",
"AP_SPI_FLASH_MISO",
"I2S_HP_DATAOUT",
"AP_GPIO30",
"I2S_SPKR_MCLK",
"I2S_SPKR_BCLK",
"I2S_SPKR_LRCK",
"I2S_SPKR_DATAIN",
"I2S_SPKR_DATAOUT",
"AP_SPI_H1_TPM_CLK",
"AP_SPI_H1_TPM_CS_L",
"AP_SPI_H1_TPM_MISO",
"AP_SPI_H1_TPM_MOSI",
"BL_PWM",
"EDPBRDG_PWREN",
"EDPBRDG_RST_ODL",
"EN_PP3300_HUB",
"HUB_RST_L",
"",
"",
"",
"",
"",
"",
"SD_CLK",
"SD_CMD",
"SD_DATA3",
"SD_DATA0",
"SD_DATA2",
"SD_DATA1",
"",
"",
"",
"",
"",
"",
"PCIE_WAKE_ODL",
"PCIE_RST_L",
"PCIE_CLKREQ_ODL",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"SPMI_SCL",
"SPMI_SDA",
"AP_GOOD",
"UART_DBG_TX_AP_RX",
"UART_AP_TX_DBG_RX",
"UART_AP_TX_BT_RX",
"UART_BT_TX_AP_RX",
"MIPI_DPI_D0_R",
"MIPI_DPI_D1_R",
"MIPI_DPI_D2_R",
"MIPI_DPI_D3_R",
"MIPI_DPI_D4_R",
"MIPI_DPI_D5_R",
"MIPI_DPI_D6_R",
"MIPI_DPI_D7_R",
"MIPI_DPI_D8_R",
"MIPI_DPI_D9_R",
"MIPI_DPI_D10_R",
"",
"",
"MIPI_DPI_DE_R",
"MIPI_DPI_D11_R",
"MIPI_DPI_VSYNC_R",
"MIPI_DPI_CLK_R",
"MIPI_DPI_HSYNC_R",
"PCM_BT_DATAIN",
"PCM_BT_SYNC",
"PCM_BT_DATAOUT",
"PCM_BT_CLK",
"AP_I2C_AUDIO_SCL",
"AP_I2C_AUDIO_SDA",
"SCP_I2C_SCL",
"SCP_I2C_SDA",
"AP_I2C_WLAN_SCL",
"AP_I2C_WLAN_SDA",
"AP_I2C_DPBRDG_SCL",
"AP_I2C_DPBRDG_SDA",
"EN_PP1800_DPBRDG_DX",
"EN_PP3300_EDP_DX",
"EN_PP1800_EDPBRDG_DX",
"EN_PP1000_EDPBRDG",
"SCP_JTAG0_TDO",
"SCP_JTAG0_TDI",
"SCP_JTAG0_TMS",
"SCP_JTAG0_TCK",
"SCP_JTAG0_TRSTN",
"EN_PP3000_VMC_PMU",
"EN_PP3300_DISPLAY_DX",
"TOUCH_RST_L_1V8",
"TOUCH_REPORT_DISABLE",
"",
"",
"AP_I2C_TRACKPAD_SCL_1V8",
"AP_I2C_TRACKPAD_SDA_1V8",
"EN_PP3300_WLAN",
"BT_KILL_L",
"WIFI_KILL_L",
"SET_VMC_VOLT_AT_1V8",
"EN_SPK",
"AP_WARM_RST_REQ",
"",
"",
"EN_PP3000_SD_S3",
"AP_EDP_BKLTEN",
"",
"",
"",
"AP_SPI_EC_CLK",
"AP_SPI_EC_CS_L",
"AP_SPI_EC_MISO",
"AP_SPI_EC_MOSI",
"AP_I2C_EDPBRDG_SCL",
"AP_I2C_EDPBRDG_SDA",
"MT6315_PROC_INT",
"MT6315_GPU_INT",
"UART_SERVO_TX_SCP_RX",
"UART_SCP_TX_SERVO_RX",
"BT_RTS_AP_CTS",
"AP_RTS_BT_CTS",
"UART_AP_WAKE_BT_ODL",
"WLAN_ALERT_ODL",
"EC_IN_RW_ODL",
"H1_AP_INT_ODL",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"MSDC0_CMD",
"MSDC0_DAT0",
"MSDC0_DAT2",
"MSDC0_DAT4",
"MSDC0_DAT6",
"MSDC0_DAT1",
"MSDC0_DAT5",
"MSDC0_DAT7",
"MSDC0_DSL",
"MSDC0_CLK",
"MSDC0_DAT3",
"MSDC0_RST_L",
"SCP_VREQ_VAO",
"AUD_DAT_MOSI2",
"AUD_NLE_MOSI1",
"AUD_NLE_MOSI0",
"AUD_DAT_MISO2",
"AP_I2C_SAR_SDA",
"AP_I2C_SAR_SCL",
"AP_I2C_PWR_SCL",
"AP_I2C_PWR_SDA",
"AP_I2C_TS_SCL_1V8",
"AP_I2C_TS_SDA_1V8",
"SRCLKENA0",
"SRCLKENA1",
"AP_EC_WATCHDOG_L",
"PWRAP_SPI0_MI",
"PWRAP_SPI0_CSN",
"PWRAP_SPI0_MO",
"PWRAP_SPI0_CK",
"AP_RTC_CLK32K",
"AUD_CLK_MOSI",
"AUD_SYNC_MOSI",
"AUD_DAT_MOSI0",
"AUD_DAT_MOSI1",
"AUD_DAT_MISO0",
"AUD_DAT_MISO1";
anx7625_pins: anx7625-default-pins {
pins-out {
pinmux = <PINMUX_GPIO41__FUNC_GPIO41>,
<PINMUX_GPIO42__FUNC_GPIO42>;
output-low;
};
pins-in {
pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
input-enable;
bias-pull-up;
};
};
aud_clk_mosi_off_pins: aud-clk-mosi-off-pins {
pins-mosi-off {
pinmux = <PINMUX_GPIO214__FUNC_GPIO214>,
<PINMUX_GPIO215__FUNC_GPIO215>;
};
};
aud_clk_mosi_on_pins: aud-clk-mosi-on-pins {
pins-mosi-on {
pinmux = <PINMUX_GPIO214__FUNC_AUD_CLK_MOSI>,
<PINMUX_GPIO215__FUNC_AUD_SYNC_MOSI>;
drive-strength = <10>;
};
};
aud_dat_miso_ch34_off_pins: aud-dat-miso-ch34-off-pins {
pins-miso-off {
pinmux = <PINMUX_GPIO199__FUNC_GPIO199>;
};
};
aud_dat_miso_ch34_on_pins: aud-dat-miso-ch34-on-pins {
pins-miso-on {
pinmux = <PINMUX_GPIO199__FUNC_AUD_DAT_MISO2>;
};
};
aud_dat_miso_off_pins: aud-dat-miso-off-pins {
pins-miso-off {
pinmux = <PINMUX_GPIO218__FUNC_GPIO218>,
<PINMUX_GPIO219__FUNC_GPIO219>;
};
};
aud_dat_miso_on_pins: aud-dat-miso-on-pins {
pins-miso-on {
pinmux = <PINMUX_GPIO218__FUNC_AUD_DAT_MISO0>,
<PINMUX_GPIO219__FUNC_AUD_DAT_MISO1>;
drive-strength = <10>;
};
};
aud_dat_miso2_off_pins: aud-dat-miso2-off-pins {
pins-miso-off {
pinmux = <PINMUX_GPIO199__FUNC_GPIO199>;
};
};
aud_dat_miso2_on_pins: aud-dat-miso2-on-pins {
pins-miso-on {
pinmux = <PINMUX_GPIO199__FUNC_AUD_DAT_MISO2>;
};
};
aud_dat_mosi_ch34_off_pins: aud-dat-mosi-ch34-off-pins {
pins-mosi-off {
pinmux = <PINMUX_GPIO196__FUNC_GPIO196>;
};
};
aud_dat_mosi_ch34_on_pins: aud-dat-mosi-ch34-on-pins {
pins-mosi-on {
pinmux = <PINMUX_GPIO196__FUNC_AUD_DAT_MOSI2>;
};
};
aud_dat_mosi_off_pins: aud-dat-mosi-off-pins {
pins-mosi-off {
pinmux = <PINMUX_GPIO216__FUNC_GPIO216>,
<PINMUX_GPIO217__FUNC_GPIO217>;
};
};
aud_dat_mosi_on_pins: aud-dat-mosi-on-pins {
pins-mosi-on {
pinmux = <PINMUX_GPIO216__FUNC_AUD_DAT_MOSI0>,
<PINMUX_GPIO217__FUNC_AUD_DAT_MOSI1>;
drive-strength = <10>;
};
};
aud_gpio_i2s3_off_pins: aud-gpio-i2s3-off-pins {
pins-i2s3-off {
pinmux = <PINMUX_GPIO32__FUNC_GPIO32>,
<PINMUX_GPIO33__FUNC_GPIO33>,
<PINMUX_GPIO35__FUNC_GPIO35>;
};
};
aud_gpio_i2s3_on_pins: aud-gpio-i2s3-on-pins {
pins-i2s3-on {
pinmux = <PINMUX_GPIO32__FUNC_I2S3_BCK>,
<PINMUX_GPIO33__FUNC_I2S3_LRCK>,
<PINMUX_GPIO35__FUNC_I2S3_DO>;
};
};
aud_gpio_i2s8_off_pins: aud-gpio-i2s8-off-pins {
pins-i2s8-off {
pinmux = <PINMUX_GPIO10__FUNC_GPIO10>,
<PINMUX_GPIO11__FUNC_GPIO11>,
<PINMUX_GPIO12__FUNC_GPIO12>,
<PINMUX_GPIO13__FUNC_GPIO13>;
};
};
aud_gpio_i2s8_on_pins: aud-gpio-i2s8-on-pins {
pins-i2s8-on {
pinmux = <PINMUX_GPIO10__FUNC_I2S8_MCK>,
<PINMUX_GPIO11__FUNC_I2S8_BCK>,
<PINMUX_GPIO12__FUNC_I2S8_LRCK>,
<PINMUX_GPIO13__FUNC_I2S8_DI>;
};
};
aud_gpio_i2s9_off_pins: aud-gpio-i2s9-off-pins {
pins-i2s9-off {
pinmux = <PINMUX_GPIO29__FUNC_GPIO29>;
};
};
aud_gpio_i2s9_on_pins: aud-gpio-i2s9-on-pins {
pins-i2s9-on {
pinmux = <PINMUX_GPIO29__FUNC_I2S9_DO>;
};
};
aud_gpio_tdm_off_pins: aud-gpio-tdm-off-pins {
pins-tdm-off {
pinmux = <PINMUX_GPIO0__FUNC_GPIO0>,
<PINMUX_GPIO1__FUNC_GPIO1>,
<PINMUX_GPIO2__FUNC_GPIO2>,
<PINMUX_GPIO3__FUNC_GPIO3>;
};
};
aud_gpio_tdm_on_pins: aud-gpio-tdm-on-pins {
pins-tdm-on {
pinmux = <PINMUX_GPIO0__FUNC_TDM_LRCK>,
<PINMUX_GPIO1__FUNC_TDM_BCK>,
<PINMUX_GPIO2__FUNC_TDM_MCK>,
<PINMUX_GPIO3__FUNC_TDM_DATA0>;
};
};
aud_nle_mosi_off_pins: aud-nle-mosi-off-pins {
pins-nle-mosi-off {
pinmux = <PINMUX_GPIO197__FUNC_GPIO197>,
<PINMUX_GPIO198__FUNC_GPIO198>;
};
};
aud_nle_mosi_on_pins: aud-nle-mosi-on-pins {
pins-nle-mosi-on {
pinmux = <PINMUX_GPIO197__FUNC_AUD_NLE_MOSI1>,
<PINMUX_GPIO198__FUNC_AUD_NLE_MOSI0>;
};
};
cr50_int: cr50-irq-default-pins {
pins-gsc-ap-int-odl {
pinmux = <PINMUX_GPIO171__FUNC_GPIO171>;
input-enable;
};
};
cros_ec_int: cros-ec-irq-default-pins {
pins-ec-ap-int-odl {
pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
input-enable;
bias-pull-up;
};
};
i2c0_pins: i2c0-default-pins {
pins-bus {
pinmux = <PINMUX_GPIO204__FUNC_SCL0>,
<PINMUX_GPIO205__FUNC_SDA0>;
bias-pull-up = <MTK_PULL_SET_RSEL_011>;
drive-strength-microamp = <1000>;
};
};
i2c1_pins: i2c1-default-pins {
pins-bus {
pinmux = <PINMUX_GPIO118__FUNC_SCL1>,
<PINMUX_GPIO119__FUNC_SDA1>;
bias-pull-up = <MTK_PULL_SET_RSEL_011>;
drive-strength-microamp = <1000>;
};
};
i2c2_pins: i2c2-default-pins {
pins-bus {
pinmux = <PINMUX_GPIO141__FUNC_SCL2>,
<PINMUX_GPIO142__FUNC_SDA2>;
bias-pull-up = <MTK_PULL_SET_RSEL_011>;
};
};
i2c3_pins: i2c3-default-pins {
pins-bus {
pinmux = <PINMUX_GPIO160__FUNC_SCL3>,
<PINMUX_GPIO161__FUNC_SDA3>;
bias-disable;
drive-strength-microamp = <1000>;
};
};
i2c7_pins: i2c7-default-pins {
pins-bus {
pinmux = <PINMUX_GPIO124__FUNC_SCL7>,
<PINMUX_GPIO125__FUNC_SDA7>;
bias-disable;
drive-strength-microamp = <1000>;
};
};
mmc0_default_pins: mmc0-default-pins {
pins-cmd-dat {
pinmux = <PINMUX_GPIO184__FUNC_MSDC0_DAT0>,
<PINMUX_GPIO188__FUNC_MSDC0_DAT1>,
<PINMUX_GPIO185__FUNC_MSDC0_DAT2>,
<PINMUX_GPIO193__FUNC_MSDC0_DAT3>,
<PINMUX_GPIO186__FUNC_MSDC0_DAT4>,
<PINMUX_GPIO189__FUNC_MSDC0_DAT5>,
<PINMUX_GPIO187__FUNC_MSDC0_DAT6>,
<PINMUX_GPIO190__FUNC_MSDC0_DAT7>,
<PINMUX_GPIO183__FUNC_MSDC0_CMD>;
input-enable;
drive-strength = <8>;
bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
};
pins-clk {
pinmux = <PINMUX_GPIO192__FUNC_MSDC0_CLK>;
drive-strength = <8>;
bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
};
pins-rst {
pinmux = <PINMUX_GPIO194__FUNC_MSDC0_RSTB>;
drive-strength = <8>;
bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
};
};
mmc0_uhs_pins: mmc0-uhs-pins {
pins-cmd-dat {
pinmux = <PINMUX_GPIO184__FUNC_MSDC0_DAT0>,
<PINMUX_GPIO188__FUNC_MSDC0_DAT1>,
<PINMUX_GPIO185__FUNC_MSDC0_DAT2>,
<PINMUX_GPIO193__FUNC_MSDC0_DAT3>,
<PINMUX_GPIO186__FUNC_MSDC0_DAT4>,
<PINMUX_GPIO189__FUNC_MSDC0_DAT5>,
<PINMUX_GPIO187__FUNC_MSDC0_DAT6>,
<PINMUX_GPIO190__FUNC_MSDC0_DAT7>,
<PINMUX_GPIO183__FUNC_MSDC0_CMD>;
input-enable;
drive-strength = <10>;
bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
};
pins-clk {
pinmux = <PINMUX_GPIO192__FUNC_MSDC0_CLK>;
drive-strength = <10>;
bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
};
pins-rst {
pinmux = <PINMUX_GPIO194__FUNC_MSDC0_RSTB>;
drive-strength = <8>;
bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
};
pins-ds {
pinmux = <PINMUX_GPIO191__FUNC_MSDC0_DSL>;
drive-strength = <10>;
bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
};
};
mmc1_default_pins: mmc1-default-pins {
pins-cmd-dat {
pinmux = <PINMUX_GPIO54__FUNC_MSDC1_DAT0>,
<PINMUX_GPIO56__FUNC_MSDC1_DAT1>,
<PINMUX_GPIO55__FUNC_MSDC1_DAT2>,
<PINMUX_GPIO53__FUNC_MSDC1_DAT3>,
<PINMUX_GPIO52__FUNC_MSDC1_CMD>;
input-enable;
drive-strength = <8>;
bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
};
pins-clk {
pinmux = <PINMUX_GPIO51__FUNC_MSDC1_CLK>;
drive-strength = <8>;
bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
};
pins-insert {
pinmux = <PINMUX_GPIO17__FUNC_GPIO17>;
input-enable;
bias-pull-up;
};
};
mmc1_uhs_pins: mmc1-uhs-pins {
pins-cmd-dat {
pinmux = <PINMUX_GPIO54__FUNC_MSDC1_DAT0>,
<PINMUX_GPIO56__FUNC_MSDC1_DAT1>,
<PINMUX_GPIO55__FUNC_MSDC1_DAT2>,
<PINMUX_GPIO53__FUNC_MSDC1_DAT3>,
<PINMUX_GPIO52__FUNC_MSDC1_CMD>;
input-enable;
drive-strength = <8>;
bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
};
pins-clk {
pinmux = <PINMUX_GPIO51__FUNC_MSDC1_CLK>;
input-enable;
drive-strength = <8>;
bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
};
};
nor_flash_pins: nor-flash-default-pins {
pins-cs-io1 {
pinmux = <PINMUX_GPIO24__FUNC_SPINOR_CS>,
<PINMUX_GPIO28__FUNC_SPINOR_IO1>;
input-enable;
bias-pull-up;
drive-strength = <10>;
};
pins-io0 {
pinmux = <PINMUX_GPIO27__FUNC_SPINOR_IO0>;
bias-pull-up;
drive-strength = <10>;
};
pins-clk {
pinmux = <PINMUX_GPIO25__FUNC_SPINOR_CK>;
input-enable;
bias-pull-up;
drive-strength = <10>;
};
};
pcie_pins: pcie-default-pins {
pins-pcie-wake {
pinmux = <PINMUX_GPIO63__FUNC_PCIE_WAKE_N>;
bias-pull-up;
};
pins-pcie-pereset {
pinmux = <PINMUX_GPIO64__FUNC_PCIE_PERESET_N>;
};
pins-pcie-clkreq {
pinmux = <PINMUX_GPIO65__FUNC_PCIE_CLKREQ_N>;
bias-pull-up;
};
pins-wifi-kill {
pinmux = <PINMUX_GPIO145__FUNC_GPIO145>; /* WIFI_KILL_L */
output-high;
};
};
pp1000_dpbrdg_en_pins: pp1000-dpbrdg-en-pins {
pins-en {
pinmux = <PINMUX_GPIO19__FUNC_GPIO19>;
output-low;
};
};
pp1000_mipibrdg_en_pins: pp1000-mipibrdg-en-pins {
pins-en {
pinmux = <PINMUX_GPIO129__FUNC_GPIO129>;
output-low;
};
};
pp1800_dpbrdg_en_pins: pp1800-dpbrdg-en-pins {
pins-en {
pinmux = <PINMUX_GPIO126__FUNC_GPIO126>;
output-low;
};
};
pp1800_mipibrdg_en_pins: pp1800-mipibrd-en-pins {
pins-en {
pinmux = <PINMUX_GPIO128__FUNC_GPIO128>;
output-low;
};
};
pp3300_dpbrdg_en_pins: pp3300-dpbrdg-en-pins {
pins-en {
pinmux = <PINMUX_GPIO26__FUNC_GPIO26>;
output-low;
};
};
pp3300_mipibrdg_en_pins: pp3300-mipibrdg-en-pins {
pins-en {
pinmux = <PINMUX_GPIO127__FUNC_GPIO127>;
output-low;
};
};
pp3300_wlan_pins: pp3300-wlan-pins {
pins-pcie-en-pp3300-wlan {
pinmux = <PINMUX_GPIO143__FUNC_GPIO143>;
output-high;
};
};
pwm0_pins: pwm0-default-pins {
pins-pwm {
pinmux = <PINMUX_GPIO40__FUNC_DISP_PWM>;
};
pins-inhibit {
pinmux = <PINMUX_GPIO152__FUNC_GPIO152>;
output-high;
};
};
scp_pins: scp-pins {
pins-vreq-vao {
pinmux = <PINMUX_GPIO195__FUNC_SCP_VREQ_VAO>;
};
};
spi1_pins: spi1-default-pins {
pins-cs-mosi-clk {
pinmux = <PINMUX_GPIO157__FUNC_SPI1_A_CSB>,
<PINMUX_GPIO159__FUNC_SPI1_A_MO>,
<PINMUX_GPIO156__FUNC_SPI1_A_CLK>;
bias-disable;
};
pins-miso {
pinmux = <PINMUX_GPIO158__FUNC_SPI1_A_MI>;
bias-pull-down;
};
};
spi5_pins: spi5-default-pins {
pins-bus {
pinmux = <PINMUX_GPIO38__FUNC_SPI5_A_MI>,
<PINMUX_GPIO37__FUNC_GPIO37>,
<PINMUX_GPIO39__FUNC_SPI5_A_MO>,
<PINMUX_GPIO36__FUNC_SPI5_A_CLK>;
bias-disable;
};
};
trackpad_pins: trackpad-default-pins {
pins-int-n {
pinmux = <PINMUX_GPIO15__FUNC_GPIO15>;
input-enable;
bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
};
};
touchscreen_pins: touchscreen-default-pins {
pins-irq {
pinmux = <PINMUX_GPIO21__FUNC_GPIO21>;
input-enable;
bias-pull-up;
};
pins-reset {
pinmux = <PINMUX_GPIO137__FUNC_GPIO137>;
output-high;
};
pins-report-sw {
pinmux = <PINMUX_GPIO138__FUNC_GPIO138>;
output-low;
};
};
vow_clk_miso_off_pins: vow-clk-miso-off-pins {
pins-miso-off {
pinmux = <PINMUX_GPIO219__FUNC_GPIO219>;
};
};
vow_clk_miso_on_pins: vow-clk-miso-on-pins {
pins-miso-on {
pinmux = <PINMUX_GPIO219__FUNC_VOW_CLK_MISO>;
};
};
vow_dat_miso_off_pins: vow-dat-miso-off-pins {
pins-miso-off {
pinmux = <PINMUX_GPIO218__FUNC_GPIO218>;
};
};
vow_dat_miso_on_pins: vow-dat-miso-on-pins {
pins-miso-on {
pinmux = <PINMUX_GPIO218__FUNC_VOW_DAT_MISO>;
};
};
};
&pmic {
interrupts-extended = <&pio 214 IRQ_TYPE_LEVEL_HIGH>;
};
&pwm0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins>;
};
&scp {
status = "okay";
firmware-name = "mediatek/mt8192/scp.img";
memory-region = <&scp_mem_reserved>;
pinctrl-names = "default";
pinctrl-0 = <&scp_pins>;
cros-ec {
compatible = "google,cros-ec-rpmsg";
mediatek,rpmsg-name = "cros-ec-rpmsg";
};
};
&spi1 {
status = "okay";
mediatek,pad-select = <0>;
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins>;
cros_ec: ec@0 {
compatible = "google,cros-ec-spi";
reg = <0>;
interrupts-extended = <&pio 5 IRQ_TYPE_LEVEL_LOW>;
spi-max-frequency = <3000000>;
pinctrl-names = "default";
pinctrl-0 = <&cros_ec_int>;
#address-cells = <1>;
#size-cells = <0>;
base_detection: cbas {
compatible = "google,cros-cbas";
};
cros_ec_pwm: pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
status = "disabled";
};
i2c_tunnel: i2c-tunnel {
compatible = "google,cros-ec-i2c-tunnel";
google,remote-bus = <0>;
#address-cells = <1>;
#size-cells = <0>;
};
mt6360_ldo3_reg: regulator@0 {
compatible = "google,cros-ec-regulator";
reg = <0>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
mt6360_ldo5_reg: regulator@1 {
compatible = "google,cros-ec-regulator";
reg = <1>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
typec {
compatible = "google,cros-ec-typec";
#address-cells = <1>;
#size-cells = <0>;
usb_c0: connector@0 {
compatible = "usb-c-connector";
reg = <0>;
label = "left";
power-role = "dual";
data-role = "host";
try-power-role = "source";
};
usb_c1: connector@1 {
compatible = "usb-c-connector";
reg = <1>;
label = "right";
power-role = "dual";
data-role = "host";
try-power-role = "source";
};
};
};
};
&spi5 {
status = "okay";
cs-gpios = <&pio 37 GPIO_ACTIVE_LOW>;
mediatek,pad-select = <0>;
pinctrl-names = "default";
pinctrl-0 = <&spi5_pins>;
cr50@0 {
compatible = "google,cr50";
reg = <0>;
interrupts-extended = <&pio 171 IRQ_TYPE_EDGE_RISING>;
spi-max-frequency = <1000000>;
pinctrl-names = "default";
pinctrl-0 = <&cr50_int>;
};
};
&spmi {
#address-cells = <2>;
#size-cells = <0>;
mt6315_6: pmic@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-allowed-modes = <0 1 2>;
regulator-always-on;
};
mt6315_6_vbuck3: vbuck3 {
regulator-compatible = "vbuck3";
regulator-name = "Vlcpu";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2>;
regulator-always-on;
};
};
};
mt6315_7: pmic@7 {
compatible = "mediatek,mt6315-regulator";
reg = <0x7 SPMI_USID>;
regulators {
mt6315_7_vbuck1: vbuck1 {
regulator-compatible = "vbuck1";
regulator-name = "Vgpu";
regulator-min-microvolt = <606250>;
regulator-max-microvolt = <800000>;
regulator-enable-ramp-delay = <256>;
regulator-allowed-modes = <0 1 2>;
regulator-coupled-with = <&mt6359_vsram_others_ldo_reg>;
regulator-coupled-max-spread = <10000>;
};
};
};
};
&uart0 {
status = "okay";
};
&xhci {
status = "okay";
wakeup-source;
vusb33-supply = <&pp3300_g>;
vbus-supply = <&pp5000_a>;
};
#include <arm/cros-ec-keyboard.dtsi>
#include <arm/cros-ec-sbs.dtsi>