| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Copyright 2016 MediaTek Inc. |
| */ |
| |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/input/linux-event-codes.h> |
| #include <dt-bindings/regulator/dlg,da9211-regulator.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include "mt8173.dtsi" |
| |
| / { |
| aliases { |
| mmc0 = &mmc0; |
| mmc1 = &mmc1; |
| mmc2 = &mmc3; |
| }; |
| |
| memory@40000000 { |
| device_type = "memory"; |
| reg = <0 0x40000000 0 0x80000000>; |
| }; |
| |
| backlight: backlight { |
| compatible = "pwm-backlight"; |
| pwms = <&pwm0 0 1000000>; |
| power-supply = <&bl_fixed_reg>; |
| enable-gpios = <&pio 95 GPIO_ACTIVE_HIGH>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&disp_pwm0_pins>; |
| status = "okay"; |
| }; |
| |
| bl_fixed_reg: fixedregulator2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "bl_fixed"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| startup-delay-us = <1000>; |
| enable-active-high; |
| gpio = <&pio 32 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&bl_fixed_pins>; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| gpio_keys: gpio-keys { |
| compatible = "gpio-keys"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&gpio_keys_pins>; |
| |
| lid { |
| label = "Lid"; |
| gpios = <&pio 69 GPIO_ACTIVE_LOW>; |
| linux,code = <SW_LID>; |
| linux,input-type = <EV_SW>; |
| gpio-key,wakeup; |
| }; |
| |
| power { |
| label = "Power"; |
| gpios = <&pio 14 GPIO_ACTIVE_HIGH>; |
| linux,code = <KEY_POWER>; |
| debounce-interval = <30>; |
| gpio-key,wakeup; |
| }; |
| |
| tablet_mode { |
| label = "Tablet_mode"; |
| gpios = <&pio 121 GPIO_ACTIVE_HIGH>; |
| linux,code = <SW_TABLET_MODE>; |
| linux,input-type = <EV_SW>; |
| gpio-key,wakeup; |
| }; |
| |
| volume_down { |
| label = "Volume_down"; |
| gpios = <&pio 123 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_VOLUMEDOWN>; |
| }; |
| |
| volume_up { |
| label = "Volume_up"; |
| gpios = <&pio 124 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_VOLUMEUP>; |
| }; |
| }; |
| |
| panel: panel { |
| compatible = "lg,lp120up1"; |
| power-supply = <&panel_fixed_3v3>; |
| backlight = <&backlight>; |
| |
| port { |
| panel_in: endpoint { |
| remote-endpoint = <&ps8640_out>; |
| }; |
| }; |
| }; |
| |
| panel_fixed_3v3: regulator1 { |
| compatible = "regulator-fixed"; |
| regulator-name = "PANEL_3V3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| enable-active-high; |
| gpio = <&pio 41 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&panel_fixed_pins>; |
| }; |
| |
| ps8640_fixed_1v2: regulator2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "PS8640_1V2"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-enable-ramp-delay = <2000>; |
| enable-active-high; |
| regulator-boot-on; |
| gpio = <&pio 30 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ps8640_fixed_pins>; |
| }; |
| |
| sdio_fixed_3v3: fixedregulator0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "3V3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&pio 85 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&sdio_fixed_3v3_pins>; |
| }; |
| |
| sound: sound { |
| compatible = "mediatek,mt8173-rt5650"; |
| mediatek,audio-codec = <&rt5650 &hdmi0>; |
| mediatek,platform = <&afe>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&aud_i2s2>; |
| |
| mediatek,mclk = <1>; |
| codec-capture { |
| sound-dai = <&rt5650 1>; |
| }; |
| }; |
| |
| hdmicon: connector { |
| compatible = "hdmi-connector"; |
| label = "hdmi"; |
| type = "a"; |
| ddc-i2c-bus = <&hdmiddc0>; |
| |
| port { |
| hdmi_connector_in: endpoint { |
| remote-endpoint = <&hdmi0_out>; |
| }; |
| }; |
| }; |
| }; |
| |
| &mfg_async { |
| domain-supply = <&da9211_vgpu_reg>; |
| }; |
| |
| &cec { |
| status = "okay"; |
| }; |
| |
| &cpu0 { |
| proc-supply = <&mt6397_vpca15_reg>; |
| }; |
| |
| &cpu1 { |
| proc-supply = <&mt6397_vpca15_reg>; |
| }; |
| |
| &cpu2 { |
| proc-supply = <&da9211_vcpu_reg>; |
| sram-supply = <&mt6397_vsramca7_reg>; |
| }; |
| |
| &cpu3 { |
| proc-supply = <&da9211_vcpu_reg>; |
| sram-supply = <&mt6397_vsramca7_reg>; |
| }; |
| |
| &cpu_thermal { |
| sustainable-power = <4500>; /* milliwatts */ |
| trips { |
| threshold: trip-point0 { |
| temperature = <60000>; |
| }; |
| |
| target: trip-point1 { |
| temperature = <65000>; |
| }; |
| }; |
| }; |
| |
| &dsi0 { |
| status = "okay"; |
| ports { |
| port { |
| dsi0_out: endpoint { |
| remote-endpoint = <&ps8640_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &dpi0 { |
| status = "okay"; |
| }; |
| |
| &hdmi0 { |
| status = "okay"; |
| ports { |
| port@1 { |
| reg = <1>; |
| |
| hdmi0_out: endpoint { |
| remote-endpoint = <&hdmi_connector_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &hdmi_phy { |
| status = "okay"; |
| mediatek,ibias = <0xc>; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| |
| rt5650: audio-codec@1a { |
| compatible = "realtek,rt5650"; |
| reg = <0x1a>; |
| avdd-supply = <&mt6397_vgp1_reg>; |
| cpvdd-supply = <&mt6397_vcama_reg>; |
| interrupt-parent = <&pio>; |
| interrupts = <3 IRQ_TYPE_EDGE_BOTH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&rt5650_irq>; |
| #sound-dai-cells = <1>; |
| realtek,dmic1-data-pin = <2>; |
| realtek,jd-mode = <2>; |
| }; |
| |
| ps8640: edp-bridge@8 { |
| compatible = "parade,ps8640"; |
| reg = <0x8>; |
| powerdown-gpios = <&pio 127 GPIO_ACTIVE_LOW>; |
| reset-gpios = <&pio 115 GPIO_ACTIVE_LOW>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ps8640_pins>; |
| vdd12-supply = <&ps8640_fixed_1v2>; |
| vdd33-supply = <&mt6397_vgp2_reg>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| ps8640_in: endpoint { |
| remote-endpoint = <&dsi0_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| |
| ps8640_out: endpoint { |
| remote-endpoint = <&panel_in>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2c1 { |
| clock-frequency = <1500000>; |
| status = "okay"; |
| |
| da9211: da9211@68 { |
| compatible = "dlg,da9211"; |
| reg = <0x68>; |
| interrupt-parent = <&pio>; |
| interrupts = <15 IRQ_TYPE_LEVEL_LOW>; |
| |
| regulators { |
| da9211_vcpu_reg: BUCKA { |
| regulator-name = "VBUCKA"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1310000>; |
| regulator-min-microamp = <2000000>; |
| regulator-max-microamp = <4400000>; |
| regulator-ramp-delay = <10000>; |
| regulator-always-on; |
| regulator-allowed-modes = <DA9211_BUCK_MODE_SYNC |
| DA9211_BUCK_MODE_AUTO>; |
| }; |
| |
| da9211_vgpu_reg: BUCKB { |
| regulator-name = "VBUCKB"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1310000>; |
| regulator-min-microamp = <2000000>; |
| regulator-max-microamp = <3000000>; |
| regulator-ramp-delay = <10000>; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2c2 { |
| status = "okay"; |
| |
| tpm: tpm@20 { |
| compatible = "infineon,slb9645tt"; |
| reg = <0x20>; |
| powered-while-suspended; |
| }; |
| }; |
| |
| &i2c3 { |
| clock-frequency = <400000>; |
| status = "okay"; |
| |
| touchscreen: touchscreen@10 { |
| compatible = "elan,ekth3500"; |
| reg = <0x10>; |
| interrupt-parent = <&pio>; |
| interrupts = <88 IRQ_TYPE_LEVEL_LOW>; |
| }; |
| }; |
| |
| &i2c4 { |
| clock-frequency = <400000>; |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&trackpad_irq>; |
| |
| trackpad: trackpad@15 { |
| compatible = "elan,ekth3000"; |
| interrupt-parent = <&pio>; |
| interrupts = <117 IRQ_TYPE_LEVEL_LOW>; |
| reg = <0x15>; |
| vcc-supply = <&mt6397_vgp6_reg>; |
| wakeup-source; |
| }; |
| }; |
| |
| &mipi_tx0 { |
| status = "okay"; |
| }; |
| |
| &mmc0 { |
| status = "okay"; |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc0_pins_default>; |
| pinctrl-1 = <&mmc0_pins_uhs>; |
| bus-width = <8>; |
| max-frequency = <200000000>; |
| cap-mmc-highspeed; |
| mmc-hs200-1_8v; |
| mmc-hs400-1_8v; |
| cap-mmc-hw-reset; |
| hs400-ds-delay = <0x14015>; |
| mediatek,hs200-cmd-int-delay=<30>; |
| mediatek,hs400-cmd-int-delay=<14>; |
| mediatek,hs400-cmd-resp-sel-rising; |
| vmmc-supply = <&mt6397_vemc_3v3_reg>; |
| vqmmc-supply = <&mt6397_vio18_reg>; |
| assigned-clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>; |
| assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; |
| non-removable; |
| }; |
| |
| &mmc1 { |
| status = "okay"; |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc1_pins_default>; |
| pinctrl-1 = <&mmc1_pins_uhs>; |
| bus-width = <4>; |
| max-frequency = <200000000>; |
| cap-sd-highspeed; |
| sd-uhs-sdr50; |
| sd-uhs-sdr104; |
| cd-gpios = <&pio 1 GPIO_ACTIVE_LOW>; |
| vmmc-supply = <&mt6397_vmch_reg>; |
| vqmmc-supply = <&mt6397_vmc_reg>; |
| }; |
| |
| &mmc3 { |
| status = "okay"; |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc3_pins_default>; |
| pinctrl-1 = <&mmc3_pins_uhs>; |
| bus-width = <4>; |
| max-frequency = <200000000>; |
| cap-sd-highspeed; |
| sd-uhs-sdr50; |
| sd-uhs-sdr104; |
| keep-power-in-suspend; |
| enable-sdio-wakeup; |
| cap-sdio-irq; |
| vmmc-supply = <&sdio_fixed_3v3>; |
| vqmmc-supply = <&mt6397_vgp3_reg>; |
| non-removable; |
| cap-power-off-card; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| btmrvl: btmrvl@2 { |
| compatible = "marvell,sd8897-bt"; |
| reg = <2>; |
| interrupt-parent = <&pio>; |
| interrupts = <119 IRQ_TYPE_LEVEL_LOW>; |
| marvell,wakeup-pin = /bits/ 16 <0x0d>; |
| marvell,wakeup-gap-ms = /bits/ 16 <0x64>; |
| }; |
| |
| mwifiex: mwifiex@1 { |
| compatible = "marvell,sd8897"; |
| reg = <1>; |
| interrupt-parent = <&pio>; |
| interrupts = <38 IRQ_TYPE_LEVEL_LOW>; |
| marvell,wakeup-pin = <3>; |
| }; |
| }; |
| |
| &nor_flash { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&nor_gpio1_pins>; |
| |
| flash@0 { |
| compatible = "jedec,spi-nor"; |
| reg = <0>; |
| spi-max-frequency = <50000000>; |
| }; |
| }; |
| |
| &pio { |
| gpio-line-names = "EC_INT_1V8", |
| "SD_CD_L", |
| "ALC5514_IRQ", |
| "ALC5650_IRQ", |
| /* |
| * AP_FLASH_WP_L is crossystem ABI. Schematics |
| * call it SFWP_B. |
| */ |
| "AP_FLASH_WP_L", |
| "SFIN", |
| "SFCS0", |
| "SFHOLD", |
| "SFOUT", |
| "SFCK", |
| "WRAP_EVENT_S_EINT10", |
| "PMU_INT", |
| "I2S2_WS_ALC5650", |
| "I2S2_BCK_ALC5650", |
| "PWR_BTN_1V8", |
| "DA9212_IRQ", |
| "IDDIG", |
| "WATCHDOG", |
| "CEC", |
| "HDMISCK", |
| "HDMISD", |
| "HTPLG", |
| "MSDC3_DAT0", |
| "MSDC3_DAT1", |
| "MSDC3_DAT2", |
| "MSDC3_DAT3", |
| "MSDC3_CLK", |
| "MSDC3_CMD", |
| "USB_C0_OC_FLAGB", |
| "USBA_OC1_L", |
| "PS8640_1V2_ENABLE", |
| "THERM_ALERT_N", |
| "PANEL_LCD_POWER_EN", |
| "ANX7688_CHIP_PD_C", |
| "EC_IN_RW_1V8", |
| "ANX7688_1V_EN_C", |
| "USB_DP_HPD_C", |
| "TPM_DAVINT_N", |
| "MARVELL8897_IRQ", |
| "EN_USB_A0_PWR", |
| "USBA_A0_OC_L", |
| "EN_PP3300_DX_EDP", |
| "", |
| "SOC_I2C2_1V8_SDA_400K", |
| "SOC_I2C2_1V8_SCL_400K", |
| "SOC_I2C0_1V8_SDA_400K", |
| "SOC_I2C0_1V8_SCL_400K", |
| "EMMC_ID1", |
| "EMMC_ID0", |
| "MEM_CONFIG3", |
| "EMMC_ID2", |
| "MEM_CONFIG1", |
| "MEM_CONFIG2", |
| "BRD_ID2", |
| "MEM_CONFIG0", |
| "BRD_ID0", |
| "BRD_ID1", |
| "EMMC_DAT0", |
| "EMMC_DAT1", |
| "EMMC_DAT2", |
| "EMMC_DAT3", |
| "EMMC_DAT4", |
| "EMMC_DAT5", |
| "EMMC_DAT6", |
| "EMMC_DAT7", |
| "EMMC_CLK", |
| "EMMC_CMD", |
| "EMMC_RCLK", |
| "PLT_RST_L", |
| "LID_OPEN_1V8_L", |
| "AUDIO_SPI_MISO_R", |
| "", |
| "AC_OK_1V8", |
| "SD_DATA0", |
| "SD_DATA1", |
| "SD_DATA2", |
| "SD_DATA3", |
| "SD_CLK", |
| "SD_CMD", |
| "PWRAP_SPI0_MI", |
| "PWRAP_SPI0_MO", |
| "PWRAP_SPI0_CK", |
| "PWRAP_SPI0_CSN", |
| "", |
| "", |
| "WIFI_PDN", |
| "RTC32K_1V8", |
| "DISP_PWM0", |
| "TOUCHSCREEN_INT_L", |
| "", |
| "SRCLKENA0", |
| "SRCLKENA1", |
| "PS8640_MODE_CONF", |
| "TOUCHSCREEN_RESET_R", |
| "PLATFORM_PROCHOT_L", |
| "PANEL_POWER_EN", |
| "REC_MODE_L", |
| "EC_FW_UPDATE_L", |
| "ACCEL2_INT_L", |
| "HDMI_DP_INT", |
| "ACCELGYRO3_INT_L", |
| "ACCELGYRO4_INT_L", |
| "SPI_EC_CLK", |
| "SPI_EC_MI", |
| "SPI_EC_MO", |
| "SPI_EC_CSN", |
| "SOC_I2C3_1V8_SDA_400K", |
| "SOC_I2C3_1V8_SCL_400K", |
| "", |
| "", |
| "", |
| "", |
| "", |
| "", |
| "", |
| "PS8640_SYSRSTN_1V8", |
| "APIN_MAX98090_DOUT2", |
| "TP_INT_1V8_L_R", |
| "RST_USB_HUB_R", |
| "BT_WAKE_L", |
| "ACCEL1_INT_L", |
| "TABLET_MODE_L", |
| "", |
| "V_UP_IN_L_R", |
| "V_DOWN_IN_L_R", |
| "SOC_I2C1_1V8_SDA_1M", |
| "SOC_I2C1_1V8_SCL_1M", |
| "PS8640_PDN_1V8", |
| "MAX98090_LRCLK", |
| "MAX98090_BCLK", |
| "MAX98090_MCLK", |
| "APOUT_MAX98090_DIN", |
| "APIN_MAX98090_DOUT", |
| "SOC_I2C4_1V8_SDA_400K", |
| "SOC_I2C4_1V8_SCL_400K"; |
| |
| aud_i2s2: aud_i2s2 { |
| pins1 { |
| pinmux = <MT8173_PIN_128_I2S0_LRCK__FUNC_I2S1_WS>, |
| <MT8173_PIN_129_I2S0_BCK__FUNC_I2S1_BCK>, |
| <MT8173_PIN_130_I2S0_MCK__FUNC_I2S1_MCK>, |
| <MT8173_PIN_131_I2S0_DATA0__FUNC_I2S1_DO_1>, |
| <MT8173_PIN_12_EINT12__FUNC_I2S2_WS>, |
| <MT8173_PIN_13_EINT13__FUNC_I2S2_BCK>, |
| <MT8173_PIN_132_I2S0_DATA1__FUNC_I2S2_DI_2>; |
| bias-pull-down; |
| }; |
| }; |
| |
| bl_fixed_pins: bl_fixed_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_32_UTXD2__FUNC_GPIO32>; |
| output-low; |
| }; |
| }; |
| |
| bt_wake_pins: bt_wake_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_119_KPROW0__FUNC_GPIO119>; |
| bias-pull-up; |
| }; |
| }; |
| |
| disp_pwm0_pins: disp_pwm0_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_87_DISP_PWM0__FUNC_DISP_PWM0>; |
| output-low; |
| }; |
| }; |
| |
| gpio_keys_pins: gpio_keys_pins { |
| volume_pins { |
| pinmux = <MT8173_PIN_123_KPCOL1__FUNC_GPIO123>, |
| <MT8173_PIN_124_KPCOL2__FUNC_GPIO124>; |
| bias-pull-up; |
| }; |
| |
| tablet_mode_pins { |
| pinmux = <MT8173_PIN_121_KPROW2__FUNC_GPIO121>; |
| bias-pull-up; |
| }; |
| }; |
| |
| hdmi_mux_pins: hdmi_mux_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_36_DAISYNC__FUNC_GPIO36>; |
| }; |
| }; |
| |
| i2c1_pins_a: i2c1 { |
| da9211_pins { |
| pinmux = <MT8173_PIN_15_EINT15__FUNC_GPIO15>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc0_pins_default: mmc0default { |
| pins_cmd_dat { |
| pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>, |
| <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>, |
| <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>, |
| <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>, |
| <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>, |
| <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>, |
| <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>, |
| <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>, |
| <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>; |
| bias-pull-up; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>; |
| bias-pull-down; |
| }; |
| |
| pins_rst { |
| pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc1_pins_default: mmc1default { |
| pins_cmd_dat { |
| pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>, |
| <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>, |
| <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>, |
| <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>, |
| <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_4mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>; |
| bias-pull-down; |
| drive-strength = <MTK_DRIVE_4mA>; |
| }; |
| |
| pins_insert { |
| pinmux = <MT8173_PIN_1_EINT1__FUNC_GPIO1>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc3_pins_default: mmc3default { |
| pins_dat { |
| pinmux = <MT8173_PIN_22_MSDC3_DAT0__FUNC_MSDC3_DAT0>, |
| <MT8173_PIN_23_MSDC3_DAT1__FUNC_MSDC3_DAT1>, |
| <MT8173_PIN_24_MSDC3_DAT2__FUNC_MSDC3_DAT2>, |
| <MT8173_PIN_25_MSDC3_DAT3__FUNC_MSDC3_DAT3>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_cmd { |
| pinmux = <MT8173_PIN_27_MSDC3_CMD__FUNC_MSDC3_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_26_MSDC3_CLK__FUNC_MSDC3_CLK>; |
| bias-pull-down; |
| drive-strength = <MTK_DRIVE_8mA>; |
| }; |
| }; |
| |
| mmc0_pins_uhs: mmc0 { |
| pins_cmd_dat { |
| pinmux = <MT8173_PIN_57_MSDC0_DAT0__FUNC_MSDC0_DAT0>, |
| <MT8173_PIN_58_MSDC0_DAT1__FUNC_MSDC0_DAT1>, |
| <MT8173_PIN_59_MSDC0_DAT2__FUNC_MSDC0_DAT2>, |
| <MT8173_PIN_60_MSDC0_DAT3__FUNC_MSDC0_DAT3>, |
| <MT8173_PIN_61_MSDC0_DAT4__FUNC_MSDC0_DAT4>, |
| <MT8173_PIN_62_MSDC0_DAT5__FUNC_MSDC0_DAT5>, |
| <MT8173_PIN_63_MSDC0_DAT6__FUNC_MSDC0_DAT6>, |
| <MT8173_PIN_64_MSDC0_DAT7__FUNC_MSDC0_DAT7>, |
| <MT8173_PIN_66_MSDC0_CMD__FUNC_MSDC0_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_65_MSDC0_CLK__FUNC_MSDC0_CLK>; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_ds { |
| pinmux = <MT8173_PIN_67_MSDC0_DSL__FUNC_MSDC0_DSL>; |
| drive-strength = <MTK_DRIVE_10mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_rst { |
| pinmux = <MT8173_PIN_68_MSDC0_RST___FUNC_MSDC0_RSTB>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc1_pins_uhs: mmc1 { |
| pins_cmd_dat { |
| pinmux = <MT8173_PIN_73_MSDC1_DAT0__FUNC_MSDC1_DAT0>, |
| <MT8173_PIN_74_MSDC1_DAT1__FUNC_MSDC1_DAT1>, |
| <MT8173_PIN_75_MSDC1_DAT2__FUNC_MSDC1_DAT2>, |
| <MT8173_PIN_76_MSDC1_DAT3__FUNC_MSDC1_DAT3>, |
| <MT8173_PIN_78_MSDC1_CMD__FUNC_MSDC1_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_77_MSDC1_CLK__FUNC_MSDC1_CLK>; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| }; |
| |
| mmc3_pins_uhs: mmc3 { |
| pins_dat { |
| pinmux = <MT8173_PIN_22_MSDC3_DAT0__FUNC_MSDC3_DAT0>, |
| <MT8173_PIN_23_MSDC3_DAT1__FUNC_MSDC3_DAT1>, |
| <MT8173_PIN_24_MSDC3_DAT2__FUNC_MSDC3_DAT2>, |
| <MT8173_PIN_25_MSDC3_DAT3__FUNC_MSDC3_DAT3>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_cmd { |
| pinmux = <MT8173_PIN_27_MSDC3_CMD__FUNC_MSDC3_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_26_MSDC3_CLK__FUNC_MSDC3_CLK>; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| }; |
| |
| nor_gpio1_pins: nor { |
| pins1 { |
| pinmux = <MT8173_PIN_6_EINT6__FUNC_SFCS0>, |
| <MT8173_PIN_7_EINT7__FUNC_SFHOLD>, |
| <MT8173_PIN_8_EINT8__FUNC_SFIN>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_4mA>; |
| bias-pull-up; |
| }; |
| |
| pins2 { |
| pinmux = <MT8173_PIN_5_EINT5__FUNC_SFOUT>; |
| drive-strength = <MTK_DRIVE_4mA>; |
| bias-pull-up; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8173_PIN_9_EINT9__FUNC_SFCK>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_4mA>; |
| bias-pull-up; |
| }; |
| }; |
| |
| panel_fixed_pins: panel_fixed_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_41_CMMCLK__FUNC_GPIO41>; |
| }; |
| }; |
| |
| ps8640_pins: ps8640_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_92_PCM_CLK__FUNC_GPIO92>, |
| <MT8173_PIN_115_URTS0__FUNC_GPIO115>, |
| <MT8173_PIN_127_LCM_RST__FUNC_GPIO127>; |
| }; |
| }; |
| |
| ps8640_fixed_pins: ps8640_fixed_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_30_URTS2__FUNC_GPIO30>; |
| }; |
| }; |
| |
| rt5650_irq: rt5650_irq { |
| pins1 { |
| pinmux = <MT8173_PIN_3_EINT3__FUNC_GPIO3>; |
| bias-pull-down; |
| }; |
| }; |
| |
| sdio_fixed_3v3_pins: sdio_fixed_3v3_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_85_AUD_DAT_MOSI__FUNC_GPIO85>; |
| output-low; |
| }; |
| }; |
| |
| spi_pins_a: spi1 { |
| pins1 { |
| pinmux = <MT8173_PIN_0_EINT0__FUNC_GPIO0>; |
| bias-pull-up; |
| }; |
| |
| pins_spi { |
| pinmux = <MT8173_PIN_102_MSDC2_DAT2__FUNC_SPI_CK_1_>, |
| <MT8173_PIN_103_MSDC2_DAT3__FUNC_SPI_MI_1_>, |
| <MT8173_PIN_104_MSDC2_CLK__FUNC_SPI_MO_1_>, |
| <MT8173_PIN_105_MSDC2_CMD__FUNC_SPI_CS_1_>; |
| bias-disable; |
| }; |
| }; |
| |
| trackpad_irq: trackpad_irq { |
| pins1 { |
| pinmux = <MT8173_PIN_117_URXD3__FUNC_GPIO117>; |
| input-enable; |
| bias-pull-up; |
| }; |
| }; |
| |
| usb_pins: usb { |
| pins1 { |
| pinmux = <MT8173_PIN_101_MSDC2_DAT1__FUNC_GPIO101>; |
| output-high; |
| bias-disable; |
| }; |
| }; |
| |
| wifi_wake_pins: wifi_wake_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_38_CONN_RST__FUNC_GPIO38>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| &pwm0 { |
| status = "okay"; |
| }; |
| |
| &pwrap { |
| pmic: mt6397 { |
| compatible = "mediatek,mt6397"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| interrupt-parent = <&pio>; |
| interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| |
| clock: mt6397clock { |
| compatible = "mediatek,mt6397-clk"; |
| #clock-cells = <1>; |
| }; |
| |
| pio6397: pinctrl { |
| compatible = "mediatek,mt6397-pinctrl"; |
| pins-are-numbered; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| regulator: mt6397regulator { |
| compatible = "mediatek,mt6397-regulator"; |
| |
| mt6397_vpca15_reg: buck_vpca15 { |
| regulator-compatible = "buck_vpca15"; |
| regulator-name = "vpca15"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-ramp-delay = <12500>; |
| regulator-always-on; |
| regulator-allowed-modes = <0 1>; |
| }; |
| |
| mt6397_vpca7_reg: buck_vpca7 { |
| regulator-compatible = "buck_vpca7"; |
| regulator-name = "vpca7"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-ramp-delay = <12500>; |
| regulator-enable-ramp-delay = <115>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vsramca15_reg: buck_vsramca15 { |
| regulator-compatible = "buck_vsramca15"; |
| regulator-name = "vsramca15"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-ramp-delay = <12500>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vsramca7_reg: buck_vsramca7 { |
| regulator-compatible = "buck_vsramca7"; |
| regulator-name = "vsramca7"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-ramp-delay = <12500>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vcore_reg: buck_vcore { |
| regulator-compatible = "buck_vcore"; |
| regulator-name = "vcore"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-ramp-delay = <12500>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vgpu_reg: buck_vgpu { |
| regulator-compatible = "buck_vgpu"; |
| regulator-name = "vgpu"; |
| regulator-min-microvolt = < 700000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-ramp-delay = <12500>; |
| regulator-enable-ramp-delay = <115>; |
| }; |
| |
| mt6397_vdrm_reg: buck_vdrm { |
| regulator-compatible = "buck_vdrm"; |
| regulator-name = "vdrm"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1400000>; |
| regulator-ramp-delay = <12500>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vio18_reg: buck_vio18 { |
| regulator-compatible = "buck_vio18"; |
| regulator-name = "vio18"; |
| regulator-min-microvolt = <1620000>; |
| regulator-max-microvolt = <1980000>; |
| regulator-ramp-delay = <12500>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vtcxo_reg: ldo_vtcxo { |
| regulator-compatible = "ldo_vtcxo"; |
| regulator-name = "vtcxo"; |
| regulator-always-on; |
| }; |
| |
| mt6397_va28_reg: ldo_va28 { |
| regulator-compatible = "ldo_va28"; |
| regulator-name = "va28"; |
| }; |
| |
| mt6397_vcama_reg: ldo_vcama { |
| regulator-compatible = "ldo_vcama"; |
| regulator-name = "vcama"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vio28_reg: ldo_vio28 { |
| regulator-compatible = "ldo_vio28"; |
| regulator-name = "vio28"; |
| regulator-always-on; |
| }; |
| |
| mt6397_vusb_reg: ldo_vusb { |
| regulator-compatible = "ldo_vusb"; |
| regulator-name = "vusb"; |
| }; |
| |
| mt6397_vmc_reg: ldo_vmc { |
| regulator-compatible = "ldo_vmc"; |
| regulator-name = "vmc"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vmch_reg: ldo_vmch { |
| regulator-compatible = "ldo_vmch"; |
| regulator-name = "vmch"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vemc_3v3_reg: ldo_vemc3v3 { |
| regulator-compatible = "ldo_vemc3v3"; |
| regulator-name = "vemc_3v3"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vgp1_reg: ldo_vgp1 { |
| regulator-compatible = "ldo_vgp1"; |
| regulator-name = "vcamd"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-enable-ramp-delay = <240>; |
| }; |
| |
| mt6397_vgp2_reg: ldo_vgp2 { |
| regulator-compatible = "ldo_vgp2"; |
| regulator-name = "vcamio"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vgp3_reg: ldo_vgp3 { |
| regulator-compatible = "ldo_vgp3"; |
| regulator-name = "vcamaf"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vgp4_reg: ldo_vgp4 { |
| regulator-compatible = "ldo_vgp4"; |
| regulator-name = "vgp4"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vgp5_reg: ldo_vgp5 { |
| regulator-compatible = "ldo_vgp5"; |
| regulator-name = "vgp5"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| |
| mt6397_vgp6_reg: ldo_vgp6 { |
| regulator-compatible = "ldo_vgp6"; |
| regulator-name = "vgp6"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| regulator-always-on; |
| }; |
| |
| mt6397_vibr_reg: ldo_vibr { |
| regulator-compatible = "ldo_vibr"; |
| regulator-name = "vibr"; |
| regulator-min-microvolt = <1300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-enable-ramp-delay = <218>; |
| }; |
| }; |
| |
| rtc: mt6397rtc { |
| compatible = "mediatek,mt6397-rtc"; |
| }; |
| |
| syscfg_pctl_pmic: syscfg_pctl_pmic@c000 { |
| compatible = "mediatek,mt6397-pctl-pmic-syscfg", |
| "syscon"; |
| reg = <0 0x0000c000 0 0x0108>; |
| }; |
| }; |
| }; |
| |
| &spi { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi_pins_a>; |
| mediatek,pad-select = <1>; |
| status = "okay"; |
| /* clients */ |
| cros_ec: ec@0 { |
| compatible = "google,cros-ec-spi"; |
| reg = <0x0>; |
| spi-max-frequency = <12000000>; |
| interrupt-parent = <&pio>; |
| interrupts = <0 IRQ_TYPE_LEVEL_LOW>; |
| google,cros-ec-spi-msg-delay = <500>; |
| |
| i2c_tunnel: i2c-tunnel0 { |
| compatible = "google,cros-ec-i2c-tunnel"; |
| google,remote-bus = <0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| battery: sbs-battery@b { |
| compatible = "sbs,sbs-battery"; |
| reg = <0xb>; |
| sbs,i2c-retry-count = <2>; |
| sbs,poll-retry-count = <1>; |
| }; |
| }; |
| }; |
| }; |
| |
| &ssusb { |
| dr_mode = "host"; |
| wakeup-source; |
| vusb33-supply = <&mt6397_vusb_reg>; |
| status = "okay"; |
| }; |
| |
| &thermal { |
| bank0-supply = <&mt6397_vpca15_reg>; |
| bank1-supply = <&da9211_vcpu_reg>; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| }; |
| |
| &usb_host { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb_pins>; |
| vusb33-supply = <&mt6397_vusb_reg>; |
| status = "okay"; |
| }; |
| |
| #include <arm/cros-ec-keyboard.dtsi> |