summaryrefslogtreecommitdiff
path: root/common/board_r.c
diff options
context:
space:
mode:
authorNitin Garg <nitin.garg@freescale.com>2014-05-27 17:20:51 -0500
committerNitin Garg <nitin.garg@freescale.com>2014-06-13 10:16:14 -0500
commit624f876980209f9073e6fb834541efa89192d484 (patch)
tree21af710dcf8d5166c06647387b3aedb841ec3518 /common/board_r.c
parentb79371410aa44972dea53d5c19d256170928dcbd (diff)
downloadu-boot-imx-624f876980209f9073e6fb834541efa89192d484.zip
u-boot-imx-624f876980209f9073e6fb834541efa89192d484.tar.gz
u-boot-imx-624f876980209f9073e6fb834541efa89192d484.tar.bz2
ENGR00315499-10 ARM:imx6:sabresd/sabreauto Add android fastboot supporting
Support android features: fastboot, booti command and recovery for sabresd SD, sabresd eMMC, sabreauto SD, sabreauto NAND. For all booting media (SD, eMMC, NAND), inherits the partitions layout from v2009.08. Fastboot will detect the booting media to replace hardcoding fastboot device. SATA is not supported. FDT is supported to use the "unused" fields in bootimg header which requires the FDT to be combined into the boot.img. For non-FDT boot.img, the "unused" fields should left to NULL and is compatible to boot. Signed-off-by: Ye.Li <B37916@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
Diffstat (limited to 'common/board_r.c')
-rw-r--r--common/board_r.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/common/board_r.c b/common/board_r.c
index 8629a65..b9f8aeb 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -55,6 +55,9 @@
#include <dm/root.h>
#include <linux/compiler.h>
#include <linux/err.h>
+#ifdef CONFIG_FASTBOOT
+#include <fastboot.h>
+#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -714,6 +717,20 @@ static int initr_modem(void)
}
#endif
+#ifdef CONFIG_FASTBOOT
+static int initr_fastboot_setup(void)
+{
+ fastboot_setup();
+ return 0;
+}
+
+static int initr_check_fastboot(void)
+{
+ check_fastboot();
+ return 0;
+}
+#endif
+
static int run_main_loop(void)
{
#ifdef CONFIG_SANDBOX
@@ -885,6 +902,9 @@ init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_BOARD_LATE_INIT
board_late_init,
#endif
+#ifdef CONFIG_FASTBOOT
+ initr_fastboot_setup,
+#endif
#ifdef CONFIG_CMD_SCSI
INIT_FUNC_WATCHDOG_RESET
initr_scsi,
@@ -931,6 +951,9 @@ init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_MODEM_SUPPORT
initr_modem,
#endif
+#ifdef CONFIG_FASTBOOT
+ initr_check_fastboot,
+#endif
run_main_loop,
};