Re: [PATCH 10/15] ARM: remove non PBL Atmel boards

2024-04-25 Thread Sam Ravnborg
Hi Sascha

On Thu, Apr 25, 2024 at 01:54:34PM +0200, Sascha Hauer wrote:
> Some Atmel AT91 boards still do not have PBL support which becomes
> mandatory soon. Remove these boards.
> 
> Signed-off-by: Sascha Hauer 
> ---
>  arch/arm/boards/Makefile  |   3 -
>  arch/arm/boards/sama5d3xek/Makefile   |   6 -
>  .../defaultenv-sama5d3xek/bin/init_board  |  15 -
>  .../sama5d3xek/defaultenv-sama5d3xek/config   |  44 --
>  arch/arm/boards/sama5d3xek/hw_version.c   | 236 -
>  arch/arm/boards/sama5d3xek/hw_version.h   |  40 --
>  arch/arm/boards/sama5d3xek/init.c | 475 --
>  arch/arm/boards/sama5d3xek/lowlevel.c |  23 -
>  arch/arm/boards/sama5d4_xplained/Makefile |   4 -
I have patches that DT enable this board, and an attempt to
add PBL support (which did not succeed).

I did not touch the patches since last summer, so some rebasing is
required.
I will try to find time to give it a spin within the next days and
post the result.

Sam



[PATCH 10/15] ARM: remove non PBL Atmel boards

2024-04-25 Thread Sascha Hauer
Some Atmel AT91 boards still do not have PBL support which becomes
mandatory soon. Remove these boards.

Signed-off-by: Sascha Hauer 
---
 arch/arm/boards/Makefile  |   3 -
 arch/arm/boards/sama5d3xek/Makefile   |   6 -
 .../defaultenv-sama5d3xek/bin/init_board  |  15 -
 .../sama5d3xek/defaultenv-sama5d3xek/config   |  44 --
 arch/arm/boards/sama5d3xek/hw_version.c   | 236 -
 arch/arm/boards/sama5d3xek/hw_version.h   |  40 --
 arch/arm/boards/sama5d3xek/init.c | 475 --
 arch/arm/boards/sama5d3xek/lowlevel.c |  23 -
 arch/arm/boards/sama5d4_xplained/Makefile |   4 -
 arch/arm/boards/sama5d4_xplained/env/boot/mmc |   8 -
 .../arm/boards/sama5d4_xplained/env/boot/nand |   8 -
 .../sama5d4_xplained/env/init/automount   |   5 -
 .../sama5d4_xplained/env/init/mtdparts-nand   |   6 -
 .../boards/sama5d4_xplained/env/init/splash   |  15 -
 .../sama5d4_xplained/env/nv/boot.default  |   1 -
 .../env/nv/linux.bootargs.console |   1 -
 arch/arm/boards/sama5d4_xplained/lowlevel.c   |  23 -
 .../sama5d4_xplained/sama5d4_xplained.c   | 320 
 arch/arm/boards/sama5d4ek/Makefile|   4 -
 arch/arm/boards/sama5d4ek/env/boot/nand   |   6 -
 .../boards/sama5d4ek/env/init/mtdparts-nand   |   6 -
 .../boards/sama5d4ek/env/init/mtdparts-nor|   6 -
 arch/arm/boards/sama5d4ek/env/init/splash |  10 -
 arch/arm/boards/sama5d4ek/env/nv/boot.default |   1 -
 arch/arm/boards/sama5d4ek/env/nv/hostname |   1 -
 .../sama5d4ek/env/nv/linux.bootargs.console   |   1 -
 arch/arm/boards/sama5d4ek/lowlevel.c  |  23 -
 arch/arm/boards/sama5d4ek/sama5d4ek.c | 318 
 arch/arm/configs/sama5d4_xplained_defconfig   |  84 
 arch/arm/configs/sama5d4ek_defconfig  |  83 ---
 arch/arm/mach-at91/Kconfig|  36 --
 31 files changed, 1812 deletions(-)
 delete mode 100644 arch/arm/boards/sama5d3xek/Makefile
 delete mode 100644 
arch/arm/boards/sama5d3xek/defaultenv-sama5d3xek/bin/init_board
 delete mode 100644 arch/arm/boards/sama5d3xek/defaultenv-sama5d3xek/config
 delete mode 100644 arch/arm/boards/sama5d3xek/hw_version.c
 delete mode 100644 arch/arm/boards/sama5d3xek/hw_version.h
 delete mode 100644 arch/arm/boards/sama5d3xek/init.c
 delete mode 100644 arch/arm/boards/sama5d3xek/lowlevel.c
 delete mode 100644 arch/arm/boards/sama5d4_xplained/Makefile
 delete mode 100644 arch/arm/boards/sama5d4_xplained/env/boot/mmc
 delete mode 100644 arch/arm/boards/sama5d4_xplained/env/boot/nand
 delete mode 100644 arch/arm/boards/sama5d4_xplained/env/init/automount
 delete mode 100644 arch/arm/boards/sama5d4_xplained/env/init/mtdparts-nand
 delete mode 100644 arch/arm/boards/sama5d4_xplained/env/init/splash
 delete mode 100644 arch/arm/boards/sama5d4_xplained/env/nv/boot.default
 delete mode 100644 
arch/arm/boards/sama5d4_xplained/env/nv/linux.bootargs.console
 delete mode 100644 arch/arm/boards/sama5d4_xplained/lowlevel.c
 delete mode 100644 arch/arm/boards/sama5d4_xplained/sama5d4_xplained.c
 delete mode 100644 arch/arm/boards/sama5d4ek/Makefile
 delete mode 100644 arch/arm/boards/sama5d4ek/env/boot/nand
 delete mode 100644 arch/arm/boards/sama5d4ek/env/init/mtdparts-nand
 delete mode 100644 arch/arm/boards/sama5d4ek/env/init/mtdparts-nor
 delete mode 100644 arch/arm/boards/sama5d4ek/env/init/splash
 delete mode 100644 arch/arm/boards/sama5d4ek/env/nv/boot.default
 delete mode 100644 arch/arm/boards/sama5d4ek/env/nv/hostname
 delete mode 100644 arch/arm/boards/sama5d4ek/env/nv/linux.bootargs.console
 delete mode 100644 arch/arm/boards/sama5d4ek/lowlevel.c
 delete mode 100644 arch/arm/boards/sama5d4ek/sama5d4ek.c
 delete mode 100644 arch/arm/configs/sama5d4_xplained_defconfig
 delete mode 100644 arch/arm/configs/sama5d4ek_defconfig

diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index 6e9e6798ba..fc8c032ec1 100644
--- a/arch/arm/boards/Makefile
+++ b/arch/arm/boards/Makefile
@@ -103,13 +103,10 @@ obj-$(CONFIG_MACH_SKOV_IMX8MP)+= 
skov-imx8mp/
 obj-$(CONFIG_MACH_FREESCALE_IMX6SX_SABRESDB)   += freescale-mx6sx-sabresdb/
 obj-$(CONFIG_MACH_SAMA5D27_GIANTBOARD) += sama5d27-giantboard/
 obj-$(CONFIG_MACH_SAMA5D27_SOM1)   += sama5d27-som1/
-obj-$(CONFIG_MACH_SAMA5D3XEK)  += sama5d3xek/
 obj-$(CONFIG_MACH_SAMA5D3_XPLAINED)+= sama5d3_xplained/
 obj-$(CONFIG_MACH_MICROCHIP_KSZ9477_EVB)   += microchip-ksz9477-evb/
 obj-$(CONFIG_MACH_MICROCHIP_SAMA5D3_EDS)   += microchip-sama5d3-eds/
-obj-$(CONFIG_MACH_SAMA5D4_XPLAINED)+= sama5d4_xplained/
 obj-$(CONFIG_MACH_SAMA5D4_WIFX)+= sama5d4_wifx/
-obj-$(CONFIG_MACH_SAMA5D4EK)   += sama5d4ek/
 obj-$(CONFIG_MACH_SCB9328) += scb9328/
 obj-$(CONFIG_MACH_SEEED_ODYSSEY)   += seeed-odyssey/
 obj-$(CONFIG_MACH_SOCFPGA_ALTERA_SOCDK)+= altera-socdk/
diff 

[PATCH 15/15] ARM: drop TEXT_BASE

2024-04-25 Thread Sascha Hauer
With all ARM boards being relocatable TEXT_BASE is always defined to 0x0
and can be dropped. The ARCH_TEXT_BASE Kconfig symbol is also no longer
used and can be removed.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig  | 4 
 arch/arm/Makefile | 4 
 arch/arm/boards/versatile/Kconfig | 4 
 arch/arm/lib32/barebox.lds.S  | 2 +-
 arch/arm/lib64/barebox.lds.S  | 2 +-
 arch/arm/mach-at91/Kconfig| 8 
 arch/arm/mach-bcm283x/Kconfig | 4 
 arch/arm/mach-mvebu/Kconfig   | 7 ---
 arch/arm/mach-mxs/Kconfig | 9 -
 arch/arm/mach-omap/Kconfig| 5 -
 arch/arm/mach-rockchip/Kconfig| 5 -
 arch/arm/mach-socfpga/Kconfig | 4 
 arch/arm/mach-tegra/Kconfig   | 4 
 arch/arm/mach-versatile/Kconfig   | 3 ---
 arch/arm/mach-vexpress/Kconfig| 4 
 arch/arm/mach-zynq/Kconfig| 4 
 16 files changed, 2 insertions(+), 71 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6a6d7955d1..b9883b30f7 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -24,10 +24,6 @@ config ARM_USE_COMPRESSED_DTB
bool
select USE_COMPRESSED_DTB
 
-config TEXT_BASE
-   hex
-   default 0x0
-
 menu "System Type"
 
 config ARCH_STM32
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index f98770f66a..f91fcb0454 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -102,10 +102,6 @@ machine-$(CONFIG_ARCH_TEGRA)   += tegra
 machine-$(CONFIG_ARCH_ZYNQ)+= zynq
 machine-$(CONFIG_ARCH_ZYNQMP)  += zynqmp
 
-TEXT_BASE = $(CONFIG_TEXT_BASE)
-
-KBUILD_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
-
 # Add cleanup flags
 KBUILD_CPPFLAGS += -fdata-sections -ffunction-sections
 LDFLAGS_barebox += --gc-sections -pie
diff --git a/arch/arm/boards/versatile/Kconfig 
b/arch/arm/boards/versatile/Kconfig
index 66492404e0..5cb3061635 100644
--- a/arch/arm/boards/versatile/Kconfig
+++ b/arch/arm/boards/versatile/Kconfig
@@ -2,8 +2,4 @@
 
 if MACH_VERSATILEPB
 
-config ARCH_TEXT_BASE
-   hex
-   default 0x0100
-
 endif
diff --git a/arch/arm/lib32/barebox.lds.S b/arch/arm/lib32/barebox.lds.S
index ad9e9e84ef..97f41f72fe 100644
--- a/arch/arm/lib32/barebox.lds.S
+++ b/arch/arm/lib32/barebox.lds.S
@@ -83,5 +83,5 @@ SECTIONS
 #endif
 
_end = .;
-   _barebox_image_size = __bss_start - TEXT_BASE;
+   _barebox_image_size = __bss_start;
 }
diff --git a/arch/arm/lib64/barebox.lds.S b/arch/arm/lib64/barebox.lds.S
index 2479646d9d..1d0cc6dc54 100644
--- a/arch/arm/lib64/barebox.lds.S
+++ b/arch/arm/lib64/barebox.lds.S
@@ -53,5 +53,5 @@ SECTIONS
.bss : { *(.bss*) }
.__bss_stop :  { *(.__bss_stop) }
_end = .;
-   _barebox_image_size = __bss_start - TEXT_BASE;
+   _barebox_image_size = __bss_start;
 }
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index b68a9f4e25..0b75d665d0 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -147,14 +147,6 @@ config SOC_SAMA7G5
help
  Select this if you are using one of Microchip's SAMA7G5 family SoC.
 
-config ARCH_TEXT_BASE
-   hex
-   default 0x73f0 if SOC_AT91SAM9G45
-   default 0x26f0 if SOC_AT91SAM9X5
-   default 0x20f0 if SOC_AT91RM9200
-   default 0x21f0 if MACH_ANIMEO_IP
-   default 0x23f0
-
 config HAVE_NAND_ATMEL_BUSWIDTH_16
bool
 
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index f7434d2f5c..defccf8362 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -2,10 +2,6 @@
 
 if ARCH_BCM283X
 
-config ARCH_TEXT_BASE
-   hex
-   default 0x0
-
 config MACH_RPI_COMMON
bool
select ARM_USE_COMPRESSED_DTB
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 1b26148434..ed1302af65 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -2,13 +2,6 @@
 
 if ARCH_MVEBU
 
-config ARCH_TEXT_BASE
-   hex
-   default 0x200 if ARCH_ARMADA_370
-   default 0x200 if ARCH_ARMADA_XP
-   default 0x200 if ARCH_DOVE
-   default 0x200 if ARCH_KIRKWOOD
-
 config ARCH_ARMADA_370
bool
select CPU_V7
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig
index c8ef2c62af..0219196794 100644
--- a/arch/arm/mach-mxs/Kconfig
+++ b/arch/arm/mach-mxs/Kconfig
@@ -2,15 +2,6 @@
 
 if ARCH_MXS
 
-config ARCH_TEXT_BASE
-   hex
-   default 0x4100 if MACH_MX23EVK
-   default 0x4200 if MACH_CHUMBY
-   default 0x4200 if MACH_IMX233_OLINUXINO
-   default 0x4700 if MACH_TX28
-   default 0x4700 if MACH_MX28EVK
-   default 0x4700 if MACH_CFA10036
-
 config ARCH_MXS_OF_SUPPORT
bool
select COMMON_CLK_OF_PROVIDER
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index 6ddbb6e572..7b0eade65a 100644
--- a/arch/arm/mach-omap/Kconfig
+++ 

[PATCH 14/15] ARM: make relocatable mandatory

2024-04-25 Thread Sascha Hauer
Most ARM boards use relocatable binaries already. Make it mandatory
for the remaining boards to better unify the ARM support.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig   | 10 ++
 arch/arm/Makefile  | 16 ++--
 arch/arm/cpu/exceptions_32.S   |  2 +-
 arch/arm/cpu/start.c   |  3 +--
 arch/arm/cpu/uncompress.c  | 27 +++
 arch/arm/include/asm/barebox-arm.h | 11 ++-
 arch/arm/lib/pbl.lds.S | 18 ++
 arch/arm/lib32/barebox.lds.S   |  4 
 arch/arm/lib64/barebox.lds.S   |  4 
 arch/arm/mach-rockchip/Kconfig |  1 -
 arch/arm/mach-zynq/Kconfig |  3 ---
 11 files changed, 25 insertions(+), 74 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9acda8d929..6a6d7955d1 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -4,7 +4,6 @@ config ARM
bool
select HAS_KALLSYMS
select HAS_CACHE
-   select HAVE_CONFIGURABLE_TEXT_BASE if !RELOCATABLE
select HAVE_IMAGE_COMPRESSION
select HAVE_ARCH_KASAN
select ARCH_HAS_SJLJ
@@ -12,6 +11,8 @@ config ARM
select HAVE_EFI_STUB
select HAVE_PBL_IMAGE
select HAVE_PBL_MULTI_IMAGES
+   select RELOCATABLE
+   select PBL_RELOCATABLE
default y
 
 config ARM_LINUX
@@ -67,7 +68,6 @@ config ARCH_CLPS711X
select GPIOLIB
select HAS_DEBUG_LL
select MFD_SYSCON
-   select RELOCATABLE
 
 config ARCH_MVEBU
bool "Marvell EBU platforms"
@@ -115,7 +115,6 @@ config ARCH_TEGRA
select GPIO_TEGRA
select OFDEVICE
select OFTREE
-   select RELOCATABLE
select RESET_CONTROLLER
select PINCTRL
 
@@ -131,7 +130,6 @@ config ARCH_ARM64_VIRT
bool "ARM64 QEMU Virt board"
depends on 64BIT
select CPU_V8
-   select RELOCATABLE
select ARM_AMBA
select BOARD_ARM_VIRT
select HW_HAS_PCI
@@ -145,7 +143,6 @@ config ARCH_BCM283X
select CLOCKSOURCE_BCM283X
select ARM_AMBA
select HAS_DEBUG_LL
-   select RELOCATABLE
 
 config ARCH_IMX
bool "Freescale iMX-based"
@@ -154,7 +151,6 @@ config ARCH_IMX
select COMMON_CLK
select WATCHDOG_IMX_RESET_SOURCE
select HAS_DEBUG_LL
-   select RELOCATABLE
 
 config ARCH_K3
bool "Texas Instruments Inc. K3 multicore SoC architecture"
@@ -229,7 +225,6 @@ config ARCH_VEXPRESS
select AMBA_SP804
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
-   select RELOCATABLE
 
 config ARCH_ZYNQMP
bool "Xilinx ZynqMP-based boards"
@@ -240,7 +235,6 @@ config ARCH_ZYNQMP
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select GPIOLIB
-   select RELOCATABLE
select HAS_MACB
 
 source "arch/arm/cpu/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 67362d2023..f98770f66a 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -108,24 +108,12 @@ KBUILD_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
 
 # Add cleanup flags
 KBUILD_CPPFLAGS += -fdata-sections -ffunction-sections
-LDFLAGS_barebox += --gc-sections
-LDFLAGS_pbl += --gc-sections
+LDFLAGS_barebox += --gc-sections -pie
+LDFLAGS_pbl += --gc-sections -pie
 
 # early code often runs at addresses we are not linked at
 KBUILD_CFLAGS_KERNEL += -fPIE
 
-ifdef CONFIG_RELOCATABLE
-LDFLAGS_barebox += -pie
-else
-LDFLAGS_barebox += -static
-endif
-
-ifdef CONFIG_PBL_RELOCATABLE
-LDFLAGS_pbl += -pie
-else
-LDFLAGS_pbl += -static
-endif
-
 KBUILD_BINARY := barebox.bin
 
 quiet_cmd_mlo ?= IFT $@
diff --git a/arch/arm/cpu/exceptions_32.S b/arch/arm/cpu/exceptions_32.S
index 749c713aab..235996f7ec 100644
--- a/arch/arm/cpu/exceptions_32.S
+++ b/arch/arm/cpu/exceptions_32.S
@@ -128,7 +128,7 @@ fiq:
bad_save_user_regs
bl  do_fiq
 
-#if defined(CONFIG_RELOCATABLE) && defined(CONFIG_ARM_EXCEPTIONS)
+#ifdef CONFIG_ARM_EXCEPTIONS
 /*
  * With relocatable binary support the runtime exception vectors do not match
  * the addresses in the binary. We have to fix them up during runtime
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index cc5529eef5..6d0a7cfc6b 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -158,8 +158,7 @@ __noreturn __prereloc void barebox_non_pbl_start(unsigned 
long membase,
if (IS_ENABLED(CONFIG_CPU_V7))
armv7_hyp_install();
 
-   if (IS_ENABLED(CONFIG_RELOCATABLE))
-   relocate_to_adr(barebox_base);
+   relocate_to_adr(barebox_base);
 
setup_c();
 
diff --git a/arch/arm/cpu/uncompress.c b/arch/arm/cpu/uncompress.c
index 4101cb36a4..aa1a49bfc9 100644
--- a/arch/arm/cpu/uncompress.c
+++ b/arch/arm/cpu/uncompress.c
@@ -43,26 +43,21 @@ void __noreturn barebox_pbl_start(unsigned long membase, 
unsigned long memsize,
pg_start = runtime_address(input_data);
pg_end = runtime_address(input_data_end);
 
- 

[PATCH 13/15] ARM: drop barebox_arm_head()

2024-04-25 Thread Sascha Hauer
barebox_arm_head() is unused now. Remove it.

Signed-off-by: Sascha Hauer 
---
 arch/arm/include/asm/barebox-arm-head.h | 8 
 include/mach/socfpga/barebox-arm-head.h | 7 ---
 2 files changed, 15 deletions(-)

diff --git a/arch/arm/include/asm/barebox-arm-head.h 
b/arch/arm/include/asm/barebox-arm-head.h
index 135d0585b1..a55cf7df51 100644
--- a/arch/arm/include/asm/barebox-arm-head.h
+++ b/arch/arm/include/asm/barebox-arm-head.h
@@ -9,7 +9,6 @@
 
 void arm_cpu_lowlevel_init(void);
 void cortex_a7_lowlevel_init(void);
-void barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2);
 
 /*
  * 32 bytes at this offset is reserved in the barebox head for board/SoC
@@ -60,13 +59,6 @@ static inline void __barebox_arm_head(void)
 #endif
);
 }
-static inline void barebox_arm_head(void)
-{
-   __barebox_arm_head();
-   __asm__ __volatile__ (
-   "b barebox_arm_reset_vector\n"
-   );
-}
 #endif
 
 #endif /* __ASSEMBLY__ */
diff --git a/include/mach/socfpga/barebox-arm-head.h 
b/include/mach/socfpga/barebox-arm-head.h
index 634d3f109b..eff05b0e41 100644
--- a/include/mach/socfpga/barebox-arm-head.h
+++ b/include/mach/socfpga/barebox-arm-head.h
@@ -35,10 +35,3 @@ static inline void __barebox_arm_head(void)
"2:\n"
);
 }
-static inline void barebox_arm_head(void)
-{
-   __barebox_arm_head();
-   __asm__ __volatile__ (
-   "b barebox_arm_reset_vector\n"
-   );
-}
-- 
2.39.2




[PATCH 11/15] ARM: move HAVE_PBL_MULTI_IMAGES to toplevel

2024-04-25 Thread Sascha Hauer
All ARM architectures now have PBL multi image support, so move
HAVE_PBL_MULTI_IMAGES and HAVE_PBL_IMAGE to the toplevel ARM
config.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig  |  9 ++---
 arch/arm/cpu/Kconfig  |  3 ---
 arch/arm/cpu/uncompress.c | 13 -
 arch/arm/mach-omap/Kconfig|  1 -
 arch/arm/mach-socfpga/Kconfig |  2 --
 arch/arm/mach-zynq/Kconfig|  1 -
 6 files changed, 2 insertions(+), 27 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5a10b5aaa3..e2ea68e762 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -10,6 +10,8 @@ config ARM
select ARCH_HAS_SJLJ
select ARM_OPTIMZED_STRING_FUNCTIONS if KASAN
select HAVE_EFI_STUB
+   select HAVE_PBL_IMAGE
+   select HAVE_PBL_MULTI_IMAGES
default y
 
 config ARM_LINUX
@@ -42,7 +44,6 @@ choice
prompt "ARM system type"
 
 config ARCH_MULTIARCH
-   select HAVE_PBL_MULTI_IMAGES
select OFTREE
select OFDEVICE
bool "Allow multiple archs to be selected"
@@ -52,7 +53,6 @@ config ARCH_AT91
depends on 32BIT
select GPIOLIB
select CLKDEV_LOOKUP
-   select HAVE_PBL_MULTI_IMAGES
select HAS_DEBUG_LL
select HAVE_CLK
select COMMON_CLK_AT91 if COMMON_CLK_OF_PROVIDER
@@ -66,7 +66,6 @@ config ARCH_CLPS711X
select CPU_32v4T
select GPIOLIB
select HAS_DEBUG_LL
-   select HAVE_PBL_MULTI_IMAGES
select MFD_SYSCON
select RELOCATABLE
 
@@ -77,7 +76,6 @@ config ARCH_MVEBU
select COMMON_CLK_OF_PROVIDER
select GPIOLIB
select HAS_DEBUG_LL
-   select HAVE_PBL_MULTI_IMAGES
select HW_HAS_PCI
select MVEBU_MBUS
select OFTREE
@@ -91,7 +89,6 @@ config ARCH_MXS
select GENERIC_GPIO
select COMMON_CLK
select HAS_DEBUG_LL
-   select HAVE_PBL_MULTI_IMAGES
 
 config ARCH_PXA
bool "Intel/Marvell PXA based"
@@ -116,7 +113,6 @@ config ARCH_TEGRA
select COMMON_CLK_OF_PROVIDER
select GPIOLIB
select GPIO_TEGRA
-   select HAVE_PBL_MULTI_IMAGES
select OFDEVICE
select OFTREE
select RELOCATABLE
@@ -277,7 +273,6 @@ config BOARD_ARM_VIRT
 config BOARD_ARM_GENERIC_DT
select BOARD_GENERIC_DT
select ARM_AMBA
-   depends on HAVE_PBL_MULTI_IMAGES
depends on OFDEVICE
bool "Build generic ARM device tree 2nd stage image"
help
diff --git a/arch/arm/cpu/Kconfig b/arch/arm/cpu/Kconfig
index e69acaacdf..6563394a7a 100644
--- a/arch/arm/cpu/Kconfig
+++ b/arch/arm/cpu/Kconfig
@@ -10,14 +10,11 @@ config CPU_32
select HAS_MODULES
select HAVE_MOD_ARCH_SPECIFIC
select HAS_DMA
-   select HAVE_PBL_IMAGE
select ARCH_HAS_ZERO_PAGE
 
 config CPU_64
bool
select PHYS_ADDR_T_64BIT
-   select HAVE_PBL_IMAGE
-   select HAVE_PBL_MULTI_IMAGES
select HAS_DMA
select ARCH_WANT_FRAME_POINTERS
select ARCH_HAS_ZERO_PAGE
diff --git a/arch/arm/cpu/uncompress.c b/arch/arm/cpu/uncompress.c
index a481c4634d..4101cb36a4 100644
--- a/arch/arm/cpu/uncompress.c
+++ b/arch/arm/cpu/uncompress.c
@@ -23,19 +23,6 @@
 
 #include "entry.h"
 
-#ifndef CONFIG_HAVE_PBL_MULTI_IMAGES
-
-void start_pbl(void);
-
-/*
- * First instructions in the pbl image
- */
-void __naked __section(.text_head_entry_start_single_pbl) start_pbl(void)
-{
-   barebox_arm_head();
-}
-#endif
-
 unsigned long free_mem_ptr;
 unsigned long free_mem_end_ptr;
 
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index fe3c6316dc..6ddbb6e572 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -182,7 +182,6 @@ config MACH_VSCOM_BALTOS
 config MACH_WAGO_PFC_AM35XX
 bool "Wago PFC200 Fieldbus Controller"
 select ARCH_AM35XX
-select HAVE_PBL_MULTI_IMAGES
 select HAVE_CONFIGURABLE_MEMORY_LAYOUT
 help
   Say Y here if you are using a the AM3505 based PFC200 controller
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
index b23a41d3f9..75f03d3f6a 100644
--- a/arch/arm/mach-socfpga/Kconfig
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -15,7 +15,6 @@ comment "Altera SoCFPGA System-on-Chip"
 config ARCH_SOCFPGA_CYCLONE5
bool
select CPU_V7
-   select HAVE_PBL_MULTI_IMAGES
select OFDEVICE if !ARCH_SOCFPGA_XLOAD
select OFTREE if !ARCH_SOCFPGA_XLOAD
select GPIOLIB if !ARCH_SOCFPGA_XLOAD
@@ -25,7 +24,6 @@ config ARCH_SOCFPGA_ARRIA10
select CPU_V7
select ARM_USE_COMPRESSED_DTB
select RESET_CONTROLLER
-   select HAVE_PBL_MULTI_IMAGES
select OFDEVICE
select OFTREE
 
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index 451a344b2e..be51411a43 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -17,7 +17,6 @@ config ARCH_ZYNQ7000
select COMMON_CLK_OF_PROVIDER
  

[PATCH 12/15] ARM: drop non PBL support

2024-04-25 Thread Sascha Hauer
All ARM boards now use PBL, so remove unused code inside #ifdef
CONFIG_PBL_IMAGE.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig |  1 -
 arch/arm/cpu/entry_ll_32.S   |  4 
 arch/arm/cpu/entry_ll_64.S   |  4 
 arch/arm/cpu/start.c | 17 -
 arch/arm/lib32/barebox.lds.S |  3 ---
 arch/arm/lib64/barebox.lds.S |  3 ---
 6 files changed, 32 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e2ea68e762..9acda8d929 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -123,7 +123,6 @@ config ARCH_ZYNQ
bool "Xilinx Zynq-based boards"
depends on 32BIT
select HAS_DEBUG_LL
-   select PBL_IMAGE
select GPIOLIB
 
 endchoice
diff --git a/arch/arm/cpu/entry_ll_32.S b/arch/arm/cpu/entry_ll_32.S
index 2800174c45..0d4c47c1c8 100644
--- a/arch/arm/cpu/entry_ll_32.S
+++ b/arch/arm/cpu/entry_ll_32.S
@@ -19,9 +19,5 @@ ENTRY(__barebox_arm_entry)
mov r0, r4
mov r1, r5
mov r2, r6
-#if IS_ENABLED(CONFIG_PBL_IMAGE)
b   barebox_pbl_start
-#else
-   b   barebox_non_pbl_start
-#endif
 ENDPROC(__barebox_arm_entry)
diff --git a/arch/arm/cpu/entry_ll_64.S b/arch/arm/cpu/entry_ll_64.S
index 6530bec5eb..5eb6efed5b 100644
--- a/arch/arm/cpu/entry_ll_64.S
+++ b/arch/arm/cpu/entry_ll_64.S
@@ -19,9 +19,5 @@ ENTRY(__barebox_arm_entry)
mov x0, x19
mov x1, x20
mov x2, x21
-#if IS_ENABLED(CONFIG_PBL_IMAGE)
b   barebox_pbl_start
-#else
-   b   barebox_non_pbl_start
-#endif
 ENDPROC(__barebox_arm_entry)
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index 0351dcb927..cc5529eef5 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -224,11 +224,6 @@ __noreturn __prereloc void barebox_non_pbl_start(unsigned 
long membase,
 
mem_malloc_init((void *)malloc_start, (void *)malloc_end - 1);
 
-   if (IS_ENABLED(CONFIG_MMU) && !IS_ENABLED(CONFIG_PBL_IMAGE)) {
-   arm_early_mmu_cache_invalidate();
-   mmu_early_enable(membase, memsize);
-   }
-
if (IS_ENABLED(CONFIG_BOOTM_OPTEE))
of_add_reserve_entry(endmem - OPTEE_SIZE, endmem - 1);
 
@@ -237,17 +232,6 @@ __noreturn __prereloc void barebox_non_pbl_start(unsigned 
long membase,
start_barebox();
 }
 
-#ifndef CONFIG_PBL_IMAGE
-
-void start(void);
-
-void NAKED __section(.text_entry) start(void)
-{
-   barebox_arm_head();
-}
-
-#else
-
 void start(unsigned long membase, unsigned long memsize, void *boarddata);
 /*
  * First function in the uncompressed image. We get here from
@@ -258,4 +242,3 @@ void NAKED __prereloc __section(.text_entry) start(unsigned 
long membase,
 {
barebox_non_pbl_start(membase, memsize, boarddata);
 }
-#endif
diff --git a/arch/arm/lib32/barebox.lds.S b/arch/arm/lib32/barebox.lds.S
index ec145569be..90be773840 100644
--- a/arch/arm/lib32/barebox.lds.S
+++ b/arch/arm/lib32/barebox.lds.S
@@ -16,9 +16,6 @@ SECTIONS
 #endif
.image_start : { *(.__image_start) }
 
-#ifndef CONFIG_PBL_IMAGE
-   PRE_IMAGE
-#endif
. = ALIGN(4);
 
._text : { *(._text) }
diff --git a/arch/arm/lib64/barebox.lds.S b/arch/arm/lib64/barebox.lds.S
index de777ddb54..a05340ad48 100644
--- a/arch/arm/lib64/barebox.lds.S
+++ b/arch/arm/lib64/barebox.lds.S
@@ -16,9 +16,6 @@ SECTIONS
 
.image_start : { *(.__image_start) }
 
-#ifndef CONFIG_PBL_IMAGE
-   PRE_IMAGE
-#endif
. = ALIGN(4);
._text : { *(._text) }
.text  :
-- 
2.39.2




[PATCH 04/15] ARM: remove ep93xx

2024-04-25 Thread Sascha Hauer
None of the ep93xx boards supports PBL. PBL becomes mandatory, so remove
the boards and with it the now unused architecture.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig  |   7 -
 arch/arm/Makefile |   1 -
 arch/arm/boards/Makefile  |   8 -
 arch/arm/boards/edb93xx/Makefile  |   4 -
 arch/arm/boards/edb93xx/early_udelay.h|  15 -
 arch/arm/boards/edb93xx/edb93xx.c | 121 
 arch/arm/boards/edb93xx/edb93xx.h |  29 -
 arch/arm/boards/edb93xx/env/bin/boot  |  48 --
 .../boards/edb93xx/env/bin/flash_partition|  22 -
 arch/arm/boards/edb93xx/env/bin/init  |  19 -
 arch/arm/boards/edb93xx/env/bin/set_nor_parts |   3 -
 arch/arm/boards/edb93xx/env/bin/update_kernel |  16 -
 arch/arm/boards/edb93xx/env/bin/update_rootfs |  16 -
 arch/arm/boards/edb93xx/env/config|  16 -
 arch/arm/boards/edb93xx/flash_cfg.c   |  22 -
 arch/arm/boards/edb93xx/pll_cfg.c |  41 --
 arch/arm/boards/edb93xx/pll_cfg.h |  53 --
 arch/arm/boards/edb93xx/sdram_cfg.c   | 128 
 arch/arm/boards/edb93xx/sdram_cfg.h   | 125 
 arch/arm/configs/edb93xx_defconfig|  32 -
 arch/arm/include/asm/barebox.lds.h|   4 -
 arch/arm/include/asm/debug_ll.h   |   2 -
 arch/arm/include/asm/mach-types.h |  96 ---
 arch/arm/mach-ep93xx/Kconfig  | 411 
 arch/arm/mach-ep93xx/Makefile |   5 -
 arch/arm/mach-ep93xx/clocksource.c|  93 ---
 arch/arm/mach-ep93xx/gpio.c   | 134 
 arch/arm/mach-ep93xx/header.c |  12 -
 arch/arm/mach-ep93xx/led.c|  57 --
 arch/arm/mach-ep93xx/led.h|  19 -
 arch/arm/mach-ep93xx/lowlevel_init.S  |  61 --
 include/mach/ep93xx/barebox.lds.h |  10 -
 include/mach/ep93xx/ep93xx-regs.h | 599 --
 33 files changed, 2229 deletions(-)
 delete mode 100644 arch/arm/boards/edb93xx/Makefile
 delete mode 100644 arch/arm/boards/edb93xx/early_udelay.h
 delete mode 100644 arch/arm/boards/edb93xx/edb93xx.c
 delete mode 100644 arch/arm/boards/edb93xx/edb93xx.h
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/boot
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/flash_partition
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/init
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/set_nor_parts
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/update_kernel
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/update_rootfs
 delete mode 100644 arch/arm/boards/edb93xx/env/config
 delete mode 100644 arch/arm/boards/edb93xx/flash_cfg.c
 delete mode 100644 arch/arm/boards/edb93xx/pll_cfg.c
 delete mode 100644 arch/arm/boards/edb93xx/pll_cfg.h
 delete mode 100644 arch/arm/boards/edb93xx/sdram_cfg.c
 delete mode 100644 arch/arm/boards/edb93xx/sdram_cfg.h
 delete mode 100644 arch/arm/configs/edb93xx_defconfig
 delete mode 100644 arch/arm/mach-ep93xx/Kconfig
 delete mode 100644 arch/arm/mach-ep93xx/Makefile
 delete mode 100644 arch/arm/mach-ep93xx/clocksource.c
 delete mode 100644 arch/arm/mach-ep93xx/gpio.c
 delete mode 100644 arch/arm/mach-ep93xx/header.c
 delete mode 100644 arch/arm/mach-ep93xx/led.c
 delete mode 100644 arch/arm/mach-ep93xx/led.h
 delete mode 100644 arch/arm/mach-ep93xx/lowlevel_init.S
 delete mode 100644 include/mach/ep93xx/barebox.lds.h
 delete mode 100644 include/mach/ep93xx/ep93xx-regs.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0b4333db6a..837c7eb9f4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -87,12 +87,6 @@ config ARCH_DIGIC
help
  Support for Canon's digital cameras that use the DIGIC4 chip.
 
-config ARCH_EP93XX
-   bool "Cirrus Logic EP93xx"
-   depends on 32BIT
-   select CPU_ARM920T
-   select GENERIC_GPIO
-
 config ARCH_MVEBU
bool "Marvell EBU platforms"
depends on 32BIT
@@ -292,7 +286,6 @@ source "arch/arm/mach-bcm283x/Kconfig"
 source "arch/arm/mach-clps711x/Kconfig"
 source "arch/arm/mach-davinci/Kconfig"
 source "arch/arm/mach-digic/Kconfig"
-source "arch/arm/mach-ep93xx/Kconfig"
 source "arch/arm/mach-imx/Kconfig"
 source "arch/arm/mach-layerscape/Kconfig"
 source "arch/arm/mach-mxs/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 1c8ec48988..a08be94687 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -87,7 +87,6 @@ machine-$(CONFIG_ARCH_BCM283X)+= bcm283x
 machine-$(CONFIG_ARCH_CLPS711X)+= clps711x
 machine-$(CONFIG_ARCH_DAVINCI) += davinci
 machine-$(CONFIG_ARCH_DIGIC)   += digic
-machine-$(CONFIG_ARCH_EP93XX)  += ep93xx
 machine-$(CONFIG_ARCH_IMX) += imx
 machine-$(CONFIG_ARCH_K3)  += k3
 machine-$(CONFIG_ARCH_LAYERSCAPE)  += layerscape
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile

[PATCH 08/15] ARM: remove nomadik

2024-04-25 Thread Sascha Hauer
Nomadik was mainlined once and has never got any attention. It still
doesn't have PBL support or device tree support. Remove the ancient
and likely unused architecture.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig  |  10 --
 arch/arm/Makefile |   1 -
 arch/arm/boards/Makefile  |   1 -
 arch/arm/boards/nhk8815/Makefile  |   5 -
 .../boards/nhk8815/defaultenv-nhk8815/config  |  43 ---
 arch/arm/boards/nhk8815/lowlevel.c|  12 --
 arch/arm/boards/nhk8815/setup.c   | 113 --
 arch/arm/configs/nhk8815_defconfig|  50 
 arch/arm/include/asm/debug_ll.h   |   2 -
 arch/arm/include/asm/mach-types.h |  12 --
 arch/arm/mach-nomadik/8815.c  |  71 ---
 arch/arm/mach-nomadik/Kconfig |  23 
 arch/arm/mach-nomadik/Makefile|   4 -
 arch/arm/mach-nomadik/clock.c |  55 -
 arch/arm/mach-nomadik/clock.h |  14 ---
 arch/arm/mach-nomadik/reset.c |  42 ---
 arch/arm/mach-nomadik/timer.c |  33 -
 include/mach/nomadik/board.h  |  24 
 include/mach/nomadik/fsmc.h   |  30 -
 include/mach/nomadik/hardware.h   |  87 --
 include/mach/nomadik/nand.h   |  15 ---
 21 files changed, 647 deletions(-)
 delete mode 100644 arch/arm/boards/nhk8815/Makefile
 delete mode 100644 arch/arm/boards/nhk8815/defaultenv-nhk8815/config
 delete mode 100644 arch/arm/boards/nhk8815/lowlevel.c
 delete mode 100644 arch/arm/boards/nhk8815/setup.c
 delete mode 100644 arch/arm/configs/nhk8815_defconfig
 delete mode 100644 arch/arm/mach-nomadik/8815.c
 delete mode 100644 arch/arm/mach-nomadik/Kconfig
 delete mode 100644 arch/arm/mach-nomadik/Makefile
 delete mode 100644 arch/arm/mach-nomadik/clock.c
 delete mode 100644 arch/arm/mach-nomadik/clock.h
 delete mode 100644 arch/arm/mach-nomadik/reset.c
 delete mode 100644 arch/arm/mach-nomadik/timer.c
 delete mode 100644 include/mach/nomadik/board.h
 delete mode 100644 include/mach/nomadik/fsmc.h
 delete mode 100644 include/mach/nomadik/hardware.h
 delete mode 100644 include/mach/nomadik/nand.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7f84a1a12b..bf3240df96 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -93,15 +93,6 @@ config ARCH_MXS
select HAS_DEBUG_LL
select HAVE_PBL_MULTI_IMAGES
 
-config ARCH_NOMADIK
-   bool "STMicroelectronics Nomadik"
-   depends on 32BIT
-   select CPU_ARM926T
-   select CLOCKSOURCE_NOMADIK
-   select HAVE_LEGACY_CLK
-   help
- Support for the Nomadik platform by ST-Ericsson
-
 config ARCH_OMAP_SINGLE
bool "TI OMAP"
depends on 32BIT
@@ -271,7 +262,6 @@ source "arch/arm/mach-imx/Kconfig"
 source "arch/arm/mach-layerscape/Kconfig"
 source "arch/arm/mach-mxs/Kconfig"
 source "arch/arm/mach-mvebu/Kconfig"
-source "arch/arm/mach-nomadik/Kconfig"
 source "arch/arm/mach-k3/Kconfig"
 source "arch/arm/mach-omap/Kconfig"
 source "arch/arm/mach-pxa/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index beb1c102c9..67362d2023 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -90,7 +90,6 @@ machine-$(CONFIG_ARCH_K3) += k3
 machine-$(CONFIG_ARCH_LAYERSCAPE)  += layerscape
 machine-$(CONFIG_ARCH_MXS) += mxs
 machine-$(CONFIG_ARCH_MVEBU)   += mvebu
-machine-$(CONFIG_ARCH_NOMADIK) += nomadik
 machine-$(CONFIG_ARCH_OMAP)+= omap
 machine-$(CONFIG_ARCH_PXA) += pxa
 machine-$(CONFIG_ARCH_ROCKCHIP)+= rockchip
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index fc7a829900..ca6f8f2137 100644
--- a/arch/arm/boards/Makefile
+++ b/arch/arm/boards/Makefile
@@ -63,7 +63,6 @@ obj-$(CONFIG_MACH_MX28EVK)+= 
freescale-mx28-evk/
 obj-$(CONFIG_MACH_MYIRTECH_X335X)  += myirtech-x335x/
 obj-$(CONFIG_MACH_NETGEAR_RN104)   += netgear-rn104/
 obj-$(CONFIG_MACH_NETGEAR_RN2120)  += netgear-rn2120/
-obj-$(CONFIG_MACH_NOMADIK_8815NHK) += nhk8815/
 obj-$(CONFIG_MACH_NVIDIA_BEAVER)   += nvidia-beaver/
 obj-$(CONFIG_MACH_NVIDIA_JETSON)   += nvidia-jetson-tk1/
 obj-$(CONFIG_MACH_NXP_IMX6ULL_EVK) += nxp-imx6ull-evk/
diff --git a/arch/arm/boards/nhk8815/Makefile b/arch/arm/boards/nhk8815/Makefile
deleted file mode 100644
index 0367fa7dd5..00
--- a/arch/arm/boards/nhk8815/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-y += setup.o
-lwl-y += lowlevel.o
-bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-nhk8815
diff --git a/arch/arm/boards/nhk8815/defaultenv-nhk8815/config 
b/arch/arm/boards/nhk8815/defaultenv-nhk8815/config
deleted file mode 100644
index c05ed2704e..00
--- 

[PATCH 01/15] ARM: move HAVE_PBL_MULTI_IMAGES up to ARCH_MULTIARCH

2024-04-25 Thread Sascha Hauer
All ARCH_MULTIARCH machines need HAVE_PBL_MULTI_IMAGES enabled, so
move selection of the symbol up to ARCH_MULTIARCH.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig | 11 +--
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1377679ac9..6ebcb1577f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -42,6 +42,7 @@ choice
prompt "ARM system type"
 
 config ARCH_MULTIARCH
+   select HAVE_PBL_MULTI_IMAGES
bool "Allow multiple archs to be selected"
 
 config ARCH_AT91
@@ -181,7 +182,6 @@ config ARCH_ARM64_VIRT
bool "ARM64 QEMU Virt board"
depends on 64BIT
select CPU_V8
-   select HAVE_PBL_MULTI_IMAGES
select OFDEVICE
select OFTREE
select RELOCATABLE
@@ -201,7 +201,6 @@ config ARCH_BCM283X
select RELOCATABLE
select OFTREE
select OFDEVICE
-   select HAVE_PBL_MULTI_IMAGES
 
 config ARCH_IMX
bool "Freescale iMX-based"
@@ -210,7 +209,6 @@ config ARCH_IMX
select COMMON_CLK
select WATCHDOG_IMX_RESET_SOURCE
select HAS_DEBUG_LL
-   select HAVE_PBL_MULTI_IMAGES
select RELOCATABLE
 
 config ARCH_K3
@@ -219,7 +217,6 @@ config ARCH_K3
select CPU_V8
select GPIOLIB
select COMMON_CLK
-   select HAVE_PBL_MULTI_IMAGES
select HAS_DEBUG_LL
select COMMON_CLK_OF_PROVIDER
select PM_GENERIC_DOMAINS
@@ -229,7 +226,6 @@ config ARCH_LAYERSCAPE
depends on ARCH_MULTIARCH
select GPIOLIB
select HAS_DEBUG_LL
-   select HAVE_PBL_MULTI_IMAGES
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select HW_HAS_PCI
@@ -256,7 +252,6 @@ config ARCH_ROCKCHIP
select PINCTRL
select PINCTRL_ROCKCHIP
select OFTREE
-   select HAVE_PBL_MULTI_IMAGES
select HAS_DEBUG_LL
imply GPIO_ROCKCHIP
 
@@ -265,7 +260,6 @@ config ARCH_STM32MP
depends on 32BIT
select ARCH_STM32
select CPU_V7
-   select HAVE_PBL_MULTI_IMAGES
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select HAS_DEBUG_LL
@@ -284,7 +278,6 @@ config ARCH_VERSATILE
select HAS_DEBUG_LL
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
-   select HAVE_PBL_MULTI_IMAGES
 
 config ARCH_VEXPRESS
bool "ARM Vexpress & virt boards"
@@ -298,14 +291,12 @@ config ARCH_VEXPRESS
select OFTREE
select OFDEVICE
select RELOCATABLE
-   select HAVE_PBL_MULTI_IMAGES
 
 config ARCH_ZYNQMP
bool "Xilinx ZynqMP-based boards"
depends on 64BIT
select CPU_V8
select HAS_DEBUG_LL
-   select HAVE_PBL_MULTI_IMAGES
select ARM_SMCCC
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
-- 
2.39.2




[PATCH 06/15] ARM: remove davinci

2024-04-25 Thread Sascha Hauer
barebox davinci support is very minimal, the only supported board is
the virt2real board. This still has no PBL support which becomes
mandatory soon, so remove the architecture.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig |   8 -
 arch/arm/Makefile|  13 --
 arch/arm/boards/Makefile |   1 -
 arch/arm/boards/virt2real/Makefile   |   4 -
 arch/arm/boards/virt2real/board.c|  15 --
 arch/arm/boards/virt2real/lowlevel.c |  28 
 arch/arm/configs/virt2real_defconfig |  45 --
 arch/arm/dts/Makefile|   1 -
 arch/arm/dts/virt2real.dts   |  36 -
 arch/arm/include/asm/debug_ll.h  |   2 -
 arch/arm/mach-davinci/Kconfig|  19 ---
 arch/arm/mach-davinci/Makefile   |   3 -
 arch/arm/mach-davinci/time.c | 216 ---
 include/mach/davinci/debug_ll.h  |  28 
 include/mach/davinci/hardware.h  |  27 
 include/mach/davinci/serial.h|  18 ---
 include/mach/davinci/time.h  |  18 ---
 scripts/Kconfig  |   7 -
 scripts/Makefile |   1 -
 scripts/mkublheader.c|  85 ---
 20 files changed, 575 deletions(-)
 delete mode 100644 arch/arm/boards/virt2real/Makefile
 delete mode 100644 arch/arm/boards/virt2real/board.c
 delete mode 100644 arch/arm/boards/virt2real/lowlevel.c
 delete mode 100644 arch/arm/configs/virt2real_defconfig
 delete mode 100644 arch/arm/dts/virt2real.dts
 delete mode 100644 arch/arm/mach-davinci/Kconfig
 delete mode 100644 arch/arm/mach-davinci/Makefile
 delete mode 100644 arch/arm/mach-davinci/time.c
 delete mode 100644 include/mach/davinci/debug_ll.h
 delete mode 100644 include/mach/davinci/hardware.h
 delete mode 100644 include/mach/davinci/serial.h
 delete mode 100644 include/mach/davinci/time.h
 delete mode 100644 scripts/mkublheader.c

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b3e4330ffe..7f84a1a12b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -70,13 +70,6 @@ config ARCH_CLPS711X
select MFD_SYSCON
select RELOCATABLE
 
-config ARCH_DAVINCI
-   bool "TI Davinci"
-   depends on 32BIT
-   select CPU_ARM926T
-   select HAS_DEBUG_LL
-   select GPIOLIB
-
 config ARCH_MVEBU
bool "Marvell EBU platforms"
depends on 32BIT
@@ -274,7 +267,6 @@ source "arch/arm/cpu/Kconfig"
 source "arch/arm/mach-at91/Kconfig"
 source "arch/arm/mach-bcm283x/Kconfig"
 source "arch/arm/mach-clps711x/Kconfig"
-source "arch/arm/mach-davinci/Kconfig"
 source "arch/arm/mach-imx/Kconfig"
 source "arch/arm/mach-layerscape/Kconfig"
 source "arch/arm/mach-mxs/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index a183a5a61e..beb1c102c9 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -85,7 +85,6 @@ endif
 machine-$(CONFIG_ARCH_AT91)+= at91
 machine-$(CONFIG_ARCH_BCM283X) += bcm283x
 machine-$(CONFIG_ARCH_CLPS711X)+= clps711x
-machine-$(CONFIG_ARCH_DAVINCI) += davinci
 machine-$(CONFIG_ARCH_IMX) += imx
 machine-$(CONFIG_ARCH_K3)  += k3
 machine-$(CONFIG_ARCH_LAYERSCAPE)  += layerscape
@@ -140,18 +139,6 @@ ifeq ($(CONFIG_OMAP_BUILD_IFT),y)
 KBUILD_IMAGE := MLO
 endif
 
-quiet_cmd_davinci_ubl_image = UBL-IMG $@
-  cmd_davinci_ubl_image = set -e; \
-scripts/mkublheader $< > $@; \
-cat $< >> $@
-
-barebox.ubl: $(KBUILD_BINARY) FORCE
-   $(call if_changed,davinci_ubl_image)
-
-ifeq ($(CONFIG_ARCH_DAVINCI),y)
-KBUILD_IMAGE := barebox.ubl
-endif
-
 archclean:
$(MAKE) $(clean)=$(pbl)
 
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index a06c45d11d..022ba9903a 100644
--- a/arch/arm/boards/Makefile
+++ b/arch/arm/boards/Makefile
@@ -161,7 +161,6 @@ obj-$(CONFIG_MACH_USB_A9G20)+= 
usb-a926x/
 obj-$(CONFIG_MACH_USI_TOPKICK) += usi-topkick/
 obj-$(CONFIG_MACH_VERSATILEPB) += versatile/
 obj-$(CONFIG_MACH_VEXPRESS)+= vexpress/
-obj-$(CONFIG_MACH_VIRT2REAL)   += virt2real/
 obj-$(CONFIG_MACH_ZEDBOARD)+= avnet-zedboard/
 obj-$(CONFIG_MACH_ZYLONITE)+= zylonite/
 obj-$(CONFIG_MACH_VARISCITE_MX6)   += variscite-mx6/
diff --git a/arch/arm/boards/virt2real/Makefile 
b/arch/arm/boards/virt2real/Makefile
deleted file mode 100644
index da63d2625f..00
--- a/arch/arm/boards/virt2real/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-y += board.o
-lwl-y += lowlevel.o
diff --git a/arch/arm/boards/virt2real/board.c 
b/arch/arm/boards/virt2real/board.c
deleted file mode 100644
index caa2b53a68..00
--- a/arch/arm/boards/virt2real/board.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-// SPDX-FileCopyrightText: 2014 Antony Pavlov 
-
-/* This file is part of barebox. */
-
-#include 
-#include 
-
-static int 

[PATCH 07/15] ARM: remove PXA boards

2024-04-25 Thread Sascha Hauer
None of the PXA boards has PBL support. This becomes mandatory soon, so
remove the boards.

Signed-off-by: Sascha Hauer 
---
 arch/arm/boards/Makefile  |   5 -
 arch/arm/boards/lubbock/Makefile  |   4 -
 arch/arm/boards/lubbock/board.c   | 118 -
 arch/arm/boards/lubbock/env/boot/nor-ubi  |   5 -
 arch/arm/boards/lubbock/env/init/mtdparts-nor |   6 -
 .../lubbock/env/nv/linux.bootargs.console |   1 -
 arch/arm/boards/lubbock/lowlevel.c| 194 
 arch/arm/boards/mainstone/Makefile|   4 -
 arch/arm/boards/mainstone/board.c | 118 -
 arch/arm/boards/mainstone/env/boot/nor-ubi|   5 -
 .../boards/mainstone/env/init/mtdparts-nor|   6 -
 .../mainstone/env/nv/linux.bootargs.console   |   1 -
 arch/arm/boards/mainstone/lowlevel.c  | 266 ---
 arch/arm/boards/mioa701/Makefile  |   4 -
 arch/arm/boards/mioa701/board.c   | 274 ---
 .../arm/boards/mioa701/env/bin/barebox_update |  11 -
 arch/arm/boards/mioa701/env/bin/console_mode  |   6 -
 arch/arm/boards/mioa701/env/bin/dps1_unlock   |  12 -
 arch/arm/boards/mioa701/env/bin/dps1_update   |  12 -
 arch/arm/boards/mioa701/env/bin/init  |  79 ---
 .../boards/mioa701/env/bin/mtd_env_override   |   4 -
 .../boards/mioa701/env/bin/sdcard_override|  19 -
 arch/arm/boards/mioa701/env/config|   6 -
 arch/arm/boards/mioa701/env/data/dps1.raw.gz  | Bin 1324 -> 0 bytes
 arch/arm/boards/mioa701/gpio0_poweroff.c  |  67 ---
 arch/arm/boards/mioa701/lowlevel.c|  12 -
 arch/arm/boards/mioa701/mioa701.h |  67 ---
 .../arm/boards/phytec-phycore-pxa270/Makefile |   4 -
 arch/arm/boards/phytec-phycore-pxa270/board.c | 171 ---
 .../arm/boards/phytec-phycore-pxa270/config.h | 314 
 .../env/init/mtdparts-nor |   6 -
 .../env/nv/linux.bootargs.console |   1 -
 .../phytec-phycore-pxa270/lowlevel_init.S | 448 --
 arch/arm/boards/zylonite/Makefile |   4 -
 arch/arm/boards/zylonite/board.c  |  93 
 arch/arm/boards/zylonite/env/boot/nand-ubi|   5 -
 .../boards/zylonite/env/init/mtdparts-nand|   6 -
 arch/arm/boards/zylonite/env/nv/hostname  |   1 -
 .../zylonite/env/nv/linux.bootargs.base   |   1 -
 .../zylonite/env/nv/linux.bootargs.console|   1 -
 arch/arm/boards/zylonite/lowlevel.c   |  12 -
 arch/arm/configs/lubbock_defconfig| 100 
 arch/arm/configs/mainstone_defconfig  | 103 
 arch/arm/configs/mioa701_defconfig| 104 
 .../configs/phytec-phycore-pxa270_defconfig   |  60 ---
 arch/arm/configs/zylonite310_defconfig| 104 
 arch/arm/include/asm/mach-types.h |  60 ---
 arch/arm/mach-pxa/Kconfig |  87 
 48 files changed, 2991 deletions(-)
 delete mode 100644 arch/arm/boards/lubbock/Makefile
 delete mode 100644 arch/arm/boards/lubbock/board.c
 delete mode 100644 arch/arm/boards/lubbock/env/boot/nor-ubi
 delete mode 100644 arch/arm/boards/lubbock/env/init/mtdparts-nor
 delete mode 100644 arch/arm/boards/lubbock/env/nv/linux.bootargs.console
 delete mode 100644 arch/arm/boards/lubbock/lowlevel.c
 delete mode 100644 arch/arm/boards/mainstone/Makefile
 delete mode 100644 arch/arm/boards/mainstone/board.c
 delete mode 100644 arch/arm/boards/mainstone/env/boot/nor-ubi
 delete mode 100644 arch/arm/boards/mainstone/env/init/mtdparts-nor
 delete mode 100644 arch/arm/boards/mainstone/env/nv/linux.bootargs.console
 delete mode 100644 arch/arm/boards/mainstone/lowlevel.c
 delete mode 100644 arch/arm/boards/mioa701/Makefile
 delete mode 100644 arch/arm/boards/mioa701/board.c
 delete mode 100644 arch/arm/boards/mioa701/env/bin/barebox_update
 delete mode 100644 arch/arm/boards/mioa701/env/bin/console_mode
 delete mode 100644 arch/arm/boards/mioa701/env/bin/dps1_unlock
 delete mode 100644 arch/arm/boards/mioa701/env/bin/dps1_update
 delete mode 100644 arch/arm/boards/mioa701/env/bin/init
 delete mode 100644 arch/arm/boards/mioa701/env/bin/mtd_env_override
 delete mode 100644 arch/arm/boards/mioa701/env/bin/sdcard_override
 delete mode 100644 arch/arm/boards/mioa701/env/config
 delete mode 100644 arch/arm/boards/mioa701/env/data/dps1.raw.gz
 delete mode 100644 arch/arm/boards/mioa701/gpio0_poweroff.c
 delete mode 100644 arch/arm/boards/mioa701/lowlevel.c
 delete mode 100644 arch/arm/boards/mioa701/mioa701.h
 delete mode 100644 arch/arm/boards/phytec-phycore-pxa270/Makefile
 delete mode 100644 arch/arm/boards/phytec-phycore-pxa270/board.c
 delete mode 100644 arch/arm/boards/phytec-phycore-pxa270/config.h
 delete mode 100644 arch/arm/boards/phytec-phycore-pxa270/env/init/mtdparts-nor
 delete mode 100644 
arch/arm/boards/phytec-phycore-pxa270/env/nv/linux.bootargs.console
 delete mode 100644 arch/arm/boards/phytec-phycore-pxa270/lowlevel_init.S
 delete mode 100644 arch/arm/boards/zylonite/Makefile
 

[PATCH 05/15] ARM: remove canon-a1100 support

2024-04-25 Thread Sascha Hauer
canon-a1100 still doesn't have PBL support which will become mandatory
soon. Remove the architecture.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig   | 11 --
 arch/arm/Makefile  | 11 --
 arch/arm/boards/Makefile   |  1 -
 arch/arm/boards/canon-a1100/Makefile   |  3 --
 arch/arm/boards/canon-a1100/lowlevel.c | 32 
 arch/arm/configs/canon-a1100_defconfig | 51 --
 arch/arm/dts/Makefile  |  1 -
 arch/arm/dts/canon-a1100.dts   | 36 --
 arch/arm/include/asm/debug_ll.h|  2 -
 arch/arm/mach-digic/Kconfig| 17 -
 arch/arm/mach-digic/Makefile   |  3 --
 include/mach/digic/debug_ll.h  | 39 
 include/mach/digic/digic4.h| 22 ---
 include/mach/digic/uart.h  | 27 --
 scripts/canon-a1100-image  | 12 --
 15 files changed, 268 deletions(-)
 delete mode 100644 arch/arm/boards/canon-a1100/Makefile
 delete mode 100644 arch/arm/boards/canon-a1100/lowlevel.c
 delete mode 100644 arch/arm/configs/canon-a1100_defconfig
 delete mode 100644 arch/arm/dts/canon-a1100.dts
 delete mode 100644 arch/arm/mach-digic/Kconfig
 delete mode 100644 arch/arm/mach-digic/Makefile
 delete mode 100644 include/mach/digic/debug_ll.h
 delete mode 100644 include/mach/digic/digic4.h
 delete mode 100644 include/mach/digic/uart.h
 delete mode 100755 scripts/canon-a1100-image

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 837c7eb9f4..b3e4330ffe 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -77,16 +77,6 @@ config ARCH_DAVINCI
select HAS_DEBUG_LL
select GPIOLIB
 
-config ARCH_DIGIC
-   bool "Canon DIGIC-based cameras"
-   depends on 32BIT
-   select CPU_ARM946E
-   select HAS_DEBUG_LL
-   select CLOCKSOURCE_DIGIC
-   select GPIOLIB
-   help
- Support for Canon's digital cameras that use the DIGIC4 chip.
-
 config ARCH_MVEBU
bool "Marvell EBU platforms"
depends on 32BIT
@@ -285,7 +275,6 @@ source "arch/arm/mach-at91/Kconfig"
 source "arch/arm/mach-bcm283x/Kconfig"
 source "arch/arm/mach-clps711x/Kconfig"
 source "arch/arm/mach-davinci/Kconfig"
-source "arch/arm/mach-digic/Kconfig"
 source "arch/arm/mach-imx/Kconfig"
 source "arch/arm/mach-layerscape/Kconfig"
 source "arch/arm/mach-mxs/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index a08be94687..a183a5a61e 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -86,7 +86,6 @@ machine-$(CONFIG_ARCH_AT91)   += at91
 machine-$(CONFIG_ARCH_BCM283X) += bcm283x
 machine-$(CONFIG_ARCH_CLPS711X)+= clps711x
 machine-$(CONFIG_ARCH_DAVINCI) += davinci
-machine-$(CONFIG_ARCH_DIGIC)   += digic
 machine-$(CONFIG_ARCH_IMX) += imx
 machine-$(CONFIG_ARCH_K3)  += k3
 machine-$(CONFIG_ARCH_LAYERSCAPE)  += layerscape
@@ -153,16 +152,6 @@ ifeq ($(CONFIG_ARCH_DAVINCI),y)
 KBUILD_IMAGE := barebox.ubl
 endif
 
-quiet_cmd_canon_a1100_image = DD  $@
-  cmd_canon_a1100_image = scripts/canon-a1100-image $< $@ || \
-   echo "WARNING: Couldn't create Canon A1100 image due to previous 
errors."
-barebox.canon-a1100.bin: $(KBUILD_BINARY) FORCE
-   $(call if_changed,canon_a1100_image)
-
-ifeq ($(CONFIG_MACH_CANON_A1100),y)
-KBUILD_IMAGE := barebox.canon-a1100.bin
-endif
-
 archclean:
$(MAKE) $(clean)=$(pbl)
 
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index 2e41865890..a06c45d11d 100644
--- a/arch/arm/boards/Makefile
+++ b/arch/arm/boards/Makefile
@@ -19,7 +19,6 @@ obj-$(CONFIG_MACH_BEAGLE) += beagle/
 obj-$(CONFIG_MACH_BEAGLEBONE)  += beaglebone/
 obj-$(CONFIG_MACH_BEAGLEPLAY)  += beagleplay/
 obj-$(CONFIG_MACH_CALAO)   += calao/
-obj-$(CONFIG_MACH_CANON_A1100) += canon-a1100/
 obj-$(CONFIG_MACH_CM_FX6)  += cm-fx6/
 obj-$(CONFIG_MACH_NITROGEN6)   += boundarydevices-nitrogen6/
 obj-$(CONFIG_MACH_NOVENA)  += novena/
diff --git a/arch/arm/boards/canon-a1100/Makefile 
b/arch/arm/boards/canon-a1100/Makefile
deleted file mode 100644
index 458f520900..00
--- a/arch/arm/boards/canon-a1100/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-lwl-y += lowlevel.o
diff --git a/arch/arm/boards/canon-a1100/lowlevel.c 
b/arch/arm/boards/canon-a1100/lowlevel.c
deleted file mode 100644
index 47a9564e0f..00
--- a/arch/arm/boards/canon-a1100/lowlevel.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-
-#include 
-#include 
-#include 
-#include 
-
-extern char __dtb_canon_a1100_start[];
-
-void __naked barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2)
-{
-   void *fdt;
-
-   arm_cpu_lowlevel_init();
-
-   fdt = __dtb_canon_a1100_start + 

[PATCH 02/15] ARM: move OFTREE and OFDEVICE up one level

2024-04-25 Thread Sascha Hauer
All ARCH_MULTIARCH machines are probing from device tree, so select
the necessary symbols from ARCH_MULTIARCH rather than individually
from the machines.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig   | 13 ++---
 arch/arm/mach-imx/Kconfig  |  7 ---
 arch/arm/mach-omap/Kconfig |  1 -
 3 files changed, 2 insertions(+), 19 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6ebcb1577f..728438dcf6 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -43,6 +43,8 @@ choice
 
 config ARCH_MULTIARCH
select HAVE_PBL_MULTI_IMAGES
+   select OFTREE
+   select OFDEVICE
bool "Allow multiple archs to be selected"
 
 config ARCH_AT91
@@ -182,8 +184,6 @@ config ARCH_ARM64_VIRT
bool "ARM64 QEMU Virt board"
depends on 64BIT
select CPU_V8
-   select OFDEVICE
-   select OFTREE
select RELOCATABLE
select ARM_AMBA
select BOARD_ARM_VIRT
@@ -199,8 +199,6 @@ config ARCH_BCM283X
select ARM_AMBA
select HAS_DEBUG_LL
select RELOCATABLE
-   select OFTREE
-   select OFDEVICE
 
 config ARCH_IMX
bool "Freescale iMX-based"
@@ -229,8 +227,6 @@ config ARCH_LAYERSCAPE
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select HW_HAS_PCI
-   select OFTREE
-   select OFDEVICE
select ARM_USE_COMPRESSED_DTB
select OF_DMA_COHERENCY
 
@@ -251,7 +247,6 @@ config ARCH_ROCKCHIP
select GPIOLIB
select PINCTRL
select PINCTRL_ROCKCHIP
-   select OFTREE
select HAS_DEBUG_LL
imply GPIO_ROCKCHIP
 
@@ -288,8 +283,6 @@ config ARCH_VEXPRESS
select AMBA_SP804
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
-   select OFTREE
-   select OFDEVICE
select RELOCATABLE
 
 config ARCH_ZYNQMP
@@ -301,8 +294,6 @@ config ARCH_ZYNQMP
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select GPIOLIB
-   select OFDEVICE
-   select OFTREE
select RELOCATABLE
select HAS_MACB
 
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 6125813773..4d10def3c2 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -124,7 +124,6 @@ config ARCH_IMX6
select ARCH_HAS_IMX_GPT
select CPU_V7
select PINCTRL_IMX_IOMUX_V3
-   select OFDEVICE
select COMMON_CLK_OF_PROVIDER
select HW_HAS_PCI
 
@@ -144,7 +143,6 @@ config ARCH_IMX7
bool
select CPU_V7
select PINCTRL_IMX_IOMUX_V3
-   select OFTREE
select COMMON_CLK_OF_PROVIDER
select ARCH_HAS_FEC_IMX
select ARCH_HAS_IMX_GPT
@@ -154,7 +152,6 @@ config ARCH_IMX8M
bool
select CPU_V8
select PINCTRL_IMX_IOMUX_V3
-   select OFTREE
select COMMON_CLK_OF_PROVIDER
select ARCH_HAS_FEC_IMX
select HW_HAS_PCI
@@ -189,7 +186,6 @@ config ARCH_IMX93
select ARCH_IMX9
select CPU_V8
select PINCTRL_IMX_IOMUX_V3
-   select OFTREE
select COMMON_CLK_OF_PROVIDER
select ARM_USE_COMPRESSED_DTB
select ARCH_HAS_FEC_IMX
@@ -200,8 +196,6 @@ config ARCH_VF610
select ARCH_HAS_FEC_IMX
select CPU_V7
select PINCTRL
-   select OFDEVICE
-   select OFTREE
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select NVMEM
@@ -825,7 +819,6 @@ config HABV4
select NVMEM
select IMX_OCOTP
depends on ARCH_IMX6 || ARCH_IMX8M
-   depends on OFDEVICE
help
  High Assurance Boot, as found on i.MX28/i.MX6/i.MX8M.
 
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index f0e035e31e..cb1ba9f7eb 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -39,7 +39,6 @@ config ARCH_AM33XX
bool
select CPU_V7
select GENERIC_GPIO
-   select OFTREE
select CLOCKSOURCE_TI_DM
select ARM_USE_COMPRESSED_DTB
help
-- 
2.39.2




[PATCH 03/15] ARM: remove uemd architecure

2024-04-25 Thread Sascha Hauer
mach-uemd is one of the architectures that still doesn't support PBL.
As PBL support becomes mandatory remove the architecture.

Signed-off-by: Sascha Hauer 
---
 arch/arm/Kconfig | 12 ---
 arch/arm/Makefile|  1 -
 arch/arm/boards/Makefile |  1 -
 arch/arm/boards/module-mb7707/Makefile   |  4 ---
 arch/arm/boards/module-mb7707/board.c| 31 
 arch/arm/boards/module-mb7707/lowlevel.c | 28 ---
 arch/arm/configs/module-mb7707_defconfig | 45 
 arch/arm/dts/Makefile|  1 -
 arch/arm/dts/k1879hb1ya.dtsi | 44 ---
 arch/arm/dts/module-mb7707.dts   | 25 -
 arch/arm/include/asm/debug_ll.h  |  2 --
 arch/arm/mach-uemd/Kconfig   | 17 -
 arch/arm/mach-uemd/Makefile  |  3 --
 include/mach/uemd/debug_ll.h | 41 -
 include/mach/uemd/hardware.h |  9 -
 15 files changed, 264 deletions(-)
 delete mode 100644 arch/arm/boards/module-mb7707/Makefile
 delete mode 100644 arch/arm/boards/module-mb7707/board.c
 delete mode 100644 arch/arm/boards/module-mb7707/lowlevel.c
 delete mode 100644 arch/arm/configs/module-mb7707_defconfig
 delete mode 100644 arch/arm/dts/k1879hb1ya.dtsi
 delete mode 100644 arch/arm/dts/module-mb7707.dts
 delete mode 100644 arch/arm/mach-uemd/Kconfig
 delete mode 100644 arch/arm/mach-uemd/Makefile
 delete mode 100644 include/mach/uemd/debug_ll.h
 delete mode 100644 include/mach/uemd/hardware.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 728438dcf6..0b4333db6a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -160,17 +160,6 @@ config ARCH_TEGRA
select RESET_CONTROLLER
select PINCTRL
 
-config ARCH_UEMD
-   bool "RC Module UEMD Platform"
-   depends on 32BIT
-   select CPU_ARM1176
-   select COMMON_CLK
-   select COMMON_CLK_OF_PROVIDER
-   select OFDEVICE
-   select OFTREE
-   select CLOCKSOURCE_UEMD
-   select HAS_DEBUG_LL
-
 config ARCH_ZYNQ
bool "Xilinx Zynq-based boards"
depends on 32BIT
@@ -318,7 +307,6 @@ source "arch/arm/mach-stm32mp/Kconfig"
 source "arch/arm/mach-versatile/Kconfig"
 source "arch/arm/mach-vexpress/Kconfig"
 source "arch/arm/mach-tegra/Kconfig"
-source "arch/arm/mach-uemd/Kconfig"
 source "arch/arm/mach-zynq/Kconfig"
 source "arch/arm/mach-zynqmp/Kconfig"
 
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index ecc74838f6..1c8ec48988 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -103,7 +103,6 @@ machine-$(CONFIG_ARCH_STM32MP)  += stm32mp
 machine-$(CONFIG_ARCH_VERSATILE)   += versatile
 machine-$(CONFIG_ARCH_VEXPRESS)+= vexpress
 machine-$(CONFIG_ARCH_TEGRA)   += tegra
-machine-$(CONFIG_ARCH_UEMD)+= uemd
 machine-$(CONFIG_ARCH_ZYNQ)+= zynq
 machine-$(CONFIG_ARCH_ZYNQMP)  += zynqmp
 
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index 98eab17af2..eb4e80d3e0 100644
--- a/arch/arm/boards/Makefile
+++ b/arch/arm/boards/Makefile
@@ -69,7 +69,6 @@ obj-$(CONFIG_MACH_LUBBOCK)+= lubbock/
 obj-$(CONFIG_MACH_MAINSTONE)   += mainstone/
 obj-$(CONFIG_MACH_MARVELL_ARMADA_XP_GP)+= marvell-armada-xp-gp/
 obj-$(CONFIG_MACH_MARVELL_ARMADA_XP_DB)+= marvell-armada-xp-db/
-obj-$(CONFIG_MACH_MB7707)  += module-mb7707/
 obj-$(CONFIG_MACH_MIOA701) += mioa701/
 obj-$(CONFIG_MACH_MX23EVK) += freescale-mx23-evk/
 obj-$(CONFIG_MACH_MX28EVK) += freescale-mx28-evk/
diff --git a/arch/arm/boards/module-mb7707/Makefile 
b/arch/arm/boards/module-mb7707/Makefile
deleted file mode 100644
index da63d2625f..00
--- a/arch/arm/boards/module-mb7707/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-y += board.o
-lwl-y += lowlevel.o
diff --git a/arch/arm/boards/module-mb7707/board.c 
b/arch/arm/boards/module-mb7707/board.c
deleted file mode 100644
index 366baddf81..00
--- a/arch/arm/boards/module-mb7707/board.c
+++ /dev/null
@@ -1,31 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-// SPDX-FileCopyrightText: 2014 Antony Pavlov 
-
-/* This file is part of barebox. */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-
-static int hostname_init(void)
-{
-   barebox_set_hostname("mb7707");
-
-   return 0;
-}
-core_initcall(hostname_init);
-
-static struct ehci_platform_data ehci_pdata = {
-   .flags = 0,
-};
-
-static int mb7707_devices_init(void)
-{
-   add_usb_ehci_device(DEVICE_ID_DYNAMIC, UEMD_EHCI_BASE,
-   UEMD_EHCI_BASE + 0x10, _pdata);
-
-   return 0;
-}
-device_initcall(mb7707_devices_init);
diff --git a/arch/arm/boards/module-mb7707/lowlevel.c 
b/arch/arm/boards/module-mb7707/lowlevel.c
deleted file mode 100644
index 

[PATCH 00/15] ARM: remove non PBL ARM boards and sub architectures

2024-04-25 Thread Sascha Hauer
The ARM architecture support in barebox has become quite complicated
over time.  Most SoCs use PBL and relocatable binaries, but some older
ones still don't.  This makes the lowlevel ARM code hard to maintain and
often hard to understand.

I've decided that it is time to make a cut and to abandon the old non
PBL boards and sometimes the sub architecture with it. This series
removes:

- mach-davinci
- mach-ep93xx
- mach-digic
- mach-nomadik
- mach-uemd
- non PBL Atmel AT91 boards
- non PBL OMAP boards

If you are still using one of these boards/sub architecures then please
speak up.  In some cases the conversion to PBL support is quite straight
forward and I could guide you through the process or create patches for
them. Anyway, I assume most of the sub architectures are unused so I
would do the work only if somebody actively shows interest.

Sascha Hauer (15):
  ARM: move HAVE_PBL_MULTI_IMAGES up to ARCH_MULTIARCH
  ARM: move OFTREE and OFDEVICE up one level
  ARM: remove uemd architecure
  ARM: remove ep93xx
  ARM: remove canon-a1100 support
  ARM: remove davinci
  ARM: remove PXA boards
  ARM: remove nomadik
  ARM: remove non PBL OMAP boards
  ARM: remove non PBL Atmel boards
  ARM: move HAVE_PBL_MULTI_IMAGES to toplevel
  ARM: drop non PBL support
  ARM: drop barebox_arm_head()
  ARM: make relocatable mandatory
  ARM: drop TEXT_BASE

 arch/arm/Kconfig  | 100 +--
 arch/arm/Makefile |  47 +-
 arch/arm/boards/Makefile  |  27 -
 arch/arm/boards/archosg9/Makefile |   5 -
 arch/arm/boards/archosg9/archos_features.c| 189 --
 arch/arm/boards/archosg9/archos_features.h|  24 -
 arch/arm/boards/archosg9/board.c  | 180 --
 .../boards/archosg9/env/boot/sd-card-android  |   6 -
 .../boards/archosg9/env/boot/sd-card-linux|  12 -
 arch/arm/boards/archosg9/env/boot/usb-android |   6 -
 arch/arm/boards/archosg9/env/boot/usb-linux   |  12 -
 arch/arm/boards/archosg9/env/init/automount2  |   7 -
 arch/arm/boards/archosg9/env/init/bootsource  |  15 -
 arch/arm/boards/archosg9/env/init/splash  |   5 -
 .../archosg9/env/menu/11-boot-flash/action|   4 -
 .../archosg9/env/menu/11-boot-flash/title |   1 -
 .../archosg9/env/menu/12-boot-sd/action   |   4 -
 .../boards/archosg9/env/menu/12-boot-sd/title |   1 -
 .../archosg9/env/menu/13-boot-usb/action  |   4 -
 .../archosg9/env/menu/13-boot-usb/title   |   1 -
 arch/arm/boards/archosg9/feature_list.h   | 352 --
 arch/arm/boards/archosg9/lowlevel.c   |  73 ---
 arch/arm/boards/archosg9/mux.c| 262 
 arch/arm/boards/archosg9/mux.h|   8 -
 arch/arm/boards/canon-a1100/Makefile  |   3 -
 arch/arm/boards/canon-a1100/lowlevel.c|  32 -
 arch/arm/boards/edb93xx/Makefile  |   4 -
 arch/arm/boards/edb93xx/early_udelay.h|  15 -
 arch/arm/boards/edb93xx/edb93xx.c | 121 
 arch/arm/boards/edb93xx/edb93xx.h |  29 -
 arch/arm/boards/edb93xx/env/bin/boot  |  48 --
 .../boards/edb93xx/env/bin/flash_partition|  22 -
 arch/arm/boards/edb93xx/env/bin/init  |  19 -
 arch/arm/boards/edb93xx/env/bin/set_nor_parts |   3 -
 arch/arm/boards/edb93xx/env/bin/update_kernel |  16 -
 arch/arm/boards/edb93xx/env/bin/update_rootfs |  16 -
 arch/arm/boards/edb93xx/env/config|  16 -
 arch/arm/boards/edb93xx/flash_cfg.c   |  22 -
 arch/arm/boards/edb93xx/pll_cfg.c |  41 --
 arch/arm/boards/edb93xx/pll_cfg.h |  53 --
 arch/arm/boards/edb93xx/sdram_cfg.c   | 128 
 arch/arm/boards/edb93xx/sdram_cfg.h   | 125 
 arch/arm/boards/lubbock/Makefile  |   4 -
 arch/arm/boards/lubbock/board.c   | 118 
 arch/arm/boards/lubbock/env/boot/nor-ubi  |   5 -
 arch/arm/boards/lubbock/env/init/mtdparts-nor |   6 -
 .../lubbock/env/nv/linux.bootargs.console |   1 -
 arch/arm/boards/lubbock/lowlevel.c| 194 --
 arch/arm/boards/mainstone/Makefile|   4 -
 arch/arm/boards/mainstone/board.c | 118 
 arch/arm/boards/mainstone/env/boot/nor-ubi|   5 -
 .../boards/mainstone/env/init/mtdparts-nor|   6 -
 .../mainstone/env/nv/linux.bootargs.console   |   1 -
 arch/arm/boards/mainstone/lowlevel.c  | 266 
 arch/arm/boards/mioa701/Makefile  |   4 -
 arch/arm/boards/mioa701/board.c   | 274 
 .../arm/boards/mioa701/env/bin/barebox_update |  11 -
 arch/arm/boards/mioa701/env/bin/console_mode  |   6 -
 arch/arm/boards/mioa701/env/bin/dps1_unlock   |  12 -
 arch/arm/boards/mioa701/env/bin/dps1_update   |  12 -
 arch/arm/boards/mioa701/env/bin/init  |  79 ---
 .../boards/mioa701/env/bin/mtd_env_override   |   4 -
 .../boards/mioa701/env/bin/sdcard_override|  19 -
 arch/arm/boards/mioa701/env/config|   6 -
 arch/arm/boards/mioa701/env/data/dps1.raw.gz  | 

Re: [PATCH] fixup! mtd: nand: move to drivers/mtd/nand/raw/

2024-04-25 Thread Sascha Hauer
On Wed, Apr 24, 2024 at 08:41:56AM +0200, Ahmad Fatoum wrote:
> mtd: nand: align IS_ENABLED(symbol) for header stub with Makefile
> 
> drivers/mtd/nand/Makefile builds nand-bb.o when CONFIG_MTD_NAND_CORE
> is defined. We need to use the same symbol in the header to avoid
> breakage when CONFIG_MTD_RAW_NAND is deselected.
> 
> Signed-off-by: Ahmad Fatoum 
> ---
>  include/nand.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/include/nand.h b/include/nand.h
> index 84f5a9671410..4fb52e9f82d5 100644
> --- a/include/nand.h
> +++ b/include/nand.h
> @@ -4,7 +4,7 @@
>  
>  struct nand_bb;
>  
> -#ifdef CONFIG_MTD_RAW_NAND
> +#ifdef CONFIG_MTD_NAND_CORE
>  int dev_add_bb_dev(const char *filename, const char *name);
>  int dev_remove_bb_dev(const char *name);
>  struct cdev *mtd_add_bb(struct mtd_info *mtd, const char *name);
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |



Re: [PATCH master 00/23] treewide: fix bugs using DMA API

2024-04-25 Thread Sascha Hauer


On Wed, 24 Apr 2024 08:40:35 +0200, Ahmad Fatoum wrote:
> As described in commi b986aad24ab8 ("mci: core: allocate memory used
> for DMA with dma_alloc"), the recent fix to ARMv8 cache operations in
> commit 65ef5d885263 ("ARM64: let 'end' point after the range in cache
> functions") may lead to unearthing some of the alignment bugs we have:
> 
> These bugs were already there: If a DMA buffer is misaligned and you do
> cache maintenance on it, you will corrupt memory that's unlucky to share
> the cache line. This has been the case for many years though, which I
> think is because that corruption was limited to the driver itself:
> If a driver invalidates only part of its buffer, then that is its
> problem and that of its consumers (e.g. TFTP failing for some file
> names, because network driver only invalidated part of the packet).
> 
> [...]

Applied, thanks!

[01/23] habv4: use DMA-capable memory for getting event from BootROM
https://git.pengutronix.de/cgit/barebox/commit/?id=72b50532f7d9 (link 
may not be stable)
[02/23] dma: give inline dma_alloc a single external definition
https://git.pengutronix.de/cgit/barebox/commit/?id=f77b139c4d74 (link 
may not be stable)
[03/23] dma: add definition for dma_zalloc
https://git.pengutronix.de/cgit/barebox/commit/?id=d2d9eb85597c (link 
may not be stable)
[04/23] include: linux/kernel.h: factor out alignment macros
https://git.pengutronix.de/cgit/barebox/commit/?id=04fbbf21e502 (link 
may not be stable)
[05/23] driver: move out struct device definition into its own header
https://git.pengutronix.de/cgit/barebox/commit/?id=58e2ba922bea (link 
may not be stable)
[06/23] dma: remove common.h include from asm/dma.h
https://git.pengutronix.de/cgit/barebox/commit/?id=d0124e06ab06 (link 
may not be stable)
[07/23] RISC-V: dma: fix dma.h inclusion
https://git.pengutronix.de/cgit/barebox/commit/?id=a9e636c1b9d9 (link 
may not be stable)
[08/23] sandbox: dma: drop unused driver.h include
https://git.pengutronix.de/cgit/barebox/commit/?id=d256efaaff68 (link 
may not be stable)
[09/23] dma: remove linux/kernel.h dependency from dma.h
https://git.pengutronix.de/cgit/barebox/commit/?id=27490e48068c (link 
may not be stable)
[10/23] include: linux/slab: fix possible overflow in kmalloc_array
https://git.pengutronix.de/cgit/barebox/commit/?id=f82819fb748a (link 
may not be stable)
[11/23] include: linux/slab: use dma_alloc for kmalloc
https://git.pengutronix.de/cgit/barebox/commit/?id=9b12861830e0 (link 
may not be stable)
[12/23] include: linux/slab: retire krealloc
https://git.pengutronix.de/cgit/barebox/commit/?id=3afbd2693d2f (link 
may not be stable)
[13/23] commands: mmc_extcsd: use DMA capable memory where needed
https://git.pengutronix.de/cgit/barebox/commit/?id=9d320afb3df3 (link 
may not be stable)
[14/23] net: macb: use DMA-capable memory for receive buffer
https://git.pengutronix.de/cgit/barebox/commit/?id=9ce5a4a7792b (link 
may not be stable)
[15/23] firmware: qemu_fw_cfg: use bounce buffer for write
https://git.pengutronix.de/cgit/barebox/commit/?id=cf6a5d4321c9 (link 
may not be stable)
[16/23] net: usb: asix: use dma_alloc for buffers in USB control messages
https://git.pengutronix.de/cgit/barebox/commit/?id=25826dced0d1 (link 
may not be stable)
[17/23] net: usb: smsc95xx: use DMA memory for usb_control_msg
https://git.pengutronix.de/cgit/barebox/commit/?id=c7ce7c992ccd (link 
may not be stable)
[18/23] usb: hub: use DMA memory in usb_get_port_status
https://git.pengutronix.de/cgit/barebox/commit/?id=3a678386fe77 (link 
may not be stable)
[19/23] usb: hub: use DMA-capable memory in usb_hub_configure
https://git.pengutronix.de/cgit/barebox/commit/?id=7cffd374fbc3 (link 
may not be stable)
[20/23] treewide: use new dma_zalloc instead of opencoding
https://git.pengutronix.de/cgit/barebox/commit/?id=f607c950a05e (link 
may not be stable)
[21/23] usb: dwc2: host: fix mismatch between dma_map_single and unmap
https://git.pengutronix.de/cgit/barebox/commit/?id=a0ae1c2c67d7 (link 
may not be stable)
[22/23] net: bcmgenet: map DMA buffers with dma_map_single
https://git.pengutronix.de/cgit/barebox/commit/?id=ecf47be780ce (link 
may not be stable)
[23/23] dma: debug: add alignment check when mapping buffers
https://git.pengutronix.de/cgit/barebox/commit/?id=699194dd2a4f (link 
may not be stable)

Best regards,
-- 
Sascha Hauer 




v2024.04.0

2024-04-25 Thread Sascha Hauer
Hi All,

I am happy to announce barebox-2024.04.0.

This release brings us some nice things. Our MMC layer now supports HS200
speed modes and the arasan SD controller is the first driver that supports
this. We have two new i.MX boards supported which are the Ka-Ro qsxp-ml81
i.MX8MP board and the Congatec WMX8MP board. Ahmad has continued to prepare
ARM64 EFI loader support which was a huge series with a lot of cleanups and
reworks.
There are also some nice little goodies I'd like to mention here. Whith
CONSOLE_FLUSH_LINE_BREAK enabled the console is now flushed on every
newline character, so chances are increased that the last message before
a crash is really printed. Also the number of stored log messages is now scaled
with the available RAM, so we can enable more debugging without rotating
the messages out too fast and still not eat up to much RAM on memory
constrained system.

There's a lot more, see below for a list of patches.

Have Fun!
 Sascha

Ahmad Fatoum (184):
  mci: atmel_mci: disable power save mode
  mci: atmel_mci: fix zeroing of block length on AT91SAM9263
  ARM: replace ENTRY_FUNCTION_HEAD with ENTRY_FUNCTION_WITHSTACK_HEAD
  ARM: at91: use AT91 header instead of generic barebox ARM's
  ARM: at91: implement SAM9_ENTRY_FUNCTION
  ARM: at91: sam9263_ll: drop PLL charge pump initialization
  ARM: at91: sam9263_ll: pass AT91_PMC_LL_AT91SAM9263 to PMC functions
  ARM: at91: sam9263_ll: refactor MCK switch to PLLA for clarity
  ARM: at91: sam9263_ll: support configuration of PLLB
  ARM: dts: AT91: skov-arm9cpu: remove barebox environment on NOR
  ARM: at91: skov-arm9cpu: configure SMC for NOR flash use
  ARM: at91: skov-arm9cpu: configure more appropriate hostname
  ARM: AT91: skov-arm9cpu: support environment on SD-Card
  driver: make struct bus_type::match optional
  driver: make struct bus_type::probe optional
  treewide: remove bus probe functions that just call driver probe
  usb: otg: maintain list of USB OTG controllers
  usb: otg: turn global otg device into device alias
  usb: print number of skipped OTG controllers when scanning
  of: fdt: factor out FDT header parsing
  string: implement strcmp_ptr and streq_ptr helpers
  commands: efiexit: flush console and shutdown barebox
  treewide: add errno_set helper for returning positive error code in errno
  vsprintf: guard against NULL in UUID %pU
  common: add option to poweroff system on failure
  boot: print error code when booting fails
  common: efi: move directory to top-level
  efi: payload: rename CONFIG_EFI_BOOTUP to CONFIG_EFI_PAYLOAD
  efi: payload: image: return actual read_file() error
  of: don't report failure to of_read_file twice
  efi: payload: make missing state reporting less verbose
  libfile: factor out read_file_into_buf helper
  efi: payload: image: allocate image via loader if it exceeds malloc area
  efi: payload: image: use assigned barebox loader type on x86
  efi: payload: iomem: adjust types to avoid casting
  commands: kallsyms: add command-line interface
  block: define BLOCKSIZE globally in block.h
  cdev: implement setter/getter for cdev device node
  block: virtio: assign virtio-mmio device tree node to cdevs
  commands: stat: print DT node for cdevs if available
  partitions: have parsers record bootable bits
  commands: stat: display bootable partition table bit info
  block: record block device type
  include: add definitions for UAPI discoverable partitions spec
  efi: payload: restrict 8250 UART at I/O port 0x3f8 registration to x86
  fs: fix unreaddir, so readdir returns unread dirent first
  fs: turn creat into static inline helper
  fs: drop unused LOOKUP_ flags
  fs: opendir: reference mount point until closedir is called
  fs: factor out opendir iteration
  fs: implement fdopendir and rewinddir
  fs: remove unused member from struct nameidata
  fs: always check path_init for errors
  fs: set current working dir directly when mounting root
  fs: implement openat and friends
  fs: implement O_PATH
  fs: support different root directories
  fs: implement O_CHROOT
  commands: introduce new findmnt command
  fs: initialize struct nameidata::last
  fs: support opening /
  test: self: add dirfd tests
  commands: stat: add option for statat
  efi: payload: lower command line options print from error to info
  efi: payload: init: warn if /boot FS is unknown
  commands: time: switch to using getopt for -n
  commands: time: reduce strjoin runtime, drop trailing space
  commands: time: refactor into new strjoin
  test: self: add strjoin tests
  filetype: have cdev_detect_type take a cdev
  ARM: mmu-early: gracefully handle already enabled MMU
  efi: don't hide structs, enums or unions behind _t
  efi: make headers