We used to genrate a Linux Kernel compatible image that can be started from U-Boot. This is no longer necessary as we have full 1st stage support now in barebox. A FIT image to be started from U-Boot can still be generated with BOARD_GENERIC_FIT. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/boards/beagleplay/Makefile | 1 - arch/arm/boards/beagleplay/entry.S | 29 ----------------------------- arch/arm/boards/beagleplay/lowlevel.c | 18 ++++++------------ 3 files changed, 6 insertions(+), 42 deletions(-) diff --git a/arch/arm/boards/beagleplay/Makefile b/arch/arm/boards/beagleplay/Makefile index 396dff29a2..a8c7320bdb 100644 --- a/arch/arm/boards/beagleplay/Makefile +++ b/arch/arm/boards/beagleplay/Makefile @@ -1,3 +1,2 @@ pbl-y += lowlevel.o -pbl-$(CONFIG_MACH_K3_CORTEX_A) += entry.o pbl-$(CONFIG_MACH_K3_CORTEX_R5) += entry-r5.o ddr.o diff --git a/arch/arm/boards/beagleplay/entry.S b/arch/arm/boards/beagleplay/entry.S deleted file mode 100644 index 6e4c7196f3..0000000000 --- a/arch/arm/boards/beagleplay/entry.S +++ /dev/null @@ -1,29 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -#include <linux/linkage.h> -#include <asm/barebox-arm64.h> -#include <asm/image.h> - -#define IMAGE_FLAGS \ - (ARM64_IMAGE_FLAG_PAGE_SIZE_4K << ARM64_IMAGE_FLAG_PAGE_SIZE_SHIFT) | \ - (ARM64_IMAGE_FLAG_PHYS_BASE << ARM64_IMAGE_FLAG_PHYS_BASE_SHIFT) - -.section .text_head_entry_start_beagleplay -ENTRY("start_beagleplay") - adr x1, 0 /* code0 */ - b 2f /* code1 */ - .xword 0x80000 /* Image load offset */ - .xword _barebox_image_size /* Effective Image size */ - .xword IMAGE_FLAGS /* Kernel flags */ - .xword 0 /* reserved */ - .xword 0 /* reserved */ - .xword 0 /* reserved */ - .ascii ARM64_IMAGE_MAGIC /* magic number */ - .int 0 /* reserved (PE-COFF offset) */ - .asciz "barebox" /* unused for now */ -2: - mov sp, x1 - /* Stack now grows into the 0x80000 image load offset specified - * above. This is more than enough until FDT /memory is decoded. - */ - b beagleplay -ENTRY_PROC_END(start_beagleplay) diff --git a/arch/arm/boards/beagleplay/lowlevel.c b/arch/arm/boards/beagleplay/lowlevel.c index 744f78d009..9430017568 100644 --- a/arch/arm/boards/beagleplay/lowlevel.c +++ b/arch/arm/boards/beagleplay/lowlevel.c @@ -10,27 +10,21 @@ #include <compressed-dtb.h> #include <cache.h> #include <mach/k3/r5.h> +#include <mach/k3/common.h> #include "ddr.h" -/* Called from assembly */ -void beagleplay(void *dtb); - -static noinline void beagleplay_continue(void *dtb) +static noinline void beagleplay_continue(void) { - unsigned long membase, memsize; + unsigned long membase = 0x80000000, memsize; extern char __dtb_k3_am625_beagleplay_start[]; - unsigned int size; - - fdt_find_mem(__dtb_k3_am625_beagleplay_start, &membase, &memsize); - if (blob_is_valid_fdt_ptr(dtb, membase, memsize, &size)) - handoff_data_add(HANDOFF_DATA_EXTERNAL_DT, dtb, size); + memsize = am625_sdram_size(); barebox_arm_entry(membase, memsize, __dtb_k3_am625_beagleplay_start); } -void beagleplay(void *dtb) +ENTRY_FUNCTION_WITHSTACK(start_beagleplay, 0x80800000, r0, r1, r2) { putc_ll('>'); @@ -40,7 +34,7 @@ void beagleplay(void *dtb) setup_c(); - beagleplay_continue(dtb); + beagleplay_continue(); } extern char __dtb_k3_am625_r5_beagleplay_start[]; -- 2.39.5