mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-12 14:23:00 +00:00
134 lines
4.5 KiB
Bash
134 lines
4.5 KiB
Bash
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
||
|
|
||
|
/*
|
||
|
* Copyright (C) 2017 Armadeus Systems
|
||
|
*/
|
||
|
|
||
|
/* Environment is stored in the eMMC boot partition */
|
||
|
|
||
|
env_version=100
|
||
|
consoledev=ttymxc0
|
||
|
board_name=opos6ul
|
||
|
fdt_addr=0x88000000
|
||
|
fdt_high=0xffffffff
|
||
|
fdt_name=opos6uldev
|
||
|
initrd_high=0xffffffff
|
||
|
ip_dyn=yes
|
||
|
stdin=serial
|
||
|
stdout=serial
|
||
|
stderr=serial
|
||
|
mmcdev=0
|
||
|
mmcpart=2
|
||
|
mmcroot=/dev/mmcblk0p2 ro
|
||
|
mmcrootfstype=ext4 rootwait
|
||
|
kernelimg=opos6ul-linux.bin
|
||
|
splashpos=0,0
|
||
|
splashimage=CONFIG_SYS_LOAD_ADDR
|
||
|
videomode=video=ctfb:x:800,y:480,depth:18,pclk:33033,le:96,ri:96,up:20,lo:21,hs:64,vs:4,sync:0,vmode:0
|
||
|
check_env=if test -n ${flash_env_version};
|
||
|
then env default env_version;
|
||
|
else env set flash_env_version ${env_version}; env save;
|
||
|
fi;
|
||
|
if itest ${flash_env_version} != ${env_version}; then
|
||
|
echo "*** Warning - Environment version
|
||
|
change suggests: run flash_reset_env; reset";
|
||
|
env default flash_reset_env;
|
||
|
else exit; fi;
|
||
|
flash_reset_env=env default -f -a && saveenv &&
|
||
|
echo Environment variables erased!
|
||
|
download_uboot_spl=tftpboot ${loadaddr} ${board_name}-u-boot.spl
|
||
|
flash_uboot_spl=
|
||
|
if mmc dev 0 1; then
|
||
|
setexpr sz ${filesize} / 0x200;
|
||
|
setexpr sz ${sz} + 1;
|
||
|
if mmc write ${loadaddr} 0x2 ${sz}; then
|
||
|
echo Flashing of U-boot SPL succeed;
|
||
|
else echo Flashing of U-boot SPL failed;
|
||
|
fi;
|
||
|
fi;
|
||
|
download_uboot_img=tftpboot ${loadaddr} ${board_name}-u-boot.img
|
||
|
flash_uboot_img=
|
||
|
if mmc dev 0 1; then
|
||
|
setexpr sz ${filesize} / 0x200;
|
||
|
setexpr sz ${sz} + 1;
|
||
|
if mmc write ${loadaddr} 0x8a ${sz}; then
|
||
|
echo Flashing of U-boot image succeed;
|
||
|
else echo Flashing of U-boot image failed;
|
||
|
fi;
|
||
|
fi;
|
||
|
update_uboot=run download_uboot_spl flash_uboot_spl
|
||
|
download_uboot_img flash_uboot_img
|
||
|
download_kernel=tftpboot ${loadaddr} ${kernelimg}
|
||
|
flash_kernel=
|
||
|
if ext4write mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${kernelimg} ${filesize}; then
|
||
|
echo kernel update succeed;
|
||
|
else echo kernel update failed;
|
||
|
fi;
|
||
|
update_kernel=run download_kernel flash_kernel
|
||
|
download_dtb=tftpboot ${fdt_addr} imx6ul-${fdt_name}.dtb
|
||
|
flash_dtb=
|
||
|
if ext4write mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/imx6ul-${fdt_name}.dtb ${filesize}; then
|
||
|
echo dtb update succeed;
|
||
|
else echo dtb update in failed;
|
||
|
fi;
|
||
|
update_dtb=run download_dtb flash_dtb
|
||
|
download_rootfs=tftpboot ${loadaddr} ${board_name}-rootfs.ext4
|
||
|
flash_rootfs=
|
||
|
if mmc dev 0 0; then
|
||
|
setexpr nbblocks ${filesize} / 0x200;
|
||
|
setexpr nbblocks ${nbblocks} + 1;
|
||
|
if mmc write ${loadaddr} 0x40800 ${nbblocks}; then
|
||
|
echo Flashing of rootfs image succeed;
|
||
|
else echo Flashing of rootfs image failed;
|
||
|
fi;
|
||
|
fi;
|
||
|
update_rootfs=run download_rootfs flash_rootfs
|
||
|
flash_failsafe=
|
||
|
if mmc dev 0 0; then
|
||
|
setexpr nbblocks ${filesize} / 0x200;
|
||
|
setexpr nbblocks ${nbblocks} + 1;
|
||
|
if mmc write ${loadaddr} 0x800 ${nbblocks}; then
|
||
|
echo Flashing of rootfs image in failsafe partition succeed;
|
||
|
else echo Flashing of rootfs image in failsafe partition failed;
|
||
|
fi;
|
||
|
fi;
|
||
|
update_failsafe=run download_rootfs flash_failsafe
|
||
|
download_userdata=tftpboot ${loadaddr} ${board_name}-user_data.ext4
|
||
|
flash_userdata=
|
||
|
if mmc dev 0 0; then
|
||
|
setexpr nbblocks ${filesize} / 0x200;
|
||
|
setexpr nbblocks ${nbblocks} + 1;
|
||
|
if mmc write ${loadaddr} 0 ${nbblocks}; then
|
||
|
echo Flashing of user_data image succeed;
|
||
|
else echo Flashing of user_data image failed;
|
||
|
fi;
|
||
|
fi;
|
||
|
update_userdata=run download_userdata flash_userdata; mmc rescan
|
||
|
erase_userdata=
|
||
|
if mmc dev 0 0; then
|
||
|
echo Erasing eMMC User Data partition, no way out...;
|
||
|
mw ${loadaddr} 0 0x200000;
|
||
|
mmc write ${loadaddr} 0 0x1000;
|
||
|
mmc write ${loadaddr} 0x800 0x1000;
|
||
|
mmc write ${loadaddr} 0x40800 0x1000;
|
||
|
mmc write ${loadaddr} 0x440800 0x1000;
|
||
|
fi;
|
||
|
mmc rescan
|
||
|
update_all=run update_rootfs update_uboot
|
||
|
initargs=setenv bootargs console=${consoledev},${baudrate} ${extrabootargs}
|
||
|
addipargs=setenv bootargs ${bootargs}
|
||
|
ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off
|
||
|
addmmcargs=setenv bootargs ${bootargs} root=${mmcroot}
|
||
|
rootfstype=${mmcrootfstype}
|
||
|
emmcboot=run initargs; run addmmcargs;
|
||
|
load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${kernelimg} &&
|
||
|
load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/imx6ul-${fdt_name}.dtb &&
|
||
|
bootz ${loadaddr} - ${fdt_addr};
|
||
|
emmcsafeboot=setenv mmcpart 1; setenv mmcroot /dev/mmcblk0p1 ro; run emmcboot;
|
||
|
addnfsargs=setenv bootargs ${bootargs} root=/dev/nfs rw
|
||
|
nfsroot=${serverip}:${rootpath}
|
||
|
nfsboot=run initargs; run addnfsargs addipargs;
|
||
|
nfs ${loadaddr} ${serverip}:${rootpath}/boot/${kernelimg} &&
|
||
|
nfs ${fdt_addr} ${serverip}:${rootpath}/boot/imx6ul-${fdt_name}.dtb &&
|
||
|
bootz ${loadaddr} - ${fdt_addr};
|