blob: fcddec14738d83d63d7fd0d629af6b0d0052bcf5 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2019 BayLibre, SAS.
* Author: Fabien Parent <fparent@baylibre.com>
*/
#include <dt-bindings/gpio/gpio.h>
/ {
aliases {
serial0 = &uart0;
ethernet0 = &ethernet;
};
chosen {
stdout-path = "serial0:921600n8";
};
firmware {
optee: optee@4fd00000 {
compatible = "linaro,optee-tz";
method = "smc";
};
};
gpio-keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&gpio_keys_default>;
volume-up {
gpios = <&pio 42 GPIO_ACTIVE_LOW>;
label = "volume_up";
linux,code = <115>;
wakeup-source;
debounce-interval = <15>;
};
volume-down {
gpios = <&pio 43 GPIO_ACTIVE_LOW>;
label = "volume_down";
linux,code = <114>;
wakeup-source;
debounce-interval = <15>;
};
};
};
&i2c0 {
clock-div = <2>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
tca6416: gpio@20 {
compatible = "ti,tca6416";
reg = <0x20>;
reset-gpios = <&pio 65 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&tca6416_pins>;
gpio-controller;
#gpio-cells = <2>;
eint20-mux-sel0-hog {
gpio-hog;
gpios = <0 0>;
input;
line-name = "eint20_mux_sel0";
};
expcon-mux-sel1-hog {
gpio-hog;
gpios = <1 0>;
input;
line-name = "expcon_mux_sel1";
};
mrg-di-mux-sel2-hog {
gpio-hog;
gpios = <2 0>;
input;
line-name = "mrg_di_mux_sel2";
};
sd-sdio-mux-sel3-hog {
gpio-hog;
gpios = <3 0>;
input;
line-name = "sd_sdio_mux_sel3";
};
sd-sdio-mux-ctrl7-hog {
gpio-hog;
gpios = <7 0>;
output-low;
line-name = "sd_sdio_mux_ctrl7";
};
hw-id0-hog {
gpio-hog;
gpios = <8 0>;
input;
line-name = "hw_id0";
};
hw-id1-hog {
gpio-hog;
gpios = <9 0>;
input;
line-name = "hw_id1";
};
hw-id2-hog {
gpio-hog;
gpios = <10 0>;
input;
line-name = "hw_id2";
};
fg-int-n-hog {
gpio-hog;
gpios = <11 0>;
input;
line-name = "fg_int_n";
};
usba-pwr-en-hog {
gpio-hog;
gpios = <12 0>;
output-high;
line-name = "usba_pwr_en";
};
wifi-3v3-pg-hog {
gpio-hog;
gpios = <13 0>;
input;
line-name = "wifi_3v3_pg";
};
cam-rst-hog {
gpio-hog;
gpios = <14 0>;
output-low;
line-name = "cam_rst";
};
cam-pwdn-hog {
gpio-hog;
gpios = <15 0>;
output-low;
line-name = "cam_pwdn";
};
};
};
&i2c2 {
clock-div = <2>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay";
};
&uart0 {
status = "okay";
};
&ethernet {
pinctrl-names = "default";
pinctrl-0 = <&ethernet_pins_default>;
phy-handle = <&eth_phy>;
phy-mode = "rmii";
mac-address = [00 00 00 00 00 00];
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
eth_phy: ethernet-phy@0 {
reg = <0>;
};
};
};
&usb0 {
status = "okay";
dr_mode = "peripheral";
usb-role-switch;
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
};
};
&usb_phy {
status = "okay";
};
&pio {
gpio_keys_default: gpiodefault {
pins_cmd_dat {
pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
<MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
bias-pull-up;
input-enable;
};
};
i2c0_pins_a: i2c0@0 {
pins1 {
pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
<MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
bias-disable;
};
};
i2c2_pins_a: i2c2@0 {
pins1 {
pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
<MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
bias-disable;
};
};
tca6416_pins: pinmux_tca6416_pins {
gpio_mux_rst_n_pin {
pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
output-high;
};
gpio_mux_int_n_pin {
pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
input-enable;
bias-pull-up;
};
};
ethernet_pins_default: ethernet {
pins_ethernet {
pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>,
<MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>,
<MT8516_PIN_5_EINT5__FUNC_EXT_RXER>,
<MT8516_PIN_6_EINT6__FUNC_EXT_RXC>,
<MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>,
<MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>,
<MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>,
<MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>,
<MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>,
<MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>;
};
};
};