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