xref: /openwifi/driver/side_ch/make_driver.sh (revision a415fa7ffb0f8efe1c93a628eb45e7f009bc1877)
122dd0cc4SXianjun Jiao#!/bin/bash
2a6085186SLina Ceballos
3*a415fa7fSJiao Xianjun# Author: Xianjun Jiao, Wei Liu
4*a415fa7fSJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent
5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later
6a6085186SLina Ceballos
722dd0cc4SXianjun Jiaoif [ "$#" -ne 3 ]; then
822dd0cc4SXianjun Jiao    echo "You must enter exactly 3 arguments: \$OPENWIFI_DIR \$XILINX_DIR ARCH_BIT(32 or 64)"
922dd0cc4SXianjun Jiao    exit 1
1022dd0cc4SXianjun Jiaofi
1122dd0cc4SXianjun Jiao
1222dd0cc4SXianjun JiaoOPENWIFI_DIR=$1
1322dd0cc4SXianjun JiaoXILINX_DIR=$2
1422dd0cc4SXianjun JiaoARCH_OPTION=$3
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
2322dd0cc4SXianjun Jiaoif [ -d "$XILINX_DIR/SDK" ]; 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
3722dd0cc4SXianjun Jiaosource $XILINX_DIR/SDK/2018.3/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