// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2015 MediaTek Inc.
* Author: Erin Lo <[email protected]>
*
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "mt2701.dtsi"
/ {
model = "MediaTek MT2701 evaluation board";
compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
memory {
device_type = "memory";
reg = <0 0x80000000 0 0x40000000>;
};
sound:sound {
compatible = "mediatek,mt2701-cs42448-machine";
mediatek,platform = <&afe>;
/* CS42448 Machine name */
audio-routing =
"Line Out Jack", "AOUT1L",
"Line Out Jack", "AOUT1R",
"Line Out Jack", "AOUT2L",
"Line Out Jack", "AOUT2R",
"Line Out Jack", "AOUT3L",
"Line Out Jack", "AOUT3R",
"Line Out Jack", "AOUT4L",
"Line Out Jack", "AOUT4R",
"AIN1L", "AMIC",
"AIN1R", "AMIC",
"AIN2L", "Tuner In",
"AIN2R", "Tuner In",
"AIN3L", "Satellite Tuner In",
"AIN3R", "Satellite Tuner In",
"AIN3L", "AUX In",
"AIN3R", "AUX In";
mediatek,audio-codec = <&cs42448>;
mediatek,audio-codec-bt-mrg = <&bt_sco_codec>;
pinctrl-names = "default";
pinctrl-0 = <&aud_pins_default>;
i2s1-in-sel-gpio1 = <&pio 53 0>;
i2s1-in-sel-gpio2 = <&pio 54 0>;
status = "okay";
};
bt_sco_codec:bt_sco_codec {
compatible = "linux,bt-sco";
};
backlight_lcd: backlight_lcd {
compatible = "pwm-backlight";
pwms = <&bls 0 100000>;
brightness-levels = <
0 16 32 48 64 80 96 112
128 144 160 176 192 208 224 240
255
>;
default-brightness-level = <9>;
};
usb_vbus: regulator@0 {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&pio 45 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&auxadc {
status = "okay";
};
&bls {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pwm_bls_gpio>;
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay";
cs42448: cs42448@48 {
compatible = "cirrus,cs42448";
reg = <0x48>;
clocks = <&topckgen CLK_TOP_AUD_I2S1_MCLK>;
clock-names = "mclk";
};
};
&pio {
i2c0_pins_a: i2c0@0 {
pins1 {
pinmux = <MT2701_PIN_75_SDA0__FUNC_SDA0>,
<MT2701_PIN_76_SCL0__FUNC_SCL0>;
bias-disable;
};
};
i2c1_pins_a: i2c1@0 {
pins1 {
pinmux = <MT2701_PIN_57_SDA1__FUNC_SDA1>,
<MT2701_PIN_58_SCL1__FUNC_SCL1>;
bias-disable;
};
};
i2c2_pins_a: i2c2@0 {
pins1 {
pinmux = <MT2701_PIN_77_SDA2__FUNC_SDA2>,
<MT2701_PIN_78_SCL2__FUNC_SCL2>;
bias-disable;
};
};
pwm_bls_gpio: pwm_bls_gpio {
pins_cmd_dat {
pinmux = <MT2701_PIN_208_AUD_EXT_CK1__FUNC_DISP_PWM>;
};
};
spi_pins_a: spi0@0 {
pins_spi {
pinmux = <MT2701_PIN_53_SPI0_CSN__FUNC_SPI0_CS>,
<MT2701_PIN_54_SPI0_CK__FUNC_SPI0_CK>,
<MT2701_PIN_55_SPI0_MI__FUNC_SPI0_MI>,
<MT2701_PIN_56_SPI0_MO__FUNC_SPI0_MO>;
bias-disable;
};
};
aud_pins_default: audiodefault {
pins_cmd_dat {
pinmux = <MT2701_PIN_49_I2S0_DATA__FUNC_I2S0_DATA>,
<MT2701_PIN_72_I2S0_DATA_IN__FUNC_I2S0_DATA_IN>,
<MT2701_PIN_73_I2S0_LRCK__FUNC_I2S0_LRCK>,
<MT2701_PIN_74_I2S0_BCK__FUNC_I2S0_BCK>,
<MT2701_PIN_126_I2S0_MCLK__FUNC_I2S0_MCLK>,
<MT2701_PIN_33_I2S1_DATA__FUNC_I2S1_DATA>,
<MT2701_PIN_34_I2S1_DATA_IN__FUNC_I2S1_DATA_IN>,
<MT2701_PIN_35_I2S1_BCK__FUNC_I2S1_BCK>,
<MT2701_PIN_36_I2S1_LRCK__FUNC_I2S1_LRCK>,
<MT2701_PIN_37_I2S1_MCLK__FUNC_I2S1_MCLK>,
<MT2701_PIN_203_PWM0__FUNC_I2S2_DATA>,
<MT2701_PIN_204_PWM1__FUNC_I2S3_DATA>,
<MT2701_PIN_53_SPI0_CSN__FUNC_GPIO53>,
<MT2701_PIN_54_SPI0_CK__FUNC_GPIO54>,
<MT2701_PIN_18_PCM_CLK__FUNC_MRG_CLK>,
<MT2701_PIN_19_PCM_SYNC__FUNC_MRG_SYNC>,
<MT2701_PIN_20_PCM_RX__FUNC_MRG_TX>,
<MT2701_PIN_21_PCM_TX__FUNC_MRG_RX>;
drive-strength = <MTK_DRIVE_12mA>;
bias-pull-down;
};
};
spi_pins_b: spi1@0 {
pins_spi {
pinmux = <MT2701_PIN_7_SPI1_CSN__FUNC_SPI1_CS>,
<MT2701_PIN_8_SPI1_MI__FUNC_SPI1_MI>,
<MT2701_PIN_9_SPI1_MO__FUNC_SPI1_MO>,
<MT2701_PIN_199_SPI1_CLK__FUNC_SPI1_CK>;
bias-disable;
};
};
spi_pins_c: spi2@0 {
pins_spi {
pinmux = <MT2701_PIN_101_SPI2_CSN__FUNC_SPI2_CS>,
<MT2701_PIN_102_SPI2_MI__FUNC_SPI2_MI>,
<MT2701_PIN_103_SPI2_MO__FUNC_SPI2_MO>,
<MT2701_PIN_104_SPI2_CLK__FUNC_SPI2_CK>;
bias-disable;
};
};
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi_pins_a>;
status = "disabled";
};
&spi1 {
pinctrl-names = "default";
pinctrl-0 = <&spi_pins_b>;
status = "disabled";
};
&spi2 {
pinctrl-names = "default";
pinctrl-0 = <&spi_pins_c>;
status = "disabled";
};
&nor_flash {
pinctrl-names = "default";
pinctrl-0 = <&nor_pins_default>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
};
};
&pio {
nor_pins_default: nor {
pins1 {
pinmux = <MT2701_PIN_240_EXT_XCS__FUNC_EXT_XCS>,
<MT2701_PIN_241_EXT_SCK__FUNC_EXT_SCK>,
<MT2701_PIN_239_EXT_SDIO0__FUNC_EXT_SDIO0>,
<MT2701_PIN_238_EXT_SDIO1__FUNC_EXT_SDIO1>,
<MT2701_PIN_237_EXT_SDIO2__FUNC_EXT_SDIO2>,
<MT2701_PIN_236_EXT_SDIO3__FUNC_EXT_SDIO3>;
drive-strength = <4>;
bias-pull-up;
};
};
};
&uart0 {
status = "okay";
};
&usb2 {
status = "okay";
usb-role-switch;
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
type = "micro";
id-gpios = <&pio 44 GPIO_ACTIVE_HIGH>;
vbus-supply = <&usb_vbus>;
};
};