Tom Rini | 83d290c | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Mateusz Kulikowski | 626f048 | 2016-03-31 23:12:33 +0200 | [diff] [blame] | 2 | /* |
| 3 | * ARM64 header for proper chain-loading with Little Kernel. |
| 4 | * |
| 5 | * Little Kernel shipped with Dragonboard410C boots standard Linux images for |
| 6 | * ARM64. This file adds header that is required to boot U-Boot properly. |
| 7 | * |
| 8 | * For details see: |
| 9 | * https://www.kernel.org/doc/Documentation/arm64/booting.txt |
| 10 | * |
| 11 | * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com> |
Mateusz Kulikowski | 626f048 | 2016-03-31 23:12:33 +0200 | [diff] [blame] | 12 | */ |
| 13 | |
| 14 | #include <config.h> |
| 15 | |
| 16 | .global _arm64_header |
| 17 | _arm64_header: |
| 18 | b _start |
| 19 | .word 0 |
| 20 | /* Image load offset from start of RAM, little-endian */ |
| 21 | .quad CONFIG_SYS_TEXT_BASE-PHYS_SDRAM_1 |
| 22 | /* Effective size of kernel image, little-endian */ |
| 23 | .quad 0 /* 0x60000 - ignored */ |
| 24 | /* Informative flags, little-endian */ |
| 25 | .quad 0 |
| 26 | .quad 0 /* reserved */ |
| 27 | .quad 0 /* reserved */ |
| 28 | .quad 0 /* reserved */ |
| 29 | .byte 0x41 /* Magic number, "ARM\x64" */ |
| 30 | .byte 0x52 |
| 31 | .byte 0x4d |
| 32 | .byte 0x64 |
| 33 | .word 0 /* reserved */ |