net:wireless:Support eswin usb wifi ECR6600U
[platform/kernel/linux-starfive.git] / drivers / net / wireless / eswin / README.md
1 ## **Wifi host driver编译指南**
2
3 ## Wifi host driver框架
4
5 Wifi host driver文件目录如下所示;
6
7 - ├── ble_netconfig
8 - ├── compile_test.sh
9 - ├── ecrnx_bfmer.c
10 - ├── ecrnx_bfmer.h
11 - ├── ecrnx_cfgfile.c
12 - ├── ecrnx_cfgfile.h
13 - ├── ecrnx_cmds.c
14 - ├── ecrnx_cmds.h
15 - ├── ecrnx_compat.h
16 - ├── ecrnx_debugfs.c
17 - ├── ecrnx_debugfs.h
18 - ├── ecrnx_events.h
19 - ├── ecrnx_fw_dump.c
20 - ├── ecrnx_fw_trace.c
21 - ├── ecrnx_fw_trace.h
22 - ├── ecrnx_iwpriv.c
23 - ├── ecrnx_mod_params.c
24 - ├── ecrnx_mod_params.h
25 - ├── ecrnx_msg_rx.c
26 - ├── ecrnx_msg_rx.h
27 - ├── ecrnx_msg_tx.c
28 - ├── ecrnx_msg_tx.h
29 - ├── ecrnx_mu_group.c
30 - ├── ecrnx_mu_group.h
31 - ├── ecrnx_platform.c
32 - ├── ecrnx_platform.h
33 - ├── ecrnx_prof.h
34 - ├── ecrnx_radar.c
35 - ├── ecrnx_radar.h
36 - ├── ecrnx_strs.c
37 - ├── ecrnx_strs.h
38 - ├── ecrnx_testmode.c
39 - ├── ecrnx_testmode.h
40 - ├── ecrnx_txq.c
41 - ├── ecrnx_txq.h
42 - ├── ecrnx_utils.c
43 - ├── ecrnx_utils.h
44 - ├── ecrnx_version.h
45 - ├── eswin_port
46 - ├── feature_config
47 - ├── fullmac
48 - ├── fw_head_check.c
49 - ├── fw_head_check.h
50 - ├── hal_desc.c
51 - ├── hal_desc.h
52 - ├── ipc_compat.h
53 - ├── ipc_host.c
54 - ├── ipc_host.h
55 - ├── ipc_shared.h
56 - ├── lmac_mac.h
57 - ├── lmac_msg.h
58 - ├── lmac_types.h
59 - ├── Makefile
60 - ├── reg_access.h
61 - ├── reg_ipc_app.h
62 - ├── sdio
63 - ├── softmac
64 - └── usb
65
66
67 Wifi host driver 主要目录结构说明如下表所示;
68
69 | **文件路径** | **说明**                          |
70 | ------------ | :-------------------------------- |
71 | eswin_port   | Host Driver相关的适配接口         |
72 | fullmac      | fullmac模式下相关的配置文件和源码 |
73 | softmac      | softmac模式下相关的配置文件和源码 |
74 | sdio         | sdio相关的驱动文件                |
75 | usb          | usb相关的驱动文件                 |
76
77 ## **Wifi host driver 编译参数说明**
78
79 ​     6600U host driver 目前时有两个参数可选,描述如下:
80
81 ​     product:product 参数分为 6600 和 6600u,用来区分芯片平台,默认为 6600;
82
83 ​     os:os 参数为 ceva,意思为是否使用 ceva 的 os,该参数只针对 6600 有效,6600u 不需要 os 参数;默认为不使用 ceva os;
84
85 ## **6600(SDIO)透传版本编译指令**
86
87 ​    slave 使用 6600 iot 仓库的 6600 透传版本时,host driver 编译命令如下:
88
89 ​    sudo make os=true(或者 sudo make product=6600 os=true)
90
91 ​    slave 使用 6600U 合仓仓库的 develop 分支时,host driver 的编译命令如下:
92
93 ​    sudo make(或者 sudo make product=6600)
94
95 ​    sdio 版本 host driver ko 加载时,如果需要下载固件的话,则要带下载固件和固件名称的参数(默认不下载固件), 如下所示:
96
97 ​    sudo insmod wlan_ecr6600.ko dl_fw=1 fw_name="transport.bin"
98
99
100
101 ## **6600U(USB)透传版本编译指令**
102
103 ​    6600U slave 侧统一使用 6600U 仓库下的 6600U 透传版本,host driver 编译命令如下:
104
105 ​    sudo make product=6600u (不需要带 os 参数,6600U 默认带 CEVA_OS)
106
107 ​    6600U host ko 加载命令如下所示:
108
109 ​    sudo insmod wlan_ecr6600u_usb.ko(6600U host ko 加载时默认会下载固件,默认加载固件名称为:ECR6600U_transport.bin,如果不需要固件下载则使用 dl_fw=0, 如果要自定义下载固件名称则使用:fw_name="filename.bin" );
110
111 ## cfg文件使用说明
112
113 将 wifi_ecr6600u.cfg 拷贝到 /lib/firmware 路径下,修改 cfg 文件里的参数值,即可修改 host 和 slave 的相关参数,修改完成后重新卸载、加载 ko 即可生效;目前可支持的参数如下:
114
115 DRIVER_LOG_LEVEL=3  //host driver log 等级,取值范围为 0-5
116
117 FW_LOG_LEVEL=2  //slave log 等级,取值范围为 0-4
118
119 FW_LOG_TYPE=0  // slave log 输出方式, 0 为通过 slave 端串口输出;1 为通过 host debugfs 保存; 2 为通过 host 侧文件保存;