blob: 0ac8355e3da92cc6c346efff3ec6b2c14950e600 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2019 BayLibre, SAS.
* Author: Fabien Parent <fparent@baylibre.com>
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "mt8167.dtsi"
#include "mt6392.dtsi"
/ {
model = "Google Coral MT8167";
aliases {
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:921600n8";
};
memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x40000000>;
};
firmware {
optee: optee@4fd00000 {
compatible = "linaro,optee-tz";
method = "smc";
};
};
usb0_vbus: regulator@0 {
compatible = "regulator-fixed";
regulator-name = "usb0_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&pio 17 GPIO_ACTIVE_LOW>;
regulator-always-on;
};
};
&cpu0 {
proc-supply = <&mt6392_vproc_reg>;
};
&cpu1 {
proc-supply = <&mt6392_vproc_reg>;
};
&cpu2 {
proc-supply = <&mt6392_vproc_reg>;
};
&cpu3 {
proc-supply = <&mt6392_vproc_reg>;
};
&mt6392_pmic {
interrupt-parent = <&pio>;
interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <2>;
};
&uart0 {
status = "okay";
};
&pio {
mmc0_pins_default: mmc0default {
pins_cmd_dat {
pinmux = <MT8167_PIN_120_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
<MT8167_PIN_119_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
<MT8167_PIN_118_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
<MT8167_PIN_117_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
<MT8167_PIN_113_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
<MT8167_PIN_112_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
<MT8167_PIN_111_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
<MT8167_PIN_110_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
<MT8167_PIN_115_MSDC0_CMD__FUNC_MSDC0_CMD>;
input-enable;
bias-pull-up;
};
pins_clk {
pinmux = <MT8167_PIN_116_MSDC0_CLK__FUNC_MSDC0_CLK>;
bias-pull-down;
};
pins_rst {
pinmux = <MT8167_PIN_114_MSDC0_RSTB__FUNC_MSDC0_RSTB>;
bias-pull-up;
};
};
mmc0_pins_uhs: mmc0@0{
pins_cmd_dat {
pinmux = <MT8167_PIN_120_MSDC0_DAT0__FUNC_MSDC0_DAT0>,
<MT8167_PIN_119_MSDC0_DAT1__FUNC_MSDC0_DAT1>,
<MT8167_PIN_118_MSDC0_DAT2__FUNC_MSDC0_DAT2>,
<MT8167_PIN_117_MSDC0_DAT3__FUNC_MSDC0_DAT3>,
<MT8167_PIN_113_MSDC0_DAT4__FUNC_MSDC0_DAT4>,
<MT8167_PIN_112_MSDC0_DAT5__FUNC_MSDC0_DAT5>,
<MT8167_PIN_111_MSDC0_DAT6__FUNC_MSDC0_DAT6>,
<MT8167_PIN_110_MSDC0_DAT7__FUNC_MSDC0_DAT7>,
<MT8167_PIN_115_MSDC0_CMD__FUNC_MSDC0_CMD>;
input-enable;
drive-strength = <MTK_DRIVE_6mA>;
bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
};
pins_clk {
pinmux = <MT8167_PIN_116_MSDC0_CLK__FUNC_MSDC0_CLK>;
drive-strength = <MTK_DRIVE_8mA>;
bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
};
pins_rst {
pinmux = <MT8167_PIN_114_MSDC0_RSTB__FUNC_MSDC0_RSTB>;
bias-pull-up;
};
};
hdmi_pins_default: hdmi_pins_default {
};
hdmi_pins_hpd: hdmi_pins_hpd {
pins_cmd_dat {
pinmux = <MT8167_PIN_122_HTPLG__FUNC_HTPLG>;
bias-pull-down;
};
};
};
&mmc0 {
pinctrl-names = "default", "state_uhs";
pinctrl-0 = <&mmc0_pins_default>;
pinctrl-1 = <&mmc0_pins_uhs>;
status = "okay";
bus-width = <8>;
max-frequency = <200000000>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
cap-mmc-hw-reset;
vmmc-supply = <&mt6392_vemc3v3_reg>;
vqmmc-supply = <&mt6392_vio18_reg>;
non-removable;
};
&dpi1 {
status = "okay";
ddc-i2c-bus = <&hdmiddc>;
port {
hdmi_connector_in: endpoint@0 {
remote-endpoint = <&hdmi_out>;
};
};
};
&hdmi_phy {
status = "okay";
};
&cec {
status = "okay";
};
&hdmi {
pinctrl-names = "default", "hdmi_hpd";
pinctrl-0 = <&hdmi_pins_default>;
pinctrl-1 = <&hdmi_pins_hpd>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
hdmi_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
&usb0 {
status = "okay";
dr_mode = "otg";
usb-role-switch;
port {
usb0_role_switch: endpoint {
remote-endpoint = <&mt6392_typec_ep>;
};
};
};
&usb0_phy {
status = "okay";
};
&mt6392typec {
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
vbus-supply = <&usb0_vbus>;
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
mt6392_typec_ep: endpoint {
remote-endpoint = <&usb0_role_switch>;
};
};
};
};