summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi-Wen Hsu <lwhsu@FreeBSD.org>2019-11-08 08:48:50 +0000
committerLi-Wen Hsu <lwhsu@FreeBSD.org>2019-11-08 08:48:50 +0000
commit55d6907b9b4554b8fc202942522e95eb492537d3 (patch)
tree916a3b755922ce1c8010772de3118a7e8099236e
parentUpdate binutils to 2.33.1 (diff)
Add sysutils/u-boot-rpi4: U-Boot build for the Raspberry Pi 4
PR: 241796 Submitted by: kevans
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/u-boot-master/distinfo14
-rw-r--r--sysutils/u-boot-rpi4/Makefile22
-rw-r--r--sysutils/u-boot-rpi4/files/patch-lib_efi__loader_efi__console.c13
-rw-r--r--sysutils/u-boot-rpi4/files/rpi4_fragment1
-rw-r--r--sysutils/u-boot-rpi4/pkg-descr3
6 files changed, 53 insertions, 1 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index dd234b951f67..9d8687274eba 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1363,6 +1363,7 @@
SUBDIR += u-boot-rpi-0-w
SUBDIR += u-boot-rpi2
SUBDIR += u-boot-rpi3
+ SUBDIR += u-boot-rpi4
SUBDIR += u-boot-sinovoip-bpi-m3
SUBDIR += u-boot-sopine
SUBDIR += u-boot-tools
diff --git a/sysutils/u-boot-master/distinfo b/sysutils/u-boot-master/distinfo
index 4e60b392ae61..7774e276126c 100644
--- a/sysutils/u-boot-master/distinfo
+++ b/sysutils/u-boot-master/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1570649997
+TIMESTAMP = 1573202420
SHA256 (u-boot/u-boot-2019.10.tar.bz2) = 8d6d6070739522dd236cba7055b8736bfe92b4fac0ea18ad809829ca79667014
SIZE (u-boot/u-boot-2019.10.tar.bz2) = 14214608
SHA256 (u-boot/939129/raw) = 2a4ebf283aec8e74ec77b3cb071c6883f73807454ca94fea78361c7391187b97
@@ -11,3 +11,15 @@ SHA256 (u-boot/1172554/raw) = d1a39d7d6487cfb481392e7ea4f0bf0d209c08e0c3426c29d7
SIZE (u-boot/1172554/raw) = 640
SHA256 (u-boot/1172555/raw) = 09d17a62fb6bc7c7ab73bfc7061fc5da2b5a32e7deb098c9f76aed8ff8991751
SIZE (u-boot/1172555/raw) = 568
+SHA256 (u-boot/1137331/raw) = b6dec0334194ec87528aa01219dc5ecd60a3945c126704274933aab9ef112d38
+SIZE (u-boot/1137331/raw) = 2250
+SHA256 (u-boot/1137330/raw) = 6e111ee87ee2082a43b4cd929b74279e8cb63525a89ccab00255200a9cd03e2b
+SIZE (u-boot/1137330/raw) = 1548
+SHA256 (u-boot/1189494/raw) = 2f237d1e80c216fc3898381469b2af9d5639b60cb3128a11c8a23a0a12e4b80c
+SIZE (u-boot/1189494/raw) = 965
+SHA256 (u-boot/1189493/raw) = 4dba3366147813150e68a0aa9fa1738977cba45f9a55faf0fd0cdb3478142683
+SIZE (u-boot/1189493/raw) = 5959
+SHA256 (u-boot/1189497/raw) = 3c433ddf46b8c64f56a9699aeead85954d922e5fcfad52a7bfddf57e6cbdccb6
+SIZE (u-boot/1189497/raw) = 2241
+SHA256 (u-boot/1189495/raw) = ad1233a1da6171b83936e422c67467a54559364cc426d6804d20d425949a933d
+SIZE (u-boot/1189495/raw) = 3918
diff --git a/sysutils/u-boot-rpi4/Makefile b/sysutils/u-boot-rpi4/Makefile
new file mode 100644
index 000000000000..e2e7dedea6ca
--- /dev/null
+++ b/sysutils/u-boot-rpi4/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+MASTERDIR= ${.CURDIR}/../u-boot-master
+
+EXTRA_PATCHES= ${.CURDIR}/files/
+PATCHFILES+= 939129/raw
+# Updated libfdt, pre-req to the next set
+PATCHFILES+= 1137331/raw 1137330/raw
+# Fix memory bank issues
+PATCHFILES+= 1189494/raw 1189493/raw 1189497/raw 1189495/raw
+
+MODEL= rpi4
+BOARD_CONFIG= rpi_4_defconfig
+FAMILY= rpi
+UBOOT_ARCH= aarch64
+
+DEPENDS= ${LOCALBASE}/share/rpi-firmware/bootcode.bin:sysutils/rpi-firmware
+
+CONFIG_FRAGMENT= ${.CURDIR}/files/rpi4_fragment
+FRAGMENT_NAME= rpi4_fragment
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/u-boot-rpi4/files/patch-lib_efi__loader_efi__console.c b/sysutils/u-boot-rpi4/files/patch-lib_efi__loader_efi__console.c
new file mode 100644
index 000000000000..4065ae9ccb48
--- /dev/null
+++ b/sysutils/u-boot-rpi4/files/patch-lib_efi__loader_efi__console.c
@@ -0,0 +1,13 @@
+--- lib/efi_loader/efi_console.c.orig 2018-03-13 12:02:19 UTC
++++ lib/efi_loader/efi_console.c
+@@ -547,8 +547,8 @@ int efi_console_register(void)
+ printf("ERROR: Failed to register console event\n");
+ return r;
+ }
+- /* 5000 ns cycle is sufficient for 2 MBaud */
+- r = efi_set_timer(console_timer_event, EFI_TIMER_PERIODIC, 50);
++ /* 100 ms */
++ r = efi_set_timer(console_timer_event, EFI_TIMER_PERIODIC, 100*1000*10);
+ if (r != EFI_SUCCESS)
+ printf("ERROR: Failed to set console timer\n");
+ return r;
diff --git a/sysutils/u-boot-rpi4/files/rpi4_fragment b/sysutils/u-boot-rpi4/files/rpi4_fragment
new file mode 100644
index 000000000000..1c909d3e8d2c
--- /dev/null
+++ b/sysutils/u-boot-rpi4/files/rpi4_fragment
@@ -0,0 +1 @@
+CONFIG_ENV_FAT_DEVICE_AND_PART="1:1"
diff --git a/sysutils/u-boot-rpi4/pkg-descr b/sysutils/u-boot-rpi4/pkg-descr
new file mode 100644
index 000000000000..a86b3d10e8d7
--- /dev/null
+++ b/sysutils/u-boot-rpi4/pkg-descr
@@ -0,0 +1,3 @@
+U-Boot loader and related files for the RPi4
+
+For general information about U-Boot see WWW: http://www.denx.de/wiki/U-Boot