Skip to content

Commit 4458c13

Browse files
author
SimonQian
committed
[wifi/aic8800d] add initial AIC8800D80 FullMAC WiFi dongle support
- Add USB host class driver for AIC8800D (VID A69C / 2357 / 2604), supporting both boot-loader PID (A69C:8D80/8D81) and runtime PIDs after firmware upload. - Add chip driver with Linux-compatible firmware upload flow: system_config, firmware block write, patch_config, rf_config, start_app, and LMAC init (MM_SET_STACK_START/MAC/RESET/VERSION/ ME_CONFIG/ME_CHAN_CONFIG/MM_ADD_IF/MM_SET_FILTER). - Match AIC8800D Linux driver lmac_msg.h message IDs and the message-based register read/write protocol. - Add runtime PID skip so that the second-stage enumerated device (e.g. 2357:014B) bypasses firmware loading and runs init directly.
1 parent 136c066 commit 4458c13

12 files changed

Lines changed: 22748 additions & 91 deletions

source/component/usb/host/class/aic8800d/vsf_usbh_wifi_aic8800d.c

Lines changed: 454 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*****************************************************************************
2+
* Copyright(C)2009-2022 by VSF Team *
3+
* *
4+
* Licensed under the Apache License, Version 2.0 (the "License"); *
5+
* you may not use this file except in compliance with the License. *
6+
* *
7+
* You may obtain a copy of the License at *
8+
* *
9+
* http://www.apache.org/licenses/LICENSE-2.0 *
10+
* *
11+
* Unless required by applicable law or agreed to in writing, software *
12+
* distributed under the License is distributed on an "AS IS" BASIS, *
13+
* either express or implied. See the License for the specific language *
14+
* governing permissions and limitations under the License. *
15+
* *
16+
****************************************************************************/
17+
18+
#ifndef __VSF_USBH_WIFI_AIC8800D_H__
19+
#define __VSF_USBH_WIFI_AIC8800D_H__
20+
21+
/*============================ INCLUDES ======================================*/
22+
23+
#include "component/usb/vsf_usb_cfg.h"
24+
25+
#if VSF_USE_USB_HOST == ENABLED && VSF_USBH_USE_AIC8800D == ENABLED && VSF_USE_WIFI == ENABLED
26+
27+
#include "../../vsf_usbh.h"
28+
29+
#ifdef __cplusplus
30+
extern "C" {
31+
#endif
32+
33+
/*============================ GLOBAL VARIABLES ==============================*/
34+
35+
extern const vk_usbh_class_drv_t vk_usbh_wifi_aic8800d_drv;
36+
37+
#ifdef __cplusplus
38+
}
39+
#endif
40+
41+
#endif /* VSF_USE_USB_HOST && VSF_USBH_USE_AIC8800D && VSF_USE_WIFI */
42+
#endif /* __VSF_USBH_WIFI_AIC8800D_H__ */

source/component/usb/host/vsf_usbh.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,9 @@ extern usb_endpoint_desc_t * vk_usbh_get_next_ep_descriptor(
665665
#if VSF_USBH_USE_MT76 == ENABLED
666666
# include "./class/mt76/vsf_usbh_wifi_mt76.h"
667667
#endif
668+
#if VSF_USBH_USE_AIC8800D == ENABLED
669+
# include "./class/aic8800d/vsf_usbh_wifi_aic8800d.h"
670+
#endif
668671
#if VSF_USBH_USE_BTHCI == ENABLED
669672
# include "./class/BTHCI/vsf_usbh_BTHCI.h"
670673
#endif

0 commit comments

Comments
 (0)