diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2013-02-13 11:06:42 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-02-14 13:09:09 +0100 |
commit | f6b23059c9be5cfb4731d03ee150e89058f10b60 (patch) | |
tree | 90e48a010663fb00acdfe7b9a7c91088b19044fb /arch/arm/boards/highbank/init.c | |
parent | 59cfe5905b9b45decffbb77a272e86b9b7d1e667 (diff) | |
download | barebox-f6b23059c9be5cfb4731d03ee150e89058f10b60.tar.gz barebox-f6b23059c9be5cfb4731d03ee150e89058f10b60.tar.xz |
arm: add highbank support
currently only tested under qemu
qemu-system-arm -M highbank -nographic -m 4089 -kernel build/highbank/arch/arm/pbl/zbarebox -tftp "." -drive id=disk,if=ide,file=disk.img -device ide-drive,drive=disk,bus=ide.0
with:
- timer (AMBA SP804)
- uart (AMBA PL011)
- gpio (AMBA PL061)
- ahci
- net (XGMAC)
Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/highbank/init.c')
-rw-r--r-- | arch/arm/boards/highbank/init.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/arm/boards/highbank/init.c b/arch/arm/boards/highbank/init.c new file mode 100644 index 0000000000..b7936428dc --- /dev/null +++ b/arch/arm/boards/highbank/init.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> + * + * GPLv2 only + */ + +#include <common.h> +#include <init.h> +#include <asm/armlinux.h> +#include <asm/system_info.h> +#include <generated/mach-types.h> +#include <mach/devices.h> +#include <environment.h> +#include <partition.h> +#include <sizes.h> +#include <io.h> + +static int highbank_mem_init(void) +{ + highbank_add_ddram(4089 << 20); + + return 0; +} +mem_initcall(highbank_mem_init); + +static int highbank_devices_init(void) +{ + highbank_register_gpio(0); + highbank_register_gpio(1); + highbank_register_gpio(2); + highbank_register_gpio(3); + highbank_register_ahci(); + highbank_register_xgmac(0); + highbank_register_xgmac(1); + + armlinux_set_bootparams((void *)(0x00000100)); + + devfs_add_partition("nvram", 0x00000, SZ_16K, DEVFS_PARTITION_FIXED, "env0"); + + return 0; +} +device_initcall(highbank_devices_init); + +static int highbank_console_init(void) +{ + highbank_register_uart(); + + return 0; +} +console_initcall(highbank_console_init); |