130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Definitions for ADB (Apple Desktop Bus) support. 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI__ADB_H 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI__ADB_H 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* ADB commands */ 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_BUSRESET 0 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_FLUSH(id) (0x01 | ((id) << 4)) 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_WRITEREG(id, reg) (0x08 | (reg) | ((id) << 4)) 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_READREG(id, reg) (0x0C | (reg) | ((id) << 4)) 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* ADB default device IDs (upper 4 bits of ADB command byte) */ 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_DONGLE 1 /* "software execution control" devices */ 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_KEYBOARD 2 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_MOUSE 3 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_TABLET 4 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_MODEM 5 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_MISC 7 /* maybe a monitor */ 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_RET_OK 0 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_RET_TIMEOUT 3 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* The kind of ADB request. The controller may emulate some 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng or all of those CUDA/PMU packet kinds */ 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_PACKET 0 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CUDA_PACKET 1 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ERROR_PACKET 2 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIMER_PACKET 3 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define POWER_PACKET 4 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MACIIC_PACKET 5 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PMU_PACKET 6 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_QUERY 7 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* ADB queries */ 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* ADB_QUERY_GETDEVINFO 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Query ADB slot for device presence 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * data[2] = id, rep[0] = orig addr, rep[1] = handler_id 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ADB_QUERY_GETDEVINFO 1 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI__ADB_H */ 45