1 | /* SPDX-License-Identifier: BSD-3-Clause */ |
2 | |
3 | #ifndef _UAPI_LINUX_VIRTIO_BT_H |
4 | #define _UAPI_LINUX_VIRTIO_BT_H |
5 | |
6 | #include <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 | VIRTIO_BT_CONFIG_TYPE_AMP = 1, |
17 | }; |
18 | |
19 | enum virtio_bt_config_vendor { |
20 | VIRTIO_BT_CONFIG_VENDOR_NONE = 0, |
21 | VIRTIO_BT_CONFIG_VENDOR_ZEPHYR = 1, |
22 | VIRTIO_BT_CONFIG_VENDOR_INTEL = 2, |
23 | VIRTIO_BT_CONFIG_VENDOR_REALTEK = 3, |
24 | }; |
25 | |
26 | struct virtio_bt_config { |
27 | __u8 type; |
28 | __u16 vendor; |
29 | __u16 msft_opcode; |
30 | } __attribute__((packed)); |
31 | |
32 | struct virtio_bt_config_v2 { |
33 | __u8 type; |
34 | __u8 alignment; |
35 | __u16 vendor; |
36 | __u16 msft_opcode; |
37 | }; |
38 | |
39 | #endif /* _UAPI_LINUX_VIRTIO_BT_H */ |
40 | |