blob: d56b14f517264da97fa4ff588ca3361a3dc24a2f [file] [log] [blame]
/*
* A target board needs to set these variables for the commands below to work:
*
* - adi_stage2_offset, the location of stage2-boot.ldr on the SPI flash
* - adi_image_offset, location of the fitImage on the SPI flash
* - adi_rfs_offset, location of the RFS on the SPI flash
* - loadaddr, where you want to load things
* - jffs2file, name of the jffs2 file for update, ex adsp-sc5xx-tiny-adsp-sc573.jffs2
*/
#ifdef CONFIG_SC59X_64
#define EARLY_PRINTK earlycon=adi_uart,0x31003000
#else
#define EARLY_PRINTK earlyprintk=serial,uart0,CONFIG_BAUDRATE
#endif
/* Config options */
imagefile=fitImage
ethaddr=02:80:ad:20:31:e8
eth1addr=02:80:ad:20:31:e9
uart_console=CONFIG_UART_CONSOLE
#ifdef CONFIG_SC59X_64
fdt_high=0xffffffffffffffff
initrd_high=0xffffffffffffffff
#else
fdt_high=0xffffffff
initrd_high=0xffffffff
#endif
/* Helper routines */
init_ethernet=mii info;
dhcp;
setenv serverip ${tftpserverip}
/* Args for each boot mode */
adi_bootargs=EARLY_PRINTK console=ttySC0,CONFIG_BAUDRATE vmalloc=512M
ramargs=setenv bootargs ${adi_bootargs}
addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off
/* Boot modes are selectable and should be defined in the board env before including */
#if defined(USE_NFS)
// rootpath is set by CONFIG_ROOTPATH
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}${rootpath},tcp,nfsvers=3 ${adi_bootargs}
nfsboot=run init_ethernet;
tftp ${loadaddr} ${tftp_dir_prefix}${imagefile};
run nfsargs;
run addip;
bootm ${loadaddr}
#endif
#if defined(USE_MMC)
mmcargs=setenv bootargs root=/dev/mmcblk0p1 rw rootfstype=ext4 rootwait ${adi_bootargs}
mmcboot=mmc rescan;
ext4load mmc 0:1 ${loadaddr} /boot/${imagefile};
run mmcargs;
bootm ${loadaddr}
#endif
#if defined(USE_SPI) || defined(USE_OSPI)
spiargs=setenv bootargs root=/dev/mtdblock4 rw rootfstype=jffs2 ${adi_bootargs}
spiboot=run spiargs;
sf probe ${sfdev};
sf read ${loadaddr} ${adi_image_offset} ${imagesize};
bootm ${loadaddr}
#endif
#if defined(USE_OSPI)
ospiboot=run spiboot
#endif
#if defined(USE_RAM)
ramboot=run init_ethernet;
tftp ${loadaddr} ${tfpt_dir_prefix}${imagefile};
run ramargs;
bootm ${loadaddr}
#endif
/* Update commands */
stage1file=stage1-boot.ldr
stage2file=stage2-boot.ldr
#if defined(USE_SPI) || defined(USE_OSPI)
update_spi_uboot_stage1=tftp ${loadaddr} ${tftp_dir_prefix}${stage1file};
sf probe ${sfdev};
sf update ${loadaddr} 0x0 ${filesize}
update_spi_uboot_stage2=tftp ${loadaddr} ${tftp_dir_prefix}${stage2file};
sf probe ${sfdev};
sf update ${loadaddr} ${adi_stage2_offset} ${filesize}
update_spi_uboot=run update_spi_uboot_stage1;
run update_spi_uboot_stage2;
update_spi_fit=tftp ${loadaddr} ${tftp_dir_prefix}${imagefile};
sf probe ${sfdev};
sf update ${loadaddr} ${adi_image_offset} ${filesize};
setenv imagesize ${filesize}
update_spi_rfs=tftp ${loadaddr} ${tftp_dir_prefix}${jffs2file};
sf probe ${sfdev};
sf update ${loadaddr} ${adi_rfs_offset} ${filesize}
start_update_spi=run init_ethernet;
run update_spi_uboot;
run update_spi_fit;
run update_spi_rfs;
start_update_spi_uboot_only=run init_ethernet;
run update_spi_uboot;
#endif
#if defined(USE_SPI)
update_spi=setenv sfdev CONFIG_SC_BOOT_SPI_BUS:CONFIG_SC_BOOT_SPI_SSEL;
setenv bootcmd run spiboot;
setenv argscmd spiargs;
run start_update_spi;
saveenv
#endif
#if defined(USE_OSPI)
update_ospi=setenv sfdev CONFIG_SC_BOOT_OSPI_BUS:CONFIG_SC_BOOT_OSPI_SSEL;
setenv bootcmd run ospiboot;
setenv argscmd spiargs;
run start_update_spi;
saveenv
#endif