|
@@ -95,8 +95,6 @@
|
|
|
#endif
|
|
|
|
|
|
#define BOOTCMDS_COMMON \
|
|
|
- "scriptaddr=0x400000\0" \
|
|
|
- \
|
|
|
"rootpart=1\0" \
|
|
|
\
|
|
|
"script_boot=" \
|
|
@@ -140,9 +138,36 @@
|
|
|
|
|
|
#endif
|
|
|
|
|
|
+/*
|
|
|
+ * Memory layout for where various images get loaded by boot scripts:
|
|
|
+ *
|
|
|
+ * scriptaddr can be pretty much anywhere that doesn't conflict with something
|
|
|
+ * else. Put it above BOOTMAPSZ to eliminate conflicts.
|
|
|
+ *
|
|
|
+ * kernel_addr_r must be within the first 128M of RAM in order for the
|
|
|
+ * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
|
|
|
+ * decompress itself to 0x8000 after the start of RAM, kernel_addr_r
|
|
|
+ * should not overlap that area, or the kernel will have to copy itself
|
|
|
+ * somewhere else before decompression. Similarly, the address of any other
|
|
|
+ * data passed to the kernel shouldn't overlap the start of RAM. Pushing
|
|
|
+ * this up to 16M allows for a sizable kernel to be decompressed below the
|
|
|
+ * compressed load address.
|
|
|
+ *
|
|
|
+ * fdt_addr_r simply shouldn't overlap anything else. Choosing 32M allows for
|
|
|
+ * the compressed kernel to be up to 16M too.
|
|
|
+ *
|
|
|
+ * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows
|
|
|
+ * for the FDT/DTB to be up to 1M, which is hopefully plenty.
|
|
|
+ */
|
|
|
+#define MEM_LAYOUT_ENV_SETTINGS \
|
|
|
+ "scriptaddr=0x10000000\0" \
|
|
|
+ "kernel_addr_r=0x01000000\0" \
|
|
|
+ "fdt_addr_r=0x02000000\0" \
|
|
|
+ "ramdisk_addr_r=0x02100000\0" \
|
|
|
+
|
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
|
TEGRA_DEVICE_SETTINGS \
|
|
|
- "fdt_load=0x01000000\0" \
|
|
|
+ MEM_LAYOUT_ENV_SETTINGS \
|
|
|
BOOTCMDS_COMMON
|
|
|
|
|
|
/* overrides for SPL build here */
|