167171e13SJacob Chen #ifndef __REBOOT_MODE_H 267171e13SJacob Chen #define __REBOOT_MODE_H 367171e13SJacob Chen 467171e13SJacob Chen /* high 24 bits is tag, low 8 bits is type */ 567171e13SJacob Chen #define REBOOT_FLAG 0x5242C300 6747423edSJason Zhu /* cold boot */ 7747423edSJason Zhu #define BOOT_COLD 0 867171e13SJacob Chen /* normal boot */ 967171e13SJacob Chen #define BOOT_NORMAL (REBOOT_FLAG + 0) 1067171e13SJacob Chen /* enter loader rockusb mode */ 1167171e13SJacob Chen #define BOOT_LOADER (REBOOT_FLAG + 1) 1267171e13SJacob Chen /* enter recovery */ 1367171e13SJacob Chen #define BOOT_RECOVERY (REBOOT_FLAG + 3) 14791112ddSJoseph Chen /* reboot by panic */ 15791112ddSJoseph Chen #define BOOT_PANIC (REBOOT_FLAG + 7) 16791112ddSJoseph Chen /* reboot by watchdog */ 17791112ddSJoseph Chen #define BOOT_WATCHDOG (REBOOT_FLAG + 8) 1867171e13SJacob Chen /* enter fastboot mode */ 1967171e13SJacob Chen #define BOOT_FASTBOOT (REBOOT_FLAG + 9) 2067171e13SJacob Chen /* enter charging mode */ 2167171e13SJacob Chen #define BOOT_CHARGING (REBOOT_FLAG + 11) 2267171e13SJacob Chen /* enter usb mass storage mode */ 2367171e13SJacob Chen #define BOOT_UMS (REBOOT_FLAG + 12) 240efe6414STony Xu /* enter dfu download mode */ 250efe6414STony Xu #define BOOT_DFU (REBOOT_FLAG + 13) 26*8af25352SZorro Liu /* reboot system quiescent */ 27*8af25352SZorro Liu #define BOOT_QUIESCENT (REBOOT_FLAG + 14) 2847a9f8fcSAndy Yan /* enter bootrom download mode */ 2947a9f8fcSAndy Yan #define BOOT_BROM_DOWNLOAD 0xEF08A53C 3067171e13SJacob Chen 3147a9f8fcSAndy Yan #ifndef __ASSEMBLY__ 32be55ced3SAndy Yan int setup_boot_mode(void); 3347a9f8fcSAndy Yan #endif 34be55ced3SAndy Yan 35706ec1d4SJoseph Chen enum { 36706ec1d4SJoseph Chen BCB_MSG_RECOVERY_NONE, 37706ec1d4SJoseph Chen BCB_MSG_RECOVERY_RK_FWUPDATE, 38706ec1d4SJoseph Chen BCB_MSG_RECOVERY_PCBA, 39706ec1d4SJoseph Chen }; 40706ec1d4SJoseph Chen 4167171e13SJacob Chen #endif 42