// SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2017-2018 MediaTek Inc. * Author: Sean Wang <sean.wang@mediatek.com> * */ /dts-v1/; #include <dt-bindings/input/input.h> #include "mt7623n.dtsi" #include "mt6323.dtsi" / { model = "MediaTek MT7623N with eMMC reference board"; compatible = "mediatek,mt7623n-rfb-emmc", "mediatek,mt7623"; aliases { serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; }; chosen { stdout-path = "serial2:115200n8"; }; connector { compatible = "hdmi-connector"; label = "hdmi"; type = "d"; ddc-i2c-bus = <&hdmiddc0>; port { hdmi_connector_in: endpoint { remote-endpoint = <&hdmi0_out>; }; }; }; cpus { cpu@0 { proc-supply = <&mt6323_vproc_reg>; }; cpu@1 { proc-supply = <&mt6323_vproc_reg>; }; cpu@2 { proc-supply = <&mt6323_vproc_reg>; }; cpu@3 { proc-supply = <&mt6323_vproc_reg>; }; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&key_pins_a>; button-factory { label = "factory"; linux,code = <BTN_0>; gpios = <&pio 256 GPIO_ACTIVE_LOW>; }; button-wps { label = "wps"; linux,code = <KEY_WPS_BUTTON>; gpios = <&pio 257 GPIO_ACTIVE_HIGH>; }; }; memory@80000000 { device_type = "memory"; reg = <0 0x80000000 0 0x40000000>; }; reg_1p8v: regulator-1p8v { compatible = "regulator-fixed"; regulator-name = "fixed-1.8V"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; reg_5v: regulator-5v { compatible = "regulator-fixed"; regulator-name = "fixed-5V"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-boot-on; regulator-always-on; }; sound { compatible = "mediatek,mt2701-wm8960-machine"; mediatek,platform = <&afe>; audio-routing = "Headphone", "HP_L", "Headphone", "HP_R", "LINPUT1", "AMIC", "RINPUT1", "AMIC"; mediatek,audio-codec = <&wm8960>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_pins_a>; }; }; &bls { status = "okay"; }; &btif { status = "okay"; }; &cec { status = "okay"; }; &cir { pinctrl-names = "default"; pinctrl-0 = <&cir_pins_a>; status = "okay"; }; &crypto { status = "okay"; }; &dpi0 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dpi0_out: endpoint { remote-endpoint = <&hdmi0_in>; }; }; }; }; &gmac0 { status = "okay"; phy-mode = "trgmii"; fixed-link { speed = <1000>; full-duplex; pause; }; }; &gmac1 { status = "okay"; phy-mode = "rgmii"; phy-handle = <&phy5>; }; ð { status = "okay"; mdio-bus { #address-cells = <1>; #size-cells = <0>; phy5: ethernet-phy@5 { reg = <5>; phy-mode = "rgmii-rxid"; }; switch@1f { compatible = "mediatek,mt7530"; reg = <0x1f>; reset-gpios = <&pio 33 0>; core-supply = <&mt6323_vpa_reg>; io-supply = <&mt6323_vemc3v3_reg>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; label = "lan0"; }; port@1 { reg = <1>; label = "lan1"; }; port@2 { reg = <2>; label = "lan2"; }; port@3 { reg = <3>; label = "lan3"; }; port@4 { reg = <4>; label = "wan"; }; port@6 { reg = <6>; label = "cpu"; ethernet = <&gmac0>; phy-mode = "trgmii"; fixed-link { speed = <1000>; full-duplex; pause; }; }; }; }; }; }; &hdmi0 { pinctrl-names = "default"; pinctrl-0 = <&hdmi_pins_a>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; hdmi0_in: endpoint { remote-endpoint = <&dpi0_out>; }; }; port@1 { reg = <1>; hdmi0_out: endpoint { remote-endpoint = <&hdmi_connector_in>; }; }; }; }; &hdmiddc0 { pinctrl-names = "default"; pinctrl-0 = <&hdmi_ddc_pins_a>; status = "okay"; }; &hdmi_phy { mediatek,ibias = <0xa>; mediatek,ibias_up = <0x1c>; status = "okay"; }; &i2c0 { pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins_a>; status = "okay"; }; &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins_b>; status = "okay"; wm8960: wm8960@1a { compatible = "wlf,wm8960"; reg = <0x1a>; }; }; &i2c2 { pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins_a>; status = "okay"; }; &mmc0 { pinctrl-names = "default", "state_uhs"; pinctrl-0 = <&mmc0_pins_default>; pinctrl-1 = <&mmc0_pins_uhs>; status = "okay"; bus-width = <8>; max-frequency = <50000000>; cap-mmc-highspeed; vmmc-supply = <®_3p3v>; vqmmc-supply = <®_1p8v>; non-removable; }; &mmc1 { pinctrl-names = "default", "state_uhs"; pinctrl-0 = <&mmc1_pins_default>; pinctrl-1 = <&mmc1_pins_uhs>; status = "okay"; bus-width = <4>; max-frequency = <50000000>; cap-sd-highspeed; cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>; vmmc-supply = <®_3p3v>; vqmmc-supply = <®_3p3v>; }; &pcie { pinctrl-names = "default"; pinctrl-0 = <&pcie_default>; status = "okay"; pcie@0,0 { status = "okay"; }; pcie@1,0 { status = "okay"; }; }; &pcie0_phy { status = "okay"; }; &pcie1_phy { status = "okay"; }; &pwm { pinctrl-names = "default"; pinctrl-0 = <&pwm_pins_a>; status = "okay"; }; &spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_pins_a>; status = "okay"; }; &spi1 { pinctrl-names = "default"; pinctrl-0 = <&spi1_pins_a>; status = "okay"; }; &spi2 { pinctrl-names = "default"; pinctrl-0 = <&spi2_pins_a>; status = "okay"; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>; status = "okay"; }; &uart1 { pinctrl-names = "default"; pinctrl-0 = <&uart1_pins_a>; status = "okay"; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&uart2_pins_a>; status = "okay"; }; &usb1 { vusb33-supply = <®_3p3v>; vbus-supply = <®_5v>; status = "okay"; }; &u3phy1 { status = "okay"; };