Porting QCA988X in Linux BSP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Porting QCA988X in Linux BSP

Porting QCA988X in Linux BSP

Harware:
- i.MX7D-SDB board
- QCA9880 card with MINI PCIe Interface

The Wifi module is connected to the PCIe slot on the board.1.png

 

 

Software:
- Ubuntu 18.04 LTS Host
- L4.19.35_1.1.0 BSP

 

Tool:
- uuu 1.2.68 for linux (run on ubuntu host)

 

Toolchain:

- The toolchain can be obtained from the Yocto BSP. Please read and follow the steps in i.MX_Yocto_Project_User's_Guide to build the BSP and then read the Chapter of "How to build U-Boot and Kernel in standalone environment" in i.MX_Linux_User's_Guide to build the toolchain.

 

Build the Kernel:

# mkdir imx_build

# cd imx_build

# git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_4.19.35_1.1.0

# cd linux-imx

# source /opt/fsl-imx-fb/4.19-warrior/imx6/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

# export ARCH=arm
# make clean
# make imx_v7_defconfig
# make menuconfig

- Select the PCIe driver and the Wifi support

2.png

- PCI controller drivers--->
                   DesignWare PCI Core Support---->

3.png

- Networking support----->
                            Wireless----->

4.png

 

- Select the ath10 driver (it supports QCA988X)
Device Drivers---->
            Network device support----->
                                     Wirless LAN---->

5.png

- Save and Exit.

- Add the firmware in the .config file:

  1. Get the firmware file (e.g. firmware-2.bin) from your wifi vendor or download it from the web.
  2. Put the firmware in linux-imx/firmware/ folder.
  3. Edit the .config file and add these two lines:

CONFIG_EXTRA_FIRMWARE="board.bin firmware-2.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/home/jimmy/imx_build/linux-imx/firmware"

- Build the kernel

# make

Then the zImage will be obtained in arch/arm/boot.

 

Using uuu to program the SD card:

- Downloading demo image of L4.19.35_1.10 from the nxp website.

- Copy the zImage to the directory

- Copy the uuu (V1.2.68) to the directory

- Copy the samples/example_kernel_emmc.uuu to imx7d_kernel_emmc.uuu

- Modify the image the imx7d_kernel_emmc.uuu

- In the demo image, you will see the files like this:

6.png

- run uuu and the script to program the images.

 

Wifi driver loaded and wlan0 is up:

# dmesg | grep pci

7.png

 

# ifconfig -a

8.png

 

Reference Document:
- i.MX_Linux_User's_Guide.pdf
- i.MX_Porting_Guide.pdf

 

No ratings
Version history
Last update:
‎10-11-2020 09:22 PM
Updated by: