bflb: share the wifi4 firmware headers between BL60x and BL808
BL60x and BL808 (BL606P) embed the same wifi4 MAC IP and run builds of the same MAC firmware, so move the host interface headers from include/bouffalolab/bl60x/wifi to include/bouffalolab/common/wifi4 and make them cover the BL808 firmware blob as well.
Struct layouts follow the BL808 blob’s debug info. The BL602 blob uses the same layouts: the SDK headers the BL60x set was taken from are stale for mm_sta_add_req, mm_connection_loss_ind, mm_chan_ctxt_update_req, scan_start_req, mac_scan_result, mac_sec_key, me_sta_add_cfm and wifi_ap_parm_t, as checked against the message sizes and field offsets in the BL602 blob. sm_connect_tlv_desc id is a 1-byte enum in both blobs.
The remaining BL602 firmware differences are guarded by CONFIG_SOC_SERIES_BL60X: the extra message ids (internal power save off, CSA, AP channel switch and SM auth start), which shift the following ids, the vif_index of mm_sta_del_req/cfm, and the IPC shared environment layout (two TX descriptors, no TX payload buffers).
lmac_types.h is dropped: the headers use the standard integer types directly.
Signed-off-by: William Markezana william.markezana@gmail.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Introduction
The hal_bouffalolab is a set of register definitions for Bouffalo Lab SoC’s. The HAL is organized following the directory structure detailed below.
Directory Structure
The directory is composed by eight parts:
zephyr).How to submit code
Any contribution should follow the
How to submit codeusing as premisses the Zephyr Contribution Guidelines. For more information about External Modules see Modules Section in special Submitting Changes to ModulesRepository specific guidelines
find * type f -print0 | xargs -0 dos2unix -kshould be enough.hal_bouffalolabinstead on the ZephyrRTOS project.The above are general guidelines and exceptions could happen. In this case, the exception should be addressed at review phase.
The standard API
The BouffaloLab standard API define all information to access the SoC’s peripherals. This library does not have namespaces and prefixes which easily results in name collision with ZephyrRTOS core and libraries. To avoid that situation, macros, enum values and function names should follow two general rules:
bflb_.BFLB_.