ARM: uniphier: make boot_is_swapped() code optional
[oweals/u-boot.git] / arch / arm / lib / zimage.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2016
4  * Ladislav Michl <ladis@linux-mips.org>
5  *
6  * bootz code:
7  * Copyright (C) 2012 Marek Vasut <marek.vasut@gmail.com>
8  */
9 #include <common.h>
10
11 #define LINUX_ARM_ZIMAGE_MAGIC  0x016f2818
12 #define BAREBOX_IMAGE_MAGIC     0x00786f62
13
14 struct arm_z_header {
15         uint32_t        code[9];
16         uint32_t        zi_magic;
17         uint32_t        zi_start;
18         uint32_t        zi_end;
19 } __attribute__ ((__packed__));
20
21 int bootz_setup(ulong image, ulong *start, ulong *end)
22 {
23         struct arm_z_header *zi = (struct arm_z_header *)image;
24
25         if (zi->zi_magic != LINUX_ARM_ZIMAGE_MAGIC &&
26             zi->zi_magic != BAREBOX_IMAGE_MAGIC) {
27 #ifndef CONFIG_SPL_FRAMEWORK
28                 puts("zimage: Bad magic!\n");
29 #endif
30                 return 1;
31         }
32
33         *start = zi->zi_start;
34         *end = zi->zi_end;
35 #ifndef CONFIG_SPL_FRAMEWORK
36         printf("Kernel image @ %#08lx [ %#08lx - %#08lx ]\n",
37                image, *start, *end);
38 #endif
39
40         return 0;
41 }