| // SPDX-License-Identifier: (GPL-2.0 OR MIT) |
| /* |
| * Copyright (c) 2018 MediaTek Inc. |
| * Author: Ben Ho <ben.ho@mediatek.com> |
| * Erin Lo <erin.lo@mediatek.com> |
| */ |
| |
| /dts-v1/; |
| #include "mt8183.dtsi" |
| #include "mt6358.dtsi" |
| |
| #include <dt-bindings/gpio/gpio.h> |
| |
| / { |
| model = "MediaTek MT8183 evaluation board"; |
| compatible = "mediatek,mt8183-evb", "mediatek,mt8183"; |
| |
| aliases { |
| serial0 = &uart0; |
| }; |
| |
| memory@40000000 { |
| device_type = "memory"; |
| reg = <0 0x40000000 0 0x80000000>; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:921600n8"; |
| }; |
| |
| firmware { |
| optee: optee@4fd00000 { |
| compatible = "linaro,optee-tz"; |
| method = "smc"; |
| }; |
| }; |
| |
| backlight_lcd0: backlight_lcd0 { |
| compatible = "pwm-backlight"; |
| pwms = <&pwm0 0 500000>; |
| power-supply = <&bl_pp5000>; |
| brightness-levels = <0 1023>; |
| num-interpolated-steps = <1023>; |
| default-brightness-level = <576>; |
| status = "okay"; |
| }; |
| |
| bl_pp5000: regulator@1 { |
| compatible = "regulator-fixed"; |
| regulator-name = "bl_pp5000"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| usb_p0_vbus: regulator@2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "vbus"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| gpio = <&pio 42 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| sound { |
| compatible = "mediatek,mt8183-mt6358-sound"; |
| mediatek,platform = <&afe>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&aud_pins>; |
| status = "okay"; |
| }; |
| |
| vddio_touch_reg: vddio_touch_reg { |
| compatible = "regulator-fixed"; |
| regulator-name = "vddio_touch"; |
| gpio = <&pio 153 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| ntc@0 { |
| compatible = "murata,ncp03wf104"; |
| pullup-uv = <1800000>; |
| pullup-ohm = <390000>; |
| pulldown-ohm = <0>; |
| io-channels = <&auxadc 0>; |
| }; |
| }; |
| |
| &auxadc { |
| status = "okay"; |
| }; |
| |
| &pio { |
| mmc0_pins_default: mmc0default { |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>, |
| <PINMUX_GPIO128__FUNC_MSDC0_DAT1>, |
| <PINMUX_GPIO125__FUNC_MSDC0_DAT2>, |
| <PINMUX_GPIO132__FUNC_MSDC0_DAT3>, |
| <PINMUX_GPIO126__FUNC_MSDC0_DAT4>, |
| <PINMUX_GPIO129__FUNC_MSDC0_DAT5>, |
| <PINMUX_GPIO127__FUNC_MSDC0_DAT6>, |
| <PINMUX_GPIO130__FUNC_MSDC0_DAT7>, |
| <PINMUX_GPIO122__FUNC_MSDC0_CMD>; |
| input-enable; |
| bias-pull-up; |
| }; |
| |
| pins_clk { |
| pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>; |
| bias-pull-down; |
| }; |
| |
| pins_rst { |
| pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc0_pins_uhs: mmc0@0{ |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>, |
| <PINMUX_GPIO128__FUNC_MSDC0_DAT1>, |
| <PINMUX_GPIO125__FUNC_MSDC0_DAT2>, |
| <PINMUX_GPIO132__FUNC_MSDC0_DAT3>, |
| <PINMUX_GPIO126__FUNC_MSDC0_DAT4>, |
| <PINMUX_GPIO129__FUNC_MSDC0_DAT5>, |
| <PINMUX_GPIO127__FUNC_MSDC0_DAT6>, |
| <PINMUX_GPIO130__FUNC_MSDC0_DAT7>, |
| <PINMUX_GPIO122__FUNC_MSDC0_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_10mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>; |
| drive-strength = <MTK_DRIVE_10mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_ds { |
| pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>; |
| drive-strength = <MTK_DRIVE_10mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_rst { |
| pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>; |
| drive-strength = <MTK_DRIVE_10mA>; |
| bias-pull-up; |
| }; |
| }; |
| |
| spi_pins_0: spi0{ |
| pins_spi{ |
| pinmux = <PINMUX_GPIO85__FUNC_SPI0_MI>, |
| <PINMUX_GPIO86__FUNC_SPI0_CSB>, |
| <PINMUX_GPIO87__FUNC_SPI0_MO>, |
| <PINMUX_GPIO88__FUNC_SPI0_CLK>; |
| bias-disable; |
| }; |
| }; |
| |
| spi_pins_1: spi1{ |
| pins_spi{ |
| pinmux = <PINMUX_GPIO161__FUNC_SPI1_A_MI>, |
| <PINMUX_GPIO162__FUNC_SPI1_A_CSB>, |
| <PINMUX_GPIO163__FUNC_SPI1_A_MO>, |
| <PINMUX_GPIO164__FUNC_SPI1_A_CLK>; |
| bias-disable; |
| }; |
| }; |
| |
| spi_pins_2: spi2{ |
| pins_spi{ |
| pinmux = <PINMUX_GPIO0__FUNC_SPI2_CSB>, |
| <PINMUX_GPIO1__FUNC_SPI2_MO>, |
| <PINMUX_GPIO2__FUNC_SPI2_CLK>, |
| <PINMUX_GPIO94__FUNC_SPI2_MI>; |
| bias-disable; |
| }; |
| }; |
| |
| panel_pins_default: panel_pins_default { |
| panel_reset { |
| pinmux = <PINMUX_GPIO45__FUNC_GPIO45>; |
| output-low; |
| bias-pull-up; |
| }; |
| }; |
| |
| pwm0_pin_default: pwm0_pin_default { |
| disp_pwm { |
| pinmux = <PINMUX_GPIO43__FUNC_DISP_PWM>; |
| }; |
| }; |
| |
| pwm1_pin_default: pwm1_pin_default { |
| pwm { |
| pinmux = <PINMUX_GPIO90__FUNC_PWM_A>; |
| }; |
| }; |
| |
| aud_pins: audiopins { |
| pins_bus { |
| pinmux = <PINMUX_GPIO136__FUNC_AUD_CLK_MOSI>, |
| <PINMUX_GPIO137__FUNC_AUD_SYNC_MOSI>, |
| <PINMUX_GPIO138__FUNC_AUD_DAT_MOSI0>, |
| <PINMUX_GPIO139__FUNC_AUD_DAT_MOSI1>, |
| <PINMUX_GPIO140__FUNC_AUD_CLK_MISO>, |
| <PINMUX_GPIO141__FUNC_AUD_SYNC_MISO>, |
| <PINMUX_GPIO142__FUNC_AUD_DAT_MISO0>, |
| <PINMUX_GPIO143__FUNC_AUD_DAT_MISO1>; |
| }; |
| }; |
| |
| mmc1_pins_default: mmc1default { |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>, |
| <PINMUX_GPIO32__FUNC_MSDC1_DAT0>, |
| <PINMUX_GPIO34__FUNC_MSDC1_DAT1>, |
| <PINMUX_GPIO33__FUNC_MSDC1_DAT2>, |
| <PINMUX_GPIO30__FUNC_MSDC1_DAT3>; |
| input-enable; |
| bias-pull-up; |
| }; |
| |
| pins_clk { |
| pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>; |
| input-enable; |
| bias-pull-down; |
| }; |
| |
| pins_pmu { |
| pinmux = <PINMUX_GPIO178__FUNC_GPIO178>, |
| <PINMUX_GPIO166__FUNC_GPIO166>; |
| output-high; |
| }; |
| }; |
| |
| mmc1_pins_uhs: mmc1@0{ |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>, |
| <PINMUX_GPIO32__FUNC_MSDC1_DAT0>, |
| <PINMUX_GPIO34__FUNC_MSDC1_DAT1>, |
| <PINMUX_GPIO33__FUNC_MSDC1_DAT2>, |
| <PINMUX_GPIO30__FUNC_MSDC1_DAT3>; |
| drive-strength = <MTK_DRIVE_6mA>; |
| input-enable; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| input-enable; |
| }; |
| }; |
| |
| i2c0_pins: i2c0 { |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO82__FUNC_SDA0>, |
| <PINMUX_GPIO83__FUNC_SCL0>; |
| bias-pull-up; |
| }; |
| }; |
| |
| i2c6_pins: i2c6 { |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO113__FUNC_SCL6>, |
| <PINMUX_GPIO114__FUNC_SDA6>; |
| bias-pull-up; |
| }; |
| }; |
| |
| ctp_pins_default: ctp_pins_default { |
| pins_eint_ctp { |
| pinmux = <PINMUX_GPIO176__FUNC_GPIO176>; |
| input-enable; |
| bias-disable; |
| }; |
| |
| pins_rst_ctp { |
| pinmux = <PINMUX_GPIO177__FUNC_GPIO177>; |
| output-low; |
| }; |
| }; |
| |
| ite_pins_default: ite_pins_default { |
| pins_rst_ite { |
| pinmux = <PINMUX_GPIO160__FUNC_GPIO160>; |
| output-high; |
| }; |
| }; |
| |
| dpi_pin_func: dpi_pin_func { |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>, |
| <PINMUX_GPIO46__FUNC_I2S5_LRCK>, |
| <PINMUX_GPIO47__FUNC_I2S5_DO>, |
| <PINMUX_GPIO13__FUNC_DBPI_D0>, |
| <PINMUX_GPIO14__FUNC_DBPI_D1>, |
| <PINMUX_GPIO15__FUNC_DBPI_D2>, |
| <PINMUX_GPIO16__FUNC_DBPI_D3>, |
| <PINMUX_GPIO17__FUNC_DBPI_D4>, |
| <PINMUX_GPIO18__FUNC_DBPI_D5>, |
| <PINMUX_GPIO19__FUNC_DBPI_D6>, |
| <PINMUX_GPIO20__FUNC_DBPI_D7>, |
| <PINMUX_GPIO21__FUNC_DBPI_D8>, |
| <PINMUX_GPIO22__FUNC_DBPI_D9>, |
| <PINMUX_GPIO23__FUNC_DBPI_D10>, |
| <PINMUX_GPIO24__FUNC_DBPI_D11>, |
| <PINMUX_GPIO25__FUNC_DBPI_HSYNC>, |
| <PINMUX_GPIO26__FUNC_DBPI_VSYNC>, |
| <PINMUX_GPIO27__FUNC_DBPI_DE>, |
| <PINMUX_GPIO28__FUNC_DBPI_CK>; |
| }; |
| }; |
| |
| dpi_pin_gpio: dpi_pin_gpio { |
| pins_cmd_dat { |
| pinmux = <PINMUX_GPIO12__FUNC_GPIO12>, |
| <PINMUX_GPIO46__FUNC_GPIO46>, |
| <PINMUX_GPIO47__FUNC_GPIO47>, |
| <PINMUX_GPIO13__FUNC_GPIO13>, |
| <PINMUX_GPIO14__FUNC_GPIO14>, |
| <PINMUX_GPIO15__FUNC_GPIO15>, |
| <PINMUX_GPIO16__FUNC_GPIO16>, |
| <PINMUX_GPIO17__FUNC_GPIO17>, |
| <PINMUX_GPIO18__FUNC_GPIO18>, |
| <PINMUX_GPIO19__FUNC_GPIO19>, |
| <PINMUX_GPIO20__FUNC_GPIO20>, |
| <PINMUX_GPIO21__FUNC_GPIO21>, |
| <PINMUX_GPIO22__FUNC_GPIO22>, |
| <PINMUX_GPIO23__FUNC_GPIO23>, |
| <PINMUX_GPIO24__FUNC_GPIO24>, |
| <PINMUX_GPIO25__FUNC_GPIO25>, |
| <PINMUX_GPIO26__FUNC_GPIO26>, |
| <PINMUX_GPIO27__FUNC_GPIO27>, |
| <PINMUX_GPIO28__FUNC_GPIO28>; |
| }; |
| }; |
| |
| usb_pins: usb_pins { |
| pins_usb { |
| pinmux = <PINMUX_GPIO42__FUNC_USB_DRVVBUS>; |
| }; |
| pins_iddig { |
| pinmux = <PINMUX_GPIO41__FUNC_IDDIG>; |
| mediatek,pull-up-adv = <3>; |
| }; |
| }; |
| }; |
| |
| &spi0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi_pins_0>; |
| mediatek,pad-select = <0>; |
| status = "okay"; |
| }; |
| |
| &spi1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi_pins_1>; |
| mediatek,pad-select = <0>; |
| status = "okay"; |
| }; |
| |
| &spi2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi_pins_2>; |
| mediatek,pad-select = <0>; |
| status = "okay"; |
| }; |
| |
| &cci { |
| proc-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &cpu0 { |
| proc-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &cpu1 { |
| proc-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &cpu2 { |
| proc-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &cpu3 { |
| proc-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &cpu4 { |
| proc-supply = <&mt6358_vproc11_reg>; |
| }; |
| |
| &cpu5 { |
| proc-supply = <&mt6358_vproc11_reg>; |
| }; |
| |
| &cpu6 { |
| proc-supply = <&mt6358_vproc11_reg>; |
| }; |
| |
| &cpu7 { |
| proc-supply = <&mt6358_vproc11_reg>; |
| }; |
| |
| &svs_cpu_little { |
| vcpu-little-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &svs_cpu_big { |
| vcpu-big-supply = <&mt6358_vproc11_reg>; |
| }; |
| |
| &svs_cci { |
| vcci-supply = <&mt6358_vproc12_reg>; |
| }; |
| |
| &svs_gpu { |
| vgpu-spply = <&mt6358_vgpu_reg>; |
| }; |
| |
| &uart0 { |
| 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; |
| no-sdio; |
| no-sd; |
| hs400-ds-delay = <0x12814>; |
| vmmc-supply = <&mt6358_vemc_reg>; |
| vqmmc-supply = <&mt6358_vio18_reg>; |
| assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>; |
| assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_CK>; |
| non-removable; |
| }; |
| |
| &mipi_tx0 { |
| status = "okay"; |
| }; |
| |
| &pwm0 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pwm0_pin_default>; |
| }; |
| |
| &pwm1 { |
| status = "okay"; |
| pinctrl-0 = <&pwm1_pin_default>; |
| pinctrl-names = "default"; |
| }; |
| |
| &dpi0 { |
| dpi_dual_edge; |
| dpi_pin_mode_swap; |
| pinctrl-names = "gpiomode", "dpimode"; |
| pinctrl-0 = <&dpi_pin_gpio>; |
| pinctrl-1 = <&dpi_pin_func>; |
| status = "okay"; |
| port { |
| dpi_out: endpoint { |
| remote-endpoint = <&it66121_in>; |
| }; |
| }; |
| }; |
| |
| &dsi0 { |
| status = "okay"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| panel: panel@0 { |
| compatible = "sharp,nt35532"; |
| reg = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&panel_pins_default>; |
| backlight = <&backlight_lcd0>; |
| reset-gpios = <&pio 45 0>; |
| pwr-gpios = <&pio 158 0>; |
| pwr2-gpios = <&pio 159 0>; |
| status = "okay"; |
| port { |
| panel_in: endpoint { |
| remote-endpoint = <&dsi_out>; |
| }; |
| }; |
| }; |
| |
| ports { |
| port { |
| dsi_out: endpoint { |
| remote-endpoint = <&panel_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &ssusb { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb_pins>; |
| mediatek,force-vbus; |
| usb-role-switch; |
| maximum-speed = "high-speed"; |
| dr_mode = "otg"; |
| vusb33-supply = <&mt6358_vusb_reg>; |
| vbus-supply = <&usb_p0_vbus>; |
| status = "okay"; |
| connector { |
| compatible = "gpio-usb-b-connector", "usb-b-connector"; |
| type = "mini"; |
| id-gpios = <&pio 41 GPIO_ACTIVE_HIGH>; |
| vbus-supply = <&usb_p0_vbus>; |
| }; |
| }; |
| |
| &usb_host { |
| vusb33-supply = <&mt6358_vusb_reg>; |
| vbus-supply = <&usb_p0_vbus>; |
| status = "okay"; |
| }; |
| |
| &mt6358codec { |
| Avdd-supply = <&mt6358_vaud28_reg>; |
| }; |
| |
| &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; |
| cap-sdio-irq; |
| no-mmc; |
| no-sd; |
| vmmc-supply = <&mt6358_vmch_reg>; |
| vqmmc-supply = <&mt6358_vmc_reg>; |
| keep-power-in-suspend; |
| enable-sdio-wakeup; |
| non-removable; |
| }; |
| |
| &i2c0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c0_pins>; |
| status = "okay"; |
| clock-frequency = <400000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| gt5688@5d { |
| compatible = "goodix,gt5688"; |
| reg = <0x5d>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ctp_pins_default>; |
| interrupt-parent = <&pio>; |
| interrupts = <189 IRQ_TYPE_EDGE_FALLING>; |
| irq-gpios = <&pio 176 GPIO_ACTIVE_HIGH>; |
| reset-gpios = <&pio 177 GPIO_ACTIVE_HIGH>; |
| AVDD28-supply = <&mt6358_vldo28_reg>; |
| VDDIO-supply = <&vddio_touch_reg>; |
| }; |
| }; |
| |
| &i2c6 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c6_pins>; |
| status = "okay"; |
| clock-frequency = <400000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| it66121hdmitx: it66121hdmitx@4c { |
| compatible = "ite,it66121"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ite_pins_default>; |
| vcn33-supply = <&mt6358_vcn33_wifi_reg>; |
| vcn18-supply = <&mt6358_vcn18_reg>; |
| vrf12-supply = <&mt6358_vrf12_reg>; |
| reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>; |
| interrupt-parent = <&pio>; |
| interrupts = <4 IRQ_TYPE_LEVEL_LOW>; |
| reg = <0x4c>; |
| pclk-dual-edge; |
| |
| port { |
| it66121_in: endpoint { |
| remote-endpoint = <&dpi_out>; |
| }; |
| }; |
| }; |
| }; |