1febc5adfSXianjun Jiao 2febc5adfSXianjun Jiao#!/bin/bash 3a6085186SLina Ceballos 4f56c9fb1SJiao Xianjun# Author: Xianjun Jiao 5f56c9fb1SJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent 6a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later 7a6085186SLina Ceballos 86a4d7ceaSXianjun Jiao# ATTENTION! You need Vitis, NOT Vitis_HLS, installed 96a4d7ceaSXianjun Jiao 106a4d7ceaSXianjun Jiao# if [ "$#" -ne 1 ]; then 116a4d7ceaSXianjun Jiao# echo "You must enter 1 arguments: ARCH_BIT(32 or 64)" 126a4d7ceaSXianjun Jiao# exit 1 136a4d7ceaSXianjun Jiao# fi 146a4d7ceaSXianjun Jiao 156a4d7ceaSXianjun Jiao# OPENWIFI_DIR=$(pwd)/../ 166a4d7ceaSXianjun Jiao# ARCH_OPTION=$1 176a4d7ceaSXianjun Jiao 186a4d7ceaSXianjun Jiaoif [ "$#" -ne 2 ]; then 196a4d7ceaSXianjun Jiao echo "You must enter 2 arguments: \$XILINX_DIR ARCH_BIT(32 or 64)" 20febc5adfSXianjun Jiao exit 1 21febc5adfSXianjun Jiaofi 22febc5adfSXianjun Jiao 23abdb610fSJiao XianjunOPENWIFI_DIR=$(pwd)/../ 24abdb610fSJiao XianjunXILINX_DIR=$1 25abdb610fSJiao XianjunARCH_OPTION=$2 26febc5adfSXianjun Jiao 27febc5adfSXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then 28febc5adfSXianjun Jiao echo "\$OPENWIFI_DIR is found!" 29febc5adfSXianjun Jiaoelse 30febc5adfSXianjun Jiao echo "\$OPENWIFI_DIR is not correct. Please check!" 31febc5adfSXianjun Jiao exit 1 32febc5adfSXianjun Jiaofi 33febc5adfSXianjun Jiao 346a4d7ceaSXianjun Jiaoif [ -d "$XILINX_DIR/Vitis" ]; then 35febc5adfSXianjun Jiao echo "\$XILINX_DIR is found!" 36febc5adfSXianjun Jiaoelse 37febc5adfSXianjun Jiao echo "\$XILINX_DIR is not correct. Please check!" 38febc5adfSXianjun Jiao exit 1 39febc5adfSXianjun Jiaofi 40febc5adfSXianjun Jiao 41febc5adfSXianjun Jiaoif [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then 42febc5adfSXianjun Jiao echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!" 43febc5adfSXianjun Jiao exit 1 44febc5adfSXianjun Jiaoelse 45febc5adfSXianjun Jiao echo "\$ARCH_OPTION is valid!" 46febc5adfSXianjun Jiaofi 47febc5adfSXianjun Jiao 48febc5adfSXianjun Jiaoif [ "$ARCH_OPTION" == "64" ]; then 49febc5adfSXianjun Jiao LINUX_KERNEL_SRC_DIR_NAME=adi-linux-64 50febc5adfSXianjun Jiao LINUX_KERNEL_CONFIG_FILE=$OPENWIFI_DIR/kernel_boot/kernel_config_zynqmp 51febc5adfSXianjun Jiao ARCH_NAME="arm64" 52febc5adfSXianjun Jiao CROSS_COMPILE_NAME="aarch64-linux-gnu-" 53febc5adfSXianjun Jiao IMAGE_TYPE=Image 54febc5adfSXianjun Jiaoelse 55febc5adfSXianjun Jiao LINUX_KERNEL_SRC_DIR_NAME=adi-linux 56febc5adfSXianjun Jiao LINUX_KERNEL_CONFIG_FILE=$OPENWIFI_DIR/kernel_boot/kernel_config 57febc5adfSXianjun Jiao ARCH_NAME="arm" 58febc5adfSXianjun Jiao CROSS_COMPILE_NAME="arm-linux-gnueabihf-" 59febc5adfSXianjun Jiao IMAGE_TYPE=uImage 60febc5adfSXianjun Jiaofi 61febc5adfSXianjun Jiao 62febc5adfSXianjun Jiaohome_dir=$(pwd) 63febc5adfSXianjun Jiao 64febc5adfSXianjun Jiaoset -x 65febc5adfSXianjun Jiao 66febc5adfSXianjun Jiaocd $OPENWIFI_DIR/ 67febc5adfSXianjun Jiaogit submodule init $LINUX_KERNEL_SRC_DIR_NAME 686a4d7ceaSXianjun Jiaocd $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME 696a4d7ceaSXianjun Jiaogit reset --hard 706a4d7ceaSXianjun Jiaocd $OPENWIFI_DIR/ 71febc5adfSXianjun Jiaogit submodule update $LINUX_KERNEL_SRC_DIR_NAME 72febc5adfSXianjun Jiaocd $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME 7349daf26aSXianjun Jiaogit fetch 746a4d7ceaSXianjun Jiaogit checkout 2021_r1 756a4d7ceaSXianjun Jiaogit pull origin 2021_r1 766a4d7ceaSXianjun Jiaogit reset --hard 2021_r1 7756fcab20SXianjun Jiao 78febc5adfSXianjun Jiaoexport ARCH=$ARCH_NAME 79febc5adfSXianjun Jiaoexport CROSS_COMPILE=$CROSS_COMPILE_NAME 806a4d7ceaSXianjun Jiaosource $XILINX_DIR/Vitis/2021.1/settings64.sh 816a4d7ceaSXianjun Jiao 826a4d7ceaSXianjun Jiao# if [ "$ARCH_OPTION" == "64" ]; then 836a4d7ceaSXianjun Jiao cp $LINUX_KERNEL_CONFIG_FILE ./.config 846a4d7ceaSXianjun Jiao # cp $OPENWIFI_DIR/driver/ad9361/ad9361.c $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME/drivers/iio/adc/ad9361.c -rf 856a4d7ceaSXianjun Jiao # cp $OPENWIFI_DIR/driver/ad9361/ad9361_conv.c $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME/drivers/iio/adc/ad9361_conv.c -rf 866a4d7ceaSXianjun Jiao git apply ../kernel_boot/axi_hdmi_crtc.patch 876a4d7ceaSXianjun Jiao git apply ../kernel_boot/ad9361.patch 886a4d7ceaSXianjun Jiao git apply ../kernel_boot/ad9361_conv.patch 896a4d7ceaSXianjun Jiao# else 906a4d7ceaSXianjun Jiao # make zynq_xcomm_adv7511_defconfig 916a4d7ceaSXianjun Jiao# fi 92febc5adfSXianjun Jiao 93*4443c306SJiao Xianjunmake oldconfig 946a4d7ceaSXianjun Jiao# make adi_zynqmp_defconfig 956a4d7ceaSXianjun Jiaomake prepare && make modules_prepare 96febc5adfSXianjun Jiao 976a4d7ceaSXianjun Jiao# if [ "$#" -gt 2 ]; then 98febc5adfSXianjun Jiaomake -j12 $IMAGE_TYPE UIMAGE_LOADADDR=0x8000 99febc5adfSXianjun Jiaomake modules 100abdb610fSJiao Xianjun# fi 101febc5adfSXianjun Jiao 102febc5adfSXianjun Jiaocd $home_dir 103