diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2013-02-03 04:13:19 +0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-02-04 15:52:40 +0100 |
commit | df8a60545349bb40f97307435c58c2ba56ac2a19 (patch) | |
tree | d8085096d3ff52a1ec64625504f350fa11a31fef /arch/arm | |
parent | 2a1d33e4f2fb15b6d074246733664e8a77b9756c (diff) | |
download | barebox-df8a60545349bb40f97307435c58c2ba56ac2a19.tar.gz barebox-df8a60545349bb40f97307435c58c2ba56ac2a19.tar.xz |
ARM AT91: switch at91sam9g45 to barebox_arm_entry
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-at91/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9g45_lowlevel_init.c | 26 |
3 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index f54b6dc9c8..69426e4799 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -127,6 +127,8 @@ config SOC_AT91SAM9G45 select HAVE_AT91_DBGU1 select HAS_MACB select AT91SAM9G45_RESET + select MACH_HAS_LOWLEVEL_INIT + select MACH_DO_LOWLEVEL_INIT help Select this if you are using one of Atmel's AT91SAM9G45 family SoC. This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11. diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 1f335f65ae..0ead23c80f 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile @@ -7,6 +7,7 @@ lowlevel_init-$(CONFIG_HAVE_AT91_LOWLEVEL_INIT) = $(sam926x_lowlevel_init-y) lowlevel_init-$(CONFIG_SOC_AT91SAM9260) += at91sam9260_lowlevel_init.o lowlevel_init-$(CONFIG_SOC_AT91SAM9261) += at91sam9261_lowlevel_init.o lowlevel_init-$(CONFIG_SOC_AT91SAM9263) += at91sam9263_lowlevel_init.o +lowlevel_init-$(CONFIG_SOC_AT91SAM9G45) += at91sam9g45_lowlevel_init.o lowlevel_init-$(CONFIG_ARCH_AT91RM9200) = at91rm9200_lowlevel_init.o obj-y += $(lowlevel_init-y) diff --git a/arch/arm/mach-at91/at91sam9g45_lowlevel_init.c b/arch/arm/mach-at91/at91sam9g45_lowlevel_init.c new file mode 100644 index 0000000000..689312f886 --- /dev/null +++ b/arch/arm/mach-at91/at91sam9g45_lowlevel_init.c @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2009-2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> + * + * Under GPLv2 + */ + +#define __LOWLEVEL_INIT__ + +#include <common.h> +#include <asm/system.h> +#include <asm/barebox-arm.h> +#include <asm/barebox-arm-head.h> +#include <mach/hardware.h> +#include <mach/io.h> +#include <mach/at91sam9_ddrsdr.h> +#include <init.h> +#include <sizes.h> + +void __naked __bare_init reset(void) +{ + common_reset(); + + arm_setup_stack(AT91SAM9G45_SRAM_BASE + AT91SAM9G45_SRAM_SIZE - 16); + + barebox_arm_entry(AT91_CHIPSELECT_6, at91sam9g45_get_ddram_size(1), 0); +} |