summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2016-06-08 19:32:41 -0700
committerMax Krummenacher <max.krummenacher@toradex.com>2016-06-22 14:36:41 +0200
commit7bf0f5d1e202cbca1facfbbf8bd118a819eb87a3 (patch)
tree72498b644ba9b0d8b7b2341bb315766ed74ac860
parent39b4cb3d7490cf48263b3e0cb49b87d960059d78 (diff)
colibri_vf/imx6/7 apalis_imx6: synchronize/improve memory options
Synchronize initramfs related configuration options and improve memory layout. The memory layout with an offset of 16MiB allows to boot bigger kernels. With AUTO_ZRELADDR, which is pretty much the standard nowadays, the kernel relacates itself to PC masked with 0xf8000000 plus a text offset of 0x8000 (hence 0x80008000 for Vybrid/i.MX 7 or 0x10008000 for i.MX 6). To avoid that the kernel overwrites itself during uncompress, move the kernel further away from its decompressed location. With a 16MiB offset from the start of memory and a 16MiB distance to the device-tree, we allow kernel up to ~16MiB. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--include/configs/apalis_imx6.h2
-rw-r--r--include/configs/colibri_imx6.h4
-rw-r--r--include/configs/colibri_imx7.h19
-rw-r--r--include/configs/colibri_vf.h10
4 files changed, 21 insertions, 14 deletions
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index 5f24951fc7..f83b1ab30d 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -238,7 +238,7 @@
"fdt_addr_r=0x12000000\0" \
"fdt_high=0xffffffff\0" \
"initrd_high=0xffffffff\0" \
- "kernel_addr_r=0x10800000\0" \
+ "kernel_addr_r=0x11000000\0" \
"ramdisk_addr_r=0x12100000\0"
#define NFS_BOOTCMD \
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index baeaf1f859..f33488bd8d 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -207,7 +207,9 @@
#define MEM_LAYOUT_ENV_SETTINGS \
"fdt_addr_r=0x12000000\0" \
- "kernel_addr_r=0x10800000\0" \
+ "fdt_high=0xffffffff\0" \
+ "initrd_high=0xffffffff\0" \
+ "kernel_addr_r=0x11000000\0" \
"ramdisk_addr_r=0x12100000\0"
#define NFS_BOOTCMD \
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index 84541b9f11..d80a734c36 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -190,6 +190,13 @@
#define CONFIG_MXC_RDC /* Enable RDC to isolate the peripherals for A7 and M4 */
#define CONFIG_CMD_SETEXPR
+#define MEM_LAYOUT_ENV_SETTINGS \
+ "fdt_addr_r=0x82000000\0" \
+ "fdt_high=0xffffffff\0" \
+ "initrd_high=0xffffffff\0" \
+ "kernel_addr_r=0x81000000\0" \
+ "ramdisk_addr_r=0x82100000\0"
+
#define SD_BOOTCMD \
"sdargs=root=/dev/mmcblk0p2 rw rootwait\0" \
"sdboot=run setup; setenv bootargs ${defargs} ${sdargs} " \
@@ -223,20 +230,15 @@
#define CONFIG_SYS_MMC_IMG_LOAD_PART 1
#define CONFIG_EXTRA_ENV_SETTINGS \
+ MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
SD_BOOTCMD \
UBI_BOOTCMD \
"console=ttymxc0\0" \
"defargs=\0" \
- "fdt_addr=0x83000000\0" \
- "fdt_addr_r=0x83000000\0" \
"fdt_board=eval-v3\0" \
"fdt_fixup=;\0" \
- "fdt_high=0xffffffff\0" \
- "image=zImage\0" \
- "initrd_high=0xffffffff\0" \
"ip_dyn=yes\0" \
- "kernel_addr_r=80800000\0" \
"kernel_file=zImage\0" \
"mtdparts=" MTDPARTS_DEFAULT "\0" \
"setethupdate=if env exists ethaddr; then; else setenv ethaddr " \
@@ -356,6 +358,7 @@
#define CONFIG_OF_LIBFDT
#define CONFIG_CMD_BOOTZ
+#define CONFIG_SUPPORT_RAW_INITRD
#define CONFIG_CMD_BMODE
@@ -381,8 +384,4 @@
#define CONFIG_IMX_THERMAL
-#if defined(CONFIG_ANDROID_SUPPORT)
-#error "not yet implemented, compare with mx7dsabresdandroid.h"
-#include "colibri_imx7_android.h"
-#endif
#endif /* __CONFIG_H */
diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
index f74accc5b0..26cf60a78d 100644
--- a/include/configs/colibri_vf.h
+++ b/include/configs/colibri_vf.h
@@ -150,6 +150,13 @@
#define CONFIG_SYS_TEXT_BASE 0x3f408000
#define CONFIG_BOARD_SIZE_LIMIT 524288
+#define MEM_LAYOUT_ENV_SETTINGS \
+ "fdt_addr_r=0x82000000\0" \
+ "fdt_high=0xffffffff\0" \
+ "initrd_high=0xffffffff\0" \
+ "kernel_addr_r=0x81000000\0" \
+ "ramdisk_addr_r=0x82100000\0"
+
#define SD_BOOTCMD \
"sdargs=root=/dev/mmcblk0p2 rw rootwait\0" \
"sdboot=run setup; setenv bootargs ${defargs} ${sdargs} " \
@@ -183,14 +190,13 @@
#define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4"
#define CONFIG_EXTRA_ENV_SETTINGS \
+ MEM_LAYOUT_ENV_SETTINGS \
"console=ttyLP0\0" \
"defargs=\0" \
"dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
- "fdt_addr_r=0x84000000\0" \
"fdt_board=eval-v3\0" \
"fdt_file=${soc}-colibri-${fdt_board}.dtb\0" \
"fdt_fixup=;\0" \
- "kernel_addr_r=0x82000000\0" \
"kernel_file=zImage\0" \
"mtdparts=" MTDPARTS_DEFAULT "\0" \
NFS_BOOTCMD \