chore: wifi
This commit is contained in:
82
docs/wifi.md
Normal file
82
docs/wifi.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# ROM wifi funcs
|
||||
|
||||
todo:
|
||||
|
||||
- disasm the wifi binary
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant Device
|
||||
participant AP as Access Point
|
||||
participant MAC as MAC Layer
|
||||
participant PHY as PHY Layer
|
||||
|
||||
Note over Device,PHY: Initialization Phase
|
||||
Device->>MAC: ROM_WIFI_InitMacClk
|
||||
Device->>MAC: ROM_WIFI_Init32kClk
|
||||
Device->>MAC: ROM_WIFI_InitLxDma
|
||||
Device->>MAC: ROM_WIFI_INIT_MACADDR_SET
|
||||
Device->>MAC: ROM_WIFI_InitNetworkType
|
||||
Device->>MAC: ROM_WIFI_InitEDCA
|
||||
Device->>PHY: ROM_WIFI_ENABLE_BB_RF
|
||||
|
||||
Note over Device,PHY: Connection Phase
|
||||
Device->>AP: ROM_WIFI_Set_MLME_Sitesurvey
|
||||
AP->>Device: Beacon Frames
|
||||
Device->>MAC: ROM_WIFI_BCN_VALID
|
||||
Device->>MAC: ROM_WIFI_CHECK_BSSID
|
||||
Device->>MAC: ROM_WIFI_Set_MLME_JOIN
|
||||
Device->>MAC: ROM_WIFI_BSSID_SET
|
||||
|
||||
Note over Device,PHY: Operation Phase
|
||||
Device->>MAC: ROM_WIFI_Set_AC_Param
|
||||
MAC->>Device: ROM_WIFI_CHECK_TXBUF
|
||||
Device->>MAC: ROM_WIFI_SET_MAX_AGG_NUM
|
||||
|
||||
Note over Device,PHY: Security Setup
|
||||
Device->>MAC: ROM_WIFI_SEC_CFG
|
||||
Device->>MAC: ROM_WIFI_CAM_WRITE
|
||||
|
||||
Note over Device,PHY: Maintenance
|
||||
Device->>MAC: ROM_WIFI_TSF_GetByPort
|
||||
Device->>MAC: ROM_WIFI_IMR_UPDATE
|
||||
Device->>MAC: ROM_WIFI_High_Queue_Empty_Check
|
||||
|
||||
```
|
||||
|
||||
1. init:
|
||||
|
||||
- sysclock init (`ROM_WIFI_InitMacClk`, `ROM_WIFI_Init32kClk`)
|
||||
- DMA setup (`ROM_WIFI_InitLxDma`)
|
||||
- MAC address config (`ROM_WIFI_INIT_MACADDR_SET`)
|
||||
- Network type setup (`ROM_WIFI_InitNetworkType`)
|
||||
- EDCA params for QoS (`ROM_WIFI_InitEDCA`)
|
||||
- RF/Baseband enable (`ROM_WIFI_ENABLE_BB_RF`)
|
||||
|
||||
2. connect:
|
||||
|
||||
- site survey to find networks (`ROM_WIFI_Set_MLME_Sitesurvey`)
|
||||
- beacon validation (`ROM_WIFI_BCN_VALID`)
|
||||
- BSSID checking (`ROM_WIFI_CHECK_BSSID`)
|
||||
- join request (`ROM_WIFI_Set_MLME_JOIN`)
|
||||
- BSSID setting (`ROM_WIFI_BSSID_SET`)
|
||||
|
||||
3. config:
|
||||
|
||||
- AC (Access Category) param (`ROM_WIFI_Set_AC_Param`)
|
||||
- Buffer management? (`ROM_WIFI_CHECK_TXBUF`)
|
||||
- Aggregation configuration (`ROM_WIFI_SET_MAX_AGG_NUM`)
|
||||
|
||||
4. security:
|
||||
|
||||
- Security configuration (`ROM_WIFI_SEC_CFG`)
|
||||
- CAM (Content Addressable Memory) (`ROM_WIFI_CAM_WRITE`)
|
||||
|
||||
5. maintain:
|
||||
- TSF (Timing Synchronization Function) (`ROM_WIFI_TSF_GetByPort`)
|
||||
- Interrupt mask updates (`ROM_WIFI_IMR_UPDATE`)
|
||||
- Queue monitoring (`ROM_WIFI_High_Queue_Empty_Check`)
|
||||
|
||||
- MU-EDCA (Multi-User EDCA) `ROM_WIFI_AX_MUEDCA_Para`
|
||||
- BSS Coloring `ROM_WIFI_AX_BSS_COLOR_SET`
|
||||
- OFDMA (Orthogonal Frequency Division Multiple Access)
|
||||
Reference in New Issue
Block a user