On 08:59 Fri 01 Feb , Sascha Hauer wrote: > For At91 boards which do not have a SDRAM size detection function > we create a lowlevel reset function which calls barebox_arm_entry > manually with the known memory size. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > --- > arch/arm/Kconfig | 2 ++ > arch/arm/boards/at91sam9m10g45ek/Makefile | 2 ++ > arch/arm/boards/at91sam9m10g45ek/lowlevel.c | 11 +++++++++++ > arch/arm/boards/at91sam9m10ihd/Makefile | 2 ++ > arch/arm/boards/at91sam9m10ihd/lowlevel.c | 11 +++++++++++ > arch/arm/boards/at91sam9n12ek/Makefile | 2 ++ > arch/arm/boards/at91sam9n12ek/lowlevel.c | 11 +++++++++++ > arch/arm/boards/at91sam9x5ek/Makefile | 2 ++ > arch/arm/boards/at91sam9x5ek/lowlevel.c | 11 +++++++++++ > arch/arm/boards/pm9g45/Makefile | 2 ++ > arch/arm/boards/pm9g45/lowlevel.c | 11 +++++++++++ > arch/arm/mach-at91/Kconfig | 2 -- > 12 files changed, 67 insertions(+), 2 deletions(-) > create mode 100644 arch/arm/boards/at91sam9m10g45ek/lowlevel.c > create mode 100644 arch/arm/boards/at91sam9m10ihd/lowlevel.c > create mode 100644 arch/arm/boards/at91sam9n12ek/lowlevel.c > create mode 100644 arch/arm/boards/at91sam9x5ek/lowlevel.c > create mode 100644 arch/arm/boards/pm9g45/lowlevel.c > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index c7daebe..0d5e004 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -30,6 +30,8 @@ config ARCH_AT91 > select CLKDEV_LOOKUP > select HAS_DEBUG_LL > select HAVE_MACH_ARM_HEAD > + select MACH_HAS_LOWLEVEL_INIT > + select MACH_DO_LOWLEVEL_INIT > > config ARCH_BCM2835 > bool "Broadcom BCM2835 boards" > diff --git a/arch/arm/boards/at91sam9m10g45ek/Makefile b/arch/arm/boards/at91sam9m10g45ek/Makefile > index eb072c0..47ab803 100644 > --- a/arch/arm/boards/at91sam9m10g45ek/Makefile > +++ b/arch/arm/boards/at91sam9m10g45ek/Makefile > @@ -1 +1,3 @@ > obj-y += init.o > +obj-y += lowlevel.o > +pbl-y += lowlevel.o > diff --git a/arch/arm/boards/at91sam9m10g45ek/lowlevel.c b/arch/arm/boards/at91sam9m10g45ek/lowlevel.c > new file mode 100644 > index 0000000..65259bb > --- /dev/null > +++ b/arch/arm/boards/at91sam9m10g45ek/lowlevel.c > @@ -0,0 +1,11 @@ > +#include <common.h> > +#include <sizes.h> > +#include <asm/barebox-arm-head.h> > +#include <asm/barebox-arm.h> > +#include <mach/hardware.h> > + > +void __naked reset(void) > +{ > + common_reset(); > + barebox_arm_entry(AT91_SDRAM_BASE, SZ_128M, 0); this is wrong as re run from the bank1 so AT91_CHIPSELECT_6 on 9g45 Best Regards, J. > +} > diff --git a/arch/arm/boards/at91sam9m10ihd/Makefile b/arch/arm/boards/at91sam9m10ihd/Makefile > index f2acf20..4ec0b36 100644 > --- a/arch/arm/boards/at91sam9m10ihd/Makefile > +++ b/arch/arm/boards/at91sam9m10ihd/Makefile > @@ -1,2 +1,4 @@ > obj-y += init.o > obj-y += hw_version.o > +obj-y += lowlevel.o > +pbl-y += lowlevel.o > diff --git a/arch/arm/boards/at91sam9m10ihd/lowlevel.c b/arch/arm/boards/at91sam9m10ihd/lowlevel.c > new file mode 100644 > index 0000000..65259bb > --- /dev/null > +++ b/arch/arm/boards/at91sam9m10ihd/lowlevel.c > @@ -0,0 +1,11 @@ > +#include <common.h> > +#include <sizes.h> > +#include <asm/barebox-arm-head.h> > +#include <asm/barebox-arm.h> > +#include <mach/hardware.h> > + > +void __naked reset(void) > +{ > + common_reset(); > + barebox_arm_entry(AT91_SDRAM_BASE, SZ_128M, 0); > +} > diff --git a/arch/arm/boards/at91sam9n12ek/Makefile b/arch/arm/boards/at91sam9n12ek/Makefile > index eb072c0..6c1a61f 100644 > --- a/arch/arm/boards/at91sam9n12ek/Makefile > +++ b/arch/arm/boards/at91sam9n12ek/Makefile > @@ -1 +1,3 @@ > +obj-y += lowlevel.o > +pbl-y += lowlevel.o > obj-y += init.o > diff --git a/arch/arm/boards/at91sam9n12ek/lowlevel.c b/arch/arm/boards/at91sam9n12ek/lowlevel.c > new file mode 100644 > index 0000000..65259bb > --- /dev/null > +++ b/arch/arm/boards/at91sam9n12ek/lowlevel.c > @@ -0,0 +1,11 @@ > +#include <common.h> > +#include <sizes.h> > +#include <asm/barebox-arm-head.h> > +#include <asm/barebox-arm.h> > +#include <mach/hardware.h> > + > +void __naked reset(void) > +{ > + common_reset(); > + barebox_arm_entry(AT91_SDRAM_BASE, SZ_128M, 0); > +} > diff --git a/arch/arm/boards/at91sam9x5ek/Makefile b/arch/arm/boards/at91sam9x5ek/Makefile > index f2acf20..4ec0b36 100644 > --- a/arch/arm/boards/at91sam9x5ek/Makefile > +++ b/arch/arm/boards/at91sam9x5ek/Makefile > @@ -1,2 +1,4 @@ > obj-y += init.o > obj-y += hw_version.o > +obj-y += lowlevel.o > +pbl-y += lowlevel.o > diff --git a/arch/arm/boards/at91sam9x5ek/lowlevel.c b/arch/arm/boards/at91sam9x5ek/lowlevel.c > new file mode 100644 > index 0000000..65259bb > --- /dev/null > +++ b/arch/arm/boards/at91sam9x5ek/lowlevel.c > @@ -0,0 +1,11 @@ > +#include <common.h> > +#include <sizes.h> > +#include <asm/barebox-arm-head.h> > +#include <asm/barebox-arm.h> > +#include <mach/hardware.h> > + > +void __naked reset(void) > +{ > + common_reset(); > + barebox_arm_entry(AT91_SDRAM_BASE, SZ_128M, 0); > +} > diff --git a/arch/arm/boards/pm9g45/Makefile b/arch/arm/boards/pm9g45/Makefile > index eb072c0..47ab803 100644 > --- a/arch/arm/boards/pm9g45/Makefile > +++ b/arch/arm/boards/pm9g45/Makefile > @@ -1 +1,3 @@ > obj-y += init.o > +obj-y += lowlevel.o > +pbl-y += lowlevel.o > diff --git a/arch/arm/boards/pm9g45/lowlevel.c b/arch/arm/boards/pm9g45/lowlevel.c > new file mode 100644 > index 0000000..65259bb > --- /dev/null > +++ b/arch/arm/boards/pm9g45/lowlevel.c > @@ -0,0 +1,11 @@ > +#include <common.h> > +#include <sizes.h> > +#include <asm/barebox-arm-head.h> > +#include <asm/barebox-arm.h> > +#include <mach/hardware.h> > + > +void __naked reset(void) > +{ > + common_reset(); > + barebox_arm_entry(AT91_SDRAM_BASE, SZ_128M, 0); > +} > diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig > index da2768a..337d2a6 100644 > --- a/arch/arm/mach-at91/Kconfig > +++ b/arch/arm/mach-at91/Kconfig > @@ -91,8 +91,6 @@ config SOC_AT91RM9200 > select CPU_ARM920T > select HAVE_AT91_DBGU0 > select HAS_AT91_ETHER > - select MACH_HAS_LOWLEVEL_INIT > - select MACH_DO_LOWLEVEL_INIT > > config SOC_AT91SAM9260 > bool > -- > 1.7.10.4 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox