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