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 */ 39