diff --git a/common/image-android.c b/common/image-android.c index 0f6de83a03f0df668d3f91f5fec74aad77aefc41..a006120c5143efc7a2c87f3e2858327d163ee43b 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 0939234bde650cc706aa2c93f8c9d4ef25cbc05d..5280adf46c3627783740d70a6155cc90acdc3868 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