IW416 drivers, HALs and porting guide for Android 13

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IW416 drivers, HALs and porting guide for Android 13

跳至解决方案
1,625 次查看
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...

标记 (2)
0 项奖励
1 解答
1,533 次查看
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.

在原帖中查看解决方案

3 回复数
1,601 次查看
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 项奖励
1,559 次查看
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?

1,534 次查看
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.