[PATCH v2 19/20] ARM: beagleplay: cleanup board entry
Sascha Hauer
s.hauer at pengutronix.de
Wed Feb 12 06:09:32 PST 2025
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 at pengutronix.de>
---
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
More information about the barebox
mailing list