brintos

brintos / linux-shallow public Read only

0
0
Text · 2.9 KiB · 91778c8 Raw
103 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3* cycx_cfm.h	Cyclom 2X WAN Link Driver.4*		Definitions for the Cyclom 2X Firmware Module (CFM).5*6* Author:	Arnaldo Carvalho de Melo <acme@conectiva.com.br>7*8* Copyright:	(c) 1998-2003 Arnaldo Carvalho de Melo9*10* Based on sdlasfm.h by Gene Kozin <74604.152@compuserve.com>11*12*		This program is free software; you can redistribute it and/or13*		modify it under the terms of the GNU General Public License14*		as published by the Free Software Foundation; either version15*		2 of the License, or (at your option) any later version.16* ============================================================================17* 1998/08/08	acme		Initial version.18*/19#ifndef	_CYCX_CFM_H20#define	_CYCX_CFM_H21 22/* Defines */23 24#define	CFM_VERSION	225#define	CFM_SIGNATURE	"CFM - Cyclades CYCX Firmware Module"26 27/* min/max */28#define	CFM_IMAGE_SIZE	0x20000	/* max size of CYCX code image file */29#define	CFM_DESCR_LEN	256	/* max length of description string */30#define	CFM_MAX_CYCX	1	/* max number of compatible adapters */31#define	CFM_LOAD_BUFSZ	0x400	/* buffer size for reset code (buffer_load) */32 33/* Firmware Commands */34#define GEN_POWER_ON	0x128035 36#define GEN_SET_SEG	0x1401	/* boot segment setting. */37#define GEN_BOOT_DAT	0x1402	/* boot data. */38#define GEN_START	0x1403	/* board start. */39#define GEN_DEFPAR	0x1404	/* buffer length for boot. */40 41/* Adapter Types */42#define CYCX_2X		243/* for now only the 2X is supported, no plans to support 8X or 16X */44#define CYCX_8X		845#define CYCX_16X	1646 47#define	CFID_X25_2X	520048 49/**50 *	struct cycx_fw_info - firmware module information.51 *	@codeid - firmware ID52 *	@version - firmware version number53 *	@adapter - compatible adapter types54 *	@memsize - minimum memory size55 *	@reserved - reserved56 *	@startoffs - entry point offset57 *	@winoffs - dual-port memory window offset58 *	@codeoffs - code load offset59 *	@codesize - code size60 *	@dataoffs - configuration data load offset61 *	@datasize - configuration data size62 */63struct cycx_fw_info {64	unsigned short	codeid;65	unsigned short	version;66	unsigned short	adapter[CFM_MAX_CYCX];67	unsigned long	memsize;68	unsigned short	reserved[2];69	unsigned short	startoffs;70	unsigned short	winoffs;71	unsigned short	codeoffs;72	unsigned long	codesize;73	unsigned short	dataoffs;74	unsigned long	datasize;75};76 77/**78 *	struct cycx_firmware - CYCX firmware file structure79 *	@signature - CFM file signature80 *	@version - file format version81 *	@checksum - info + image82 *	@reserved - reserved83 *	@descr - description string84 *	@info - firmware module info85 *	@image - code image (variable size)86 */87struct cycx_firmware {88	char		    signature[80];89	unsigned short	    version;90	unsigned short	    checksum;91	unsigned short	    reserved[6];92	char		    descr[CFM_DESCR_LEN];93	struct cycx_fw_info info;94	unsigned char	    image[];95};96 97struct cycx_fw_header {98	unsigned long  reset_size;99	unsigned long  data_size;100	unsigned long  code_size;101};102#endif	/* _CYCX_CFM_H */103