summaryrefslogtreecommitdiff
path: root/package/u-boot/patches/0001-clearfog-enable-distro-boot-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/u-boot/patches/0001-clearfog-enable-distro-boot-code.patch')
-rw-r--r--package/u-boot/patches/0001-clearfog-enable-distro-boot-code.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/package/u-boot/patches/0001-clearfog-enable-distro-boot-code.patch b/package/u-boot/patches/0001-clearfog-enable-distro-boot-code.patch
new file mode 100644
index 000000000..e832287ca
--- /dev/null
+++ b/package/u-boot/patches/0001-clearfog-enable-distro-boot-code.patch
@@ -0,0 +1,67 @@
+diff -Nur u-boot-2016.11.orig/include/configs/clearfog.h u-boot-2016.11/include/configs/clearfog.h
+--- u-boot-2016.11.orig/include/configs/clearfog.h 2016-11-14 17:27:11.000000000 +0100
++++ u-boot-2016.11/include/configs/clearfog.h 2016-12-10 14:47:41.924944284 +0100
+@@ -87,11 +87,6 @@
+
+ #define CONFIG_SYS_ALT_MEMTEST
+
+-/* Keep device tree and initrd in lower memory so the kernel can access them */
+-#define CONFIG_EXTRA_ENV_SETTINGS \
+- "fdt_high=0x10000000\0" \
+- "initrd_high=0x10000000\0"
+-
+ /* SPL */
+ /*
+ * Select the boot device here
+@@ -139,6 +134,40 @@
+ #endif
+ #endif
+
++#ifndef CONFIG_SPL_BUILD
++/*
++ * Add standard bootenv from distro boot code:
++ * Keep device tree and initrd in lower memory so the kernel can access them
++ * Set default load addresses:
++ * - 63MB space for kernel
++ * - 1MB space for fdt
++ * - 1MB space for extlinux file, or boot script
++ * - remainder for ramdisk
++ * Set name of fdt file */
++#define CONFIG_EXTRA_ENV_SETTINGS \
++ "kernel_addr_r=0x02000000\0" \
++ "fdt_addr_r=0x05c14dc0\0" \
++ "pxefile_addr_r=0x05d09000\0" \
++ "scriptaddr=0x05d09000\0" \
++ "ramdisk_addr_r=0x05dfd240\0" \
++ "fdtfile=armada-388-clearfog.dtb\0" \
++ BOOTENV
++
++/* include distro boot code defaults */
++#include <config_distro_defaults.h>
++
++/*
++ * specify boot order
++ * sdcard or emmc
++ * sata, usb and network are not supported yet
++ */
++#define BOOT_TARGET_DEVICES(func) \
++ func(MMC, mmc, 0)
++
++/* include the actual distro boot code */
++#include <config_distro_bootcmd.h>
++#endif
++
+ /*
+ * mv-common.h should be defined after CMD configs since it used them
+ * to enable certain macros
+diff -Nur u-boot-2016.11.orig/Kconfig u-boot-2016.11/Kconfig
+--- u-boot-2016.11.orig/Kconfig 2016-11-14 17:27:11.000000000 +0100
++++ u-boot-2016.11/Kconfig 2016-12-10 14:48:38.293185358 +0100
+@@ -56,6 +56,7 @@
+ config DISTRO_DEFAULTS
+ bool "Select defaults suitable for booting general purpose Linux distributions"
+ default y if ARCH_SUNXI
++ default y if TARGET_CLEARFOG
+ default n
+ select CMD_BOOTZ if ARM && !ARM64
+ select CMD_BOOTI if ARM64