1cba69eeeSIan Campbell /* 2*e954eb80SBernhard Nortmann * (C) Copyright 2007-2011 3*e954eb80SBernhard Nortmann * Allwinner Technology Co., Ltd. <www.allwinnertech.com> 4*e954eb80SBernhard Nortmann * Tom Cubie <tangliang@allwinnertech.com> 5cba69eeeSIan Campbell * 6cba69eeeSIan Campbell * SPDX-License-Identifier: GPL-2.0+ 7cba69eeeSIan Campbell */ 8cba69eeeSIan Campbell #ifndef _ASM_ARCH_SPL_H_ 9ed6c7f7fSJeroen Hofstee #define _ASM_ARCH_SPL_H_ 10cba69eeeSIan Campbell 11*e954eb80SBernhard Nortmann #define BOOT0_MAGIC "eGON.BT0" 12*e954eb80SBernhard Nortmann 13*e954eb80SBernhard Nortmann /* boot head definition from sun4i boot code */ 14*e954eb80SBernhard Nortmann struct boot_file_head { 15*e954eb80SBernhard Nortmann uint32_t b_instruction; /* one intruction jumping to real code */ 16*e954eb80SBernhard Nortmann uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ 17*e954eb80SBernhard Nortmann uint32_t check_sum; /* generated by PC */ 18*e954eb80SBernhard Nortmann uint32_t length; /* generated by PC */ 19*e954eb80SBernhard Nortmann /* 20*e954eb80SBernhard Nortmann * We use a simplified header, only filling in what is needed 21*e954eb80SBernhard Nortmann * by the boot ROM. To be compatible with Allwinner tools we 22*e954eb80SBernhard Nortmann * would need to implement the proper fields here instead of 23*e954eb80SBernhard Nortmann * padding. 24*e954eb80SBernhard Nortmann */ 25*e954eb80SBernhard Nortmann uint8_t pad[12]; /* align to 32 bytes */ 26*e954eb80SBernhard Nortmann }; 27*e954eb80SBernhard Nortmann 28cba69eeeSIan Campbell #endif 29