From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 25 Mar 2026 12:41:39 +0100 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5McF-004u4r-1Q for lore@lore.pengutronix.de; Wed, 25 Mar 2026 12:41:39 +0100 Received: from [127.0.0.1] (helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1w5McF-0007S4-2F; Wed, 25 Mar 2026 12:41:39 +0100 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1w5McA-0007Qx-Rm; Wed, 25 Mar 2026 12:41:34 +0100 Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5McA-0023LA-1u; Wed, 25 Mar 2026 12:41:34 +0100 Received: from [::1] (helo=dude05.red.stw.pengutronix.de) by dude05.red.stw.pengutronix.de with esmtp (Exim 4.98.2) (envelope-from ) id 1w5McA-00000009OTO-21qQ; Wed, 25 Mar 2026 12:41:34 +0100 From: Ahmad Fatoum To: distrokit@pengutronix.de Date: Wed, 25 Mar 2026 12:41:30 +0100 Message-ID: <20260325114133.2238715-2-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260325114133.2238715-1-a.fatoum@pengutronix.de> References: <20260325114133.2238715-1-a.fatoum@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [DistroKit] [PATCH 2/2] barebox: update to v2026.03.1 X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ahmad Fatoum Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false We had a patch for adding support for the Ethernet PHY variant on the BeaglePlay. This patch is upstream now, so update to drop it from the BSP. Signed-off-by: Ahmad Fatoum --- .../platform-v7a/barebox-am335x-mlo.config | 7 +- configs/platform-v7a/barebox-at91.config | 8 +- configs/platform-v7a/barebox-at91.config.diff | 4 +- configs/platform-v7a/barebox-common.config | 8 +- configs/platform-v7a/barebox.config | 12 +- configs/platform-v7a/platformconfig | 8 +- .../platform-v7a_noneon/barebox-at91.config | 8 +- .../barebox-at91.config.diff | 4 +- .../platform-v7a_noneon/barebox-common.config | 8 +- .../barebox-vexpress.config | 8 +- .../barebox-vexpress.config.diff | 4 +- configs/platform-v7a_noneon/platformconfig | 4 +- configs/platform-v8a/barebox-r5.config | 7 +- configs/platform-v8a/barebox.config | 14 +- ...-realtek-sync-with-Linux-v6.19-state.patch | 863 ------------------ .../patches/barebox-2026.01.0/series | 1 - configs/platform-v8a/platformconfig | 4 +- 17 files changed, 77 insertions(+), 895 deletions(-) delete mode 100644 configs/platform-v8a/patches/barebox-2026.01.0/0001-net-phy-realtek-sync-with-Linux-v6.19-state.patch delete mode 100644 configs/platform-v8a/patches/barebox-2026.01.0/series diff --git a/configs/platform-v7a/barebox-am335x-mlo.config b/configs/platform-v7a/barebox-am335x-mlo.config index b5752601e7de..8beeaa90d482 100644 --- a/configs/platform-v7a/barebox-am335x-mlo.config +++ b/configs/platform-v7a/barebox-am335x-mlo.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -38,6 +38,7 @@ CONFIG_ARCH_OMAP_MULTI=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -99,11 +100,11 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -127,6 +128,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -166,6 +168,7 @@ CONFIG_SHELL_NONE=y # CONFIG_GLOB is not set # CONFIG_ERRNO_MESSAGES is not set # CONFIG_BOOTM is not set +CONFIG_ELF=y # CONFIG_BAREBOX_UPDATE is not set # CONFIG_IMD is not set CONFIG_CONSOLE_FULL=y diff --git a/configs/platform-v7a/barebox-at91.config b/configs/platform-v7a/barebox-at91.config index c8a355596bb0..2aac4d007cd0 100644 --- a/configs/platform-v7a/barebox-at91.config +++ b/configs/platform-v7a/barebox-at91.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -32,6 +32,7 @@ CONFIG_ARCH_AT91=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -115,12 +116,12 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_GREGORIAN_CALENDER=y CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -158,6 +159,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -212,6 +214,7 @@ CONFIG_BOOTM_OFTREE=y CONFIG_BOOTM_UIMAGE=y CONFIG_BOOTM_OFTREE_UIMAGE=y # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y CONFIG_BOOTM_FITIMAGE=y # CONFIG_BOOTM_FITIMAGE_SIGNATURE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y @@ -1182,6 +1185,7 @@ CONFIG_LIBFDT=y # # end of Library gui routines +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_NLS=y CONFIG_GENERIC_ALLOCATOR=y diff --git a/configs/platform-v7a/barebox-at91.config.diff b/configs/platform-v7a/barebox-at91.config.diff index 39e8d1232b5e..fac29b8fcc74 100644 --- a/configs/platform-v7a/barebox-at91.config.diff +++ b/configs/platform-v7a/barebox-at91.config.diff @@ -1,5 +1,5 @@ -33645a543f98b4eb6afc7979d845f99d -40286c802664a52b285c0664cd619545 +614f39ab691502bbcc5f3eeac2cb08fa +40f35148cc5d6688abab5736d17a9363 CONFIG_ARCH_AT91=y # CONFIG_ARCH_BCM283X is not set # CONFIG_ARCH_IMX is undefined diff --git a/configs/platform-v7a/barebox-common.config b/configs/platform-v7a/barebox-common.config index b75c4cb9932b..328ca48009b8 100644 --- a/configs/platform-v7a/barebox-common.config +++ b/configs/platform-v7a/barebox-common.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -38,6 +38,7 @@ CONFIG_ARCH_BCM283X=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -101,12 +102,12 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_GREGORIAN_CALENDER=y CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -143,6 +144,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -197,6 +199,7 @@ CONFIG_BOOTM_OFTREE=y CONFIG_BOOTM_UIMAGE=y # CONFIG_BOOTM_OFTREE_UIMAGE is not set # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y CONFIG_BOOTM_FITIMAGE=y # CONFIG_BOOTM_FITIMAGE_SIGNATURE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y @@ -1134,6 +1137,7 @@ CONFIG_LIBFDT=y # # end of Library gui routines +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_NLS=y # end of Library routines diff --git a/configs/platform-v7a/barebox.config b/configs/platform-v7a/barebox.config index 1f0d1f9008e3..eca34727f8d9 100644 --- a/configs/platform-v7a/barebox.config +++ b/configs/platform-v7a/barebox.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -40,6 +40,7 @@ CONFIG_ARCH_VEXPRESS=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -63,6 +64,7 @@ CONFIG_MACH_RPI4=y CONFIG_ARCH_IMX_IMXIMAGE=y CONFIG_RESET_IMX_SRC=y +CONFIG_ARCH_IMX_SCRATCHMEM=y # # i.MX boards @@ -258,12 +260,12 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_BOARD_LXA=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -303,6 +305,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -358,6 +361,7 @@ CONFIG_BOOTM_OFTREE_FALLBACK=y CONFIG_BOOTM_UIMAGE=y CONFIG_BOOTM_OFTREE_UIMAGE=y # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y CONFIG_BOOTM_FITIMAGE=y # CONFIG_BOOTM_FITIMAGE_SIGNATURE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y @@ -991,6 +995,7 @@ CONFIG_DRIVER_VIDEO_SIMPLEFB=y # # CONFIG_DRIVER_VIDEO_MTL017 is not set # CONFIG_DRIVER_VIDEO_SIMPLE_PANEL is not set +# CONFIG_DRIVER_VIDEO_PANEL_ILITEK_ILI9488 is not set # CONFIG_DRIVER_VIDEO_PANEL_ILITEK_ILI9341 is not set # CONFIG_DRIVER_VIDEO_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRIVER_VIDEO_PANEL_MIPI_DBI is not set @@ -1335,6 +1340,7 @@ CONFIG_RESET_STM32=y CONFIG_TEE=y CONFIG_OPTEE=y # CONFIG_OPTEE_AVB_PERSISTENT_VALUES is not set +# CONFIG_OPTEE_RKSECURE is not set CONFIG_OF_FIXUP_OPTEE=y # end of Drivers @@ -1409,6 +1415,7 @@ CONFIG_CRYPTO_KEYSTORE=y # OP-TEE loading # CONFIG_HAVE_OPTEE=y +# CONFIG_OPTEE_APPLY_OVERLAY is not set CONFIG_OPTEE_SIZE=0x03000000 CONFIG_OPTEE_SHM_SIZE=0x400000 # CONFIG_BOOTM_OPTEE is not set @@ -1535,6 +1542,7 @@ CONFIG_LODEPNG=y # end of Library gui routines # CONFIG_BAREBOX_LOGO is not set +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_PRINTF_HEXSTR=y CONFIG_NLS=y diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig index 03295be72f5f..5ecf0b0c9cb7 100644 --- a/configs/platform-v7a/platformconfig +++ b/configs/platform-v7a/platformconfig @@ -186,18 +186,18 @@ PTXCONF_AT91BOOTSTRAP2_MD5="f76ff2a39f9549b5b4ecdf7cf585218c" PTXCONF_AT91BOOTSTRAP2_CONFIG="at91bootstrap-wifx-l1.config" PTXCONF_BAREBOX_COMMON_ARCH_STRING="arm" PTXCONF_BAREBOX_COMMON=y -PTXCONF_BAREBOX_COMMON_VERSION="2026.01.0" -PTXCONF_BAREBOX_COMMON_MD5="82e3fc96c069151779b434043ee0c0e7" +PTXCONF_BAREBOX_COMMON_VERSION="2026.03.1" +PTXCONF_BAREBOX_COMMON_MD5="e87f88499e1f16deb60b0c3bf216df85" PTXCONF_BAREBOX_COMMON_NEEDS_HOST_LZOP=y PTXCONF_BAREBOX_AM335X_MLO=y PTXCONF_BAREBOX_AT91=y PTXCONF_BAREBOX_ARCH_STRING="arm" PTXCONF_BAREBOX_DEPENDENCIES=y PTXCONF_BAREBOX=y -PTXCONF_BAREBOX_VERSION="2026.01.0" +PTXCONF_BAREBOX_VERSION="2026.03.1" PTXCONF_BAREBOX_CONFIG_BUILDSYSTEM_VERSION=y PTXCONF_BAREBOX_BUILDSYSTEM_VERSION="${PTXDIST_VCS_VERSION}" -PTXCONF_BAREBOX_MD5="82e3fc96c069151779b434043ee0c0e7" +PTXCONF_BAREBOX_MD5="e87f88499e1f16deb60b0c3bf216df85" PTXCONF_BAREBOX_CONFIG="barebox.config" # PTXCONF_BAREBOX_FIRMWARE is not set PTXCONF_BAREBOX_EXTRA_ENV=y diff --git a/configs/platform-v7a_noneon/barebox-at91.config b/configs/platform-v7a_noneon/barebox-at91.config index 2ac855fa75c6..9554d5d53a42 100644 --- a/configs/platform-v7a_noneon/barebox-at91.config +++ b/configs/platform-v7a_noneon/barebox-at91.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -32,6 +32,7 @@ CONFIG_ARCH_AT91=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -110,12 +111,12 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_GREGORIAN_CALENDER=y CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -149,6 +150,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -200,6 +202,7 @@ CONFIG_BOOTM_OFTREE=y # CONFIG_BOOTM_OFTREE_FALLBACK is not set # CONFIG_BOOTM_UIMAGE is not set # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y # CONFIG_BOOTM_FITIMAGE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y CONFIG_BLSPEC=y @@ -1188,6 +1191,7 @@ CONFIG_LIBFDT=y # # end of Library gui routines +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_NLS=y CONFIG_GENERIC_ALLOCATOR=y diff --git a/configs/platform-v7a_noneon/barebox-at91.config.diff b/configs/platform-v7a_noneon/barebox-at91.config.diff index 1bf1975f0555..a081421323b1 100644 --- a/configs/platform-v7a_noneon/barebox-at91.config.diff +++ b/configs/platform-v7a_noneon/barebox-at91.config.diff @@ -1,5 +1,5 @@ -3028fb8f9e4ad715e0327e2fed1c70eb -21d31e1a43d39e4f50312e822c134377 +604a2ddf6c4f2e6a0a8c0f2b5386e3a0 +6050ffe6406fe7e870f952f5c9b5ba7d CONFIG_ARCH_AT91=y # CONFIG_ARCH_BCM283X is not set # CONFIG_ARCH_IMX is undefined diff --git a/configs/platform-v7a_noneon/barebox-common.config b/configs/platform-v7a_noneon/barebox-common.config index a8931c980897..63ff1f02b404 100644 --- a/configs/platform-v7a_noneon/barebox-common.config +++ b/configs/platform-v7a_noneon/barebox-common.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -38,6 +38,7 @@ CONFIG_ARCH_BCM283X=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -101,12 +102,12 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_GREGORIAN_CALENDER=y CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -141,6 +142,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -194,6 +196,7 @@ CONFIG_BOOTM_OFTREE=y # CONFIG_BOOTM_OFTREE_FALLBACK is not set # CONFIG_BOOTM_UIMAGE is not set # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y # CONFIG_BOOTM_FITIMAGE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y CONFIG_BLSPEC=y @@ -1128,6 +1131,7 @@ CONFIG_LIBFDT=y # # end of Library gui routines +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_NLS=y # end of Library routines diff --git a/configs/platform-v7a_noneon/barebox-vexpress.config b/configs/platform-v7a_noneon/barebox-vexpress.config index d1e73ec6c447..b0a5dbddee7f 100644 --- a/configs/platform-v7a_noneon/barebox-vexpress.config +++ b/configs/platform-v7a_noneon/barebox-vexpress.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -38,6 +38,7 @@ CONFIG_ARCH_VEXPRESS=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +CONFIG_CPU_V7VE=y CONFIG_CPU_32v7=y # @@ -88,12 +89,12 @@ CONFIG_HAVE_EFI_STUB=y CONFIG_HAVE_EFI_LOADER=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_GREGORIAN_CALENDER=y CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_BLOCK=y CONFIG_BLOCK_WRITE=y @@ -127,6 +128,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -180,6 +182,7 @@ CONFIG_BOOTM_OFTREE=y # CONFIG_BOOTM_OFTREE_FALLBACK is not set # CONFIG_BOOTM_UIMAGE is not set # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y # CONFIG_BOOTM_FITIMAGE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y CONFIG_BLSPEC=y @@ -1076,6 +1079,7 @@ CONFIG_LIBFDT=y # # end of Library gui routines +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_NLS=y # end of Library routines diff --git a/configs/platform-v7a_noneon/barebox-vexpress.config.diff b/configs/platform-v7a_noneon/barebox-vexpress.config.diff index 87762f48def8..ce797731573c 100644 --- a/configs/platform-v7a_noneon/barebox-vexpress.config.diff +++ b/configs/platform-v7a_noneon/barebox-vexpress.config.diff @@ -1,5 +1,5 @@ -3028fb8f9e4ad715e0327e2fed1c70eb -75c5e1100a2a6b7df1ba323e31fa8032 +604a2ddf6c4f2e6a0a8c0f2b5386e3a0 +1623a1aea631ce5f00b3647e7e40902c CONFIG_AMBA_SP804=y # CONFIG_ARCH_BCM283X is not set CONFIG_ARCH_VEXPRESS=y diff --git a/configs/platform-v7a_noneon/platformconfig b/configs/platform-v7a_noneon/platformconfig index 9924449d6e60..c27460cfece7 100644 --- a/configs/platform-v7a_noneon/platformconfig +++ b/configs/platform-v7a_noneon/platformconfig @@ -180,8 +180,8 @@ PTXCONF_CONSOLE_SPEED="115200" # PTXCONF_AT91BOOTSTRAP2 is not set PTXCONF_BAREBOX_COMMON_ARCH_STRING="arm" PTXCONF_BAREBOX_COMMON=y -PTXCONF_BAREBOX_COMMON_VERSION="2026.01.0" -PTXCONF_BAREBOX_COMMON_MD5="82e3fc96c069151779b434043ee0c0e7" +PTXCONF_BAREBOX_COMMON_VERSION="2026.03.1" +PTXCONF_BAREBOX_COMMON_MD5="e87f88499e1f16deb60b0c3bf216df85" PTXCONF_BAREBOX_COMMON_NEEDS_HOST_LZOP=y PTXCONF_BAREBOX_AT91=y PTXCONF_BAREBOX_VEXPRESS=y diff --git a/configs/platform-v8a/barebox-r5.config b/configs/platform-v8a/barebox-r5.config index 82188c377ded..789693b978fd 100644 --- a/configs/platform-v8a/barebox-r5.config +++ b/configs/platform-v8a/barebox-r5.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm" @@ -37,6 +37,7 @@ CONFIG_ARCH_K3=y # CONFIG_CPU_32=y CONFIG_CPU_V7=y +# CONFIG_CPU_V7VE is not set CONFIG_CPU_32v7=y # @@ -93,11 +94,11 @@ CONFIG_ARCH_HAS_SJLJ=y CONFIG_HAVE_EFI_STUB=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 CONFIG_CLANG_VERSION=0 CONFIG_HAS_KALLSYMS=y -CONFIG_HAS_MODULES=y CONFIG_HAS_DMA=y CONFIG_GENERIC_GPIO=y CONFIG_BLOCK=y @@ -121,6 +122,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -298,6 +300,7 @@ CONFIG_USB_DWC3_GADGET=y # CONFIG_USB_DWC3_DUAL_ROLE is not set # CONFIG_USB_DWC3_OF_SIMPLE is not set CONFIG_USB_DWC3_AM62=y +# CONFIG_USB_DWC3_GENERIC_PLAT is not set # CONFIG_USB_EHCI is not set # CONFIG_USB_OHCI is not set CONFIG_USB_XHCI=y diff --git a/configs/platform-v8a/barebox.config b/configs/platform-v8a/barebox.config index c560c46e0525..51ba207488ee 100644 --- a/configs/platform-v8a/barebox.config +++ b/configs/platform-v8a/barebox.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2026.01.0 Configuration +# Barebox/arm 2026.03.1 Configuration # CONFIG_ARM=y CONFIG_ARCH_LINUX_NAME="arm64" @@ -38,6 +38,7 @@ CONFIG_CPU_64v8=y CONFIG_ARCH_IMX_IMXIMAGE=y CONFIG_USB_GADGET_DRIVER_ARC_PBL=y CONFIG_ARCH_IMX_ATF=y +# CONFIG_ARCH_IMX_ATF_PASS_BL_PARAMS is not set CONFIG_ARCH_IMX_ROMAPI=y CONFIG_ARCH_IMX_SCRATCHMEM=y CONFIG_ARCH_IMX_SNVS=y @@ -56,6 +57,7 @@ CONFIG_ARCH_IMX93=y # # i.MX8M boards # +# CONFIG_MACH_HGS_GS05 is not set # CONFIG_MACH_KOENIGBAUER_ALPHAJET is not set # CONFIG_MACH_INNOCOMM_WB15 is not set # CONFIG_MACH_KARO_QSXP_ML81 is not set @@ -86,6 +88,7 @@ CONFIG_MACH_NXP_IMX93_FRDM=y # # CONFIG_IMX_IIM is not set CONFIG_IMX_SAVE_BOOTROM_LOG=y +# CONFIG_ARCH_IMX8MP_KEEP_COMPATIBLE_SOC_UID is not set CONFIG_HAB=y CONFIG_AHAB=y # CONFIG_HABV4 is not set @@ -116,12 +119,15 @@ CONFIG_ARCH_RK3568=y # # select Rockchip boards: # +# CONFIG_MACH_RK3562_EVB2 is not set +# CONFIG_MACH_RK3562_KICKPI_K3 is not set CONFIG_MACH_RK3568_EVB=y # CONFIG_MACH_RK3568_BPI_R2PRO is not set # CONFIG_MACH_PINE64_PINETAB2 is not set # CONFIG_MACH_PINE64_QUARTZ64 is not set # CONFIG_MACH_PROTONIC_MECSBC is not set # CONFIG_MACH_PROTONIC_PRTPUK is not set +# CONFIG_MACH_QNAP_TSX33 is not set CONFIG_MACH_RADXA_ROCK3=y # CONFIG_MACH_RADXA_ROCK5 is not set # CONFIG_MACH_RADXA_CM3 is not set @@ -181,6 +187,7 @@ CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_HAS_DEBUG_LL=y CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_STACKPROTECTOR=y CONFIG_BOARD_TQ=y CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=150201 @@ -224,6 +231,7 @@ CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y +CONFIG_PBL_IMAGE_ELF=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_USE_COMPRESSED_DTB=y CONFIG_PBL_RELOCATABLE=y @@ -279,6 +287,7 @@ CONFIG_BOOTM_OFTREE_FALLBACK=y CONFIG_BOOTM_UIMAGE=y CONFIG_BOOTM_OFTREE_UIMAGE=y # CONFIG_BOOTM_AIMAGE is not set +CONFIG_ELF=y CONFIG_BOOTM_FITIMAGE=y # CONFIG_BOOTM_FITIMAGE_SIGNATURE is not set CONFIG_BOOTM_OPTIONAL_SIGNED_IMAGES=y @@ -820,6 +829,7 @@ CONFIG_USB_DWC3_DUAL_ROLE=y CONFIG_USB_DWC3_OF_SIMPLE=y CONFIG_USB_DWC3_IMX8MP=y CONFIG_USB_DWC3_AM62=y +# CONFIG_USB_DWC3_GENERIC_PLAT is not set CONFIG_USB_EHCI=y CONFIG_USB_XHCI=y # CONFIG_USB_ULPI is not set @@ -919,6 +929,7 @@ CONFIG_MFD_PCA9450=y CONFIG_MFD_RK808=y # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_MFD_HGS_EFI is not set # end of Multifunction device drivers # @@ -1363,6 +1374,7 @@ CONFIG_CRC_CCITT=y # # end of Library gui routines +CONFIG_VERSION_CMP=y CONFIG_PRINTF_UUID=y CONFIG_NLS=y # end of Library routines diff --git a/configs/platform-v8a/patches/barebox-2026.01.0/0001-net-phy-realtek-sync-with-Linux-v6.19-state.patch b/configs/platform-v8a/patches/barebox-2026.01.0/0001-net-phy-realtek-sync-with-Linux-v6.19-state.patch deleted file mode 100644 index b7b1adbbc868..000000000000 --- a/configs/platform-v8a/patches/barebox-2026.01.0/0001-net-phy-realtek-sync-with-Linux-v6.19-state.patch +++ /dev/null @@ -1,863 +0,0 @@ -From cc0a6b72f486dbcfa42d6f4cd9e102e616f093b2 Mon Sep 17 00:00:00 2001 -From: Ahmad Fatoum -Date: Tue, 20 Jan 2026 20:34:34 +0100 -Subject: [PATCH] net: phy: realtek: sync with Linux v6.19 state - -The BeaglePlay has a RTL8211F-VD Gigabit Ethernet PHY at mdio0-phy00, -which detects link up, but fails to communicate when used with the -barebox generic PHY driver. - -The Linux Realtek PHY driver already matches the RTL8211F-VD PHY's -ID, so bring the barebox driver up to date. - -Signed-off-by: Ahmad Fatoum ---- - drivers/net/phy/phy-core.c | 54 +++++ - drivers/net/phy/phy.c | 63 +++++ - drivers/net/phy/realtek.c | 411 ++++++++++++++++++++++++++++++++- - include/linux/phy.h | 19 ++ - include/linux/string_choices.h | 79 +++++++ - 5 files changed, 614 insertions(+), 12 deletions(-) - -diff --git a/drivers/net/phy/phy-core.c b/drivers/net/phy/phy-core.c -index b12f54ed3878..85e8c4b3e2c7 100644 ---- a/drivers/net/phy/phy-core.c -+++ b/drivers/net/phy/phy-core.c -@@ -23,6 +23,37 @@ int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set) - return ret < 0 ? ret : 0; - } - -+/** -+ * phy_modify_changed - Function for modifying a PHY register -+ * @phydev: the phy_device struct -+ * @regnum: register number to modify -+ * @mask: bit mask of bits to clear -+ * @set: new value of bits set in mask to write to @regnum -+ * -+ * NOTE: MUST NOT be called from interrupt context, -+ * because the bus read/write functions may wait for an interrupt -+ * to conclude the operation. -+ * -+ * Returns negative errno, 0 if there was no change, and 1 in case of change -+ */ -+int phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask, u16 set) -+{ -+ int new, ret; -+ -+ ret = phy_read(phydev, regnum); -+ if (ret < 0) -+ return ret; -+ -+ new = (ret & ~mask) | set; -+ if (new == ret) -+ return 0; -+ -+ ret = phy_write(phydev, regnum, (ret & ~mask) | set); -+ -+ return ret < 0 ? ret : 1; -+} -+EXPORT_SYMBOL_GPL(phy_modify_changed); -+ - static int phy_read_page(struct phy_device *phydev) - { - struct phy_driver *phydrv = to_phy_driver(phydev->dev.driver); -@@ -184,3 +215,26 @@ int phy_modify_paged(struct phy_device *phydev, int page, u32 regnum, - - return phy_restore_page(phydev, oldpage, ret); - } -+ -+/** -+ * phy_modify_paged_changed() - Function for modifying a paged register -+ * @phydev: a pointer to a &struct phy_device -+ * @page: the page for the phy -+ * @regnum: register number -+ * @mask: bit mask of bits to clear -+ * @set: bit mask of bits to set -+ * -+ * Returns negative errno, 0 if there was no change, and 1 in case of change -+ */ -+int phy_modify_paged_changed(struct phy_device *phydev, int page, u32 regnum, -+ u16 mask, u16 set) -+{ -+ int ret = 0, oldpage; -+ -+ oldpage = phy_select_page(phydev, page); -+ if (oldpage >= 0) -+ ret = phy_modify_changed(phydev, regnum, mask, set); -+ -+ return phy_restore_page(phydev, oldpage, ret); -+} -+EXPORT_SYMBOL(phy_modify_paged_changed); -diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c -index 9635c816c330..5ca3d9254af8 100644 ---- a/drivers/net/phy/phy.c -+++ b/drivers/net/phy/phy.c -@@ -1077,6 +1077,69 @@ int genphy_config_init(struct phy_device *phydev) - return 0; - } - -+/** -+ * phy_poll_reset - Safely wait until a PHY reset has properly completed -+ * @phydev: The PHY device to poll -+ * -+ * Description: According to IEEE 802.3, Section 2, Subsection 22.2.4.1.1, as -+ * published in 2008, a PHY reset may take up to 0.5 seconds. The MII BMCR -+ * register must be polled until the BMCR_RESET bit clears. -+ * -+ * Furthermore, any attempts to write to PHY registers may have no effect -+ * or even generate MDIO bus errors until this is complete. -+ * -+ * Some PHYs (such as the Marvell 88E1111) don't entirely conform to the -+ * standard and do not fully reset after the BMCR_RESET bit is set, and may -+ * even *REQUIRE* a soft-reset to properly restart autonegotiation. In an -+ * effort to support such broken PHYs, this function is separate from the -+ * standard phy_init_hw() which will zero all the other bits in the BMCR -+ * and reapply all driver-specific and board-specific fixups. -+ */ -+static int phy_poll_reset(struct phy_device *phydev) -+{ -+ /* Poll until the reset bit clears (50ms per retry == 0.6 sec) */ -+ int ret, val; -+ -+ ret = phy_read_poll_timeout(phydev, MII_BMCR, val, !(val & BMCR_RESET), -+ 600000); -+ if (ret) -+ return ret; -+ /* Some chips (smsc911x) may still need up to another 1ms after the -+ * BMCR_RESET bit is cleared before they are usable. -+ */ -+ mdelay(1); -+ return 0; -+} -+ -+int genphy_soft_reset(struct phy_device *phydev) -+{ -+ u16 res = BMCR_RESET; -+ int ret; -+ -+ if (phydev->autoneg == AUTONEG_ENABLE) -+ res |= BMCR_ANRESTART; -+ -+ ret = phy_modify(phydev, MII_BMCR, BMCR_ISOLATE, res); -+ if (ret < 0) -+ return ret; -+ -+ /* Clause 22 states that setting bit BMCR_RESET sets control registers -+ * to their default value. Therefore the POWER DOWN bit is supposed to -+ * be cleared after soft reset. -+ */ -+ -+ ret = phy_poll_reset(phydev); -+ if (ret) -+ return ret; -+ -+ /* BMCR may be reset to defaults */ -+ if (phydev->autoneg == AUTONEG_DISABLE) -+ ret = genphy_setup_forced(phydev); -+ -+ return ret; -+} -+EXPORT_SYMBOL(genphy_soft_reset); -+ - int phy_driver_register(struct phy_driver *phydrv) - { - phydrv->drv.bus = &mdio_bus_type; -diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c -index 8ab3d630912b..77d7b9aaf20b 100644 ---- a/drivers/net/phy/realtek.c -+++ b/drivers/net/phy/realtek.c -@@ -1,6 +1,6 @@ --// SPDX-License-Identifier: GPL-2.0-or-later --/* -- * drivers/net/phy/realtek.c -+// SPDX-License-Identifier: GPL-2.0+ -+// SPDX-Comment: Origin-URL: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/realtek/realtek_main.c?id=4f0638b12451112de4138689fa679315c8d388dc -+/* drivers/net/phy/realtek.c - * - * Driver for Realtek PHYs - * -@@ -11,6 +11,8 @@ - #include - #include - #include -+#include -+#include - #include - - #define RTL821x_PHYSR 0x11 -@@ -20,23 +22,102 @@ - #define RTL821x_INER 0x12 - #define RTL8211B_INER_INIT 0x6400 - #define RTL8211E_INER_LINK_STATUS BIT(10) -+#define RTL8211F_INER_PME BIT(7) - #define RTL8211F_INER_LINK_STATUS BIT(4) - - #define RTL821x_INSR 0x13 - -+#define RTL821x_EXT_PAGE_SELECT 0x1e -+ - #define RTL821x_PAGE_SELECT 0x1f - - #define RTL8211F_INSR 0x1d - -+#define RTL821x_SET_EXT_PAGE 0x07 -+ -+/* RTL8211E extension page 164/0xa4 */ -+#define RTL8211E_RGMII_EXT_PAGE 0xa4 -+#define RTL8211E_RGMII_DELAY 0x1c -+#define RTL8211E_CTRL_DELAY BIT(13) -+#define RTL8211E_TX_DELAY BIT(12) -+#define RTL8211E_RX_DELAY BIT(11) -+#define RTL8211E_DELAY_MASK GENMASK(13, 11) -+ -+/* RTL8211F PHY configuration */ -+#define RTL8211F_PHYCR_PAGE 0xa43 -+#define RTL8211F_PHYCR1 0x18 -+#define RTL8211F_ALDPS_PLL_OFF BIT(1) -+#define RTL8211F_ALDPS_ENABLE BIT(2) -+#define RTL8211F_ALDPS_XTAL_OFF BIT(12) -+ -+#define RTL8211F_PHYCR2 0x19 -+#define RTL8211F_CLKOUT_EN BIT(0) -+#define RTL8211F_PHYCR2_PHY_EEE_ENABLE BIT(5) -+ -+/* RTL8211F(D)(I)-VD-CG CLKOUT configuration is specified via magic values -+ * to undocumented register pages. The names here do not reflect the datasheet. -+ * Unlike other PHY models, CLKOUT configuration does not go through PHYCR2. -+ */ -+#define RTL8211FVD_CLKOUT_PAGE 0xd05 -+#define RTL8211FVD_CLKOUT_REG 0x11 -+#define RTL8211FVD_CLKOUT_EN BIT(8) -+ -+/* RTL8211F RGMII configuration */ -+#define RTL8211F_RGMII_PAGE 0xd08 -+ -+#define RTL8211F_TXCR 0x11 - #define RTL8211F_TX_DELAY BIT(8) -+ -+#define RTL8211F_RXCR 0x15 - #define RTL8211F_RX_DELAY BIT(3) - - #define RTL8201F_ISR 0x1e - #define RTL8201F_IER 0x13 - -+#define RTL821x_EXT_PAGE_SELECT 0x1e -+ -+/* RTL822X_VND2_XXXXX registers are only accessible when phydev->is_c45 -+ * is set, they cannot be accessed by C45-over-C22. -+ */ -+#define RTL822X_VND2_C22_REG(reg) (0xa400 + 2 * (reg)) -+ -+#define RTL8221B_VND2_INER 0xa4d2 -+#define RTL8221B_VND2_INER_LINK_STATUS BIT(4) -+ -+#define RTL8221B_VND2_INSR 0xa4d4 -+ - #define RTL8366RB_POWER_SAVE 0x15 - #define RTL8366RB_POWER_SAVE_ON BIT(12) - -+#define RTL_VND2_PHYSR 0xa434 -+#define RTL_VND2_PHYSR_DUPLEX BIT(3) -+#define RTL_VND2_PHYSR_SPEEDL GENMASK(5, 4) -+#define RTL_VND2_PHYSR_SPEEDH GENMASK(10, 9) -+#define RTL_VND2_PHYSR_MASTER BIT(11) -+#define RTL_VND2_PHYSR_SPEED_MASK (RTL_VND2_PHYSR_SPEEDL | RTL_VND2_PHYSR_SPEEDH) -+ -+#define RTL_MDIO_AN_10GBT_STAT 0xa5d6 -+ -+#define RTL_GENERIC_PHYID 0x001cc800 -+#define RTL_8211FVD_PHYID 0x001cc878 -+#define RTL_8221B 0x001cc840 -+#define RTL_8221B_VB_CG 0x001cc849 -+#define RTL_8221B_VM_CG 0x001cc84a -+#define RTL_8251B 0x001cc862 -+#define RTL_8261C 0x001cc890 -+ -+MODULE_DESCRIPTION("Realtek PHY driver"); -+MODULE_AUTHOR("Johnson Leung"); -+MODULE_LICENSE("GPL"); -+ -+struct rtl821x_priv { -+ bool enable_aldps; -+ bool disable_clk_out; -+ struct clk *clk; -+ /* rtl8211f */ -+ u16 iner; -+}; -+ - static int rtl821x_read_page(struct phy_device *phydev) - { - return phy_read(phydev, RTL821x_PAGE_SELECT); -@@ -47,6 +128,28 @@ static int rtl821x_write_page(struct phy_device *phydev, int page) - return phy_write(phydev, RTL821x_PAGE_SELECT, page); - } - -+static int rtl821x_probe(struct phy_device *phydev) -+{ -+ struct device *dev = &phydev->dev; -+ struct rtl821x_priv *priv; -+ -+ priv = xzalloc(sizeof(*priv)); -+ -+ priv->clk = clk_get_optional_enabled(dev, NULL); -+ if (IS_ERR(priv->clk)) -+ return dev_err_probe(dev, PTR_ERR(priv->clk), -+ "failed to get phy clock\n"); -+ -+ priv->enable_aldps = of_property_read_bool(dev->of_node, -+ "realtek,aldps-enable"); -+ priv->disable_clk_out = of_property_read_bool(dev->of_node, -+ "realtek,clkout-disable"); -+ -+ phydev->priv = priv; -+ -+ return 0; -+} -+ - static int rtl8211_config_aneg(struct phy_device *phydev) - { - int ret; -@@ -78,9 +181,8 @@ static int rtl8211c_config_init(struct phy_device *phydev) - return genphy_config_init(phydev); - } - --static int rtl8211f_config_init(struct phy_device *phydev) -+static int rtl8211f_config_rgmii_delay(struct phy_device *phydev) - { -- struct device *dev = &phydev->dev; - u16 val_txdly, val_rxdly; - int ret; - -@@ -109,23 +211,169 @@ static int rtl8211f_config_init(struct phy_device *phydev) - return 0; - } - -- ret = phy_modify_paged(phydev, 0xd08, 0x11, RTL8211F_TX_DELAY, -- val_txdly); -+ ret = phy_modify_paged_changed(phydev, RTL8211F_RGMII_PAGE, -+ RTL8211F_TXCR, RTL8211F_TX_DELAY, -+ val_txdly); - if (ret < 0) { -- dev_err(dev, "Failed to update the TX delay register\n"); -+ phydev_err(phydev, "Failed to update the TX delay register: %pe\n", -+ ERR_PTR(ret)); - return ret; -+ } else if (ret) { -+ phydev_dbg(phydev, -+ "%s 2ns TX delay (and changing the value from pin-strapping RXD1 or the bootloader)\n", -+ str_enable_disable(val_txdly)); -+ } else { -+ phydev_dbg(phydev, -+ "2ns TX delay was already %s (by pin-strapping RXD1 or bootloader configuration)\n", -+ str_enabled_disabled(val_txdly)); - } - -- ret = phy_modify_paged(phydev, 0xd08, 0x15, RTL8211F_RX_DELAY, -- val_rxdly); -+ ret = phy_modify_paged_changed(phydev, RTL8211F_RGMII_PAGE, -+ RTL8211F_RXCR, RTL8211F_RX_DELAY, -+ val_rxdly); - if (ret < 0) { -- dev_err(dev, "Failed to update the RX delay register\n"); -+ phydev_err(phydev, "Failed to update the RX delay register: %pe\n", -+ ERR_PTR(ret)); - return ret; -+ } else if (ret) { -+ phydev_dbg(phydev, -+ "%s 2ns RX delay (and changing the value from pin-strapping RXD0 or the bootloader)\n", -+ str_enable_disable(val_rxdly)); -+ } else { -+ phydev_dbg(phydev, -+ "2ns RX delay was already %s (by pin-strapping RXD0 or bootloader configuration)\n", -+ str_enabled_disabled(val_rxdly)); - } - - return 0; - } - -+static int rtl8211f_config_clk_out(struct phy_device *phydev) -+{ -+ struct rtl821x_priv *priv = phydev->priv; -+ struct phy_driver *drv = to_phy_driver(phydev->dev.driver); -+ int ret; -+ -+ /* The value is preserved if the device tree property is absent */ -+ if (!priv->disable_clk_out) -+ return 0; -+ -+ if (drv->phy_id == RTL_8211FVD_PHYID) -+ ret = phy_modify_paged(phydev, RTL8211FVD_CLKOUT_PAGE, -+ RTL8211FVD_CLKOUT_REG, -+ RTL8211FVD_CLKOUT_EN, 0); -+ else -+ ret = phy_modify_paged(phydev, RTL8211F_PHYCR_PAGE, -+ RTL8211F_PHYCR2, RTL8211F_CLKOUT_EN, 0); -+ if (ret) -+ return ret; -+ -+ return genphy_soft_reset(phydev); -+} -+ -+/* Advance Link Down Power Saving (ALDPS) mode changes crystal/clock behaviour, -+ * which causes the RXC clock signal to stop for tens to hundreds of -+ * milliseconds. -+ * -+ * Some MACs need the RXC clock to support their internal RX logic, so ALDPS is -+ * only enabled based on an opt-in device tree property. -+ */ -+static int rtl8211f_config_aldps(struct phy_device *phydev) -+{ -+ struct rtl821x_priv *priv = phydev->priv; -+ u16 mask = RTL8211F_ALDPS_PLL_OFF | -+ RTL8211F_ALDPS_ENABLE | -+ RTL8211F_ALDPS_XTAL_OFF; -+ -+ /* The value is preserved if the device tree property is absent */ -+ if (!priv->enable_aldps) -+ return 0; -+ -+ return phy_modify_paged(phydev, RTL8211F_PHYCR_PAGE, RTL8211F_PHYCR1, -+ mask, mask); -+} -+ -+static int rtl8211f_config_phy_eee(struct phy_device *phydev) -+{ -+ /* Disable PHY-mode EEE so LPI is passed to the MAC */ -+ return phy_modify_paged(phydev, RTL8211F_PHYCR_PAGE, RTL8211F_PHYCR2, -+ RTL8211F_PHYCR2_PHY_EEE_ENABLE, 0); -+} -+ -+static int rtl8211f_config_init(struct phy_device *phydev) -+{ -+ struct device *dev = &phydev->dev; -+ int ret; -+ -+ ret = rtl8211f_config_aldps(phydev); -+ if (ret) { -+ dev_err(dev, "aldps mode configuration failed: %pe\n", -+ ERR_PTR(ret)); -+ return ret; -+ } -+ -+ ret = rtl8211f_config_rgmii_delay(phydev); -+ if (ret) -+ return ret; -+ -+ ret = rtl8211f_config_clk_out(phydev); -+ if (ret) { -+ dev_err(dev, "clkout configuration failed: %pe\n", -+ ERR_PTR(ret)); -+ return ret; -+ } -+ -+ return rtl8211f_config_phy_eee(phydev); -+} -+ -+static int rtl8211e_config_init(struct phy_device *phydev) -+{ -+ int ret = 0, oldpage; -+ u16 val; -+ -+ /* enable TX/RX delay for rgmii-* modes, and disable them for rgmii. */ -+ switch (phydev->interface) { -+ case PHY_INTERFACE_MODE_RGMII: -+ val = RTL8211E_CTRL_DELAY | 0; -+ break; -+ case PHY_INTERFACE_MODE_RGMII_ID: -+ val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY; -+ break; -+ case PHY_INTERFACE_MODE_RGMII_RXID: -+ val = RTL8211E_CTRL_DELAY | RTL8211E_RX_DELAY; -+ break; -+ case PHY_INTERFACE_MODE_RGMII_TXID: -+ val = RTL8211E_CTRL_DELAY | RTL8211E_TX_DELAY; -+ break; -+ default: /* the rest of the modes imply leaving delays as is. */ -+ return 0; -+ } -+ -+ /* According to a sample driver there is a 0x1c config register on the -+ * 0xa4 extension page (0x7) layout. It can be used to disable/enable -+ * the RX/TX delays otherwise controlled by RXDLY/TXDLY pins. -+ * The configuration register definition: -+ * 14 = reserved -+ * 13 = Force Tx RX Delay controlled by bit12 bit11, -+ * 12 = RX Delay, 11 = TX Delay -+ * 10:0 = Test && debug settings reserved by realtek -+ */ -+ oldpage = phy_select_page(phydev, 0x7); -+ if (oldpage < 0) -+ goto err_restore_page; -+ -+ ret = phy_write(phydev, RTL821x_EXT_PAGE_SELECT, 0xa4); -+ if (ret) -+ goto err_restore_page; -+ -+ ret = phy_modify(phydev, 0x1c, RTL8211E_CTRL_DELAY -+ | RTL8211E_TX_DELAY | RTL8211E_RX_DELAY, -+ val); -+ -+err_restore_page: -+ return phy_restore_page(phydev, oldpage, ret); -+} -+ - static int rtl8366rb_config_init(struct phy_device *phydev) - { - int ret; -@@ -137,17 +385,91 @@ static int rtl8366rb_config_init(struct phy_device *phydev) - ret = phy_set_bits(phydev, RTL8366RB_POWER_SAVE, - RTL8366RB_POWER_SAVE_ON); - if (ret) { -- dev_err(&phydev->dev, "error enabling power management\n"); -+ dev_err(&phydev->dev, -+ "error enabling power management\n"); - } - - return ret; - } - -+/* get actual speed to cover the downshift case */ -+static void rtlgen_decode_physr(struct phy_device *phydev, int val) -+{ -+ /* bit 3 -+ * 0: Half Duplex -+ * 1: Full Duplex -+ */ -+ if (val & RTL_VND2_PHYSR_DUPLEX) -+ phydev->duplex = DUPLEX_FULL; -+ else -+ phydev->duplex = DUPLEX_HALF; -+ -+ switch (val & RTL_VND2_PHYSR_SPEED_MASK) { -+ case 0x0000: -+ phydev->speed = SPEED_10; -+ break; -+ case 0x0010: -+ phydev->speed = SPEED_100; -+ break; -+ case 0x0020: -+ phydev->speed = SPEED_1000; -+ break; -+ case 0x0200: -+ phydev->speed = SPEED_10000; -+ break; -+ case 0x0210: -+ phydev->speed = SPEED_2500; -+ break; -+ default: -+ break; -+ } -+} -+ -+static int rtlgen_read_status(struct phy_device *phydev) -+{ -+ int ret, val; -+ -+ ret = genphy_read_status(phydev); -+ if (ret < 0) -+ return ret; -+ -+ if (!phydev->link) -+ return 0; -+ -+ val = phy_read_paged(phydev, 0xa43, 0x12); -+ if (val < 0) -+ return val; -+ -+ rtlgen_decode_physr(phydev, val); -+ -+ return 0; -+} -+ -+static int rtl822x_read_status(struct phy_device *phydev) -+{ -+ int lpadv, ret; -+ -+ ret = rtlgen_read_status(phydev); -+ if (ret < 0) -+ return ret; -+ -+ if (phydev->autoneg == AUTONEG_DISABLE) -+ return 0; -+ -+ lpadv = phy_read_mmd(phydev, MDIO_MMD_VEND2, RTL_MDIO_AN_10GBT_STAT); -+ if (lpadv < 0) -+ return lpadv; -+ -+ return 0; -+} -+ - static struct phy_driver realtek_drvs[] = { - { - PHY_ID_MATCH_EXACT(0x00008201), - .drv.name = "RTL8201CP Ethernet", - .features = PHY_BASIC_FEATURES, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc816), - .drv.name = "RTL8201F Fast Ethernet", -@@ -158,6 +480,13 @@ static struct phy_driver realtek_drvs[] = { - PHY_ID_MATCH_EXACT(0x001cc840), - .drv.name = "RTL8226B_RTL8221B 2.5Gbps PHY", - .features = PHY_GBIT_FEATURES, -+ .read_status = rtl822x_read_status, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, -+ }, { -+ PHY_ID_MATCH_MODEL(0x001cc880), -+ .drv.name = "RTL8208 Fast Ethernet", -+ .features = PHY_BASIC_FEATURES, - .read_page = rtl821x_read_page, - .write_page = rtl821x_write_page, - }, { -@@ -165,28 +494,41 @@ static struct phy_driver realtek_drvs[] = { - .drv.name = "RTL8211 Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, - .config_aneg = rtl8211_config_aneg, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc912), - .drv.name = "RTL8211B Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc913), - .drv.name = "RTL8211C Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, - .config_init = rtl8211c_config_init, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc914), - .drv.name = "RTL8211DN Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc915), - .drv.name = "RTL8211E Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, -+ .config_init = &rtl8211e_config_init, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc916), - .drv.name = "RTL8211F Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, -+ .probe = rtl821x_probe, - .config_init = &rtl8211f_config_init, -+ .read_status = rtlgen_read_status, - .read_page = rtl821x_read_page, - .write_page = rtl821x_write_page, - }, { -@@ -196,11 +538,56 @@ static struct phy_driver realtek_drvs[] = { - .config_init = &rtl8211f_config_init, - .read_page = rtl821x_read_page, - .write_page = rtl821x_write_page, -+ }, { -+ PHY_ID_MATCH_EXACT(RTL_8211FVD_PHYID), -+ .drv.name = "RTL8211F-VD Gigabit Ethernet", -+ .features = PHY_GBIT_FEATURES, -+ .probe = rtl821x_probe, -+ .config_init = &rtl8211f_config_init, -+ .read_status = rtlgen_read_status, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, -+ }, { -+ PHY_ID_MATCH_EXACT(0x001cc838), -+ .drv.name = "RTL8226-CG 2.5Gbps PHY", -+ .features = PHY_GBIT_FEATURES, -+ .read_status = rtl822x_read_status, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, -+ }, { -+ PHY_ID_MATCH_EXACT(0x001cc848), -+ .drv.name = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY", -+ .features = PHY_GBIT_FEATURES, -+ .read_status = rtl822x_read_status, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, -+ }, { -+ PHY_ID_MATCH_EXACT(0x001cc849), -+ .drv.name = "RTL8221B-VB-CG 2.5Gbps PHY", -+ .features = PHY_GBIT_FEATURES, -+ .read_status = rtl822x_read_status, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, -+ }, { -+ PHY_ID_MATCH_EXACT(0x001cc84a), -+ .drv.name = "RTL8221B-VM-CG 2.5Gbps PHY", -+ .features = PHY_GBIT_FEATURES, -+ .read_status = rtl822x_read_status, -+ .read_page = rtl821x_read_page, -+ .write_page = rtl821x_write_page, - }, { - PHY_ID_MATCH_EXACT(0x001cc961), - .drv.name = "RTL8366RB Gigabit Ethernet", - .features = PHY_GBIT_FEATURES, - .config_init = &rtl8366rb_config_init, -+ }, { -+ PHY_ID_MATCH_EXACT(0x001cc942), -+ .drv.name = "RTL8365MB-VC Gigabit Ethernet", -+ .features = PHY_GBIT_FEATURES, -+ }, { -+ PHY_ID_MATCH_EXACT(0x001cc960), -+ .drv.name = "RTL8366S Gigabit Ethernet", -+ .features = PHY_GBIT_FEATURES, - }, - }; - -diff --git a/include/linux/phy.h b/include/linux/phy.h -index 04b82d63a51e..26b1136b8a5d 100644 ---- a/include/linux/phy.h -+++ b/include/linux/phy.h -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - - #define PHY_DEFAULT_FEATURES (SUPPORTED_Autoneg | \ - SUPPORTED_TP | \ -@@ -452,11 +453,27 @@ int phy_read_paged(struct phy_device *phydev, int page, u32 regnum); - int phy_write_paged(struct phy_device *phydev, int page, u32 regnum, u16 val); - int phy_modify_paged(struct phy_device *phydev, int page, u32 regnum, - u16 mask, u16 set); -+int phy_modify_paged_changed(struct phy_device *phydev, int page, u32 regnum, -+ u16 mask, u16 set); - - struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id); - int phy_register_device(struct phy_device* dev); - void phy_unregister_device(struct phy_device *phydev); - -+#define phy_read_poll_timeout(phydev, regnum, val, cond, \ -+ timeout_us) \ -+({ \ -+ int __ret, __val; \ -+ __ret = read_poll_timeout(__val = phy_read, val, \ -+ __val < 0 || (cond), \ -+ timeout_us, phydev, regnum); \ -+ if (__val < 0) \ -+ __ret = __val; \ -+ if (__ret) \ -+ dev_err(&((phydev)->dev), "%s failed: %d\n", __func__, __ret); \ -+ __ret; \ -+}) -+ - /** - * phy_read - Convenience function for reading a given PHY register - * @phydev: the phy_device struct -@@ -479,6 +496,7 @@ static inline int phy_write(struct phy_device *phydev, u32 regnum, u16 val) - } - - int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set); -+int phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask, u16 set); - - /** - * phy_set_bits - Convenience function for setting bits in a PHY register -@@ -531,6 +549,7 @@ int phy_update_status(struct phy_device *phydev); - int phy_wait_aneg_done(struct phy_device *phydev); - - /* Generic PHY support and helper functions */ -+int genphy_soft_reset(struct phy_device *phydev); - int genphy_config_init(struct phy_device *phydev); - int genphy_restart_aneg(struct phy_device *phydev); - int genphy_config_aneg(struct phy_device *phydev); -diff --git a/include/linux/string_choices.h b/include/linux/string_choices.h -index 265573343f54..ee84087d4b26 100644 ---- a/include/linux/string_choices.h -+++ b/include/linux/string_choices.h -@@ -2,8 +2,87 @@ - #ifndef _LINUX_STRING_CHOICES_H_ - #define _LINUX_STRING_CHOICES_H_ - -+/* -+ * Here provide a series of helpers in the str_$TRUE_$FALSE format (you can -+ * also expand some helpers as needed), where $TRUE and $FALSE are their -+ * corresponding literal strings. These helpers can be used in the printing -+ * and also in other places where constant strings are required. Using these -+ * helpers offers the following benefits: -+ * 1) Reducing the hardcoding of strings, which makes the code more elegant -+ * through these simple literal-meaning helpers. -+ * 2) Unifying the output, which prevents the same string from being printed -+ * in various forms, such as enable/disable, enabled/disabled, en/dis. -+ * 3) Deduping by the linker, which results in a smaller binary file. -+ */ -+ - #include - -+static inline const char *str_assert_deassert(bool v) -+{ -+ return v ? "assert" : "deassert"; -+} -+#define str_deassert_assert(v) str_assert_deassert(!(v)) -+ -+static inline const char *str_enable_disable(bool v) -+{ -+ return v ? "enable" : "disable"; -+} -+#define str_disable_enable(v) str_enable_disable(!(v)) -+ -+static inline const char *str_enabled_disabled(bool v) -+{ -+ return v ? "enabled" : "disabled"; -+} -+#define str_disabled_enabled(v) str_enabled_disabled(!(v)) -+ -+static inline const char *str_hi_lo(bool v) -+{ -+ return v ? "hi" : "lo"; -+} -+#define str_lo_hi(v) str_hi_lo(!(v)) -+ -+static inline const char *str_high_low(bool v) -+{ -+ return v ? "high" : "low"; -+} -+#define str_low_high(v) str_high_low(!(v)) -+ -+static inline const char *str_input_output(bool v) -+{ -+ return v ? "input" : "output"; -+} -+#define str_output_input(v) str_input_output(!(v)) -+ -+static inline const char *str_on_off(bool v) -+{ -+ return v ? "on" : "off"; -+} -+#define str_off_on(v) str_on_off(!(v)) -+ -+static inline const char *str_read_write(bool v) -+{ -+ return v ? "read" : "write"; -+} -+#define str_write_read(v) str_read_write(!(v)) -+ -+static inline const char *str_true_false(bool v) -+{ -+ return v ? "true" : "false"; -+} -+#define str_false_true(v) str_true_false(!(v)) -+ -+static inline const char *str_up_down(bool v) -+{ -+ return v ? "up" : "down"; -+} -+#define str_down_up(v) str_up_down(!(v)) -+ -+static inline const char *str_yes_no(bool v) -+{ -+ return v ? "yes" : "no"; -+} -+#define str_no_yes(v) str_yes_no(!(v)) -+ - /** - * str_plural - Return the simple pluralization based on English counts - * @num: Number used for deciding pluralization --- -2.47.3 - diff --git a/configs/platform-v8a/patches/barebox-2026.01.0/series b/configs/platform-v8a/patches/barebox-2026.01.0/series deleted file mode 100644 index 12e7d62e2c0d..000000000000 --- a/configs/platform-v8a/patches/barebox-2026.01.0/series +++ /dev/null @@ -1 +0,0 @@ -0001-net-phy-realtek-sync-with-Linux-v6.19-state.patch diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig index 1a9de1f3f65f..f0f917ebb550 100644 --- a/configs/platform-v8a/platformconfig +++ b/configs/platform-v8a/platformconfig @@ -182,10 +182,10 @@ PTXCONF_COMPILERPREFIX_R5="arm-v7a-linux-gnueabihf-" PTXCONF_BAREBOX_ARCH_STRING="arm" PTXCONF_BAREBOX_DEPENDENCIES=y PTXCONF_BAREBOX=y -PTXCONF_BAREBOX_VERSION="2026.01.0" +PTXCONF_BAREBOX_VERSION="2026.03.1" PTXCONF_BAREBOX_CONFIG_BUILDSYSTEM_VERSION=y PTXCONF_BAREBOX_BUILDSYSTEM_VERSION="${PTXDIST_VCS_VERSION}" -PTXCONF_BAREBOX_MD5="82e3fc96c069151779b434043ee0c0e7" +PTXCONF_BAREBOX_MD5="e87f88499e1f16deb60b0c3bf216df85" PTXCONF_BAREBOX_CONFIG="barebox.config" PTXCONF_BAREBOX_FIRMWARE=y PTXCONF_BAREBOX_EXTRA_ENV=y -- 2.47.3