[PATCH 21/34] ARM AT91: switch remaining boards to barebox_arm_entry

Sascha Hauer s.hauer at pengutronix.de
Fri Feb 1 02:59:34 EST 2013


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 at pengutronix.de>
---
 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);
+}
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




More information about the barebox mailing list