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