diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index cbc351ffbb..dec4b427fe 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -168,6 +168,13 @@ define U-Boot/Default/rk3568 TPL:=$(RK3568_TPL) endef +define U-Boot/bpi-r2-pro-rk3568 + $(U-Boot/Default/rk3568) + NAME:=Bananapi-R2 Pro + BUILD_DEVICES:= \ + sinovoip_bpi-r2-pro +endef + define U-Boot/fastrhino-r66s-rk3568 $(U-Boot/Default/rk3568) NAME:=FastRhino R66S @@ -309,6 +316,7 @@ UBOOT_TARGETS := \ rock-pi-e-rk3328 \ rock64-rk3328 \ radxa-cm3-io-rk3566 \ + bpi-r2-pro-rk3568 \ fastrhino-r66s-rk3568 \ fastrhino-r68s-rk3568 \ mrkaio-m68s-rk3568 \ diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk index 4f3a6e085f..3dbeca9f9f 100644 --- a/package/kernel/linux/modules/block.mk +++ b/package/kernel/linux/modules/block.mk @@ -89,6 +89,18 @@ endef $(eval $(call KernelPackage,ata-artop)) +define KernelPackage/ata-ahci-dwc + TITLE:=Synopsys DWC AHCI SATA + KCONFIG:= \ + CONFIG_AHCI_DWC \ + CONFIG_SATA_HOST=y + FILES:=$(LINUX_DIR)/drivers/ata/ahci_dwc.ko + DEPENDS:=+kmod-ata-ahci-platform + AUTOLOAD:=$(call AutoLoad,41,ahci_dwc,1) + $(call AddDepends/ata,@TARGET_rockchip) +endef + +$(eval $(call KernelPackage,ata-ahci-dwc)) define KernelPackage/ata-nvidia-sata TITLE:=Nvidia Serial ATA support diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network index 7eb99ade65..c03eb78c2d 100644 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network @@ -40,6 +40,9 @@ rockchip_setup_interfaces() lunzn,fastrhino-r68s) ucidef_set_interfaces_lan_wan 'eth0 eth1 eth2' 'eth3' ;; + sinovoip,rk3568-bpi-r2pro) + ucidef_set_interfaces_lan_wan 'lan0 lan1 lan2 lan3' 'eth0' + ;; *) ucidef_set_interface_lan 'eth0' ;; @@ -66,7 +69,8 @@ rockchip_setup_macs() friendlyarm,nanopi-r2c-plus|\ friendlyarm,nanopi-r4s|\ friendlyarm,nanopi-r5s|\ - friendlyarm,nanopi-r6s) + friendlyarm,nanopi-r6s|\ + sinovoip,rk3568-bpi-r2pro) wan_mac=$(macaddr_generate_from_mmc_cid mmcblk1) lan_mac=$(macaddr_add "$wan_mac" 1) ;; diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index c857b2df9a..f2044683e3 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -36,6 +36,7 @@ friendlyarm,nanopi-r5c|\ friendlyarm,nanopi-r6c|\ lunzn,fastrhino-r66s|\ radxa,e25|\ +sinovoip,rk3568-bpi-r2pro|\ xunlong,orangepi-5-plus) set_interface_core 2 "eth0" set_interface_core 4 "eth1" diff --git a/target/linux/rockchip/armv8/config-6.6 b/target/linux/rockchip/armv8/config-6.6 index f382820b07..a2b062ef61 100644 --- a/target/linux/rockchip/armv8/config-6.6 +++ b/target/linux/rockchip/armv8/config-6.6 @@ -395,6 +395,8 @@ CONFIG_MDIO_BUS_MUX_GPIO=y CONFIG_MDIO_BUS_MUX_MMIOREG=y CONFIG_MDIO_DEVICE=y CONFIG_MDIO_DEVRES=y +CONFIG_MEDIATEK_GE_PHY=y +CONFIG_MEMFD_CREATE=y CONFIG_MEMORY_ISOLATION=y CONFIG_MFD_CORE=y # CONFIG_MFD_KHADAS_MCU is not set @@ -434,11 +436,18 @@ CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_FLAGS=y CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NET_DEVLINK=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_MT7530=y +CONFIG_NET_DSA_MT7530_MDIO=y +CONFIG_NET_DSA_MT7530_MMIO=y +CONFIG_NET_DSA_TAG_MTK=y CONFIG_NET_EGRESS=y CONFIG_NET_FLOW_LIMIT=y CONFIG_NET_INGRESS=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NET_SELFTESTS=y +CONFIG_NET_SWITCHDEV=y CONFIG_NET_XGRESS=y CONFIG_NLS=y CONFIG_NLS_ISO8859_1=y @@ -495,6 +504,7 @@ CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS_GENERIC=y CONFIG_PCI_MSI=y CONFIG_PCI_STUB=y +CONFIG_PCS_MTK_LYNXI=y CONFIG_PCS_XPCS=y CONFIG_PER_VMA_LOCK=y CONFIG_PGTABLE_LEVELS=4 diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 61ffb09607..16d4cccaac 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -280,6 +280,15 @@ define Device/radxa_rock-pi-e endef TARGET_DEVICES += radxa_rock-pi-e +define Device/sinovoip_bpi-r2-pro + DEVICE_VENDOR := Sinovoip + DEVICE_MODEL := Bananapi-R2 Pro + SOC := rk3568 + SUPPORTED_DEVICES := sinovoip,rk3568-bpi-r2pro + DEVICE_PACKAGES := kmod-ata-ahci-dwc +endef +TARGET_DEVICES += sinovoip_bpi-r2-pro + define Device/xunlong_orangepi-5 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi 5 diff --git a/target/linux/rockchip/patches-6.6/003-v6.9-arm64-dts-rockchip-adjust-vendor-on-Banana-Pi-R2-Pro.patch b/target/linux/rockchip/patches-6.6/003-v6.9-arm64-dts-rockchip-adjust-vendor-on-Banana-Pi-R2-Pro.patch new file mode 100644 index 0000000000..9be609f661 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/003-v6.9-arm64-dts-rockchip-adjust-vendor-on-Banana-Pi-R2-Pro.patch @@ -0,0 +1,27 @@ +From 437644753208092f642b7669c69da606aa07dfb4 Mon Sep 17 00:00:00 2001 +From: Tim Lunn +Date: Wed, 14 Feb 2024 15:07:30 +1100 +Subject: [PATCH] arm64: dts: rockchip: adjust vendor on Banana Pi R2 Pro board + +Adjust compatible string to match the board vendor of Sinovoip + +Signed-off-by: Tim Lunn +Reviewed-by: Dragan Simic +Acked-by: Conor Dooley +Link: https://lore.kernel.org/r/20240214040731.3069111-4-tim@feathertop.org +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts +@@ -13,7 +13,7 @@ + + / { + model = "Bananapi-R2 Pro (RK3568) DDR4 Board"; +- compatible = "rockchip,rk3568-bpi-r2pro", "rockchip,rk3568"; ++ compatible = "sinovoip,rk3568-bpi-r2pro", "rockchip,rk3568"; + + aliases { + ethernet0 = &gmac0; diff --git a/target/linux/rockchip/patches-6.6/004-v6.10-arm64-dts-rockchip-regulator-for-sd-needs-to-be-alwa.patch b/target/linux/rockchip/patches-6.6/004-v6.10-arm64-dts-rockchip-regulator-for-sd-needs-to-be-alwa.patch new file mode 100644 index 0000000000..dca18f5c58 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/004-v6.10-arm64-dts-rockchip-regulator-for-sd-needs-to-be-alwa.patch @@ -0,0 +1,33 @@ +From 433d54818f64a2fe0562f8c04c7a81f562368515 Mon Sep 17 00:00:00 2001 +From: Jose Ignacio Tornos Martinez +Date: Tue, 5 Mar 2024 15:32:18 +0100 +Subject: [PATCH] arm64: dts: rockchip: regulator for sd needs to be always on + for BPI-R2Pro + +With default dts configuration for BPI-R2Pro, the regulator for sd card is +powered off when reboot is commanded, and the only solution to detect the +sd card again, and therefore, allow rebooting from there, is to do a +hardware reset. + +Configure the regulator for sd to be always on for BPI-R2Pro in order to +avoid this issue. + +Fixes: f901aaadaa2a ("arm64: dts: rockchip: Add Bananapi R2 Pro") +Signed-off-by: Jose Ignacio Tornos Martinez +Link: https://lore.kernel.org/r/20240305143222.189413-1-jtornosm@redhat.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts +@@ -412,6 +412,8 @@ + + vccio_sd: LDO_REG5 { + regulator-name = "vccio_sd"; ++ regulator-always-on; ++ regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + diff --git a/target/linux/rockchip/patches-6.6/005-v6.10-arm64-dts-rockchip-set-PHY-address-of-MT7531-switch-.patch b/target/linux/rockchip/patches-6.6/005-v6.10-arm64-dts-rockchip-set-PHY-address-of-MT7531-switch-.patch new file mode 100644 index 0000000000..6a5622b813 --- /dev/null +++ b/target/linux/rockchip/patches-6.6/005-v6.10-arm64-dts-rockchip-set-PHY-address-of-MT7531-switch-.patch @@ -0,0 +1,40 @@ +From a2ac2a1b02590a22a236c43c455f421cdede45f5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= +Date: Thu, 14 Mar 2024 15:24:35 +0300 +Subject: [PATCH] arm64: dts: rockchip: set PHY address of MT7531 switch to + 0x1f +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The MT7531 switch listens on PHY address 0x1f on an MDIO bus. I've got two +findings that support this. There's no bootstrapping option to change the +PHY address of the switch. The Linux driver hardcodes 0x1f as the PHY +address of the switch. So the reg property on the device tree is currently +ignored by the Linux driver. + +Therefore, describe the correct PHY address on Banana Pi BPI-R2 Pro that +has this switch. + +Signed-off-by: Arınç ÜNAL +Fixes: c1804463e5c6 ("arm64: dts: rockchip: Add mt7531 dsa node to BPI-R2-Pro board") +Link: https://lore.kernel.org/r/20240314-for-rockchip-mt7531-phy-address-v1-1-743b5873358f@arinc9.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts +@@ -521,9 +521,9 @@ + #address-cells = <1>; + #size-cells = <0>; + +- switch@0 { ++ switch@1f { + compatible = "mediatek,mt7531"; +- reg = <0>; ++ reg = <0x1f>; + + ports { + #address-cells = <1>; diff --git a/toolchain/glibc/common.mk b/toolchain/glibc/common.mk index 79a7a0131d..28beda04eb 100644 --- a/toolchain/glibc/common.mk +++ b/toolchain/glibc/common.mk @@ -12,8 +12,8 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=cfe121910013a46e2477562282c56ae8062089aa -PKG_MIRROR_HASH:=99b9beb283d644caacea12fe87dd7f0a0141ff26349ee500a78047aba3f5be5c +PKG_SOURCE_VERSION:=e9f05fa1c62c8044ff025963498063f73eb51c5f +PKG_MIRROR_HASH:=fd61eb2caea0d4100638b8aa8285b0f1bc23af921c376516307c9ab8ac307739 PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.zst PKG_CPE_ID:=cpe:/a:gnu:glibc