aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/cycx_cfm.h
blob: 9d9d6e386cc61d7e95c6e40de53ca206b5963df6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 
/* 
* cycx_cfm.h	Cyclom 2X WAN Link Driver. 
*		Definitions for the Cyclom 2X Firmware Module (CFM). 
* 
* Author:	Arnaldo Carvalho de Melo <acme@conectiva.com.br> 
* 
* Copyright:	(c) 1998-2003 Arnaldo Carvalho de Melo 
* 
* Based on sdlasfm.h by Gene Kozin <74604.152@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. 
* ============================================================================ 
* 1998/08/08	acme		Initial version. 
*/ 
#ifndef	_CYCX_CFM_H 
#define	_CYCX_CFM_H 
 
/* Defines */ 
 
#define	CFM_VERSION	2 
#define	CFM_SIGNATURE	"CFM - Cyclades CYCX Firmware Module" 
 
/* min/max */ 
#define	CFM_IMAGE_SIZE	0x20000	/* max size of CYCX code image file */ 
#define	CFM_DESCR_LEN	256	/* max length of description string */ 
#define	CFM_MAX_CYCX	1	/* max number of compatible adapters */ 
#define	CFM_LOAD_BUFSZ	0x400	/* buffer size for reset code (buffer_load) */ 
 
/* Firmware Commands */ 
#define GEN_POWER_ON	0x1280 
 
#define GEN_SET_SEG	0x1401	/* boot segment setting. */ 
#define GEN_BOOT_DAT	0x1402	/* boot data. */ 
#define GEN_START	0x1403	/* board start. */ 
#define GEN_DEFPAR	0x1404	/* buffer length for boot. */ 
 
/* Adapter Types */ 
#define CYCX_2X		2 
/* for now only the 2X is supported, no plans to support 8X or 16X */ 
#define CYCX_8X		8 
#define CYCX_16X	16 
 
#define	CFID_X25_2X	5200 
 
/** 
 *	struct cycx_fw_info - firmware module information. 
 *	@codeid - firmware ID 
 *	@version - firmware version number 
 *	@adapter - compatible adapter types 
 *	@memsize - minimum memory size 
 *	@reserved - reserved 
 *	@startoffs - entry point offset 
 *	@winoffs - dual-port memory window offset 
 *	@codeoffs - code load offset 
 *	@codesize - code size 
 *	@dataoffs - configuration data load offset 
 *	@datasize - configuration data size 
 */ 
struct cycx_fw_info { 
	unsigned short	codeid; 
	unsigned short	version; 
	unsigned short	adapter[CFM_MAX_CYCX]; 
	unsigned long	memsize; 
	unsigned short	reserved[2]; 
	unsigned short	startoffs; 
	unsigned short	winoffs; 
	unsigned short	codeoffs; 
	unsigned long	codesize; 
	unsigned short	dataoffs; 
	unsigned long	datasize; 
}; 
 
/** 
 *	struct cycx_firmware - CYCX firmware file structure 
 *	@signature - CFM file signature 
 *	@version - file format version 
 *	@checksum - info + image 
 *	@reserved - reserved 
 *	@descr - description string 
 *	@info - firmware module info 
 *	@image - code image (variable size) 
 */ 
struct cycx_firmware { 
	char		    signature[80]; 
	unsigned short	    version; 
	unsigned short	    checksum; 
	unsigned short	    reserved[6]; 
	char		    descr[CFM_DESCR_LEN]; 
	struct cycx_fw_info info; 
	unsigned char	    image[0]; 
}; 
 
struct cycx_fw_header { 
	unsigned long  reset_size; 
	unsigned long  data_size; 
	unsigned long  code_size; 
}; 
#endif	/* _CYCX_CFM_H */