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 8*6a4d7ceaSXianjun Jiao# ATTENTION! You need Vitis, NOT Vitis_HLS, installed 9*6a4d7ceaSXianjun Jiao 10*6a4d7ceaSXianjun Jiao# if [ "$#" -ne 1 ]; then 11*6a4d7ceaSXianjun Jiao# echo "You must enter 1 arguments: ARCH_BIT(32 or 64)" 12*6a4d7ceaSXianjun Jiao# exit 1 13*6a4d7ceaSXianjun Jiao# fi 14*6a4d7ceaSXianjun Jiao 15*6a4d7ceaSXianjun Jiao# OPENWIFI_DIR=$(pwd)/../ 16*6a4d7ceaSXianjun Jiao# ARCH_OPTION=$1 17*6a4d7ceaSXianjun Jiao 18*6a4d7ceaSXianjun Jiaoif [ "$#" -ne 2 ]; then 19*6a4d7ceaSXianjun 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 34*6a4d7ceaSXianjun 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 68*6a4d7ceaSXianjun Jiaocd $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME 69*6a4d7ceaSXianjun Jiaogit reset --hard 70*6a4d7ceaSXianjun Jiaocd $OPENWIFI_DIR/ 71febc5adfSXianjun Jiaogit submodule update $LINUX_KERNEL_SRC_DIR_NAME 72febc5adfSXianjun Jiaocd $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME 73*6a4d7ceaSXianjun Jiaogit fetch origin 2021_r1 74*6a4d7ceaSXianjun Jiaogit checkout 2021_r1 75*6a4d7ceaSXianjun Jiaogit pull origin 2021_r1 76*6a4d7ceaSXianjun Jiaogit reset --hard 2021_r1 7756fcab20SXianjun Jiao 78febc5adfSXianjun Jiaoexport ARCH=$ARCH_NAME 79febc5adfSXianjun Jiaoexport CROSS_COMPILE=$CROSS_COMPILE_NAME 80*6a4d7ceaSXianjun Jiaosource $XILINX_DIR/Vitis/2021.1/settings64.sh 81*6a4d7ceaSXianjun Jiao 82*6a4d7ceaSXianjun Jiao# if [ "$ARCH_OPTION" == "64" ]; then 83*6a4d7ceaSXianjun Jiao cp $LINUX_KERNEL_CONFIG_FILE ./.config 84*6a4d7ceaSXianjun Jiao # cp $OPENWIFI_DIR/driver/ad9361/ad9361.c $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME/drivers/iio/adc/ad9361.c -rf 85*6a4d7ceaSXianjun Jiao # cp $OPENWIFI_DIR/driver/ad9361/ad9361_conv.c $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME/drivers/iio/adc/ad9361_conv.c -rf 86*6a4d7ceaSXianjun Jiao git apply ../kernel_boot/axi_hdmi_crtc.patch 87*6a4d7ceaSXianjun Jiao git apply ../kernel_boot/ad9361.patch 88*6a4d7ceaSXianjun Jiao git apply ../kernel_boot/ad9361_conv.patch 89*6a4d7ceaSXianjun Jiao# else 90*6a4d7ceaSXianjun Jiao # make zynq_xcomm_adv7511_defconfig 91*6a4d7ceaSXianjun Jiao# fi 92febc5adfSXianjun Jiao 93febc5adfSXianjun Jiaomake oldconfig && make prepare && make modules_prepare 94*6a4d7ceaSXianjun Jiao# make adi_zynqmp_defconfig 95*6a4d7ceaSXianjun Jiaomake prepare && make modules_prepare 96febc5adfSXianjun Jiao 97*6a4d7ceaSXianjun 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