diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile index 8e70afca5927..93ad11c87da8 100644 --- a/arch/arm64/boot/dts/mediatek/Makefile +++ b/arch/arm64/boot/dts/mediatek/Makefile @@ -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 diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso new file mode 100644 index 000000000000..648c59d78cd5 --- /dev/null +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-nand.dtso @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright (C) 2025 MediaTek Inc. + * Author: Frank Wunderlich + */ + +/* 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>; +}; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts index a9fdf9d07cf4..5c1beb71b01d 100644 --- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts +++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-4e.dts @@ -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"; -}; diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-phy.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-phy.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-phy.dtso diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-lan-sfp.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-lan-sfp.dtso diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-phy.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-phy.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-phy.dtso diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtso b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtso similarity index 100% rename from arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-wan-sfp.dtso rename to arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-pro-8x-wan-sfp.dtso diff --git a/bpi-r4.its b/bpi-r4.its index 602122ec2397..fc0144722b12 100644 --- a/bpi-r4.its +++ b/bpi-r4.its @@ -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 { @@ -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"; }; }; }; diff --git a/build.sh b/build.sh index 1dcbc3708f3d..78a256d4a383 100755 --- a/build.sh +++ b/build.sh @@ -1139,12 +1139,10 @@ 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 @@ -1152,6 +1150,14 @@ if [ -n "$kernver" ]; then 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 diff --git a/drivers/net/dsa/mxl862xx/mxl862xx-phylink.c b/drivers/net/dsa/mxl862xx/mxl862xx-phylink.c index f0a2e83c8eee..b5ead28b832c 100644 --- a/drivers/net/dsa/mxl862xx/mxl862xx-phylink.c +++ b/drivers/net/dsa/mxl862xx/mxl862xx-phylink.c @@ -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)