Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 1
/*****************************************************************************
2
* sdlasfm.h     WANPIPE(tm) Multiprotocol WAN Link Driver.
3
*               Definitions for the SDLA Firmware Module (SFM).
4
*
5
* Author:       Gideon Hack    
6
*
7
* Copyright:    (c) 1995-1999 Sangoma Technologies Inc.
8
*
9
*               This program is free software; you can redistribute it and/or
10
*               modify it under the terms of the GNU General Public License
11
*               as published by the Free Software Foundation; either version
12
*               2 of the License, or (at your option) any later version.
13
* ============================================================================
14
* Jun 02, 1999  Gideon Hack     Added support for the S514 adapter.
15
* Dec 11, 1996  Gene Kozin      Cosmetic changes
16
* Apr 16, 1996  Gene Kozin      Changed adapter & firmware IDs. Version 2
17
* Dec 15, 1995  Gene Kozin      Structures chaned
18
* Nov 09, 1995  Gene Kozin      Initial version.
19
*****************************************************************************/
20
#ifndef _SDLASFM_H
21
#define _SDLASFM_H
22
 
23
/****** Defines *************************************************************/
24
 
25
#define SFM_VERSION     2
26
#define SFM_SIGNATURE   "SFM - Sangoma SDLA Firmware Module"
27
 
28
/* min/max */
29
#define SFM_IMAGE_SIZE  0x8000  /* max size of SDLA code image file */
30
#define SFM_DESCR_LEN   256     /* max length of description string */
31
#define SFM_MAX_SDLA    16      /* max number of compatible adapters */
32
 
33
/* Adapter types */
34
#define SDLA_S502A      5020
35
#define SDLA_S502E      5021
36
#define SDLA_S503       5030
37
#define SDLA_S508       5080
38
#define SDLA_S507       5070
39
#define SDLA_S509       5090
40
#define SDLA_S514       5140
41
 
42
/* S514 PCI adapter CPU numbers */
43
#define S514_CPU_A      'A'
44
#define S514_CPU_B      'B'
45
 
46
 
47
/* Firmware identification numbers:
48
 *    0  ..  999        Test & Diagnostics
49
 *  1000 .. 1999        Streaming HDLC
50
 *  2000 .. 2999        Bisync
51
 *  3000 .. 3999        SDLC
52
 *  4000 .. 4999        HDLC
53
 *  5000 .. 5999        X.25
54
 *  6000 .. 6999        Frame Relay
55
 *  7000 .. 7999        PPP
56
 *  8000 .. 8999        Cisco HDLC
57
 */
58
#define SFID_CALIB502    200
59
#define SFID_STRM502    1200
60
#define SFID_STRM508    1800
61
#define SFID_BSC502     2200
62
#define SFID_SDLC502    3200
63
#define SFID_HDLC502    4200
64
#define SFID_HDLC508    4800
65
#define SFID_X25_502    5200
66
#define SFID_X25_508    5800
67
#define SFID_FR502      6200
68
#define SFID_FR508      6800
69
#define SFID_PPP502     7200
70
#define SFID_PPP508     7800
71
#define SFID_PPP514     7140
72
#define SFID_CHDLC508   8800
73
#define SFID_CHDLC514   8140
74
 
75
/****** Data Types **********************************************************/
76
 
77
typedef struct  sfm_info                /* firmware module information */
78
{
79
        unsigned short  codeid;         /* firmware ID */
80
        unsigned short  version;        /* firmaware version number */
81
        unsigned short  adapter[SFM_MAX_SDLA]; /* compatible adapter types */
82
        unsigned long   memsize;        /* minimum memory size */
83
        unsigned short  reserved[2];    /* reserved */
84
        unsigned short  startoffs;      /* entry point offset */
85
        unsigned short  winoffs;        /* dual-port memory window offset */
86
        unsigned short  codeoffs;       /* code load offset */
87
        unsigned short  codesize;       /* code size */
88
        unsigned short  dataoffs;       /* configuration data load offset */
89
        unsigned short  datasize;       /* configuration data size */
90
} sfm_info_t;
91
 
92
typedef struct sfm                      /* SDLA firmware file structire */
93
{
94
        char            signature[80];  /* SFM file signature */
95
        unsigned short  version;        /* file format version */
96
        unsigned short  checksum;       /* info + image */
97
        unsigned short  reserved[6];    /* reserved */
98
        char            descr[SFM_DESCR_LEN]; /* description string */
99
        sfm_info_t      info;           /* firmware module info */
100
        unsigned char   image[1];       /* code image (variable size) */
101
} sfm_t;
102
 
103
#endif  /* _SDLASFM_H */
104