xref: /openwifi/driver/side_ch/make_driver.sh (revision eb6347176cb94c7c9400e6ef244f57bb19016988)
122dd0cc4SXianjun Jiao#!/bin/bash
2a6085186SLina Ceballos
3a415fa7fSJiao Xianjun# Author: Xianjun Jiao, Wei Liu
4a415fa7fSJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent
5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later
6a6085186SLina Ceballos
7abdb610fSJiao Xianjunif [ "$#" -ne 2 ]; then
8abdb610fSJiao Xianjun    echo "You must enter exactly 2 arguments: \$XILINX_DIR ARCH_BIT(32 or 64)"
922dd0cc4SXianjun Jiao    exit 1
1022dd0cc4SXianjun Jiaofi
1122dd0cc4SXianjun Jiao
12abdb610fSJiao XianjunOPENWIFI_DIR=$(pwd)/../../
13abdb610fSJiao XianjunXILINX_DIR=$1
14abdb610fSJiao XianjunARCH_OPTION=$2
1522dd0cc4SXianjun Jiao
1622dd0cc4SXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then
1722dd0cc4SXianjun Jiao    echo "\$OPENWIFI_DIR is found!"
1822dd0cc4SXianjun Jiaoelse
1922dd0cc4SXianjun Jiao    echo "\$OPENWIFI_DIR is not correct. Please check!"
2022dd0cc4SXianjun Jiao    exit 1
2122dd0cc4SXianjun Jiaofi
2222dd0cc4SXianjun Jiao
23*eb634717SXianjun Jiaoif [ -d "$XILINX_DIR/Vitis" ]; then
2422dd0cc4SXianjun Jiao    echo "\$XILINX_DIR is found!"
2522dd0cc4SXianjun Jiaoelse
2622dd0cc4SXianjun Jiao    echo "\$XILINX_DIR is not correct. Please check!"
2722dd0cc4SXianjun Jiao    exit 1
2822dd0cc4SXianjun Jiaofi
2922dd0cc4SXianjun Jiao
3022dd0cc4SXianjun Jiaoif [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
3122dd0cc4SXianjun Jiao    echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
3222dd0cc4SXianjun Jiao    exit 1
3322dd0cc4SXianjun Jiaoelse
3422dd0cc4SXianjun Jiao    echo "\$ARCH_OPTION is valid!"
3522dd0cc4SXianjun Jiaofi
3622dd0cc4SXianjun Jiao
37*eb634717SXianjun Jiaosource $XILINX_DIR/Vitis/2021.1/settings64.sh
3822dd0cc4SXianjun Jiaoif [ "$ARCH_OPTION" == "64" ]; then
3922dd0cc4SXianjun Jiao    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux-64/
4022dd0cc4SXianjun Jiao    ARCH="arm64"
4122dd0cc4SXianjun Jiao    CROSS_COMPILE="aarch64-linux-gnu-"
4222dd0cc4SXianjun Jiaoelse
4322dd0cc4SXianjun Jiao    LINUX_KERNEL_SRC_DIR=$OPENWIFI_DIR/adi-linux/
4422dd0cc4SXianjun Jiao    ARCH="arm"
4522dd0cc4SXianjun Jiao    CROSS_COMPILE="arm-linux-gnueabihf-"
4622dd0cc4SXianjun Jiaofi
4722dd0cc4SXianjun Jiao
4822dd0cc4SXianjun Jiao# check if user entered the right path to analog device linux
4922dd0cc4SXianjun Jiaoif [ -d "$LINUX_KERNEL_SRC_DIR" ]; then
5022dd0cc4SXianjun Jiao    echo " setup linux kernel path ${LINUX_KERNEL_SRC_DIR}"
5122dd0cc4SXianjun Jiaoelse
5222dd0cc4SXianjun Jiao    echo "Error: path to adi linux: ${LINUX_KERNEL_SRC_DIR} not found. Can not continue."
5322dd0cc4SXianjun Jiao    exit 1
5422dd0cc4SXianjun Jiaofi
5522dd0cc4SXianjun Jiao
5622dd0cc4SXianjun Jiaoset -x
5722dd0cc4SXianjun Jiao
5822dd0cc4SXianjun Jiaohome_dir=$(pwd)
5922dd0cc4SXianjun Jiao
6022dd0cc4SXianjun Jiaocd $OPENWIFI_DIR/driver/side_ch
6122dd0cc4SXianjun Jiaomake KDIR=$LINUX_KERNEL_SRC_DIR ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE
6222dd0cc4SXianjun Jiao
6322dd0cc4SXianjun Jiaocd $home_dir
64