1 /* 2 * (C) Copyright 2017 Heiko Stuebner <heiko@sntech.de> 3 * 4 * SPDX-License-Identifier: GPL-2.0 5 */ 6 7 #ifndef _ASM_ARCH_BOOTROM_H 8 #define _ASM_ARCH_BOOTROM_H 9 10 /* 11 * Saved Stack pointer address. 12 * Access might be needed in some special cases. 13 */ 14 extern u32 SAVE_SP_ADDR; 15 16 /** 17 * Hand control back to the bootrom to load another 18 * boot stage. 19 */ 20 void back_to_bootrom(void); 21 22 /** 23 * Assembler component for the above (do not call this directly) 24 */ 25 void _back_to_bootrom_s(void); 26 27 /** 28 * Boot-device identifiers as used by the BROM 29 */ 30 enum { 31 BROM_BOOTSOURCE_NAND = 1, 32 BROM_BOOTSOURCE_EMMC = 2, 33 BROM_BOOTSOURCE_SPINOR = 3, 34 BROM_BOOTSOURCE_SPINAND = 4, 35 BROM_BOOTSOURCE_SD = 5, 36 BROM_BOOTSOURCE_USB = 10, 37 BROM_LAST_BOOTSOURCE = BROM_BOOTSOURCE_USB 38 }; 39 40 /** 41 * Locations of the boot-device identifier in SRAM 42 */ 43 #define RK3399_BROM_BOOTSOURCE_ID_ADDR 0xff8c0010 44 45 #endif 46