| /* |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/regulator/regulator.h> |
| #include "mt8173.dtsi" |
| |
| / { |
| aliases { |
| serial0 = &uart0; |
| serial1 = &uart1; |
| serial2 = &uart2; |
| serial3 = &uart3; |
| }; |
| |
| memory@40000000 { |
| device_type = "memory"; |
| reg = <0 0x40000000 0 0x80000000>; |
| }; |
| |
| backlight_lcd: backlight_lcd { |
| compatible = "pwm-backlight"; |
| pwms = <&pwm0 0 1000000>; |
| brightness-levels = < |
| 0 16 32 48 64 80 96 112 |
| 128 144 160 176 192 208 224 240 |
| 255 |
| >; |
| default-brightness-level = <9>; |
| 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: fixedregulator@2 { |
| 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 { |
| linux,stdout-path = &uart0; |
| }; |
| |
| firmware { |
| chromeos { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&chromeos_write_protect>; |
| write-protect-gpio = <&pio 4 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| smc-watchdog { |
| compatible = "arm,smc-watchdog"; |
| }; |
| |
| gpio_keys: gpio-keys { |
| compatible = "gpio-keys"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&gpio_keys_pins>; |
| |
| lid { |
| label = "Lid"; |
| gpios = <&pio 12 GPIO_ACTIVE_LOW>; |
| linux,code = <0>; /* SW_LID */ |
| linux,input-type = <5>; /* 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 = <1>; /* SW_TABLET_MODE */ |
| linux,input-type = <5>; /* 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>; |
| ddc-i2c-bus = <&i2c4>; |
| backlight = <&backlight_lcd>; |
| |
| port { |
| panel_in: endpoint { |
| remote-endpoint = <&ps8640_out>; |
| }; |
| }; |
| }; |
| |
| panel_fixed_3v3: regulator@1 { |
| 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: regulator@2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "PS8640_1V2"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| enable-active-high; |
| regulator-boot-on; |
| gpio = <&pio 30 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ps8640_fixed_pins>; |
| }; |
| |
| sdio_fixed_3v3: fixedregulator@0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "3V3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&pio 85 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| sound: sound { |
| compatible = "mediatek,mt8173-rt5650-rt5514"; |
| mediatek,audio-codec = <&rt5650 &rt5514>; |
| mediatek,platform = <&afe>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&aud_i2s2>; |
| }; |
| }; |
| |
| &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 = <5000>; /* milliwatts */ |
| }; |
| |
| &dsi0 { |
| status = "okay"; |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@1 { |
| reg = <1>; |
| |
| dsi0_out: endpoint { |
| remote-endpoint = <&ps8640_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &dpi0 { |
| status = "okay"; |
| }; |
| |
| &gpu { |
| mfgsys-power-supply = <&da9211_vgpu_reg>; |
| operating-points = < |
| 253500 1000000 |
| 299000 1000000 |
| 396500 1000000 |
| 455000 1000000 |
| 494000 1130000 |
| 598000 1130000 |
| >; |
| status = "okay"; |
| }; |
| |
| &hdmi0 { |
| status = "okay"; |
| |
| ports { |
| port@1 { |
| reg = <1>; |
| |
| hdmi0_out: endpoint { |
| remote-endpoint = <&anx7814_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &hdmi_phy { |
| status = "okay"; |
| mediatek,ibias = <0x3f>; |
| }; |
| |
| &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>; |
| realtek,jd-mode = <3>; |
| }; |
| |
| rt5514: audio-codec@57 { |
| compatible = "realtek,rt5514"; |
| reg = <0x57>; |
| interrupt-parent = <&pio>; |
| interrupts = <2 IRQ_TYPE_EDGE_BOTH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&rt5514_irq>; |
| }; |
| }; |
| |
| &i2c1 { |
| clock-frequency = <1500000>; |
| status = "okay"; |
| |
| da9211: da9211@68 { |
| compatible = "dlg,da9211"; |
| reg = <0x68>; |
| |
| 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-supported-modes = |
| <REGULATOR_OPERATION_MODE_FAST |
| REGULATOR_OPERATION_MODE_NORMAL>; |
| }; |
| |
| 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>; |
| }; |
| |
| anx7814: anx7814@72 { |
| compatible = "analogix,anx7814"; |
| status = "okay"; |
| reg = <0x72>; |
| interrupt-parent = <&pio>; |
| interrupts = <99 IRQ_TYPE_LEVEL_LOW>; /* INTP */ |
| hpd-gpios = <&pio 36 GPIO_ACTIVE_HIGH>; |
| pd-gpios = <&pio 33 GPIO_ACTIVE_HIGH>; |
| reset-gpios = <&pio 83 GPIO_ACTIVE_LOW>; |
| v10-gpios = <&pio 35 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&anx7814_pins>; |
| ddc-i2c-bus = <&hdmiddc0>; |
| |
| port { |
| anx7814_in: endpoint { |
| remote-endpoint = <&hdmi0_out>; |
| }; |
| }; |
| }; |
| }; |
| |
| &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>; |
| wakeup-source; |
| }; |
| |
| trackpad2: trackpad@2c { |
| compatible = "hid-over-i2c"; |
| interrupt-parent = <&pio>; |
| interrupts = <117 IRQ_TYPE_LEVEL_LOW>; |
| reg = <0x2c>; |
| hid-descr-addr = <0x0020>; |
| wakeup-source; |
| }; |
| |
| ps8640: edp-bridge@18 { |
| compatible = "parade,ps8640"; |
| reg = <0x18>; |
| sleep-gpios = <&pio 127 GPIO_ACTIVE_HIGH>; |
| reset-gpios = <&pio 115 GPIO_ACTIVE_HIGH>; |
| mode-sel-gpios = <&pio 92 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ps8640_pins>; |
| vdd12-supply = <&ps8640_fixed_1v2>; |
| vdd33-supply = <&mt6397_vgp2_reg>; |
| #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>; |
| }; |
| }; |
| }; |
| }; |
| |
| &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=<26>; |
| 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_HIGH>; |
| wp-gpios = <&pio 42 GPIO_ACTIVE_HIGH>; |
| 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; |
| sdr104-clk-delay = <5>; |
| 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>; |
| marvell,caldata_ed_mac = /bits/ 8 < |
| 0x01 0x00 0x07 0x00 0x14 0x00 0x01 0x00 0x00 0x00 0x12 0x00 0x02 0x00 0x01 0x00 |
| 0x01 0x00 0x00 0x00 0x12 0x00 0x02 0x00 0x01 0x00 |
| >; |
| }; |
| }; |
| |
| &nor_flash { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&nor_gpio1_pins>; |
| bus-width = <8>; |
| max-frequency = <50000000>; |
| non-removable; |
| flash@0 { |
| compatible = "jedec,spi-nor"; |
| reg = <0>; |
| }; |
| }; |
| |
| &pio { |
| anx7814_pins: anx7814_pins { |
| pins1 { |
| pinmux = <MT8173_PIN_33_DAICLK__FUNC_GPIO33>, |
| <MT8173_PIN_35_DAIPCMOUT__FUNC_GPIO35>, |
| <MT8173_PIN_36_DAISYNC__FUNC_GPIO36>, |
| <MT8173_PIN_83_AUD_CLK_MOSI__FUNC_GPIO83>, |
| <MT8173_PIN_99_UCTS1__FUNC_GPIO99>; |
| }; |
| }; |
| |
| 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_116_UCTS0__FUNC_I2S2_DI_1>, |
| <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; |
| }; |
| }; |
| |
| chromeos_write_protect: chromeos_write_protect { |
| pins1 { |
| pinmux = <MT8173_PIN_4_EINT4__FUNC_GPIO4>; |
| bias-disable; |
| }; |
| }; |
| |
| 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; |
| }; |
| }; |
| |
| 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; |
| }; |
| |
| pins_wp { |
| pinmux = <MT8173_PIN_42_DSI_TE__FUNC_GPIO42>; |
| input-enable; |
| 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>; |
| }; |
| |
| pins_pdn { |
| pinmux = <MT8173_PIN_85_AUD_DAT_MOSI__FUNC_GPIO85>; |
| output-low; |
| }; |
| }; |
| |
| 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; |
| }; |
| }; |
| |
| rt5514_irq: rt5514_irq { |
| pins1 { |
| pinmux = <MT8173_PIN_2_EINT2__FUNC_GPIO2>; |
| bias-pull-down; |
| }; |
| }; |
| |
| 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@0 { |
| 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>; |
| |
| syscfg_pctl_pmic: syscfg_pctl_pmic@c000 { |
| compatible = "mediatek,mt6397-pctl-pmic-syscfg", |
| "syscon"; |
| reg = <0 0x0000c000 0 0x0108>; |
| }; |
| |
| pio6397: pinctrl@c000 { |
| compatible = "mediatek,mt6397-pinctrl"; |
| pins-are-numbered; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| mt6397clock: mt6397clock { |
| compatible = "mediatek,mt6397-clk"; |
| #clock-cells = <1>; |
| }; |
| |
| mt6397regulator: 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-supported-modes = |
| <REGULATOR_OPERATION_MODE_FAST |
| REGULATOR_OPERATION_MODE_NORMAL>; |
| }; |
| |
| 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>; |
| }; |
| |
| 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>; |
| }; |
| }; |
| }; |
| }; |
| |
| &scpsys { |
| mfg_async-supply = <&da9211_vgpu_reg>; |
| }; |
| |
| &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-tunnel@0 { |
| 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>; |
| }; |
| |
| thermal@4c { |
| compatible = "ti,tmp432"; |
| reg = <0x4c>; |
| }; |
| }; |
| }; |
| }; |
| |
| &thermal { |
| bank0-supply = <&mt6397_vpca15_reg>; |
| bank1-supply = <&da9211_vcpu_reg>; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| }; |
| |
| &usb30 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb_pins>; |
| vusb33-supply = <&mt6397_vusb_reg>; |
| mediatek,wakeup-src = <1>; |
| }; |
| |
| &watchdog { |
| status = "disabled"; |
| }; |
| |
| #include "../../../../arm/boot/dts/cros-ec-keyboard.dtsi" |