xref: /openwifi/driver/xilinx_dma/make_xilinx_dma.sh (revision abdb610f56e6ff7bc54e8ad29637bde718951d91)
1#!/bin/bash
2
3# Author: Xianjun Jiao
4# SPDX-FileCopyrightText: 2019 UGent
5# SPDX-License-Identifier: AGPL-3.0-or-later
6
7if [ "$#" -ne 2 ]; then
8    echo "You must enter exactly 2 arguments: \$XILINX_DIR \$ARCH(32 or 64)"
9    exit 1
10fi
11
12WORKDIR=$PWD
13OPENWIFI_DIR=$(pwd)/../../
14XILINX_DIR=$1
15ARCH_OPTION=$2
16
17set -x
18
19if [ -f "$OPENWIFI_DIR/LICENSE" ]; then
20    echo "\$OPENWIFI_DIR is found!"
21else
22    echo "\$OPENWIFI_DIR is not correct. Please check!"
23    exit 1
24fi
25
26if [ -d "$XILINX_DIR/SDK" ]; then
27    echo "\$XILINX_DIR is found!"
28else
29    echo "\$XILINX_DIR is not correct. Please check!"
30    exit 1
31fi
32
33if [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
34    echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
35    exit 1
36else
37    echo "\$ARCH_OPTION is valid!"
38fi
39
40source $XILINX_DIR/SDK/2018.3/settings64.sh
41if [ "$ARCH_OPTION" == "64" ]; then
42    KDIR=$OPENWIFI_DIR/adi-linux-64/
43    export ARCH=arm64
44    export CROSS_COMPILE=aarch64-linux-gnu-
45else
46    KDIR=$OPENWIFI_DIR/adi-linux/
47    export ARCH=arm
48    export CROSS_COMPILE=arm-linux-gnueabihf-
49fi
50
51SUBMODULE=xilinx_dma
52
53cp $KDIR/drivers/dma/xilinx/xilinx_dma.c $KDIR/drivers/dma/xilinx/xilinx_dma.c.bak
54cp xilinx_dma.c $KDIR/drivers/dma/xilinx -rf
55cd $KDIR
56make $KDIR/drivers/dma/xilinx/$SUBMODULE.ko
57cp $KDIR/drivers/dma/xilinx/$SUBMODULE.ko $WORKDIR -rf
58# cp $KDIR/drivers/dma/xilinx/xilinx_dma.c.bak $KDIR/drivers/dma/xilinx/xilinx_dma.c
59cd $WORKDIR
60ls $SUBMODULE.ko
61