mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 04:53:42 +00:00
3709b52915
All K3 SoCs use same set of args to load kernel for MMC. So move this to common place to avoid duplication. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com> Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
76 lines
2 KiB
Bash
76 lines
2 KiB
Bash
mmcdev=0
|
|
mmcrootfstype=ext4 rootwait
|
|
finduuid=part uuid ${boot} ${bootpart} uuid
|
|
args_mmc=run finduuid;setenv bootargs console=${console}
|
|
${optargs}
|
|
root=PARTUUID=${uuid} rw
|
|
rootfstype=${mmcrootfstype}
|
|
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
|
|
bootscript=echo Running bootscript from mmc${mmcdev} ...;
|
|
source ${loadaddr}
|
|
bootenvfile=uEnv.txt
|
|
importbootenv=echo Importing environment from mmc${mmcdev} ...;
|
|
env import -t ${loadaddr} ${filesize}
|
|
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
|
|
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
|
|
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
|
|
get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${name_fdt}
|
|
envboot=mmc dev ${mmcdev};
|
|
if mmc rescan; then
|
|
echo SD/MMC found on device ${mmcdev};
|
|
if run loadbootscript; then
|
|
run bootscript;
|
|
else
|
|
if run loadbootenv; then
|
|
echo Loaded env from ${bootenvfile};
|
|
run importbootenv;
|
|
fi;
|
|
if test -n $uenvcmd; then
|
|
echo Running uenvcmd ...;
|
|
run uenvcmd;
|
|
fi;
|
|
fi;
|
|
fi;
|
|
mmcloados=
|
|
if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
|
|
if run get_fdt_mmc; then
|
|
bootz ${loadaddr} - ${fdtaddr};
|
|
else
|
|
if test ${boot_fdt} = try; then
|
|
bootz;
|
|
else
|
|
echo WARN: Cannot load the DT;
|
|
fi;
|
|
fi;
|
|
else
|
|
bootz;
|
|
fi;
|
|
mmcboot=mmc dev ${mmcdev};
|
|
devnum=${mmcdev};
|
|
devtype=mmc;
|
|
if mmc rescan; then
|
|
echo SD/MMC found on device ${mmcdev};
|
|
if run loadimage; then
|
|
run args_mmc;
|
|
if test ${boot_fit} -eq 1; then
|
|
run run_fit;
|
|
else
|
|
run mmcloados;
|
|
fi;
|
|
fi;
|
|
fi;
|
|
|
|
init_mmc=run args_all args_mmc
|
|
get_overlay_mmc=
|
|
fdt address ${fdtaddr};
|
|
fdt resize 0x100000;
|
|
for overlay in $name_overlays;
|
|
do;
|
|
load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay} &&
|
|
fdt apply ${dtboaddr};
|
|
done;
|
|
get_kern_mmc=load mmc ${bootpart} ${loadaddr}
|
|
${bootdir}/${name_kern}
|
|
get_fit_mmc=load mmc ${bootpart} ${addr_fit}
|
|
${bootdir}/${name_fit}
|
|
partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
|