mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
ARM: uniphier: add sdscript, sdboot, sdupdate environment variables
Add handy macros: - sdscript: source boot.scr in the file system of the SD media - sdboot : boot the kernel using the images in the file system of the SD media - sdscript: update the boot firmware in the SD media (in raw block sectors) Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
8b912fbb8c
commit
ef5c7d6d5c
2 changed files with 34 additions and 4 deletions
|
@ -9,13 +9,14 @@
|
|||
#include <mmc.h>
|
||||
#include <linux/errno.h>
|
||||
|
||||
static int find_first_mmc_device(void)
|
||||
static int find_first_mmc_device(bool is_sd)
|
||||
{
|
||||
struct mmc *mmc;
|
||||
int i;
|
||||
|
||||
for (i = 0; (mmc = find_mmc_device(i)); i++) {
|
||||
if (!mmc_init(mmc) && IS_MMC(mmc))
|
||||
if (!mmc_init(mmc) &&
|
||||
((is_sd && IS_SD(mmc)) || (!is_sd && IS_MMC(mmc))))
|
||||
return i;
|
||||
}
|
||||
|
||||
|
@ -24,14 +25,14 @@ static int find_first_mmc_device(void)
|
|||
|
||||
int mmc_get_env_dev(void)
|
||||
{
|
||||
return find_first_mmc_device();
|
||||
return find_first_mmc_device(false);
|
||||
}
|
||||
|
||||
static int do_mmcsetn(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
int dev;
|
||||
|
||||
dev = find_first_mmc_device();
|
||||
dev = find_first_mmc_device(false);
|
||||
if (dev < 0)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
|
@ -44,3 +45,21 @@ U_BOOT_CMD(
|
|||
"Set the first MMC (not SD) dev number to \"mmc_first_dev\" environment",
|
||||
""
|
||||
);
|
||||
|
||||
static int do_sdsetn(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
int dev;
|
||||
|
||||
dev = find_first_mmc_device(true);
|
||||
if (dev < 0)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
env_set_ulong("sd_first_dev", dev);
|
||||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(
|
||||
sdsetn, 1, 1, do_sdsetn,
|
||||
"Set the first SD dev number to \"sd_first_dev\" environment",
|
||||
""
|
||||
);
|
||||
|
|
|
@ -160,6 +160,7 @@
|
|||
"emmcboot=mmcsetn && run bootcmd_mmc${mmc_first_dev}\0" \
|
||||
"nandboot=run bootcmd_ubifs0\0" \
|
||||
"norboot=run tftpboot\0" \
|
||||
"sdboot=sdsetn && run bootcmd_mmc${sd_first_dev}\0" \
|
||||
"usbboot=run bootcmd_usb0\0" \
|
||||
"emmcscript=setenv devtype mmc && " \
|
||||
"mmcsetn && " \
|
||||
|
@ -170,6 +171,10 @@
|
|||
"ubifsmount ubi0:boot && " \
|
||||
"ubifsload ${loadaddr} ${script} && " \
|
||||
"source $loadaddr\0" \
|
||||
"sdscript=setenv devtype mmc && " \
|
||||
"sdsetn && " \
|
||||
"setenv devnum ${sd_first_dev} && " \
|
||||
"run loadscript_fat\0" \
|
||||
"norscript=echo Running ${script} from tftp ... && " \
|
||||
"tftpboot ${script} &&" \
|
||||
"source $loadaddr\0" \
|
||||
|
@ -196,6 +201,12 @@
|
|||
"nand write $loadaddr 0 0x00020000 && " \
|
||||
"tftpboot $third_image && " \
|
||||
"nand write $loadaddr 0x00020000 0x001e0000\0" \
|
||||
"sdupdate=sdsetn &&" \
|
||||
"mmc dev $sd_first_dev &&" \
|
||||
"tftpboot $second_image && " \
|
||||
"mmc write $loadaddr 0 100 && " \
|
||||
"tftpboot $third_image && " \
|
||||
"mmc write $loadaddr 100 f00\0" \
|
||||
"usbupdate=usb start &&" \
|
||||
"tftpboot $second_image && " \
|
||||
"usb write $loadaddr 0 100 && " \
|
||||
|
|
Loading…
Reference in a new issue