experimental mt7623n-bananapi-bpi-r2.dts (differnt interfaces for different lan ports)

This commit is contained in:
Christian Zimmermann 2020-10-05 00:02:38 +02:00
parent 3c33a7bd4d
commit 6003bf2f9e

View file

@ -0,0 +1,490 @@
/*
* Copyright 2017-2018 Sean Wang <sean.wang@mediatek.com>
*
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "mt7623.dtsi"
#include "mt6323.dtsi"
/ {
model = "Bananapi BPI-R2";
compatible = "bananapi,bpi-r2", "mediatek,mt7623";
aliases {
serial2 = &uart2;
ethernet0 = &gmac0;
ethernet1 = &gmac1;
};
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>;
};
};
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;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_pins_a>;
factory {
label = "factory";
linux,code = <BTN_0>;
gpios = <&pio 256 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&pio 257 GPIO_ACTIVE_HIGH>;
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
consys-reserve-memory {
compatible = "mediatek,consys-reserve-memory";
no-map;
size = <0 0x100000>;
alignment = <0 0x100000>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_a>;
blue {
label = "bpi-r2:pio:blue";
gpios = <&pio 240 GPIO_ACTIVE_LOW>;
default-state = "off";
};
green {
label = "bpi-r2:pio:green";
gpios = <&pio 241 GPIO_ACTIVE_LOW>;
default-state = "off";
};
red {
label = "bpi-r2:pio:red";
gpios = <&pio 239 GPIO_ACTIVE_LOW>;
default-state = "off";
};
};
memory@80000000 {
device_type = "memory";
reg = <0 0x80000000 0 0x80000000>;
};
};
&bls {
status = "okay";
port {
bls_out: endpoint {
remote-endpoint = <&dpi0_in>;
};
};
};
&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>;
};
};
port@1 {
reg = <1>;
dpi0_in: endpoint {
remote-endpoint = <&bls_out>;
};
};
};
};
&eth {
status = "okay";
gmac0: mac@0 {
compatible = "mediatek,eth-mac";
reg = <0>;
phy-mode = "trgmii";
mac-address = [02 02 02 02 02 02];
fixed-link {
speed = <1000>;
full-duplex;
pause;
};
};
gmac1: mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "trgmii";
mac-address = [02 03 03 03 03 03];
fixed-link {
speed = <1000>;
full-duplex;
pause;
};
};
mdio: mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
switch@0 {
compatible = "mediatek,mt7530";
reg = <0>;
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 = "wan";
default_cpu = <&cpu_port1>;
};
port@1 {
reg = <1>;
label = "lan0";
default_cpu = <&cpu_port0>;
};
port@2 {
reg = <2>;
label = "lan1";
default_cpu = <&cpu_port0>;
};
port@3 {
reg = <3>;
label = "lan2";
default_cpu = <&cpu_port0>;
};
port@4 {
reg = <4>;
label = "lan3";
default_cpu = <&cpu_port0>;
};
cpu_port1: port@5 {
reg = <5>;
label = "cpu";
ethernet = <&gmac1>;
phy-mode = "trgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};
cpu_port0: port@6 {
reg = <6>;
label = "cpu";
ethernet = <&gmac0>;
phy-mode = "trgmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
};
};
&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_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 = <&reg_3p3v>;
vqmmc-supply = <&reg_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 = <&reg_3p3v>;
vqmmc-supply = <&reg_3p3v>;
};
&mt6323_leds {
status = "okay";
led@0 {
reg = <0>;
label = "bpi-r2:isink:green";
default-state = "off";
};
led@1 {
reg = <1>;
label = "bpi-r2:isink:red";
default-state = "off";
};
led@2 {
reg = <2>;
label = "bpi-r2:isink:blue";
default-state = "off";
};
};
&pio {
consys_pins_default: consys_pins_default {
adie {
pinmux = <MT7623_PIN_60_WB_RSTB_FUNC_WB_RSTB>,
<MT7623_PIN_61_GPIO61_FUNC_TEST_FD>,
<MT7623_PIN_62_GPIO62_FUNC_TEST_FC>,
<MT7623_PIN_63_WB_SCLK_FUNC_WB_SCLK>,
<MT7623_PIN_64_WB_SDATA_FUNC_WB_SDATA>,
<MT7623_PIN_65_WB_SEN_FUNC_WB_SEN>,
<MT7623_PIN_66_WB_CRTL0_FUNC_WB_CRTL0>,
<MT7623_PIN_67_WB_CRTL1_FUNC_WB_CRTL1>,
<MT7623_PIN_68_WB_CRTL2_FUNC_WB_CRTL2>,
<MT7623_PIN_69_WB_CRTL3_FUNC_WB_CRTL3>,
<MT7623_PIN_70_WB_CRTL4_FUNC_WB_CRTL4>,
<MT7623_PIN_71_WB_CRTL5_FUNC_WB_CRTL5>;
bias-disable;
};
};
};
&consys {
mediatek,pwrap-regmap = <&pwrap>;
pinctrl-names = "default";
pinctrl-0 = <&consys_pins_default>;
vcn18-supply = <&mt6323_vcn18_reg>;
vcn28-supply = <&mt6323_vcn28_reg>;
vcn33_bt-supply = <&mt6323_vcn33_bt_reg>;
vcn33_wifi-supply = <&mt6323_vcn33_wifi_reg>;
status = "okay";
};
&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";
};
&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 = <&reg_3p3v>;
vbus-supply = <&reg_5v>;
status = "okay";
};
&usb2 {
vusb33-supply = <&reg_3p3v>;
vbus-supply = <&reg_5v>;
status = "okay";
};
&u3phy1 {
status = "okay";
};
&u3phy2 {
status = "okay";
};