xref: /openbmc/linux/arch/m68k/include/asm/adb_iop.h (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
249148020SSam Ravnborg /*
349148020SSam Ravnborg  * ADB through the IOP
449148020SSam Ravnborg  * Written by Joshua M. Thompson
549148020SSam Ravnborg  */
649148020SSam Ravnborg 
749148020SSam Ravnborg /* IOP number and channel number for ADB */
849148020SSam Ravnborg 
949148020SSam Ravnborg #define ADB_IOP		IOP_NUM_ISM
1049148020SSam Ravnborg #define ADB_CHAN	2
1149148020SSam Ravnborg 
1249148020SSam Ravnborg /* From the A/UX headers...maybe important, maybe not */
1349148020SSam Ravnborg 
1449148020SSam Ravnborg #define ADB_IOP_LISTEN	0x01
1549148020SSam Ravnborg #define ADB_IOP_TALK	0x02
1649148020SSam Ravnborg #define ADB_IOP_EXISTS	0x04
1749148020SSam Ravnborg #define ADB_IOP_FLUSH	0x08
1849148020SSam Ravnborg #define ADB_IOP_RESET	0x10
1949148020SSam Ravnborg #define ADB_IOP_INT	0x20
2049148020SSam Ravnborg #define ADB_IOP_POLL	0x40
2149148020SSam Ravnborg #define ADB_IOP_UNINT	0x80
2249148020SSam Ravnborg 
2349148020SSam Ravnborg #define AIF_RESET	0x00
2449148020SSam Ravnborg #define AIF_FLUSH	0x01
2549148020SSam Ravnborg #define AIF_LISTEN	0x08
2649148020SSam Ravnborg #define AIF_TALK	0x0C
2749148020SSam Ravnborg 
2849148020SSam Ravnborg /* Flag bits in struct adb_iopmsg */
2949148020SSam Ravnborg 
3049148020SSam Ravnborg #define ADB_IOP_EXPLICIT	0x80	/* nonzero if explicit command */
3149148020SSam Ravnborg #define ADB_IOP_AUTOPOLL	0x40	/* auto/SRQ polling enabled    */
32*c66da95aSFinn Thain #define ADB_IOP_SET_AUTOPOLL	0x20	/* set autopoll device list    */
3349148020SSam Ravnborg #define ADB_IOP_SRQ		0x04	/* SRQ detected                */
3449148020SSam Ravnborg #define ADB_IOP_TIMEOUT		0x02	/* nonzero if timeout          */
3549148020SSam Ravnborg 
3649148020SSam Ravnborg #ifndef __ASSEMBLY__
3749148020SSam Ravnborg 
3849148020SSam Ravnborg struct adb_iopmsg {
3949148020SSam Ravnborg 	__u8 flags;		/* ADB flags         */
4049148020SSam Ravnborg 	__u8 count;		/* no. of data bytes */
4149148020SSam Ravnborg 	__u8 cmd;		/* ADB command       */
4249148020SSam Ravnborg 	__u8 data[8];		/* ADB data          */
4349148020SSam Ravnborg 	__u8 spare[21];		/* spare             */
4449148020SSam Ravnborg };
4549148020SSam Ravnborg 
4649148020SSam Ravnborg #endif /* __ASSEMBLY__ */
47