Porting MARVELL WIFI-BT (88w8987) to i.MX8MNLPDDR4EVK 

Document created by Gnar Fang Employee on Mar 20, 2020Last modified by Gnar Fang Employee on Mar 21, 2020
Version 3Show Document
  • View in full screen mode

Hardware : i.MX8MNLPDDR4EVK

 

Build Yocto Image [Linux 4.14.98_2.3.1]

  • Yocto Project Setup

         $: mkdir imx-yocto-bsp
         $: cd imx-yocto-bsp      
         $: repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.3.1.xml
         $: repo sync

  •  copy marvell bb.file into yocto source

        $: cp  0001-Porting-mrvl-8987-wifi.patch   imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp

        $: git apply 0001-Porting-mrvl-8987-wifi.patch

  • Image Build

        $: DISTRO=fsl-imx-xwayland MACHINE=imx8mnlpddr4evk source fsl-setup-release.sh -b build-xwayland

        $:bitbake fsl-image-qt5-validation-imx

 

  • Enable wifi and BT (These operations is on EVK)

WiFi

$:insmod /lib/modules/4.14.98-2.3.1+g860ec89/extra/sd8xxx.ko fw_name=/mrvl/sduart8987_combo.bin cal_data_cfg=none cfg80211_wext=0xf
BT
$:hciattach /dev/ttymxc0 any -s 115200 115200 flow dtron
$:hciconfig hci0 reset
$:hcitool -ihci0 cmd 0x3f 0x0009 0xc0 0xc6 0x2d 0x00 &
$:killall hcitool
$:killall hciattach
$:hciattach /dev/ttymxc0 any -s 3000000 3000000 flow dtron

 

Build  Android Image[Android P9_2.3.4]

 

These patches in  Android-2.3.4-patch.

  • Getting i.MX Android release source code

       $: cd ~ (or any other directory you like)
       $: tar xzvf imx-p9.0.0_2.3.4.tar.gz

       $: mkdir ~/bin
       $: curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
       $: chmod a+x ~/bin/repo
       $: export PATH=${PATH}:~/bin
       $: source ~/imx-p9.0.0_2.3.0/imx_android_setup.sh
       # By default, the imx_android_setup.sh script will create the source code build environemnt
       in the folder ~/android_build
       # ${MY_ANDROID} will be refered as the i.MX Android source code root directory in all i.MX
       Andorid release documentation.
       $ : export MY_ANDROID=~/android_build

  • Copy 88W8987 firmware and driver into  Android release code

       $:copy -r Android-2.3.4-patch/mrvl    android_build/vendor/nxp/fsl-proprietary

  •  Apply these patches.The name of these patches is the patche installation path.   

        example:  0001-android_build-hardware-marvell-wlan.patch

        $: cp 0001-android_build-hardware-marvell-wlan.patch   android_build/hardware/marvell/wlan 

          (if not exist android_build/hardware/marvell/wlan, mkdir -p android_build/hardware/marvell/wlan)

        $: git apply 0001-android_build-hardware-marvell-wlan.patch

  •  Building Android images

         $: cd  android_build

         $: source build/envsetup.sh

         $: lunch evk_8mn-userdebug

         $: make 

Outcomes