[PATCH 01/16] ARM: start: Allow to pass machine type as boarddata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Allow to pass a machine type number as directly as boarddata. This makes
it easy for non device tree boards to pass a machine type and to
identify themselves during runtime.

Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
---
 arch/arm/cpu/start.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index c97b2770c4..0c2e9fb9a8 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -193,7 +193,19 @@ __noreturn void barebox_non_pbl_start(unsigned long membase,
 		uint32_t totalsize = 0;
 		const char *name;
 
-		if (blob_is_fdt(boarddata)) {
+		if ((unsigned long)boarddata < 8192) {
+			struct barebox_arm_boarddata *bd;
+			uint32_t machine_type = (uint32_t)boarddata;
+			unsigned long mem = arm_mem_boarddata(membase, endmem,
+							      sizeof(*bd));
+			pr_debug("found machine type %d in boarddata\n",
+				 machine_type);
+			bd = barebox_boarddata = (void *)mem;
+			barebox_boarddata_size = sizeof(*bd);
+			bd->magic = BAREBOX_ARM_BOARDDATA_MAGIC;
+			bd->machine = machine_type;
+			malloc_end = mem;
+		} else if (blob_is_fdt(boarddata)) {
 			totalsize = get_unaligned_be32(boarddata + 4);
 			name = "DTB";
 		} else if (blob_is_compressed_fdt(boarddata)) {
-- 
2.23.0


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux