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