1 /*
2  * Copyright (c) 2024, sakumisu
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef USB_AOA_H
7 #define USB_AOA_H
8 
9 //AOA 1.0
10 #define AOA_ACCESSORY_VENDOR_ID      0x18D1
11 #define AOA_ACCESSORY_PRODUCT_ID     0x2D00
12 #define AOA_ACCESSORY_ADB_PRODUCT_ID 0x2D01
13 
14 //AOA 2.0
15 #define AOA_AUDIO_PRODUCT_ID               0x2D02
16 #define AOA_AUDIO_ADB_PRODUCT_ID           0x2D03
17 #define AOA_ACCESSORY_AUDIO_PRODUCT_ID     0x2D04
18 #define AOA_ACCESSORY_AUDIO_ADB_PRODUCT_ID 0x2D05
19 
20 //AOA 1.0
21 #define AOA_ACCESSORY_GET_PROTOCOL 51
22 #define AOA_ACCESSORY_SEND_STRING  52
23 #define AOA_ACCESSORY_START        53
24 
25 //AOA 2.0
26 #define AOA_ACCESSORY_REGISTER_HID        54
27 #define AOA_ACCESSORY_UNREGISTER_HID      55
28 #define AOA_ACCESSORY_SET_HID_REPORT_DESC 56
29 #define AOA_ACCESSORY_SEND_HID_EVENT      57
30 #define AOA_ACCESSORY_SET_AUDIO_MODE      58
31 
32 #define AOA_ACCESSORY_STRING_MANUFACTURER 0
33 #define AOA_ACCESSORY_STRING_MODEL        1
34 #define AOA_ACCESSORY_STRING_DESCRIPTION  2
35 #define AOA_ACCESSORY_STRING_VERSION      3
36 #define AOA_ACCESSORY_STRING_URI          4
37 #define AOA_ACCESSORY_STRING_SERIAL       5
38 
39 struct aoa_string_info {
40     char acc_manufacturer[64];
41     char acc_model[64];
42     char acc_description[64];
43     char acc_version[64];
44     char acc_uri[64];
45     char acc_serial[64];
46 };
47 
48 #endif /* USB_AOA_H */