SDIO、Marvell、MediaTek 与其它 Transport
1. Generic SDIO
btsdio.c匹配Bluetooth SDIO class:
-enable function;
-claim IRQ;
-读写packet registers;
-创建hci_dev;
-host sleep/wake;
-异常时reset/recovery。
2. Marvell
btmrvl_main.c提供共同HCI逻辑、command和event处理;btmrvl_sdio.c实现:
-firmware helper/request;
-SDIO card ID;
-host interrupt;
-TX aggregation/queue;
-power-save;
-device dump。
WANT_DEV_COREDUMP用于故障现场。
3. MediaTek SDIO
btmtksdio.c管理SDIO IRQ、ring/queue、WMT初始化、firmware和reset。必须与同module的Wi-Fi共存/电源时序匹配。
4. MediaTek UART
btmtkuart.c是独立serdev driver,使用 btmtk helper,不属于通用 hci_uart.o protocol列表。
5. Qualcomm SMD
btqcomsmd.c通过RPMSG/SMD channel与WCNSS通信,不走外部UART/USB,主要用于Qualcomm平台,不适用于RK3588常规板载模块。
6. RSI
btrsi.c把HCI流量交给RSI 91x coexistence模块调度。
7. Virtio
virtio_bt.c向guest暴露虚拟HCI device,virtqueue承载TX/RX。它与VFIO直通物理Bluetooth不是同一机制。
8. VHCI
hci_vhci.c创建 /dev/vhci,用户态可注入/接收HCI包,用于仿真和测试。Defconfig将其内建。
9. Legacy
PCMCIA、BlueFRITZ、BCM203x等文件为旧硬件支持;源码存在不代表RK3588产品使用。
10. RK3588
本 defconfig启用Marvell SDIO,但多数板载combo的Bluetooth仍可能走UART,Wi-Fi才走SDIO/PCIe。总线必须以原理图、DTS和运行枚举为准。
正在加载留言…