rockchip: recoganize boot devtype dynamicly
currently support: emmc and rknand. Change-Id: I8b0e2623256ed3357de2acbee0d2455162228ab5 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
This commit is contained in:
parent
d5bbff804f
commit
3c3675ddd7
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
#ifndef __ASSEMBLY__
|
||||
int setup_boot_mode(void);
|
||||
void devtype_num_envset(void);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -64,14 +64,20 @@ __weak int rockchip_dnl_key_pressed(void)
|
|||
return false;
|
||||
}
|
||||
|
||||
static void devtype_num_envset(void)
|
||||
void devtype_num_envset(void)
|
||||
{
|
||||
static int done = 0;
|
||||
|
||||
if (done)
|
||||
return;
|
||||
|
||||
const char *devtype_num_set =
|
||||
"if mmc dev 0; then setenv devtype mmc; setenv devnum 0;"
|
||||
"else if rknand dev 0; then setenv devtype rknand; setenv devnum 0; fi;"
|
||||
"fi;";
|
||||
|
||||
run_command_list(devtype_num_set, -1, 0);
|
||||
done = 1;
|
||||
}
|
||||
|
||||
void rockchip_dnl_mode_check(void)
|
||||
|
|
|
|||
|
|
@ -148,30 +148,28 @@ err:
|
|||
int get_bootdev_type(void)
|
||||
{
|
||||
int type = 0;
|
||||
char *boot_media = NULL;
|
||||
char *boot_media = NULL, *devtype = NULL;
|
||||
char boot_options[128] = {0};
|
||||
static int appended;
|
||||
|
||||
#ifdef CONFIG_EMMC_BOOT
|
||||
devtype_num_envset();
|
||||
devtype = env_get("devtype");
|
||||
|
||||
if (!strcmp(devtype, "mmc")) {
|
||||
type = IF_TYPE_MMC;
|
||||
boot_media = "emmc";
|
||||
#endif /* CONFIG_EMMC_BOOT */
|
||||
#ifdef CONFIG_QSPI_BOOT
|
||||
type = IF_TYPE_SPI_NAND;
|
||||
boot_media = "nand";
|
||||
#endif /* CONFIG_QSPI_BOOT */
|
||||
#ifdef CONFIG_NAND_BOOT
|
||||
} else if (!strcmp(devtype, "rknand")) {
|
||||
type = IF_TYPE_RKNAND;
|
||||
boot_media = "nand";
|
||||
#endif /* CONFIG_NAND_BOOT */
|
||||
#ifdef CONFIG_NOR_BOOT
|
||||
type = IF_TYPE_SPI_NOR;
|
||||
#endif /* CONFIG_NOR_BOOT */
|
||||
} else {
|
||||
/* Add new to support */
|
||||
}
|
||||
|
||||
/* For current use(Only EMMC support!) */
|
||||
if (!type) {
|
||||
type = IF_TYPE_MMC;
|
||||
boot_media = "emmc";
|
||||
printf("Use emmc as default boot media\n");
|
||||
}
|
||||
|
||||
if (!appended && boot_media) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue