fc90ece
From 09339c34eeab4a73d5dfa48034b6c8ae8a775c14 Mon Sep 17 00:00:00 2001
c56130e
From: Peter Robinson <pbrobinson@gmail.com>
fc90ece
Date: Tue, 14 Feb 2017 13:15:23 +0000
a2a18e0
Subject: [PATCH] arm: mvebu: enable generic distro boot config
825a3f1
825a3f1
Switch all of the mvebu boards to support disto generic booting
825a3f1
This will enable Fedora, Debian and other distros to support
825a3f1
mvebu systems easier. Tested on SolidRun ClearFog
825a3f1
825a3f1
Signed-off-by: Dennis Gilmore <dgilmore@redhat.com>
825a3f1
---
825a3f1
 include/configs/clearfog.h  |  5 ---
df9dafb
 include/configs/mv-common.h | 84 +++++++++++++++++++++++++++++++++++++++++++++
df9dafb
 2 files changed, 84 insertions(+), 5 deletions(-)
825a3f1
825a3f1
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
fc90ece
index 0c51d2a..0034604 100644
825a3f1
--- a/include/configs/clearfog.h
825a3f1
+++ b/include/configs/clearfog.h
fc90ece
@@ -79,11 +79,6 @@
a2a18e0
 
825a3f1
 #define CONFIG_SYS_ALT_MEMTEST
825a3f1
 
825a3f1
-/* Keep device tree and initrd in lower memory so the kernel can access them */
825a3f1
-#define CONFIG_EXTRA_ENV_SETTINGS	\
825a3f1
-	"fdt_high=0x10000000\0"		\
825a3f1
-	"initrd_high=0x10000000\0"
825a3f1
-
825a3f1
 /* SPL */
825a3f1
 /*
825a3f1
  * Select the boot device here
825a3f1
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
fc90ece
index 25562fa..aebfabe 100644
825a3f1
--- a/include/configs/mv-common.h
825a3f1
+++ b/include/configs/mv-common.h
fc90ece
@@ -139,4 +139,88 @@
825a3f1
 #define CONFIG_LZO
825a3f1
 #endif
825a3f1
 
825a3f1
+#ifndef CONFIG_SPL_BUILD
825a3f1
+#include <config_distro_defaults.h>
825a3f1
+
825a3f1
+/*
825a3f1
+* 160M RAM (256M minimum minus 64MB heap + 32MB for u-boot, stack, fb, etc.
825a3f1
+* 32M uncompressed kernel, 16M compressed kernel, 1M fdt,
825a3f1
+* 1M script, 1M pxe and the ramdisk at the end.
825a3f1
+*/
825a3f1
+#define SDRAM_OFFSET(x) 0x0##x
825a3f1
+
825a3f1
+#define KERNEL_ADDR_R  __stringify(SDRAM_OFFSET(2000000))
825a3f1
+#define FDT_ADDR_R     __stringify(SDRAM_OFFSET(3000000))
825a3f1
+#define SCRIPT_ADDR_R  __stringify(SDRAM_OFFSET(3100000))
825a3f1
+#define PXEFILE_ADDR_R __stringify(SDRAM_OFFSET(3200000))
825a3f1
+#define RAMDISK_ADDR_R __stringify(SDRAM_OFFSET(3300000))
825a3f1
+
825a3f1
+#define MEM_LAYOUT_ENV_SETTINGS \
825a3f1
+        "bootm_size=0xa000000\0" \
825a3f1
+        "kernel_addr_r=" KERNEL_ADDR_R "\0" \
825a3f1
+        "fdt_addr_r=" FDT_ADDR_R "\0" \
825a3f1
+        "scriptaddr=" SCRIPT_ADDR_R "\0" \
825a3f1
+        "pxefile_addr_r=" PXEFILE_ADDR_R "\0" \
825a3f1
+        "ramdisk_addr_r=" RAMDISK_ADDR_R "\0"
825a3f1
+
825a3f1
+#ifdef CONFIG_MMC
825a3f1
+#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
825a3f1
+#else
825a3f1
+#define BOOT_TARGET_DEVICES_MMC(func)
825a3f1
+#endif
825a3f1
+
825a3f1
+#ifdef CONFIG_CMD_SATA
825a3f1
+#define BOOT_TARGET_DEVICES_SATA(func) func(SATA, sata, 0) func(SATA, sata, 1)
825a3f1
+#define CONFIG_PREBOOT                  "sata init"
825a3f1
+#else
825a3f1
+#define BOOT_TARGET_DEVICES_SATA(func)
825a3f1
+#endif
825a3f1
+
825a3f1
+#ifdef CONFIG_USB_STORAGE
825a3f1
+#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
825a3f1
+#else
825a3f1
+#define BOOT_TARGET_DEVICES_USB(func)
825a3f1
+#endif
825a3f1
+
825a3f1
+#define BOOT_TARGET_DEVICES(func) \
825a3f1
+        BOOT_TARGET_DEVICES_MMC(func) \
825a3f1
+        BOOT_TARGET_DEVICES_SATA(func) \
825a3f1
+        BOOT_TARGET_DEVICES_USB(func) \
825a3f1
+        func(PXE, pxe, na)
825a3f1
+
825a3f1
+#include <config_distro_bootcmd.h>
825a3f1
+
825a3f1
+#ifdef CONFIG_USB_KEYBOARD
825a3f1
+#define CONSOLE_STDIN_SETTINGS \
825a3f1
+        "preboot=usb start\0" \
825a3f1
+        "stdin=serial,usbkbd\0"
825a3f1
+#else
825a3f1
+#define CONSOLE_STDIN_SETTINGS \
825a3f1
+        "stdin=serial\0"
825a3f1
+#endif
825a3f1
+
825a3f1
+#ifdef CONFIG_VIDEO
825a3f1
+#define CONSOLE_STDOUT_SETTINGS \
825a3f1
+        "stdout=serial,vga\0" \
825a3f1
+        "stderr=serial,vga\0"
825a3f1
+#else
825a3f1
+#define CONSOLE_STDOUT_SETTINGS \
825a3f1
+        "stdout=serial\0" \
825a3f1
+        "stderr=serial\0"
825a3f1
+#endif
825a3f1
+
825a3f1
+#define CONSOLE_ENV_SETTINGS \
825a3f1
+        CONSOLE_STDIN_SETTINGS \
825a3f1
+        CONSOLE_STDOUT_SETTINGS
825a3f1
+
825a3f1
+#define CONFIG_EXTRA_ENV_SETTINGS \
825a3f1
+        CONSOLE_ENV_SETTINGS \
825a3f1
+        MEM_LAYOUT_ENV_SETTINGS \
825a3f1
+        "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
825a3f1
+        "console=ttyS0,115200\0" \
825a3f1
+        BOOTENV
825a3f1
+#else /* ifndef CONFIG_SPL_BUILD */
825a3f1
+#define CONFIG_EXTRA_ENV_SETTINGS
825a3f1
+#endif
825a3f1
+
825a3f1
 #endif /* _MV_COMMON_H */
c56130e
-- 
df9dafb
2.9.3
c56130e