1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | /* |
3 | * Definitions for ADB (Apple Desktop Bus) support. |
4 | */ |
5 | #ifndef _UAPI__ADB_H |
6 | #define _UAPI__ADB_H |
7 | |
8 | /* ADB commands */ |
9 | #define ADB_BUSRESET 0 |
10 | #define ADB_FLUSH(id) (0x01 | ((id) << 4)) |
11 | #define ADB_WRITEREG(id, reg) (0x08 | (reg) | ((id) << 4)) |
12 | #define ADB_READREG(id, reg) (0x0C | (reg) | ((id) << 4)) |
13 | |
14 | /* ADB default device IDs (upper 4 bits of ADB command byte) */ |
15 | #define ADB_DONGLE 1 /* "software execution control" devices */ |
16 | #define ADB_KEYBOARD 2 |
17 | #define ADB_MOUSE 3 |
18 | #define ADB_TABLET 4 |
19 | #define ADB_MODEM 5 |
20 | #define ADB_MISC 7 /* maybe a monitor */ |
21 | |
22 | #define ADB_RET_OK 0 |
23 | #define ADB_RET_TIMEOUT 3 |
24 | |
25 | /* The kind of ADB request. The controller may emulate some |
26 | or all of those CUDA/PMU packet kinds */ |
27 | #define ADB_PACKET 0 |
28 | #define CUDA_PACKET 1 |
29 | #define ERROR_PACKET 2 |
30 | #define TIMER_PACKET 3 |
31 | #define POWER_PACKET 4 |
32 | #define MACIIC_PACKET 5 |
33 | #define PMU_PACKET 6 |
34 | #define ADB_QUERY 7 |
35 | |
36 | /* ADB queries */ |
37 | |
38 | /* ADB_QUERY_GETDEVINFO |
39 | * Query ADB slot for device presence |
40 | * data[2] = id, rep[0] = orig addr, rep[1] = handler_id |
41 | */ |
42 | #define ADB_QUERY_GETDEVINFO 1 |
43 | |
44 | |
45 | #endif /* _UAPI__ADB_H */ |
46 | |