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 14enum virtio_bt_config_type { 15 VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0, 16 VIRTIO_BT_CONFIG_TYPE_AMP = 1, 17}; 18 19enum 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 26struct virtio_bt_config { 27 __u8 type; 28 __u16 vendor; 29 __u16 msft_opcode; 30} __attribute__((packed)); 31 32struct 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