summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--README6
-rw-r--r--arch/Kconfig14
-rw-r--r--arch/arc/config.mk3
-rw-r--r--arch/arm/config.mk3
-rw-r--r--arch/avr32/config.mk3
-rw-r--r--arch/blackfin/config.mk3
-rw-r--r--arch/m68k/config.mk3
-rw-r--r--arch/microblaze/config.mk1
-rw-r--r--arch/mips/config.mk2
-rw-r--r--arch/nios2/config.mk2
-rw-r--r--arch/powerpc/config.mk3
-rw-r--r--arch/sandbox/config.mk3
-rw-r--r--arch/x86/config.mk3
-rw-r--r--doc/README.generic-board12
15 files changed, 25 insertions, 38 deletions
diff --git a/Makefile b/Makefile
index 346ea27664..0d160c9fda 100644
--- a/Makefile
+++ b/Makefile
@@ -1163,7 +1163,7 @@ prepare2: prepare3 outputmakefile
prepare1: prepare2 $(version_h) $(timestamp_h) \
include/config/auto.conf
-ifeq ($(__HAVE_ARCH_GENERIC_BOARD),)
+ifeq ($(CONFIG_HAVE_GENERIC_BOARD),)
ifeq ($(CONFIG_SYS_GENERIC_BOARD),y)
@echo >&2 " Your architecture does not support generic board."
@echo >&2 " Please undefine CONFIG_SYS_GENERIC_BOARD in your board config file."
diff --git a/README b/README
index b0124d6022..5d57eb924f 100644
--- a/README
+++ b/README
@@ -4190,9 +4190,9 @@ Configuration Settings:
to this new framework over time. Defining this will disable the
arch/foo/lib/board.c file and use common/board_f.c and
common/board_r.c instead. To use this option your architecture
- must support it (i.e. must define __HAVE_ARCH_GENERIC_BOARD in
- its config.mk file). If you find problems enabling this option on
- your board please report the problem and send patches!
+ must support it (i.e. must select HAVE_GENERIC_BOARD in arch/Kconfig).
+ If you find problems enabling this option on your board please report
+ the problem and send patches!
- CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC (OMAP only)
This is set by OMAP boards for the max time that reset should
diff --git a/arch/Kconfig b/arch/Kconfig
index 3d419bca3e..cdd166218f 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -1,3 +1,6 @@
+config HAVE_GENERIC_BOARD
+ bool
+
choice
prompt "Architecture select"
default SANDBOX
@@ -5,34 +8,42 @@ choice
config ARC
bool "ARC architecture"
select HAVE_PRIVATE_LIBGCC
+ select HAVE_GENERIC_BOARD
config ARM
bool "ARM architecture"
select HAVE_PRIVATE_LIBGCC
+ select HAVE_GENERIC_BOARD
select SUPPORT_OF_CONTROL
config AVR32
bool "AVR32 architecture"
+ select HAVE_GENERIC_BOARD
config BLACKFIN
bool "Blackfin architecture"
+ select HAVE_GENERIC_BOARD
config M68K
bool "M68000 architecture"
+ select HAVE_GENERIC_BOARD
config MICROBLAZE
bool "MicroBlaze architecture"
+ select HAVE_GENERIC_BOARD
select SUPPORT_OF_CONTROL
config MIPS
bool "MIPS architecture"
select HAVE_PRIVATE_LIBGCC
+ select HAVE_GENERIC_BOARD
config NDS32
bool "NDS32 architecture"
config NIOS2
bool "Nios II architecture"
+ select HAVE_GENERIC_BOARD
config OPENRISC
bool "OpenRISC architecture"
@@ -40,10 +51,12 @@ config OPENRISC
config PPC
bool "PowerPC architecture"
select HAVE_PRIVATE_LIBGCC
+ select HAVE_GENERIC_BOARD
select SUPPORT_OF_CONTROL
config SANDBOX
bool "Sandbox"
+ select HAVE_GENERIC_BOARD
select SUPPORT_OF_CONTROL
config SH
@@ -56,6 +69,7 @@ config SPARC
config X86
bool "x86 architecture"
select HAVE_PRIVATE_LIBGCC
+ select HAVE_GENERIC_BOARD
select SUPPORT_OF_CONTROL
endchoice
diff --git a/arch/arc/config.mk b/arch/arc/config.mk
index 4fcd4076c4..04c034b637 100644
--- a/arch/arc/config.mk
+++ b/arch/arc/config.mk
@@ -57,6 +57,3 @@ LDFLAGS_FINAL += -pie
# Load address for standalone apps
CONFIG_STANDALONE_LOAD_ADDR ?= 0x82000000
-
-# Support generic board on ARC
-__HAVE_ARCH_GENERIC_BOARD := y
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 0667984b69..c005ce4905 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -19,9 +19,6 @@ PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections \
PLATFORM_RELFLAGS += $(call cc-option, -msoft-float) \
$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
-# Support generic board on ARM
-__HAVE_ARCH_GENERIC_BOARD := y
-
PLATFORM_CPPFLAGS += -D__ARM__
# Choose between ARM/Thumb instruction sets
diff --git a/arch/avr32/config.mk b/arch/avr32/config.mk
index 8252f598c3..469185e8b4 100644
--- a/arch/avr32/config.mk
+++ b/arch/avr32/config.mk
@@ -9,9 +9,6 @@ ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := avr32-linux-
endif
-# avr32 has generic board support
-__HAVE_ARCH_GENERIC_BOARD := y
-
CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000
PLATFORM_RELFLAGS += -ffixed-r5 -fPIC -mno-init-got -mrelax
diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk
index 584b38b17a..7b17b75743 100644
--- a/arch/blackfin/config.mk
+++ b/arch/blackfin/config.mk
@@ -20,9 +20,6 @@ CONFIG_BFIN_CPU := $(strip $(CONFIG_BFIN_CPU:"%"=%))
endif
CONFIG_BFIN_BOOT_MODE := $(strip $(CONFIG_BFIN_BOOT_MODE:"%"=%))
-# Support generic board on Blackfin
-__HAVE_ARCH_GENERIC_BOARD := y
-
PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
LDFLAGS_FINAL += --gc-sections
diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk
index a629b68d61..3b3a7e88ab 100644
--- a/arch/m68k/config.mk
+++ b/arch/m68k/config.mk
@@ -11,9 +11,6 @@ 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/microblaze/config.mk b/arch/microblaze/config.mk
index 2b817be61a..e7a347738a 100644
--- a/arch/microblaze/config.mk
+++ b/arch/microblaze/config.mk
@@ -19,4 +19,3 @@ PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
ifeq ($(CONFIG_SPL_BUILD),)
PLATFORM_CPPFLAGS += -fPIC
endif
-__HAVE_ARCH_GENERIC_BOARD := y
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
index 4dc88f4d51..52e28f2ca5 100644
--- a/arch/mips/config.mk
+++ b/arch/mips/config.mk
@@ -43,8 +43,6 @@ PLATFORM_CPPFLAGS += $(cpuflags-y)
PLATFORM_CPPFLAGS += -D__MIPS__
-__HAVE_ARCH_GENERIC_BOARD := y
-
#
# From Linux arch/mips/Makefile
#
diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk
index 9b7c56dc85..82bd887961 100644
--- a/arch/nios2/config.mk
+++ b/arch/nios2/config.mk
@@ -17,5 +17,3 @@ PLATFORM_CPPFLAGS += -G0
LDFLAGS_FINAL += --gc-sections
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
-
-__HAVE_ARCH_GENERIC_BOARD := y
diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk
index 411039649a..83b49b58c5 100644
--- a/arch/powerpc/config.mk
+++ b/arch/powerpc/config.mk
@@ -18,9 +18,6 @@ PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections \
PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2 -m32
PLATFORM_LDFLAGS += -m32 -melf32ppclinux
-# Support generic board on PPC
-__HAVE_ARCH_GENERIC_BOARD := y
-
#
# When cross-compiling on NetBSD, we have to define __PPC__ or else we
# will pick up a va_list declaration that is incompatible with the
diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
index 7b84f02a0a..e477a8400c 100644
--- a/arch/sandbox/config.mk
+++ b/arch/sandbox/config.mk
@@ -16,9 +16,6 @@ PLATFORM_CPPFLAGS += $(shell sdl-config --cflags)
endif
endif
-# Support generic board on sandbox
-__HAVE_ARCH_GENERIC_BOARD := y
-
cmd_u-boot__ = $(CC) -o $@ -T u-boot.lds \
-Wl,--start-group $(u-boot-main) -Wl,--end-group \
$(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map
diff --git a/arch/x86/config.mk b/arch/x86/config.mk
index bb2da4637e..999143e9df 100644
--- a/arch/x86/config.mk
+++ b/arch/x86/config.mk
@@ -17,9 +17,6 @@ PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_X86)
PLATFORM_CPPFLAGS += -fno-dwarf2-cfi-asm
PLATFORM_CPPFLAGS += -march=i386 -m32
-# Support generic board on x86
-__HAVE_ARCH_GENERIC_BOARD := y
-
PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden
PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386
diff --git a/doc/README.generic-board b/doc/README.generic-board
index 37c1b03ced..bd8eae1992 100644
--- a/doc/README.generic-board
+++ b/doc/README.generic-board
@@ -44,16 +44,18 @@ The following architectures are supported now:
arc
arm
+ avr32
+ blackfin
+ m68k
+ microblaze
mips
+ nios2
powerpc
sandbox
x86
-If your architecture is not supported, you need to adjust your
-arch/<arch>/config.mk file to include:
-
- __HAVE_ARCH_GENERIC_BOARD := y
-
+If your architecture is not supported, you need to select
+HAVE_GENERIC_BOARD in arch/Kconfig
and test it with a suitable board, as follows.