summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-06-16 08:52:24 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2017-06-30 18:49:27 +0200
commit145e611ab1304915f017c241ae53a1add66d064e (patch)
tree56085f0d031d20228fd5b04bc20365d897ccc6f7 /configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch
parent8a984f6e97161d2cd95cdd917b451836653c5497 (diff)
downloadDistroKit-145e611ab1304915f017c241ae53a1add66d064e.tar.gz
DistroKit-145e611ab1304915f017c241ae53a1add66d064e.tar.xz
platform-v7a: add barebox-2017.06.0 patches
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> [remove barebox-2016.05.0 patches while being there] Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch')
-rw-r--r--configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch b/configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch
new file mode 100644
index 0000000..a5fdc9c
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2017.06.0/0001-vexpress-use-device-tree-provided-by-QEMU-if-availab.patch
@@ -0,0 +1,43 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Sat, 10 Sep 2016 17:40:56 +0200
+Subject: [PATCH] vexpress: use device tree provided by QEMU if available
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ arch/arm/boards/vexpress/lowlevel.c | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boards/vexpress/lowlevel.c b/arch/arm/boards/vexpress/lowlevel.c
+index 204d29d8f098..7ed07a1e4134 100644
+--- a/arch/arm/boards/vexpress/lowlevel.c
++++ b/arch/arm/boards/vexpress/lowlevel.c
+@@ -9,14 +9,27 @@
+ #include <asm/barebox-arm-head.h>
+ #include <asm/barebox-arm.h>
+ #include <asm/system_info.h>
++#include <asm/unaligned.h>
+ #include <linux/amba/sp804.h>
+
+ void __naked barebox_arm_reset_vector(void)
+ {
++ unsigned long membase;
++ void *boarddata;
++
+ arm_cpu_lowlevel_init();
+
+ if (amba_is_arm_sp804(IOMEM(0x10011000)))
+- barebox_arm_entry(0x60000000, SZ_512M, NULL);
++ membase = 0x60000000;
++ else
++ membase = 0x80000000;
++
++ /* QEMU may put a dtb at the bare address */
++ if (IS_ENABLED(CONFIG_OFDEVICE) &&
++ get_unaligned_be32((void*)membase) == FDT_MAGIC)
++ boarddata = (void*)membase;
+ else
+- barebox_arm_entry(0x80000000, SZ_512M, NULL);
++ boarddata = NULL;
++
++ barebox_arm_entry(membase, SZ_512M, boarddata);
+ }