Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions arch/arm64/boot/dts/mediatek/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -83,18 +83,19 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-2g5.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-emmc.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-nopcie2.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-nand.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e-wan-2g5.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-4e-wan-sfp.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn13.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn14.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn15.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-cn18.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-lan-phy.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-wan-phy.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-emmc.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-pro-sd.dtbo
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-sd.dtbo
Expand Down
18 changes: 18 additions & 0 deletions arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright (C) 2025 MediaTek Inc.
* Author: Frank Wunderlich <frank-w@public-files.de>
*/

/* This updates NAND size to 256MB on BPI-R4-8G */

/dts-v1/;
/plugin/;

/ {
compatible = "bananapi,bpi-r4", "mediatek,mt7988a";
};

&{/soc/spi@11007000/flash@0/partitions/partition@200000} {
reg = <0x200000 0xfe00000>;
};
28 changes: 13 additions & 15 deletions arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,24 @@
"mediatek,mt7988a";
};

&gsw_phy2 {
status = "okay";
};

&gsw_port2 {
label = "lan6";
status = "okay";
};

&switch16 {
ports {
port6: port@6 {
reg = <12>;
label = "lan6";
phy-mode = "usxgmii";
phy-connection-type = "usxgmii";
port13: port@13 {
reg = <13>;
label = "lan7";
phy-mode = "10gbase-r";
managed = "in-band-status";
sfp = <&sfp1>;

status = "okay";
};
};
};

&gsw_phy2 {
status = "okay";
};

&gsw_port2 {
status = "okay";
label = "lan5";
};
62 changes: 41 additions & 21 deletions bpi-r4.its
Original file line number Diff line number Diff line change
Expand Up @@ -148,24 +148,36 @@
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-emmc.dtbo");
type = "flat_dt";
};
fdt-ov-pro-lan-phy {

fdt-ov-pro-4e-wan-phy {
description = "DT overlay for R4Pro 4E WAN-PHY";
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e-wan-2g5.dtbo");
type = "flat_dt";
};
fdt-ov-pro-4e-wan-sfp {
description = "DT overlay for R4Pro 4E WAN-SFP";
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e-wan-sfp.dtbo");
type = "flat_dt";
};

fdt-ov-pro-8x-lan-phy {
description = "DT overlay for R4Pro LAN-PHY";
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-phy.dtbo");
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtbo");
type = "flat_dt";
};
fdt-ov-pro-lan-sfp {
fdt-ov-pro-8x-lan-sfp {
description = "DT overlay for R4Pro LAN-SFP";
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtbo");
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtbo");
type = "flat_dt";
};
fdt-ov-pro-wan-phy {
fdt-ov-pro-8x-wan-phy {
description = "DT overlay for R4Pro WAN-PHY";
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-phy.dtbo");
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtbo");
type = "flat_dt";
};
fdt-ov-pro-wan-sfp {
fdt-ov-pro-8x-wan-sfp {
description = "DT overlay for R4Pro WAN-SFP";
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtbo");
data = /incbin/("./arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtbo");
type = "flat_dt";
};
/* ramdisk-1 {
Expand Down Expand Up @@ -314,22 +326,30 @@
description = "CN18 FDT overlay blob for R4 Pro";
fdt = "fdt-ov-pro-cn18";
};
//setenv addconf "#ov-pro-lan-phy#ov-pro-wan-phy"
ov-pro-lan-phy {
description = "LAN-PHY FDT overlay blob for R4 Pro";
fdt = "fdt-ov-pro-lan-phy";
ov-pro-4e-wan-phy {
description = "WAN-PHY FDT overlay blob for R4 Pro 4E";
fdt = "fdt-ov-pro-4e-wan-phy";
};
ov-pro-4e-wan-sfp {
description = "WAN-SFP FDT overlay blob for R4 Pro 4E";
fdt = "fdt-ov-pro-4e-wan-sfp";
};
//setenv addconf "#ov-pro-8x-lan-phy#ov-pro-8x-wan-phy"
ov-pro-8x-lan-phy {
description = "LAN-PHY FDT overlay blob for R4 Pro 8X";
fdt = "fdt-ov-pro-8x-lan-phy";
};
ov-pro-lan-sfp {
description = "LAN-SFP FDT overlay blob for R4 Pro";
fdt = "fdt-ov-pro-lan-sfp";
ov-pro-8x-lan-sfp {
description = "LAN-SFP FDT overlay blob for R4 Pro 8X";
fdt = "fdt-ov-pro-8x-lan-sfp";
};
ov-pro-wan-phy {
description = "WAN-PHY FDT overlay blob for R4 Pro";
fdt = "fdt-ov-pro-wan-phy";
ov-pro-8x-wan-phy {
description = "WAN-PHY FDT overlay blob for R4 Pro 8X";
fdt = "fdt-ov-pro-8x-wan-phy";
};
ov-pro-wan-sfp {
description = "WAN-SFP FDT overlay blob for R4 Pro";
fdt = "fdt-ov-pro-wan-sfp";
ov-pro-8x-wan-sfp {
description = "WAN-SFP FDT overlay blob for R4 Pro 8X";
fdt = "fdt-ov-pro-8x-wan-sfp";
};
};
};
18 changes: 12 additions & 6 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1139,19 +1139,25 @@ if [ -n "$kernver" ]; then
;;

"dtbs_check")
export ARCH=arm64
export CROSS_COMPILE='aarch64-linux-gnu-'
if [[ "$2" == "disable_unrelated" ]];then
sed -i.bak '/mediatek\|rockchip/! s/^/#/' arch/arm64/boot/dts/Makefile
sed -i.bak '/bpi/! s/^/#/' arch/arm64/boot/dts/{mediatek,rockchip}/Makefile
fi
unset ARCH
unset CROSS_COMPILE
unset CC
unset HOSTCC
if [[ ! -e .venv ]];then
python3 -m venv .venv
fi
source .venv/bin/activate
if [[ $? -ne 0 ]];then exit 1;fi
pip3 install dtschema --upgrade
pip3 show dtschema
if [[ $? -ne 0 ]];then exit 1;fi

if [[ "$2" == "disable_unrelated" ]];then
sed -i.bak '/mediatek\|rockchip/! s/^/#/' arch/arm64/boot/dts/Makefile
sed -i.bak '/bpi/! s/^/#/' arch/arm64/boot/dts/{mediatek,rockchip}/Makefile
fi
export ARCH=arm64
export CROSS_COMPILE='aarch64-linux-gnu-'
make dt_binding_check 2>&1 | tee dtbs_check.log
make defconfig
make dtbs_check 2>&1 | tee -a dtbs_check.log
Expand Down
19 changes: 0 additions & 19 deletions drivers/net/dsa/mxl862xx/mxl862xx-phylink.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,28 +178,9 @@ static void mxl862xx_legacy_pcs_get_state(struct phylink_pcs *pcs,
}
}

static unsigned int
mxl862xx_legacy_pcs_inband_caps(struct phylink_pcs *pcs,
phy_interface_t interface)
{
switch (interface) {
case PHY_INTERFACE_MODE_SGMII:
case PHY_INTERFACE_MODE_USXGMII:
return LINK_INBAND_ENABLE;
case PHY_INTERFACE_MODE_1000BASEX:
return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE;
case PHY_INTERFACE_MODE_10GBASER:
case PHY_INTERFACE_MODE_2500BASEX:
return LINK_INBAND_DISABLE;
default:
return 0;
}
}

static const struct phylink_pcs_ops mxl862xx_legacy_pcs_ops = {
.pcs_get_state = mxl862xx_legacy_pcs_get_state,
.pcs_config = mxl862xx_legacy_pcs_config,
.pcs_inband_caps = mxl862xx_legacy_pcs_inband_caps,
};

static int mxl862xx_xpcs_port_id(int port)
Expand Down