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" \