summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/vexpress
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-08-15 09:02:17 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-08-16 08:40:55 +0200
commit068bed22a6154aec1fe689603b8a8eaa27c0f350 (patch)
tree5cebcbbbcd486ee49552253d27d079b7f6703fd4 /arch/arm/boards/vexpress
parent774580c2bde4c8b126eed0a80d00cb22cbfb3193 (diff)
downloadbarebox-068bed22a6154aec1fe689603b8a8eaa27c0f350.tar.gz
barebox-068bed22a6154aec1fe689603b8a8eaa27c0f350.tar.xz
Set model and hostname at boardlevel
With multiboard support the compiletime generated BOARDINFO string gets more and more meaningless. This removes it from Kconfig and replaces it with a variable that can be set at boardlevel. Also many boards have a standard setting for the hostname in the environment. This patch also moves the standard to C code by calling barebox_set_hostname(). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/vexpress')
-rw-r--r--arch/arm/boards/vexpress/Kconfig2
-rw-r--r--arch/arm/boards/vexpress/env/config2
-rw-r--r--arch/arm/boards/vexpress/init.c19
3 files changed, 10 insertions, 13 deletions
diff --git a/arch/arm/boards/vexpress/Kconfig b/arch/arm/boards/vexpress/Kconfig
index 24289014cb..94cba3ba81 100644
--- a/arch/arm/boards/vexpress/Kconfig
+++ b/arch/arm/boards/vexpress/Kconfig
@@ -5,6 +5,4 @@ config ARCH_TEXT_BASE
hex
default 0x01000000
-config BOARDINFO
- default "ARM Versatile/PB (ARM926EJ-S)"
endif
diff --git a/arch/arm/boards/vexpress/env/config b/arch/arm/boards/vexpress/env/config
index 852f2428cf..6c0abda40c 100644
--- a/arch/arm/boards/vexpress/env/config
+++ b/arch/arm/boards/vexpress/env/config
@@ -3,8 +3,6 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
-# set in c
-#global.hostname=vexpress
global.dhcp.vendor_id=barebox-${global.hostname}
# or set your networking parameters here
diff --git a/arch/arm/boards/vexpress/init.c b/arch/arm/boards/vexpress/init.c
index 6e4fa7248f..48bc11efec 100644
--- a/arch/arm/boards/vexpress/init.c
+++ b/arch/arm/boards/vexpress/init.c
@@ -22,7 +22,6 @@ struct vexpress_init {
void (*mem_init)(void);
void (*console_init)(void);
void (*devices_init)(void);
- char *hostname;
};
struct vexpress_init *v2m_init;
@@ -87,7 +86,6 @@ struct vexpress_init vexpress_init_a9_legacy = {
.mem_init = vexpress_a9_legacy_mem_init,
.console_init = vexpress_a9_legacy_console_init,
.devices_init = vexpress_a9_legacy_devices_init,
- .hostname = "vexpress-a9-legacy",
};
static int vexpress_mem_init(void)
@@ -106,9 +104,6 @@ static int vexpress_devices_init(void)
devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self");
devfs_add_partition("nor0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0");
-
- globalvar_add_simple("hostname", v2m_init->hostname);
-
return 0;
}
device_initcall(vexpress_devices_init);
@@ -123,20 +118,26 @@ console_initcall(vexpress_console_init);
static int vexpress_core_init(void)
{
+ char *hostname;
+
if (amba_is_arm_sp804(IOMEM(0x10011000))) {
v2m_init = &vexpress_init_a9_legacy;
+ hostname = "vexpress-a9-legacy";
} else {
v2m_init = &vexpress_init_ax;
if (cpu_is_cortex_a5())
- v2m_init->hostname = "vexpress-a5";
+ hostname = "vexpress-a5";
else if (cpu_is_cortex_a7())
- v2m_init->hostname = "vexpress-a7";
+ hostname = "vexpress-a7";
else if (cpu_is_cortex_a9())
- v2m_init->hostname = "vexpress-a9";
+ hostname = "vexpress-a9";
else if (cpu_is_cortex_a15())
- v2m_init->hostname = "vexpress-a15";
+ hostname = "vexpress-a15";
}
+ barebox_set_model("ARM Vexpress");
+ barebox_set_hostname(hostname);
+
v2m_init->core_init();
return 0;