IW416 drivers, HALs and porting guide for Android 13

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

IW416 drivers, HALs and porting guide for Android 13

Jump to solution
2,819 Views
Rex_Ho
Contributor I

Hi, support team:

  We are cooking a project with WiFi 4/BT 5 connectivity, after search NXP website and contact the module vendor, the hardware specification of IW416 (MAYA-W1 module) is suitable for our project, and now the problem we meet is, the platform is Android 13 on rockchip application processor, I refer to the link below:

https://www.nxp.com/products/wireless/wi-fi-plus-bluetooth-plus-802-15-4:WIFI-BLUETOOTH?SAMLart=ST-A...

the supported platform does not include Android, and after see another link:

https://community.nxp.com/t5/Wireless-Connectivity/88W8997-driver-package-for-Android-12-and-porting...

seems that I can follow the steps to port the necessary components to Android, I gather each component as below:

1. Firmware for WiFi/BT (https://github.com/nxp/imx-firmware);

  Find out the firmware “sdiouartiw416_combo_v0.bin” (at imx-firmware/nxp/FwImage_IW416_SD/)

2. Drivers for WiFi/BT (https://github.com/nxp-imx/mwifiex);

  "CANNOT" find out BT driver (muart_src/ “for Android”), only WiFi driver (wlan_src/) in it.

3. WiFi Vendor HAL (https://github.com/nxp-imx-android/android-imx_platform_hardware_nxp_wlan)

4. BT vendor HAL  (https://github.com/nxp-imx-android/android-imx_platform_hardware_nxp_libbt)

 

The document, Android Vendor HAL v009 Integration Guide indicates that the Vendor HAL is independent of Wireless chipset and platform, so I suppose both the above 3 and 4 are OK; is the above thought correct (IW416 can be port to Android)? If yes, the rest problem is BT driver for Android, where can we get the BT driver for Android? Is the BT driver in the package in common use for Android? (https://www.nxp.com/webapp/sps/download/license.jsp?colCode=PCIE-WLAN-UART_BT_9098_U16_X86_MXM5X1731...

Tags (2)
0 Kudos
Reply
1 Solution
2,727 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Rex_Ho 

Hope you are doing well.

For Android and Linux we use BT_HCIUART as the HCI UART driver, because the it is built default in kernel, you don't need to build hci_uart again.

You can check it in drivers/Bluetooth/Kconfig or "make menuconfig" command when you build kernel.

 

Best regards,

Christine.

View solution in original post

3 Replies
2,795 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Rex_Ho 

Yes, IW416 support Android platform.

For Android platform, you can refer to this UM to porting.

Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running Android 13 OS – User man...

From the Figure 7. Bluetooth layer interface, we can see that there is no special Bluetooth Driver for Android.

For vendor HAL, it is not limited to special chip, it should be common for all chips which support Android platform.

Please refer above User Manual to porting your project.

 

Best regards,

Christine.

0 Kudos
Reply
2,753 Views
Rex_Ho
Contributor I

Hi, @Christine_Li :

    Thanks your reply and from the Figure 7 of the document Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running Android 13 OS – User man...

, the bluetooth driver is "hci_uart" and between HAL and NXP Firmware; I also read the document, Android Vendor HAL v009 Integration Guide , the page 9 has a link to download the driver release package (PCIE-WLAN-UART-BT-9098-U16-X86-17.68.1.p109.5-17.26.1.p109.5-MXM5X17312.P6_V0V1-MGPL), it includes the bt driver for W9098 (UART-U16-X86-17.26.1.p109-2.2-M3X14100-GPL-src/muart_src) after untar.

I have some questions about it, which "hci_uart" package should be used for porting IW416 module? Is the released package of Android 13 or the modified package by NXP? Does IW416 has the similar driver package as W9098's?

2,728 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Rex_Ho 

Hope you are doing well.

For Android and Linux we use BT_HCIUART as the HCI UART driver, because the it is built default in kernel, you don't need to build hci_uart again.

You can check it in drivers/Bluetooth/Kconfig or "make menuconfig" command when you build kernel.

 

Best regards,

Christine.