summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorguoyin.chen <guoyin.chen@nxp.com>2017-06-19 17:59:42 +0800
committerRichard Liu <xuegang.liu@nxp.com>2017-09-14 22:48:51 +0800
commita2fea67d3eb3092f19f250d53a4a27fa1a0c815f (patch)
treef865850c0feae053ee3e7a0a990370eb2bfa87c9
parentc250b072a606b6a450dbe6633b9c5371c5e36108 (diff)
downloadu-boot-imx-a2fea67d3eb3092f19f250d53a4a27fa1a0c815f.zip
u-boot-imx-a2fea67d3eb3092f19f250d53a4a27fa1a0c815f.tar.gz
u-boot-imx-a2fea67d3eb3092f19f250d53a4a27fa1a0c815f.tar.bz2
MA-9763 Include init.${ro.hardware}.${ro.boot.soc_type}.rc based uboot's soc_typerel_imx_4.9.x_1.0.0_gaimx_v2017.03_4.9.11_1.0.0_ga
Append androidboot.soc_type based on the imx soc type, only add imx6/7 support. Change-Id: I3ae18bff42b434eb77728a7db70dd3baf6d7e0a6 Signed-off-by: guoyin.chen <guoyin.chen@nxp.com> Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
-rw-r--r--common/image-android.c10
-rw-r--r--drivers/usb/gadget/f_fastboot.c28
2 files changed, 38 insertions, 0 deletions
diff --git a/common/image-android.c b/common/image-android.c
index 0f6de83..a006120 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -97,6 +97,16 @@ int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify,
serialnr.low);
strcat(commandline, newbootargs);
#endif
+
+ /* append soc type into bootargs */
+ char *soc_type = getenv("soc_type");
+ if (soc_type) {
+ sprintf(newbootargs,
+ " androidboot.soc_type=%s",
+ soc_type);
+ strcat(commandline, newbootargs);
+ }
+
int bootdev = get_boot_device();
if (bootdev == SD1_BOOT || bootdev == SD2_BOOT ||
bootdev == SD3_BOOT || bootdev == SD4_BOOT) {
diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c
index 0939234..5280adf 100644
--- a/drivers/usb/gadget/f_fastboot.c
+++ b/drivers/usb/gadget/f_fastboot.c
@@ -33,6 +33,7 @@
#endif
#ifdef CONFIG_FSL_FASTBOOT
+#include <asm/imx-common/sys_proto.h>
#include <fsl_fastboot.h>
#include <mmc.h>
#include <android_image.h>
@@ -1754,6 +1755,33 @@ void board_fastboot_setup(void)
printf("unsupported boot devices\n");
break;
}
+
+ /* add soc type into bootargs */
+ if (is_mx6dqp()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx6qp");
+ } else if (is_mx6dq()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx6q");
+ } else if (is_mx6sdl()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx6dl");
+ } else if (is_mx6sx()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx6sx");
+ } else if (is_mx6sl()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx6sl");
+ } else if (is_mx6ul()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx6ul");
+ } else if (is_mx7()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx7d");
+ } else if (is_mx7ulp()) {
+ if (!getenv("soc_type"))
+ setenv("soc_type", "imx7ulp");
+ }
}
#ifdef CONFIG_ANDROID_RECOVERY