From 7bf0f5d1e202cbca1facfbbf8bd118a819eb87a3 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 8 Jun 2016 19:32:41 -0700 Subject: 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 Acked-by: Marcel Ziswiler --- include/configs/apalis_imx6.h | 2 +- include/configs/colibri_imx6.h | 4 +++- include/configs/colibri_imx7.h | 19 +++++++++---------- include/configs/colibri_vf.h | 10 ++++++++-- 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 \ -- cgit v1.2.3