xref: /rk3399_rockchip-uboot/include/boot_rkimg.h (revision 87e4c6020eff05133e40ab8b7b0e37e6a2be37e4)
1 /*
2  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 
7 #ifndef __BOOT_ROCKCHIP_H_
8 #define __BOOT_ROCKCHIP_H_
9 
10 /* This is a copy from Android boot loader */
11 enum _boot_mode {
12 	BOOT_MODE_NORMAL = 0,
13 	BOOT_MODE_RECOVERY,
14 	BOOT_MODE_BOOTLOADER,	/* Android: Fastboot mode */
15 	BOOT_MODE_LOADER,	/* Rockchip: Rockusb download mode */
16 	BOOT_MODE_CHARGING,
17 	BOOT_MODE_UMS,
18 	BOOT_MODE_BROM_DOWNLOAD,
19 	BOOT_MODE_PANIC,
20 	BOOT_MODE_WATCHDOG,
21 	BOOT_MODE_UNDEFINE,
22 };
23 
24 #define PART_MISC			"misc"
25 #define PART_KERNEL			"kernel"
26 #define PART_BOOT			"boot"
27 #define PART_RECOVERY			"recovery"
28 #define PART_DTBO			"dtbo"
29 #define PART_LOGO			"logo"
30 
31 #define RK_BLK_SIZE 512
32 
33 int rockchip_get_boot_mode(void);
34 int boot_rockchip_image(struct blk_desc *dev, disk_partition_t *boot_part);
35 int read_rockchip_image(struct blk_desc *dev_desc,
36 			disk_partition_t *part_info, void *dst);
37 
38 struct blk_desc *rockchip_get_bootdev(void);
39 
40 /*
41  * reboot into recovery and wipe data
42  */
43 void board_run_recovery_wipe_data(void);
44 
45 /*
46  * reboot into recovery
47  */
48 void board_run_recovery(void);
49 
50 #endif
51