xref: /openwifi/user_space/boot_bin_gen.sh (revision 6ffca2ac8f2eba95591c1471d78f21f17dc419ce)
1b73660adSXianjun Jiao#!/bin/bash
2a6085186SLina Ceballos
3596ef126SJiao Xianjun# Author: Xianjun Jiao
4596ef126SJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent
5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later
6a6085186SLina Ceballos
7b73660adSXianjun Jiaoif [ "$#" -ne 3 ]; then
8*6ffca2acSXianjun Jiao    echo "You must enter exactly 3 arguments: \$XILINX_DIR \$BOARD_NAME DIR_TO_system_top.xsa"
9b73660adSXianjun Jiao    exit 1
10b73660adSXianjun Jiaofi
11b73660adSXianjun Jiao
12*6ffca2acSXianjun JiaoXILINX_DIR=$1
13*6ffca2acSXianjun JiaoBOARD_NAME=$2
14*6ffca2acSXianjun JiaoXSA_FILE=$3
15b73660adSXianjun Jiao
16abdb610fSJiao XianjunOPENWIFI_DIR=$(pwd)/../
17abdb610fSJiao Xianjun
18abdb610fSJiao Xianjunecho OPENWIFI_DIR $OPENWIFI_DIR
19*6ffca2acSXianjun Jiaoecho XSA_FILE $XSA_FILE
20abdb610fSJiao Xianjun
21b73660adSXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then
22b73660adSXianjun Jiao    echo "\$OPENWIFI_DIR is found!"
23b73660adSXianjun Jiaoelse
24b73660adSXianjun Jiao    echo "\$OPENWIFI_DIR is not correct. Please check!"
25b73660adSXianjun Jiao    exit 1
26b73660adSXianjun Jiaofi
27b73660adSXianjun Jiao
28*6ffca2acSXianjun Jiaoif [ -d "$XILINX_DIR/Vitis" ]; then
29b73660adSXianjun Jiao    echo "\$XILINX_DIR is found!"
30b73660adSXianjun Jiaoelse
31b73660adSXianjun Jiao    echo "\$XILINX_DIR is not correct. Please check!"
32b73660adSXianjun Jiao    exit 1
33b73660adSXianjun Jiaofi
34b73660adSXianjun Jiao
35*6ffca2acSXianjun Jiao# if [ "$BOARD_NAME" != "antsdr" ] && [ "$BOARD_NAME" != "zc706_fmcs2" ] && [ "$BOARD_NAME" != "zc702_fmcs2" ] && [ "$BOARD_NAME" != "zed_fmcs2" ] && [ "$BOARD_NAME" != "adrv9361z7035" ] && [ "$BOARD_NAME" != "adrv9364z7020" ]; then
36*6ffca2acSXianjun Jiao#     echo "\$BOARD_NAME is not correct. Please check!"
37*6ffca2acSXianjun Jiao#     exit 1
38*6ffca2acSXianjun Jiao# else
39*6ffca2acSXianjun Jiao#     echo "\$BOARD_NAME is found!"
40*6ffca2acSXianjun Jiao# fi
41b73660adSXianjun Jiao
42*6ffca2acSXianjun Jiaoif [ -f "$XSA_FILE" ]; then
43*6ffca2acSXianjun Jiao    echo "\$XSA_FILE is found!"
44abdb610fSJiao Xianjunelse
45*6ffca2acSXianjun Jiao    echo "\$XSA_FILE is not found. Please check!"
46abdb610fSJiao Xianjun    exit 1
47abdb610fSJiao Xianjunfi
48abdb610fSJiao Xianjun
49b73660adSXianjun Jiaohome_dir=$(pwd)
50b73660adSXianjun Jiao
51b73660adSXianjun Jiaoset -ex
52b73660adSXianjun Jiao
53*6ffca2acSXianjun Jiaosource $XILINX_DIR/Vitis/2021.1/settings64.sh
5494847d80SXianjun Jiao
55b73660adSXianjun Jiaocd $OPENWIFI_DIR/kernel_boot
56b73660adSXianjun Jiao
57*6ffca2acSXianjun Jiaoif [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then
58*6ffca2acSXianjun Jiao  ./build_zynqmp_boot_bin.sh $XSA_FILE boards/$BOARD_NAME/u-boot_xilinx_zynqmp_zcu102_revA.elf boards/$BOARD_NAME/bl31.elf
59*6ffca2acSXianjun Jiaoelif [ "$BOARD_NAME" == "antsdr" ] || [ "$BOARD_NAME" == "zc706_fmcs2" ] || [ "$BOARD_NAME" == "zc702_fmcs2" ] || [ "$BOARD_NAME" == "zed_fmcs2" ] || [ "$BOARD_NAME" == "adrv9361z7035" ] || [ "$BOARD_NAME" == "adrv9364z7020" ]; then
60*6ffca2acSXianjun Jiao  ./build_boot_bin.sh $XSA_FILE boards/$BOARD_NAME/u-boot.elf
61*6ffca2acSXianjun Jiaoelse
62*6ffca2acSXianjun Jiao  echo "\$BOARD_NAME is not correct. Please check!"
63*6ffca2acSXianjun Jiao  cd $home_dir
64*6ffca2acSXianjun Jiao  exit 1
65*6ffca2acSXianjun Jiaofi
66*6ffca2acSXianjun Jiao
67*6ffca2acSXianjun Jiaorm -rf build_boot_bin
68*6ffca2acSXianjun Jiaorm -rf boards/$BOARD_NAME/output_boot_bin
69*6ffca2acSXianjun Jiaomv output_boot_bin boards/$BOARD_NAME/
70b73660adSXianjun Jiao
71b73660adSXianjun Jiaocd $home_dir
72