mt8183: Set the mmcboot environment variable to boot android
This adds a new definition of MMCBOOT, which could be selected
at build time, to boot Android.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
diff --git a/board/mediatek/mt8183/Kconfig b/board/mediatek/mt8183/Kconfig
index b75c3b8..23b5a51 100644
--- a/board/mediatek/mt8183/Kconfig
+++ b/board/mediatek/mt8183/Kconfig
@@ -10,4 +10,11 @@
string
default "media=emmc"
+config MTK_ANDROID
+ bool "Enable Android support"
+ select ANDROID_BOOT_IMAGE
+ select OF_LIBFDT
+ select OF_LIBFDT_OVERLAY
+ select CMD_DTIMG
+
endif
diff --git a/include/configs/mt8183.h b/include/configs/mt8183.h
index 660b02a..87d9e1a 100644
--- a/include/configs/mt8183.h
+++ b/include/configs/mt8183.h
@@ -37,6 +37,27 @@
/* Environment settings */
#include <config_distro_bootcmd.h>
+#ifdef CONFIG_MTK_ANDROID
+#define MMCBOOT \
+ "mmcdev=0\0" \
+ "dtb_index=0\0" \
+ "dtbo_index=1\0" \
+ "loadaddr=0x50000000\0" \
+ "load_dtb=" \
+ "part start mmc ${mmcdev} dtbo dtbo_part_start;" \
+ "part size mmc ${mmcdev} dtbo dtbo_part_size;" \
+ "mmc read ${loadaddr} ${dtbo_part_start} ${dtbo_part_size};" \
+ "dtimg select ${loadaddr} ${dtb_index};" \
+ "dtimg merge ${loadaddr} ${dtbo_index}; \0" \
+ "load_bootimg=" \
+ "part start mmc ${mmcdev} boot boot_part_start;" \
+ "part size mmc ${mmcdev} boot boot_part_size;" \
+ "mmc read ${loadaddr} ${boot_part_start} ${boot_part_size}; \0" \
+ "mmcboot=" \
+ "run load_dtb;" \
+ "run load_bootimg;" \
+ "bootm ${loadaddr}; \0"
+#else
#define MMCBOOT \
"mmcdev=0\0" \
"rootfs_partition=3\0" \
@@ -49,6 +70,7 @@
"mmc read ${kerneladdr} ${kernel_part_addr} ${kernel_part_size};" \
"setenv bootargs ${bootargs} root=/dev/mmcblk${mmcdev}p${rootfs_partition} rootwait; " \
"bootm ${kerneladdr}${boot_conf}; \0"
+#endif /* CONFIG_MTK_ANDROID */
#define CONFIG_EXTRA_ENV_SETTINGS \
"kerneladdr=0x4A000000\0" \