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 */ 45