Enable fastboot and recovery mode
Overview
This is a rough overview on how to enable fastboot and recovery mode. Some more details are outlined further inside this document.
step 1. Most changes are in u-boot source code.
step 2. Add Android fastboot, and related settings to the configuration header file.
step 3. Enable USB OTG function in u-boot, it is required for fastboot and recovery mode.
step 4. Add Android defconfig for previous steps.
step 5. Recompile u-boot, then fastboot and recovery mode functions can be used, see chapter "How to use fastboot and recovery mode".
step 6. For OTA update mode, the source code of Android framework needs to modified.
Target Platform: Android BSP on EDM1-CF-IMX6 module
Example of enabling Android specific functions in u-boot:
1-1. Create new android configuation file to enable the fastboot and recovery mode function, you can refer to(copy from) freescale folder.
<source>/bootable/bootloader/uboot-imx/board/include/configs/edm-cf-imx6_androidcommon.h
1-2. Include the android configuation file to the original edm1-cf-imx6 configuration file,then fastboot and recovery functions can be used.
<source>/bootable/bootloader/uboot-imx/board/include/configs/edm-cf-imx6.h
Example: Add android support to the configuration file.
#ifdef CONFIG_ANDROID_SUPPORT
#define CONFIG_OF_LOAD_MANUALLY
#include "edm-cf-imx6_androidcommon.h"
#endif
#endif
1-3. Add OTG, fastboot, and recovery function to original edm1-cf-imx6 configuation file.
<source>/bootable/bootloader/uboot-imx/board/technexion/edm-cf-imx6/edm-cf-imx6.c
1-4. In order to support the android function like fastoot, enable ANDROID_SUPPORT in defconfig.
<source>/bootable/bootloader/uboot-imx/board/configs/edm-cf-imx6_defconfig
Example: Add ANDROID_SUPPORT config as below, then we can start to use fastboot function!
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL,ANDROID_SUPPORT"