SDIO、Marvell、MediaTek 与其它 Transport

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和运行枚举为准。

文章互动

阅读 --

留言

0 条留言

正在加载留言…