xref: /openbmc/qemu/hw/input/adb-internal.h (revision 59c58f96b270f5edd4ad10954c3a96556cb3a728)
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