u-boot-mvebu: clearfog: implement distro-boot
Add a patchfile that implements distro-boot and is meant to go upstream Also make the other patches git-am'able for easier maintenance. Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
This commit is contained in:
parent
86c4144571
commit
c4f9474059
5 changed files with 126 additions and 49 deletions
|
@ -0,0 +1,28 @@
|
|||
From ee16ee20205ea374613c3ac7f50209451eb29068 Mon Sep 17 00:00:00 2001
|
||||
From: Josua Mayer <josua.mayer97@gmail.com>
|
||||
Date: Sun, 23 Apr 2017 18:02:40 +0200
|
||||
Subject: [PATCH 1/4] clearfog: generate random MAC address
|
||||
|
||||
The Clearfog does not come with predetermined MACs.
|
||||
Falling back to random ones ensures ethernet can still operate anyway.
|
||||
|
||||
Signed-off-by: Josua Mayer >josua.mayer97@gmail.com>
|
||||
---
|
||||
configs/clearfog_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
|
||||
index 1264871e83..41e94e6daf 100644
|
||||
--- a/configs/clearfog_defconfig
|
||||
+++ b/configs/clearfog_defconfig
|
||||
@@ -47,6 +47,7 @@ CONFIG_DEBUG_UART=y
|
||||
CONFIG_DEBUG_UART_BASE=0xd0012000
|
||||
CONFIG_DEBUG_UART_CLOCK=250000000
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
--
|
||||
2.12.2
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 98848106b9558244ae36a85229caabcdb57d0f7b Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Date: Fri, 23 Sep 2016 13:58:14 +0200
|
||||
Subject: [PATCH] clearfog: reset usom onboard 1512 phy
|
||||
Subject: [PATCH 2/4] clearfog: reset usom onboard 1512 phy
|
||||
|
||||
Use GPIO19 which is wired to the uSOM phy reset signal in order to reset
|
||||
the uSOM's 88E81512 gigabit Ethernet phy.
|
|
@ -0,0 +1,97 @@
|
|||
From 9653921eadd5d5268afbee6c928708158fc4e844 Mon Sep 17 00:00:00 2001
|
||||
From: Josua Mayer <josua.mayer97@gmail.com>
|
||||
Date: Tue, 22 Nov 2016 16:33:23 +0100
|
||||
Subject: [PATCH 3/4] clearfog: enable distro boot code
|
||||
|
||||
load addresses start at 0x02000000, leaving enough space for fdt,
|
||||
boot scripts and ramdisk at the end.
|
||||
Only boot from mmc, the other options are not in working order.
|
||||
Removed *_high variables in good faith. They can be re-added with sane
|
||||
values when, and if required.
|
||||
|
||||
Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
|
||||
---
|
||||
Kconfig | 1 +
|
||||
include/configs/clearfog.h | 47 +++++++++++++++++++++++++++++++++++++++++-----
|
||||
2 files changed, 43 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Kconfig b/Kconfig
|
||||
index 81b4226463..f7aec2255b 100644
|
||||
--- a/Kconfig
|
||||
+++ b/Kconfig
|
||||
@@ -59,6 +59,7 @@ config DISTRO_DEFAULTS
|
||||
default y if ARCH_LS2080A
|
||||
default y if ARCH_MESON
|
||||
default y if ARCH_ROCKCHIP
|
||||
+ default y if TARGET_CLEARFOG
|
||||
default n
|
||||
select CMD_BOOTZ if ARM && !ARM64
|
||||
select CMD_BOOTI if ARM64
|
||||
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
|
||||
index 0c51d2a288..890dd84b5d 100644
|
||||
--- a/include/configs/clearfog.h
|
||||
+++ b/include/configs/clearfog.h
|
||||
@@ -79,11 +79,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
|
||||
@@ -128,6 +123,48 @@
|
||||
#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:
|
||||
+ * - 63MiB space for kernel
|
||||
+ * - 1MiB space for fdt
|
||||
+ * - 1MiB space for extlinux file, or boot script
|
||||
+ * - remainder for ramdisk
|
||||
+ * Keep device tree and initrd in lower memory so the kernel can access them
|
||||
+ * Set name of fdt file (default to Clearfog Pro)
|
||||
+ * specify console device
|
||||
+ */
|
||||
+#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
+ "kernel_addr_r=0x02000000\0" \
|
||||
+ "fdt_addr_r=0x05f00000\0" \
|
||||
+ "pxefile_addr_r=0x06000000\0" \
|
||||
+ "scriptaddr=0x06000000\0" \
|
||||
+ "ramdisk_addr_r=0x06100000\0" \
|
||||
+ "fdt_high=0x10000000\0" \
|
||||
+ "initrd_high=0x10000000\0" \
|
||||
+ "fdtfile=armada-388-clearfog-pro.dtb\0" \
|
||||
+ "console=ttyS0," __stringify(CONFIG_BAUDRATE) "\0" \
|
||||
+ BOOTENV
|
||||
+
|
||||
+/* include distro boot code defaults */
|
||||
+#include <config_distro_defaults.h>
|
||||
+
|
||||
+/*
|
||||
+ * specify boot order
|
||||
+ * sdcard or emmc -> usb -> network
|
||||
+ */
|
||||
+#define BOOT_TARGET_DEVICES(func) \
|
||||
+ func(MMC, mmc, 0) \
|
||||
+ func(USB, usb, 0) \
|
||||
+ func(PXE, pxe, na) \
|
||||
+ func(DHCP, dhcp, na)
|
||||
+
|
||||
+/* 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
|
||||
--
|
||||
2.12.2
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
|
||||
index 1264871e83..41e94e6daf 100644
|
||||
--- a/configs/clearfog_defconfig
|
||||
+++ b/configs/clearfog_defconfig
|
||||
@@ -47,6 +47,7 @@ CONFIG_DEBUG_UART=y
|
||||
CONFIG_DEBUG_UART_BASE=0xd0012000
|
||||
CONFIG_DEBUG_UART_CLOCK=250000000
|
||||
CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
|
@ -1,36 +0,0 @@
|
|||
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
|
||||
index 41e94e6daf..f23e65e345 100644
|
||||
--- a/configs/clearfog_defconfig
|
||||
+++ b/configs/clearfog_defconfig
|
||||
@@ -11,6 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
+CONFIG_HUSH_PARSER=y
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x141
|
||||
CONFIG_SPL_I2C_SUPPORT=y
|
||||
diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
|
||||
index 0c51d2a288..e52ba8145f 100644
|
||||
--- a/include/configs/clearfog.h
|
||||
+++ b/include/configs/clearfog.h
|
||||
@@ -82,7 +82,18 @@
|
||||
/* 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"
|
||||
+ "initrd_high=0x10000000\0" \
|
||||
+ "script=boot.scr\0" \
|
||||
+ "loadaddr=0x01000000\0" \
|
||||
+ "mmcdev=0\0" \
|
||||
+ "mmcpart=1\0" \
|
||||
+ "loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
|
||||
+ "bootscript=echo Running bootscript from mmc ...; source ${loadaddr}\0"
|
||||
+
|
||||
+#define CONFIG_BOOTCOMMAND \
|
||||
+ "if run loadbootscript; then " \
|
||||
+ "run bootscript; " \
|
||||
+ "fi"
|
||||
|
||||
/* SPL */
|
||||
/*
|
Loading…
Reference in a new issue