master
h 38 lines 936 Bytes
Raw
1 /* SPDX-License-Identifier: BSD-3-Clause */
2
3 #ifndef _LINUX_VIRTIO_BT_H
4 #define _LINUX_VIRTIO_BT_H
5
6 #include "standard-headers/linux/virtio_types.h"
7
8 /* Feature bits */
9 #define VIRTIO_BT_F_VND_HCI 0 /* Indicates vendor command support */
10 #define VIRTIO_BT_F_MSFT_EXT 1 /* Indicates MSFT vendor support */
11 #define VIRTIO_BT_F_AOSP_EXT 2 /* Indicates AOSP vendor support */
12 #define VIRTIO_BT_F_CONFIG_V2 3 /* Use second version configuration */
13
14 enum virtio_bt_config_type {
15 VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0,
16 };
17
18 enum virtio_bt_config_vendor {
19 VIRTIO_BT_CONFIG_VENDOR_NONE = 0,
20 VIRTIO_BT_CONFIG_VENDOR_ZEPHYR = 1,
21 VIRTIO_BT_CONFIG_VENDOR_INTEL = 2,
22 VIRTIO_BT_CONFIG_VENDOR_REALTEK = 3,
23 };
24
25 struct virtio_bt_config {
26 uint8_t type;
27 uint16_t vendor;
28 uint16_t msft_opcode;
29 } QEMU_PACKED;
30
31 struct virtio_bt_config_v2 {
32 uint8_t type;
33 uint8_t alignment;
34 uint16_t vendor;
35 uint16_t msft_opcode;
36 };
37
38 #endif /* _LINUX_VIRTIO_BT_H */