diff options
-rw-r--r-- | common/image-android.c | 10 | ||||
-rw-r--r-- | drivers/usb/gadget/f_fastboot.c | 28 |
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 |