Broadcom、Realtek、Intel、QCA 与 MediaTek 支持
1. Helper层
btbcm、btrtl、btintel、btqca、btmtk封装厂商命令、版本解析、firmware下载和quirks,由USB/UART/SDIO transport调用。
2. Broadcom
-读取local name/version;
-设置地址;
-patchram firmware;
-UART clock/baud;
-shutdown/device-wake/host-wake;
-32.768kHz clock。
BT_HCIBTUSB_BCM默认随BTUSB启用;UART BCM需单独Kconfig。
3. Realtek
-根据LMP subversion、HCI revision、ROM version和USB product匹配chip info;
-加载firmware和config;
-解析project ID;
-下载fragment;
-设置quirks。
USB RTL默认选中;UART RTL依赖serdev/TTY port和H5。
4. Intel
-识别legacy/new generation;
-读取secure boot参数;
-加载.sfi/.ddc;
-firmware download event状态机;
-boot到operational firmware;
-telemetry/coredump。
BTUSB无条件select BT_INTEL,但不表示机器存在Intel设备。
5. QCA
-Rome/Cherokee/WCN等版本;
-加载 rampatch和NVM;
-UART IBS;
-regulator/clock;
-baud切换;
-soc type quirks。
USB QCA也可能由btusb路径处理。
6. MediaTek
btmtk共同helper服务 btusb(需相应选项)、btmtksdio和btmtkuart,处理WMT命令、firmware和reset。
7. Address
设备地址可能来自controller OTP、firmware config、NVMEM或用户态。缺失时HCI Core可能标记 invalid address;不要在多个产品烧录同一静态地址。
8. Firmware命名
文件名常由运行时版本构造。应从 request_firmware错误日志确认准确路径,不根据营销芯片名猜测。
9. RK3588板卡
wifi_chip_type = "ap6275p"等平台字符串提示某些板型采用Broadcom/Infineon combo,但实际蓝牙transport和初始化还取决于UART/rfkill及用户态attach配置;不能仅凭该Wi-Fi字符串断言具体BT芯片revision。
正在加载留言…