RK3399 Fix wrong u-boot configuration for T4, use forked rkbin tools, upstream patches

This commit is contained in:
Igor Pecovnik 2018-08-21 15:56:44 +02:00
parent aafe51fcdb
commit 445c9715d9
5 changed files with 1246 additions and 6 deletions

View File

@ -1,7 +1,7 @@
# RK3399 NanoPC T4 hexa core 4GB SoC eMMC GBE USB3 WiFi
BOARD_NAME="NanoPC T4"
BOARDFAMILY="rk3399"
BOOTCONFIG="rockpro64-rk3399_defconfig"
BOOTCONFIG="nanopi4_defconfig"
#
MODULES=""
MODULES_NEXT=""

View File

@ -89,10 +89,13 @@ uboot_custom_postprocess()
# Below is the way it is supposed to work according to Rockchip documentation,
# and how it does work with the mainline-master branch. No 4-byte skip.
#
tools/mkimage -n rk3399 -T rksd -d $SRC/cache/sources/rkbin-tools/bin/rk33/rk3399_ddr_800MHz_v1.14.bin idbloader.bin
cat $SRC/cache/sources/rkbin-tools/bin/rk33/rk3399_miniloader_v1.15.bin >> idbloader.bin
if [[ $BOARD == nanopct4 ]]; then
tools/mkimage -n rk3399 -T rksd -d $SRC/cache/sources/rkbin-tools/rk33/rk3399_ddr_800MHz_v1.14.bin idbloader.bin
cat $SRC/cache/sources/rkbin-tools/rk33/rk3399_miniloader_v1.15.bin >> idbloader.bin
else
tools/mkimage -n rk3399 -T rksd -d $SRC/cache/sources/rkbin-tools/rk33/rk3399_ddr_800MHz_v1.14.bin idbloader.bin
cat $SRC/cache/sources/rkbin-tools/bin/rk3399_miniloader_v1.15.bin >> idbloader.bin
fi
# u-boot
#

View File

@ -237,7 +237,7 @@ if [[ $IGNORE_UPDATES != yes ]]; then
fetch_from_repo "$ATFSOURCE" "$ATFDIR" "$ATFBRANCH" "yes"
fi
fetch_from_repo "https://github.com/linux-sunxi/sunxi-tools" "sunxi-tools" "branch:master"
fetch_from_repo "https://github.com/rockchip-linux/rkbin" "rkbin-tools" "branch:29mirror"
fetch_from_repo "https://github.com/armbian/rkbin" "rkbin-tools" "branch:master"
fetch_from_repo "https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell" "marvell-tools" "branch:A3700_utils-armada-17.10"
fetch_from_repo "https://github.com/armbian/odroidc2-blobs" "odroidc2-blobs" "branch:master"
fetch_from_repo "https://github.com/armbian/testings" "testing-reports" "branch:master"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
diff --git a/Makefile b/Makefile
index e7c46ece5f27..7789195c6a59 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
VERSION = 4
PATCHLEVEL = 4
-SUBLEVEL = 149
+SUBLEVEL = 150
EXTRAVERSION =
NAME = Blurry Fish Butt
diff --git a/arch/x86/include/asm/pgtable-invert.h b/arch/x86/include/asm/pgtable-invert.h
index 44b1203ece12..a0c1525f1b6f 100644
--- a/arch/x86/include/asm/pgtable-invert.h
+++ b/arch/x86/include/asm/pgtable-invert.h
@@ -4,9 +4,18 @@
#ifndef __ASSEMBLY__
+/*
+ * A clear pte value is special, and doesn't get inverted.
+ *
+ * Note that even users that only pass a pgprot_t (rather
+ * than a full pte) won't trigger the special zero case,
+ * because even PAGE_NONE has _PAGE_PROTNONE | _PAGE_ACCESSED
+ * set. So the all zero case really is limited to just the
+ * cleared page table entry case.
+ */
static inline bool __pte_needs_invert(u64 val)
{
- return !(val & _PAGE_PRESENT);
+ return val && !(val & _PAGE_PRESENT);
}
/* Get a mask to xor with the page table entry to get the correct pfn. */