1 /* 2 * Definitions for ADB (Apple Desktop Bus) support. 3 */ 4 #ifndef __ADB_H 5 #define __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 /* __ADB_H */ 45