From 14f3bb140e2014257dd6746a7bb7acc61b3890c5 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 3 Apr 2018 00:31:29 +0000 Subject: [PATCH] alarm/uboot-pine64 to 2018.03-1 --- ...sunxi-disable-direct-MMC-environment.patch | 34 +++++++ ...2-sunxi-revert-disabling-of-features.patch | 96 +++++++++++++++++++ .../0003-Set-board-name-for-Pine64.patch | 45 +++++++++ alarm/uboot-pine64/PKGBUILD | 23 +++-- alarm/uboot-pine64/boot.txt | 1 + 5 files changed, 193 insertions(+), 6 deletions(-) create mode 100644 alarm/uboot-pine64/0001-sunxi-disable-direct-MMC-environment.patch create mode 100644 alarm/uboot-pine64/0002-sunxi-revert-disabling-of-features.patch create mode 100644 alarm/uboot-pine64/0003-Set-board-name-for-Pine64.patch diff --git a/alarm/uboot-pine64/0001-sunxi-disable-direct-MMC-environment.patch b/alarm/uboot-pine64/0001-sunxi-disable-direct-MMC-environment.patch new file mode 100644 index 000000000..723ec609f --- /dev/null +++ b/alarm/uboot-pine64/0001-sunxi-disable-direct-MMC-environment.patch @@ -0,0 +1,34 @@ +From d8636c9831fe1836ab2f929a3c0719f1a6ee1851 Mon Sep 17 00:00:00 2001 +From: Andre Przywara +Date: Wed, 14 Mar 2018 01:57:05 +0000 +Subject: [PATCH 1/3] sunxi: disable direct MMC environment + +Since the dawn of time for the Allwinner support in mainline U-Boot +we store the environment to the SD card and write directly at +544KB from the beginning of the device. This leads to problems when +the U-Boot proper image grows beyond 504KB and eventually overlaps. +With one release of having the environment preferably in a FAT +partition, let's now turn off the MMC variant fallback, so we get back +all the space we need to implement features. + +Signed-off-by: Andre Przywara +Acked-by: Maxime Ripard +--- + env/Kconfig | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/env/Kconfig b/env/Kconfig +index a3c6298273..0c1e928f13 100644 +--- a/env/Kconfig ++++ b/env/Kconfig +@@ -152,7 +152,6 @@ config ENV_IS_IN_MMC + bool "Environment in an MMC device" + depends on !CHAIN_OF_TRUST + depends on MMC +- default y if ARCH_SUNXI + default y if ARCH_EXYNOS4 + default y if MX6SX || MX7D + default y if TEGRA30 || TEGRA124 +-- +2.16.3 + diff --git a/alarm/uboot-pine64/0002-sunxi-revert-disabling-of-features.patch b/alarm/uboot-pine64/0002-sunxi-revert-disabling-of-features.patch new file mode 100644 index 000000000..a1d3a7e7d --- /dev/null +++ b/alarm/uboot-pine64/0002-sunxi-revert-disabling-of-features.patch @@ -0,0 +1,96 @@ +From 0061e430c9105b63d92ce26696b1577651ab1185 Mon Sep 17 00:00:00 2001 +From: Andre Przywara +Date: Wed, 14 Mar 2018 01:57:06 +0000 +Subject: [PATCH 2/3] sunxi: revert disabling of features + +In January some commits were introduced to mitigate the U-Boot image +size issues we encountered on sunxi builds. +Now with the MMC environment removed we can bring them back, as we +practically don't have a size limit anymore. + +Signed-off-by: Andre Przywara +Acked-by: Maxime Ripard +--- + cmd/Kconfig | 5 ----- + drivers/video/Kconfig | 2 -- + lib/Kconfig | 1 - + 3 files changed, 8 deletions(-) + +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 136836d146..27086df09b 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -426,7 +426,6 @@ menu "Memory commands" + config CMD_CRC32 + bool "crc32" + select HASH +- default n if ARCH_SUNXI + default y + help + Compute CRC32. +@@ -568,7 +567,6 @@ config CMD_LZMADEC + + config CMD_UNZIP + bool "unzip" +- default n if ARCH_SUNXI + default y if CMD_BOOTI + help + Uncompress a zip-compressed memory region. +@@ -780,14 +778,12 @@ config CMD_I2C + + config CMD_LOADB + bool "loadb" +- default n if ARCH_SUNXI + default y + help + Load a binary file over serial line. + + config CMD_LOADS + bool "loads" +- default n if ARCH_SUNXI + default y + help + Load an S-Record file over serial line +@@ -1187,7 +1183,6 @@ config CMD_GETTIME + # TODO: rename to CMD_SLEEP + config CMD_MISC + bool "sleep" +- default n if ARCH_SUNXI + default y + help + Delay execution for some time +diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig +index 2fc0defcd0..45a105db06 100644 +--- a/drivers/video/Kconfig ++++ b/drivers/video/Kconfig +@@ -38,7 +38,6 @@ config BACKLIGHT_GPIO + config VIDEO_BPP8 + bool "Support 8-bit-per-pixel displays" + depends on DM_VIDEO +- default n if ARCH_SUNXI + default y if DM_VIDEO + help + Support drawing text and bitmaps onto a 8-bit-per-pixel display. +@@ -49,7 +48,6 @@ config VIDEO_BPP8 + config VIDEO_BPP16 + bool "Support 16-bit-per-pixel displays" + depends on DM_VIDEO +- default n if ARCH_SUNXI + default y if DM_VIDEO + help + Support drawing text and bitmaps onto a 16-bit-per-pixel display. +diff --git a/lib/Kconfig b/lib/Kconfig +index 4fd41c4282..ab581f172f 100644 +--- a/lib/Kconfig ++++ b/lib/Kconfig +@@ -66,7 +66,6 @@ config PANIC_HANG + + config REGEX + bool "Enable regular expression support" +- default n if ARCH_SUNXI + default y if NET + help + If this variable is defined, U-Boot is linked against the +-- +2.16.3 + diff --git a/alarm/uboot-pine64/0003-Set-board-name-for-Pine64.patch b/alarm/uboot-pine64/0003-Set-board-name-for-Pine64.patch new file mode 100644 index 000000000..1d70a7292 --- /dev/null +++ b/alarm/uboot-pine64/0003-Set-board-name-for-Pine64.patch @@ -0,0 +1,45 @@ +From b31e38ce376b506130b1792f413fb49809fa191d Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Sat, 31 Mar 2018 21:52:00 -0600 +Subject: [PATCH 3/3] Set board name for Pine64 + +Signed-off-by: Kevin Mihelich +--- + board/sunxi/board.c | 9 +++++++++ + include/configs/sunxi-common.h | 2 ++ + 2 files changed, 11 insertions(+) + +diff --git a/board/sunxi/board.c b/board/sunxi/board.c +index e08e22f30c..a222d5c4c2 100644 +--- a/board/sunxi/board.c ++++ b/board/sunxi/board.c +@@ -254,6 +254,15 @@ int board_init(void) + return soft_i2c_board_init(); + } + ++int board_late_init(void) ++{ ++ if (gd->ram_size > 512 * 1024 * 1024) ++ env_set("board_name", "pine64-plus"); ++ else ++ env_set("board_name", "pine64"); ++ return 0; ++} ++ + int dram_init(void) + { + gd->ram_size = get_ram_size((long *)PHYS_SDRAM_0, PHYS_SDRAM_0_SIZE); +diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h +index e4e7c22778..8d1200b8f4 100644 +--- a/include/configs/sunxi-common.h ++++ b/include/configs/sunxi-common.h +@@ -527,4 +527,6 @@ extern int soft_i2c_gpio_scl; + #define CONFIG_EXTRA_ENV_SETTINGS + #endif + ++#define CONFIG_BOARD_LATE_INIT ++ + #endif /* _SUNXI_COMMON_CONFIG_H */ +-- +2.16.3 + diff --git a/alarm/uboot-pine64/PKGBUILD b/alarm/uboot-pine64/PKGBUILD index c5b1ecf02..776ce50dd 100644 --- a/alarm/uboot-pine64/PKGBUILD +++ b/alarm/uboot-pine64/PKGBUILD @@ -4,28 +4,39 @@ buildarch=8 pkgname=uboot-pine64 -pkgver=2017.07 +pkgver=2018.03 pkgrel=1 pkgdesc="U-Boot for Pine64" arch=('aarch64') url='http://www.denx.de/wiki/U-Boot/WebHome' license=('GPL') backup=('boot/boot.txt' 'boot/boot.scr') -makedepends=('bc' 'dtc' 'git') +makedepends=('bc' 'git' 'python' 'swig' 'dtc145') install=${pkgname}.install source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver/rc/-rc}.tar.bz2" 'git+https://github.com/apritzel/arm-trusted-firmware.git#branch=allwinner' + '0001-sunxi-disable-direct-MMC-environment.patch' + '0002-sunxi-revert-disabling-of-features.patch' + '0003-Set-board-name-for-Pine64.patch' '0001-ATF-set-fno-stack-protector.patch' 'boot.txt' 'mkscr') -md5sums=('b74741e7a9ad1cf9a5bfa87302b80f2b' +md5sums=('02922bdf0ee003fe25bfc32749ffdeab' 'SKIP' + 'f7c8d23581c1f8b4343e39a05305552f' + '8452738859843d26e5763a4fc5797bda' + 'e6f1ffcb18361c238e5127d84f9bc9f8' '1d3b375fa978f3297d0fd3316f89e68a' - 'c3fef77aee64903f806c4f4357e5a2ab' + 'b523aea0f8fda4edc6846b7e7294f76e' '021623a04afd29ac3f368977140cfbfd') prepare() { - cd arm-trusted-firmware + cd u-boot-${pkgver/rc/-rc} + git apply ../0001-sunxi-disable-direct-MMC-environment.patch + git apply ../0002-sunxi-revert-disabling-of-features.patch + git apply ../0003-Set-board-name-for-Pine64.patch + + cd ../arm-trusted-firmware git apply ../0001-ATF-set-fno-stack-protector.patch } @@ -42,7 +53,7 @@ build() { make distclean make pine64_plus_defconfig echo 'CONFIG_IDENT_STRING=" Arch Linux ARM"' >> .config - make -j1 EXTRAVERSION=-${pkgrel} + make EXTRAVERSION=-${pkgrel} } package() { diff --git a/alarm/uboot-pine64/boot.txt b/alarm/uboot-pine64/boot.txt index 29202b6ee..0293c9d4b 100644 --- a/alarm/uboot-pine64/boot.txt +++ b/alarm/uboot-pine64/boot.txt @@ -6,6 +6,7 @@ part uuid ${devtype} ${devnum}:${bootpart} uuid setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/Image; then + setenv fdtfile allwinner/sun50i-a64-${board_name}.dtb if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};