Files
u-boot/board/BuR/zynq/env/brcp1.env
Bernhard Messerklinger 8e25e76fff board/BuR/zynq: initial commit
This commit adds support for the brcp1, brsmarc2, brcp150 and brcp170
boards. This boards are based on the Xilinx Zynq SoC.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20250404072819.69642-5-bernhard.messerklinger@br-automation.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-04-16 15:39:48 +02:00

110 lines
2.6 KiB
Bash

autoload=0
b_break=0
fpgastatus=disabled
/* Memory variable */
scradr=0xC0000
fdtbackaddr=0x4000000
loadaddr=CONFIG_SYS_LOAD_ADDR
/* PREBOOT */
preboot=run setupaddr_spi; run brdefaultip; run cfgscr; setenv bootstart 1
/* SPI layout variables */
cfg_addr=
fdt get value cfgaddr_spi /binman/blob-ext@0 offset &&
fdt get value cfgsize_spi /binman/blob-ext@0 size
fpga_addr=
fdt get value fpgaaddr_spi /binman/blob-ext@1 offset &&
fdt get value fpgasize_spi /binman/blob-ext@1 size
os_addr=
fdt get value osaddr_spi /binman/blob-ext@2 offset &&
fdt get value ossize_spi /binman/blob-ext@2 size
dtb_addr=
fdt get value dtbaddr_spi /binman/blob-ext@3 offset &&
fdt get value dtbsize_spi /binman/blob-ext@3 size
setupaddr_spi=
fdt addr ${fdtcontroladdr};
run dtb_addr; run os_addr;
run fpga_addr; run cfg_addr
/* IP setup */
brdefaultip=
if test -r ${ipaddr}; then;
else
setenv ipaddr 192.168.60.1; setenv serverip 192.168.60.254;
setenv gatewayip 192.168.60.254; setenv netmask 255.255.255.0;
fi
/* Boot orders */
b_tgts_std=mmc0 mmc1 spi usb0 usb1 net
b_tgts_rcy=spi usb0 usb1 net
b_tgts_pme=net usb0 usb1 mmc spi
/* Boot targets */
b_mmc0=
run fpga; mmc dev 0; load mmc 0 ${loadaddr} arimg.itb &&
run vxargs && bootm ${loadaddr}
b_mmc1=
run fpga; mmc dev 0; load mmc 0 ${loadaddr} arimg &&
run vxargs &&
sf read ${fdtbackaddr} ${dtbaddr_spi} ${dtbsize_spi} &&
fdt addr ${fdtbackaddr} &&
bootm ${loadaddr} - ${fdtbackaddr}
b_spi=
run fpga; sf read ${loadaddr} ${osaddr_spi} ${ossize_spi} &&
run vxargs && bootm ${loadaddr}
b_net=run fpga; tftp ${scradr} netscript.img && source ${scradr}
b_usb0=usb start && load usb 0 ${scradr} usbscript.img && source ${scradr}
b_usb1=usb start && load usb 0 ${scradr} bootscr.img && source ${scradr}
/* FPGA setup */
fpga=
setenv fpgastatus disabled;
sf read ${loadaddr} ${fpgaaddr_spi} ${fpgasize_spi} &&
fpga loadb 0 ${loadaddr} ${fpgasize_spi} &&
setenv fpgastatus okay
/* Configuration preboot*/
cfgscr=
sf probe &&
sf read ${scradr} ${cfgaddr_spi} ${cfgsize_spi} &&
source ${scradr}
/* OS Boot */
fdt_fixup=
run cfgscr; run vxfdt
vxargs=
setenv bootargs gem(0,0)host:vxWorks h=${serverip}
e=${ipaddr}:${netmask} g=${gatewayip} u=vxWorksFTP pw=vxWorks f=0x1
vxfdt=
fdt set /fpga/pci status ${fpgastatus};
fdt set /fpga status ${fpgastatus}
/* Boot code */
b_default=
run b_deftgts;
for target in ${b_tgts}; do
run b_${target};
if test ${b_break} = 1; then;
exit;
fi;
done
b_deftgts=
if test ${b_mode} = 12; then
setenv b_tgts ${b_tgts_pme};
elif test ${b_mode} = 0; then
setenv b_tgts ${b_tgts_rcy};
else
setenv b_tgts ${b_tgts_std};
fi