From bacc574a8a65064b89a7256ce6136e4e4adb5adb Mon Sep 17 00:00:00 2001 From: "angelo@sysam.it" Date: Thu, 12 Feb 2015 01:40:17 +0100 Subject: [PATCH] m68k: add generic-board support Add generic-board support for the m68k architecture. Signed-off-by: Angelo Dureghello --- arch/m68k/config.mk | 3 +++ arch/m68k/include/asm/config.h | 1 + arch/m68k/lib/Makefile | 3 +++ common/board_f.c | 7 +++++++ common/board_r.c | 11 ----------- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk index 3b3a7e88ab..a629b68d61 100644 --- a/arch/m68k/config.mk +++ b/arch/m68k/config.mk @@ -11,6 +11,9 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000 +# Support generic board on m68k +__HAVE_ARCH_GENERIC_BOARD := y + PLATFORM_CPPFLAGS += -D__M68K__ PLATFORM_LDFLAGS += -n PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections diff --git a/arch/m68k/include/asm/config.h b/arch/m68k/include/asm/config.h index e1458acd2c..7590842881 100644 --- a/arch/m68k/include/asm/config.h +++ b/arch/m68k/include/asm/config.h @@ -7,6 +7,7 @@ #ifndef _ASM_CONFIG_H_ #define _ASM_CONFIG_H_ +#define CONFIG_SYS_GENERIC_BOARD #define CONFIG_SYS_GENERIC_GLOBAL_DATA #define CONFIG_NEEDS_MANUAL_RELOC diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile index 73d40bda8b..d0e1a845dd 100644 --- a/arch/m68k/lib/Makefile +++ b/arch/m68k/lib/Makefile @@ -5,6 +5,9 @@ # SPDX-License-Identifier: GPL-2.0+ # +ifndef CONFIG_SYS_GENERIC_BOARD +obj-y += board.o +endif obj-$(CONFIG_CMD_BOOTM) += bootm.o obj-y += cache.o obj-y += interrupts.o diff --git a/common/board_f.c b/common/board_f.c index 2ee398b93e..cca854d4b1 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -744,6 +744,13 @@ static int setup_reloc(void) gd->reloc_off = gd->relocaddr - (unsigned long)__image_copy_start; #else gd->reloc_off = gd->relocaddr - CONFIG_SYS_TEXT_BASE; +#ifdef CONFIG_M68K + /* + * On all ColdFire arch cpu, monitor code starts always + * just after the default vector table location, so at 0x400 + */ + gd->reloc_off = gd->relocaddr - (CONFIG_SYS_TEXT_BASE + 0x400); +#endif #endif #endif memcpy(gd->new_gd, (char *)gd, sizeof(gd_t)); diff --git a/common/board_r.c b/common/board_r.c index 0335f6bde6..38be09b8c1 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -271,14 +271,6 @@ static int initr_malloc(void) return 0; } -#ifdef CONFIG_SYS_NONCACHED_MEMORY -static int initr_noncached(void) -{ - noncached_init(); - return 0; -} -#endif - #ifdef CONFIG_DM static int initr_dm(void) { @@ -706,9 +698,6 @@ init_fnc_t init_sequence_r[] = { #endif initr_barrier, initr_malloc, -#ifdef CONFIG_SYS_NONCACHED_MEMORY - initr_noncached, -#endif bootstage_relocate, #ifdef CONFIG_DM initr_dm, -- 2.39.2