summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configs/platform-v7a/barebox-am335x-mlo.config13
-rw-r--r--configs/platform-v7a/barebox-am335x.config22
-rw-r--r--configs/platform-v7a/barebox-am335x.config.diff5
-rw-r--r--configs/platform-v7a/barebox-at91.config20
-rw-r--r--configs/platform-v7a/barebox-at91.config.diff3
-rw-r--r--configs/platform-v7a/barebox-mx6.config29
-rw-r--r--configs/platform-v7a/barebox-mx6.config.diff11
-rw-r--r--configs/platform-v7a/barebox-rpi2.config20
-rw-r--r--configs/platform-v7a/barebox-rpi2.config.diff3
-rw-r--r--configs/platform-v7a/barebox-stm32mp.config27
-rw-r--r--configs/platform-v7a/barebox-stm32mp.config.diff6
-rw-r--r--configs/platform-v7a/barebox-vexpress.config20
-rw-r--r--configs/platform-v7a/barebox-vexpress.config.diff3
-rw-r--r--configs/platform-v7a/barebox.config21
-rw-r--r--configs/platform-v7a/patches/barebox-2022.04.0/0001-ARM-asm-fix-miscompilation-of-32-bit-ENTRY_FUNCTION_.patch57
-rw-r--r--configs/platform-v7a/patches/barebox-2022.04.0/0002-clk-add-BCM2835-auxiliary-peripheral-clock-driver.patch119
-rw-r--r--configs/platform-v7a/patches/barebox-2022.04.0/0003-clocksource-assign-non-zero-priorities-to-all-clocks.patch492
-rw-r--r--configs/platform-v7a/patches/barebox-2022.04.0/series3
-rw-r--r--configs/platform-v7a/platformconfig4
19 files changed, 842 insertions, 36 deletions
diff --git a/configs/platform-v7a/barebox-am335x-mlo.config b/configs/platform-v7a/barebox-am335x-mlo.config
index dd22fd8..e6d96e7 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 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_USE_COMPRESSED_DTB=y
@@ -332,6 +332,7 @@ CONFIG_CLOCKSOURCE_TI_DM=y
# CONFIG_SRAM is not set
# CONFIG_DEV_MEM is not set
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
# CONFIG_LED is not set
@@ -421,11 +422,21 @@ CONFIG_TI_SYSC=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
diff --git a/configs/platform-v7a/barebox-am335x.config b/configs/platform-v7a/barebox-am335x.config
index 6ff4e96..3554401 100644
--- a/configs/platform-v7a/barebox-am335x.config
+++ b/configs/platform-v7a/barebox-am335x.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Barebox/arm 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -268,8 +268,10 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -684,6 +686,7 @@ CONFIG_CLOCKSOURCE_TI_DM=y
# CONFIG_MFD_TWL4030 is not set
# CONFIG_MFD_TWL6030 is not set
# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_RN568PMIC is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# end of Multifunction device drivers
@@ -695,6 +698,7 @@ CONFIG_CLOCKSOURCE_TI_DM=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -806,11 +810,21 @@ CONFIG_REGULATOR_FIXED=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -918,9 +932,9 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
-CONFIG_DIGEST_HMAC=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
+CONFIG_HAVE_DIGEST_HMAC=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/barebox-am335x.config.diff b/configs/platform-v7a/barebox-am335x.config.diff
index dff2c91..d13e6f8 100644
--- a/configs/platform-v7a/barebox-am335x.config.diff
+++ b/configs/platform-v7a/barebox-am335x.config.diff
@@ -1,4 +1,4 @@
-232929d64c236508ee3b5a0283b35315
+e763acc45047a436f8f51a20f6c5e230
# CONFIG_AM33XX_NET_BOOT is not set
CONFIG_ARCH_AM33XX=y
# CONFIG_ARCH_BCM283X is not set
@@ -7,6 +7,7 @@ CONFIG_ARCH_OMAP=y
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_ARM_BOARD_APPEND_ATAG=y
# CONFIG_ARM_BOARD_PREPEND_ATAG is not set
+# CONFIG_ARM_SCMI_PROTOCOL is undefined
# CONFIG_ARM_SECURE_MONITOR is undefined
# CONFIG_ARM_SMCCC is undefined
CONFIG_ARM_USE_COMPRESSED_DTB=y
@@ -32,7 +33,6 @@ CONFIG_CMD_NAND=y
CONFIG_CONSOLE_ACTIVATE_NONE=y
CONFIG_CRYPTO_KEYSTORE=y
CONFIG_DEBUG_OMAP_UART_PORT=1
-CONFIG_DIGEST_HMAC=y
CONFIG_DIGEST_HMAC_GENERIC=y
CONFIG_DRIVER_NET_CPSW=y
# CONFIG_DRIVER_NET_DESIGNWARE_EQOS is undefined
@@ -51,6 +51,7 @@ CONFIG_GPIO_OMAP=y
# CONFIG_GPIO_RASPBERRYPI_EXP is undefined
# CONFIG_GREGORIAN_CALENDER is undefined
# CONFIG_HAVE_CLK is undefined
+CONFIG_HAVE_DIGEST_HMAC=y
# CONFIG_I2C_MV64XXX is undefined
CONFIG_I2C_OMAP=y
CONFIG_IMAGE_SPARSE=y
diff --git a/configs/platform-v7a/barebox-at91.config b/configs/platform-v7a/barebox-at91.config
index cdfb79b..a0382de 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 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -265,9 +265,11 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_AT91CLK=y
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -644,6 +646,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TWL4030 is not set
# CONFIG_MFD_TWL6030 is not set
# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_RN568PMIC is not set
CONFIG_MFD_ATMEL_FLEXCOM=y
# end of Multifunction device drivers
@@ -655,6 +658,7 @@ CONFIG_MFD_ATMEL_FLEXCOM=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -759,11 +763,21 @@ CONFIG_REGULATOR_FIXED=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -863,8 +877,8 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/barebox-at91.config.diff b/configs/platform-v7a/barebox-at91.config.diff
index 6b8c31c..8f173ec 100644
--- a/configs/platform-v7a/barebox-at91.config.diff
+++ b/configs/platform-v7a/barebox-at91.config.diff
@@ -1,8 +1,9 @@
-232929d64c236508ee3b5a0283b35315
+e763acc45047a436f8f51a20f6c5e230
CONFIG_ARCH_AT91=y
# CONFIG_ARCH_BCM283X is not set
CONFIG_ARCH_TEXT_BASE=0x23f00000
# CONFIG_ARM_AMBA is undefined
+# CONFIG_ARM_SCMI_PROTOCOL is undefined
# CONFIG_ARM_SECURE_MONITOR is undefined
# CONFIG_ARM_SMCCC is undefined
CONFIG_ARM_USE_COMPRESSED_DTB=y
diff --git a/configs/platform-v7a/barebox-mx6.config b/configs/platform-v7a/barebox-mx6.config
index 04f841d..23d2fb6 100644
--- a/configs/platform-v7a/barebox-mx6.config
+++ b/configs/platform-v7a/barebox-mx6.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Barebox/arm 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -85,6 +85,7 @@ CONFIG_IMX_MULTI_BOARDS=y
# CONFIG_MACH_GK802 is not set
# CONFIG_MACH_ELTEC_HIPERCAM is not set
# CONFIG_MACH_TQMA6X is not set
+# CONFIG_MACH_TQMA6UL is not set
# CONFIG_MACH_TX6X is not set
CONFIG_MACH_SABRELITE=y
# CONFIG_MACH_SABRESD is not set
@@ -339,8 +340,10 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -748,6 +751,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_ILI9341 is not set
# CONFIG_SOUND is not set
CONFIG_MCI_SDHCI=y
CONFIG_MCI=y
@@ -801,6 +805,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TWL4030 is not set
# CONFIG_MFD_TWL6030 is not set
# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_RN568PMIC is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# end of Multifunction device drivers
@@ -812,6 +817,7 @@ CONFIG_MFD_SYSCON=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -944,11 +950,21 @@ CONFIG_USB_NOP_XCEIV=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -989,6 +1005,7 @@ CONFIG_FS_FAT_LFN=y
CONFIG_FS_UBIFS=y
CONFIG_FS_UBIFS_COMPRESSION_LZO=y
# CONFIG_FS_UBIFS_COMPRESSION_ZLIB is not set
+CONFIG_FS_UBIFS_COMPRESSION_ZSTD=y
# CONFIG_FS_BPKFS is not set
# CONFIG_FS_UIMAGEFS is not set
# CONFIG_FS_PSTORE is not set
@@ -1020,10 +1037,11 @@ CONFIG_FS_UBIFS_COMPRESSION_LZO=y
#
CONFIG_PARAMETER=y
CONFIG_UNCOMPRESS=y
+CONFIG_XXHASH=y
CONFIG_ZLIB=y
CONFIG_BZLIB=y
# CONFIG_LZ4_DECOMPRESS is not set
-# CONFIG_ZSTD_DECOMPRESS is not set
+CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DECOMPRESS=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
@@ -1053,6 +1071,7 @@ CONFIG_LIBFDT=y
CONFIG_IMAGE_RENDERER=y
# CONFIG_BMP is not set
CONFIG_PNG=y
+# CONFIG_QOI is not set
CONFIG_LODEPNG=y
# CONFIG_PICOPNG is not set
# end of Library gui routines
@@ -1070,9 +1089,9 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
-CONFIG_DIGEST_HMAC=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
+CONFIG_HAVE_DIGEST_HMAC=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/barebox-mx6.config.diff b/configs/platform-v7a/barebox-mx6.config.diff
index 15cb5c6..36ba290 100644
--- a/configs/platform-v7a/barebox-mx6.config.diff
+++ b/configs/platform-v7a/barebox-mx6.config.diff
@@ -1,4 +1,4 @@
-232929d64c236508ee3b5a0283b35315
+e763acc45047a436f8f51a20f6c5e230
# CONFIG_ARCH_BCM283X is not set
CONFIG_ARCH_HAS_FEC_IMX=y
CONFIG_ARCH_HAS_IMX_GPT=y
@@ -10,6 +10,7 @@ CONFIG_ARCH_IMX_IMXIMAGE=y
# CONFIG_ARCH_IMX_USBLOADER is not set
CONFIG_ARCH_TEXT_BASE=0x4fc00000
CONFIG_ARM_ASM_UNIFIED=y
+# CONFIG_ARM_SCMI_PROTOCOL is undefined
# CONFIG_ARM_SECURE_MONITOR is undefined
# CONFIG_ARM_SMCCC is undefined
CONFIG_AT803X_PHY=y
@@ -38,7 +39,6 @@ CONFIG_CONSOLE_ACTIVATE_NONE=y
CONFIG_CRYPTO_KEYSTORE=y
CONFIG_DEBUG_IMX_UART_PORT=1
CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW_DFU=y
-CONFIG_DIGEST_HMAC=y
CONFIG_DIGEST_HMAC_GENERIC=y
CONFIG_DISK_AHCI=y
CONFIG_DISK_AHCI_IMX=y
@@ -59,6 +59,7 @@ CONFIG_DRIVER_VIDEO_IMX_IPUV3=y
CONFIG_DRIVER_VIDEO_IMX_IPUV3_LVDS=y
# CONFIG_DRIVER_VIDEO_IMX_IPUV3_PARALLEL is not set
# CONFIG_DRIVER_VIDEO_MTL017 is not set
+# CONFIG_DRIVER_VIDEO_PANEL_ILITEK_ILI9341 is not set
CONFIG_DRIVER_VIDEO_SIMPLEFB=y
# CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT is not set
# CONFIG_DRIVER_VIDEO_SIMPLE_PANEL is not set
@@ -71,10 +72,12 @@ CONFIG_FASTBOOT_SPARSE=y
CONFIG_FS_UBIFS=y
CONFIG_FS_UBIFS_COMPRESSION_LZO=y
# CONFIG_FS_UBIFS_COMPRESSION_ZLIB is not set
+CONFIG_FS_UBIFS_COMPRESSION_ZSTD=y
CONFIG_GENERIC_PHY=y
CONFIG_GPIO_IMX=y
# CONFIG_GPIO_RASPBERRYPI_EXP is undefined
# CONFIG_HABV4 is not set
+CONFIG_HAVE_DIGEST_HMAC=y
# CONFIG_HWRNG is not set
CONFIG_HW_HAS_PCI=y
CONFIG_I2C_IMX=y
@@ -146,6 +149,7 @@ CONFIG_MACH_SABRELITE=y
# CONFIG_MACH_TECHNEXION_PICO_HOBBIT is not set
# CONFIG_MACH_TECHNEXION_WANDBOARD is not set
# CONFIG_MACH_TQMA53 is not set
+# CONFIG_MACH_TQMA6UL is not set
# CONFIG_MACH_TQMA6X is not set
# CONFIG_MACH_TX25 is not set
# CONFIG_MACH_TX53 is not set
@@ -212,6 +216,7 @@ CONFIG_PRINTF_UUID=y
CONFIG_PROMPT="barebox:"
CONFIG_PWM=y
CONFIG_PWM_IMX=y
+# CONFIG_QOI is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_BCM283X is undefined
CONFIG_REGULATOR_FIXED=y
@@ -238,3 +243,5 @@ CONFIG_VIDEO_VPL=y
# CONFIG_WATCHDOG_BCM2835 is undefined
CONFIG_WATCHDOG_IMX=y
CONFIG_WATCHDOG_IMX_RESET_SOURCE=y
+CONFIG_XXHASH=y
+CONFIG_ZSTD_DECOMPRESS=y
diff --git a/configs/platform-v7a/barebox-rpi2.config b/configs/platform-v7a/barebox-rpi2.config
index 4f24159..67e1923 100644
--- a/configs/platform-v7a/barebox-rpi2.config
+++ b/configs/platform-v7a/barebox-rpi2.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Barebox/arm 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -249,8 +249,10 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -630,6 +632,7 @@ CONFIG_CLOCKSOURCE_ARM_ARCHITECTED_TIMER=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -717,6 +720,7 @@ CONFIG_REGULATOR_BCM283X=y
# Firmware Drivers
#
# CONFIG_FIRMWARE_ALTERA_SERIAL is not set
+# CONFIG_ARM_SCMI_PROTOCOL is not set
# end of Firmware Drivers
#
@@ -736,11 +740,21 @@ CONFIG_USB_NOP_XCEIV=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -847,8 +861,8 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/barebox-rpi2.config.diff b/configs/platform-v7a/barebox-rpi2.config.diff
index 23f1c14..42233c5 100644
--- a/configs/platform-v7a/barebox-rpi2.config.diff
+++ b/configs/platform-v7a/barebox-rpi2.config.diff
@@ -1,4 +1,4 @@
-232929d64c236508ee3b5a0283b35315
+e763acc45047a436f8f51a20f6c5e230
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_BOOTM_INITRD=y
# CONFIG_CMD_I2C is undefined
@@ -36,6 +36,7 @@ CONFIG_MCI_SDHCI=y
# CONFIG_MFD_LP3972 is undefined
# CONFIG_MFD_MC34704 is undefined
# CONFIG_MFD_MC9SDZ60 is undefined
+# CONFIG_MFD_RN568PMIC is undefined
# CONFIG_MFD_STMPE is undefined
# CONFIG_MFD_STPMIC1 is undefined
# CONFIG_MFD_TWL4030 is undefined
diff --git a/configs/platform-v7a/barebox-stm32mp.config b/configs/platform-v7a/barebox-stm32mp.config
index 4d1c78d..23751d5 100644
--- a/configs/platform-v7a/barebox-stm32mp.config
+++ b/configs/platform-v7a/barebox-stm32mp.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Barebox/arm 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -10,6 +10,7 @@ CONFIG_TEXT_BASE=0x0
#
# System Type
#
+CONFIG_ARCH_STM32=y
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_BCM283X is not set
# CONFIG_ARCH_CLPS711X is not set
@@ -51,11 +52,13 @@ CONFIG_CPU_32v7=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0xffffffff
CONFIG_ARCH_NR_GPIO=416
CONFIG_ARCH_STM32MP157=y
+# CONFIG_MACH_STM32MP13XX_DK is not set
CONFIG_MACH_STM32MP15XX_DKX=y
CONFIG_MACH_LXA_MC1=y
# CONFIG_MACH_SEEED_ODYSSEY is not set
CONFIG_MACH_STM32MP15X_EV1=y
# CONFIG_MACH_PROTONIC_STM32MP1 is not set
+# CONFIG_MACH_PHYTEC_PHYCORE_STM32MP1 is not set
# CONFIG_BOARD_ARM_GENERIC_DT is not set
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_AEABI=y
@@ -246,8 +249,10 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -571,6 +576,7 @@ CONFIG_COMMON_CLK_OF_PROVIDER=y
CONFIG_CLOCKSOURCE_DUMMY_RATE=1000
CONFIG_CLOCKSOURCE_ARM_ARCHITECTED_TIMER=y
# CONFIG_CLOCKSOURCE_DW_APB_TIMER is not set
+# CONFIG_CLKSRC_STM32 is not set
# end of Clocksource
#
@@ -588,6 +594,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TWL4030 is not set
# CONFIG_MFD_TWL6030 is not set
CONFIG_MFD_STPMIC1=y
+# CONFIG_MFD_RN568PMIC is not set
CONFIG_MFD_STM32_TIMERS=y
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# end of Multifunction device drivers
@@ -600,6 +607,7 @@ CONFIG_MFD_STM32_TIMERS=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -693,12 +701,12 @@ CONFIG_STM32_REMOTEPROC=y
CONFIG_ARCH_HAS_RESET_CONTROLLER=y
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_IMX7 is not set
-CONFIG_RESET_STM32=y
# CONFIG_RTC_CLASS is not set
#
# Firmware Drivers
#
+# CONFIG_ARM_SCMI_PROTOCOL is not set
# end of Firmware Drivers
#
@@ -716,11 +724,21 @@ CONFIG_RESET_STM32=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -731,6 +749,7 @@ CONFIG_RESET_STM32=y
# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
# CONFIG_POWER_RESET_GPIO is not set
# CONFIG_POWER_RESET_GPIO_RESTART is not set
+CONFIG_RESET_STM32=y
# CONFIG_VIRTIO_MENU is not set
# end of Drivers
@@ -821,8 +840,8 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/barebox-stm32mp.config.diff b/configs/platform-v7a/barebox-stm32mp.config.diff
index bd73049..9d8dd43 100644
--- a/configs/platform-v7a/barebox-stm32mp.config.diff
+++ b/configs/platform-v7a/barebox-stm32mp.config.diff
@@ -1,7 +1,8 @@
-232929d64c236508ee3b5a0283b35315
+e763acc45047a436f8f51a20f6c5e230
# CONFIG_ARCH_BCM283X is not set
CONFIG_ARCH_HAS_RESET_CONTROLLER=y
CONFIG_ARCH_NR_GPIO=416
+CONFIG_ARCH_STM32=y
CONFIG_ARCH_STM32MP157=y
CONFIG_ARCH_STM32MP=y
# CONFIG_ARCH_TEXT_BASE is undefined
@@ -18,6 +19,7 @@ CONFIG_AT803X_PHY=y
CONFIG_BOOTM_INITRD=y
CONFIG_BOOTM_OFTREE_UIMAGE=y
# CONFIG_BZLIB is not set
+# CONFIG_CLKSRC_STM32 is not set
# CONFIG_CLOCKSOURCE_BCM283X is undefined
# CONFIG_CMD_BOOTZ is not set
# CONFIG_CMD_DEFAULTENV is not set
@@ -64,6 +66,7 @@ CONFIG_LED_PWM=y
# CONFIG_LED_TRIGGERS is not set
# CONFIG_LIBFDT is undefined
CONFIG_MACH_LXA_MC1=y
+# CONFIG_MACH_PHYTEC_PHYCORE_STM32MP1 is not set
# CONFIG_MACH_PROTONIC_STM32MP1 is not set
# CONFIG_MACH_RPI2 is undefined
# CONFIG_MACH_RPI3 is undefined
@@ -71,6 +74,7 @@ CONFIG_MACH_LXA_MC1=y
# CONFIG_MACH_RPI_CM3 is undefined
# CONFIG_MACH_RPI_COMMON is undefined
# CONFIG_MACH_SEEED_ODYSSEY is not set
+# CONFIG_MACH_STM32MP13XX_DK is not set
CONFIG_MACH_STM32MP15XX_DKX=y
CONFIG_MACH_STM32MP15X_EV1=y
# CONFIG_MCI_BCM283X is undefined
diff --git a/configs/platform-v7a/barebox-vexpress.config b/configs/platform-v7a/barebox-vexpress.config
index 3b017b6..33d166c 100644
--- a/configs/platform-v7a/barebox-vexpress.config
+++ b/configs/platform-v7a/barebox-vexpress.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Barebox/arm 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -238,8 +238,10 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -636,6 +638,7 @@ CONFIG_CLOCKSOURCE_ARM_ARCHITECTED_TIMER=y
# CONFIG_MFD_TWL4030 is not set
# CONFIG_MFD_TWL6030 is not set
# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_RN568PMIC is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# end of Multifunction device drivers
@@ -646,6 +649,7 @@ CONFIG_SRAM=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -724,11 +728,21 @@ CONFIG_REGULATOR=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -832,8 +846,8 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/barebox-vexpress.config.diff b/configs/platform-v7a/barebox-vexpress.config.diff
index e9dcf7c..3548882 100644
--- a/configs/platform-v7a/barebox-vexpress.config.diff
+++ b/configs/platform-v7a/barebox-vexpress.config.diff
@@ -1,7 +1,8 @@
-232929d64c236508ee3b5a0283b35315
+e763acc45047a436f8f51a20f6c5e230
CONFIG_AMBA_SP804=y
# CONFIG_ARCH_BCM283X is not set
CONFIG_ARCH_VEXPRESS=y
+# CONFIG_ARM_SCMI_PROTOCOL is undefined
# CONFIG_ARM_SECURE_MONITOR is undefined
# CONFIG_ARM_SMCCC is undefined
CONFIG_BOOTM_INITRD=y
diff --git a/configs/platform-v7a/barebox.config b/configs/platform-v7a/barebox.config
index 1992c65..62db947 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 2022.01.0 Configuration
+# Barebox/arm 2022.04.0 Configuration
#
CONFIG_ARM=y
CONFIG_ARM_LINUX=y
@@ -250,8 +250,10 @@ CONFIG_COMPILE_HASH=y
#
# Information
#
+# CONFIG_CMD_TUTORIAL is not set
CONFIG_CMD_ARM_CPUINFO=y
CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DEVUNBIND is not set
CONFIG_CMD_DMESG=y
CONFIG_CMD_DRVINFO=y
CONFIG_CMD_HELP=y
@@ -650,6 +652,7 @@ CONFIG_CLOCKSOURCE_ARM_ARCHITECTED_TIMER=y
# CONFIG_MFD_TWL4030 is not set
# CONFIG_MFD_TWL6030 is not set
# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_RN568PMIC is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# end of Multifunction device drivers
@@ -661,6 +664,7 @@ CONFIG_CLOCKSOURCE_ARM_ARCHITECTED_TIMER=y
CONFIG_STATE_DRV=y
CONFIG_DEV_MEM=y
# CONFIG_UBOOTVAR is not set
+# CONFIG_STORAGE_BY_UUID is not set
# end of Misc devices
CONFIG_LED=y
@@ -751,6 +755,7 @@ CONFIG_REGULATOR_BCM283X=y
# Firmware Drivers
#
# CONFIG_FIRMWARE_ALTERA_SERIAL is not set
+# CONFIG_ARM_SCMI_PROTOCOL is not set
# end of Firmware Drivers
#
@@ -768,11 +773,21 @@ CONFIG_REGULATOR_BCM283X=y
# end of Memory controller drivers
#
+# SoC drivers
+#
+
+#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
+# KVX SoC drivers
+#
+# end of KVX SoC drivers
+# end of SoC drivers
+
+#
# NVME Support
#
# end of NVME Support
@@ -878,8 +893,8 @@ CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
#
CONFIG_CRC32=y
CONFIG_DIGEST=y
-CONFIG_MD5=y
-CONFIG_SHA1=y
+CONFIG_HAVE_DIGEST_MD5=y
+CONFIG_HAVE_DIGEST_SHA1=y
# CONFIG_DIGEST_CRC32_GENERIC is not set
CONFIG_DIGEST_MD5_GENERIC=y
CONFIG_DIGEST_SHA1_GENERIC=y
diff --git a/configs/platform-v7a/patches/barebox-2022.04.0/0001-ARM-asm-fix-miscompilation-of-32-bit-ENTRY_FUNCTION_.patch b/configs/platform-v7a/patches/barebox-2022.04.0/0001-ARM-asm-fix-miscompilation-of-32-bit-ENTRY_FUNCTION_.patch
new file mode 100644
index 0000000..21088e9
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2022.04.0/0001-ARM-asm-fix-miscompilation-of-32-bit-ENTRY_FUNCTION_.patch
@@ -0,0 +1,57 @@
+From 687c229fb85f1116eef2a103617e44dd0bca0953 Mon Sep 17 00:00:00 2001
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+Date: Fri, 22 Apr 2022 14:47:53 +0200
+Subject: [PATCH 1/5] ARM: asm: fix miscompilation of 32-bit
+ ENTRY_FUNCTION_WITHSTACK
+
+gcc-11.1.1 shipped with OSELAS.Toolchain-2021.07.0 hoists a single
+instruction from __ARM_SETUP_STACK in front of __barebox_arm_head
+breaking the barebox header format for the Raspberry Pi 3. This can't
+happen with ARM64 and the Raspberry Pi entry points are currently the
+only 32-bit users.
+
+While the resulting barebox image was still bootable, header detection
+would fail. Add an intermediate naked function to work around this.
+
+This is not required for plain ENTRY_FUNCTION, because the
+board-supplied entry point is already NAKED. For
+ENTRY_FUNCTION_WITH_FUNCTION, that same entry point is intentionally
+non-naked to reduce pitfalls for board code authors..
+
+Fixes: 880c9803b95a ("ARM: implement ENTRY_FUNCTION_WITHSTACK")
+Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
+---
+ arch/arm/include/asm/barebox-arm.h | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/include/asm/barebox-arm.h b/arch/arm/include/asm/barebox-arm.h
+index d915cde294a4..8b0c00633277 100644
+--- a/arch/arm/include/asm/barebox-arm.h
++++ b/arch/arm/include/asm/barebox-arm.h
+@@ -194,15 +194,21 @@ static inline unsigned long arm_mem_barebox_image(unsigned long membase,
+ void name(ulong r0, ulong r1, ulong r2); \
+ \
+ static void __##name(ulong, ulong, ulong); \
++ static void ____##name(ulong, ulong, ulong); \
+ \
+ void NAKED __section(.text_head_entry_##name) name \
+ (ulong r0, ulong r1, ulong r2) \
+ { \
+ __barebox_arm_head(); \
+- __ARM_SETUP_STACK(stack_top); \
+ __##name(r0, r1, r2); \
+ } \
+- static void noinline __##name \
++ static void NAKED noinline __##name \
++ (ulong r0, ulong r1, ulong r2) \
++ { \
++ __ARM_SETUP_STACK(stack_top); \
++ ____##name(r0, r1, r2); \
++ } \
++ static void noinline ____##name \
+ (ulong arg0, ulong arg1, ulong arg2)
+
+
+--
+2.30.2
+
diff --git a/configs/platform-v7a/patches/barebox-2022.04.0/0002-clk-add-BCM2835-auxiliary-peripheral-clock-driver.patch b/configs/platform-v7a/patches/barebox-2022.04.0/0002-clk-add-BCM2835-auxiliary-peripheral-clock-driver.patch
new file mode 100644
index 0000000..3f6be20
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2022.04.0/0002-clk-add-BCM2835-auxiliary-peripheral-clock-driver.patch
@@ -0,0 +1,119 @@
+From 36f37ded70ed0256f56fb095e7a5854394c30b9e Mon Sep 17 00:00:00 2001
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+Date: Fri, 22 Apr 2022 15:56:19 +0200
+Subject: [PATCH 2/5] clk: add BCM2835 auxiliary peripheral clock driver
+
+Commit f6ce1103fdc4 ("ARM: rpi: move clk support to a separate driver")
+replaced board code setting up clocks with clkdev_add_physbase() with a
+proper cprman driver that registers fixed clocks and can be referenced
+from device tree.
+
+It was not fully equivalent though, because the mini UART's clock was no
+longer registered as that is provided by a different clock controller.
+
+Import the Linux v5.17 bcm2835-aux-clk driver to fix console usage on
+Raspberry Pi 3b.
+
+Fixes: f6ce1103fdc4 ("ARM: rpi: move clk support to a separate driver")
+Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
+---
+ drivers/clk/Makefile | 1 +
+ drivers/clk/bcm/Makefile | 2 +
+ drivers/clk/bcm/clk-bcm2835-aux.c | 66 +++++++++++++++++++++++++++++++
+ 3 files changed, 69 insertions(+)
+ create mode 100644 drivers/clk/bcm/Makefile
+ create mode 100644 drivers/clk/bcm/clk-bcm2835-aux.c
+
+diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
+index ee503c1edb5f..baf452de9873 100644
+--- a/drivers/clk/Makefile
++++ b/drivers/clk/Makefile
+@@ -26,4 +26,5 @@ obj-$(CONFIG_CLK_SIFIVE) += sifive/
+ obj-$(CONFIG_SOC_STARFIVE) += starfive/
+ obj-$(CONFIG_COMMON_CLK_STM32F) += clk-stm32f4.o
+ obj-$(CONFIG_MACH_RPI_COMMON) += clk-rpi.o
++obj-y += bcm/
+ obj-$(CONFIG_COMMON_CLK_SCMI) += clk-scmi.o
+diff --git a/drivers/clk/bcm/Makefile b/drivers/clk/bcm/Makefile
+new file mode 100644
+index 000000000000..1539e9f592a8
+--- /dev/null
++++ b/drivers/clk/bcm/Makefile
+@@ -0,0 +1,2 @@
++# SPDX-License-Identifier: GPL-2.0-only
++obj-$(CONFIG_ARCH_BCM283X) += clk-bcm2835-aux.o
+diff --git a/drivers/clk/bcm/clk-bcm2835-aux.c b/drivers/clk/bcm/clk-bcm2835-aux.c
+new file mode 100644
+index 000000000000..385cfd5d3f06
+--- /dev/null
++++ b/drivers/clk/bcm/clk-bcm2835-aux.c
+@@ -0,0 +1,66 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright (C) 2015 Broadcom
++ */
++
++#include <linux/clk.h>
++#include <io.h>
++#include <of_address.h>
++#include <driver.h>
++#include <init.h>
++#include <dt-bindings/clock/bcm2835-aux.h>
++
++#define BCM2835_AUXIRQ 0x00
++#define BCM2835_AUXENB 0x04
++
++static int bcm2835_aux_clk_probe(struct device_d *dev)
++{
++ struct clk_hw_onecell_data *onecell;
++ const char *parent;
++ struct clk *parent_clk;
++ void __iomem *reg, *gate;
++
++ parent_clk = clk_get(dev, NULL);
++ if (IS_ERR(parent_clk))
++ return PTR_ERR(parent_clk);
++ parent = __clk_get_name(parent_clk);
++
++ reg = of_iomap(dev->device_node, 0);
++ if (!reg)
++ return -ENOMEM;
++
++ onecell = kmalloc(struct_size(onecell, hws, BCM2835_AUX_CLOCK_COUNT),
++ GFP_KERNEL);
++ if (!onecell)
++ return -ENOMEM;
++ onecell->num = BCM2835_AUX_CLOCK_COUNT;
++
++ gate = reg + BCM2835_AUXENB;
++ onecell->hws[BCM2835_AUX_CLOCK_UART] =
++ clk_hw_register_gate(dev, "aux_uart", parent, 0, gate, 0, 0, NULL);
++
++ onecell->hws[BCM2835_AUX_CLOCK_SPI1] =
++ clk_hw_register_gate(dev, "aux_spi1", parent, 0, gate, 1, 0, NULL);
++
++ onecell->hws[BCM2835_AUX_CLOCK_SPI2] =
++ clk_hw_register_gate(dev, "aux_spi2", parent, 0, gate, 2, 0, NULL);
++
++ return of_clk_add_hw_provider(dev->device_node, of_clk_hw_onecell_get,
++ onecell);
++}
++
++static const struct of_device_id bcm2835_aux_clk_of_match[] = {
++ { .compatible = "brcm,bcm2835-aux", },
++ {},
++};
++
++static struct driver_d bcm2835_aux_clk_driver = {
++ .name = "bcm2835-aux-clk",
++ .of_compatible = bcm2835_aux_clk_of_match,
++ .probe = bcm2835_aux_clk_probe,
++};
++core_platform_driver(bcm2835_aux_clk_driver);
++
++MODULE_AUTHOR("Eric Anholt <eric@anholt.net>");
++MODULE_DESCRIPTION("BCM2835 auxiliary peripheral clock driver");
++MODULE_LICENSE("GPL");
+--
+2.30.2
+
diff --git a/configs/platform-v7a/patches/barebox-2022.04.0/0003-clocksource-assign-non-zero-priorities-to-all-clocks.patch b/configs/platform-v7a/patches/barebox-2022.04.0/0003-clocksource-assign-non-zero-priorities-to-all-clocks.patch
new file mode 100644
index 0000000..8610985
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2022.04.0/0003-clocksource-assign-non-zero-priorities-to-all-clocks.patch
@@ -0,0 +1,492 @@
+From 4c82930465ae4652ca5eb8cb808873858c1120a2 Mon Sep 17 00:00:00 2001
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+Date: Fri, 22 Apr 2022 17:22:32 +0200
+Subject: [PATCH 3/5] clocksource: assign non-zero priorities to all
+ clocksources
+
+Most barebox clocksources have a zero priority and if multiple of them
+exist, but no higher priority ones, the first to call init_clock wins.
+
+Some supported boards like the Raspberry Pi additionally depended on
+initcall ordering to favor one zero-priority clocksource over another.
+With the move to deep probe and with Commit b641580deb8c ("of: platform:
+Ensure timers are probed early"), device tree blob iteration order could
+now dictate which clocksource is ultimately used. This led to a 20 times
+slower clock source being chosen on the Raspberry Pi, because the ARM
+architected timer was taken instead of the bcm2835 timer.
+
+Fix the root cause by assigning priorities to all clocksource drivers.
+Priorities chosen are:
+
+ 50: device_initcall
+ 60: coredevice_initcall
+ 70: postcore_initcall
+ 80: core_initcall
+
+These priorities are all below 100, which was previously the lowest
+positive priority and as they are positive, they win against the dummy
+clocksource. This should ensure no priority inversion happens.
+
+Fixes: b641580deb8c ("of: platform: Ensure timers are probed early")
+Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
+---
+ arch/arm/mach-at91/at91rm9200_time.c | 1 +
+ arch/arm/mach-davinci/time.c | 1 +
+ arch/arm/mach-ep93xx/clocksource.c | 1 +
+ arch/arm/mach-mxs/clocksource-imx23.c | 1 +
+ arch/arm/mach-mxs/clocksource-imx28.c | 1 +
+ arch/arm/mach-pxa/clocksource.c | 1 +
+ arch/arm/mach-samsung/s3c-timer.c | 1 +
+ arch/arm/mach-tegra/tegra20-timer.c | 1 +
+ arch/arm/mach-versatile/core.c | 1 +
+ arch/mips/lib/csrc-r4k.c | 1 +
+ arch/mips/mach-xburst/csrc-jz4750.c | 1 +
+ arch/openrisc/lib/clock.c | 1 +
+ arch/powerpc/mach-mpc5xxx/time.c | 1 +
+ arch/powerpc/mach-mpc85xx/time.c | 1 +
+ arch/sandbox/board/clock.c | 1 +
+ drivers/clocksource/amba-sp804.c | 1 +
+ drivers/clocksource/arm_architected_timer.c | 1 +
+ drivers/clocksource/arm_global_timer.c | 1 +
+ drivers/clocksource/arm_smp_twd.c | 1 +
+ drivers/clocksource/armv7m_systick.c | 1 +
+ drivers/clocksource/bcm2835.c | 1 +
+ drivers/clocksource/clps711x.c | 1 +
+ drivers/clocksource/digic.c | 1 +
+ drivers/clocksource/dw_apb_timer.c | 1 +
+ drivers/clocksource/efi.c | 1 +
+ drivers/clocksource/kvx_timer.c | 1 +
+ drivers/clocksource/mvebu.c | 1 +
+ drivers/clocksource/nomadik.c | 1 +
+ drivers/clocksource/orion.c | 1 +
+ drivers/clocksource/rk_timer.c | 1 +
+ drivers/clocksource/timer-atmel-pit.c | 1 +
+ drivers/clocksource/timer-imx-gpt.c | 1 +
+ drivers/clocksource/timer-ti-32k.c | 1 +
+ drivers/clocksource/timer-ti-dm.c | 1 +
+ drivers/clocksource/uemd.c | 1 +
+ 35 files changed, 35 insertions(+)
+
+diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c
+index ccbefbbc33a2..110d77088169 100644
+--- a/arch/arm/mach-at91/at91rm9200_time.c
++++ b/arch/arm/mach-at91/at91rm9200_time.c
+@@ -35,6 +35,7 @@ static struct clocksource cs = {
+ .mask = CLOCKSOURCE_MASK(20),
+ .read = at91rm9200_clocksource_read,
+ .shift = 10,
++ .priority = 80,
+ };
+
+ static int clocksource_init (void)
+diff --git a/arch/arm/mach-davinci/time.c b/arch/arm/mach-davinci/time.c
+index 52b3ac3e6823..c54e49470b72 100644
+--- a/arch/arm/mach-davinci/time.c
++++ b/arch/arm/mach-davinci/time.c
+@@ -96,6 +96,7 @@ static uint64_t davinci_cs_read(void)
+ static struct clocksource davinci_cs = {
+ .read = davinci_cs_read,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 80,
+ };
+
+ static int timer32_config(struct timer_s *t)
+diff --git a/arch/arm/mach-ep93xx/clocksource.c b/arch/arm/mach-ep93xx/clocksource.c
+index 1f3ff7f8f20a..e2a3a397803f 100644
+--- a/arch/arm/mach-ep93xx/clocksource.c
++++ b/arch/arm/mach-ep93xx/clocksource.c
+@@ -37,6 +37,7 @@ static struct clocksource cs = {
+ .read = ep93xx_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 80,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/arm/mach-mxs/clocksource-imx23.c b/arch/arm/mach-mxs/clocksource-imx23.c
+index 0a6716f87958..ba5aad9f30dc 100644
+--- a/arch/arm/mach-mxs/clocksource-imx23.c
++++ b/arch/arm/mach-mxs/clocksource-imx23.c
+@@ -34,6 +34,7 @@ static struct clocksource cs = {
+ .read = imx23_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(16),
+ .shift = 10,
++ .priority = 80,
+ };
+
+ static int imx23_clocksource_clock_change(struct notifier_block *nb, unsigned long event, void *data)
+diff --git a/arch/arm/mach-mxs/clocksource-imx28.c b/arch/arm/mach-mxs/clocksource-imx28.c
+index ea6d4b514630..65d8155ad244 100644
+--- a/arch/arm/mach-mxs/clocksource-imx28.c
++++ b/arch/arm/mach-mxs/clocksource-imx28.c
+@@ -39,6 +39,7 @@ static struct clocksource imx28_cs = {
+ .read = imx28_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 17,
++ .priority = 80,
+ };
+
+ static int imx28_clocksource_init(void)
+diff --git a/arch/arm/mach-pxa/clocksource.c b/arch/arm/mach-pxa/clocksource.c
+index ebfe6f1c330f..3bc95827d88d 100644
+--- a/arch/arm/mach-pxa/clocksource.c
++++ b/arch/arm/mach-pxa/clocksource.c
+@@ -28,6 +28,7 @@ static struct clocksource cs = {
+ .read = pxa_clocksource_read,
+ .mask = 0xffffffff,
+ .shift = 20,
++ .priority = 80,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/arm/mach-samsung/s3c-timer.c b/arch/arm/mach-samsung/s3c-timer.c
+index 6f38df395851..38bcebc7c4cb 100644
+--- a/arch/arm/mach-samsung/s3c-timer.c
++++ b/arch/arm/mach-samsung/s3c-timer.c
+@@ -101,6 +101,7 @@ static struct clocksource cs = {
+ .read = s3c_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(TIMER_WIDTH),
+ .shift = TIMER_SHIFT,
++ .priority = 80,
+ };
+
+ static int s3c_clk_src_init(void)
+diff --git a/arch/arm/mach-tegra/tegra20-timer.c b/arch/arm/mach-tegra/tegra20-timer.c
+index 34d34f772331..8ca8cb24fad5 100644
+--- a/arch/arm/mach-tegra/tegra20-timer.c
++++ b/arch/arm/mach-tegra/tegra20-timer.c
+@@ -41,6 +41,7 @@ static uint64_t tegra20_timer_cs_read(void)
+ static struct clocksource cs = {
+ .read = tegra20_timer_cs_read,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 80,
+ };
+
+ static int tegra20_timer_probe(struct device_d *dev)
+diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
+index eb94a07dc907..9a2a9cad80cc 100644
+--- a/arch/arm/mach-versatile/core.c
++++ b/arch/arm/mach-versatile/core.c
+@@ -92,6 +92,7 @@ static struct clocksource vpb_cs = {
+ .read = vpb_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 80,
+ };
+
+ /* From Linux v2.6.35
+diff --git a/arch/mips/lib/csrc-r4k.c b/arch/mips/lib/csrc-r4k.c
+index 9facf04bd3e9..35fba3a29ca6 100644
+--- a/arch/mips/lib/csrc-r4k.c
++++ b/arch/mips/lib/csrc-r4k.c
+@@ -23,6 +23,7 @@ static uint64_t c0_hpt_read(void)
+ static struct clocksource cs = {
+ .read = c0_hpt_read,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 70,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/mips/mach-xburst/csrc-jz4750.c b/arch/mips/mach-xburst/csrc-jz4750.c
+index 302709e59747..43135ac4987e 100644
+--- a/arch/mips/mach-xburst/csrc-jz4750.c
++++ b/arch/mips/mach-xburst/csrc-jz4750.c
+@@ -23,6 +23,7 @@ static uint64_t jz4750_cs_read(void)
+ static struct clocksource jz4750_cs = {
+ .read = jz4750_cs_read,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 80,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/openrisc/lib/clock.c b/arch/openrisc/lib/clock.c
+index 5ff978e8411a..651b163f13cb 100644
+--- a/arch/openrisc/lib/clock.c
++++ b/arch/openrisc/lib/clock.c
+@@ -28,6 +28,7 @@ static struct clocksource cs = {
+ .read = openrisc_clocksource_read,
+ .mask = 0xffffffff,
+ .shift = 12,
++ .priority = 80,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/powerpc/mach-mpc5xxx/time.c b/arch/powerpc/mach-mpc5xxx/time.c
+index 8981b14eeb7d..d690d50f0d5a 100644
+--- a/arch/powerpc/mach-mpc5xxx/time.c
++++ b/arch/powerpc/mach-mpc5xxx/time.c
+@@ -29,6 +29,7 @@ static struct clocksource cs = {
+ .read = ppc_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 15,
++ .priority = 80,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/powerpc/mach-mpc85xx/time.c b/arch/powerpc/mach-mpc85xx/time.c
+index 067bce8ea64e..5981995ac2ae 100644
+--- a/arch/powerpc/mach-mpc85xx/time.c
++++ b/arch/powerpc/mach-mpc85xx/time.c
+@@ -28,6 +28,7 @@ static uint64_t ppc_clocksource_read(void)
+ static struct clocksource cs = {
+ .read = ppc_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(64),
++ .priority = 80,
+ };
+
+ static int clocksource_init(void)
+diff --git a/arch/sandbox/board/clock.c b/arch/sandbox/board/clock.c
+index b005e71633ff..1787fb578626 100644
+--- a/arch/sandbox/board/clock.c
++++ b/arch/sandbox/board/clock.c
+@@ -28,6 +28,7 @@ static struct clocksource cs = {
+ .read = linux_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 80,
+ };
+
+ static int clocksource_init (void)
+diff --git a/drivers/clocksource/amba-sp804.c b/drivers/clocksource/amba-sp804.c
+index a22e567301b2..fcb2b0254bc3 100644
+--- a/drivers/clocksource/amba-sp804.c
++++ b/drivers/clocksource/amba-sp804.c
+@@ -26,6 +26,7 @@ static struct clocksource sp804_clksrc = {
+ .read = sp804_read,
+ .shift = 20,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 60,
+ };
+
+ static int sp804_probe(struct amba_device *dev, const struct amba_id *id)
+diff --git a/drivers/clocksource/arm_architected_timer.c b/drivers/clocksource/arm_architected_timer.c
+index 16e40a1a0b3b..d5948fe9482c 100644
+--- a/drivers/clocksource/arm_architected_timer.c
++++ b/drivers/clocksource/arm_architected_timer.c
+@@ -19,6 +19,7 @@ static struct clocksource cs = {
+ .read = arm_arch_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(64),
+ .shift = 0,
++ .priority = 70,
+ };
+
+ static int arm_arch_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/arm_global_timer.c b/drivers/clocksource/arm_global_timer.c
+index f18c6e4152f9..65bfca355855 100644
+--- a/drivers/clocksource/arm_global_timer.c
++++ b/drivers/clocksource/arm_global_timer.c
+@@ -60,6 +60,7 @@ static struct clocksource cs = {
+ .read = arm_global_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(64),
+ .shift = 0,
++ .priority = 70,
+ };
+
+ static int arm_global_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/arm_smp_twd.c b/drivers/clocksource/arm_smp_twd.c
+index bc0c4a00b2f9..1ad754bb2b7a 100644
+--- a/drivers/clocksource/arm_smp_twd.c
++++ b/drivers/clocksource/arm_smp_twd.c
+@@ -35,6 +35,7 @@ static struct clocksource smp_twd_clksrc = {
+ .read = smp_twd_read,
+ .shift = 20,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 60,
+ };
+
+ #define SMP_TWD_MAX_FREQ (25 *1000 * 1000)
+diff --git a/drivers/clocksource/armv7m_systick.c b/drivers/clocksource/armv7m_systick.c
+index 5f9222c50b8a..16d89c23bde5 100644
+--- a/drivers/clocksource/armv7m_systick.c
++++ b/drivers/clocksource/armv7m_systick.c
+@@ -34,6 +34,7 @@ static struct clocksource cs = {
+ .read = armv7m_systick_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(24),
+ .shift = 0,
++ .priority = 70,
+ };
+
+ static int armv7m_systick_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/bcm2835.c b/drivers/clocksource/bcm2835.c
+index 5134b349157c..d84341fc4083 100644
+--- a/drivers/clocksource/bcm2835.c
++++ b/drivers/clocksource/bcm2835.c
+@@ -28,6 +28,7 @@ static uint64_t stc_read_cycles(void)
+ static struct clocksource bcm2835_stc = {
+ .read = stc_read_cycles,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 80,
+ };
+
+ static int bcm2835_cs_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/clps711x.c b/drivers/clocksource/clps711x.c
+index cd099604786e..1fe7f6c89114 100644
+--- a/drivers/clocksource/clps711x.c
++++ b/drivers/clocksource/clps711x.c
+@@ -19,6 +19,7 @@ static uint64_t clps711x_cs_read(void)
+ static struct clocksource clps711x_cs = {
+ .read = clps711x_cs_read,
+ .mask = CLOCKSOURCE_MASK(16),
++ .priority = 60,
+ };
+
+ static int clps711x_cs_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/digic.c b/drivers/clocksource/digic.c
+index 1a335582b733..234985aece44 100644
+--- a/drivers/clocksource/digic.c
++++ b/drivers/clocksource/digic.c
+@@ -26,6 +26,7 @@ static uint64_t digic_cs_read(void)
+ static struct clocksource digic_cs = {
+ .read = digic_cs_read,
+ .mask = CLOCKSOURCE_MASK(16),
++ .priority = 60,
+ };
+
+ static int digic_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/dw_apb_timer.c b/drivers/clocksource/dw_apb_timer.c
+index aef4f16d1494..251089cf7e16 100644
+--- a/drivers/clocksource/dw_apb_timer.c
++++ b/drivers/clocksource/dw_apb_timer.c
+@@ -94,6 +94,7 @@ static struct clocksource dw_apb_clksrc = {
+ .read = dw_apb_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 0,
++ .priority = 50,
+ };
+
+ static int dw_apb_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/efi.c b/drivers/clocksource/efi.c
+index 5c8c5fd46b1e..9df5226573bc 100644
+--- a/drivers/clocksource/efi.c
++++ b/drivers/clocksource/efi.c
+@@ -93,6 +93,7 @@ static struct clocksource efi_cs = {
+ .mask = CLOCKSOURCE_MASK(64),
+ .shift = 0,
+ .init = efi_cs_init,
++ .priority = 80,
+ };
+
+ static int efi_cs_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/kvx_timer.c b/drivers/clocksource/kvx_timer.c
+index 2a05d8deedce..259755eacdda 100644
+--- a/drivers/clocksource/kvx_timer.c
++++ b/drivers/clocksource/kvx_timer.c
+@@ -21,6 +21,7 @@ static struct clocksource kvx_clksrc = {
+ .read = kvx_pm_read,
+ .mask = CLOCKSOURCE_MASK(64),
+ .shift = 0,
++ .priority = 70,
+ };
+
+ static int kvx_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/mvebu.c b/drivers/clocksource/mvebu.c
+index eb5246e4e79b..d3214955dc8f 100644
+--- a/drivers/clocksource/mvebu.c
++++ b/drivers/clocksource/mvebu.c
+@@ -42,6 +42,7 @@ static struct clocksource cs = {
+ .read = mvebu_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 70,
+ };
+
+ static int mvebu_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/nomadik.c b/drivers/clocksource/nomadik.c
+index d71d9da6b8c0..7cf10352eac7 100644
+--- a/drivers/clocksource/nomadik.c
++++ b/drivers/clocksource/nomadik.c
+@@ -71,6 +71,7 @@ static struct clocksource nmdk_clksrc = {
+ .read = nmdk_read_timer,
+ .shift = 20,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 60,
+ };
+
+ static void nmdk_timer_reset(void)
+diff --git a/drivers/clocksource/orion.c b/drivers/clocksource/orion.c
+index d40b09e5debc..4a5684980064 100644
+--- a/drivers/clocksource/orion.c
++++ b/drivers/clocksource/orion.c
+@@ -31,6 +31,7 @@ static struct clocksource clksrc = {
+ .read = orion_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 70,
+ };
+
+ static int orion_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/rk_timer.c b/drivers/clocksource/rk_timer.c
+index 5cc8d32b601b..e94103077103 100644
+--- a/drivers/clocksource/rk_timer.c
++++ b/drivers/clocksource/rk_timer.c
+@@ -32,6 +32,7 @@ static struct clocksource rkcs = {
+ .read = rockchip_get_ticks,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 80,
+ };
+
+ static int rockchip_timer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/timer-atmel-pit.c b/drivers/clocksource/timer-atmel-pit.c
+index bbbc81788ce4..a133e384d74c 100644
+--- a/drivers/clocksource/timer-atmel-pit.c
++++ b/drivers/clocksource/timer-atmel-pit.c
+@@ -36,6 +36,7 @@ static struct clocksource cs = {
+ .read = at91sam9_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 70,
+ };
+
+ static void at91_pit_stop(void)
+diff --git a/drivers/clocksource/timer-imx-gpt.c b/drivers/clocksource/timer-imx-gpt.c
+index 28f90d967d3f..7ca879f4f008 100644
+--- a/drivers/clocksource/timer-imx-gpt.c
++++ b/drivers/clocksource/timer-imx-gpt.c
+@@ -64,6 +64,7 @@ static struct clocksource cs = {
+ .read = imx_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 70,
+ };
+
+ static int imx_clocksource_clock_change(struct notifier_block *nb, unsigned long event, void *data)
+diff --git a/drivers/clocksource/timer-ti-32k.c b/drivers/clocksource/timer-ti-32k.c
+index 1f3f15561e09..21cb68636954 100644
+--- a/drivers/clocksource/timer-ti-32k.c
++++ b/drivers/clocksource/timer-ti-32k.c
+@@ -47,6 +47,7 @@ static struct clocksource s32k_cs = {
+ .read = s32k_clocksource_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 70,
+ };
+
+ /**
+diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c
+index d43609ad1967..cdd297f10c91 100644
+--- a/drivers/clocksource/timer-ti-dm.c
++++ b/drivers/clocksource/timer-ti-dm.c
+@@ -62,6 +62,7 @@ static struct clocksource dmtimer_cs = {
+ .read = dmtimer_read,
+ .mask = CLOCKSOURCE_MASK(32),
+ .shift = 10,
++ .priority = 70,
+ };
+
+ static int omap_dmtimer_probe(struct device_d *dev)
+diff --git a/drivers/clocksource/uemd.c b/drivers/clocksource/uemd.c
+index 342260c5644b..a763eadc0c86 100644
+--- a/drivers/clocksource/uemd.c
++++ b/drivers/clocksource/uemd.c
+@@ -52,6 +52,7 @@ static uint64_t uemd_timer_cs_read(void)
+ static struct clocksource uemd_cs = {
+ .read = uemd_timer_cs_read,
+ .mask = CLOCKSOURCE_MASK(32),
++ .priority = 60,
+ };
+
+ static int uemd_timer_probe(struct device_d *dev)
+--
+2.30.2
+
diff --git a/configs/platform-v7a/patches/barebox-2022.04.0/series b/configs/platform-v7a/patches/barebox-2022.04.0/series
new file mode 100644
index 0000000..8947868
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2022.04.0/series
@@ -0,0 +1,3 @@
+0001-ARM-asm-fix-miscompilation-of-32-bit-ENTRY_FUNCTION_.patch
+0002-clk-add-BCM2835-auxiliary-peripheral-clock-driver.patch
+0003-clocksource-assign-non-zero-priorities-to-all-clocks.patch
diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index 55b8c9a..3a2a1f8 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -178,8 +178,8 @@ PTXCONF_CONSOLE_SPEED="115200"
# PTXCONF_AT91BOOTSTRAP2 is not set
PTXCONF_BAREBOX_COMMON_ARCH_STRING="arm"
PTXCONF_BAREBOX_COMMON=y
-PTXCONF_BAREBOX_COMMON_VERSION="2022.01.0"
-PTXCONF_BAREBOX_COMMON_MD5="753ba533ced54f4113f9e97846c13fc1"
+PTXCONF_BAREBOX_COMMON_VERSION="2022.04.0"
+PTXCONF_BAREBOX_COMMON_MD5="e4970687cf7943eadf71b1ae6d344ff7"
PTXCONF_BAREBOX_COMMON_NEEDS_HOST_LZOP=y
PTXCONF_BAREBOX_AM335X_MLO=y
PTXCONF_BAREBOX_AM335X=y