blob: f12015994d887fe454c1e45a2c15c9972260a9c5 [file] [log] [blame]
// 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>;
};
&scpsys {
mfg-supply = <&mt6358_vgpu_reg>;
};
&uart0 {
status = "okay";
};
&gpu {
supply-names = "mali","shadercores";
mali-supply = <&mt6358_vgpu_reg>;
shadercores-supply = <&mt6358_vsram_gpu_reg>;
operating-points-v2 = <&gpu_opp_table>;
power_model@0 {
compatible = "arm,mali-simple-power-model";
static-coefficient = <2427750>;
dynamic-coefficient = <4687>;
ts = <20000 2000 (-20) 2>;
thermal-zone = "cpu_thermal";
};
power_model@1 {
compatible = "arm,mali-g72-power-model";
scale = <15000>;
};
};
&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>;
};
};
};
};