177cb0f5aSLaurent Vivier /* 277cb0f5aSLaurent Vivier * QEMU ADB support 377cb0f5aSLaurent Vivier * 477cb0f5aSLaurent Vivier * Copyright (c) 2004 Fabrice Bellard 577cb0f5aSLaurent Vivier * 677cb0f5aSLaurent Vivier * Permission is hereby granted, free of charge, to any person obtaining a copy 777cb0f5aSLaurent Vivier * of this software and associated documentation files (the "Software"), to deal 877cb0f5aSLaurent Vivier * in the Software without restriction, including without limitation the rights 977cb0f5aSLaurent Vivier * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 1077cb0f5aSLaurent Vivier * copies of the Software, and to permit persons to whom the Software is 1177cb0f5aSLaurent Vivier * furnished to do so, subject to the following conditions: 1277cb0f5aSLaurent Vivier * 1377cb0f5aSLaurent Vivier * The above copyright notice and this permission notice shall be included in 1477cb0f5aSLaurent Vivier * all copies or substantial portions of the Software. 1577cb0f5aSLaurent Vivier * 1677cb0f5aSLaurent Vivier * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1777cb0f5aSLaurent Vivier * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1877cb0f5aSLaurent Vivier * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1977cb0f5aSLaurent Vivier * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 2077cb0f5aSLaurent Vivier * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 2177cb0f5aSLaurent Vivier * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 2277cb0f5aSLaurent Vivier * THE SOFTWARE. 2377cb0f5aSLaurent Vivier */ 2477cb0f5aSLaurent Vivier 25*f91005e1SMarkus Armbruster #ifndef HW_INPUT_ADB_INTERNAL_H 26*f91005e1SMarkus Armbruster #define HW_INPUT_ADB_INTERNAL_H 27*f91005e1SMarkus Armbruster 2877cb0f5aSLaurent Vivier /* ADB commands */ 2977cb0f5aSLaurent Vivier 3077cb0f5aSLaurent Vivier #define ADB_BUSRESET 0x00 3177cb0f5aSLaurent Vivier #define ADB_FLUSH 0x01 3277cb0f5aSLaurent Vivier #define ADB_WRITEREG 0x08 3377cb0f5aSLaurent Vivier #define ADB_READREG 0x0c 3477cb0f5aSLaurent Vivier 3577cb0f5aSLaurent Vivier /* ADB device commands */ 3677cb0f5aSLaurent Vivier 3777cb0f5aSLaurent Vivier #define ADB_CMD_SELF_TEST 0xff 3877cb0f5aSLaurent Vivier #define ADB_CMD_CHANGE_ID 0xfe 3977cb0f5aSLaurent Vivier #define ADB_CMD_CHANGE_ID_AND_ACT 0xfd 4077cb0f5aSLaurent Vivier #define ADB_CMD_CHANGE_ID_AND_ENABLE 0x00 4177cb0f5aSLaurent Vivier 4277cb0f5aSLaurent Vivier /* ADB default device IDs (upper 4 bits of ADB command byte) */ 4377cb0f5aSLaurent Vivier 4477cb0f5aSLaurent Vivier #define ADB_DEVID_DONGLE 1 4577cb0f5aSLaurent Vivier #define ADB_DEVID_KEYBOARD 2 4677cb0f5aSLaurent Vivier #define ADB_DEVID_MOUSE 3 4777cb0f5aSLaurent Vivier #define ADB_DEVID_TABLET 4 4877cb0f5aSLaurent Vivier #define ADB_DEVID_MODEM 5 4977cb0f5aSLaurent Vivier #define ADB_DEVID_MISC 7 5077cb0f5aSLaurent Vivier 5177cb0f5aSLaurent Vivier extern const VMStateDescription vmstate_adb_device; 5277cb0f5aSLaurent Vivier 53*f91005e1SMarkus Armbruster #endif 54