summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Kleine-König <uwe@kleine-koenig.org>2013-02-07 18:17:30 +0100
committerUwe Kleine-König <uwe@kleine-koenig.org>2013-02-07 18:17:30 +0100
commit6d461052480afec1c726b9e8360c40e27aee1636 (patch)
tree6d40611e8ba1c0decb3e9fc78d0ed10d4a4dc81c
parentf5d59c5cc84becf568a41ea9ae24def70b157833 (diff)
parente67527590a194fe1cbaec04e10ba0d003d7c8fa0 (diff)
downloadOSELAS.BSP-EnergyMicro-Gecko-6d461052480afec1c726b9e8360c40e27aee1636.tar.gz
OSELAS.BSP-EnergyMicro-Gecko-6d461052480afec1c726b9e8360c40e27aee1636.tar.xz
OSELAS.BSP-EnergyMicro-Gecko: move kernel to external flash
-rw-r--r--configs/platform-energymicro-efm32gg-dk3750/kernelconfig-3.8-rc513
-rw-r--r--configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0015-ARM-new-platform-for-Energy-Micro-s-EFM32-Cortex-M3-.patch4
-rw-r--r--configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0020-HACK-ARM-allow-a-bootloader-to-be-embedded-and-do-it.patch10
-rw-r--r--configs/platform-energymicro-efm32gg-dk3750/platformconfig8
-rwxr-xr-xtests/flash7
5 files changed, 24 insertions, 18 deletions
diff --git a/configs/platform-energymicro-efm32gg-dk3750/kernelconfig-3.8-rc5 b/configs/platform-energymicro-efm32gg-dk3750/kernelconfig-3.8-rc5
index 60c1854..ef96b16 100644
--- a/configs/platform-energymicro-efm32gg-dk3750/kernelconfig-3.8-rc5
+++ b/configs/platform-energymicro-efm32gg-dk3750/kernelconfig-3.8-rc5
@@ -234,11 +234,11 @@ CONFIG_ARM_THUMB=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_ARM_L1_CACHE_SHIFT=5
CONFIG_ARM_NR_BANKS=8
-# CONFIG_SET_MEM_PARAM is not set
+CONFIG_SET_MEM_PARAM=y
CONFIG_DRAM_BASE=0x88000000
CONFIG_DRAM_SIZE=0x00400000
-CONFIG_FLASH_MEM_BASE=0x00000000
-CONFIG_FLASH_SIZE=0x00100000
+CONFIG_FLASH_MEM_BASE=0x8c000000
+CONFIG_FLASH_SIZE=0x01000000
CONFIG_ARM_NVIC=y
#
@@ -293,7 +293,7 @@ CONFIG_ZBOOT_ROM_BSS=0x0
# CONFIG_ARM_APPENDED_DTB is not set
CONFIG_CMDLINE=""
CONFIG_XIP_KERNEL=y
-CONFIG_XIP_PHYS_ADDR=0x00000000
+CONFIG_XIP_PHYS_ADDR=0x8c000000
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
# CONFIG_AUTO_ZRELADDR is not set
@@ -922,11 +922,6 @@ CONFIG_HAVE_ARCH_KGDB=y
CONFIG_ARM_UNWIND=y
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_EFM32_USART1 is not set
-# CONFIG_DEBUG_EFM32_UART1 is not set
-# CONFIG_DEBUG_LL_UART_NONE is not set
-# CONFIG_DEBUG_ICEDCC is not set
-# CONFIG_DEBUG_SEMIHOSTING is not set
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
#
diff --git a/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0015-ARM-new-platform-for-Energy-Micro-s-EFM32-Cortex-M3-.patch b/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0015-ARM-new-platform-for-Energy-Micro-s-EFM32-Cortex-M3-.patch
index 304e80a..966847d 100644
--- a/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0015-ARM-new-platform-for-Energy-Micro-s-EFM32-Cortex-M3-.patch
+++ b/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0015-ARM-new-platform-for-Energy-Micro-s-EFM32-Cortex-M3-.patch
@@ -112,7 +112,7 @@ index 69a5955..374e25a 100644
machine-$(CONFIG_ARCH_H720X) += h720x
diff --git a/arch/arm/boot/dts/efm32gg-dk3750.dts b/arch/arm/boot/dts/efm32gg-dk3750.dts
new file mode 100644
-index 0000000..3fc2369
+index 0000000..aa43fb4
--- /dev/null
+++ b/arch/arm/boot/dts/efm32gg-dk3750.dts
@@ -0,0 +1,69 @@
@@ -135,7 +135,7 @@ index 0000000..3fc2369
+ };
+
+ chosen {
-+ bootargs = "console=ttyefm4,115200 init=/linuxrc ignore_loglevel ihash_entries=64 dhash_entries=64 earlyprintk uclinux.physaddr=0x8c000000 root=/dev/mtdblock0";
++ bootargs = "console=ttyefm4,115200 init=/linuxrc ignore_loglevel ihash_entries=64 dhash_entries=64 earlyprintk uclinux.physaddr=0x8c400000 root=/dev/mtdblock0";
+ };
+
+ memory {
diff --git a/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0020-HACK-ARM-allow-a-bootloader-to-be-embedded-and-do-it.patch b/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0020-HACK-ARM-allow-a-bootloader-to-be-embedded-and-do-it.patch
index 2ff70a4..f2d0929 100644
--- a/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0020-HACK-ARM-allow-a-bootloader-to-be-embedded-and-do-it.patch
+++ b/configs/platform-energymicro-efm32gg-dk3750/patches/linux-3.8-rc5/0020-HACK-ARM-allow-a-bootloader-to-be-embedded-and-do-it.patch
@@ -9,9 +9,9 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
arch/arm/kernel/vmlinux.lds.S | 5 +
- arch/arm/mach-efm32/Makefile | 6 +
+ arch/arm/mach-efm32/Makefile | 8 ++
arch/arm/mach-efm32/bootloader.S | 252 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 263 insertions(+)
+ 3 files changed, 265 insertions(+)
create mode 100644 arch/arm/mach-efm32/bootloader.S
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
@@ -31,11 +31,13 @@ index 11c1785..d573600 100644
_text = .;
HEAD_TEXT
diff --git a/arch/arm/mach-efm32/Makefile b/arch/arm/mach-efm32/Makefile
-index 0f593e7..878dc84 100644
+index 0f593e7..ee10216 100644
--- a/arch/arm/mach-efm32/Makefile
+++ b/arch/arm/mach-efm32/Makefile
-@@ -1,3 +1,9 @@
+@@ -1,3 +1,11 @@
++ifeq ($(CONFIG_FLASH_MEM_BASE),0x00000000)
+obj-y += bootloader.o
++endif
+
+ifeq ($(CONFIG_USE_OF),y)
+$(obj)/bootloader.o: $(obj)/../boot/dts/efm32gg-dk3750.dtb
diff --git a/configs/platform-energymicro-efm32gg-dk3750/platformconfig b/configs/platform-energymicro-efm32gg-dk3750/platformconfig
index 9a3ad9e..5f22a05 100644
--- a/configs/platform-energymicro-efm32gg-dk3750/platformconfig
+++ b/configs/platform-energymicro-efm32gg-dk3750/platformconfig
@@ -107,6 +107,7 @@ PTXCONF_KERNEL_IMAGE_XIP=y
# PTXCONF_KERNEL_IMAGE_RAW is not set
# PTXCONF_KERNEL_IMAGE_SIMPLE is not set
PTXCONF_KERNEL_IMAGE="xipImage"
+PTXCONF_KERNEL_DTC=y
# PTXCONF_KERNEL_XZ is not set
# PTXCONF_KERNEL_LZOP is not set
@@ -120,8 +121,11 @@ PTXCONF_KERNEL_CONFIG="kernelconfig-${PTXCONF_KERNEL_VERSION}"
# Development features
#
PTXCONF_KERNEL_EXTRA_MAKEVARS=""
-# PTXCONF_HOST_DTC is not set
-# PTXCONF_DTC is not set
+PTXCONF_DTC=y
+# PTXCONF_DTC_INSTALL_OFTREE is not set
+PTXCONF_DTC_OFTREE_DTS="${KERNEL_DIR}/arch/arm/boot/dts/efm32gg-dk3750.dts"
+PTXCONF_DTC_KERNEL=y
+PTXCONF_DTC_EXTRA_ARGS=""
#
# console options
diff --git a/tests/flash b/tests/flash
index 9f6601d..b2811fe 100755
--- a/tests/flash
+++ b/tests/flash
@@ -1,3 +1,8 @@
#! /bin/sh
-eACommander >&2 -r --address 0x0 -f "${PTXDIST_PLATFORMDIR}/images/linuximage" --address 0x8c000000 -f "${PTXDIST_PLATFORMDIR}/images/root.romfs" -r
+eACommander >&2 -r \
+ --address 0x00000000 -f "${PTXDIST_PLATFORMDIR}/images/geckoboot-image" \
+ --address 0x00080000 -f "${PTXDIST_PLATFORMDIR}/images/efm32gg-dk3750.dtb" \
+ --address 0x8c000000 -f "${PTXDIST_PLATFORMDIR}/images/linuximage" \
+ --address 0x8c400000 -f "${PTXDIST_PLATFORMDIR}/images/root.romfs" \
+ -r