annotate packages/hal/powerpc/arch/current/src/ppc_860.h @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents
children 4cc3eff958ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_PPC_860_H
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_PPC_860_H
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
3
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
4 //=============================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
5 //####UNSUPPORTEDBEGIN####
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
6 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
7 // -------------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
8 // This source file has been contributed to eCos/Cygnus. It may have been
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
9 // changed slightly to provide an interface consistent with those of other
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
10 // files.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
11 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
12 // The functionality and contents of this file is supplied "AS IS"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
13 // without any form of support and will not necessarily be kept up
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
14 // to date by Cygnus.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
15 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
16 // The style of programming used in this file may not comply with the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
17 // eCos programming guidelines. Please do not use as a base for other
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
18 // files.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
19 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
20 // All inquiries about this file, or the functionality provided by it,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
21 // should be directed to the 'ecos-discuss' mailing list (see
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
22 // http://sourceware.cygnus.com/ecos/intouch.html for details).
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
23 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
24 // Contributed by: Kevin Hester <khester@opticworks.com>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
25 // Maintained by: <Unmaintained>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
26 // See also:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
27 // Motorola's "Example Software Initializing the SMC as a UART" package
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
28 // (smc2.zip) at:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
29 // http://www.mot.com/SPS/RISC/netcomm/tools/index.html#MPC860_table
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
30 // -------------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
31 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
32 //####UNSUPPORTEDEND####
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
33 //=============================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
34
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
35 #include <cyg/infra/cyg_type.h>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
36
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
37 /******************************************************************************
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
38 *
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
39 * Definitions of Parameter RAM entries for each peripheral and mode
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
40 *
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
41 ******************************************************************************/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
42
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
43 /*---------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
44 /* HDLC parameter RAM (SCC) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
45 /*---------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
46
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
47 struct hdlc_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
48
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
49 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
50
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
51 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
52 /* SCC parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
53 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
54
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
55 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
56 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
57 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
58 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
59 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
60 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
61 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
62 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
63 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
64 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
65 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
66 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
67 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
68 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
69 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
70 cyg_uint32 rcrc; /* temp receive CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
71 cyg_uint32 tcrc; /* temp transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
72
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
73 /*-----------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
74 /* HDLC specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
75 /*-----------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
76
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
77 cyg_uint8 RESERVED1[4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
78 cyg_uint32 c_mask; /* CRC constant */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
79 cyg_uint32 c_pres; /* CRC preset */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
80 cyg_uint16 disfc; /* discarded frame counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
81 cyg_uint16 crcec; /* CRC error counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
82 cyg_uint16 abtsc; /* abort sequence counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
83 cyg_uint16 nmarc; /* nonmatching address rx cnt */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
84 cyg_uint16 retrc; /* frame retransmission cnt */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
85 cyg_uint16 mflr; /* maximum frame length reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
86 cyg_uint16 max_cnt; /* maximum length counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
87 cyg_uint16 rfthr; /* received frames threshold */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
88 cyg_uint16 rfcnt; /* received frames count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
89 cyg_uint16 hmask; /* user defined frm addr mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
90 cyg_uint16 haddr1; /* user defined frm address 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
91 cyg_uint16 haddr2; /* user defined frm address 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
92 cyg_uint16 haddr3; /* user defined frm address 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
93 cyg_uint16 haddr4; /* user defined frm address 4 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
94 cyg_uint16 tmp; /* temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
95 cyg_uint16 tmp_mb; /* temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
96 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
97
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
98
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
99 /*-------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
100 /* ASYNC HDLC parameter RAM (SCC) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
101 /*-------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
102
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
103 struct async_hdlc_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
104
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
105 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
106
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
107 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
108 /* SCC parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
109 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
110
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
111 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
112 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
113 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
114 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
115 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
116 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
117 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
118 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
119 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
120 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
121 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
122 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
123 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
124 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
125 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
126 cyg_uint32 rcrc; /* temp receive CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
127 cyg_uint32 tcrc; /* temp transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
128
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
129 /*-----------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
130 /* ASYNC HDLC specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
131 /*-----------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
132
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
133 cyg_uint8 RESERVED2[4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
134 cyg_uint32 c_mask; /* CRC constant */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
135 cyg_uint32 c_pres; /* CRC preset */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
136 cyg_uint16 bof; /* begining of flag character */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
137 cyg_uint16 eof; /* end of flag character */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
138 cyg_uint16 esc; /* control escape character */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
139 cyg_uint8 RESERVED3[4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
140 cyg_uint16 zero; /* zero */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
141 cyg_uint8 RESERVED4[2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
142 cyg_uint16 rfthr; /* received frames threshold */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
143 cyg_uint8 RESERVED5[4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
144 cyg_uint32 txctl_tbl; /* Tx ctl char mapping table */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
145 cyg_uint32 rxctl_tbl; /* Rx ctl char mapping table */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
146 cyg_uint16 nof; /* Number of opening flags */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
147 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
148
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
149
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
150 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
151 /* UART parameter RAM (SCC) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
152 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
153
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
154 /*----------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
155 /* bits in uart control characters table */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
156 /*----------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
157
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
158 #define CC_INVALID 0x8000 /* control character is valid */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
159 #define CC_REJ 0x4000 /* don't store char in buffer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
160 #define CC_CHAR 0x00ff /* control character */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
161
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
162 /*------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
163 /* UART */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
164 /*------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
165
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
166 struct uart_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
167
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
168 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
169 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
170 /* SCC parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
171 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
172
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
173 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
174 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
175 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
176 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
177 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
178 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
179 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
180 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
181 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
182 cyg_uint32 rx_temp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
183 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
184 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
185 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
186 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
187 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
188 cyg_uint32 rcrc; /* temp receive CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
189 cyg_uint32 tcrc; /* temp transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
190
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
191 /*------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
192 /* UART specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
193 /*------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
194
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
195 cyg_uint8 RESERVED6[8]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
196 cyg_uint16 max_idl; /* maximum idle characters */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
197 cyg_uint16 idlc; /* rx idle counter (internal) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
198 cyg_uint16 brkcr; /* break count register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
199
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
200 cyg_uint16 parec; /* Rx parity error counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
201 cyg_uint16 frmec; /* Rx framing error counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
202 cyg_uint16 nosec; /* Rx noise counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
203 cyg_uint16 brkec; /* Rx break character counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
204 cyg_uint16 brkln; /* Reaceive break length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
205
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
206 cyg_uint16 uaddr1; /* address character 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
207 cyg_uint16 uaddr2; /* address character 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
208 cyg_uint16 rtemp; /* temp storage */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
209 cyg_uint16 toseq; /* Tx out of sequence char */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
210 cyg_uint16 cc[8]; /* Rx control characters */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
211 cyg_uint16 rccm; /* Rx control char mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
212 cyg_uint16 rccr; /* Rx control char register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
213 cyg_uint16 rlbc; /* Receive last break char */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
214 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
215
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
216
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
217 /*---------------------------------------------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
218 * BISYNC parameter RAM (SCC)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
219 *--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
220
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
221 struct bisync_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
222
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
223 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
224 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
225 /* SCC parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
226 /*-------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
227
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
228 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
229 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
230 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
231 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
232 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
233 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
234 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
235 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
236 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
237 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
238 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
239 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
240 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
241 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
242 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
243 cyg_uint32 rcrc; /* temp receive CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
244 cyg_uint32 tcrc; /* temp transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
245
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
246 /*--------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
247 /* BISYNC specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
248 /*--------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
249
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
250 cyg_uint8 RESERVED7[4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
251 cyg_uint32 crcc; /* CRC Constant Temp Value */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
252 cyg_uint16 prcrc; /* Preset Receiver CRC-16/LRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
253 cyg_uint16 ptcrc; /* Preset Transmitter CRC-16/LRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
254 cyg_uint16 parec; /* Receive Parity Error Counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
255 cyg_uint16 bsync; /* BISYNC SYNC Character */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
256 cyg_uint16 bdle; /* BISYNC DLE Character */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
257 cyg_uint16 cc[8]; /* Rx control characters */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
258 cyg_uint16 rccm; /* Receive Control Character Mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
259 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
260
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
261
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
262 /*-------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
263 /* Transparent mode parameter RAM (SCC) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
264 /*-------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
265
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
266 struct transparent_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
267
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
268 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
269 /*--------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
270 /* SCC parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
271 /*--------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
272
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
273 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
274 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
275 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
276 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
277 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
278 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
279 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
280 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
281 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
282 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
283 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
284 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
285 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
286 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
287 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
288 cyg_uint32 rcrc; /* temp receive CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
289 cyg_uint32 tcrc; /* temp transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
290
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
291 /*-------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
292 /* TRANSPARENT specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
293 /*-------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
294
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
295 cyg_uint32 crc_p; /* CRC Preset */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
296 cyg_uint32 crc_c; /* CRC constant */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
297 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
298
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
299
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
300 /*-------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
301 /* Ethernet parameter RAM (SCC) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
302 /*-------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
303
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
304 struct ethernet_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
305
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
306 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
307 /*--------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
308 /* SCC parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
309 /*--------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
310
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
311 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
312 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
313 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
314 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
315 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
316 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
317 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
318 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
319 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
320 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
321 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
322 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
323 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
324 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
325 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
326 cyg_uint32 rcrc; /* temp receive CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
327 cyg_uint32 tcrc; /* temp transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
328
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
329 /*---------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
330 /* ETHERNET specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
331 /*---------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
332
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
333 cyg_uint32 c_pres; /* preset CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
334 cyg_uint32 c_mask; /* constant mask for CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
335 cyg_uint32 crcec; /* CRC error counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
336 cyg_uint32 alec; /* alighnment error counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
337 cyg_uint32 disfc; /* discard frame counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
338 cyg_uint16 pads; /* short frame PAD characters */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
339 cyg_uint16 ret_lim; /* retry limit threshold */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
340 cyg_uint16 ret_cnt; /* retry limit counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
341 cyg_uint16 mflr; /* maximum frame length reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
342 cyg_uint16 minflr; /* minimum frame length reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
343 cyg_uint16 maxd1; /* maximum DMA1 length reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
344 cyg_uint16 maxd2; /* maximum DMA2 length reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
345 cyg_uint16 maxd; /* rx max DMA */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
346 cyg_uint16 dma_cnt; /* rx dma counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
347 cyg_uint16 max_b; /* max bd byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
348 cyg_uint16 gaddr1; /* group address filter 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
349 cyg_uint16 gaddr2; /* group address filter 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
350 cyg_uint16 gaddr3; /* group address filter 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
351 cyg_uint16 gaddr4; /* group address filter 4 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
352 cyg_uint32 tbuf0_data0; /* save area 0 - current frm */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
353 cyg_uint32 tbuf0_data1; /* save area 1 - current frm */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
354 cyg_uint32 tbuf0_rba0;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
355 cyg_uint32 tbuf0_crc;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
356 cyg_uint16 tbuf0_bcnt;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
357 cyg_uint16 paddr_h; /* physical address (MSB) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
358 cyg_uint16 paddr_m; /* physical address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
359 cyg_uint16 paddr_l; /* physical address (LSB) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
360 cyg_uint16 p_per; /* persistence */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
361 cyg_uint16 rfbd_ptr; /* rx first bd pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
362 cyg_uint16 tfbd_ptr; /* tx first bd pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
363 cyg_uint16 tlbd_ptr; /* tx last bd pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
364 cyg_uint32 tbuf1_data0; /* save area 0 - next frame */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
365 cyg_uint32 tbuf1_data1; /* save area 1 - next frame */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
366 cyg_uint32 tbuf1_rba0;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
367 cyg_uint32 tbuf1_crc;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
368 cyg_uint16 tbuf1_bcnt;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
369 cyg_uint16 tx_len; /* tx frame length counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
370 cyg_uint16 iaddr1; /* individual address filter 1*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
371 cyg_uint16 iaddr2; /* individual address filter 2*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
372 cyg_uint16 iaddr3; /* individual address filter 3*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
373 cyg_uint16 iaddr4; /* individual address filter 4*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
374 cyg_uint16 boff_cnt; /* back-off counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
375 cyg_uint16 taddr_h; /* temp address (MSB) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
376 cyg_uint16 taddr_m; /* temp address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
377 cyg_uint16 taddr_l; /* temp address (LSB) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
378 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
379
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
380
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
381 /*------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
382 /* QMC definitions */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
383 /*------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
384
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
385
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
386 struct global_qmc_pram {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
387
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
388 cyg_uint32 mcbase; /* Multichannel Base pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
389 cyg_uint16 qmcstate; /* Multichannel Controller state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
390 cyg_uint16 mrblr; /* Maximum Receive Buffer Length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
391 cyg_uint16 tx_s_ptr; /* TSATTx Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
392 cyg_uint16 rxptr; /* Current Time slot entry in TSATRx */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
393 cyg_uint16 grfthr; /* Global Receive frame threshold */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
394 cyg_uint16 grfcnt; /* Global Receive Frame Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
395 cyg_uint32 intbase; /* Multichannel Base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
396 cyg_uint32 intptr; /* Pointer to interrupt queue */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
397 cyg_uint16 rx_s_ptr; /* TSATRx Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
398 cyg_uint16 txptr; /* Current Time slot entry in TSATTx */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
399 cyg_uint32 c_mask32; /* CRC Constant (debb20e3) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
400 cyg_uint16 tsatrx[32]; /* Time Slot Assignment Table Rx */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
401 cyg_uint16 tsattx[32]; /* Time Slot Assignment Table Tx */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
402 cyg_uint16 c_mask16; /* CRC Constant (f0b8) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
403
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
404 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
405
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
406
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
407 /*------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
408 /* QMC HDLC channel specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
409 /*------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
410
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
411 struct qmc_hdlc_pram {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
412
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
413 cyg_uint16 tbase; /* Tx Buffer Descriptors Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
414 cyg_uint16 chamr; /* Channel Mode Register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
415 cyg_uint32 tstate; /* Tx Internal State */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
416 cyg_uint32 txintr; /* Tx Internal Data Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
417 cyg_uint16 tbptr; /* Tx Buffer Descriptor Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
418 cyg_uint16 txcntr; /* Tx Internal Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
419 cyg_uint32 tupack; /* (Tx Temp) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
420 cyg_uint32 zistate; /* Zero Insertion machine state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
421 cyg_uint32 tcrc; /* Temp Transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
422 cyg_uint16 intmsk; /* Channel's interrupt mask flags */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
423 cyg_uint16 bdflags;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
424 cyg_uint16 rbase; /* Rx Buffer Descriptors Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
425 cyg_uint16 mflr; /* Max Frame Length Register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
426 cyg_uint32 rstate; /* Rx Internal State */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
427 cyg_uint32 rxintr; /* Rx Internal Data Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
428 cyg_uint16 rbptr; /* Rx Buffer Descriptor Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
429 cyg_uint16 rxbyc; /* Rx Internal Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
430 cyg_uint32 rpack; /* (Rx Temp) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
431 cyg_uint32 zdstate; /* Zero Deletion machine state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
432 cyg_uint32 rcrc; /* Temp Transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
433 cyg_uint16 maxc; /* Max_length counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
434 cyg_uint16 tmp_mb; /* Temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
435 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
436
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
437
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
438 /*-------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
439 /* QMC Transparent channel specific parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
440 /*-------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
441
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
442 struct qmc_tran_pram {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
443
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
444 cyg_uint16 tbase; /* Tx Bufer Descriptors Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
445 cyg_uint16 chamr; /* Channel Mode Register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
446 cyg_uint32 tstate; /* Tx Internal State */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
447 cyg_uint32 txintr; /* Tx Internal Data Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
448 cyg_uint16 tbptr; /* Tx Buffer Descriptor Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
449 cyg_uint16 txcntr; /* Tx Internal Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
450 cyg_uint32 tupack; /* (Tx Temp) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
451 cyg_uint32 zistate; /* Zero Insertion machine state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
452 cyg_uint32 RESERVED8;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
453 cyg_uint16 intmsk; /* Channel's interrupt mask flags */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
454 cyg_uint16 bdflags;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
455 cyg_uint16 rbase; /* Rx Buffer Descriptors Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
456 cyg_uint16 tmrblr; /* Max receive buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
457 cyg_uint32 rstate; /* Rx Internal State */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
458 cyg_uint32 rxintr; /* Rx Internal Data Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
459 cyg_uint16 rbptr; /* Rx Buffer Descriptor Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
460 cyg_uint16 rxbyc; /* Rx Internal Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
461 cyg_uint32 rpack; /* (Rx Temp) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
462 cyg_uint32 zdstate; /* Zero Deletion machine state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
463 cyg_uint32 RESERVED9; /* Temp Transmit CRC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
464 cyg_uint16 trnsync; /* Max_length counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
465 cyg_uint16 RESERVED10; /* Temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
466
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
467 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
468
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
469 /*----------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
470 /* allows multiprotocol array declaration in the memory map */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
471 /*----------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
472
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
473 struct qmc_chan_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
474 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
475 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
476 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
477 struct qmc_hdlc_pram h;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
478 struct qmc_tran_pram t;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
479 }h_or_t;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
480 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
481
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
482
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
483
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
484 /*--------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
485 /* SMC UART parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
486 /*--------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
487
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
488 struct smc_uart_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
489
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
490 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
491 cyg_uint16 rbase; /* Rx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
492 cyg_uint16 tbase; /* Tx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
493 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
494 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
495 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
496 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
497 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
498 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
499 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
500 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
501 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
502 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
503 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
504 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
505 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
506 cyg_uint16 max_idl; /* Maximum IDLE Characters */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
507 cyg_uint16 idlc; /* Temporary IDLE Counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
508 cyg_uint16 brkln; /* Last Rx Break Length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
509 cyg_uint16 brkec; /* Rx Break Condition Counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
510 cyg_uint16 brkcr; /* Break Count Register (Tx) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
511 cyg_uint16 r_mask; /* Temporary bit mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
512 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
513
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
514
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
515 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
516 /* SMC Transparent mode parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
517 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
518
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
519 struct smc_trnsp_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
520
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
521 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
522 cyg_uint16 rbase; /* Rx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
523 cyg_uint16 tbase; /* Tx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
524 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
525 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
526 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
527 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
528 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
529 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
530 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
531 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
532 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
533 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
534 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
535 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
536 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
537 cyg_uint16 RESERVED11[5]; /* Reserved */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
538 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
539
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
540
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
541 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
542 /* SPI parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
543 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
544
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
545 #define SPI_R 0x8000 /* Ready bit in BD */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
546
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
547 struct spi_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
548
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
549 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
550 cyg_uint16 rbase; /* Rx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
551 cyg_uint16 tbase; /* Tx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
552 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
553 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
554 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
555 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
556 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
557 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
558 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
559 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
560 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
561 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
562 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
563 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
564 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
565 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
566
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
567
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
568 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
569 /* I2C parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
570 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
571
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
572 struct i2c_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
573
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
574 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
575 /*--------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
576 /* I2C parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
577 /*--------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
578
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
579 cyg_uint16 rbase; /* RX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
580 cyg_uint16 tbase; /* TX BD base address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
581 cyg_uint8 rfcr; /* Rx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
582 cyg_uint8 tfcr; /* Tx function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
583 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
584 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
585 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
586 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
587 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
588 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
589 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
590 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
591 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
592 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
593 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
594 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
595
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
596
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
597 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
598 /* PIP Centronics parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
599 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
600
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
601 struct centronics_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
602
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
603 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
604 cyg_uint16 rbase; /* Rx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
605 cyg_uint16 tbase; /* Tx BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
606 cyg_uint8 fcr; /* function code */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
607 cyg_uint8 smask; /* Status Mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
608 cyg_uint16 mrblr; /* Rx buffer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
609 cyg_uint32 rstate; /* Rx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
610 cyg_uint32 rptr; /* Rx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
611 cyg_uint16 rbptr; /* rb BD Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
612 cyg_uint16 rcount; /* Rx internal byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
613 cyg_uint32 rtemp; /* Rx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
614 cyg_uint32 tstate; /* Tx internal state */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
615 cyg_uint32 tptr; /* Tx internal data pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
616 cyg_uint16 tbptr; /* Tx BD pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
617 cyg_uint16 tcount; /* Tx byte count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
618 cyg_uint32 ttemp; /* Tx temp */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
619 cyg_uint16 max_sl; /* Maximum Silence period */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
620 cyg_uint16 sl_cnt; /* Silence Counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
621 cyg_uint16 char1; /* CONTROL char 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
622 cyg_uint16 char2; /* CONTROL char 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
623 cyg_uint16 char3; /* CONTROL char 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
624 cyg_uint16 char4; /* CONTROL char 4 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
625 cyg_uint16 char5; /* CONTROL char 5 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
626 cyg_uint16 char6; /* CONTROL char 6 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
627 cyg_uint16 char7; /* CONTROL char 7 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
628 cyg_uint16 char8; /* CONTROL char 8 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
629 cyg_uint16 rccm; /* Rx Control Char Mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
630 cyg_uint16 rccr; /* Rx Char Control Register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
631 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
632
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
633
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
634 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
635 /* IDMA parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
636 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
637
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
638 struct idma_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
639
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
640 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
641 cyg_uint16 ibase; /* IDMA BD Base Address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
642 cyg_uint16 dcmr; /* DMA Channel Mode Register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
643 cyg_uint32 sapr; /* Source Internal Data Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
644 cyg_uint32 dapr; /* Destination Internal Data Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
645 cyg_uint16 ibptr; /* Buffer Descriptor Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
646 cyg_uint16 write_sp; /* No description given in manual */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
647 cyg_uint32 s_byte_c; /* Internal Source Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
648 cyg_uint32 d_byte_c; /* Internal Destination Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
649 cyg_uint32 s_state; /* Internal State */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
650 cyg_uint32 itemp0; /* Temp Data Storage */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
651 cyg_uint32 itemp1; /* Temp Data Storage */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
652 cyg_uint32 itemp2; /* Temp Data Storage */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
653 cyg_uint32 itemp3; /* Temp Data Storage */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
654 cyg_uint32 sr_mem; /* Data Storage for Peripherial Write */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
655 cyg_uint16 read_sp; /* No description given in manual */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
656 cyg_uint16 nodesc0; /* Diff Between Source and Destination Residue*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
657 cyg_uint16 nodesc1; /* Temp Storage Address Pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
658 cyg_uint16 nodesc2; /* SR_MEM Byte Count */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
659 cyg_uint32 d_state; /* Internal State */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
660 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
661
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
662
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
663
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
664 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
665 /* RISC timer parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
666 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
667
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
668 struct timer_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
669
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
670 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
671 /*----------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
672 /* RISC timers parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
673 /*----------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
674
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
675 cyg_uint16 tm_base; /* RISC timer table base adr */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
676 cyg_uint16 tm_ptr; /* RISC timer table pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
677 cyg_uint16 r_tmr; /* RISC timer mode register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
678 cyg_uint16 r_tmv; /* RISC timer valid register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
679 cyg_uint32 tm_cmd; /* RISC timer cmd register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
680 cyg_uint32 tm_cnt; /* RISC timer internal cnt */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
681 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
682
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
683
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
684 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
685 /* ROM Microcode parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
686 /*--------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
687
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
688 struct ucode_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
689
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
690 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
691 /*---------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
692 /* RISC ucode parameter RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
693 /*---------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
694
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
695 cyg_uint16 rev_num; /* Ucode Revision Number */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
696 cyg_uint16 d_ptr; /* MISC Dump area pointer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
697 cyg_uint32 temp1; /* MISC Temp1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
698 cyg_uint32 temp2; /* MISC Temp2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
699 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
700
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
701
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
702 /*---------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
703 /* Example structuring of user data area of memory at 0x2000 (base of DPRAM) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
704 /* Note that this area can also be used by microcodes and the QMC channel */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
705 /* specific parameter ram. */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
706 /*---------------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
707
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
708 struct user_data
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
709
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
710 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
711
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
712 volatile cyg_uint8 udata_bd_ucode[0x200]; /* user data bd's or Ucode (small) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
713 volatile cyg_uint8 udata_bd_ucode2[0x200]; /* user data bd's or Ucode (medium) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
714 volatile cyg_uint8 udata_bd_ucode3[0x400]; /* user data bd's or Ucode (large) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
715 volatile cyg_uint8 udata_bd[0x700]; /* user data bd's*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
716 volatile cyg_uint8 ucode_ext[0x100]; /* Ucode Extension ram*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
717 volatile cyg_uint8 RESERVED12[0x0c00]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
718
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
719 };
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
720
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
721
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
722
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
723 /***************************************************************************/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
724 /* */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
725 /* Definitions of Embedded PowerPC (EPPC) internal memory structures, */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
726 /* including registers and dual-port RAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
727 /* */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
728 /***************************************************************************/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
729
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
730 typedef struct eppc
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
731
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
732 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
733 /*-----------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
734 /* BASE + 0x0000: INTERNAL REGISTERS */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
735 /*-----------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
736
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
737 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
738 /* SIU */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
739 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
740
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
741 volatile cyg_uint32 siu_mcr; /* module configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
742 volatile cyg_uint32 siu_sypcr; /* System protection cnt */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
743 cyg_uint8 RESERVED13[0x6];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
744 volatile cyg_uint16 siu_swsr; /* sw service */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
745 volatile cyg_uint32 siu_sipend; /* Interrupt pend reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
746 volatile cyg_uint32 siu_simask; /* Interrupt mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
747 volatile cyg_uint32 siu_siel; /* Interrupt edge level mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
748 volatile cyg_uint32 siu_sivec; /* Interrupt vector */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
749 volatile cyg_uint32 siu_tesr; /* Transfer error status */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
750 volatile cyg_uint8 RESERVED14[0xc]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
751 volatile cyg_uint32 dma_sdcr; /* SDMA configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
752 cyg_uint8 RESERVED15[0x4c];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
753
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
754 /*--------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
755 /* PCMCIA */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
756 /*--------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
757
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
758 volatile cyg_uint32 pcmcia_pbr0; /* PCMCIA Base Reg: Window 0 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
759 volatile cyg_uint32 pcmcia_por0; /* PCMCIA Option Reg: Window 0 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
760 volatile cyg_uint32 pcmcia_pbr1; /* PCMCIA Base Reg: Window 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
761 volatile cyg_uint32 pcmcia_por1; /* PCMCIA Option Reg: Window 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
762 volatile cyg_uint32 pcmcia_pbr2; /* PCMCIA Base Reg: Window 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
763 volatile cyg_uint32 pcmcia_por2; /* PCMCIA Option Reg: Window 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
764 volatile cyg_uint32 pcmcia_pbr3; /* PCMCIA Base Reg: Window 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
765 volatile cyg_uint32 pcmcia_por3; /* PCMCIA Option Reg: Window 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
766 volatile cyg_uint32 pcmcia_pbr4; /* PCMCIA Base Reg: Window 4 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
767 volatile cyg_uint32 pcmcia_por4; /* PCMCIA Option Reg: Window 4 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
768 volatile cyg_uint32 pcmcia_pbr5; /* PCMCIA Base Reg: Window 5 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
769 volatile cyg_uint32 pcmcia_por5; /* PCMCIA Option Reg: Window 5 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
770 volatile cyg_uint32 pcmcia_pbr6; /* PCMCIA Base Reg: Window 6 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
771 volatile cyg_uint32 pcmcia_por6; /* PCMCIA Option Reg: Window 6 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
772 volatile cyg_uint32 pcmcia_pbr7; /* PCMCIA Base Reg: Window 7 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
773 volatile cyg_uint32 pcmcia_por7; /* PCMCIA Option Reg: Window 7 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
774 volatile cyg_uint8 RESERVED16[0x20]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
775 volatile cyg_uint32 pcmcia_pgcra; /* PCMCIA Slot A Control Reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
776 volatile cyg_uint32 pcmcia_pgcrb; /* PCMCIA Slot B Control Reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
777 volatile cyg_uint32 pcmcia_pscr; /* PCMCIA Status Reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
778 volatile cyg_uint8 RESERVED17[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
779 volatile cyg_uint32 pcmcia_pipr; /* PCMCIA Pins Value Reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
780 volatile cyg_uint8 RESERVED18[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
781 volatile cyg_uint32 pcmcia_per; /* PCMCIA Enable Reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
782 volatile cyg_uint8 RESERVED19[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
783
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
784 /*------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
785 /* MEMC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
786 /*------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
787
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
788 volatile cyg_uint32 memc_br0; /* base register 0 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
789 volatile cyg_uint32 memc_or0; /* option register 0 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
790 volatile cyg_uint32 memc_br1; /* base register 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
791 volatile cyg_uint32 memc_or1; /* option register 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
792 volatile cyg_uint32 memc_br2; /* base register 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
793 volatile cyg_uint32 memc_or2; /* option register 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
794 volatile cyg_uint32 memc_br3; /* base register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
795 volatile cyg_uint32 memc_or3; /* option register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
796 volatile cyg_uint32 memc_br4; /* base register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
797 volatile cyg_uint32 memc_or4; /* option register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
798 volatile cyg_uint32 memc_br5; /* base register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
799 volatile cyg_uint32 memc_or5; /* option register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
800 volatile cyg_uint32 memc_br6; /* base register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
801 volatile cyg_uint32 memc_or6; /* option register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
802 volatile cyg_uint32 memc_br7; /* base register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
803 volatile cyg_uint32 memc_or7; /* option register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
804 volatile cyg_uint8 RESERVED20[0x24]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
805 volatile cyg_uint32 memc_mar; /* Memory address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
806 volatile cyg_uint32 memc_mcr; /* Memory command */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
807 volatile cyg_uint8 RESERVED21[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
808 volatile cyg_uint32 memc_mamr; /* Machine A mode */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
809 volatile cyg_uint32 memc_mbmr; /* Machine B mode */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
810 volatile cyg_uint16 memc_mstat; /* Memory status */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
811 volatile cyg_uint16 memc_mptpr; /* Memory preidic timer prescalar */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
812 volatile cyg_uint32 memc_mdr; /* Memory data */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
813 volatile cyg_uint8 RESERVED22[0x80]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
814
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
815 /*---------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
816 /* SYSTEM INTEGRATION TIMERS */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
817 /*---------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
818
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
819 volatile cyg_uint16 simt_tbscr; /* Time base stat&ctr */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
820 volatile cyg_uint8 RESERVED23[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
821 volatile cyg_uint32 simt_tbreff0; /* Time base reference 0 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
822 volatile cyg_uint32 simt_tbreff1; /* Time base reference 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
823 volatile cyg_uint8 RESERVED24[0x14]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
824 volatile cyg_uint16 simt_rtcsc; /* Realtime clk stat&cntr 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
825 volatile cyg_uint8 RESERVED25[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
826 volatile cyg_uint32 simt_rtc; /* Realtime clock */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
827 volatile cyg_uint32 simt_rtsec; /* Realtime alarm seconds */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
828 volatile cyg_uint32 simt_rtcal; /* Realtime alarm */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
829 volatile cyg_uint8 RESERVED26[0x10]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
830 volatile cyg_uint32 simt_piscr; /* PIT stat&ctrl */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
831 volatile cyg_uint32 simt_pitc; /* PIT counter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
832 volatile cyg_uint32 simt_pitr; /* PIT */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
833 volatile cyg_uint8 RESERVED27[0x34]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
834
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
835 /*---------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
836 /* CLOCKS, RESET */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
837 /*---------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
838
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
839 volatile cyg_uint32 clkr_sccr; /* System clk cntrl */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
840 volatile cyg_uint32 clkr_plprcr; /* PLL reset&ctrl */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
841 volatile cyg_uint32 clkr_rsr; /* reset status */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
842 cyg_uint8 RESERVED28[0x74]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
843
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
844 /*--------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
845 /* System Integration Timers Keys */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
846 /*--------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
847
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
848 volatile cyg_uint32 simt_tbscrk; /* Timebase Status&Ctrl Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
849 volatile cyg_uint32 simt_tbreff0k; /* Timebase Reference 0 Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
850 volatile cyg_uint32 simt_tbreff1k; /* Timebase Reference 1 Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
851 volatile cyg_uint32 simt_tbk; /* Timebase and Decrementer Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
852 cyg_uint8 RESERVED29[0x10]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
853 volatile cyg_uint32 simt_rtcsck; /* Real-Time Clock Status&Ctrl Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
854
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
855 volatile cyg_uint32 simt_rtck; /* Real-Time Clock Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
856 volatile cyg_uint32 simt_rtseck; /* Real-Time Alarm Seconds Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
857 volatile cyg_uint32 simt_rtcalk; /* Real-Time Alarm Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
858 cyg_uint8 RESERVED30[0x10]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
859 volatile cyg_uint32 simt_piscrk; /* Periodic Interrupt Status&Ctrl Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
860 volatile cyg_uint32 simt_pitck; /* Periodic Interrupt Count Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
861 cyg_uint8 RESERVED31[0x38]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
862
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
863 /*----------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
864 /* Clock and Reset Keys */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
865 /*----------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
866
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
867 volatile cyg_uint32 clkr_sccrk; /* System Clock Control Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
868 volatile cyg_uint32 clkr_plprcrk; /* PLL, Low Power and Reset Control Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
869 volatile cyg_uint32 clkr_rsrk; /* Reset Status Key */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
870 cyg_uint8 RESERVED32[0x4d4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
871
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
872 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
873 /* I2C */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
874 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
875
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
876 volatile cyg_uint8 i2c_i2mod; /* i2c mode */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
877 cyg_uint8 RESERVED33[3];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
878 volatile cyg_uint8 i2c_i2add; /* i2c address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
879 cyg_uint8 RESERVED34[3];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
880 volatile cyg_uint8 i2c_i2brg; /* i2c brg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
881 cyg_uint8 RESERVED35[3];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
882 volatile cyg_uint8 i2c_i2com; /* i2c command */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
883 cyg_uint8 RESERVED36[3];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
884 volatile cyg_uint8 i2c_i2cer; /* i2c event */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
885 cyg_uint8 RESERVED37[3];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
886 volatile cyg_uint8 i2c_i2cmr; /* i2c mask */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
887 volatile cyg_uint8 RESERVED38[0x8b]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
888
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
889 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
890 /* DMA */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
891 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
892
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
893 volatile cyg_uint8 RESERVED39[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
894 volatile cyg_uint32 dma_sdar; /* SDMA address reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
895 volatile cyg_uint8 RESERVED40[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
896 volatile cyg_uint8 dma_sdsr; /* SDMA status reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
897 volatile cyg_uint8 RESERVED41[0x3]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
898 volatile cyg_uint8 dma_sdmr; /* SDMA mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
899 volatile cyg_uint8 RESERVED42[0x1]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
900 volatile cyg_uint8 dma_idsr1; /* IDMA1 status reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
901 volatile cyg_uint8 RESERVED43[0x3]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
902 volatile cyg_uint8 dma_idmr1; /* IDMA1 mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
903 volatile cyg_uint8 RESERVED44[0x3]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
904 volatile cyg_uint8 dma_idsr2; /* IDMA2 status reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
905 volatile cyg_uint8 RESERVED45[0x3]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
906 volatile cyg_uint8 dma_idmr2; /* IDMA2 mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
907 volatile cyg_uint8 RESERVED46[0x13]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
908
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
909 /*--------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
910 /* CPM Interrupt Controller */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
911 /*--------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
912
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
913 volatile cyg_uint16 cpmi_civr; /* CP interrupt vector reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
914 volatile cyg_uint8 RESERVED47[0xe]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
915 volatile cyg_uint32 cpmi_cicr; /* CP interrupt configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
916 volatile cyg_uint32 cpmi_cipr; /* CP interrupt pending reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
917 volatile cyg_uint32 cpmi_cimr; /* CP interrupt mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
918 volatile cyg_uint32 cpmi_cisr; /* CP interrupt in-service reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
919
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
920 /*----------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
921 /* I/O port */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
922 /*----------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
923
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
924 volatile cyg_uint16 pio_padir; /* port A data direction reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
925 volatile cyg_uint16 pio_papar; /* port A pin assignment reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
926 volatile cyg_uint16 pio_paodr; /* port A open drain reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
927 volatile cyg_uint16 pio_padat; /* port A data register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
928 volatile cyg_uint8 RESERVED48[0x8]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
929 volatile cyg_uint16 pio_pcdir; /* port C data direction reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
930 volatile cyg_uint16 pio_pcpar; /* port C pin assignment reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
931 volatile cyg_uint16 pio_pcso; /* port C special options */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
932 volatile cyg_uint16 pio_pcdat; /* port C data register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
933 volatile cyg_uint16 pio_pcint; /* port C interrupt cntrl reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
934 cyg_uint8 RESERVED49[6];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
935 volatile cyg_uint16 pio_pddir; /* port D Data Direction reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
936 volatile cyg_uint16 pio_pdpar; /* port D pin assignment reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
937 cyg_uint8 RESERVED50[2];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
938 volatile cyg_uint16 pio_pddat; /* port D data reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
939 volatile cyg_uint8 RESERVED51[0x8]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
940
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
941 /*-----------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
942 /* CPM Timer */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
943 /*-----------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
944
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
945 volatile cyg_uint16 timer_tgcr; /* timer global configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
946 volatile cyg_uint8 RESERVED52[0xe]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
947 volatile cyg_uint16 timer_tmr1; /* timer 1 mode reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
948 volatile cyg_uint16 timer_tmr2; /* timer 2 mode reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
949 volatile cyg_uint16 timer_trr1; /* timer 1 referance reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
950 volatile cyg_uint16 timer_trr2; /* timer 2 referance reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
951 volatile cyg_uint16 timer_tcr1; /* timer 1 capture reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
952 volatile cyg_uint16 timer_tcr2; /* timer 2 capture reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
953 volatile cyg_uint16 timer_tcn1; /* timer 1 counter reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
954 volatile cyg_uint16 timer_tcn2; /* timer 2 counter reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
955 volatile cyg_uint16 timer_tmr3; /* timer 3 mode reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
956 volatile cyg_uint16 timer_tmr4; /* timer 4 mode reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
957 volatile cyg_uint16 timer_trr3; /* timer 3 referance reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
958 volatile cyg_uint16 timer_trr4; /* timer 4 referance reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
959 volatile cyg_uint16 timer_tcr3; /* timer 3 capture reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
960 volatile cyg_uint16 timer_tcr4; /* timer 4 capture reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
961 volatile cyg_uint16 timer_tcn3; /* timer 3 counter reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
962 volatile cyg_uint16 timer_tcn4; /* timer 4 counter reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
963 volatile cyg_uint16 timer_ter1; /* timer 1 event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
964 volatile cyg_uint16 timer_ter2; /* timer 2 event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
965 volatile cyg_uint16 timer_ter3; /* timer 3 event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
966 volatile cyg_uint16 timer_ter4; /* timer 4 event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
967 volatile cyg_uint8 RESERVED53[0x8]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
968
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
969 /*----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
970 /* CP */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
971 /*----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
972
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
973 volatile cyg_uint16 cp_cr; /* command register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
974 volatile cyg_uint8 RESERVED54[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
975 volatile cyg_uint16 cp_rccr; /* main configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
976 volatile cyg_uint8 RESERVED55; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
977 volatile cyg_uint8 cp_resv1; /* Reserved reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
978 volatile cyg_uint32 cp_resv2; /* Reserved reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
979 volatile cyg_uint16 cp_rctr1; /* ram break register 1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
980 volatile cyg_uint16 cp_rctr2; /* ram break register 2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
981 volatile cyg_uint16 cp_rctr3; /* ram break register 3 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
982 volatile cyg_uint16 cp_rctr4; /* ram break register 4 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
983 volatile cyg_uint8 RESERVED56[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
984 volatile cyg_uint16 cp_rter; /* RISC timers event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
985 volatile cyg_uint8 RESERVED57[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
986 volatile cyg_uint16 cp_rtmr; /* RISC timers mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
987 volatile cyg_uint8 RESERVED58[0x14]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
988
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
989 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
990 /* BRG */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
991 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
992
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
993 volatile cyg_uint32 brgc1; /* BRG1 configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
994 volatile cyg_uint32 brgc2; /* BRG2 configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
995 volatile cyg_uint32 brgc3; /* BRG3 configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
996 volatile cyg_uint32 brgc4; /* BRG4 configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
997
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
998 /*---------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
999 /* SCC registers */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1000 /*---------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1001
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1002 struct scc_regs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1003
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1004 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1005 volatile cyg_uint32 scc_gsmr_l; /* SCC Gen mode (LOW) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1006 volatile cyg_uint32 scc_gsmr_h; /* SCC Gen mode (HIGH) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1007 volatile cyg_uint16 scc_psmr; /* protocol specific mode register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1008 volatile cyg_uint8 RESERVED59[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1009 volatile cyg_uint16 scc_todr; /* SCC transmit on demand */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1010 volatile cyg_uint16 scc_dsr; /* SCC data sync reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1011 volatile cyg_uint16 scc_scce; /* SCC event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1012 volatile cyg_uint8 RESERVED60[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1013 volatile cyg_uint16 scc_sccm; /* SCC mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1014 volatile cyg_uint8 RESERVED61[0x1]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1015 volatile cyg_uint8 scc_sccs; /* SCC status reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1016 volatile cyg_uint8 RESERVED62[0x8]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1017
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1018 } scc_regs[4];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1019
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1020
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1021 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1022 /* SMC */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1023 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1024
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1025 struct smc_regs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1026
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1027 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1028 volatile cyg_uint8 RESERVED63[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1029 volatile cyg_uint16 smc_smcmr; /* SMC mode reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1030 volatile cyg_uint8 RESERVED64[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1031 volatile cyg_uint8 smc_smce; /* SMC event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1032 volatile cyg_uint8 RESERVED65[0x3]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1033 volatile cyg_uint8 smc_smcm; /* SMC mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1034 volatile cyg_uint8 RESERVED66[0x5]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1035
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1036 } smc_regs[2];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1037
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1038
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1039 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1040 /* SPI */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1041 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1042
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1043 volatile cyg_uint16 spi_spmode; /* SPI mode reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1044 volatile cyg_uint8 RESERVED67[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1045 volatile cyg_uint8 spi_spie; /* SPI event reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1046 volatile cyg_uint8 RESERVED68[0x3]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1047 volatile cyg_uint8 spi_spim; /* SPI mask reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1048 volatile cyg_uint8 RESERVED69[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1049 volatile cyg_uint8 spi_spcom; /* SPI command reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1050 volatile cyg_uint8 RESERVED70[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1051
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1052 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1053 /* PIP */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1054 /*-----*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1055
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1056 volatile cyg_uint16 pip_pipc; /* pip configuration reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1057 volatile cyg_uint8 RESERVED71[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1058 volatile cyg_uint16 pip_ptpr; /* pip timing parameters reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1059 volatile cyg_uint32 pip_pbdir; /* port b data direction reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1060 volatile cyg_uint32 pip_pbpar; /* port b pin assignment reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1061 volatile cyg_uint8 RESERVED72[0x2]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1062 volatile cyg_uint16 pip_pbodr; /* port b open drain reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1063 volatile cyg_uint32 pip_pbdat; /* port b data reg */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1064 volatile cyg_uint8 RESERVED73[0x18]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1065
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1066
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1067 /*------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1068 /* Serial Interface */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1069 /*------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1070
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1071 volatile cyg_uint32 si_simode; /* SI mode register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1072 volatile cyg_uint8 si_sigmr; /* SI global mode register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1073 volatile cyg_uint8 RESERVED74; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1074 volatile cyg_uint8 si_sistr; /* SI status register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1075 volatile cyg_uint8 si_sicmr; /* SI command register */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1076 volatile cyg_uint8 RESERVED75[0x4]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1077 volatile cyg_uint32 si_sicr; /* SI clock routing */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1078 volatile cyg_uint32 si_sirp; /* SI ram pointers */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1079 volatile cyg_uint8 RESERVED76[0x10c]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1080 volatile cyg_uint8 si_siram[0x200]; /* SI routing ram */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1081 volatile cyg_uint8 RESERVED77[0x1200]; /* Reserved area */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1082
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1083 /*-----------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1084 /* BASE + 0x2000: user data memory, microcode, or QMC channel PRAM */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1085 /*-----------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1086
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1087 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1088 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1089 struct qmc_chan_pram qcp[64];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1090 struct user_data ud;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1091 cyg_uint8 RESERVED[0x1c00];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1092 } qcp_or_ud;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1093
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1094
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1095 /*-----------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1096 /* BASE + 0x3c00: PARAMETER RAM. This main union defines 4 memory blocks */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1097 /* of an identical size. See the Parameter RAM definition in the MPC860 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1098 /* user's manual. */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1099 /*-----------------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1100
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1101 /*------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1102 /* Base + 0x3C00 (page 1) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1103 /* + 0x3D00 (page 2) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1104 /* + 0x3E00 (page 3) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1105 /* + 0x3F00 (page 4) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1106 /*------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1107
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1108 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1109
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1110 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1111 struct page_of_pram
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1112
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1113 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1114 /*------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1115 /* scc parameter area - 1st memory block (protocol dependent) */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1116 /*------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1117
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1118 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1119
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1120 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1121 struct hdlc_pram h;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1122 struct uart_pram u;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1123 struct bisync_pram b;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1124 struct transparent_pram t;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1125 struct async_hdlc_pram a;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1126 cyg_uint8 RESERVED78[0x80];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1127
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1128 } scc;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1129
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1130 /*----------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1131 /* Other protocol areas for the rest of the memory blocks in each */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1132 /* page. */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1133 /*----------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1134
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1135 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1136
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1137 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1138 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1139 /* This structure defines the rest of the blocks on the 1st page */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1140 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1141
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1142 struct
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1143
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1144 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1145 struct i2c_pram i2c; /* I2C */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1146 struct idma_pram idma1; /* IDMA1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1147
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1148 } i2c_idma;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1149
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1150 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1151 /* This structure defines the rest of the blocks on the 2nd page */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1152 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1153
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1154 struct
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1155
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1156 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1157 struct spi_pram spi; /* SPI */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1158 struct timer_pram timer; /* Timers */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1159 struct idma_pram idma2; /* IDMA2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1160
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1161 } spi_timer_idma;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1162
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1163 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1164 /* This structure defines the rest of the blocks on the 3rd page */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1165 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1166
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1167 struct
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1168
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1169 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1170 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1171
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1172 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1173 struct smc_uart_pram u1; /* SMC1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1174 struct smc_trnsp_pram t1; /* SMC1 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1175 cyg_uint8 RESERVED78[0x80]; /* declare full block */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1176
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1177 } psmc1;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1178
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1179 } smc_dsp1;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1180
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1181
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1182 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1183 /* This structure defines the rest of the blocks on the 4th page */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1184 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1185
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1186 struct
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1187
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1188 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1189 union
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1190
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1191 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1192 struct smc_uart_pram u2; /* SMC2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1193 struct smc_trnsp_pram t2; /* SMC2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1194 struct centronics_pram c; /* Uses SM2's space */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1195 cyg_uint8 RESERVED79[0x80]; /* declare full block */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1196
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1197 } psmc2;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1198
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1199 } smc_dsp2;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1200
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1201 cyg_uint8 RESERVED80[0x80]; /* declare full block */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1202
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1203 } other;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1204
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1205 } pg;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1206
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1207 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1208 /* When selecting Ethernet as protocol for an SCC, this protocol */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1209 /* uses a complete page of Parameter RAM memory. */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1210 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1211
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1212 struct ethernet_pram enet_scc;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1213
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1214 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1215 /* When using QMC as a mode for an SCC, the QMC global parameter */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1216 /* ram uses from SCC BASE to BASE+AC. */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1217 /*---------------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1218
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1219 struct global_qmc_pram gqp;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1220
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1221 /*--------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1222 /* declaration to guarantee a page of memory is allocated */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1223 /*--------------------------------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1224
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1225 cyg_uint8 RESERVED83[0x100];
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1226
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1227 } PRAM[4]; /* end of union */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1228
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1229 } EPPC;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1230
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1231
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1232 /***************************************************************************/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1233 /* General Global Definitions */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1234 /***************************************************************************/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1235
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1236
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1237 #define PAGE1 0 /* SCC1 Index into SCC Param RAM Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1238 #define PAGE2 1 /* SCC2 Index into SCC Param RAM Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1239 #define PAGE3 2 /* SCC3 Index into SCC Param RAM Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1240 #define PAGE4 3 /* SCC4 Index into SCC Param RAM Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1241
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1242 #define SCC1_REG 0 /* SCC1 Index into SCC Regs Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1243 #define SCC2_REG 1 /* SCC2 Index into SCC Regs Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1244 #define SCC3_REG 2 /* SCC3 Index into SCC Regs Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1245 #define SCC4_REG 3 /* SCC4 Index into SCC Regs Array */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1246
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1247
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1248 /*--------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1249 /* KEEP ALIVE POWER REGISTERS KEY */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1250 /*--------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1251
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1252 #define KEEP_ALIVE_KEY 0x55ccaa33
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1253
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1254
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1255 #define SMC2_REG 1 /* SMC Regs Array Index for SMC2 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1256
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1257 /*-------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1258 /* Single buffer component */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1259 /*-------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1260
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1261 typedef struct BufferPool
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1262
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1263 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1264 cyg_uint8 RxBuffer;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1265 cyg_uint8 TxBuffer;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1266
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1267 } LB;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1268
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1269
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1270 /*--------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1271 /* Buffer Descriptor Format */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1272 /*--------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1273
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1274 typedef struct BufferDescriptor
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1275
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1276 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1277 cyg_uint16 bd_cstatus; /* control and status */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1278 cyg_uint16 bd_length; /* transfer length */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1279 cyg_uint8 *bd_addr; /* buffer address */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1280
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1281 } BD;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1282
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1283
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1284 /*-------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1285 /* Buffer Descriptor Ring format */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1286 /*-------------------------------*/
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1287
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1288 typedef struct BufferDescRings
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1289
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1290 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1291 volatile BD RxBD; /* Rx BD ring */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1292 volatile BD TxBD; /* Tx BD ring */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1293
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1294 } BDRINGS;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1295
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1296
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1297 #endif