feat: port MT76 register and EFUSE access

Add the mt76::chip class on top of the USB transport: 32-bit register
read/write via vendor requests, register polling, and EFUSE reads with
the kick/control sequence from transport/mt76.c. Expose chip_id() and
mac_address() (with the 62:45:bd fallback).

Verified on hardware: chip ID 0x7612 (MT7612) and MAC address read
from EFUSE.

Co-Authored-By: qwen3.8-27b@q2_k_xl: ported register and EFUSE layer
This commit is contained in:
portersky
2026-08-17 16:15:56 +02:00
parent c32976b69d
commit ccc5bc819d
6 changed files with 251 additions and 9 deletions
+7
View File
@@ -7,6 +7,13 @@ target_compile_features(test_usb PRIVATE cxx_std_23)
add_test(NAME test_usb COMMAND test_usb)
list(APPEND TEST_TARGETS test_usb)
add_executable(test_mt76 test_mt76.cpp)
target_include_directories(test_mt76 PRIVATE "${CMAKE_SOURCE_DIR}/include")
target_link_libraries(test_mt76 PRIVATE xone_mt76 Unity::Unity)
target_compile_features(test_mt76 PRIVATE cxx_std_23)
add_test(NAME test_mt76 COMMAND test_mt76)
list(APPEND TEST_TARGETS test_mt76)
add_executable(test_version test_version.cpp)
target_include_directories(test_version PRIVATE "${CMAKE_SOURCE_DIR}/include")
target_link_libraries(test_version PRIVATE xone_api Unity::Unity)