| /* | 
 | * cycx_drv.h	CYCX Support Module.  Kernel API Definitions. | 
 | * | 
 | * Author:	Arnaldo Carvalho de Melo <acme@conectiva.com.br> | 
 | * | 
 | * Copyright:	(c) 1998-2003 Arnaldo Carvalho de Melo | 
 | * | 
 | * Based on sdladrv.h by Gene Kozin <genek@compuserve.com> | 
 | * | 
 | *		This program is free software; you can redistribute it and/or | 
 | *		modify it under the terms of the GNU General Public License | 
 | *		as published by the Free Software Foundation; either version | 
 | *		2 of the License, or (at your option) any later version. | 
 | * ============================================================================ | 
 | * 1999/10/23	acme		cycxhw_t cleanup | 
 | * 1999/01/03	acme		more judicious use of data types... | 
 | *				uclong, ucchar, etc deleted, the u8, u16, u32 | 
 | *				types are the portable way to go. | 
 | * 1999/01/03	acme		judicious use of data types... u16, u32, etc | 
 | * 1998/12/26	acme	 	FIXED_BUFFERS, CONF_OFFSET, | 
 | *                               removal of cy_read{bwl} | 
 | * 1998/08/08	acme	 	Initial version. | 
 | */ | 
 | #ifndef	_CYCX_DRV_H | 
 | #define	_CYCX_DRV_H | 
 |  | 
 | #define	CYCX_WINDOWSIZE	0x4000	/* default dual-port memory window size */ | 
 | #define	GEN_CYCX_INTR	0x02 | 
 | #define	RST_ENABLE	0x04 | 
 | #define	START_CPU	0x06 | 
 | #define	RST_DISABLE	0x08 | 
 | #define	FIXED_BUFFERS	0x08 | 
 | #define	TEST_PATTERN	0xaa55 | 
 | #define	CMD_OFFSET	0x20 | 
 | #define CONF_OFFSET     0x0380 | 
 | #define	RESET_OFFSET	0x3c00	/* For reset file load */ | 
 | #define	DATA_OFFSET	0x0100	/* For code and data files load */ | 
 | #define	START_OFFSET	0x3ff0	/* 80186 starts here */ | 
 |  | 
 | /** | 
 |  *	struct cycx_hw - Adapter hardware configuration | 
 |  *	@fwid - firmware ID | 
 |  *	@irq - interrupt request level | 
 |  *	@dpmbase - dual-port memory base | 
 |  *	@dpmsize - dual-port memory size | 
 |  *	@reserved - reserved for future use | 
 |  */ | 
 | struct cycx_hw { | 
 | 	u32 fwid; | 
 | 	int irq; | 
 | 	void __iomem *dpmbase; | 
 | 	u32 dpmsize; | 
 | 	u32 reserved[5]; | 
 | }; | 
 |  | 
 | /* Function Prototypes */ | 
 | extern int cycx_setup(struct cycx_hw *hw, void *sfm, u32 len, unsigned long base); | 
 | extern int cycx_down(struct cycx_hw *hw); | 
 | extern int cycx_peek(struct cycx_hw *hw, u32 addr, void *buf, u32 len); | 
 | extern int cycx_poke(struct cycx_hw *hw, u32 addr, void *buf, u32 len); | 
 | extern int cycx_exec(void __iomem *addr); | 
 |  | 
 | extern void cycx_intr(struct cycx_hw *hw); | 
 | #endif	/* _CYCX_DRV_H */ |