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