Loading...
/*
 * 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