From a2fea67d3eb3092f19f250d53a4a27fa1a0c815f Mon Sep 17 00:00:00 2001
From: "guoyin.chen" <guoyin.chen@nxp.com>
Date: Mon, 19 Jun 2017 17:59:42 +0800
Subject: [PATCH] MA-9763 Include init.${ro.hardware}.${ro.boot.soc_type}.rc
 based uboot's soc_type

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>
---
 common/image-android.c          | 10 ++++++++++
 drivers/usb/gadget/f_fastboot.c | 28 ++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/common/image-android.c b/common/image-android.c
index 0f6de83a03..a006120c51 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 0939234bde..5280adf46c 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
-- 
GitLab