u-boot-mvebu: update to 2018.03

This release brings various improvements to clearfog support, such as distro-boot.
Obsoletes:
0002-clearfog-reset-usom-onboard-1512-phy.patch
0003-clearfog-enable-distro-boot-code.patch

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
master
Josua Mayer 7 years ago committed by Hauke Mehrtens
parent 093e6c69fb
commit dff904a955
  1. 4
      package/boot/uboot-mvebu/Makefile
  2. 37
      package/boot/uboot-mvebu/patches/0002-clearfog-reset-usom-onboard-1512-phy.patch
  3. 97
      package/boot/uboot-mvebu/patches/0003-clearfog-enable-distro-boot-code.patch

@ -8,10 +8,10 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_VERSION:=2017.03
PKG_VERSION:=2018.03
PKG_RELEASE:=1
PKG_HASH:=f54baf3f9325bf444c7905f3a5b6f83680edb1e6e1a4d5f8a5ad80abe885113f
PKG_HASH:=7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk

@ -1,37 +0,0 @@
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 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.
This GPIO is valid on ClearFog rev 2.1 and newer.
Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
[jonas.gorski: adapted to upstream u-boot code]
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
board/solidrun/clearfog/clearfog.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 2773f5957e..3a8257cac3 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -131,8 +131,12 @@ int board_init(void)
/* Toggle GPIO41 to reset onboard switch and phy */
clrbits_le32(MVEBU_GPIO1_BASE + 0x0, BIT(9));
clrbits_le32(MVEBU_GPIO1_BASE + 0x4, BIT(9));
+ /* GPIO 19 on ClearFog rev 2.1 controls the uSOM onboard phy reset */
+ clrbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19));
+ clrbits_le32(MVEBU_GPIO0_BASE + 0x4, BIT(19));
mdelay(1);
setbits_le32(MVEBU_GPIO1_BASE + 0x0, BIT(9));
+ setbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19));
mdelay(10);
/* Init I2C IO expanders */
--
2.12.2

@ -1,97 +0,0 @@
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
Loading…
Cancel
Save