[PATCH 2/4] ARM: beaglebone: remove extra FDT memcpy

Lucas Stach l.stach at pengutronix.de
Thu May 1 14:32:50 PDT 2014


Not needed anymore, as barebox now accepts FDTs outside
of it's visible DRAM, as long as it's a valid pointer.

Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
 arch/arm/boards/beaglebone/lowlevel.c | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/arch/arm/boards/beaglebone/lowlevel.c b/arch/arm/boards/beaglebone/lowlevel.c
index 0869cb9f1555..66fd3715c5e5 100644
--- a/arch/arm/boards/beaglebone/lowlevel.c
+++ b/arch/arm/boards/beaglebone/lowlevel.c
@@ -104,9 +104,7 @@ static const struct am33xx_emif_regs ddr3_regs = {
 };
 
 extern char __dtb_am335x_boneblack_start[];
-extern char __dtb_am335x_boneblack_end[];
 extern char __dtb_am335x_bone_start[];
-extern char __dtb_am335x_bone_end[];
 
 /**
  * @brief The basic entry point for board initialization.
@@ -119,19 +117,15 @@ extern char __dtb_am335x_bone_end[];
  */
 static noinline int beaglebone_sram_init(void)
 {
-	uint32_t sdram_start, sdram_size;
-	void *fdt, *fdt_end;
-
-	sdram_start = 0x80000000;
+	uint32_t sdram_size;
+	void *fdt;
 
 	if (is_beaglebone_black()) {
 		sdram_size = SZ_512M;
 		fdt = __dtb_am335x_boneblack_start;
-		fdt_end = __dtb_am335x_boneblack_end;
 	} else {
 		sdram_size = SZ_256M;
 		fdt = __dtb_am335x_bone_start;
-		fdt_end = __dtb_am335x_bone_end;
 	}
 
 	/* WDT1 is already running when the bootloader gets control
@@ -158,14 +152,7 @@ static noinline int beaglebone_sram_init(void)
 	omap_uart_lowlevel_init((void *)AM33XX_UART0_BASE);
 	putc_ll('>');
 
-	/*
-	 * Copy the devicetree blob to sdram so that the barebox code finds it
-	 * inside valid SDRAM instead of SRAM.
-	 */
-	memcpy((void *)sdram_start, fdt, fdt_end - fdt);
-	fdt = sdram_start;
-
-	barebox_arm_entry(sdram_start, sdram_size, fdt);
+	barebox_arm_entry(0x80000000, sdram_size, fdt);
 }
 
 ENTRY_FUNCTION(start_am33xx_beaglebone_sram, bootinfo, r1, r2)
-- 
1.9.1




More information about the barebox mailing list