xref: /netbsd/sys/arch/shark/shark/sequoia.h (revision bf9ec67e)
1 /*	$NetBSD: sequoia.h,v 1.1 2002/02/10 01:58:10 thorpej Exp $	*/
2 
3 /*
4  * Copyright 1997
5  * Digital Equipment Corporation. All rights reserved.
6  *
7  * This software is furnished under license and may be used and
8  * copied only in accordance with the following terms and conditions.
9  * Subject to these conditions, you may download, copy, install,
10  * use, modify and distribute this software in source and/or binary
11  * form. No title or ownership is transferred hereby.
12  *
13  * 1) Any source code used, modified or distributed must reproduce
14  *    and retain this copyright notice and list of conditions as
15  *    they appear in the source file.
16  *
17  * 2) No right is granted to use any trade name, trademark, or logo of
18  *    Digital Equipment Corporation. Neither the "Digital Equipment
19  *    Corporation" name nor any trademark or logo of Digital Equipment
20  *    Corporation may be used to endorse or promote products derived
21  *    from this software without the prior written permission of
22  *    Digital Equipment Corporation.
23  *
24  * 3) This software is provided "AS-IS" and any express or implied
25  *    warranties, including but not limited to, any implied warranties
26  *    of merchantability, fitness for a particular purpose, or
27  *    non-infringement are disclaimed. In no event shall DIGITAL be
28  *    liable for any damages whatsoever, and in particular, DIGITAL
29  *    shall not be liable for special, indirect, consequential, or
30  *    incidental damages or damages for lost profits, loss of
31  *    revenue or loss of use, whether such damages arise in contract,
32  *    negligence, tort, under statute, in equity, at law or otherwise,
33  *    even if advised of the possibility of such damage.
34  */
35 
36 /*
37 **
38 **  MODULE DESCRIPTION:
39 **
40 **      National Sequoia-1 and Sequoia-2 Definitions
41 **
42 **	Initial Register Write Values are identified by _INIT
43 **
44 **  CREATION DATE:
45 **
46 **      22-Jan-1997
47 **
48 **  AUTHOR:
49 **
50 **      Madeleine D. Robert
51 **
52 **  MODIFICATION HISTORY:
53 **
54 **	27-Jan-1997	Maddy		Added additional initial values.
55 **
56 **	24-Jan-1997	Maddy		Initial Entry.
57 */
58 
59 
60 #ifndef SEQUOIAH
61 #define SEQUOIAH
62 
63 /****************************************************
64 **		      	SEQUOIA                    **
65 *****************************************************/
66 #define SEQUOIA_BASE          0x24
67 #define SEQUOIA_NPORTS        0x4
68 
69 #define SEQUOIA_INDEX         0x24
70 #define SEQUOIA_INDEX_OFFSET  0x0
71 
72 #define SEQUOIA_DATA          0x26
73 #define SEQUOIA_DATA_OFFSET   0x2
74 
75 
76 /****************************************************
77 **		      	SEQUOIA-1                  **
78 *****************************************************/
79 
80 /*
81 ** Power Management Control Registers
82 **
83 */
84 
85 /*
86 **
87 **  PMC Clock Control Register (CCR) - Index 0x000
88 **
89 **        Loc   Size    Name    	Function
90 **       -----  ----    ----    	---------------------------------
91 **        <0>     1     CNCLKSEL0	Conserve Clock Select 0
92 **        <1>     1     CNCLKSEL1	Conserve Clock Select 1
93 **        <2>     1     CNCLKSEL2	Conserve Clock Select 2
94 **        <3>     1     CNSRVEN		Conserve Mode Enable
95 **        <4>     1     SLCLKSEL0	Slow Clock Select 0
96 **        <5>     1     SLCLKSEL1	Slow Clock Select 1
97 **        <6>     1     SLCLKSEL2	Slow Clock Select 2
98 **	  <7>	  1     SLWCLKEN	Slow Clock Enable
99 **	  <8>	  1     SLPSLWEN	Sleep Mode, Slow Clock Enable
100 **	  <9>	  1     DZSLWEN		Doze Mode, Slow Clock Enable
101 **	  <10>	  1     SPNDSLWEN	Suspend Mode, Slow Clock Enable
102 **	  <11>	  1     LBSLWEN		Low Battery Slow Enable
103 **	  <12>	  1     DZONHALT	Doze on HALT
104 **	  <14>	  1     LBST		Low Battery Status
105 **	  <15>	  1     VLBST		Very Low Battery Status
106 **
107 **	  <13> Reserved
108 */
109 #define PMC_CCR_REG		0x000
110 #define PMC_CCR_INIT		0x000
111 #define CCR_V_CNCLKSEL      	0
112 #define CCR_M_CNCLKSEL		0x7 << CCR_V_CNCLKSEL
113 #define CCR_V_CNCLKSEL0      	0
114 #define CCR_M_CNCLKSEL0		1 << CCR_V_CNCLKSEL0
115 #define CCR_V_CNCLKSEL1      	1
116 #define CCR_M_CNCLKSEL1		1 << CCR_V_CNCLKSEL1
117 #define CCR_V_CNCLKSEL2     	2
118 #define CCR_M_CNCLKSEL2		1 << CCR_V_CNCLKSEL2
119 #define CCR_V_CNSRVEN     	3
120 #define CCR_M_CNSRVEN		1 << CCR_V_CNSRVEN
121 #define CCR_V_SLCLKSEL     	4
122 #define CCR_M_SLCLKSEL		0x7 << CCR_V_SLCLKSEL
123 #define CCR_V_SLCLKSEL0     	4
124 #define CCR_M_SLCLKSEL0		1 << CCR_V_SLCLKSEL0
125 #define CCR_V_SLCLKSEL1     	5
126 #define CCR_M_SLCLKSEL1		1 << CCR_V_SLCLKSEL1
127 #define CCR_V_SLCLKSEL2     	6
128 #define CCR_M_SLCLKSEL2		1 << CCR_V_SLCLKSEL2
129 #define CCR_V_SLWCLKEN     	7
130 #define CCR_M_SLWCLKEN		1 << CCR_V_SLWCLKEN
131 #define CCR_V_SLPSLWEN     	8
132 #define CCR_M_SLPSLWEN		1 << CCR_V_SLPSLWEN
133 #define CCR_V_DZSLWEN     	9
134 #define CCR_M_DZSLWEN		1 << CCR_V_DZSLWEN
135 #define CCR_V_SPNDSLWEN     	10
136 #define CCR_M_SPNDSLWEN		1 << CCR_V_SPNDSLWEN
137 #define CCR_V_LBSLWEN     	11
138 #define CCR_M_LBSLWEN		1 << CCR_V_LBSLWEN
139 #define CCR_V_DZONHALT     	12
140 #define CCR_M_DZONHALT		1 << CCR_V_DZONHALT
141 #define CCR_V_LBST	     	14
142 #define CCR_M_LBST		1 << CCR_V_LBST
143 #define CCR_V_VLBST     	15
144 #define CCR_M_VLBST		1 << CCR_V_VLBST
145 
146 /*
147 ** Conserve Clock Selects
148 */
149 #define CNCLKSEL_DIV1		0x000
150 #define CNCLKSEL_DIV2		CCR_M_CNCLKSEL0
151 #define CNCLKSEL_DIV4		CCR_M_CNCLKSEL1
152 #define CNCLKSEL_DIV8		(CCR_M_CNCLKSEL0 | CCR_M_CNCLKSEL1)
153 #define CNCLKSEL_DIV16		CCR_M_CNCLKSEL2
154 #define CNCLKSEL_DIV32		(CCR_M_CNCLKSEL0 | CCR_M_CNCLKSEL2)
155 #define CNCLKSEL_DIV64		(CCR_M_CNCLKSEL1 | CCR_M_CNCLKSEL2)
156 
157 /*
158 ** Slow Clock Selects
159 */
160 #define SLCLKSEL_DIV1		0x000
161 #define SLCLKSEL_DIV2		CCR_M_SLCLKSEL0
162 #define SLCLKSEL_DIV4		CCR_M_SLCLKSEL1
163 #define SLCLKSEL_DIV8		(CCR_M_SLCLKSEL0 | CCR_M_SLCLKSEL1)
164 #define SLCLKSEL_DIV16		CCR_M_SLCLKSEL2
165 #define SLCLKSEL_DIV32		(CCR_M_SLCLKSEL0 | CCR_M_SLCLKSEL2)
166 #define SLCLKSEL_DIV64		(CCR_M_SLCLKSEL1 | CCR_M_SLCLKSEL2)
167 #define SLCLKSEL_STOPPED	(CCR_M_SLCLKSEL0 | CCR_M_SLCLKSEL1 | CCR_M_SLCLKSEL2)
168 
169 /*
170 **
171 **  Power Management Status Register (PMSR) - Index 0x001
172 **
173 **        Loc   Size    Name    	Function
174 **       -----  ----    ----    	---------------------------------
175 **        <0>     1     WAKESRC0	Wake-up Source 0
176 **        <1>     1     WAKESRC1	Wake-up Source 1
177 **        <2>     1     WAKESRC2	Wake-up Source 2
178 **        <3>     1     ACPWR		AC Power
179 **        <4>     1     PMISRC0		Power Management Interrupt 0
180 **        <5>     1     PMISRC1		Power Management Interrupt 1
181 **        <6>     1     PMISRC2		Power Management Interrupt 2
182 **	  <7>	  1     PMISRC3		Power Management Interrupt 3
183 **	  <8>	  1     PMISRC4		Power Management Interrupt 4
184 **	  <9>	  1     RESUME		Resume
185 **	  <10>	  1     WAKE0STATUS	Wake 0 Status
186 **	  <11>	  1     WAKE1STATUS	Wake 1 Status
187 **	  <13>	  1     PMMD0		Power Management Mode 0
188 **	  <14>	  1     PMMD1		Power Management Mode 1
189 **	  <15>	  1     PMMD2		Power Management Mode 2
190 **
191 **	  <12> Reserved
192 */
193 #define PMC_PMSR_REG		0x001
194 #define PMC_PMSR_INIT		( PMSR_M_WAKESRC | PMSR_M_PMISRC | PMMD_ON )
195 #define PMSR_V_WAKESRC		0
196 #define PMSR_M_WAKESRC		0x7 << PMSR_V_WAKESRC
197 #define PMSR_V_WAKESRC0		0
198 #define PMSR_M_WAKESRC0		1 << PMSR_V_WAKESRC0
199 #define PMSR_V_WAKESRC1		1
200 #define PMSR_M_WAKESRC1		1 << PMSR_V_WAKESRC1
201 #define PMSR_V_WAKESRC2		2
202 #define PMSR_M_WAKESRC2		1 << PMSR_V_WAKESRC2
203 #define PMSR_V_ACPWR		3
204 #define PMSR_M_ACPWR		1 << PMSR_V_ACPWR
205 #define PMSR_V_PMISRC		4
206 #define PMSR_M_PMISRC		0x1F << PMSR_V_PMISRC
207 #define PMSR_V_PMISRC0		4
208 #define PMSR_M_PMISRC0		1 << PMSR_V_PMISRC0
209 #define PMSR_V_PMISRC1		5
210 #define PMSR_M_PMISRC1		1 << PMSR_V_PMISRC1
211 #define PMSR_V_PMISRC2		6
212 #define PMSR_M_PMISRC2		1 << PMSR_V_PMISRC2
213 #define PMSR_V_PMISRC3		7
214 #define PMSR_M_PMISRC3		1 << PMSR_V_PMISRC3
215 #define PMSR_V_PMISRC4		8
216 #define PMSR_M_PMISRC4		1 << PMSR_V_PMISRC4
217 #define PMSR_V_RESUME		9
218 #define PMSR_M_RESUME		1 << PMSR_V_RESUME
219 #define PMSR_V_WAKE0STATUS	10
220 #define PMSR_M_WAKE0STATUS	1 << PMSR_V_WAKE0STATUS
221 #define PMSR_V_WAKE1STATUS	11
222 #define PMSR_M_WAKE1STATUS	1 << PMSR_V_WAKE1STATUS
223 #define PMSR_V_PMMD		13
224 #define PMSR_M_PMMD		0x7 << PMSR_V_PMMD
225 #define PMSR_V_PMMD0		13
226 #define PMSR_M_PMMD0		1 << PMSR_V_PMMD0
227 #define PMSR_V_PMMD1		14
228 #define PMSR_M_PMMD1		1 << PMSR_V_PMMD1
229 #define PMSR_V_PMMD2		15
230 #define PMSR_M_PMMD2		1 << PMSR_V_PMMD2
231 
232 /*
233 ** Wake-up Source
234 */
235 #define WAKESRC_NONE		0x000
236 #define WAKESRC_RING		PMSR_M_WAKESRC0
237 #define WAKESRC_RTCI		PMSR_M_WAKESRC1
238 #define WAKESRC_SWTCH		(PMSR_M_WAKESRC0 | PMSR_M_WAKESRC1)
239 #define WAKESRC_GPTC		PMSR_M_WAKESRC2
240 #define WAKESRC_WAKE0		(PMSR_M_WAKESRC0 | PMSR_M_WAKESRC2)
241 #define WAKESRC_WAKE1		(PMSR_M_WAKESRC1 | PMSR_M_WAKESRC2)
242 #define WAKESRC_WAKECLR		(PMSR_M_WAKESRC0 | PMSR_M_WAKESRC1 | PMSR_M_WAKESRC2)
243 
244 /*
245 ** Power Management Interrupt Source
246 */
247 #define PMISRC_NONE		0x000
248 #define PMISRC_IRQI		PMSR_M_PMISRC0
249 #define PMISRC_LBC		PMSR_M_PMISRC1
250 #define PMISRC_SUSTO		(PMSR_M_PMISRC0 | PMSR_M_PMISRC1)
251 #define PMISRC_SLPTO		PMSR_M_PMISRC2
252 #define PMISRC_DZTO		(PMSR_M_PMISRC0 | PMSR_M_PMISRC2)
253 #define PMISRC_GENTO		(PMSR_M_PMISRC1 | PMSR_M_PMISRC2)
254 #define PMISRC_GENACT		(PMSR_M_PMISRC0 | PMSR_M_PMISRC1 | PMSR_M_PMISRC2)
255 #define PMISRC_PRIACT		PMSR_M_PMISRC3
256 #define PMISRC_SCDACT		(PMSR_M_PMISRC0 | PMSR_M_PMISRC3)
257 #define PMISRC_SCDACTTO		(PMSR_M_PMISRC1 | PMSR_M_PMISRC3)
258 #define PMISRC_SWTCH		(PMSR_M_PMISRC0 | PMSR_M_PMISRC1 | PMSR_M_PMISRC3)
259 #define PMISRC_ACPWR		(PMSR_M_PMISRC2 | PMSR_M_PMISRC3)
260 #define PMISRC_PRGTTO		(PMSR_M_PMISRC0 | PMSR_M_PMISRC2 | PMSR_M_PMISRC3)
261 #define PMISRC_GPTCOMP		(PMSR_M_PMISRC1 | PMSR_M_PMISRC2 | PMSR_M_PMISRC3)
262 #define PMISRC_RTC		(PMSR_M_PMISRC0 | PMSR_M_PMISRC4)
263 #define PMISRC_RESCHPMI		(PMSR_M_PMISRC1 | PMSR_M_PMISRC4)
264 #define PMISRC_SWSMI		(PMSR_M_PMISRC0 | PMSR_M_PMISRC1 | PMSR_M_PMISRC4)
265 
266 /*
267 ** Power Management Mode
268 */
269 #define PMMD_STDBY		0x000
270 #define PMMD_ON			PMSR_M_PMMD0
271 #define PMMD_CONSERVE		PMSR_M_PMMD1
272 #define PMMD_DOZE		(PMSR_M_PMMD0 | PMSR_M_PMMD1)
273 #define PMMD_SLEEP		PMSR_M_PMMD2
274 #define PMMD_SUSPEND		(PMSR_M_PMMD0 | PMSR_M_PMMD2)
275 
276 
277 /*
278 **
279 **  Activity Source Register (ASR) - Index 0x002
280 **
281 **        Loc   Size    Name    	Function
282 **       -----  ----    ----    	---------------------------------
283 **        <0>     1     VIDACTV		Video Active
284 **	  <1>	  1     HDACTV		Hard Disk Active
285 **	  <2>	  1     FLPACTV		Floppy Disk Active
286 **	  <3>	  1     KBDACTV		Keyboard Active
287 **	  <4>	  1     SIOACTV		Serial I/O Active
288 **	  <5>	  1     PIOACTV		Parallel I/O Active
289 **	  <6>	  1     PROG0ACTV	PRM 0 Active
290 **	  <7>	  1     PROG1ACTV	PRM 1 Active
291 **	  <8>	  1     PROG2ACTV	PRM 2 Active
292 **	  <9>	  1     PROG3ACTV	PRM 3 Active
293 **	  <12>	  1     EXT0ACTV	Primary Activity Mask EXTACT0
294 **	  <13>	  1     EXT1ACTV	Primary Activity Mask EXTACT1
295 **	  <14>	  1     EXT2ACTV	Primary Activity Mask EXTACT2
296 **	  <15>	  1     EXT3ACTV	Primary Activity Mask EXTACT3
297 **
298 **	  <10:11> Reserved
299 */
300 #define PMC_ASR_REG		0x002
301 #define PMC_ASR_INIT		0x0000
302 #define ASR_V_VIDACTV		0
303 #define ASR_M_VIDACTV		1 << ASR_V_VIDACTV
304 #define ASR_V_HDACTV		1
305 #define ASR_M_HDACTV		1 << ASR_V_HDACTV
306 #define ASR_V_FLPACTV		2
307 #define ASR_M_FLPACTV		1 << ASR_V_FLPACTV
308 #define ASR_V_KBDACTV		3
309 #define ASR_M_KBDACTV		1 << ASR_V_KBDACTV
310 #define ASR_V_SIOACTV		4
311 #define ASR_M_SIOACTV		1 << ASR_V_SIOACTV
312 #define ASR_V_PIOACTV		5
313 #define ASR_M_PIOACTV		1 << ASR_V_PIOACTV
314 #define ASR_V_PROG0ACTV		6
315 #define ASR_M_PROG0ACTV		1 << ASR_V_PROG0ACTV
316 #define ASR_V_PROG1ACTV		7
317 #define ASR_M_PROG1ACTV		1 << ASR_V_PROG1ACTV
318 #define ASR_V_PROG2ACTV		8
319 #define ASR_M_PROG2ACTV		1 << ASR_V_PROG2ACTV
320 #define ASR_V_PROG3ACTV		9
321 #define ASR_M_PROG3ACTV		1 << ASR_V_PROG3ACTV
322 #define ASR_V_EXT0ACTV		12
323 #define ASR_M_EXT0ACTV		1 << ASR_V_EXT0ACTV
324 #define ASR_V_EXT1ACTV		13
325 #define ASR_M_EXT1ACTV		1 << ASR_V_EXT1ACTV
326 #define ASR_V_EXT2ACTV		14
327 #define ASR_M_EXT2ACTV		1 << ASR_V_EXT2ACTV
328 #define ASR_V_EXT3ACTV		15
329 #define ASR_M_EXT3ACTV		1 << ASR_V_EXT3ACTV
330 
331 /*
332 **
333 **  Primary Activity Mask Register (PAMR) - Index 0x003
334 **
335 **        Loc   Size    Name    	Function
336 **       -----  ----    ----    	---------------------------------
337 **        <0>     1     PAMSKVID	PAM Video Accesses
338 **        <1>     1     PAMSKHD		PAM Hard Disk Accesses
339 **        <2>     1     PAMSKFLP	PAM Floppy Accesses
340 **        <3>     1     PAMSKKDB	PAM Keyboard Accesses
341 **        <4>     1     PAMSKSIO	PAM Serial I/O Accesses
342 **        <5>     1     PAMSKPIO	PAM Parallel I/O Accesses
343 **        <6>     1     PAMSKPROG0	PAM Programmable Range 0
344 **        <7>     1     PAMSKPROG1	PAM Programmable Range 1
345 **        <8>     1     PAMSKPROG2	PAM Programmable Range 2
346 **        <9>     1     PAMSKPROG3	PAM Programmable Range 3
347 **        <12>    1     PAMSKEACT0	PAM EXTACT0
348 **        <13>    1     PAMSKEACT1	PAM EXTACT1
349 **        <14>    1     PAMSKEACT2	PAM EXTACT2
350 **        <15>    1     PAMSKEACT3	PAM EXTACT3
351 **
352 **	  <10:11> Reserved
353 */
354 #define PMC_PAMR_REG		0x003
355 #define PMC_PAMR_INIT		0x0000
356 #define PAMR_V_PAMSKVID		0
357 #define PAMR_M_PAMSKVID		1 << PAMR_V_PAMSKVID
358 #define PAMR_V_PAMSKHD		1
359 #define PAMR_M_PAMSKHD		1 << PAMR_V_PAMSKHD
360 #define PAMR_V_PAMSKFLP		2
361 #define PAMR_M_PAMSKFLP		1 << PAMR_V_PAMSKFLP
362 #define PAMR_V_PAMSKKDB		3
363 #define PAMR_M_PAMSKKDB		1 << PAMR_V_PAMSKKDB
364 #define PAMR_V_PAMSKSIO		4
365 #define PAMR_M_PAMSKSIO		1 << PAMR_V_PAMSKSIO
366 #define PAMR_V_PAMSKPIO		5
367 #define PAMR_M_PAMSKPIO		1 << PAMR_V_PAMSKPIO
368 #define PAMR_V_PAMSKPROG0	6
369 #define PAMR_M_PAMSKPROG0	1 << PAMR_V_PAMSKPROG0
370 #define PAMR_V_PAMSKPROG1	7
371 #define PAMR_M_PAMSKPROG1	1 << PAMR_V_PAMSKPROG1
372 #define PAMR_V_PAMSKPROG2	8
373 #define PAMR_M_PAMSKPROG2	1 << PAMR_V_PAMSKPROG2
374 #define PAMR_V_PAMSKPROG3	9
375 #define PAMR_M_PAMSKPROG3	1 << PAMR_V_PAMSKPROG3
376 #define PAMR_V_PAMSKEACT0	12
377 #define PAMR_M_PAMSKEACT0	1 << PAMR_V_PAMSKEACT0
378 #define PAMR_V_PAMSKEACT1	13
379 #define PAMR_M_PAMSKEACT1	1 << PAMR_V_PAMSKEACT1
380 #define PAMR_V_PAMSKEACT2	14
381 #define PAMR_M_PAMSKEACT2	1 << PAMR_V_PAMSKEACT2
382 #define PAMR_V_PAMSKEACT3	15
383 #define PAMR_M_PAMSKEACT3	1 << PAMR_V_PAMSKEACT3
384 
385 /*
386 **
387 **  PMI Mask Register (PMIMR) - Index 0x004
388 **
389 **        Loc   Size    Name    	Function
390 **       -----  ----    ----    	---------------------------------
391 **        <0>     1     IMSKVID		PMI Mask Video Accesses
392 **        <1>     1     IMSKHD		PMI Mask Hard Disk Accesses
393 **        <2>     1     IMSKFLP		PMI Mask Floppy Accesses
394 **        <3>     1     IMSKKDB		PMI Mask Keyboard Accesses
395 **        <4>     1     IMSKSIO		PMI Mask Serial I/O Accesses
396 **        <5>     1     IMSKPIO		PMI Mask Parallel I/O Accesses
397 **        <6>     1     IMSKPROG0	PMI Mask Programmable Range 0
398 **        <7>     1     IMSKPROG1	PMI Mask Programmable Range 1
399 **        <8>     1     IMSKPROG2	PMI Mask Programmable Range 2
400 **        <9>     1     IMSKPROG3	PMI Mask Programmable Range 3
401 **        <12>    1     IMSKEACT0	PMI Mask EXTACT0
402 **        <13>    1     IMSKEACT1	PMI Mask EXTACT1
403 **        <14>    1     IMSKEACT2	PMI Mask EXTACT2
404 **        <15>    1     IMSKEACT3	PMI Mask EXTACT3
405 **
406 **	  <10:11> Reserved
407 */
408 #define PMC_PMIMR_REG		0x004
409 #define PMC_PMIMR_INIT		( PMIMR_M_IMSKVID   | PMIMR_M_IMSKHD    | \
410 				  PMIMR_M_IMSKFLP   | PMIMR_M_IMSKKDB   | \
411 				  PMIMR_M_IMSKSIO   | PMIMR_M_IMSKPIO   | \
412 				  PMIMR_M_IMSKPROG0 | PMIMR_M_IMSKPROG1 | \
413 				  PMIMR_M_IMSKPROG2 | PMIMR_M_IMSKPROG3 | \
414 				  PMIMR_M_IMSKEACT0 | PMIMR_M_IMSKEACT1 | \
415 				  PMIMR_M_IMSKEACT2 | PMIMR_M_IMSKEACT3 )
416 #define PMIMR_V_IMSKVID		0
417 #define PMIMR_M_IMSKVID		1 << PMIMR_V_IMSKVID
418 #define PMIMR_V_IMSKHD		1
419 #define PMIMR_M_IMSKHD		1 << PMIMR_V_IMSKHD
420 #define PMIMR_V_IMSKFLP		2
421 #define PMIMR_M_IMSKFLP		1 << PMIMR_V_IMSKFLP
422 #define PMIMR_V_IMSKKDB		3
423 #define PMIMR_M_IMSKKDB		1 << PMIMR_V_IMSKKDB
424 #define PMIMR_V_IMSKSIO		4
425 #define PMIMR_M_IMSKSIO		1 << PMIMR_V_IMSKSIO
426 #define PMIMR_V_IMSKPIO		5
427 #define PMIMR_M_IMSKPIO		1 << PMIMR_V_IMSKPIO
428 #define PMIMR_V_IMSKPROG0	6
429 #define PMIMR_M_IMSKPROG0	1 << PMIMR_V_IMSKPROG0
430 #define PMIMR_V_IMSKPROG1	7
431 #define PMIMR_M_IMSKPROG1	1 << PMIMR_V_IMSKPROG1
432 #define PMIMR_V_IMSKPROG2	8
433 #define PMIMR_M_IMSKPROG2	1 << PMIMR_V_IMSKPROG2
434 #define PMIMR_V_IMSKPROG3	9
435 #define PMIMR_M_IMSKPROG3	1 << PMIMR_V_IMSKPROG3
436 #define PMIMR_V_IMSKEACT0	12
437 #define PMIMR_M_IMSKEACT0	1 << PMIMR_V_IMSKEACT0
438 #define PMIMR_V_IMSKEACT1	13
439 #define PMIMR_M_IMSKEACT1	1 << PMIMR_V_IMSKEACT1
440 #define PMIMR_V_IMSKEACT2	14
441 #define PMIMR_M_IMSKEACT2	1 << PMIMR_V_IMSKEACT2
442 #define PMIMR_V_IMSKEACT3	15
443 #define PMIMR_M_IMSKEACT3	1 << PMIMR_V_IMSKEACT3
444 
445 /*
446 **
447 **  Heat Regulator Control Register (HRCR) - Index 0x005
448 **
449 **        Loc   Size    Name    	Function
450 **       -----  ----    ----    	---------------------------------
451 **        <0>     1     HTRGDLY0	Heat Regulator Delay 0
452 **        <1>     1     HTRGDLY1	Heat Regulator Delay 1
453 **        <2>     1     HTRGDLY2	Heat Regulator Delay 2
454 **        <3>     1     HTRGRAT0	Heat Regulator Ratio 0
455 **        <4>     1     HTRGRAT1	Heat Regulator Ratio 1
456 **        <5>     1     HTRGRAT2	Heat Regulator Ratio 2
457 **        <6>     1     HTRGEN		Heat Regulator Enable
458 **        <7>     1     HTRGLOCK	Heat Regulator Configuration Lock
459 **        <14>    1     FRCSLWEN	Force SLOW Enable
460 **        <15>    1     FRCSLWLOCK	Force Slow Lock
461 **
462 **	  <8:13> Reserved
463 */
464 #define PMC_HRCR_REG		0x005
465 #define PMC_HRCR_INIT		0x0000
466 #define HRCR_V_HTRGDLY		0
467 #define HRCR_M_HTRGDLY		0x7 << HRCR_V_HTRGDLY
468 #define HRCR_V_HTRGDLY0		0
469 #define HRCR_M_HTRGDLY0		1 << HRCR_V_HTRGDLY0
470 #define HRCR_V_HTRGDLY1		1
471 #define HRCR_M_HTRGDLY1		1 << HRCR_V_HTRGDLY1
472 #define HRCR_V_HTRGDLY2		2
473 #define HRCR_M_HTRGDLY2		1 << HRCR_V_HTRGDLY2
474 #define HRCR_V_HTRGRAT		3
475 #define HRCR_M_HTRGRAT		0x7 << HRCR_V_HTRGRAT
476 #define HRCR_V_HTRGRAT0		3
477 #define HRCR_M_HTRGRAT0		1 << HRCR_V_HTRGRAT0
478 #define HRCR_V_HTRGRAT1		4
479 #define HRCR_M_HTRGRAT1		1 << HRCR_V_HTRGRAT1
480 #define HRCR_V_HTRGRAT2		5
481 #define HRCR_M_HTRGRAT2		1 << HRCR_V_HTRGRAT2
482 #define HRCR_V_HTRGEN		6
483 #define HRCR_M_HTRGEN		1 << HRCR_V_HTRGEN
484 #define HRCR_V_HTRGLOCK		7
485 #define HRCR_M_HTRGLOCK		1 << HRCR_V_HTRGLOCK
486 #define HRCR_V_FRCSLWEN		14
487 #define HRCR_M_FRCSLWEN		1 << HRCR_V_FRCSLWEN
488 #define HRCR_V_FRCSLWLOCK	15
489 #define HRCR_M_FRCSLWLOCK	1 << HRCR_V_FRCSLWLOCK
490 
491 /*
492 ** Heater Regulator Delay
493 */
494 #define HTRGDLY_16SEC		0x000
495 #define HTRGDLY_32SEC		HRCR_M_HTRGDLY0
496 #define HTRGDLY_60SEC		HRCR_M_HTRGDLY1
497 #define HTRGDLY_120SEC		HRCR_M_HTRGDLY2
498 #define HTRGDLY_240SEC		(HRCR_M_HTRGDLY1 | HRCR_M_HTRGDLY2)
499 #define HTRGDLY_480SEC		(HRCR_M_HTRGDLY0 | HRCR_M_HTRGDLY1 | HRCR_M_HTRGDLY2)
500 
501 /*
502 ** Heater Regulator Ratio  (Percent)
503 */
504 #define HTRGRAT_50		0x000
505 #define HTRGRAT_66		HRCR_M_HTRGRAT0
506 #define HTRGRAT_80		HRCR_M_HTRGRAT1
507 #define HTRGRAT_90		(HRCR_M_HTRGRAT0 | HRCR_M_HTRGRAT1)
508 
509 /*
510 **
511 **  PMI Mask and Control Register (PMIMCR) - Index 0x006
512 **
513 **        Loc   Size    Name    	Function
514 **       -----  ----    ----    	---------------------------------
515 **        <0>     1     IMSKSQ2PMI	Mask SEQUOIA-2 Source from PMI
516 **        <1>     1     IMSKLB		Mask Low Battery from PMI
517 **        <2>     1     IMSKSPNDTO	Mask Suspend Time-out from PMI
518 **        <3>     1     IMSKSLPTO	Mask Sleep Time-out from PMI
519 **        <4>     1     IMSKDZTO	Mask Doze Time-out from PMI
520 **        <5>     1     IMSKGENTO	Mask Generic Time-out from PMI
521 **        <6>     1     IMSKACTV	Mask Generic Activity from PMI
522 **        <7>     1     IMSKPACTV	Mask Primary Activity from PMI
523 **        <8>     1     IMSKSACTV	Mask Secondary Activity from PMI
524 **        <10>    1     IMSKSWSTBY	Mask SWTCH from PMI
525 **        <11>    1     IMSKACPWR	Mask ACPWR from PMI
526 **        <12>    1     IMSKPROGTO	Mask Programmable Time-out from PMI
527 **        <13>    1     IMSKGPTMR	Mask GP Timer from PMI
528 **
529 **	  <9><14:15> Reserved
530 */
531 #define PMC_PMIMCR_REG		0x006
532 #define PMC_PMIMCR_INIT		( PMIMCR_M_IMSKSQ2PMI | PMIMCR_M_IMSKLB     | \
533 				  PMIMCR_M_IMSKSPNDTO | PMIMCR_M_IMSKSLPTO  | \
534 				  PMIMCR_M_IMSKDZTO   | PMIMCR_M_IMSKGENTO  | \
535 				  PMIMCR_M_IMSKACTV   | PMIMCR_M_IMSKPACTV  | \
536 				  PMIMCR_M_IMSKSACTV  | PMIMCR_M_IMSKSWSTBY | \
537 				  PMIMCR_M_IMSKACPWR  | PMIMCR_M_IMSKPROGTO | \
538 				  PMIMCR_M_IMSKGPTMR  )
539 #define PMIMCR_V_IMSKSQ2PMI	0
540 #define PMIMCR_M_IMSKSQ2PMI	1 << PMIMCR_V_IMSKSQ2PMI
541 #define PMIMCR_V_IMSKLB		1
542 #define PMIMCR_M_IMSKLB		1 << PMIMCR_V_IMSKLB
543 #define PMIMCR_V_IMSKSPNDTO	2
544 #define PMIMCR_M_IMSKSPNDTO	1 << PMIMCR_V_IMSKSPNDTO
545 #define PMIMCR_V_IMSKSLPTO	3
546 #define PMIMCR_M_IMSKSLPTO	1 << PMIMCR_V_IMSKSLPTO
547 #define PMIMCR_V_IMSKDZTO	4
548 #define PMIMCR_M_IMSKDZTO	1 << PMIMCR_V_IMSKDZTO
549 #define PMIMCR_V_IMSKGENTO	5
550 #define PMIMCR_M_IMSKGENTO	1 << PMIMCR_V_IMSKGENTO
551 #define PMIMCR_V_IMSKACTV	6
552 #define PMIMCR_M_IMSKACTV	1 << PMIMCR_V_IMSKACTV
553 #define PMIMCR_V_IMSKPACTV	7
554 #define PMIMCR_M_IMSKPACTV	1 << PMIMCR_V_IMSKPACTV
555 #define PMIMCR_V_IMSKSACTV	8
556 #define PMIMCR_M_IMSKSACTV	1 << PMIMCR_V_IMSKSACTV
557 #define PMIMCR_V_IMSKSWSTBY	10
558 #define PMIMCR_M_IMSKSWSTBY	1 << PMIMCR_V_IMSKSWSTBY
559 #define PMIMCR_V_IMSKACPWR	11
560 #define PMIMCR_M_IMSKACPWR	1 << PMIMCR_V_IMSKACPWR
561 #define PMIMCR_V_IMSKPROGTO	12
562 #define PMIMCR_M_IMSKPROGTO	1 << PMIMCR_V_IMSKPROGTO
563 #define PMIMCR_V_IMSKGPTMR	13
564 #define PMIMCR_M_IMSKGPTMR	1 << PMIMCR_V_IMSKGPTMR
565 
566 /*
567 **
568 **  General Purpose Control Register (GPCR) - Index 0x007
569 **
570 **        Loc   Size    Name    	Function
571 **       -----  ----    ----    	---------------------------------
572 **        <0>     1     ACDISCNSRV	ACPWR Disable Conserve Mode
573 **        <1>     1     ACON		ACPWR On
574 **        <2>     1     REFRPRD0	Refresh Period 0
575 **        <3>     1     REFRPRD1	Refresh Period 1
576 **        <4>     1     REFRPRD2	Refresh Period 2
577 **        <5>     1     SLFREFEN	Self Refresh Enable
578 **        <6>     1     RINGS0		Modem RING Select 0
579 **        <7>     1     RINGS1		Modem RING Select 1
580 **        <8>     1     GPIODATA0	General Purpose I/O Data 0
581 **        <9>     1     GPIODATA1	General Purpose I/O Data 1
582 **        <10>    1     GPIODATA2	General Purpose I/O Data 2
583 **        <11>    1     GPIODATA3	General Purpose I/O Data 3
584 **        <12>    1     GPIODIR0	General Purpose I/O Direction 0
585 **        <13>    1     GPIODIR1	General Purpose I/O Direction 1
586 **        <14>    1     GPIODIR2	General Purpose I/O Direction 2
587 **        <15>    1     GPIODIR3	General Purpose I/O Direction 3
588 **
589 */
590 #define PMC_GPCR_REG		0x007
591 #define PMC_GPCR_INIT		( REFRPRD_STOPPED | GPCR_M_GPIODIR0 | \
592 				  GPCR_M_GPIODIR1 )
593 #define GPCR_V_ACDISCNSRV	0
594 #define GPCR_M_ACDISCNSRV	1 << GPCR_V_ACDISCNSRV
595 #define GPCR_V_ACON		1
596 #define GPCR_M_ACON		1 << GPCR_V_ACON
597 #define GPCR_V_REFRPRD		2
598 #define GPCR_M_REFRPRD		0x7 << GPCR_V_REFRPRD
599 #define GPCR_V_REFRPRD0		2
600 #define GPCR_M_REFRPRD0		1 << GPCR_V_REFRPRD0
601 #define GPCR_V_REFRPRD1		3
602 #define GPCR_M_REFRPRD1		1 << GPCR_V_REFRPRD1
603 #define GPCR_V_REFRPRD2		4
604 #define GPCR_M_REFRPRD2		1 << GPCR_V_REFRPRD2
605 #define GPCR_V_SLFREFEN		5
606 #define GPCR_M_SLFREFEN		1 << GPCR_V_SLFREFEN
607 #define GPCR_V_RINGS		6
608 #define GPCR_M_RINGS		0x3 << GPCR_V_RINGS
609 #define GPCR_V_GPIODATA		8
610 #define GPCR_M_GPIODATA		0xF << GPCR_V_GPIODATA
611 #define GPCR_V_GPIODATA0	8
612 #define GPCR_M_GPIODATA0	1 << GPCR_V_GPIODATA0
613 #define GPCR_V_GPIODATA1	9
614 #define GPCR_M_GPIODATA1	1 << GPCR_V_GPIODATA1
615 #define GPCR_V_GPIODATA2	10
616 #define GPCR_M_GPIODATA2	1 << GPCR_V_GPIODATA2
617 #define GPCR_V_GPIODATA3	11
618 #define GPCR_M_GPIODATA3	1 << GPCR_V_GPIODATA3
619 #define GPCR_V_GPIODIR		12
620 #define GPCR_M_GPIODIR		0xF << GPCR_V_GPIODIR
621 #define GPCR_V_GPIODIR0		12
622 #define GPCR_M_GPIODIR0		1 << GPCR_V_GPIODIR0
623 #define GPCR_V_GPIODIR1		13
624 #define GPCR_M_GPIODIR1		1 << GPCR_V_GPIODIR1
625 #define GPCR_V_GPIODIR2		14
626 #define GPCR_M_GPIODIR2		1 << GPCR_V_GPIODIR2
627 #define GPCR_V_GPIODIR3		15
628 #define GPCR_M_GPIODIR3		1 << GPCR_V_GPIODIR3
629 
630 /*
631 ** Refresh Period
632 */
633 #define REFRPRD_15US		0x000
634 #define REFRPRD_30US		GPCR_M_REFRPRD0
635 #define REFRPRD_120US		GPCR_M_REFRPRD1
636 #define REFRPRD_STOPPED		GPCR_M_REFRPRD2
637 #define REFRPRD_60US		(GPCR_M_REFRPRD1 | GPCR_M_REFRPRD2)
638 
639 /*
640 **
641 **  Stop Clock Control Register (SCCR) - Index 0x008
642 **
643 **        Loc   Size    Name    	Function
644 **       -----  ----    ----    	---------------------------------
645 **        <0>     1     STPGLBEN	Stop Clock Global Enable
646 **        <1>     1     MORESTOP	More Stop Enable
647 **        <2>     1     STPRELDLY0	STPCLK Release Delay 0
648 **        <3>     1     STPRELDLY1	STPCLK Release Delay 1
649 **        <4>     1     GRNTDLY0	STPCLK Latency Delay Select 0
650 **        <5>     1     GRNTDLY1	STPCLK Latency Delay Select 1
651 **        <6>     1     WMSKINTR	Wake Mask INTR
652 **	  <7>	  1     WAIT4GRNT	Wait for Stop Grant
653 **	  <9>	  1     IOTRAPDIS	I/O Trap Disable
654 **	  <10>	  1     SVNCLKPLS	SMI PULSE Width Select
655 **	  <11>	  1     PCSTGSEL0	PC Staggering Select 0
656 **	  <12>	  1     PCSTGSEL1	PC Staggering Select 1
657 **	  <13>	  1     PCSTGDIS	PC Stagger Disable
658 **	  <14>	  1     PCSLWEN		PC Slow Enable
659 **
660 **	  <8><15> Reserved
661 */
662 #define PMC_SCCR_REG		0x008
663 #define PMC_SCCR_INIT		SCCR_M_WMSKINTR
664 #define SCCR_V_STPGLBEN		0
665 #define SCCR_M_STPGLBEN		1 << SCCR_V_STPGLBEN
666 #define SCCR_V_MORESTOP		1
667 #define SCCR_M_MORESTOP		1 << SCCR_V_MORESTOP
668 #define SCCR_V_STPRELDLY	2
669 #define SCCR_M_STPRELDLY	0x3 << SCCR_V_STPRELDLY
670 #define SCCR_V_STPRELDLY0	2
671 #define SCCR_M_STPRELDLY0	1 << SCCR_V_STPRELDLY0
672 #define SCCR_V_STPRELDLY1	3
673 #define SCCR_M_STPRELDLY1	1 << SCCR_V_STPRELDLY1
674 #define SCCR_V_GRNTDLY		4
675 #define SCCR_M_GRNTDLY		0x3 << SCCR_V_GRNTDLY
676 #define SCCR_V_GRNTDLY0		4
677 #define SCCR_M_GRNTDLY0		1 << SCCR_V_GRNTDLY0
678 #define SCCR_V_GRNTDLY1		5
679 #define SCCR_M_GRNTDLY1		1 << SCCR_V_GRNTDLY1
680 #define SCCR_V_WMSKINTR		6
681 #define SCCR_M_WMSKINTR		1 << SCCR_V_WMSKINTR
682 #define SCCR_V_WAIT4GRNT	7
683 #define SCCR_M_WAIT4GRNT	1 << SCCR_V_WAIT4GRNT
684 #define SCCR_V_IOTRAPDIS	9
685 #define SCCR_M_IOTRAPDIS	1 << SCCR_V_IOTRAPDIS
686 #define SCCR_V_SVNCLKPLS	10
687 #define SCCR_M_SVNCLKPLS	1 << SCCR_V_SVNCLKPLS
688 #define SCCR_V_PCSTGSEL		11
689 #define SCCR_M_PCSTGSEL		0x3 << SCCR_V_PCSTGSEL
690 #define SCCR_V_PCSTGSEL0	11
691 #define SCCR_M_PCSTGSEL0	1 << SCCR_V_PCSTGSEL0
692 #define SCCR_V_PCSTGSEL1	12
693 #define SCCR_M_PCSTGSEL1	1 << SCCR_V_PCSTGSEL1
694 #define SCCR_V_PCSTGDIS         13
695 #define SCCR_M_PCSTGDIS		1 << SCCR_V_PCSTGDIS
696 #define SCCR_V_PCSLWEN		14
697 #define SCCR_M_PCSLWEN		1 << SCCR_V_PCSLWEN
698 
699 /*
700 ** STPCLK Release Delay
701 */
702 #define STPRELDLY_0S		0x000
703 #define STPRELDLY_1US		SCCR_M_STPRELDLY0
704 #define STPRELDLY_45US		SCCR_M_STPRELDLY1
705 #define STPRELDLY_1MS		(SCCR_M_STPRELDLY0 | SCCR_M_STPRELDLY1)
706 
707 /*
708 ** STPCLK Release Delay Select
709 */
710 #define GRNTDLY_GRANTBUS        0x000
711 #define GRNTDLY_30US		SCCR_M_GRNTDLY0
712 #define GRNTDLY_125US		SCCR_M_GRNTDLY1
713 #define GRNTDLY_1MS		(SCCR_M_GRNTDLY0 | SCCR_M_GRNTDLY1)
714 
715 /*
716 ** PC Staggering Select
717 */
718 #define PCSTGSEL_240US		0x000
719 #define PCSTGSEL_4US		SCCR_M_PCSTGSEL0
720 #define PCSTGSEL_16US		SCCR_M_PCSTGSEL1
721 #define PCSTGSEL_64MS		(SCCR_M_PCSTGSEL0 | SCCR_M_PCSTGSEL1)
722 
723 /*
724 **
725 **  Fully-On Mode Power Control Register (FOMPCR) - Index 0x009
726 **
727 **        Loc   Size    Name    	Function
728 **       -----  ----    ----    	---------------------------------
729 **        <0>     1     PCON0		Power Control Fully-On Mode 0
730 **        <1>     1     PCON1		Power Control Fully-On Mode 1
731 **        <2>     1     PCON2		Power Control Fully-On Mode 2
732 **        <3>     1     PCON3		Power Control Fully-On Mode 3
733 **        <4>     1     PCON4		Power Control Fully-On Mode 4
734 **        <5>     1     PCON5		Power Control Fully-On Mode 5
735 **        <6>     1     PCON6		Power Control Fully-On Mode 6
736 **        <7>     1     PCON7		Power Control Fully-On Mode 7
737 **        <8>     1     PCON8		Power Control Fully-On Mode 8
738 **        <9>     1     PCON9		Power Control Fully-On Mode 9
739 **	  <10>	  1     GLBLPCEN	Global Power Control Enable
740 **
741 **	  <11:15> Reserved
742 */
743 #define PMC_FOMPCR_REG		0x009
744 #define PMC_FOMPCR_INIT		( FOMPCR_M_PCON0 | FOMPCR_M_PCON1 )
745 #define FOMPCR_V_PCON		0
746 #define FOMPCR_M_PCON		0x3FF << FOMPCR_V_PCON
747 #define FOMPCR_V_PCON0		0
748 #define FOMPCR_M_PCON0		1 << FOMPCR_V_PCON0
749 #define FOMPCR_V_PCON1		1
750 #define FOMPCR_M_PCON1		1 << FOMPCR_V_PCON1
751 #define FOMPCR_V_PCON2		2
752 #define FOMPCR_M_PCON2		1 << FOMPCR_V_PCON2
753 #define FOMPCR_V_PCON3		3
754 #define FOMPCR_M_PCON3		1 << FOMPCR_V_PCON3
755 #define FOMPCR_V_PCON4		4
756 #define FOMPCR_M_PCON4		1 << FOMPCR_V_PCON4
757 #define FOMPCR_V_PCON5		5
758 #define FOMPCR_M_PCON5		1 << FOMPCR_V_PCON5
759 #define FOMPCR_V_PCON6		6
760 #define FOMPCR_M_PCON6		1 << FOMPCR_V_PCON6
761 #define FOMPCR_V_PCON7		7
762 #define FOMPCR_M_PCON7		1 << FOMPCR_V_PCON7
763 #define FOMPCR_V_PCON8		8
764 #define FOMPCR_M_PCON8		1 << FOMPCR_V_PCON8
765 #define FOMPCR_V_PCON9		9
766 #define FOMPCR_M_PCON9		1 << FOMPCR_V_PCON9
767 #define FOMPCR_V_GLBLPCEN	10
768 #define FOMPCR_M_GLBLPCEN	1 << FOMPCR_V_GLBLPCEN
769 
770 /*
771 **
772 **  Doze Mode Power Control Register (DZMPCR) - Index 0x00A
773 **
774 **        Loc   Size    Name    	Function
775 **       -----  ----    ----    	---------------------------------
776 **        <0>     1     PCDZ0		Power Control Doze Mode 0
777 **        <1>     1     PCDZ1		Power Control Doze Mode 1
778 **        <2>     1     PCDZ2		Power Control Doze Mode 2
779 **        <3>     1     PCDZ3		Power Control Doze Mode 3
780 **        <4>     1     PCDZ4		Power Control Doze Mode 4
781 **        <5>     1     PCDZ5		Power Control Doze Mode 5
782 **        <6>     1     PCDZ6		Power Control Doze Mode 6
783 **        <7>     1     PCDZ7		Power Control Doze Mode 7
784 **        <8>     1     PCDZ8		Power Control Doze Mode 8
785 **        <9>     1     PCDZ9		Power Control Doze Mode 9
786 **	  <10>	  1     SPNDDLY		Suspend Delay
787 **	  <11>	  1     STRTDLY		Start Delay
788 **
789 **	  <12:15> Reserved
790 */
791 #define PMC_DZMPCR_REG		0x00A
792 #define PMC_DZMPCR_INIT		( DZMPCR_M_PCDZ0 | DZMPCR_M_PCDZ1 | \
793 				  DZMPCR_M_PCDZ2 )
794 #define DZMPCR_V_PCDZ		0
795 #define DZMPCR_M_PCDZ		0x3FF << DZMPCR_V_PCDZ
796 #define DZMPCR_V_PCDZ0		0
797 #define DZMPCR_M_PCDZ0		1 << DZMPCR_V_PCDZ0
798 #define DZMPCR_V_PCDZ1		1
799 #define DZMPCR_M_PCDZ1		1 << DZMPCR_V_PCDZ1
800 #define DZMPCR_V_PCDZ2		2
801 #define DZMPCR_M_PCDZ2		1 << DZMPCR_V_PCDZ2
802 #define DZMPCR_V_PCDZ3		3
803 #define DZMPCR_M_PCDZ3		1 << DZMPCR_V_PCDZ3
804 #define DZMPCR_V_PCDZ4		4
805 #define DZMPCR_M_PCDZ4		1 << DZMPCR_V_PCDZ4
806 #define DZMPCR_V_PCDZ5		5
807 #define DZMPCR_M_PCDZ5		1 << DZMPCR_V_PCDZ5
808 #define DZMPCR_V_PCDZ6		6
809 #define DZMPCR_M_PCDZ6		1 << DZMPCR_V_PCDZ6
810 #define DZMPCR_V_PCDZ7		7
811 #define DZMPCR_M_PCDZ7		1 << DZMPCR_V_PCDZ7
812 #define DZMPCR_V_PCDZ8		8
813 #define DZMPCR_M_PCDZ8		1 << DZMPCR_V_PCDZ8
814 #define DZMPCR_V_PCDZ9		9
815 #define DZMPCR_M_PCDZ9		1 << DZMPCR_V_PCDZ9
816 #define DZMPCR_V_SPNDDLY	10
817 #define DZMPCR_M_SPNDDLY	1 << DZMPCR_V_SPNDDLY
818 #define DZMPCR_V_STRTDLY	11
819 #define DZMPCR_M_STRTDLY	1 << DZMPCR_V_STRTDLY
820 
821 /*
822 **
823 **  Sleep Mode Power Control Register (SLPMPCR) - Index 0x00B
824 **
825 **        Loc   Size    Name    	Function
826 **       -----  ----    ----    	---------------------------------
827 **        <0>     1     PCSLP0		Power Control Sleep Mode 0
828 **        <1>     1     PCSLP1		Power Control Sleep Mode 1
829 **        <2>     1     PCSLP2		Power Control Sleep Mode 2
830 **        <3>     1     PCSLP3		Power Control Sleep Mode 3
831 **        <4>     1     PCSLP4		Power Control Sleep Mode 4
832 **        <5>     1     PCSLP5		Power Control Sleep Mode 5
833 **        <6>     1     PCSLP6		Power Control Sleep Mode 6
834 **        <7>     1     PCSLP7		Power Control Sleep Mode 7
835 **        <8>     1     PCSLP8		Power Control Sleep Mode 8
836 **        <9>     1     PCSLP9		Power Control Sleep Mode 9
837 **	  <10>	  1     LBLEDFLSH	Low Battery LED Flasher Enable
838 **	  <11>	  1     LBFLSHRAT0	Low Battery LED Flash Rate Selects 0
839 **	  <12>	  1     LBFLSHRAT1	Low Battery LED Flash Rate Selects 1
840 **	  <13>	  1     LBFLSHDUR0	Low Battery LED Flash Rate Duration 0
841 **	  <14>	  1     LBFLSHDUR1	Low Battery LED Flash Rate Duration 1
842 **	  <15>	  1     VLBFLSHEN	Very Low Battery Flash Enable
843 **
844 */
845 #define PMC_SLPMPCR_REG		0x00B
846 #define PMC_SLPMPCR_INIT	( SLPMPCR_M_PCSLP0  | SLPMPCR_M_PCSLP1 | \
847 				  SLPMPCR_M_PCSLP2  | LBFLSHRAT_2HZ    | \
848 				  LBFLSHDUR_62PT5MS )
849 #define SLPMPCR_V_PCSLP		0
850 #define SLPMPCR_M_PCSLP		0x3FF << SLPMPCR_V_PCSLP
851 #define SLPMPCR_V_PCSLP0	0
852 #define SLPMPCR_M_PCSLP0	1 << SLPMPCR_V_PCSLP0
853 #define SLPMPCR_V_PCSLP1	1
854 #define SLPMPCR_M_PCSLP1	1 << SLPMPCR_V_PCSLP1
855 #define SLPMPCR_V_PCSLP2	2
856 #define SLPMPCR_M_PCSLP2	1 << SLPMPCR_V_PCSLP2
857 #define SLPMPCR_V_PCSLP3	3
858 #define SLPMPCR_M_PCSLP3	1 << SLPMPCR_V_PCSLP3
859 #define SLPMPCR_V_PCSLP4	4
860 #define SLPMPCR_M_PCSLP4	1 << SLPMPCR_V_PCSLP4
861 #define SLPMPCR_V_PCSLP5	5
862 #define SLPMPCR_M_PCSLP5	1 << SLPMPCR_V_PCSLP5
863 #define SLPMPCR_V_PCSLP6	6
864 #define SLPMPCR_M_PCSLP6	1 << SLPMPCR_V_PCSLP6
865 #define SLPMPCR_V_PCSLP7	7
866 #define SLPMPCR_M_PCSLP7	1 << SLPMPCR_V_PCSLP7
867 #define SLPMPCR_V_PCSLP8	8
868 #define SLPMPCR_M_PCSLP8	1 << SLPMPCR_V_PCSLP8
869 #define SLPMPCR_V_PCSLP9	9
870 #define SLPMPCR_M_PCSLP9	1 << SLPMPCR_V_PCSLP9
871 #define SLPMPCR_V_LBLEDFLSH	10
872 #define SLPMPCR_M_LBLEDFLSH	1 << SLPMPCR_V_LBLEDFLSH
873 #define SLPMPCR_V_LBFLSHRAT	11
874 #define SLPMPCR_M_LBFLSHRAT	0x3 << SLPMPCR_V_LBFLSHRAT
875 #define SLPMPCR_V_LBFLSHRAT0	11
876 #define SLPMPCR_M_LBFLSHRAT0	1 << SLPMPCR_V_LBFLSHRAT0
877 #define SLPMPCR_V_LBFLSHRAT1	12
878 #define SLPMPCR_M_LBFLSHRAT1	1 << SLPMPCR_V_LBFLSHRAT1
879 #define SLPMPCR_V_LBFLSHDUR	13
880 #define SLPMPCR_M_LBFLSHDUR	0x3 << SLPMPCR_V_LBFLSHDUR
881 #define SLPMPCR_V_LBFLSHDUR0	13
882 #define SLPMPCR_M_LBFLSHDUR0	1 << SLPMPCR_V_LBFLSHDUR0
883 #define SLPMPCR_V_LBFLSHDUR1	14
884 #define SLPMPCR_M_LBFLSHDUR1	1 << SLPMPCR_V_LBFLSHDUR1
885 #define SLPMPCR_V_VLBFLSHEN	15
886 #define SLPMPCR_M_VLBFLSHEN	1 << SLPMPCR_V_VLBFLSHEN
887 
888 /*
889 ** Low Battery LED Flash Rate Selects
890 */
891 #define LBFLSHRAT_HLFHZ		0x000
892 #define LBFLSHRAT_1HZ		SLPMPCR_M_LBFLSHRAT0
893 #define LBFLSHRAT_2HZ		SLPMPCR_M_LBFLSHRAT1
894 #define LBFLSHRAT_4HZ		(SLPMPCR_M_LBFLSHRAT0 | SLPMPCR_M_LBFLSHRAT1)
895 
896 /*
897 ** Low Battery LED Flash Rate Duration	(milliseconds)
898 */
899 #define LBFLSHDUR_256MS		0x000
900 #define LBFLSHDUR_128MS		SLPMPCR_M_LBFLSHDUR0
901 #define LBFLSHDUR_62PT5MS	SLPMPCR_M_LBFLSHDUR1
902 #define LBFLSHDUR_31PT25MS	(SLPMPCR_M_LBFLSHDUR0 | SLPMPCR_M_LBFLSHDUR1)
903 
904 
905 /*
906 **
907 **  Suspend Mode Power Control Register (SPNDMPCR) - Index 0x00C
908 **
909 **        Loc   Size    Name    	Function
910 **       -----  ----    ----    	---------------------------------
911 **        <0>     1     PCSPND0		Power Control Suspend Mode 0
912 **        <1>     1     PCSPND1		Power Control Suspend Mode 1
913 **        <2>     1     PCSPND2		Power Control Suspend Mode 2
914 **        <3>     1     PCSPND3		Power Control Suspend Mode 3
915 **        <4>     1     PCSPND4		Power Control Suspend Mode 4
916 **        <5>     1     PCSPND5		Power Control Suspend Mode 5
917 **        <6>     1     PCSPND6		Power Control Suspend Mode 6
918 **        <7>     1     PCSPND7		Power Control Suspend Mode 7
919 **        <8>     1     PCSPND8		Power Control Suspend Mode 8
920 **        <9>     1     PCSPND9		Power Control Suspend Mode 9
921 **	  <10>	  1     SPLEDFLSH	Suspend LED Flasher Enable
922 **	  <11>	  1     SPFLSHRAT0	Suspend LED Flash Rate Selects 0
923 **	  <12>	  1     SPFLSHRAT1	Suspend LED Flash Rate Selects 1
924 **	  <13>	  1     SPFLSHDUR0	Suspend LED Flash Rate Duration 0
925 **	  <14>	  1     SPFLSHDUR1	Suspend LED Flash Rate Duration 1
926 **
927 **	  <15> Reserved
928 **
929 */
930 #define PMC_SPNDMPCR_REG	0x00c
931 #define PMC_SPNDMPCR_INIT	( SPNDMPCR_M_PCSPND0 | SPNDMPCR_M_PCSPND1 | \
932 				  SPNDMPCR_M_PCSPND2 | SPFLSHRAT_2HZ      | \
933 				  SPFLSHDUR_62PT5MS  )
934 #define SPNDMPCR_V_PCSPND	0
935 #define SPNDMPCR_M_PCSPND	0x3FF << SPNDMPCR_V_PCSPND
936 #define SPNDMPCR_V_PCSPND0	0
937 #define SPNDMPCR_M_PCSPND0	1 << SPNDMPCR_V_PCSPND0
938 #define SPNDMPCR_V_PCSPND1	1
939 #define SPNDMPCR_M_PCSPND1	1 << SPNDMPCR_V_PCSPND1
940 #define SPNDMPCR_V_PCSPND2	2
941 #define SPNDMPCR_M_PCSPND2	1 << SPNDMPCR_V_PCSPND2
942 #define SPNDMPCR_V_PCSPND3	3
943 #define SPNDMPCR_M_PCSPND3	1 << SPNDMPCR_V_PCSPND3
944 #define SPNDMPCR_V_PCSPND4	4
945 #define SPNDMPCR_M_PCSPND4	1 << SPNDMPCR_V_PCSPND4
946 #define SPNDMPCR_V_PCSPND5	5
947 #define SPNDMPCR_M_PCSPND5	1 << SPNDMPCR_V_PCSPND5
948 #define SPNDMPCR_V_PCSPND6	6
949 #define SPNDMPCR_M_PCSPND6	1 << SPNDMPCR_V_PCSPND6
950 #define SPNDMPCR_V_PCSPND7	7
951 #define SPNDMPCR_M_PCSPND7	1 << SPNDMPCR_V_PCSPND7
952 #define SPNDMPCR_V_PCSPND8	8
953 #define SPNDMPCR_M_PCSPND8	1 << SPNDMPCR_V_PCSPND8
954 #define SPNDMPCR_V_PCSPND9	9
955 #define SPNDMPCR_M_PCSPND9	1 << SPNDMPCR_V_PCSPND9
956 #define SPNDMPCR_V_SPLEDFLSH	10
957 #define SPNDMPCR_M_SPLEDFLSH	1 << SPNDMPCR_V_SPLEDFLSH
958 #define SPNDMPCR_V_SPFLSHRAT	11
959 #define SPNDMPCR_M_SPFLSHRAT	0x3 << SPNDMPCR_V_SPFLSHRAT
960 #define SPNDMPCR_V_SPFLSHRAT0	11
961 #define SPNDMPCR_M_SPFLSHRAT0	1 << SPNDMPCR_V_SPFLSHRAT0
962 #define SPNDMPCR_V_SPFLSHRAT1	12
963 #define SPNDMPCR_M_SPFLSHRAT1	1 << SPNDMPCR_V_SPFLSHRAT1
964 #define SPNDMPCR_V_SPFLSHDUR	13
965 #define SPNDMPCR_M_SPFLSHDUR	0x3 << SPNDMPCR_V_SPFLSHDUR
966 #define SPNDMPCR_V_SPFLSHDUR0	13
967 #define SPNDMPCR_M_SPFLSHDUR0	1 << SPNDMPCR_V_SPFLSHDUR0
968 #define SPNDMPCR_V_SPFLSHDUR1	14
969 #define SPNDMPCR_M_SPFLSHDUR1	1 << SPNDMPCR_V_SPFLSHDUR1
970 
971 /*
972 ** Suspend LED Flash Rate Selects
973 */
974 #define SPFLSHRAT_HLFHZ		0x000
975 #define SPFLSHRAT_1HZ		SPNDMPCR_M_SPFLSHRAT0
976 #define SPFLSHRAT_2HZ		SPNDMPCR_M_SPFLSHRAT1
977 #define SPFLSHRAT_4HZ		(SPNDMPCR_M_SPFLSHRAT0 | SPNDMPCR_M_SPFLSHRAT1)
978 
979 /*
980 ** Suspend LED Flash Rate Duration	(milliseconds)
981 */
982 #define SPFLSHDUR_256MS		0x000
983 #define SPFLSHDUR_128MS		SPNDMPCR_M_SPFLSHDUR0
984 #define SPFLSHDUR_62PT5MS	SPNDMPCR_M_SPFLSHDUR1
985 #define SPFLSHDUR_31PT25MS	(SPNDMPCR_M_SPFLSHDUR0 | SPNDMPCR_M_SPFLSHDUR1)
986 
987 /*
988 **
989 **  Timer Register (TIMERR) - Index 0x00D
990 **
991 **        Loc   Size    Name    	Function
992 **       -----  ----    ----    	---------------------------------
993 **        <0>     1     GENTMR0		Generic Timer 0
994 **        <1>     1     GENTMR1		Generic Timer 1
995 **        <2>     1     GENTMR2		Generic Timer 2
996 **        <3>     1     GENTMR3		Generic Timer 3
997 **        <4>     1     SPMDTMR0	Suspend Mode Timer 0
998 **        <5>     1     SPMDTMR1	Suspend Mode Timer 1
999 **        <6>     1     SPMDTMR2	Suspend Mode Timer 2
1000 **        <7>     1     SLPTMR0		Sleep Mode Timer 0
1001 **        <8>     1     SLPTMR1		Sleep Mode Timer 1
1002 **        <9>     1     SLPTMR2		Sleep Mode Timer 2
1003 **	  <10>	  1     DZTMR0		Doze Mode Timer 0
1004 **	  <11>	  1     DZTMR1		Doze Mode Timer 1
1005 **	  <12>	  1     DZTMR2		Doze Mode Timer 2
1006 **	  <15>	  1     GTRSTPADIS	Generic Timer Reset by PA Disable
1007 **
1008 **	  <13:14> Reserved
1009 **
1010 */
1011 #define PMC_TIMERR_REG		0x00D
1012 #define PMC_TIMERR_INIT		0x0000
1013 #define TIMERR_V_GENTMR		0
1014 #define TIMERR_M_GENTMR		0xF << TIMERR_V_GENTMR
1015 #define TIMERR_V_GENTMR0	0
1016 #define TIMERR_M_GENTMR0	1 << TIMERR_V_GENTMR0
1017 #define TIMERR_V_GENTMR1	1
1018 #define TIMERR_M_GENTMR1	1 << TIMERR_V_GENTMR1
1019 #define TIMERR_V_GENTMR2	2
1020 #define TIMERR_M_GENTMR2	1 << TIMERR_V_GENTMR2
1021 #define TIMERR_V_GENTMR3	3
1022 #define TIMERR_M_GENTMR3	1 << TIMERR_V_GENTMR3
1023 #define TIMERR_V_SPMDTMR	4
1024 #define TIMERR_M_SPMDTMR	0x7 << TIMERR_V_SPMDTMR
1025 #define TIMERR_V_SPMDTMR0	4
1026 #define TIMERR_M_SPMDTMR0	1 << TIMERR_V_SPMDTMR0
1027 #define TIMERR_V_SPMDTMR1	5
1028 #define TIMERR_M_SPMDTMR1	1 << TIMERR_V_SPMDTMR1
1029 #define TIMERR_V_SPMDTMR2	6
1030 #define TIMERR_M_SPMDTMR2	1 << TIMERR_V_SPMDTMR2
1031 #define TIMERR_V_SLPTMR		7
1032 #define TIMERR_M_SLPTMR		0x7 << TIMERR_V_SLPTMR
1033 #define TIMERR_V_SLPTMR0	7
1034 #define TIMERR_M_SLPTMR0	1 << TIMERR_V_SLPTMR0
1035 #define TIMERR_V_SLPTMR1	8
1036 #define TIMERR_M_SLPTMR1	1 << TIMERR_V_SLPTMR1
1037 #define TIMERR_V_SLPTMR2	9
1038 #define TIMERR_M_SLPTMR2	1 << TIMERR_V_SLPTMR2
1039 #define TIMERR_V_DZTMR		10
1040 #define TIMERR_M_DZTMR		0x7 << TIMERR_V_DZTMR
1041 #define TIMERR_V_DZTMR0		10
1042 #define TIMERR_M_DZTMR0		1 << TIMERR_V_DZTMR0
1043 #define TIMERR_V_DZTMR1		11
1044 #define TIMERR_M_DZTMR1		1 << TIMERR_V_DZTMR1
1045 #define TIMERR_V_DZTMR2		12
1046 #define TIMERR_M_DZTMR2		1 << TIMERR_V_DZTMR2
1047 #define TIMERR_V_GTRSTPADIS	15
1048 #define TIMERR_M_GTRSTPADIS	1 << TIMERR_V_GTRSTPADIS
1049 
1050 /*
1051 ** Generic Timer (Seconds)
1052 */
1053 #define GENTMR_DISABLE		0x000
1054 #define GENTMR_2S		TIMERR_M_GENTMR0
1055 #define GENTMR_4S		TIMERR_M_GENTMR1
1056 #define GENTMR_6S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR1)
1057 #define GENTMR_8S		TIMERR_M_GENTMR2
1058 #define GENTMR_10S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR2)
1059 #define GENTMR_15S		(TIMERR_M_GENTMR1 | TIMERR_M_GENTMR2)
1060 #define GENTMR_20S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR1 | TIMERR_M_GENTMR2)
1061 #define GENTMR_25S		TIMERR_M_GENTMR3
1062 #define GENTMR_30S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR3)
1063 #define GENTMR_40S		(TIMERR_M_GENTMR1 | TIMERR_M_GENTMR3)
1064 #define GENTMR_50S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR1 | TIMERR_M_GENTMR3)
1065 #define GENTMR_60S		(TIMERR_M_GENTMR2 | TIMERR_M_GENTMR3)
1066 #define GENTMR_75S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR2 | TIMERR_M_GENTMR3)
1067 #define GENTMR_90S		(TIMERR_M_GENTMR1 | TIMERR_M_GENTMR2 | TIMERR_M_GENTMR3)
1068 #define GENTMR_120S		(TIMERR_M_GENTMR0 | TIMERR_M_GENTMR1 | TIMERR_M_GENTMR2 | TIMERR_M_GENTMR3)
1069 
1070 /*
1071 ** Suspend Mode Timer (Minutes)
1072 */
1073 #define SPMDTMR_DISABLE		0x000
1074 #define SPMDTMR_5MIN		TIMERR_M_SPMDTMR0
1075 #define SPMDTMR_10MIN		TIMERR_M_SPMDTMR1
1076 #define SPMDTMR_15MIN		(TIMERR_M_SPMDTMR0 | TIMERR_M_SPMDTMR1)
1077 #define SPMDTMR_20MIN		TIMERR_M_SPMDTMR2
1078 #define SPMDTMR_30MIN		(TIMERR_M_SPMDTMR0 | TIMERR_M_SPMDTMR2)
1079 #define SPMDTMR_40MIN		(TIMERR_M_SPMDTMR1 | TIMERR_M_SPMDTMR2)
1080 #define SPMDTMR_60MIN		(TIMERR_M_SPMDTMR0 | TIMERR_M_SPMDTMR1 | TIMERR_M_SPMDTMR2)
1081 
1082 /*
1083 ** Sleep Mode Timer (Minutes)
1084 */
1085 #define SLPTMR_DISABLE		0x000
1086 #define SLPTMR_1MIN		TIMERR_M_SLPTMR0
1087 #define SLPTMR_2MIN		TIMERR_M_SLPTMR1
1088 #define SLPTMR_4MIN		(TIMERR_M_SLPTMR0 | TIMERR_M_SLPTMR1)
1089 #define SLPTMR_6MIN		TIMERR_M_SLPTMR2
1090 #define SLPTMR_8MIN		(TIMERR_M_SLPTMR0 | TIMERR_M_SLPTMR2)
1091 #define SLPTMR_12MIN		(TIMERR_M_SLPTMR1 | TIMERR_M_SLPTMR2)
1092 #define SLPTMR_16MIN		(TIMERR_M_SLPTMR0 | TIMERR_M_SLPTMR1 | TIMERR_M_SLPTMR2)
1093 
1094 /*
1095 ** Doze Mode Timer (Seconds)
1096 */
1097 #define DZTMR_DISABLE		0x000
1098 #define DZTMR_PT125S		TIMERR_M_DZTMR0
1099 #define DZTMR_PT250S		TIMERR_M_DZTMR1
1100 #define DZTMR_PT500S		(TIMERR_M_DZTMR0 | TIMERR_M_DZTMR1)
1101 #define DZTMR_1S		TIMERR_M_DZTMR2
1102 #define DZTMR_4S		(TIMERR_M_DZTMR0 | TIMERR_M_DZTMR2)
1103 #define DZTMR_8S		(TIMERR_M_DZTMR1 | TIMERR_M_DZTMR2)
1104 #define DZTMR_16S		(TIMERR_M_DZTMR0 | TIMERR_M_DZTMR1 | TIMERR_M_DZTMR2)
1105 
1106 /*
1107 **
1108 **  PMC Miscellaneous Control 1 Register (PMCMCR1) - Index 0x00E
1109 **
1110 **        Loc   Size    Name    	Function
1111 **       -----  ----    ----    	---------------------------------
1112 **        <2>     1     GPCTSEL0	General Purpose Counter/Timer Select 0
1113 **        <3>     1     GPCTSEL1	General Purpose Counter/Timer Select 1
1114 **        <4>     1     GPCTEN		Generic Purpose Counter/Timer Enable
1115 **        <5>     1     WMSKVLBNAC	Wake Mask VLB if Not ACPWR
1116 **        <6>     1     WAKE0MSK	WAKE0 Mask
1117 **        <7>     1     WAKE1MSK	WAKE1 Mask
1118 **        <8>     1     WMSKRING	Wake Mask RING
1119 **        <9>     1     WMSKRTC		Wake Mask RTC
1120 **        <11>    1     WMSKTMR		Wake Mask GP Timer
1121 **	  <12>	  1     PRDCTID0	Product Identification 0
1122 **	  <13>	  1     PRDCTID1	Product Identification 1
1123 **	  <14>	  1     PRDCTID2	Product Identification 2
1124 **	  <15>	  1     PRDCTID3	Product Identification 3
1125 **
1126 **	  <0:1><10> Reserved
1127 **
1128 */
1129 #define PMC_PMCMCR1_REG		0x00E
1130 #define PMC_PMCMCR1_INIT	( PMCMCR1_M_WMSKVLBNAC | PMCMCR1_M_WAKE0MSK | \
1131 				  PMCMCR1_M_WAKE1MSK   | PMCMCR1_M_WMSKRING | \
1132 				  PMCMCR1_M_WMSKRTC    | PMCMCR1_M_WMSKTMR  )
1133 #define PMCMCR1_V_GPCTSEL0	2
1134 #define PMCMCR1_M_GPCTSEL0	1 << PMCMCR1_V_GPCTSEL0
1135 #define PMCMCR1_V_GPCTSEL1	3
1136 #define PMCMCR1_M_GPCTSEL1	1 << PMCMCR1_V_GPCTSEL1
1137 #define PMCMCR1_V_GPCTEN	4
1138 #define PMCMCR1_M_GPCTEN	1 << PMCMCR1_V_GPCTEN
1139 #define PMCMCR1_V_WMSKVLBNAC	5
1140 #define PMCMCR1_M_WMSKVLBNAC	1 << PMCMCR1_V_WMSKVLBNAC
1141 #define PMCMCR1_V_WAKE0MSK	6
1142 #define PMCMCR1_M_WAKE0MSK	1 << PMCMCR1_V_WAKE0MSK
1143 #define PMCMCR1_V_WAKE1MSK	7
1144 #define PMCMCR1_M_WAKE1MSK	1 << PMCMCR1_V_WAKE1MSK
1145 #define PMCMCR1_V_WMSKRING	8
1146 #define PMCMCR1_M_WMSKRING	1 << PMCMCR1_V_WMSKRING
1147 #define PMCMCR1_V_WMSKRTC	9
1148 #define PMCMCR1_M_WMSKRTC	1 << PMCMCR1_V_WMSKRTC
1149 #define PMCMCR1_V_WMSKTMR	11
1150 #define PMCMCR1_M_WMSKTMR	1 << PMCMCR1_V_WMSKTMR
1151 #define PMCMCR1_V_PRDCTID	12
1152 #define PMCMCR1_M_PRDCTID	0xF << PMCMCR1_V_PRDCTID
1153 
1154 /*
1155 **
1156 **  GP Counter/Timer Register (GPCTR) - Index 0x010
1157 **
1158 **        Loc   Size    Name    	Function
1159 **       -----  ----    ----    	---------------------------------
1160 **        <0>     1     GPCT0		General Purpose Counter/Timer 0
1161 **        <1>     1     GPCT1		General Purpose Counter/Timer 1
1162 **        <2>     1     GPCT2		General Purpose Counter/Timer 2
1163 **        <3>     1     GPCT3		General Purpose Counter/Timer 3
1164 **        <4>     1     GPCT4		General Purpose Counter/Timer 4
1165 **        <5>     1     GPCT5		General Purpose Counter/Timer 5
1166 **        <6>     1     GPCT6		General Purpose Counter/Timer 6
1167 **        <7>     1     GPCT7		General Purpose Counter/Timer 7
1168 **        <8>     1     GPCT8		General Purpose Counter/Timer 8
1169 **        <9>     1     GPCT9		General Purpose Counter/Timer 9
1170 **        <10>    1     GPCT10		General Purpose Counter/Timer 10
1171 **        <11>    1     GPCT11		General Purpose Counter/Timer 11
1172 **        <12>    1     GPCT12		General Purpose Counter/Timer 12
1173 **        <13>    1     GPCT13		General Purpose Counter/Timer 13
1174 **        <14>    1     GPCT14		General Purpose Counter/Timer 14
1175 **        <15>    1     GPCT15		General Purpose Counter/Timer 15
1176 **
1177 */
1178 #define PMC_GPCTR_REG		0x010
1179 #define GPCTR_M_GPCTR		0xFFFFFFFF
1180 
1181 /*
1182 **
1183 **  GP Timer Compare Register (GPTMRCMPR) - Index 0x011
1184 **
1185 **        Loc   Size    Name    	Function
1186 **       -----  ----    ----    	---------------------------------
1187 **        <0>     1     GPTMRCMP0       GP Counter/Timer Compare 0
1188 **        <1>     1     GPTMRCMP1	GP Counter/Timer Compare 1
1189 **        <2>     1     GPTMRCMP2	GP Counter/Timer Compare 2
1190 **        <3>     1     GPTMRCMP3	GP Counter/Timer Compare 3
1191 **        <4>     1     GPTMRCMP4	GP Counter/Timer Compare 4
1192 **        <5>     1     GPTMRCMP5	GP Counter/Timer Compare 5
1193 **        <6>     1     GPTMRCMP6	GP Counter/Timer Compare 6
1194 **        <7>     1     GPTMRCMP7	GP Counter/Timer Compare 7
1195 **        <8>     1     GPTMRCMP8	GP Counter/Timer Compare 8
1196 **        <9>     1     GPTMRCMP9	GP Counter/Timer Compare 9
1197 **        <10>    1     GPTMRCMP10	GP Counter/Timer Compare 10
1198 **        <11>    1     GPTMRCMP11	GP Counter/Timer Compare 11
1199 **        <12>    1     GPTMRCMP12	GP Counter/Timer Compare 12
1200 **        <13>    1     GPTMRCMP13	GP Counter/Timer Compare 13
1201 **        <14>    1     GPTMRCMP14	GP Counter/Timer Compare 14
1202 **        <15>    1     GPTMRCMP15	GP Counter/Timer Compare 15
1203 **
1204 */
1205 #define PMC_GPTMRCMPR_REG		0x010
1206 #define GPTMRCMPR_M_GPTMRCMPR		0xFFFFFFFF
1207 
1208 /*
1209 **
1210 **  Debounce Control Register (DBCR) - Index 0x012
1211 **
1212 **        Loc   Size    Name    	Function
1213 **       -----  ----    ----    	---------------------------------
1214 **        <0>     1     DBDIS0		Debounce Disable 0
1215 **        <2>     1     DBDIS1		Debounce Disable 1
1216 **        <3>     1     DBTMDR1		Debounce Time Duration 1
1217 **        <4>     1     DBDIS2		Debounce Disable 2
1218 **        <5>     1     DBTMDR2		Debounce Time Duration 2
1219 **        <6>     1     DBDIS3		Debounce Disable 3
1220 **        <7>     1     DBTMDR3		Debounce Time Duration 3
1221 **	  <12>	  1     WAKE0DBDIS	WAKE0 Debounce Disable
1222 **	  <13>	  1     WAKE0DBTMDR	WAKE0 Debounce Time Duration
1223 **	  <14>	  1     WAKE1DBDIS	WAKE1 Debounce Disable
1224 **	  <15>	  1     WAKE1DBTMDR	WAKE1 Debounce Time Duration
1225 **
1226 **	  <1><8:11> Reserved
1227 **
1228 */
1229 #define PMC_DBCR_REG		0x012
1230 #define PMC_DBCR_INIT		0x0000
1231 #define DBCR_V_DBDIS0		0
1232 #define DBCR_M_DBDIS0		1 << DBCR_V_DBDIS0
1233 #define DBCR_V_DBDIS1		2
1234 #define DBCR_M_DBDIS1		1 << DBCR_V_DBDIS1
1235 #define DBCR_V_DBTMDR1		3
1236 #define DBCR_M_DBTMDR1		1 << DBCR_V_DBTMDR1
1237 #define DBCR_V_DBDIS2		4
1238 #define DBCR_M_DBDIS2		1 << DBCR_V_DBDIS2
1239 #define DBCR_V_DBTMDR2		5
1240 #define DBCR_M_DBTMDR2		1 << DBCR_V_DBTMDR2
1241 #define DBCR_V_DBDIS3		6
1242 #define DBCR_M_DBDIS3		1 << DBCR_V_DBDIS3
1243 #define DBCR_V_DBTMDR3		7
1244 #define DBCR_M_DBTMDR3		1 << DBCR_V_DBTMDR3
1245 #define DBCR_V_WAKE0DBDIS	12
1246 #define DBCR_M_WAKE0DBDIS	1 << DBCR_V_WAKE0DBDIS
1247 #define DBCR_V_WAKE0DBTMDR	13
1248 #define DBCR_M_WAKE0DBTMDR	1 << DBCR_V_WAKE0DBTMDR
1249 #define DBCR_V_WAKE1DBDIS	14
1250 #define DBCR_M_WAKE1DBDIS	1 << DBCR_V_WAKE1DBDIS
1251 #define DBCR_V_WAKE1DBTMDR	15
1252 #define DBCR_M_WAKE1DBTMDR	1 << DBCR_V_WAKE1DBTMDR
1253 
1254 /*
1255 **
1256 **  PMC Miscellaneous Control 2 Register (PMCMCR2) - Index 0x013
1257 **
1258 **        Loc   Size    Name    	Function
1259 **       -----  ----    ----    	---------------------------------
1260 **        <1>     1     SMIRDYEN	SMIRDY# Enable
1261 **        <2>     1     PWRGDSTBYDIS	PWRGOOD Standby Disable
1262 **        <3>     1     GLBLRSTEN	Global Reset Enable
1263 **        <4>     1     PMCRSTEN	PMC Reset Enable
1264 **        <7>     1     SPSRESETDIS	Disable SRESET Upon Resume
1265 **        <8>     1     SPRSTDRVDIS	Disable RSTDRV Upon Resume
1266 **        <9>     1     WAKE0TOGL	WAKE0 Toggle Select
1267 **        <10>    1     WAKE1TOGL	WAKE1 Toggle Select
1268 **	  <14>	  1     SWTCHEN		SWTCH Enable
1269 **	  <15>	  1     RSTCPUFLG	RSTCPU Flag
1270 **
1271 **	  <0><5:6><11:13> Reserved
1272 **
1273 */
1274 #define PMC_PMCMCR2_REG		0x013
1275 #define PMC_PMCMCR2_INIT	( PMCMCR2_M_PWRGDSTBYDIS | PMCMCR2_M_GLBLRSTEN | \
1276 				  PMCMCR2_M_PMCRSTEN     | \
1277 			          PMCMCR2_M_SPSRESETDIS  )
1278 #define PMCMCR2_V_GPCTSEL0	1
1279 #define PMCMCR2_M_GPCTSEL0	1 << PMCMCR2_V_SMIRDYEN
1280 #define PMCMCR2_V_PWRGDSTBYDIS	2
1281 #define PMCMCR2_M_PWRGDSTBYDIS	1 << PMCMCR2_V_PWRGDSTBYDIS
1282 #define PMCMCR2_V_GLBLRSTEN	3
1283 #define PMCMCR2_M_GLBLRSTEN	1 << PMCMCR2_V_GLBLRSTEN
1284 #define PMCMCR2_V_PMCRSTEN	4
1285 #define PMCMCR2_M_PMCRSTEN	1 << PMCMCR2_V_PMCRSTEN
1286 #define PMCMCR2_V_SPSRESETDIS	7
1287 #define PMCMCR2_M_SPSRESETDIS	1 << PMCMCR2_V_SPSRESETDIS
1288 #define PMCMCR2_V_SPRSTDRVDIS	8
1289 #define PMCMCR2_M_SPRSTDRVDIS	1 << PMCMCR2_V_SPRSTDRVDIS
1290 #define PMCMCR2_V_WAKE0TOGL	9
1291 #define PMCMCR2_M_WAKE0TOGL	1 << PMCMCR2_V_WAKE0TOGL
1292 #define PMCMCR2_V_WAKE1TOGL	10
1293 #define PMCMCR2_M_WAKE1TOGL	1 << PMCMCR2_V_WAKE1TOGL
1294 #define PMCMCR2_V_SWTCHEN	14
1295 #define PMCMCR2_M_SWTCHEN	1 << PMCMCR2_V_SWTCHEN
1296 #define PMCMCR2_V_RSTCPUFLG	15
1297 #define PMCMCR2_M_RSTCPUFLG	1 << PMCMCR2_V_RSTCPUFLG
1298 
1299 /*
1300 **
1301 **  Optional GPIO Control Register 2 (GPIOCR2) - Index 0x014
1302 **
1303 **        Loc   Size    Name    	Function
1304 **       -----  ----    ----    	---------------------------------
1305 **        <0>     1     GPIOADATA0	General Purpose I/O A Data 0
1306 **        <1>     1     GPIOADATA1	General Purpose I/O A Data 1
1307 **        <2>     1     GPIOADIR0	General Purpose I/O A Direction 0
1308 **        <3>     1     GPIOADIR1	General Purpose I/O A Direction 1
1309 **        <4>     1     GPIOBDATA0	General Purpose I/O B Data 0
1310 **        <5>     1     GPIOBDATA1	General Purpose I/O B Data 1
1311 **        <6>     1     GPIOBDIR0	General Purpose I/O B Direction 0
1312 **        <7>     1     GPIOBDIR1	General Purpose I/O B Direction 1
1313 **        <8>     1     GPIOCDATA0	General Purpose I/O C Data 0
1314 **        <9>     1     GPIOCDATA1	General Purpose I/O C Data 1
1315 **        <10>    1     GPIOCDIR0	General Purpose I/O C Direction 0
1316 **        <11>    1     GPIOCDIR1	General Purpose I/O C Direction 1
1317 **
1318 **	  <12:15> Reserved
1319 **
1320 */
1321 #define PMC_GPIOCR2_REG		0x014
1322 #define PMC_GPIOCR2_INIT	( GPIOCR2_M_GPIOADIR0 | GPIOCR2_M_GPIOADIR1  | \
1323 				  GPIOCR2_M_GPIOBDIR1 | GPIOCR2_M_GPIOCDATA0 | \
1324 				  GPIOCR2_M_GPIOCDIR0 | GPIOCR2_M_GPIOCDIR1  )
1325 #define GPIOCR2_V_GPIOADATA	0
1326 #define GPIOCR2_M_GPIOADATA	0x3 << GPIOCR2_V_GPIOADATA
1327 #define GPIOCR2_V_GPIOADATA0	0
1328 #define GPIOCR2_M_GPIOADATA0	1 << GPIOCR2_V_GPIOADATA0
1329 #define GPIOCR2_V_GPIOADATA1	1
1330 #define GPIOCR2_M_GPIOADATA1	1 << GPIOCR2_V_GPIOADATA1
1331 #define GPIOCR2_V_GPIOADIR	2
1332 #define GPIOCR2_M_GPIOADIR	0x3 << GPIOCR2_V_GPIOADIR
1333 #define GPIOCR2_V_GPIOADIR0	2
1334 #define GPIOCR2_M_GPIOADIR0	1 << GPIOCR2_V_GPIOADIR0
1335 #define GPIOCR2_V_GPIOADIR1	3
1336 #define GPIOCR2_M_GPIOADIR1	1 << GPIOCR2_V_GPIOADIR1
1337 #define GPIOCR2_V_GPIOBDATA	4
1338 #define GPIOCR2_M_GPIOBDATA	0x3 << GPIOCR2_V_GPIOBDATA
1339 #define GPIOCR2_V_GPIOBDATA0	4
1340 #define GPIOCR2_M_GPIOBDATA0	1 << GPIOCR2_V_GPIOBDATA0
1341 #define GPIOCR2_V_GPIOBDATA1	5
1342 #define GPIOCR2_M_GPIOBDATA1	1 << GPIOCR2_V_GPIOBDATA1
1343 #define GPIOCR2_V_GPIOBDIR	6
1344 #define GPIOCR2_M_GPIOBDIR	0x3 << GPIOCR2_V_GPIOBDIR
1345 #define GPIOCR2_V_GPIOBDIR0	6
1346 #define GPIOCR2_M_GPIOBDIR0	1 << GPIOCR2_V_GPIOBDIR0
1347 #define GPIOCR2_V_GPIOBDIR1	7
1348 #define GPIOCR2_M_GPIOBDIR1	1 << GPIOCR2_V_GPIOBDIR1
1349 #define GPIOCR2_V_GPIOCDATA	8
1350 #define GPIOCR2_M_GPIOCDATA	0x3 << GPIOCR2_V_GPIOCDATA
1351 #define GPIOCR2_V_GPIOCDATA0	8
1352 #define GPIOCR2_M_GPIOCDATA0	1 << GPIOCR2_V_GPIOCDATA0
1353 #define GPIOCR2_V_GPIOCDATA1	9
1354 #define GPIOCR2_M_GPIOCDATA1	1 << GPIOCR2_V_GPIOCDATA1
1355 #define GPIOCR2_V_GPIOCDIR	10
1356 #define GPIOCR2_M_GPIOCDIR	0x3 << GPIOCR2_V_GPIOCDIR
1357 #define GPIOCR2_V_GPIOCDIR0	10
1358 #define GPIOCR2_M_GPIOCDIR0	1 << GPIOCR2_V_GPIOCDIR0
1359 #define GPIOCR2_V_GPIOCDIR1	11
1360 #define GPIOCR2_M_GPIOCDIR1	1 << GPIOCR2_V_GPIOCDIR1
1361 
1362 /*
1363 **
1364 **  Leakage Control Register (LKCR) - Index 0x015
1365 **
1366 **        Loc   Size    Name    	Function
1367 **       -----  ----    ----    	---------------------------------
1368 **        <0>     1     CPULCDIS	CPU Interface Leakage Control Disable
1369 **        <1>     1     DRAMLCDIS	DRAM Interface Leakage Control Disable
1370 **        <2>     1     L2CACHELCDIS	L2 Cache Leakage Control Disable
1371 **        <3>     1     ATLCDIS		AT Bus Interface Leakage Control Disable
1372 **        <4>     1     BBUSLCDIS	Burst Bus Interface Leakage Control Disable
1373 **        <5>     1     GPIOLCDIS	GPIO Interface Leakage Control Disable
1374 **        <6>     1     PC49LCDIS	PC4 to PC9 Leakage Control Disable
1375 **        <7>     1     LEDLCDIS	LED Interface Leakage Control Disable
1376 **        <8>     1     BMLCDIS		Battery Management Leakage Control Disable
1377 **        <9>     1     PC03LCDIS	PC0 to PC3 Leakage Control Disable
1378 **        <14>    1     PWRGDLCDIS	Enable Leakage Control
1379 **        <15>    1     LCDIS		Global Leakage Control
1380 **
1381 **	  <10:13> Reserved
1382 **
1383 */
1384 #define PMC_LKCR_REG		0x015
1385 #define PMC_LKCR_INIT		( LKCR_M_CPULCDIS     | LKCR_M_DRAMLCDIS | \
1386 				  LKCR_M_L2CACHELCDIS | LKCR_M_ATLCDIS   | \
1387 				  LKCR_M_BBUSLCDIS    | LKCR_M_GPIOLCDIS | \
1388 				  LKCR_M_PC49LCDIS    | LKCR_M_LEDLCDIS  | \
1389 				  LKCR_M_BMLCDIS      | LKCR_M_PC03LCDIS | \
1390 				  LKCR_M_PWRGDLCDIS   | LKCR_M_LCDIS     )
1391 #define LKCR_V_CPULCDIS		0
1392 #define LKCR_M_CPULCDIS		1 << LKCR_V_CPULCDIS
1393 #define LKCR_V_DRAMLCDIS	1
1394 #define LKCR_M_DRAMLCDIS	1 << LKCR_V_DRAMLCDIS
1395 #define LKCR_V_L2CACHELCDIS	2
1396 #define LKCR_M_L2CACHELCDIS	1 << LKCR_V_L2CACHELCDIS
1397 #define LKCR_V_ATLCDIS		3
1398 #define LKCR_M_ATLCDIS		1 << LKCR_V_ATLCDIS
1399 #define LKCR_V_BBUSLCDIS	4
1400 #define LKCR_M_BBUSLCDIS	1 << LKCR_V_BBUSLCDIS
1401 #define LKCR_V_GPIOLCDIS	5
1402 #define LKCR_M_GPIOLCDIS	1 << LKCR_V_GPIOLCDIS
1403 #define LKCR_V_PC49LCDIS	6
1404 #define LKCR_M_PC49LCDIS	1 << LKCR_V_PC49LCDIS
1405 #define LKCR_V_LEDLCDIS		7
1406 #define LKCR_M_LEDLCDIS		1 << LKCR_V_LEDLCDIS
1407 #define LKCR_V_BMLCDIS		8
1408 #define LKCR_M_BMLCDIS		1 << LKCR_V_BMLCDIS
1409 #define LKCR_V_PC03LCDIS	9
1410 #define LKCR_M_PC03LCDIS	1 << LKCR_V_PC03LCDIS
1411 #define LKCR_V_PWRGDLCDIS	14
1412 #define LKCR_M_PWRGDLCDIS	1 << LKCR_V_PWRGDLCDIS
1413 #define LKCR_V_LCDIS		15
1414 #define LKCR_M_LCDIS		1 << LKCR_V_LCDIS
1415 
1416 /*
1417 **
1418 **  SEQUOIA-1 Miscellaneous Register 1 (SEQMR1) - Index 0x016
1419 **
1420 **        Loc   Size    Name    	Function
1421 **       -----  ----    ----    	---------------------------------
1422 **        <11>    1     DISCREADS	Driving EADS# on Non-Cacheable Region
1423 **        <12>    1     FRCBLASTDIS	Forcing BLAST low During Reset
1424 **        <14>    1     P92B3EN		Enable Control Bit for Port 92 Bit 3 Function
1425 **        <15>    1     SWTSTBYDIS	Disable Standby on SWTCH
1426 **
1427 **	  <0:10><13> Reserved
1428 **
1429 */
1430 #define PMC_SEQMR1_REG		0x016
1431 #define PMC_SEQMR1_INIT		0x0000
1432 #define SEQMR1_V_DISCREADS	11
1433 #define SEQMR1_M_DISCREADS	1 << SEQMR1_V_DISCREADS
1434 #define SEQMR1_V_FRCBLASTDIS	12
1435 #define SEQMR1_M_FRCBLASTDIS	1 << SEQMR1_V_FRCBLASTDIS
1436 #define SEQMR1_V_P92B3EN	14
1437 #define SEQMR1_M_P92B3EN	1 << SEQMR1_V_P92B3EN
1438 #define SEQMR1_V_SWTSTBYDIS	15
1439 #define SEQMR1_M_SWTSTBYDIS	1 << SEQMR1_V_SWTSTBYDIS
1440 
1441 /*
1442 **
1443 **  SEQUOIA-1 Miscellaneous Register 2 (SEQMR2) - Index 0x017
1444 **
1445 **        Loc   Size    Name    	Function
1446 **       -----  ----    ----    	---------------------------------
1447 **        <0>     1     DLYWCASEN	Delay Write CAS Enable
1448 **        <1>     1     SMMWTEN		SMM Write-Through Enable
1449 **        <2>     1     STATICSPNDEN	Static Suspend Enable
1450 **
1451 **	  <3:15> Reserved
1452 **
1453 */
1454 #define PMC_SEQMR2_REG		0x017
1455 #define PMC_SEQMR2_INIT		0x0000
1456 #define SEQMR2_V_DLYWCASEN	0
1457 #define SEQMR2_M_DLYWCASEN	1 << SEQMR2_V_DLYWCASEN
1458 #define SEQMR2_V_SMMWTEN	1
1459 #define SEQMR2_M_SMMWTEN	1 << SEQMR2_V_SMMWTEN
1460 #define SEQMR2_V_STATICSPNDEN	2
1461 #define SEQMR2_M_STATICSPNDEN	1 << SEQMR2_V_STATICSPNDEN
1462 
1463 /*
1464 **
1465 **  Secondary Activity Mask Register (SAMR) - Index 0x019
1466 **
1467 **        Loc   Size    Name    	Function
1468 **       -----  ----    ----    	---------------------------------
1469 **        <0>     1     SAMSKVID	Secondary Activity Mask Video Accesses
1470 **        <3>     1     SAMSKKBD	Secondary Activity Mask Keyboard Accesses
1471 **        <6>     1     SAMSKPROG0	Secondary Activity Mask PR 0
1472 **        <7>     1     SAMSKPROG1	Secondary Activity Mask PR 1
1473 **        <8>     1     SAMSKPROG2	Secondary Activity Mask PR 2
1474 **        <9>     1     SAMSKPROG3	Secondary Activity Mask PR 3
1475 **        <12>    1     SAMSKEACT0	Secondary Activity Mask EXTACT0
1476 **        <13>    1     SAMSKEACT1	Secondary Activity Mask EXTACT1
1477 **        <14>    1     SAMSKEACT2	Secondary Activity Mask EXTACT2
1478 **        <15>    1     SAMSKEACT3	Secondary Activity Mask EXTACT3
1479 **
1480 **	  <1:2><4:5><10:11> Reserved
1481 **
1482 */
1483 #define PMC_SAMR_REG		0x019
1484 #define PMC_SAMR_INIT		( SAMR_M_SAMSKVID   | SAMR_M_SAMSKKBD   | \
1485 				  SAMR_M_SAMSKPROG0 | SAMR_M_SAMSKPROG1 | \
1486 				  SAMR_M_SAMSKPROG2 | SAMR_M_SAMSKPROG3 | \
1487 				  SAMR_M_SAMSKEACT0 | SAMR_M_SAMSKEACT1 | \
1488 				  SAMR_M_SAMSKEACT2 | SAMR_M_SAMSKEACT3 )
1489 #define SAMR_V_SAMSKVID		0
1490 #define SAMR_M_SAMSKVID		1 << SAMR_V_SAMSKVID
1491 #define SAMR_V_SAMSKKBD		3
1492 #define SAMR_M_SAMSKKBD		1 << SAMR_V_SAMSKKBD
1493 #define SAMR_V_SAMSKPROG0	6
1494 #define SAMR_M_SAMSKPROG0	1 << SAMR_V_SAMSKPROG0
1495 #define SAMR_V_SAMSKPROG1	7
1496 #define SAMR_M_SAMSKPROG1	1 << SAMR_V_SAMSKPROG1
1497 #define SAMR_V_SAMSKPROG2	8
1498 #define SAMR_M_SAMSKPROG2	1 << SAMR_V_SAMSKPROG2
1499 #define SAMR_V_SAMSKPROG3	9
1500 #define SAMR_M_SAMSKPROG3	1 << SAMR_V_SAMSKPROG3
1501 #define SAMR_V_SAMSKEACT0	12
1502 #define SAMR_M_SAMSKEACT0	1 << SAMR_V_SAMSKEACT0
1503 #define SAMR_V_SAMSKEACT1	13
1504 #define SAMR_M_SAMSKEACT1	1 << SAMR_V_SAMSKEACT1
1505 #define SAMR_V_SAMSKEACT2	14
1506 #define SAMR_M_SAMSKEACT2	1 << SAMR_V_SAMSKEACT2
1507 #define SAMR_V_SAMSKEACT3	15
1508 #define SAMR_M_SAMSKEACT3	1 << SAMR_V_SAMSKEACT3
1509 
1510 /*
1511 **
1512 **  Additional Activity Source Register (AASR) - Index 0x01A
1513 **
1514 **        Loc   Size    Name    	Function
1515 **       -----  ----    ----    	---------------------------------
1516 **        <0>     1     WAKE0ACTV	WAKE0 Active
1517 **        <1>     1     WAKE1ACTV	WAKE1 Active
1518 **        <2>     1     INTRACTV	Interrupt Active
1519 **        <4>     1     DZTO		Doze Time-out Status
1520 **        <5>     1     SLPTO		Sleep Time-out Status
1521 **        <6>     1     SPNDTO		Suspend Time-out Status
1522 **        <7>     1     GENTO		Generic Timer Time-out Status
1523 **        <8>     1     PRTMR0TO	Programmable Timer 0 Time-out Status
1524 **        <9>     1     PRTMR1TO	Programmable Timer 1 Time-out Status
1525 **        <10>    1     PRTMR2TO	Programmable Timer 2 Time-out Status
1526 **        <11>    1     PRTMR3TO	Programmable Timer 3 Time-out Status
1527 **        <12>    1     PRTOPMI0	Programmable Timer 0 PMI Flag
1528 **        <13>    1     PRTOPMI1	Programmable Timer 1 PMI Flag
1529 **        <14>    1     PRTOPMI2	Programmable Timer 2 PMI Flag
1530 **        <15>    1     PRTOPMI3	Programmable Timer 3 PMI Flag
1531 **
1532 **	  <3> Reserved
1533 **
1534 */
1535 #define PMC_AASR_REG		0x01A
1536 #define PMC_AASR_INIT		0x0000
1537 #define AASR_V_WAKE0ACTV	0
1538 #define AASR_M_WAKE0ACTV	1 << AASR_V_WAKE0ACTV
1539 #define AASR_V_WAKE1ACTV	1
1540 #define AASR_M_WAKE1ACTV	1 << AASR_V_WAKE1ACTV
1541 #define AASR_V_INTRACTV		2
1542 #define AASR_M_INTRACTV		1 << AASR_V_INTRACTV
1543 #define AASR_V_DZTO		4
1544 #define AASR_M_DZTO		1 << AASR_V_DZTO
1545 #define AASR_V_SLPTO		5
1546 #define AASR_M_SLPTO		1 << AASR_V_SLPTO
1547 #define AASR_V_SPNDTO		6
1548 #define AASR_M_SPNDTO		1 << AASR_V_SPNDTO
1549 #define AASR_V_GENTO		7
1550 #define AASR_M_GENTO		1 << AASR_V_GENTO
1551 #define AASR_V_PRTMR0TO		8
1552 #define AASR_M_PRTMR0TO		1 << AASR_V_PRTMR0TO
1553 #define AASR_V_PRTMR1TO		9
1554 #define AASR_M_PRTMR1TO		1 << AASR_V_PRTMR0T1
1555 #define AASR_V_PRTMR2TO		10
1556 #define AASR_M_PRTMR2TO		1 << AASR_V_PRTMR0T2
1557 #define AASR_V_PRTMR3TO		11
1558 #define AASR_M_PRTMR3TO		1 << AASR_V_PRTMR0T3
1559 #define AASR_V_PRTOPMI0		12
1560 #define AASR_M_PRTOPMI0		1 << AASR_V_PRTOPMI0
1561 #define AASR_V_PRTOPMI1		13
1562 #define AASR_M_PRTOPMI1		1 << AASR_V_PRTOPMI1
1563 #define AASR_V_PRTOPMI2		14
1564 #define AASR_M_PRTOPMI2		1 << AASR_V_PRTOPMI2
1565 #define AASR_V_PRTOPMI3		15
1566 #define AASR_M_PRTOPMI3		1 << AASR_V_PRTOPMI3
1567 
1568 /*
1569 **
1570 **  Additional Primary Activity Mask Register (APAMR) - Index 0x01B
1571 **
1572 **        Loc   Size    Name    	Function
1573 **       -----  ----    ----    	---------------------------------
1574 **        <0>     1     PAMSKWAKE0	Primary Activity Mask WAKE0
1575 **        <1>     1     PAMSKWAKE1	Primary Activity Mask WAKE1
1576 **        <2>     1     PAMSKINTR	Primary Activity Mask INTR
1577 **        <3>     1     PAMSKPMI	Primary Activity Mask PMI
1578 **        <4>     1     PAMSKHOLD	Primary Activity Mask HOLD Request
1579 **        <5>     1     PAMSKNMI	Primary Activity Mask NMI
1580 **        <6>     1     PAMSKDMA	Primary Activity Mask DMA
1581 **        <7>     1     PAMSKMSTR	Primary Activity Mask MASTER
1582 **        <11>    1     DISPACTVON	Disable Primary Activity On
1583 **        <14>    1     HD2EN		Hard Disk Secondar Enable
1584 **        <15>    1     LMTPACTV	Limited Primary Activity PMI
1585 **
1586 **	  <8:10><12:13> Reserved
1587 **
1588 */
1589 #define PMC_APAMR_REG		0x01B
1590 #define PMC_APAMR_INIT		( APAMR_M_PAMSKWAKE0 | APAMR_M_PAMSKWAKE1 | \
1591 				  APAMR_M_PAMSKINTR  | APAMR_M_PAMSKPMI   | \
1592 				  APAMR_M_PAMSKHOLD  | APAMR_M_PAMSKNMI   | \
1593 				  APAMR_M_PAMSKDMA   | APAMR_M_PAMSKMSTR  | \
1594 				  APAMR_M_LMTPACTV   )
1595 #define APAMR_V_PAMSKWAKE0	0
1596 #define APAMR_M_PAMSKWAKE0	1 << APAMR_V_PAMSKWAKE0
1597 #define APAMR_V_PAMSKWAKE1	1
1598 #define APAMR_M_PAMSKWAKE1	1 << APAMR_V_PAMSKWAKE1
1599 #define APAMR_V_PAMSKINTR	2
1600 #define APAMR_M_PAMSKINTR	1 << APAMR_V_PAMSKINTR
1601 #define APAMR_V_PAMSKPMI	3
1602 #define APAMR_M_PAMSKPMI	1 << APAMR_V_PAMSKPMI
1603 #define APAMR_V_PAMSKHOLD	4
1604 #define APAMR_M_PAMSKHOLD	1 << APAMR_V_PAMSKHOLD
1605 #define APAMR_V_PAMSKNMI	5
1606 #define APAMR_M_PAMSKNMI	1 << APAMR_V_PAMSKNMI
1607 #define APAMR_V_PAMSKDMA	6
1608 #define APAMR_M_PAMSKDMA	1 << APAMR_V_PAMSKDMA
1609 #define APAMR_V_PAMSKMSTR	7
1610 #define APAMR_M_PAMSKMSTR	1 << APAMR_V_PAMSKMSTR
1611 #define APAMR_V_DISPACTVON	11
1612 #define APAMR_M_DISPACTVON	1 << APAMR_V_DISPACTVON
1613 #define APAMR_V_HD2EN		14
1614 #define APAMR_M_HD2EN		1 << APAMR_V_HD2EN
1615 #define APAMR_V_LMTPACTV	15
1616 #define APAMR_M_LMTPACTV	1 << APAMR_V_LMTPACTV
1617 
1618 /*
1619 **
1620 **  Additional Secondary Control Register (ASCR) - Index 0x01C
1621 **
1622 **        Loc   Size    Name    	Function
1623 **       -----  ----    ----    	---------------------------------
1624 **        <0>     1     SAMSKWAKE0	Secondary Activity Mask WAKE0
1625 **        <1>     1     SAMSKWAKE1	Secondary Activity Mask WAKE1
1626 **        <2>     1     SAMSKINTR	Secondary Activity Mask INTR
1627 **        <3>     1     SAMSKPMI	Secondary Activity Mask PMI
1628 **        <4>     1     SAMSKIRQ0	Secondary Activity Mask IRQ0
1629 **        <6>     1     SAMSKDMA	Secondary Activity Mask DMA
1630 **        <7>     1     SAMSKMSTR	Secondary Activity Mask MASTER
1631 **        <9>     1     SACTVTMR0	Secondary Activity Timer 0
1632 **        <10>    1     SACTVTMR1	Secondary Activity Timer 1
1633 **        <11>    1     SACTVTMR2	Secondary Activity Timer 2
1634 **        <15>    1     LMTSACTV	Limited Secondary Activity PMI
1635 **
1636 **	  <5><8><12:14> Reserved
1637 **
1638 */
1639 #define PMC_ASCR_REG		0x01C
1640 #define PMC_ASCR_INIT		( ASCR_M_SAMSKWAKE0 | ASCR_M_SAMSKWAKE1 | \
1641 				  ASCR_M_SAMSKINTR  | ASCR_M_SAMSKPMI   | \
1642 				  ASCR_M_SAMSKIRQ0  | ASCR_M_SAMSKDMA   | \
1643 				  ASCR_M_SAMSKMSTR  | ASCR_M_SACTVTMR2  | \
1644 				  ASCR_M_LMTSACTV   )
1645 #define ASCR_V_SAMSKWAKE0	0
1646 #define ASCR_M_SAMSKWAKE0	1 << ASCR_V_SAMSKWAKE0
1647 #define ASCR_V_SAMSKWAKE1	1
1648 #define ASCR_M_SAMSKWAKE1	1 << ASCR_V_SAMSKWAKE1
1649 #define ASCR_V_SAMSKINTR	2
1650 #define ASCR_M_SAMSKINTR	1 << ASCR_V_SAMSKINTR
1651 #define ASCR_V_SAMSKPMI		3
1652 #define ASCR_M_SAMSKPMI		1 << ASCR_V_SAMSKPMI
1653 #define ASCR_V_SAMSKIRQ0	4
1654 #define ASCR_M_SAMSKIRQ0	1 << ASCR_V_SAMSKIRQ0
1655 #define ASCR_V_SAMSKDMA		6
1656 #define ASCR_M_SAMSKDMA		1 << ASCR_V_SAMSKDMA
1657 #define ASCR_V_SAMSKMSTR	7
1658 #define ASCR_M_SAMSKMSTR	1 << ASCR_V_SAMSKMSTR
1659 #define ASCR_V_SACTVTMR		9
1660 #define ASCR_M_SACTVTMR		0x7 << ASCR_V_SACTVTMR
1661 #define ASCR_V_SACTVTMR0	9
1662 #define ASCR_M_SACTVTMR0	1 << ASCR_V_SACTVTMR0
1663 #define ASCR_V_SACTVTMR1	10
1664 #define ASCR_M_SACTVTMR1	1 << ASCR_V_SACTVTMR1
1665 #define ASCR_V_SACTVTMR2	11
1666 #define ASCR_M_SACTVTMR2	1 << ASCR_V_SACTVTMR2
1667 #define ASCR_V_LMTSACTV		15
1668 #define ASCR_M_LMTSACTV		1 << ASCR_V_LMTSACTV
1669 
1670 /*
1671 ** Secondary Activity Timer
1672 */
1673 #define SACTVTMR_125US		0x000
1674 #define SACTVTMR_1MS		ASCR_M_SACTVTMR0
1675 #define SACTVTMR_2MS		ASCR_M_SACTVTMR1
1676 #define SACTVTMR_4MS		(ASCR_M_SACTVTMR0 | ASCR_M_SACTVTMR1)
1677 #define SACTVTMR_8MS		ASCR_M_SACTVTMR2
1678 #define SACTVTMR_16MS		(ASCR_M_SACTVTMR0 | ASCR_M_SACTVTMR2)
1679 #define SACTVTMR_32MS		(ASCR_M_SACTVTMR1 | ASCR_M_SACTVTMR2)
1680 #define SACTVTMR_64MS		(ASCR_M_SACTVTMR0 | ASCR_M_SACTVTMR1 | ASCR_M_SACTVTMR2)
1681 
1682 /*
1683 **
1684 **  Additional PMI Mask Register (APMIMR) - Index 0x01D
1685 **
1686 **        Loc   Size    Name    	Function
1687 **       -----  ----    ----    	---------------------------------
1688 **        <0>     1     IMSKWAKE0	Mask WAKE0 from PMI
1689 **        <1>     1     IMSKWAKE1	Mask WAKE1 from PMI
1690 **        <3>     1     IMSKRTC		Mask RTC from PMI
1691 **        <4>     1     RESCHED0	Reschedule PMI 0
1692 **        <5>     1     RESCHED1	Reschedule PMI 1
1693 **        <6>     1     SFTSMI		Soft SMI
1694 **        <8>     1     IMSKPRTMR0TO	Mask Programmable Time 0 Time-out from PMI
1695 **        <9>     1     IMSKPRTMR1TO	Mask Programmable Time 1 Time-out from PMI
1696 **        <10>    1     IMSKPRTMR2TO	Mask Programmable Time 2 Time-out from PMI
1697 **        <11>    1     IMSKPRTMR3TO	Mask Programmable Time 3 Time-out from PMI
1698 **
1699 **	  <2><7><12:15> Reserved
1700 **
1701 */
1702 #define PMC_APMIMR_REG		0x01D
1703 #define PMC_APMIMR_INIT		( APMIMR_M_IMSKWAKE0   | APMIMR_M_IMSKWAKE1   | \
1704 				  APMIMR_M_IMSKRTC     | APMIMR_M_IMSKPRTMR0TO| \
1705 				  APMIMR_M_IMSKPRTMR1TO | \
1706 				  APMIMR_M_IMSKPRTMR2TO | \
1707 				  APMIMR_M_IMSKPRTMR3TO )
1708 #define APMIMR_V_IMSKWAKE0	0
1709 #define APMIMR_M_IMSKWAKE0	1 << APMIMR_V_IMSKWAKE0
1710 #define APMIMR_V_IMSKWAKE1	1
1711 #define APMIMR_M_IMSKWAKE1	1 << APMIMR_V_IMSKWAKE1
1712 #define APMIMR_V_IMSKRTC	3
1713 #define APMIMR_M_IMSKRTC	1 << APMIMR_V_IMSKRTC
1714 #define APMIMR_V_RESCHED	4
1715 #define APMIMR_M_RESCHED	0x3 << APMIMR_V_RESCHED
1716 #define APMIMR_V_RESCHED0	4
1717 #define APMIMR_M_RESCHED0	1 << APMIMR_V_RESCHED0
1718 #define APMIMR_V_RESCHED1	5
1719 #define APMIMR_M_RESCHED1	1 << APMIMR_V_RESCHED1
1720 #define APMIMR_V_SFTSMI		6
1721 #define APMIMR_M_SFTSMI		1 << APMIMR_V_SFTSMI
1722 #define APMIMR_V_IMSKPRTMR0TO	8
1723 #define APMIMR_M_IMSKPRTMR0TO	1 << APMIMR_V_IMSKPRTMR0TO
1724 #define APMIMR_V_IMSKPRTMR1TO	9
1725 #define APMIMR_M_IMSKPRTMR1TO	1 << APMIMR_V_IMSKPRTMR1TO
1726 #define APMIMR_V_IMSKPRTMR2TO	10
1727 #define APMIMR_M_IMSKPRTMR2TO	1 << APMIMR_V_IMSKPRTMR2TO
1728 #define APMIMR_V_IMSKPRTMR3TO	11
1729 #define APMIMR_M_IMSKPRTMR3TO	1 << APMIMR_V_IMSKPRTMR3TO
1730 
1731 /*
1732 ** Reschedule PMI
1733 */
1734 #define RESCHED_DISABLE		0x000
1735 #define RESCHED_64MS		APMIMR_M_RESCHED0
1736 #define RESCHED_1MS		APMIMR_M_RESCHED1
1737 #define RESCHED_1S		(APMIMR_M_RESCHED0 | APMIMR_M_RESCHED1)
1738 
1739 /*
1740 **
1741 **  Miscellaneous Control Register (MCR) - Index 0x01E
1742 **
1743 **        Loc   Size    Name    	Function
1744 **       -----  ----    ----    	---------------------------------
1745 **        <0>     1     PMIFLGEN	PMI Flag Enable
1746 **        <1>     1     PAFLGEN		Primary Activity Flag Enable
1747 **        <2>     1     SAFLGEN		Secondary Activity Flag Enable
1748 **
1749 **	  <3:15> Reserved
1750 **
1751 */
1752 #define PMC_MCR_REG		0x01E
1753 #define PMC_MCR_INIT		0x0000
1754 #define MCR_V_PMIFLGEN		0
1755 #define MCR_M_PMIFLGEN		1 << MCR_V_PMIFLGEN
1756 #define MCR_V_PAFLGEN		1
1757 #define MCR_M_PAFLGEN		1 << MCR_V_PAFLGEN
1758 #define MCR_V_SAFLGEN		2
1759 #define MCR_M_SAFLGEN		1 << MCR_V_SAFLGEN
1760 
1761 /*
1762 **
1763 **  SEQUOIA-1 Identification Register (SEQIDR) - Index 0x01F
1764 **
1765 **        Loc   Size    Name    	Function
1766 **       -----  ----    ----    	---------------------------------
1767 **        <0>     1     SQ1ID0		SEQUOIA-1 Revision Number ID 0
1768 **        <1>     1     SQ1ID1		SEQUOIA-1 Revision Number ID 1
1769 **        <2>     1     SQ1ID2		SEQUOIA-1 Revision Number ID 2
1770 **        <3>     1     SQ1ID3		SEQUOIA-1 Revision Number ID 3
1771 **
1772 **	  <4:15> Reserved
1773 **
1774 */
1775 #define PMC_SEQIDR_REG		0x01F
1776 #define SEQIDR_V_SQ1ID		0
1777 #define SEQIDR_M_SQ1ID		0xF << SEQIDR_V_SQ1ID
1778 
1779 /*
1780 **
1781 **  Programmable Range Address Register 0 (PRAR0) - Index 0x020
1782 **
1783 **        Loc   Size    Name    	Function
1784 **       -----  ----    ----    	---------------------------------
1785 **        <0>     9     PRMA		PRM 0 Address
1786 **        <14>    1     PROSHDW0EN	Programmable Shadow Register 0 Enable
1787 **        <15>    1     PROCS0EN	Programmable Chip Select 0 Enable
1788 **
1789 **	  <10:13> Reserved
1790 **
1791 */
1792 #define PMC_PRAR0_REG		0x020
1793 #define PMC_PRAR0_INIT		0x0000
1794 #define PRAR0_V_PRMA		0
1795 #define PRAR0_M_PRMA		0x3FF << PRAR0_V_PRMA
1796 #define PRAR0_V_PROSHDW0EN	14
1797 #define PRAR0_M_PROSHDW0EN	1 << PRAR0_V_PROSHDW0EN
1798 #define PRAR0_V_PROCS0EN	15
1799 #define PRAR0_M_PROCS0EN	1 << PRAR0_V_PROCS0EN
1800 
1801 /*
1802 **
1803 **  Programmable Range Compare Register 0 (PRCR0) - Index 0x021
1804 **
1805 **        Loc   Size    Name    	Function
1806 **       -----  ----    ----    	---------------------------------
1807 **        <0>     1     PRMCMPEN00	PRM 0 Compare Enable 0
1808 **        <1>     1     PRMCMPEN01	PRM 0 Compare Enable 1
1809 **        <2>     1     PRMCMPEN02	PRM 0 Compare Enable 2
1810 **        <3>     1     PRMCMPEN03	PRM 0 Compare Enable 3
1811 **        <4>     1     PRMCMPEN04	PRM 0 Compare Enable 4
1812 **        <5>     1     PRMCMPEN05	PRM 0 Compare Enable 5
1813 **        <6>     1     PRMCMPEN06	PRM 0 Compare Enable 6
1814 **        <7>     1     PRMCMPEN07	PRM 0 Compare Enable 7
1815 **        <8>     1     PRMCMPEN08	PRM 0 Compare Enable 8
1816 **        <9>     1     PRMCMPEN09	PRM 0 Compare Enable 9
1817 **        <10>    1     PRMWR0EN	PRM 0 Compare Write Enable
1818 **        <11>    1     PRMRD0EN	PRM 0 Compare Read Enable
1819 **        <12>    1     PRM0MIO		PRM 0 Memory or I/O Compare Enable
1820 **        <13>    1     PRM0EN		PRM 0 Enable
1821 **
1822 **	  <14:15> Reserved
1823 **
1824 */
1825 #define PMC_PRCR0_REG		0x021
1826 #define PMC_PRCR0_INIT		0x0000
1827 #define PRCR0_V_PRMCMPEN	0
1828 #define PRCR0_M_PRMCMPEN	0x3FF << PRCR0_V_PRMCMPEN
1829 #define PRCR0_V_PRMCMPEN00	0
1830 #define PRCR0_M_PRMCMPEN00	1 << PRCR0_V_PRMCMPEN00
1831 #define PRCR0_V_PRMCMPEN01	1
1832 #define PRCR0_M_PRMCMPEN01	1 << PRCR0_V_PRMCMPEN01
1833 #define PRCR0_V_PRMCMPEN02	2
1834 #define PRCR0_M_PRMCMPEN02	1 << PRCR0_V_PRMCMPEN02
1835 #define PRCR0_V_PRMCMPEN03	3
1836 #define PRCR0_M_PRMCMPEN03	1 << PRCR0_V_PRMCMPEN03
1837 #define PRCR0_V_PRMCMPEN04	4
1838 #define PRCR0_M_PRMCMPEN04	1 << PRCR0_V_PRMCMPEN04
1839 #define PRCR0_V_PRMCMPEN05	5
1840 #define PRCR0_M_PRMCMPEN05	1 << PRCR0_V_PRMCMPEN05
1841 #define PRCR0_V_PRMCMPEN06	6
1842 #define PRCR0_M_PRMCMPEN06	1 << PRCR0_V_PRMCMPEN06
1843 #define PRCR0_V_PRMCMPEN07	7
1844 #define PRCR0_M_PRMCMPEN07	1 << PRCR0_V_PRMCMPEN07
1845 #define PRCR0_V_PRMCMPEN08	8
1846 #define PRCR0_M_PRMCMPEN08	1 << PRCR0_V_PRMCMPEN08
1847 #define PRCR0_V_PRMCMPEN09	9
1848 #define PRCR0_M_PRMCMPEN09	1 << PRCR0_V_PRMCMPEN09
1849 #define PRCR0_V_PRMWR0EN	10
1850 #define PRCR0_M_PRMWR0EN	1 << PRCR0_V_PRMWR0EN
1851 #define PRCR0_V_PRMRD0EN	11
1852 #define PRCR0_M_PRMRD0EN	1 << PRCR0_V_PRMRD0EN
1853 #define PRCR0_V_PRM0MIO		12
1854 #define PRCR0_M_PRM0MIO		1 << PRCR0_V_PRM0MIO
1855 #define PRCR0_V_PRM0EN		13
1856 #define PRCR0_M_PRM0EN		1 << PRCR0_V_PRM0EN
1857 
1858 /*
1859 **
1860 **  Programmable Range Address Register 1 (PRAR1) - Index 0x022
1861 **
1862 **        Loc   Size    Name    	Function
1863 **       -----  ----    ----    	---------------------------------
1864 **        <0>     9     PRMA		PRM 1 Address
1865 **        <14>    1     PROSHDW1EN	Programmable Shadow Register 1 Enable
1866 **        <15>    1     PROCS1EN	Programmable Chip Select 1 Enable
1867 **
1868 **	  <10:13> Reserved
1869 **
1870 */
1871 #define PMC_PRAR1_REG		0x022
1872 #define PRAR1_V_PRMA		0
1873 #define PRAR1_M_PRMA		0x3FF << PRAR1_V_PRMA
1874 #define PRAR1_V_PROSHDW1EN	14
1875 #define PRAR1_M_PROSHDW1EN	1 << PRAR1_V_PROSHDW1EN
1876 #define PRAR1_V_PROCS1EN	15
1877 #define PRAR1_M_PROCS1EN	1 << PRAR1_V_PROCS1EN
1878 
1879 /*
1880 **
1881 **  Programmable Range Compare Register 1 (PRCR1) - Index 0x023
1882 **
1883 **        Loc   Size    Name    	Function
1884 **       -----  ----    ----    	---------------------------------
1885 **        <0>     1     PRMCMPEN10	PRM 1 Compare Enable 0
1886 **        <1>     1     PRMCMPEN11	PRM 1 Compare Enable 1
1887 **        <2>     1     PRMCMPEN12	PRM 1 Compare Enable 2
1888 **        <3>     1     PRMCMPEN13	PRM 1 Compare Enable 3
1889 **        <4>     1     PRMCMPEN14	PRM 1 Compare Enable 4
1890 **        <5>     1     PRMCMPEN15	PRM 1 Compare Enable 5
1891 **        <6>     1     PRMCMPEN16	PRM 1 Compare Enable 6
1892 **        <7>     1     PRMCMPEN17	PRM 1 Compare Enable 7
1893 **        <8>     1     PRMCMPEN18	PRM 1 Compare Enable 8
1894 **        <9>     1     PRMCMPEN19	PRM 1 Compare Enable 9
1895 **        <10>    1     PRMWR1EN	PRM 1 Compare Write Enable
1896 **        <11>    1     PRMRD1EN	PRM 1 Compare Read Enable
1897 **        <12>    1     PRM1MIO		PRM 1 Memory or I/O Compare Enable
1898 **        <13>    1     PRM1EN		PRM 1 Enable
1899 **
1900 **	  <14:15> Reserved
1901 **
1902 */
1903 #define PMC_PRCR1_REG		0x023
1904 #define PMC_PRCR1_INIT		0x0000
1905 #define PRCR1_V_PRMCMPEN	0
1906 #define PRCR1_M_PRMCMPEN	0x3FF << PRCR1_V_PRMCMPEN
1907 #define PRCR1_V_PRMCMPEN10	0
1908 #define PRCR1_M_PRMCMPEN10	1 << PRCR1_V_PRMCMPEN10
1909 #define PRCR1_V_PRMCMPEN11	1
1910 #define PRCR1_M_PRMCMPEN11	1 << PRCR1_V_PRMCMPEN11
1911 #define PRCR1_V_PRMCMPEN12	2
1912 #define PRCR1_M_PRMCMPEN12	1 << PRCR1_V_PRMCMPEN12
1913 #define PRCR1_V_PRMCMPEN13	3
1914 #define PRCR1_M_PRMCMPEN13	1 << PRCR1_V_PRMCMPEN13
1915 #define PRCR1_V_PRMCMPEN14	4
1916 #define PRCR1_M_PRMCMPEN14	1 << PRCR1_V_PRMCMPEN14
1917 #define PRCR1_V_PRMCMPEN15	5
1918 #define PRCR1_M_PRMCMPEN15	1 << PRCR1_V_PRMCMPEN15
1919 #define PRCR1_V_PRMCMPEN16	6
1920 #define PRCR1_M_PRMCMPEN16	1 << PRCR1_V_PRMCMPEN16
1921 #define PRCR1_V_PRMCMPEN17	7
1922 #define PRCR1_M_PRMCMPEN17	1 << PRCR1_V_PRMCMPEN17
1923 #define PRCR1_V_PRMCMPEN18	8
1924 #define PRCR1_M_PRMCMPEN18	1 << PRCR1_V_PRMCMPEN18
1925 #define PRCR1_V_PRMCMPEN19	9
1926 #define PRCR1_M_PRMCMPEN19	1 << PRCR1_V_PRMCMPEN19
1927 #define PRCR1_V_PRMWR1EN	10
1928 #define PRCR1_M_PRMWR1EN	1 << PRCR1_V_PRMWR1EN
1929 #define PRCR1_V_PRMRD1EN	11
1930 #define PRCR1_M_PRMRD1EN	1 << PRCR1_V_PRMRD1EN
1931 #define PRCR1_V_PRM1MIO		12
1932 #define PRCR1_M_PRM1MIO		1 << PRCR1_V_PRM1MIO
1933 #define PRCR1_V_PRM1EN		13
1934 #define PRCR1_M_PRM1EN		1 << PRCR1_V_PRM1EN
1935 
1936 /*
1937 **
1938 **  Programmable Range Address Register 2 (PRAR2) - Index 0x024
1939 **
1940 **        Loc   Size    Name    	Function
1941 **       -----  ----    ----    	---------------------------------
1942 **        <0>     9     PRMA		PRM 2 Address
1943 **        <14>    1     PROSHDW2EN	Programmable Shadow Register 2 Enable
1944 **        <15>    1     PROCS2EN	Programmable Chip Select 2 Enable
1945 **
1946 **	  <10:13> Reserved
1947 **
1948 */
1949 #define PMC_PRAR2_REG		0x024
1950 #define PRAR2_V_PRMA		0
1951 #define PRAR2_M_PRMA		0x3FF << PRAR2_V_PRMA
1952 #define PRAR2_V_PROSHDW2EN	14
1953 #define PRAR2_M_PROSHDW2EN	1 << PRAR2_V_PROSHDW2EN
1954 #define PRAR2_V_PROCS2EN	15
1955 #define PRAR2_M_PROCS2EN	1 << PRAR2_V_PROCS2EN
1956 
1957 /*
1958 **
1959 **  Programmable Range Compare Register 2 (PRCR2) - Index 0x025
1960 **
1961 **        Loc   Size    Name    	Function
1962 **       -----  ----    ----    	---------------------------------
1963 **        <0>     1     PRMCMPEN10	PRM 2 Compare Enable 0
1964 **        <1>     1     PRMCMPEN11	PRM 2 Compare Enable 1
1965 **        <2>     1     PRMCMPEN12	PRM 2 Compare Enable 2
1966 **        <3>     1     PRMCMPEN13	PRM 2 Compare Enable 3
1967 **        <4>     1     PRMCMPEN14	PRM 2 Compare Enable 4
1968 **        <5>     1     PRMCMPEN15	PRM 2 Compare Enable 5
1969 **        <6>     1     PRMCMPEN16	PRM 2 Compare Enable 6
1970 **        <7>     1     PRMCMPEN17	PRM 2 Compare Enable 7
1971 **        <8>     1     PRMCMPEN18	PRM 2 Compare Enable 8
1972 **        <9>     1     PRMCMPEN19	PRM 2 Compare Enable 9
1973 **        <10>    1     PRMWR2EN	PRM 2 Compare Write Enable
1974 **        <11>    1     PRMRD2EN	PRM 2 Compare Read Enable
1975 **        <12>    1     PRM2MIO		PRM 2 Memory or I/O Compare Enable
1976 **        <13>    1     PRM2EN		PRM 2 Enable
1977 **
1978 **	  <14:15> Reserved
1979 **
1980 */
1981 #define PMC_PRCR2_REG		0x025
1982 #define PMC_PRCR2_INIT		0x0000
1983 #define PRCR2_V_PRMCMPEN	0
1984 #define PRCR2_M_PRMCMPEN	0x3FF << PRCR2_V_PRMCMPEN
1985 #define PRCR2_V_PRMCMPEN10	0
1986 #define PRCR2_M_PRMCMPEN10	1 << PRCR2_V_PRMCMPEN10
1987 #define PRCR2_V_PRMCMPEN11	1
1988 #define PRCR2_M_PRMCMPEN11	1 << PRCR2_V_PRMCMPEN11
1989 #define PRCR2_V_PRMCMPEN12	2
1990 #define PRCR2_M_PRMCMPEN12	1 << PRCR2_V_PRMCMPEN12
1991 #define PRCR2_V_PRMCMPEN13	3
1992 #define PRCR2_M_PRMCMPEN13	1 << PRCR2_V_PRMCMPEN13
1993 #define PRCR2_V_PRMCMPEN14	4
1994 #define PRCR2_M_PRMCMPEN14	1 << PRCR2_V_PRMCMPEN14
1995 #define PRCR2_V_PRMCMPEN15	5
1996 #define PRCR2_M_PRMCMPEN15	1 << PRCR2_V_PRMCMPEN15
1997 #define PRCR2_V_PRMCMPEN16	6
1998 #define PRCR2_M_PRMCMPEN16	1 << PRCR2_V_PRMCMPEN16
1999 #define PRCR2_V_PRMCMPEN17	7
2000 #define PRCR2_M_PRMCMPEN17	1 << PRCR2_V_PRMCMPEN17
2001 #define PRCR2_V_PRMCMPEN18	8
2002 #define PRCR2_M_PRMCMPEN18	1 << PRCR2_V_PRMCMPEN18
2003 #define PRCR2_V_PRMCMPEN19	9
2004 #define PRCR2_M_PRMCMPEN19	1 << PRCR2_V_PRMCMPEN19
2005 #define PRCR2_V_PRMWR2EN	10
2006 #define PRCR2_M_PRMWR2EN	1 << PRCR2_V_PRMWR2EN
2007 #define PRCR2_V_PRMRD2EN	11
2008 #define PRCR2_M_PRMRD2EN	1 << PRCR2_V_PRMRD2EN
2009 #define PRCR2_V_PRM2MIO		12
2010 #define PRCR2_M_PRM2MIO		1 << PRCR2_V_PRM2MIO
2011 #define PRCR2_V_PRM2EN		13
2012 #define PRCR2_M_PRM2EN		1 << PRCR2_V_PRM2EN
2013 
2014 /*
2015 **
2016 **  Programmable Range Address Register 3 (PRAR3) - Index 0x026
2017 **
2018 **        Loc   Size    Name    	Function
2019 **       -----  ----    ----    	---------------------------------
2020 **        <0>     9     PRMA		PRM 3 Address
2021 **        <14>    1     PROSHDW3EN	Programmable Shadow Register 3 Enable
2022 **        <15>    1     PROCS3EN	Programmable Chip Select 3 Enable
2023 **
2024 **	  <10:13> Reserved
2025 **
2026 */
2027 #define PMC_PRAR3_REG		0x026
2028 #define PMC_PRAR3_INIT		0x0000
2029 #define PRAR3_V_PRMA		0
2030 #define PRAR3_M_PRMA		0x3FF << PRAR3_V_PRMA
2031 #define PRAR3_V_PROSHDW3EN	14
2032 #define PRAR3_M_PROSHDW3EN	1 << PRAR3_V_PROSHDW3EN
2033 #define PRAR3_V_PROCS3EN	15
2034 #define PRAR3_M_PROCS3EN	1 << PRAR3_V_PROCS3EN
2035 
2036 /*
2037 **
2038 **  Programmable Range Compare Register 3 (PRCR3) - Index 0x027
2039 **
2040 **        Loc   Size    Name    	Function
2041 **       -----  ----    ----    	---------------------------------
2042 **        <0>     1     PRMCMPEN10	PRM 3 Compare Enable 0
2043 **        <1>     1     PRMCMPEN11	PRM 3 Compare Enable 1
2044 **        <2>     1     PRMCMPEN12	PRM 3 Compare Enable 2
2045 **        <3>     1     PRMCMPEN13	PRM 3 Compare Enable 3
2046 **        <4>     1     PRMCMPEN14	PRM 3 Compare Enable 4
2047 **        <5>     1     PRMCMPEN15	PRM 3 Compare Enable 5
2048 **        <6>     1     PRMCMPEN16	PRM 3 Compare Enable 6
2049 **        <7>     1     PRMCMPEN17	PRM 3 Compare Enable 7
2050 **        <8>     1     PRMCMPEN18	PRM 3 Compare Enable 8
2051 **        <9>     1     PRMCMPEN19	PRM 3 Compare Enable 9
2052 **        <10>    1     PRMWR3EN	PRM 3 Compare Write Enable
2053 **        <11>    1     PRMRD3EN	PRM 3 Compare Read Enable
2054 **        <12>    1     PRM3MIO		PRM 3 Memory or I/O Compare Enable
2055 **        <13>    1     PRM3EN		PRM 3 Enable
2056 **
2057 **	  <14:15> Reserved
2058 **
2059 */
2060 #define PMC_PRCR3_REG		0x027
2061 #define PMC_PRCR3_INIT		0x0000
2062 #define PRCR3_V_PRMCMPEN	0
2063 #define PRCR3_M_PRMCMPEN	0x3FF << PRCR3_V_PRMCMPEN
2064 #define PRCR3_V_PRMCMPEN10	0
2065 #define PRCR3_M_PRMCMPEN10	1 << PRCR3_V_PRMCMPEN10
2066 #define PRCR3_V_PRMCMPEN11	1
2067 #define PRCR3_M_PRMCMPEN11	1 << PRCR3_V_PRMCMPEN11
2068 #define PRCR3_V_PRMCMPEN12	2
2069 #define PRCR3_M_PRMCMPEN12	1 << PRCR3_V_PRMCMPEN12
2070 #define PRCR3_V_PRMCMPEN13	3
2071 #define PRCR3_M_PRMCMPEN13	1 << PRCR3_V_PRMCMPEN13
2072 #define PRCR3_V_PRMCMPEN14	4
2073 #define PRCR3_M_PRMCMPEN14	1 << PRCR3_V_PRMCMPEN14
2074 #define PRCR3_V_PRMCMPEN15	5
2075 #define PRCR3_M_PRMCMPEN15	1 << PRCR3_V_PRMCMPEN15
2076 #define PRCR3_V_PRMCMPEN16	6
2077 #define PRCR3_M_PRMCMPEN16	1 << PRCR3_V_PRMCMPEN16
2078 #define PRCR3_V_PRMCMPEN17	7
2079 #define PRCR3_M_PRMCMPEN17	1 << PRCR3_V_PRMCMPEN17
2080 #define PRCR3_V_PRMCMPEN18	8
2081 #define PRCR3_M_PRMCMPEN18	1 << PRCR3_V_PRMCMPEN18
2082 #define PRCR3_V_PRMCMPEN19	9
2083 #define PRCR3_M_PRMCMPEN19	1 << PRCR3_V_PRMCMPEN19
2084 #define PRCR3_V_PRMWR3EN	10
2085 #define PRCR3_M_PRMWR3EN	1 << PRCR3_V_PRMWR3EN
2086 #define PRCR3_V_PRMRD3EN	11
2087 #define PRCR3_M_PRMRD3EN	1 << PRCR3_V_PRMRD3EN
2088 #define PRCR3_V_PRM3MIO		12
2089 #define PRCR3_M_PRM3MIO		1 << PRCR3_V_PRM3MIO
2090 #define PRCR3_V_PRM3EN		13
2091 #define PRCR3_M_PRM3EN		1 << PRCR3_V_PRM3EN
2092 
2093 /*
2094 **
2095 **  Programmable Time-out Timer Register 0 (PTOTR0) - Index 0x028
2096 **
2097 **        Loc   Size    Name    	Function
2098 **       -----  ----    ----    	---------------------------------
2099 **        <0>     1     PROGTMR00	Programmable Time-out Timer 0 0
2100 **        <1>     1     PROGTMR01	Programmable Time-out Timer 0 1
2101 **        <2>     1     PROGTMR02	Programmable Time-out Timer 0 2
2102 **        <3>     1     PROGTMR03	Programmable Time-out Timer 0 3
2103 **        <7>     1     TMR0SOURCE	Clock Source for Timer 0
2104 **        <14>    1     TMR0PC2EN	Time-out Timer 0 to PC2 Enable
2105 **        <15>    1     TMR0EN		Programmable Timer 0 Enable
2106 **
2107 **	  <4:6><8:13> Reserved
2108 **
2109 */
2110 #define PMC_PTOTR0_REG		0x028
2111 #define PMC_PTOTR0_INIT		0x0000
2112 #define PTOTR0_V_PROGTMR0	0
2113 #define PTOTR0_M_PROGTMR0	0xF << PTOTR0_V_PROGTMR0
2114 #define PTOTR0_V_PROGTMR00	0
2115 #define PTOTR0_M_PROGTMR00	1 << PTOTR0_V_PROGTMR00
2116 #define PTOTR0_V_PROGTMR01	1
2117 #define PTOTR0_M_PROGTMR01	1 << PTOTR0_V_PROGTMR01
2118 #define PTOTR0_V_PROGTMR02	2
2119 #define PTOTR0_M_PROGTMR02	1 << PTOTR0_V_PROGTMR02
2120 #define PTOTR0_V_PROGTMR03	3
2121 #define PTOTR0_M_PROGTMR03	1 << PTOTR0_V_PROGTMR03
2122 #define PTOTR0_V_TMR0SOURCE	7
2123 #define PTOTR0_M_TMR0SOURCE	1 << PTOTR0_V_TMR0SOURCE
2124 #define PTOTR0_V_TMR0PC2EN	14
2125 #define PTOTR0_M_TMR0PC2EN	1 << PTOTR0_V_TMR0PC2EN
2126 #define PTOTR0_V_TMR0EN		15
2127 #define PTOTR0_M_TMR0EN		1 << PTOTR0_V_TMR0EN
2128 
2129 /*
2130 ** Progammable Time-out Timer 0
2131 */
2132 #define PROGTMR0_2S		0x000
2133 #define PROGTMR0_5S		PTOTR0_M_PROGTMR00
2134 #define PROGTMR0_10S		PTOTR0_M_PROGTMR01
2135 #define PROGTMR0_15S		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR01)
2136 #define PROGTMR0_30S		PTOTR0_M_PROGTMR02
2137 #define PROGTMR0_45S		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR02)
2138 #define PROGTMR0_60S		(PTOTR0_M_PROGTMR01 | PTOTR0_M_PROGTMR02)
2139 #define PROGTMR0_90S		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR01 | PTOTR0_M_PROGTMR02)
2140 #define PROGTMR0_2MIN		PTOTR0_M_PROGTMR03
2141 #define PROGTMR0_3MIN		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR03)
2142 #define PROGTMR0_4MIN		(PTOTR0_M_PROGTMR01 | PTOTR0_M_PROGTMR03)
2143 #define PROGTMR0_6MIN		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR01 | PTOTR0_M_PROGTMR03
2144 #define PROGTMR0_8MIN		(PTOTR0_M_PROGTMR02 | PTOTR0_M_PROGTMR03)
2145 #define PROGTMR0_10MIN		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR02 | PTOTR0_M_PROGTMR03)
2146 #define PROGTMR0_15MIN		(PTOTR0_M_PROGTMR01 | PTOTR0_M_PROGTMR02 | PTOTR0_M_PROGTMR03)
2147 #define PROGTMR0_20MIN		(PTOTR0_M_PROGTMR00 | PTOTR0_M_PROGTMR01 | PTOTR0_M_PROGTMR02 | PTOTR0_M_PROGTMR03)
2148 
2149 /*
2150 **
2151 **  Programmable Time-out Timer Register 1 (PTOTR1) - Index 0x029
2152 **
2153 **        Loc   Size    Name    	Function
2154 **       -----  ----    ----    	---------------------------------
2155 **        <0>     1     PROGTMR10	Programmable Time-out Timer 1 0
2156 **        <1>     1     PROGTMR11	Programmable Time-out Timer 1 1
2157 **        <2>     1     PROGTMR12	Programmable Time-out Timer 1 2
2158 **        <3>     1     PROGTMR13	Programmable Time-out Timer 1 3
2159 **        <7>     1     TMR1SOURCE	Clock Source for Timer 1
2160 **        <14>    1     TMR1PC3EN	Time-out Timer 1 to PC3 Enable
2161 **        <15>    1     TMR1EN		Programmable Timer 1 Enable
2162 **
2163 **	  <4:6><8:13> Reserved
2164 **
2165 */
2166 #define PMC_PTOTR1_REG		0x029
2167 #define PMC_PTOTR1_INIT		0x0000
2168 #define PTOTR1_V_PROGTMR1	0
2169 #define PTOTR1_M_PROGTMR1	0xF << PTOTR1_V_PROGTMR1
2170 #define PTOTR1_V_PROGTMR10	0
2171 #define PTOTR1_M_PROGTMR10	1 << PTOTR1_V_PROGTMR10
2172 #define PTOTR1_V_PROGTMR11	1
2173 #define PTOTR1_M_PROGTMR11	1 << PTOTR1_V_PROGTMR11
2174 #define PTOTR1_V_PROGTMR12	2
2175 #define PTOTR1_M_PROGTMR12	1 << PTOTR1_V_PROGTMR12
2176 #define PTOTR1_V_PROGTMR13	3
2177 #define PTOTR1_M_PROGTMR13	1 << PTOTR1_V_PROGTMR13
2178 #define PTOTR1_V_TMR1SOURCE	7
2179 #define PTOTR1_M_TMR1SOURCE	1 << PTOTR1_V_TMR1SOURCE
2180 #define PTOTR1_V_TMR1PC3EN	14
2181 #define PTOTR1_M_TMR1PC3EN	1 << PTOTR1_V_TMR1PC3EN
2182 #define PTOTR1_V_TMR1EN		15
2183 #define PTOTR1_M_TMR1EN		1 << PTOTR1_V_TMR1EN
2184 
2185 /*
2186 ** Progammable Time-out Timer 1
2187 */
2188 #define PROGTMR1_2S		0x000
2189 #define PROGTMR1_5S		PTOTR1_M_PROGTMR10
2190 #define PROGTMR1_10S		PTOTR1_M_PROGTMR11
2191 #define PROGTMR1_15S		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR11)
2192 #define PROGTMR1_30S		PTOTR1_M_PROGTMR12
2193 #define PROGTMR1_45S		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR12)
2194 #define PROGTMR1_60S		(PTOTR1_M_PROGTMR11 | PTOTR1_M_PROGTMR12)
2195 #define PROGTMR1_90S		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR11 | PTOTR1_M_PROGTMR12)
2196 #define PROGTMR1_2MIN		PTOTR1_M_PROGTMR13
2197 #define PROGTMR1_3MIN		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR13)
2198 #define PROGTMR1_4MIN		(PTOTR1_M_PROGTMR11 | PTOTR1_M_PROGTMR13)
2199 #define PROGTMR1_6MIN		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR11 | PTOTR1_M_PROGTMR13
2200 #define PROGTMR1_8MIN		(PTOTR1_M_PROGTMR12 | PTOTR1_M_PROGTMR13)
2201 #define PROGTMR1_10MIN		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR12 | PTOTR1_M_PROGTMR13)
2202 #define PROGTMR1_15MIN		(PTOTR1_M_PROGTMR11 | PTOTR1_M_PROGTMR12 | PTOTR1_M_PROGTMR13)
2203 #define PROGTMR1_20MIN		(PTOTR1_M_PROGTMR10 | PTOTR1_M_PROGTMR11 | PTOTR1_M_PROGTMR12 | PTOTR0_M_PROGTMR13)
2204 
2205 /*
2206 **
2207 **  Programmable Time-out Timer Register 2 (PTOTR2) - Index 0x02A
2208 **
2209 **        Loc   Size    Name    	Function
2210 **       -----  ----    ----    	---------------------------------
2211 **        <0>     1     PROGTMR20	Programmable Time-out Timer 2 0
2212 **        <1>     1     PROGTMR21	Programmable Time-out Timer 2 1
2213 **        <2>     1     PROGTMR22	Programmable Time-out Timer 2 2
2214 **        <3>     1     PROGTMR23	Programmable Time-out Timer 2 3
2215 **        <7>     1     TMR2SOURCE	Clock Source for Timer 2
2216 **        <14>    1     TMR2PC8EN	Time-out Timer 2 to PC8 Enable
2217 **        <15>    1     TMR2EN		Programmable Timer 2 Enable
2218 **
2219 **	  <4:6><8:13> Reserved
2220 **
2221 */
2222 #define PMC_PTOTR2_REG		0x02A
2223 #define PMC_PTOTR2_INIT		0x0000
2224 #define PTOTR2_V_PROGTMR2	0
2225 #define PTOTR2_M_PROGTMR2	0xF << PTOTR2_V_PROGTMR2
2226 #define PTOTR2_V_PROGTMR20	0
2227 #define PTOTR2_M_PROGTMR20	1 << PTOTR2_V_PROGTMR20
2228 #define PTOTR2_V_PROGTMR21	1
2229 #define PTOTR2_M_PROGTMR21	1 << PTOTR2_V_PROGTMR21
2230 #define PTOTR2_V_PROGTMR22	2
2231 #define PTOTR2_M_PROGTMR22	1 << PTOTR2_V_PROGTMR22
2232 #define PTOTR2_V_PROGTMR23	3
2233 #define PTOTR2_M_PROGTMR23	1 << PTOTR2_V_PROGTMR23
2234 #define PTOTR2_V_TMR2SOURCE	7
2235 #define PTOTR2_M_TMR2SOURCE	1 << PTOTR2_V_TMR2SOURCE
2236 #define PTOTR2_V_TMR2PC8EN	14
2237 #define PTOTR2_M_TMR2PC8EN	1 << PTOTR2_V_TMR2PC8EN
2238 #define PTOTR2_V_TMR2EN		15
2239 #define PTOTR2_M_TMR2EN		1 << PTOTR2_V_TMR2EN
2240 
2241 /*
2242 ** Progammable Time-out Timer 2
2243 */
2244 #define PROGTMR2_2S		0x000
2245 #define PROGTMR2_5S		PTOTR2_M_PROGTMR20
2246 #define PROGTMR2_10S		PTOTR2_M_PROGTMR21
2247 #define PROGTMR2_15S		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR21)
2248 #define PROGTMR2_30S		PTOTR2_M_PROGTMR22
2249 #define PROGTMR2_45S		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR22)
2250 #define PROGTMR2_60S		(PTOTR2_M_PROGTMR21 | PTOTR2_M_PROGTMR22)
2251 #define PROGTMR2_90S		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR21 | PTOTR2_M_PROGTMR22)
2252 #define PROGTMR2_2MIN		PTOTR2_M_PROGTMR23
2253 #define PROGTMR2_3MIN		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR23)
2254 #define PROGTMR2_4MIN		(PTOTR2_M_PROGTMR21 | PTOTR2_M_PROGTMR23)
2255 #define PROGTMR2_6MIN		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR21 | PTOTR2_M_PROGTMR23
2256 #define PROGTMR2_8MIN		(PTOTR2_M_PROGTMR22 | PTOTR2_M_PROGTMR23)
2257 #define PROGTMR2_10MIN		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR22 | PTOTR2_M_PROGTMR23)
2258 #define PROGTMR2_15MIN		(PTOTR2_M_PROGTMR21 | PTOTR2_M_PROGTMR22 | PTOTR2_M_PROGTMR23)
2259 #define PROGTMR2_20MIN		(PTOTR2_M_PROGTMR20 | PTOTR2_M_PROGTMR21 | PTOTR2_M_PROGTMR22 | PTOTR0_M_PROGTMR23)
2260 
2261 /*
2262 **
2263 **  Programmable Time-out Timer Register 3 (PTOTR3) - Index 0x02B
2264 **
2265 **        Loc   Size    Name    	Function
2266 **       -----  ----    ----    	---------------------------------
2267 **        <0>     1     PROGTMR30	Programmable Time-out Timer 3 0
2268 **        <1>     1     PROGTMR31	Programmable Time-out Timer 3 1
2269 **        <2>     1     PROGTMR32	Programmable Time-out Timer 3 2
2270 **        <3>     1     PROGTMR33	Programmable Time-out Timer 3 3
2271 **        <7>     1     TMR3SOURCE	Clock Source for Timer 3
2272 **        <14>    1     TMR3PC9EN	Time-out Timer 3 to PC9 Enable
2273 **        <15>    1     TMR3EN		Programmable Timer 3 Enable
2274 **
2275 **	  <4:6><8:13> Reserved
2276 **
2277 */
2278 #define PMC_PTOTR3_REG		0x02B
2279 #define PMC_PTOTR3_INIT		0x0000
2280 #define PTOTR3_V_PROGTMR3	0
2281 #define PTOTR3_M_PROGTMR3	0xF << PTOTR3_V_PROGTMR3
2282 #define PTOTR3_V_PROGTMR30	0
2283 #define PTOTR3_M_PROGTMR30	1 << PTOTR3_V_PROGTMR30
2284 #define PTOTR3_V_PROGTMR31	1
2285 #define PTOTR3_M_PROGTMR31	1 << PTOTR3_V_PROGTMR31
2286 #define PTOTR3_V_PROGTMR32	2
2287 #define PTOTR3_M_PROGTMR32	1 << PTOTR3_V_PROGTMR32
2288 #define PTOTR3_V_PROGTMR33	3
2289 #define PTOTR3_M_PROGTMR33	1 << PTOTR3_V_PROGTMR33
2290 #define PTOTR3_V_TMR3SOURCE	7
2291 #define PTOTR3_M_TMR3SOURCE	1 << PTOTR3_V_TMR3SOURCE
2292 #define PTOTR3_V_TMR3PC9EN	14
2293 #define PTOTR3_M_TMR3PC9EN	1 << PTOTR3_V_TMR3PC9EN
2294 #define PTOTR3_V_TMR3EN		15
2295 #define PTOTR3_M_TMR3EN		1 << PTOTR3_V_TMR3EN
2296 
2297 /*
2298 ** Progammable Time-out Timer 3
2299 */
2300 #define PROGTMR3_2S		0x000
2301 #define PROGTMR3_5S		PTOTR3_M_PROGTMR30
2302 #define PROGTMR3_10S		PTOTR3_M_PROGTMR31
2303 #define PROGTMR3_15S		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR31)
2304 #define PROGTMR3_30S		PTOTR3_M_PROGTMR32
2305 #define PROGTMR3_45S		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR32)
2306 #define PROGTMR3_60S		(PTOTR3_M_PROGTMR31 | PTOTR3_M_PROGTMR32)
2307 #define PROGTMR3_90S		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR31 | PTOTR3_M_PROGTMR32)
2308 #define PROGTMR3_2MIN		PTOTR3_M_PROGTMR33
2309 #define PROGTMR3_3MIN		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR33)
2310 #define PROGTMR3_4MIN		(PTOTR3_M_PROGTMR31 | PTOTR3_M_PROGTMR33)
2311 #define PROGTMR3_6MIN		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR31 | PTOTR3_M_PROGTMR33
2312 #define PROGTMR3_8MIN		(PTOTR3_M_PROGTMR32 | PTOTR3_M_PROGTMR33)
2313 #define PROGTMR3_10MIN		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR32 | PTOTR3_M_PROGTMR33)
2314 #define PROGTMR3_15MIN		(PTOTR3_M_PROGTMR31 | PTOTR3_M_PROGTMR32 | PTOTR3_M_PROGTMR33)
2315 #define PROGTMR3_20MIN		(PTOTR3_M_PROGTMR30 | PTOTR3_M_PROGTMR31 | PTOTR3_M_PROGTMR32 | PTOTR0_M_PROGTMR33)
2316 
2317 /*
2318 **
2319 **  Programmable Time-out Timer Source Register 1 (PTOTSR1) - Index 0x02C
2320 **
2321 **        Loc   Size    Name    	Function
2322 **       -----  ----    ----    	---------------------------------
2323 **        <0>     1     VDTMRSEL0	Video Activity Time-out Timer Select 0
2324 **        <1>     1     VDTMRSEL1	Video Activity Time-out Timer Select 1
2325 **        <3>     1     VDTMRSELEN	Video Activity Time-out Timer Select Enable
2326 **        <4>     1     HDTMRSEL0	Hard Drive Activity Time-out Timer Select 0
2327 **        <5>     1     HDTMRSEL1	Hard Drive Activity Time-out Timer Select 1
2328 **        <7>     1     HDTMRSELEN	Hard Drive Activity Time-out Timer Select Enable
2329 **        <8>     1     FDTMRSEL0	Floppy Drive Activity Time-out Timer Select 0
2330 **        <9>     1     FDTMRSEL1	Floppy Drive Activity Time-out Timer Select 1
2331 **        <11>    1     FDTMRSELEN	Floppy Drive Activity Time-out Timer Select Enable
2332 **        <12>    1     KBTMRSEL0	Keyboard Activity Time-out Timer Select 0
2333 **        <13>    1     KBTMRSEL1	Keyboard Activity Time-out Timer Select 1
2334 **        <15>    1     KBTMRSELEN	Keyboard Activity Time-out Timer Select Enable
2335 **
2336 **	  <2><6><10><14> Reserved
2337 **
2338 */
2339 #define PMC_PTOTSR1_REG		0x02C
2340 #define PMC_PTOTSR1_INIT	0x0000
2341 #define PTOTSR1_V_VDTMRSEL	0
2342 #define PTOTSR1_M_VDTMRSEL	0x3 << PTOTSR1_V_VDTMRSEL
2343 #define PTOTSR1_V_VDTMRSEL0	0
2344 #define PTOTSR1_M_VDTMRSEL0	1 << PTOTSR1_V_VDTMRSEL0
2345 #define PTOTSR1_V_VDTMRSEL1	1
2346 #define PTOTSR1_M_VDTMRSEL1	1 << PTOTSR1_V_VDTMRSEL1
2347 #define PTOTSR1_V_VDTMRSELEN	3
2348 #define PTOTSR1_M_VDTMRSELEN	1 << PTOTSR1_V_VDTMRSELEN
2349 #define PTOTSR1_V_HDTMRSEL	4
2350 #define PTOTSR1_M_HDTMRSEL	0x3 << PTOTSR1_V_HDTMRSEL
2351 #define PTOTSR1_V_HDTMRSEL0	4
2352 #define PTOTSR1_M_HDTMRSEL0	1 << PTOTSR1_V_HDTMRSEL0
2353 #define PTOTSR1_V_HDTMRSEL1	5
2354 #define PTOTSR1_M_HDTMRSEL1	1 << PTOTSR1_V_HDTMRSEL1
2355 #define PTOTSR1_V_HDTMRSELEN	7
2356 #define PTOTSR1_M_HDTMRSELEN	1 << PTOTSR1_V_HDTMRSELEN
2357 #define PTOTSR1_V_FDTMRSEL	8
2358 #define PTOTSR1_M_FDTMRSEL	0x3 << PTOTSR1_V_FDTMRSEL
2359 #define PTOTSR1_V_FDTMRSEL0	8
2360 #define PTOTSR1_M_FDTMRSEL0	1 << PTOTSR1_V_FDTMRSEL0
2361 #define PTOTSR1_V_FDTMRSEL1	9
2362 #define PTOTSR1_M_FDTMRSEL1	1 << PTOTSR1_V_FDTMRSEL1
2363 #define PTOTSR1_V_FDTMRSELEN	11
2364 #define PTOTSR1_M_FDTMRSELEN	1 << PTOTSR1_V_FDTMRSELEN
2365 #define PTOTSR1_V_KBTMRSEL	12
2366 #define PTOTSR1_M_KBTMRSEL	0x3 << PTOTSR1_V_KBTMRSEL
2367 #define PTOTSR1_V_KBTMRSEL0	12
2368 #define PTOTSR1_M_KBTMRSEL0	1 << PTOTSR1_V_KBTMRSEL0
2369 #define PTOTSR1_V_KBTMRSEL1	13
2370 #define PTOTSR1_M_KBTMRSEL1	1 << PTOTSR1_V_KBTMRSEL1
2371 #define PTOTSR1_V_KBTMRSELEN	15
2372 #define PTOTSR1_M_KBTMRSELEN	1 << PTOTSR1_V_KBTMRSELEN
2373 
2374 /*
2375 ** Video Activity Progammable Time-out Timer
2376 */
2377 #define VDTMRSEL_0		0x000
2378 #define VDTMRSEL_1		PTOTSR1_M_VDTMRSEL0
2379 #define VDTMRSEL_2		PTOTSR1_M_VDTMRSEL1
2380 #define VDTMRSEL_3		(PTOTSR1_M_VDTMRSEL0 | PTOTSR1_M_VDTMRSEL1)
2381 
2382 /*
2383 ** Hard Drive Activity Progammable Time-out Timer
2384 */
2385 #define HDTMRSEL_0		0x000
2386 #define HDTMRSEL_1		PTOTSR1_M_HDTMRSEL0
2387 #define HDTMRSEL_2		PTOTSR1_M_HDTMRSEL1
2388 #define HDTMRSEL_3		(PTOTSR1_M_HDTMRSEL0 | PTOTSR1_M_HDTMRSEL1)
2389 
2390 /*
2391 ** Floppy Drive Activity Progammable Time-out Timer
2392 */
2393 #define FDTMRSEL_0		0x000
2394 #define FDTMRSEL_1		PTOTSR1_M_FDTMRSEL0
2395 #define FDTMRSEL_2		PTOTSR1_M_FDTMRSEL1
2396 #define FDTMRSEL_3		(PTOTSR1_M_FDTMRSEL0 | PTOTSR1_M_FDTMRSEL1)
2397 
2398 /*
2399 ** Keyboard Activity Progammable Time-out Timer
2400 */
2401 #define KBTMRSEL_0		0x000
2402 #define KBTMRSEL_1		PTOTSR1_M_KBTMRSEL0
2403 #define KBTMRSEL_2		PTOTSR1_M_KBTMRSEL1
2404 #define KBTMRSEL_3		(PTOTSR1_M_KBTMRSEL0 | PTOTSR1_M_KBTMRSEL1)
2405 
2406 /*
2407 **
2408 **  Programmable Time-out Timer Source Register 2 (PTOTSR2) - Index 0x02D
2409 **
2410 **        Loc   Size    Name    	Function
2411 **       -----  ----    ----    	---------------------------------
2412 **        <0>     1     SIOTMRSEL0	Serial Port Activity Time-out Timer Select 0
2413 **        <1>     1     SIOTMRSEL1	Serial Port Activity Time-out Timer Select 1
2414 **        <3>     1     SIOTMRSELEN	Serial Port Activity Time-out Timer Select Enable
2415 **        <4>     1     PIOTMRSEL0	Parallel Port Activity Time-out Timer Select 0
2416 **        <5>     1     PIOTMRSEL1	Parallel Port Activity Time-out Timer Select 1
2417 **        <7>     1     PIOTMRSELEN	Parallel Port Activity Time-out Timer Select Enable
2418 **        <8>     1     PR0TMRSEL0	PRM 0 Activity Time-out Timer Select 0
2419 **        <9>     1     PR0TMRSEL1	PRM 0 Activity Time-out Timer Select 1
2420 **        <11>    1     PR0TMRSELEN	PRM 0 Activity Time-out Timer Select Enable
2421 **        <12>    1     PR1TMRSEL0	PRM 1 Activity Time-out Timer Select 0
2422 **        <13>    1     PR1TMRSEL1	PRM 1 Activity Time-out Timer Select 1
2423 **        <15>    1     PR1TMRSELEN	PRM 1 Activity Time-out Timer Select Enable
2424 **
2425 **	  <2><6><10><14> Reserved
2426 **
2427 */
2428 #define PMC_PTOTSR2_REG		0x02D
2429 #define PMC_PTOTSR2_INIT	0x0000
2430 #define PTOTSR2_V_SIOTMRSEL	0
2431 #define PTOTSR2_M_SIOTMRSEL	0x3 << PTOTSR2_V_SIOTMRSEL
2432 #define PTOTSR2_V_SIOTMRSEL0	0
2433 #define PTOTSR2_M_SIOTMRSEL0	1 << PTOTSR2_V_SIOTMRSEL0
2434 #define PTOTSR2_V_SIOTMRSEL1	1
2435 #define PTOTSR2_M_SIOTMRSEL1	1 << PTOTSR2_V_SIOTMRSEL1
2436 #define PTOTSR2_V_SIOTMRSELEN	3
2437 #define PTOTSR2_M_SIOTMRSELEN	1 << PTOTSR2_V_SIOTMRSELEN
2438 #define PTOTSR2_V_PIOTMRSEL	4
2439 #define PTOTSR2_M_PIOTMRSEL	0x3 << PTOTSR2_V_PIOTMRSEL
2440 #define PTOTSR2_V_PIOTMRSEL0	4
2441 #define PTOTSR2_M_PIOTMRSEL0	1 << PTOTSR2_V_PIOTMRSEL0
2442 #define PTOTSR2_V_PIOTMRSEL1	5
2443 #define PTOTSR2_M_PIOTMRSEL1	1 << PTOTSR2_V_PIOTMRSEL1
2444 #define PTOTSR2_V_PIOTMRSELEN	7
2445 #define PTOTSR2_M_PIOTMRSELEN	1 << PTOTSR2_V_PIOTMRSELEN
2446 #define PTOTSR2_V_PR0TMRSEL	8
2447 #define PTOTSR2_M_PR0TMRSEL	0x3 << PTOTSR2_V_PR0TMRSEL
2448 #define PTOTSR2_V_PR0TMRSEL0	8
2449 #define PTOTSR2_M_PR0TMRSEL0	1 << PTOTSR2_V_PR0TMRSEL0
2450 #define PTOTSR2_V_PR0TMRSEL1	9
2451 #define PTOTSR2_M_PR0TMRSEL1	1 << PTOTSR2_V_PR0TMRSEL1
2452 #define PTOTSR2_V_PR0TMRSELEN	11
2453 #define PTOTSR2_M_PR0TMRSELEN	1 << PTOTSR2_V_PR0TMRSELEN
2454 #define PTOTSR2_V_PR1TMRSEL	12
2455 #define PTOTSR2_M_PR1TMRSEL	0x3 << PTOTSR2_V_PR1TMRSEL
2456 #define PTOTSR2_V_PR1TMRSEL0	12
2457 #define PTOTSR2_M_PR1TMRSEL0	1 << PTOTSR2_V_PR1TMRSEL0
2458 #define PTOTSR2_V_PR1TMRSEL1	13
2459 #define PTOTSR2_M_PR1TMRSEL1	1 << PTOTSR2_V_PR1TMRSEL1
2460 #define PTOTSR2_V_PR1TMRSELEN	15
2461 #define PTOTSR2_M_PR1TMRSELEN	1 << PTOTSR2_V_PR1TMRSELEN
2462 
2463 /*
2464 ** Serial Port Activity Progammable Time-out Timer
2465 */
2466 #define SIOTMRSEL_0		0x000
2467 #define SIOTMRSEL_1		PTOTSR2_M_SIOTMRSEL0
2468 #define SIOTMRSEL_2		PTOTSR2_M_SIOTMRSEL1
2469 #define SIOTMRSEL_3		(PTOTSR2_M_SIOTMRSEL0 | PTOTSR2_M_SIOTMRSEL1)
2470 
2471 /*
2472 ** Parallel Port Activity Progammable Time-out Timer
2473 */
2474 #define PIOTMRSEL_0		0x000
2475 #define PIOTMRSEL_1		PTOTSR2_M_PIOTMRSEL0
2476 #define PIOTMRSEL_2		PTOTSR2_M_PIOTMRSEL1
2477 #define PIOTMRSEL_3		(PTOTSR2_M_PIOTMRSEL0 | PTOTSR2_M_PIOTMRSEL1)
2478 
2479 /*
2480 ** PRM 0 Activity Progammable Time-out Timer
2481 */
2482 #define PR0TMRSEL_0		0x000
2483 #define PR0TMRSEL_1		PTOTSR2_M_PR0TMRSEL0
2484 #define PR0TMRSEL_2		PTOTSR2_M_PR0TMRSEL1
2485 #define PR0TMRSEL_3		(PTOTSR2_M_PR0TMRSEL0 | PTOTSR2_M_PR0TMRSEL1)
2486 
2487 /*
2488 ** PRM 1 Activity Progammable Time-out Timer
2489 */
2490 #define PR1TMRSEL_0		0x000
2491 #define PR1TMRSEL_1		PTOTSR2_M_PR1TMRSEL0
2492 #define PR1TMRSEL_2		PTOTSR2_M_PR1TMRSEL1
2493 #define PR1TMRSEL_3		(PTOTSR2_M_PR1TMRSEL0 | PTOTSR2_M_PR1TMRSEL1)
2494 
2495 /*
2496 **
2497 **  Programmable Time-out Timer Source Register 3 (PTOTSR3) - Index 0x02E
2498 **
2499 **        Loc   Size    Name    	Function
2500 **       -----  ----    ----    	---------------------------------
2501 **        <0>     1     PR2TMRSEL0	PRM 2 Activity Time-out Timer Select 0
2502 **        <1>     1     PR2TMRSEL1	PRM 2 Activity Time-out Timer Select 1
2503 **        <3>     1     PR2TMRSELEN	PRM 2 Activity Time-out Timer Select Enable
2504 **        <4>     1     PR3TMRSEL0	PRM 3 Activity Time-out Timer Select 0
2505 **        <5>     1     PR3TMRSEL1	PRM 3 Activity Time-out Timer Select 1
2506 **        <7>     1     PR3TMRSELEN	PRM 3 Activity Time-out Timer Select Enable
2507 **
2508 **	  <2><6><8:15> Reserved
2509 **
2510 */
2511 #define PMC_PTOTSR3_REG		0x02E
2512 #define PMC_PTOTSR3_INIT	0x0000
2513 #define PTOTSR3_V_PR2TMRSEL	0
2514 #define PTOTSR3_M_PR2TMRSEL	0x3 << PTOTSR3_V_PR2TMRSEL
2515 #define PTOTSR3_V_PR2TMRSEL0	0
2516 #define PTOTSR3_M_PR2TMRSEL0	1 << PTOTSR3_V_PR2TMRSEL0
2517 #define PTOTSR3_V_PR2TMRSEL1	1
2518 #define PTOTSR3_M_PR2TMRSEL1	1 << PTOTSR3_V_PR2TMRSEL1
2519 #define PTOTSR3_V_PR2TMRSELEN	3
2520 #define PTOTSR3_M_PR2TMRSELEN	1 << PTOTSR3_V_PR2TMRSELEN
2521 #define PTOTSR3_V_PR3TMRSEL	4
2522 #define PTOTSR3_M_PR3TMRSEL	0x3 << PTOTSR3_V_PR3TMRSEL
2523 #define PTOTSR3_V_PR3TMRSEL0	4
2524 #define PTOTSR3_M_PR3TMRSEL0	1 << PTOTSR3_V_PR3TMRSEL0
2525 #define PTOTSR3_V_PR3TMRSEL1	5
2526 #define PTOTSR3_M_PR3TMRSEL1	1 << PTOTSR3_V_PR3TMRSEL1
2527 #define PTOTSR3_V_PR3TMRSELEN	7
2528 #define PTOTSR3_M_PR3TMRSELEN	1 << PTOTSR3_V_PR3TMRSELEN
2529 
2530 /*
2531 ** PRM 2 Activity Progammable Time-out Timer
2532 */
2533 #define PR2TMRSEL_0		0x000
2534 #define PR2TMRSEL_1		PTOTSR3_M_PR2TMRSEL0
2535 #define PR2TMRSEL_2		PTOTSR3_M_PR2TMRSEL1
2536 #define PR2TMRSEL_3		(PTOTSR3_M_PR2TMRSEL0 | PTOTSR3_M_PR2TMRSEL1)
2537 
2538 /*
2539 ** PRM 3 Activity Progammable Time-out Timer
2540 */
2541 #define PR3TMRSEL_0		0x000
2542 #define PR3TMRSEL_1		PTOTSR3_M_PR3TMRSEL0
2543 #define PR3TMRSEL_2		PTOTSR3_M_PR3TMRSEL1
2544 #define PR3TMRSEL_3		(PTOTSR3_M_PR3TMRSEL0 | PTOTSR3_M_PR3TMRSEL1)
2545 
2546 /*
2547 **
2548 **  Programmable Time-out Timer Source Register 4 (PTOTSR4) - Index 0x02F
2549 **
2550 **        Loc   Size    Name    	Function
2551 **       -----  ----    ----    	---------------------------------
2552 **        <0>     1     EXT0TMRSEL0	EXTACT0 Activity Time-out Timer Select 0
2553 **        <1>     1     EXT0TMRSEL1	EXTACT0 Activity Time-out Timer Select 1
2554 **        <3>     1     EXT0TMRSELEN	EXTACT0 Activity Time-out Timer Select Enable
2555 **        <4>     1     EXT1TMRSEL0	EXTACT1 Activity Time-out Timer Select 0
2556 **        <5>     1     EXT1TMRSEL1	EXTACT1 Activity Time-out Timer Select 1
2557 **        <7>     1     EXT1TMRSELEN	EXTACT1 Activity Time-out Timer Select Enable
2558 **        <8>     1     EXT2TMRSEL0	EXTACT2 Activity Time-out Timer Select 0
2559 **        <9>     1     EXT2TMRSEL1	EXTACT2 Activity Time-out Timer Select 1
2560 **        <11>    1     EXT2TMRSELEN	EXTACT2 Activity Time-out Timer Select Enable
2561 **        <12>    1     EXT3TMRSEL0	EXTACT3 Activity Time-out Timer Select 0
2562 **        <13>    1     EXT3TMRSEL1	EXTACT3 Activity Time-out Timer Select 1
2563 **        <15>    1     EXT3TMRSELEN	EXTACT3 Activity Time-out Timer Select Enable
2564 **
2565 **	  <2><6><10><14> Reserved
2566 **
2567 */
2568 #define PMC_PTOTSR4_REG		0x02F
2569 #define PMC_PTOTSR4_INIT	0x0000
2570 #define PTOTSR4_V_EXT0TMRSEL	0
2571 #define PTOTSR4_M_EXT0TMRSEL	0x3 << PTOTSR4_V_EXT0TMRSEL
2572 #define PTOTSR4_V_EXT0TMRSEL0	0
2573 #define PTOTSR4_M_EXT0TMRSEL0	1 << PTOTSR4_V_EXT0TMRSEL0
2574 #define PTOTSR4_V_EXT0TMRSEL1	1
2575 #define PTOTSR4_M_EXT0TMRSEL1	1 << PTOTSR4_V_EXT0TMRSEL1
2576 #define PTOTSR4_V_EXT0TMRSELEN	3
2577 #define PTOTSR4_M_EXT0TMRSELEN	1 << PTOTSR4_V_EXT0TMRSELEN
2578 #define PTOTSR4_V_EXT1TMRSEL	4
2579 #define PTOTSR4_M_EXT1TMRSEL	0x3 << PTOTSR4_V_EXT1TMRSEL
2580 #define PTOTSR4_V_EXT1TMRSEL0	4
2581 #define PTOTSR4_M_EXT1TMRSEL0	1 << PTOTSR4_V_EXT1TMRSEL0
2582 #define PTOTSR4_V_EXT1TMRSEL1	5
2583 #define PTOTSR4_M_EXT1TMRSEL1	1 << PTOTSR4_V_EXT1TMRSEL1
2584 #define PTOTSR4_V_EXT1TMRSELEN	7
2585 #define PTOTSR4_M_EXT1TMRSELEN	1 << PTOTSR4_V_EXT1TMRSELEN
2586 #define PTOTSR4_V_EXT2TMRSEL	8
2587 #define PTOTSR4_M_EXT2TMRSEL	0x3 << PTOTSR4_V_EXT2TMRSEL
2588 #define PTOTSR4_V_EXT2TMRSEL0	8
2589 #define PTOTSR4_M_EXT2TMRSEL0	1 << PTOTSR4_V_EXT2TMRSEL0
2590 #define PTOTSR4_V_EXT2TMRSEL1	9
2591 #define PTOTSR4_M_EXT2TMRSEL1	1 << PTOTSR4_V_EXT2TMRSEL1
2592 #define PTOTSR4_V_EXT2TMRSELEN	11
2593 #define PTOTSR4_M_EXT2TMRSELEN	1 << PTOTSR4_V_EXT2TMRSELEN
2594 #define PTOTSR4_V_EXT3TMRSEL	12
2595 #define PTOTSR4_M_EXT3TMRSEL	0x3 << PTOTSR4_V_EXT3TMRSEL
2596 #define PTOTSR4_V_EXT3TMRSEL0	12
2597 #define PTOTSR4_M_EXT3TMRSEL0	1 << PTOTSR4_V_EXT3TMRSEL0
2598 #define PTOTSR4_V_EXT3TMRSEL1	13
2599 #define PTOTSR4_M_EXT3TMRSEL1	1 << PTOTSR4_V_EXT3TMRSEL1
2600 #define PTOTSR4_V_EXT3TMRSELEN	15
2601 #define PTOTSR4_M_EXT3TMRSELEN	1 << PTOTSR4_V_EXT3TMRSELEN
2602 
2603 /*
2604 ** EXTACT0 Activity Progammable Time-out Timer
2605 */
2606 #define EXT0TMRSEL_0		0x000
2607 #define EXT0TMRSEL_1		PTOTSR4_M_EXT0TMRSEL0
2608 #define EXT0TMRSEL_2		PTOTSR4_M_EXT0TMRSEL1
2609 #define EXT0TMRSEL_3		(PTOTSR4_M_EXT0TMRSEL0 | PTOTSR4_M_EXT0TMRSEL1)
2610 
2611 /*
2612 ** EXTACT1 Activity Progammable Time-out Timer
2613 */
2614 #define EXT1TMRSEL_0		0x000
2615 #define EXT1TMRSEL_1		PTOTSR4_M_EXT1TMRSEL0
2616 #define EXT1TMRSEL_2		PTOTSR4_M_EXT1TMRSEL1
2617 #define EXT1TMRSEL_3		(PTOTSR4_M_EXT1TMRSEL0 | PTOTSR4_M_EXT1TMRSEL1)
2618 
2619 /*
2620 ** EXTACT2 Activity Progammable Time-out Timer
2621 */
2622 #define EXT2TMRSEL_0		0x000
2623 #define EXT2TMRSEL_1		PTOTSR4_M_EXT2TMRSEL0
2624 #define EXT2TMRSEL_2		PTOTSR4_M_EXT2TMRSEL1
2625 #define EXT2TMRSEL_3		(PTOTSR4_M_EXT2TMRSEL0 | PTOTSR4_M_EXT2TMRSEL1)
2626 
2627 /*
2628 ** EXTACT3 Activity Progammable Time-out Timer
2629 */
2630 #define EXT3TMRSEL_0		0x000
2631 #define EXT3TMRSEL_1		PTOTSR4_M_EXT3TMRSEL0
2632 #define EXT3TMRSEL_2		PTOTSR4_M_EXT3TMRSEL1
2633 #define EXT3TMRSEL_3		(PTOTSR4_M_EXT3TMRSEL0 | PTOTSR4_M_EXT3TMRSEL1)
2634 
2635 /*
2636 ** System Registers
2637 **
2638 */
2639 
2640 /*
2641 **
2642 **  Power-On Register (POR) - Index 0x100
2643 **
2644 **        Loc   Size    Name    	Function
2645 **       -----  ----    ----    	---------------------------------
2646 **        <0>     1     SEQUOIASEL	SEQUOIA Select
2647 **        <3>     1     DLYBDEN		Delay BD Bus Enable
2648 **        <4>     1     CPUMODESEL	CPU Mode Select
2649 **        <6>     1     DLYBDBUSEN	Delay BADS# & BDEV# Enable
2650 **	  <7>	  1     MISCCF0		Miscellaneous Configuration 0
2651 **	  <8>	  1     MISCCF1		Miscellaneous Configuration 1
2652 **	  <9>	  1     MISCCF2		Miscellaneous Configuration 2
2653 **	  <11>	  1     EXTRTC		Optional External RTC
2654 **	  <12>	  1     1X2XCLKSEL	1X/2X Clock Select
2655 **
2656 **	  <1:2><5><10><13:15> Reserved
2657 */
2658 #define SR_POR_REG		0x100
2659 #define POR_V_SEQUOIASEL	0
2660 #define POR_M_SEQUOIASEL	1 << POR_V_SEQUOIASEL
2661 #define POR_V_DLYBDEN		3
2662 #define POR_M_DLYBDEN		1 << POR_V_DLYBDEN
2663 #define POR_V_CPUMODESEL	4
2664 #define POR_M_CPUMODESEL	1 << POR_V_CPUMODESEL
2665 #define POR_V_DLYBDBUSEN	6
2666 #define POR_M_DLYBDBUSEN	1 << POR_V_DLYBDBUSEN
2667 #define POR_V_MISCCF		7
2668 #define POR_M_MISCCF 		0x7 << POR_V_MISCCF
2669 #define POR_V_MISCCF0		7
2670 #define POR_M_MISCCF0 		1 << POR_V_MISCCF0
2671 #define POR_V_MISCCF1		8
2672 #define POR_M_MISCCF1 		1 << POR_V_MISCCF1
2673 #define POR_V_MISCCF2		9
2674 #define POR_M_MISCCF2 		1 << POR_V_MISCCF2
2675 #define POR_V_EXTRTC		11
2676 #define POR_M_EXTRTC		1 << POR_V_EXTRTC
2677 #define POR_V_1X2XCLKSEL	12
2678 #define POR_M_1X2XCLKSEL	1 << POR_V_1X2XCLKSEL
2679 
2680 /*
2681 **
2682 **  Non-Cacheable Region 1 Register (NCR1R) - Index 0x101
2683 **
2684 **        Loc   Size    Name    	Function
2685 **       -----  ----    ----    	---------------------------------
2686 **        <0>     1     NCR1EN		Enable Non-Cacheable Region 1
2687 **        <1>     1     NCR1BS0		Non-Cacheable Region 1 Block Size 0
2688 **        <2>     1     NCR1BS1		Non-Cacheable Region 1 Block Size 1
2689 **        <3>     13    NCR1A		Non-Cacheable Region 1 Starting Addr
2690 **
2691 */
2692 #define SR_NCR1R_REG		0x101
2693 #define SR_NCR1R_INIT		0x0000
2694 #define NCR1R_V_NCR1EN		0
2695 #define NCR1R_M_NCR1EN		1 << NCR1R_V_NCR1EN
2696 #define NCR1R_V_NCR1BS		1
2697 #define NCR1R_M_NCR1BS		0x3 << NCR1R_V_NCR1BS
2698 #define NCR1R_V_NCR1BS0		1
2699 #define NCR1R_M_NCR1BS0		1 << NCR1R_V_NCR1BS0
2700 #define NCR1R_V_NCR1BS1		1
2701 #define NCR1R_M_NCR1BS1		1 << NCR1R_V_NCR1BS1
2702 #define NCR1R_V_NCR1A		3
2703 #define NCR1R_M_NCR1A		0xFFF8 << NCR1R_V_NCR1A
2704 
2705 /*
2706 ** Non-Cacheable Region 1 Block Size (Kbytes)
2707 */
2708 #define NCR1BS_32K		0x000
2709 #define NCR1BS_64K		NCR1R_M_NCR1BS0
2710 #define NCR1BS_128K		NCR1R_M_NCR1BS1
2711 #define NCR1BS_256K		(NCR1R_M_NCR1BS0 | NCR1R_M_NCR1BS1)
2712 
2713 /*
2714 **
2715 **  Non-Cacheable Region 2 Register (NCR2R) - Index 0x102
2716 **
2717 **        Loc   Size    Name    	Function
2718 **       -----  ----    ----    	---------------------------------
2719 **        <0>     1     NCR2EN		Enable Non-Cacheable Region 2
2720 **        <1>     1     NCR2BS0		Non-Cacheable Region 2 Block Size 0
2721 **        <2>     1     NCR2BS1		Non-Cacheable Region 2 Block Size 1
2722 **        <3>     13    NCR2A		Non-Cacheable Region 2 Starting Addr
2723 **
2724 */
2725 #define SR_NCR2R_REG		0x102
2726 #define SR_NCR2R_INIT		0x0000
2727 #define NCR2R_V_NCR2EN		0
2728 #define NCR2R_M_NCR2EN		1 << NCR2R_V_NCR2EN
2729 #define NCR2R_V_NCR2BS		1
2730 #define NCR2R_M_NCR2BS		0x3 << NCR2R_V_NCR2BS
2731 #define NCR2R_V_NCR2BS0		1
2732 #define NCR2R_M_NCR2BS0		1 << NCR2R_V_NCR2BS0
2733 #define NCR2R_V_NCR2BS1		1
2734 #define NCR2R_M_NCR2BS1		1 << NCR2R_V_NCR2BS1
2735 #define NCR2R_V_NCR2A		3
2736 #define NCR2R_M_NCR2A		0xFFF8 << NCR2R_V_NCR2A
2737 
2738 /*
2739 ** Non-Cacheable Region 2 Block Size (Kbytes)
2740 */
2741 #define NCR2BS_32K		0x000
2742 #define NCR2BS_64K		NCR2R_M_NCR2BS0
2743 #define NCR2BS_128K		NCR2R_M_NCR2BS1
2744 #define NCR2BS_256K		(NCR2R_M_NCR2BS0 | NCR2R_M_NCR2BS1)
2745 
2746 /*
2747 **
2748 **  SYS Miscellaneous Control Register 1 (SYSMCR1) - Index 0x103
2749 **
2750 **        Loc   Size    Name    	Function
2751 **       -----  ----    ----    	---------------------------------
2752 **        <0>     1     LDSMIHLDER	Load SMI Handler into SMM Space
2753 **        <1>     1     MOVRLYEN	Memory Overlay Enable
2754 **        <2>     1     SMMMAPSEL	SMM Memory Map Select
2755 **        <3>     1     SMMDETECT	SMM Detect
2756 **        <4>     1     FLUSHWSMI	Generate FLUSH# with SMI# Active
2757 **        <5>     1     SMIFLUSHIN	SMI Flush In
2758 **        <6>     1     SMIFLUSHOUT	SMI Flush Out
2759 **        <7>     1     SMMKENDIS	SMM KEN Disable
2760 **        <8>     1     KDISSMMREG	SMM Region KEN Disable
2761 **        <9>     1     SMISEL		SMI Select
2762 **        <10>    1     SMMBLASTL	Force BLAST# Low During SMM Cycles Enable
2763 **        <11>    1     SMMMSKA20	SMM Mask A20
2764 **        <13>    1     SMMMAPD		SMM Memory Map Using D Segment
2765 **        <14>    1     SMMMAPE		SMM Memory Map Using E Segment
2766 **        <15>    1     SMISTRTSEL	SMI Start Select
2767 **
2768 **	  <12> Reserved
2769 */
2770 #define SR_SYSMCR1_REG		0x103
2771 #define SR_SYSMCR1_INIT		SYSMCR1_M_SMISEL
2772 #define SYSMCR1_V_LDSMIHLDER	0
2773 #define SYSMCR1_M_LDSMIHLDER	1 << SYSMCR1_V_LDSMIHLDER
2774 #define SYSMCR1_V_MOVRLYEN	1
2775 #define SYSMCR1_M_MOVRLYEN	1 << SYSMCR1_V_MOVRLYEN
2776 #define SYSMCR1_V_SMMMAPSEL	2
2777 #define SYSMCR1_M_SMMMAPSEL	1 << SYSMCR1_V_SMMMAPSEL
2778 #define SYSMCR1_V_SMMDETECT	3
2779 #define SYSMCR1_M_SMMDETECT	1 << SYSMCR1_V_SMMDETECT
2780 #define SYSMCR1_V_FLUSHWSMI	4
2781 #define SYSMCR1_M_FLUSHWSMI	1 << SYSMCR1_V_FLUSHWSMI
2782 #define SYSMCR1_V_SMIFLUSHIN	5
2783 #define SYSMCR1_M_SMIFLUSHIN	1 << SYSMCR1_V_SMIFLUSHIN
2784 #define SYSMCR1_V_SMIFLUSHOUT	6
2785 #define SYSMCR1_M_SMIFLUSHOUT	1 << SYSMCR1_V_SMIFLUSHOUT
2786 #define SYSMCR1_V_SMMKENDIS	7
2787 #define SYSMCR1_M_SMMKENDIS	1 << SYSMCR1_V_SMMKENDIS
2788 #define SYSMCR1_V_KDISSMMREG	8
2789 #define SYSMCR1_M_KDISSMMREG	1 << SYSMCR1_V_KDISSMMREG
2790 #define SYSMCR1_V_SMISEL	9
2791 #define SYSMCR1_M_SMISEL	1 << SYSMCR1_V_SMISEL
2792 #define SYSMCR1_V_SMMBLASTL	10
2793 #define SYSMCR1_M_SMMBLASTL	1 << SYSMCR1_V_SMMBLASTL
2794 #define SYSMCR1_V_SMMMSKA20	11
2795 #define SYSMCR1_M_SMMMSKA20	1 << SYSMCR1_V_SMMMSKA20
2796 #define SYSMCR1_V_SMMMAPD	13
2797 #define SYSMCR1_M_SMMMAPD	1 << SYSMCR1_V_SMMMAPD
2798 #define SYSMCR1_V_SMMMAPE	14
2799 #define SYSMCR1_M_SMMMAPE	1 << SYSMCR1_V_SMMMAPE
2800 #define SYSMCR1_V_SMISTRTSEL	15
2801 #define SYSMCR1_M_SMISTRTSEL	1 << SYSMCR1_V_SMISTRTSEL
2802 
2803 /*
2804 **
2805 **  SYS Miscellaneous Control Register 2 (SYSMCR2) - Index 0x104
2806 **
2807 **        Loc   Size    Name    	Function
2808 **       -----  ----    ----    	---------------------------------
2809 **        <0>     1     SMIHLDOFRST	Enable Hold-Off of SRESET During SMI Cycles
2810 **        <1>     1     LCLKDIS		KEN Disable Always
2811 **        <2>     1     KFLUSH		Cache Flush
2812 **        <4>     1     LSTIOLTCHEN	Last I/O Latch Enable
2813 **        <6>     1     VLMSTLDOFF	Lead-off Wait-State for VL-Master Cycle
2814 **        <13>    1     ENRDYN		Generate RDY# at the End of a Burst Cycle
2815 **        <14>    1     LMABLOCK	Local Memory Access at A0000-BFFFFH Lock
2816 **        <15>    1     SHDWRLOCK	Shadow RAM Write Lock
2817 **
2818 **	  <3><5><7:12> Reserved
2819 */
2820 #define SR_SYSMCR2_REG		0x104
2821 #define SR_SYSMCR2_INIT		( SYSMCR2_M_SMIHLDOFRST | SYSMCR2_M_VLMSTLDOFF \
2822 				  SYSMCR2_M_ENRDYN      )
2823 #define SYSMCR2_V_SMIHLDOFRST	0
2824 #define SYSMCR2_M_SMIHLDOFRST	1 << SYSMCR2_V_SMIHLDOFRST
2825 #define SYSMCR2_V_LCLKDIS	1
2826 #define SYSMCR2_M_LCLKDIS	1 << SYSMCR2_V_LCLKDIS
2827 #define SYSMCR2_V_KFLUSH	2
2828 #define SYSMCR2_M_KFLUSH	1 << SYSMCR2_V_KFLUSH
2829 #define SYSMCR2_V_LSTIOLTCHEN	4
2830 #define SYSMCR2_M_LSTIOLTCHEN	1 << SYSMCR2_V_LSTIOLTCHEN
2831 #define SYSMCR2_V_VLMSTLDOFF	6
2832 #define SYSMCR2_M_VLMSTLDOFF	1 << SYSMCR2_V_VLMSTLDOFF
2833 #define SYSMCR2_V_ENRDYN	13
2834 #define SYSMCR2_M_ENRDYN	1 << SYSMCR2_V_ENRDYN
2835 #define SYSMCR2_V_LMABLOCK	14
2836 #define SYSMCR2_M_LMABLOCK	1 << SYSMCR2_V_LMABLOCK
2837 #define SYSMCR2_V_SHDWRLOCK	15
2838 #define SYSMCR2_M_SHDWRLOCK	1 << SYSMCR2_V_SHDWRLOCK
2839 
2840 /*
2841 **
2842 **  Parity Address Register 1 (PARADR1) - Index 0x105
2843 **
2844 **        Loc   Size    Name    	Function
2845 **       -----  ----    ----    	---------------------------------
2846 **        <2>    14     PARADR		Parity Error Address
2847 **
2848 **	  <0:1> Reserved
2849 */
2850 #define SR_PARADR1_REG		0x105
2851 #define PARADR1_V_PARADR	2
2852 #define PARADR1_M_PARADR	0xFFFC << PARADR1_V_PARADR
2853 
2854 /*
2855 **
2856 **  Parity Address Register 2 (PARADR2) - Index 0x106
2857 **
2858 **        Loc   Size    Name    	Function
2859 **       -----  ----    ----    	---------------------------------
2860 **        <0>    12     PARADR		Parity Error Address
2861 **        <12>    1     PARBE0		Byte Enables for Parity Error Address 0
2862 **        <13>    1     PARBE1		Byte Enables for Parity Error Address 1
2863 **        <14>    1     PARBE2		Byte Enables for Parity Error Address 2
2864 **        <15>    1     PARBE3		Byte Enables for Parity Error Address 3
2865 **
2866 */
2867 #define SR_PARADR2_REG		0x106
2868 #define PARADR2_V_PARADR	0
2869 #define PARADR2_M_PARADR	0xFFF << PARADR2_V_PARADR
2870 #define PARADR2_V_PARBE		12
2871 #define PARADR2_M_PARBE		0xF << PARADR2_V_PARBE
2872 #define PARADR2_V_PARBE0	12
2873 #define PARADR2_M_PARBE0	1 << PARADR2_V_PARBE0
2874 #define PARADR2_V_PARBE1	13
2875 #define PARADR2_M_PARBE1	1 << PARADR2_V_PARBE1
2876 #define PARADR2_V_PARBE2	14
2877 #define PARADR2_M_PARBE2	1 << PARADR2_V_PARBE2
2878 #define PARADR2_V_PARBE3	15
2879 #define PARADR2_M_PARBE3	1 << PARADR2_V_PARBE3
2880 
2881 /*
2882 ** SEQUOIA-1 Pin Function Select Registers
2883 **
2884 */
2885 
2886 /*
2887 **
2888 **  SEQUOIA-1 Pin Select Register 1 (SEQPSR1) - Index 0x110
2889 **
2890 **        Loc   Size    Name    	Function
2891 **       -----  ----    ----    	---------------------------------
2892 **        <0>     1     NPWRGDDBDIS	Negative PWRGD Edge Debounce Disable
2893 **        <1>     1     PORT92DIS	Port 92 Disable
2894 **        <2>     1     TAGCSSEL	TAGCS# Select
2895 **        <3>     1     LOCKPINSEL	LOCK# Pin Select
2896 **        <4>     1     CCSPINEN	CCS Pin Enable #
2897 **        <5>     1     TAGDEN		TAG RAM Data Enable #
2898 **	  <8>	  1     GPIOC0PINEN	GPIOC0 Pin Enable
2899 **	  <10>	  1     HTRGOUTEN	Heat Regulator Output Enable
2900 **	  <11>	  1     GPIOA0PINEN	GPIOA0 Pin Enable
2901 **
2902 **	  <6:7><9><12:15> Reserved
2903 */
2904 #define SEQR_SEQPSR1_REG	0x110
2905 #define SEQR_SEQPSR1_INIT	( SEQPSR1_M_PORT92DIS   | SEQPSR1_M_CCSPINEN | \
2906 				  SEQPSR1_M_TAGDEN)
2907 #define SEQPSR1_V_NPWRGDDBDIS	0
2908 #define SEQPSR1_M_NPWRGDDBDIS	1 << SEQPSR1_V_NPWRGDDBDIS
2909 #define SEQPSR1_V_PORT92DIS	1
2910 #define SEQPSR1_M_PORT92DIS	1 << SEQPSR1_V_PORT92DIS
2911 #define SEQPSR1_V_TAGCSSEL	2
2912 #define SEQPSR1_M_TAGCSSEL	1 << SEQPSR1_V_TAGCSSEL
2913 #define SEQPSR1_V_LOCKPINSEL	3
2914 #define SEQPSR1_M_LOCKPINSEL	1 << SEQPSR1_V_LOCKPINSEL
2915 #define SEQPSR1_V_CCSPINEN	4
2916 #define SEQPSR1_M_CCSPINEN	1 << SEQPSR1_V_CCSPINEN
2917 #define SEQPSR1_V_TAGDEN	5
2918 #define SEQPSR1_M_TAGDEN	1 << SEQPSR1_V_TAGDEN
2919 #define SEQPSR1_V_GPIOC0PINEN	8
2920 #define SEQPSR1_M_GPIOC0PINEN	1 << SEQPSR1_V_GPIOC0PINEN
2921 #define SEQPSR1_V_HTRGOUTEN	10
2922 #define SEQPSR1_M_HTRGOUTEN	1 << SEQPSR1_V_HTRGOUTEN
2923 #define SEQPSR1_V_GPIOA0PINEN	11
2924 #define SEQPSR1_M_GPIOA0PINEN	1 << SEQPSR1_V_GPIOA0PINEN
2925 
2926 /*
2927 **
2928 **  SEQUOIA-1 Pin Select Register 2 (SEQPSR2) - Index 0x111
2929 **
2930 **        Loc   Size    Name    	Function
2931 **       -----  ----    ----    	---------------------------------
2932 **        <0>     1     OPGPEXTEN	Optional GPEXT Enable
2933 **        <2>     1     EXTACT3PINEN	EXTACT3 Pin Enable
2934 **        <3>     1     NMIPINEN	NMI Pin Enable
2935 **        <4>     1     DIRTYPINEN	DIRTY Pin Enable #
2936 **        <5>     1     GPIOB0PINEN	GPIOB0 Pin Enable
2937 **        <6>     1     DRTWEPINEN	DRTWE# Pin Enable #
2938 **	  <7>	  1     GPIOB1PINEN	GPIOB1 Pin Enable
2939 **	  <8>	  1     KBRSTPINEN	KB reset Pin Enable
2940 **	  <11>	  1     GPIOC1PINEN	GPIOC1 Pin Enable
2941 **	  <12>	  1     GPIO0PINEN	GPIO0 Pin Enable #
2942 **	  <13>	  1     GPIO1PINEN	GPIO1 Pin Enable #
2943 **	  <14>	  1     GPIO2PINEN	GPIO2 Pin Enable #
2944 **	  <15>	  1     GPIO3PINEN	GPIO3 Pin Enable #
2945 **
2946 **	  <1><9:10> Reserved
2947 */
2948 #define SEQR_SEQPSR2_REG	0x111
2949 #define SEQR_SEQPSR2_INIT	( SEQPSR2_M_NMIPINEN    | SEQPSR2_M_DIRTYPINEN |\
2950 				  SEQPSR2_M_GPIOB0PINEN | SEQPSR2_M_DRTWEPINEN |\
2951 				  SEQPSR2_M_GPIOB1PINEN | SEQPSR2_M_KBRSTPINEN |\
2952 				  SEQPSR2_M_BIT9        | SEQPSR2_M_BIT10      |\
2953 				  SEQPSR2_M_GPIOC1PINEN )
2954 #define SEQPSR2_V_OPGPEXTEN	0
2955 #define SEQPSR2_M_OPGPEXTEN	1 << SEQPSR2_V_OPGPEXTEN
2956 #define SEQPSR2_V_EXTACT3PINEN	2
2957 #define SEQPSR2_M_EXTACT3PINEN	1 << SEQPSR2_V_EXTACT3PINEN
2958 #define SEQPSR2_V_NMIPINEN	3
2959 #define SEQPSR2_M_NMIPINEN	1 << SEQPSR2_V_NMIPINEN
2960 #define SEQPSR2_V_DIRTYPINEN	4
2961 #define SEQPSR2_M_DIRTYPINEN	1 << SEQPSR2_V_DIRTYPINEN
2962 #define SEQPSR2_V_GPIOB0PINEN	5
2963 #define SEQPSR2_M_GPIOB0PINEN	1 << SEQPSR2_V_GPIOB0PINEN
2964 #define SEQPSR2_V_DRTWEPINEN	6
2965 #define SEQPSR2_M_DRTWEPINEN	1 << SEQPSR2_V_DRTWEPINEN
2966 #define SEQPSR2_V_GPIOB1PINEN	7
2967 #define SEQPSR2_M_GPIOB1PINEN	1 << SEQPSR2_V_GPIOB1PINEN
2968 #define SEQPSR2_V_KBRSTPINEN	8
2969 #define SEQPSR2_M_KBRSTPINEN	1 << SEQPSR2_V_KBRSTPINEN
2970 #define SEQPSR2_V_BIT9		9
2971 #define SEQPSR2_M_BIT9		1 << SEQPSR2_V_BIT9
2972 #define SEQPSR2_V_BIT10		10
2973 #define SEQPSR2_M_BIT10		1 << SEQPSR2_V_BIT10
2974 #define SEQPSR2_V_GPIOC1PINEN	11
2975 #define SEQPSR2_M_GPIOC1PINEN	1 << SEQPSR2_V_GPIOC1PINEN
2976 #define SEQPSR2_V_GPIO0PINEN	12
2977 #define SEQPSR2_M_GPIO0PINEN	1 << SEQPSR2_V_GPIO0PINEN
2978 #define SEQPSR2_V_GPIO1PINEN	13
2979 #define SEQPSR2_M_GPIO1PINEN	1 << SEQPSR2_V_GPIO1PINEN
2980 #define SEQPSR2_V_GPIO2PINEN	14
2981 #define SEQPSR2_M_GPIO2PINEN	1 << SEQPSR2_V_GPIO2PINEN
2982 #define SEQPSR2_V_GPIO3PINEN	15
2983 #define SEQPSR2_M_GPIO3PINEN	1 << SEQPSR2_V_GPIO3PINEN
2984 
2985 /*
2986 **
2987 **  SEQUOIA-1 Pin Select Register 3 (SEQPSR3) - Index 0x112
2988 **
2989 **        Loc   Size    Name    	Function
2990 **       -----  ----    ----    	---------------------------------
2991 **        <0>     1     PC0PINEN	PC0 Pin Enable #
2992 **        <2>     1     PC2PINEN	PC2 Pin Enable #
2993 **        <3>     1     PC3PINEN	PC3 Pin Enable #
2994 **        <4>     1     PC4PINEN	PC4 Pin Enable #
2995 **        <5>     1     PC5PINEN	PC5 Pin Enable #
2996 **        <6>     1     PC6PINEN	PC6 Pin Enable #
2997 **        <7>     1     PC7PINEN	PC7 Pin Enable #
2998 **        <8>     1     PC8PINEN	PC8 Pin Enable #
2999 **        <9>     1     PC9PINEN	PC9 Pin Enable #
3000 **        <12>    1     EXTACT0PINEN	EXTACT0 Pin Enable
3001 **        <15>    1     EXTACT1PINEN	EXTACT1 Pin Enable
3002 **
3003 **	  <1><10:11><13:14> Reserved
3004 */
3005 #define SEQR_SEQPSR3_REG	0x112
3006 #define SEQR_SEQPSR3_INIT	( SEQPSR3_M_PC2PINEN | SEQPSR3_M_PC3PINEN | \
3007 				  SEQPSR3_M_PC4PINEN | SEQPSR3_M_PC5PINEN | \
3008 				  SEQPSR3_M_PC6PINEN | SEQPSR3_M_PC7PINEN | \
3009 				  SEQPSR3_M_PC8PINEN | SEQPSR3_M_PC9PINEN )
3010 #define SEQPSR3_V_PC0PINEN	0
3011 #define SEQPSR3_M_PC0PINEN	1 << SEQPSR3_V_PC0PINEN
3012 #define SEQPSR3_V_PC2PINEN	2
3013 #define SEQPSR3_M_PC2PINEN	1 << SEQPSR3_V_PC2PINEN
3014 #define SEQPSR3_V_PC3PINEN	3
3015 #define SEQPSR3_M_PC3PINEN	1 << SEQPSR3_V_PC3PINEN
3016 #define SEQPSR3_V_PC4PINEN	4
3017 #define SEQPSR3_M_PC4PINEN	1 << SEQPSR3_V_PC4PINEN
3018 #define SEQPSR3_V_PC5PINEN	5
3019 #define SEQPSR3_M_PC5PINEN	1 << SEQPSR3_V_PC5PINEN
3020 #define SEQPSR3_V_PC6PINEN	6
3021 #define SEQPSR3_M_PC6PINEN	1 << SEQPSR3_V_PC6PINEN
3022 #define SEQPSR3_V_PC7PINEN	7
3023 #define SEQPSR3_M_PC7PINEN	1 << SEQPSR3_V_PC7PINEN
3024 #define SEQPSR3_V_PC8PINEN	8
3025 #define SEQPSR3_M_PC8PINEN	1 << SEQPSR3_V_PC8PINEN
3026 #define SEQPSR3_V_PC9PINEN	9
3027 #define SEQPSR3_M_PC9PINEN	1 << SEQPSR3_V_PC9PINEN
3028 #define SEQPSR3_V_EXTACT0PINEN	12
3029 #define SEQPSR3_M_EXTACT0PINEN	1 << SEQPSR3_V_EXTACT0PINEN
3030 #define SEQPSR3_V_EXTACT1PINEN	15
3031 #define SEQPSR3_M_EXTACT1PINEN	1 << SEQPSR3_V_EXTACT1PINEN
3032 
3033 /*
3034 **
3035 **  Modular Clock Control Register (MODCLKCR) - Index 0x118
3036 **
3037 **        Loc   Size    Name    	Function
3038 **       -----  ----    ----    	---------------------------------
3039 **        <1>     1     VLCLKSTPEN	VL Clock Stop Enable
3040 **        <5>     1     ADSMDIS		ADS Mask Disable
3041 **        <8>     1     MDCHGIMD	Mode Change Immediate
3042 **        <11>    1     SLWATCKEN	SLOW AT Clock Enable
3043 **
3044 **	  <0><2:4><6:7><9:10><12:15> Reserved
3045 */
3046 #define SEQR_MODCLKCR_REG	0x118
3047 #define SEQR_MODCLKCR_INIT	MODCLKCR_M_VLCLKSTPEN
3048 #define MODCLKCR_V_VLCLKSTPEN	1
3049 #define MODCLKCR_M_VLCLKSTPEN	1 << MODCLKCR_V_VLCLKSTPEN
3050 #define MODCLKCR_V_ADSMDIS	5
3051 #define MODCLKCR_M_ADSMDIS	1 << MODCLKCR_V_ADSMDIS
3052 #define MODCLKCR_V_MDCHGIMD	8
3053 #define MODCLKCR_M_MDCHGIMD	1 << MODCLKCR_V_MDCHGIMD
3054 #define MODCLKCR_V_SLWATCKEN	11
3055 #define MODCLKCR_M_SLWWATCKEN	1 << MODCLKCR_V_SLWATCKEN
3056 
3057 /*
3058 **
3059 **  Burst Bus Control Register (BBUSCR) - Index 0x180
3060 **
3061 **        Loc   Size    Name    	Function
3062 **       -----  ----    ----    	---------------------------------
3063 **        <3>     1     SQ1GIDEEN	SEQUOIA-1 Global Turbo IDE Enable
3064 **        <5>     1     RSTREADSEN	Restart EADS Enable
3065 **        <15>    1     SECIDEN		Secondary IDE Drive Enable
3066 **
3067 **	  <0:2><4><6:14> Reserved
3068 */
3069 #define SEQR_BBUSCR_REG	0x180
3070 #define BBUSCR_V_SQ1GIDEEN	3
3071 #define BBUSCR_M_SQ1GIDEEN	1 << BBUSCR_V_SQ1GIDEEN
3072 #define BBUSCR_V_RSTREADSEN	5
3073 #define BBUSCR_M_RSTREADSEN	1 << BBUSCR_V_RSTREADSEN
3074 #define BBUSCR_V_SECIDEN	15
3075 #define BBUSCR_M_SECIDEN	1 << BBUSCR_V_SECIDEN
3076 
3077 /*
3078 ** DRAM Control Registers
3079 **
3080 */
3081 
3082 /*
3083 **
3084 **  Shadow RAM Read Enable Control Register (SRAMRDENCR) - Index 0x200
3085 **
3086 **        Loc   Size    Name    	Function
3087 **       -----  ----    ----    	---------------------------------
3088 **        <0>     1     LMEMRDEN0	Local Memory C0000H-C3FFFH Read Enable
3089 **        <1>     1     LMEMRDEN1	Local Memory C4000H-C7FFFH Read Enable
3090 **        <2>     1     LMEMRDEN2	Local Memory C8000H-CBFFFH Read Enable
3091 **        <3>     1     LMEMRDEN3	Local Memory CC000H-CFFFFH Read Enable
3092 **        <4>     1     LMEMRDEN4	Local Memory D0000H-D3FFFH Read Enable
3093 **        <5>     1     LMEMRDEN5	Local Memory D4000H-D7FFFH Read Enable
3094 **        <6>     1     LMEMRDEN6	Local Memory D8000H-DBFFFH Read Enable
3095 **        <7>     1     LMEMRDEN7	Local Memory DC000H-DFFFFH Read Enable
3096 **        <8>     1     LMEMRDEN8	Local Memory E0000H-E3FFFH Read Enable
3097 **        <9>     1     LMEMRDEN9	Local Memory E4000H-E7FFFH Read Enable
3098 **        <10>    1     LMEMRDEN10	Local Memory E8000H-EBFFFH Read Enable
3099 **        <11>    1     LMEMRDEN11	Local Memory EC000H-EFFFFH Read Enable
3100 **        <12>    1     LMEMRDEN12	Local Memory F0000H-FFFFFH Read Enable
3101 **
3102 **	  <13:15> Reserved
3103 */
3104 #define DRAMCR_SRAMRDENCR_REG	0x200
3105 #define DRAMCR_SRAMRDENCR_INIT	0x0000
3106 #define SRAMRDENCR_V_LMEMRDEN0	0
3107 #define SRAMRDENCR_M_LMEMRDEN0	1 << SRAMRDENCR_V_LMEMRDEN0
3108 #define SRAMRDENCR_V_LMEMRDEN1	1
3109 #define SRAMRDENCR_M_LMEMRDEN1	1 << SRAMRDENCR_V_LMEMRDEN1
3110 #define SRAMRDENCR_V_LMEMRDEN2	2
3111 #define SRAMRDENCR_M_LMEMRDEN2	1 << SRAMRDENCR_V_LMEMRDEN2
3112 #define SRAMRDENCR_V_LMEMRDEN3	3
3113 #define SRAMRDENCR_M_LMEMRDEN3	1 << SRAMRDENCR_V_LMEMRDEN3
3114 #define SRAMRDENCR_V_LMEMRDEN4	4
3115 #define SRAMRDENCR_M_LMEMRDEN4	1 << SRAMRDENCR_V_LMEMRDEN4
3116 #define SRAMRDENCR_V_LMEMRDEN5	5
3117 #define SRAMRDENCR_M_LMEMRDEN5	1 << SRAMRDENCR_V_LMEMRDEN5
3118 #define SRAMRDENCR_V_LMEMRDEN6	6
3119 #define SRAMRDENCR_M_LMEMRDEN6	1 << SRAMRDENCR_V_LMEMRDEN6
3120 #define SRAMRDENCR_V_LMEMRDEN7	7
3121 #define SRAMRDENCR_M_LMEMRDEN7	1 << SRAMRDENCR_V_LMEMRDEN7
3122 #define SRAMRDENCR_V_LMEMRDEN8	8
3123 #define SRAMRDENCR_M_LMEMRDEN8	1 << SRAMRDENCR_V_LMEMRDEN8
3124 #define SRAMRDENCR_V_LMEMRDEN9	9
3125 #define SRAMRDENCR_M_LMEMRDEN9	1 << SRAMRDENCR_V_LMEMRDEN9
3126 #define SRAMRDENCR_V_LMEMRDEN10	10
3127 #define SRAMRDENCR_M_LMEMRDEN10	1 << SRAMRDENCR_V_LMEMRDEN10
3128 #define SRAMRDENCR_V_LMEMRDEN11	11
3129 #define SRAMRDENCR_M_LMEMRDEN11	1 << SRAMRDENCR_V_LMEMRDEN11
3130 #define SRAMRDENCR_V_LMEMRDEN12	12
3131 #define SRAMRDENCR_M_LMEMRDEN12	1 << SRAMRDENCR_V_LMEMRDEN12
3132 
3133 /*
3134 **
3135 **  Shadow RAM Write Enable Control Register (SRAMWRENCR) - Index 0x201
3136 **
3137 **        Loc   Size    Name    	Function
3138 **       -----  ----    ----    	---------------------------------
3139 **        <0>     1     LMEMWREN0	Local Memory C0000H-C3FFFH Write Enable
3140 **        <1>     1     LMEMWREN1	Local Memory C4000H-C7FFFH Write Enable
3141 **        <2>     1     LMEMWREN2	Local Memory C8000H-CBFFFH Write Enable
3142 **        <3>     1     LMEMWREN3	Local Memory CC000H-CFFFFH Write Enable
3143 **        <4>     1     LMEMWREN4	Local Memory D0000H-D3FFFH Write Enable
3144 **        <5>     1     LMEMWREN5	Local Memory D4000H-D7FFFH Write Enable
3145 **        <6>     1     LMEMWREN6	Local Memory D8000H-DBFFFH Write Enable
3146 **        <7>     1     LMEMWREN7	Local Memory DC000H-DFFFFH Write Enable
3147 **        <8>     1     LMEMWREN8	Local Memory E0000H-E3FFFH Write Enable
3148 **        <9>     1     LMEMWREN9	Local Memory E4000H-E7FFFH Write Enable
3149 **        <10>    1     LMEMWREN10	Local Memory E8000H-EBFFFH Write Enable
3150 **        <11>    1     LMEMWREN11	Local Memory EC000H-EFFFFH Write Enable
3151 **        <12>    1     LMEMWREN12	Local Memory F0000H-FFFFFH Write Enable
3152 **
3153 **	  <13:15> Reserved
3154 */
3155 #define DRAMCR_SRAMWRENCR_REG	0x201
3156 #define DRAMCR_SRAMWRENCR_INIT	0x0000
3157 #define SRAMWRENCR_V_LMEMWREN0	0
3158 #define SRAMWRENCR_M_LMEMWREN0	1 << SRAMWRENCR_V_LMEMWREN0
3159 #define SRAMWRENCR_V_LMEMWREN1	1
3160 #define SRAMWRENCR_M_LMEMWREN1	1 << SRAMWRENCR_V_LMEMWREN1
3161 #define SRAMWRENCR_V_LMEMWREN2	2
3162 #define SRAMWRENCR_M_LMEMWREN2	1 << SRAMWRENCR_V_LMEMWREN2
3163 #define SRAMWRENCR_V_LMEMWREN3	3
3164 #define SRAMWRENCR_M_LMEMWREN3	1 << SRAMWRENCR_V_LMEMWREN3
3165 #define SRAMWRENCR_V_LMEMWREN4	4
3166 #define SRAMWRENCR_M_LMEMWREN4	1 << SRAMWRENCR_V_LMEMWREN4
3167 #define SRAMWRENCR_V_LMEMWREN5	5
3168 #define SRAMWRENCR_M_LMEMWREN5	1 << SRAMWRENCR_V_LMEMWREN5
3169 #define SRAMWRENCR_V_LMEMWREN6	6
3170 #define SRAMWRENCR_M_LMEMWREN6	1 << SRAMWRENCR_V_LMEMWREN6
3171 #define SRAMWRENCR_V_LMEMWREN7	7
3172 #define SRAMWRENCR_M_LMEMWREN7	1 << SRAMWRENCR_V_LMEMWREN7
3173 #define SRAMWRENCR_V_LMEMWREN8	8
3174 #define SRAMWRENCR_M_LMEMWREN8	1 << SRAMWRENCR_V_LMEMWREN8
3175 #define SRAMWRENCR_V_LMEMWREN9	9
3176 #define SRAMWRENCR_M_LMEMWREN9	1 << SRAMWRENCR_V_LMEMWREN9
3177 #define SRAMWRENCR_V_LMEMWREN10	10
3178 #define SRAMWRENCR_M_LMEMWREN10	1 << SRAMWRENCR_V_LMEMWREN10
3179 #define SRAMWRENCR_V_LMEMWREN11	11
3180 #define SRAMWRENCR_M_LMEMWREN11	1 << SRAMWRENCR_V_LMEMWREN11
3181 #define SRAMWRENCR_V_LMEMWREN12	12
3182 #define SRAMWRENCR_M_LMEMWREN12	1 << SRAMWRENCR_V_LMEMWREN12
3183 
3184 /*
3185 **
3186 **  Bank 0 Control Register (BK0CR) - Index 0x202
3187 **
3188 **        Loc   Size    Name    	Function
3189 **       -----  ----    ----    	---------------------------------
3190 **        <0>     8     B0A		Bank 0 Starting Address
3191 **        <8>     1     B0S0		Bank 0 DRAM Size 0
3192 **        <9>     1     B0S1		Bank 0 DRAM Size 1
3193 **        <10>    1     B0S2		Bank 0 DRAM Size 2
3194 **        <11>    1     BANKEN0		Bank 0 Enable
3195 **        <12>    1     ENMDEN0N	Enable MDEN# for Bank 0
3196 **        <13>    1     COLADR00	Number of Column Address Bits for Bank 0 0
3197 **        <14>    1     COLADR01	Number of Column Address Bits for Bank 0 1
3198 **        <15>    1     COLADR02	Number of Column Address Bits for Bank 0 2
3199 **
3200 */
3201 #define DRAMCR_BK0CR_REG	0x202
3202 #define DRAMCR_BK0CR_INIT	0x0000
3203 #define BK0CR_V_B0A		0
3204 #define BK0CR_M_B0A		0xFF << BK0CR_V_B0A
3205 #define BK0CR_V_B0S		8
3206 #define BK0CR_M_B0S		0x7 << BK0CR_V_B0S
3207 #define BK0CR_V_B0S0		8
3208 #define BK0CR_M_B0S0		1 << BK0CR_V_B0S0
3209 #define BK0CR_V_B0S1		9
3210 #define BK0CR_M_B0S1		1 << BK0CR_V_B0S1
3211 #define BK0CR_V_B0S2		10
3212 #define BK0CR_M_B0S2		1 << BK0CR_V_B0S2
3213 #define BK0CR_V_BANKEN0		11
3214 #define BK0CR_M_BANKEN0		1 << BK0CR_V_BANKEN0
3215 #define BK0CR_V_ENMDEN0N	12
3216 #define BK0CR_M_ENMDEN0N	1 << BK0CR_V_ENMDEN0N
3217 #define BK0CR_V_COLADR0		13
3218 #define BK0CR_M_COLADR0		0xE << BK0CR_V_COLADR0
3219 #define BK0CR_V_COLADR00	13
3220 #define BK0CR_M_COLADR00	1 << BK0CR_V_COLADR00
3221 #define BK0CR_V_COLADR01	14
3222 #define BK0CR_M_COLADR01	1 << BK0CR_V_COLADR01
3223 #define BK0CR_V_COLADR02	15
3224 #define BK0CR_M_COLADR02	1 << BK0CR_V_COLADR02
3225 
3226 /*
3227 ** Bank 0 DRAM Size
3228 */
3229 #define B0S_256KB		0x000
3230 #define B0S_512KB		BK0CR_M_B0S0
3231 #define B0S_1MB			BK0CR_M_B0S1
3232 #define B0S_2MB			(BK0CR_M_B0S0 | BK0CR_M_B0S1)
3233 #define B0S_4MB			BK0CR_M_B0S2
3234 #define B0S_16MB		(BK0CR_M_B0S1 | BK0CR_M_B0S2)
3235 
3236 /*
3237 ** Bank 0 Column Address Bits
3238 */
3239 #define COLADR0_8		0x000
3240 #define COLADR0_9		BK0CR_M_COLADR00
3241 #define COLADR0_10		BK0CR_M_COLADR01
3242 #define COLADR0_11		(BK0CR_M_COLADR00 | BK0CR_M_COLADR01)
3243 #define COLADR0_12		BK0CR_M_COLADR02
3244 
3245 /*
3246 **
3247 **  Bank 1 Control Register (BK1CR) - Index 0x203
3248 **
3249 **        Loc   Size    Name    	Function
3250 **       -----  ----    ----    	---------------------------------
3251 **        <0>     8     B1A		Bank 1 Starting Address
3252 **        <8>     1     B1S0		Bank 1 DRAM Size 0
3253 **        <9>     1     B1S1		Bank 1 DRAM Size 1
3254 **        <10>    1     B1S2		Bank 1 DRAM Size 2
3255 **        <11>    1     BANKEN1		Bank 1 Enable
3256 **        <12>    1     ENMDEN1N	Enable MDEN# for Bank 1
3257 **        <13>    1     COLADR10	Number of Column Address Bits for Bank 1 0
3258 **        <14>    1     COLADR11	Number of Column Address Bits for Bank 1 1
3259 **        <15>    1     COLADR12	Number of Column Address Bits for Bank 1 2
3260 **
3261 */
3262 #define DRAMCR_BK1CR_REG	0x203
3263 #define DRAMCR_BK1CR_INIT	0x0000
3264 #define BK1CR_V_B1A		0
3265 #define BK1CR_M_B1A		0xFF << BK1CR_V_B1A
3266 #define BK1CR_V_B1S		8
3267 #define BK1CR_M_B1S		0x7 << BK1CR_V_B1S
3268 #define BK1CR_V_B1S0		8
3269 #define BK1CR_M_B1S0		1 << BK1CR_V_B1S0
3270 #define BK1CR_V_B1S1		9
3271 #define BK1CR_M_B1S1		1 << BK1CR_V_B1S1
3272 #define BK1CR_V_B1S2		10
3273 #define BK1CR_M_B1S2		1 << BK1CR_V_B1S2
3274 #define BK1CR_V_BANKEN1		11
3275 #define BK1CR_M_BANKEN1		1 << BK1CR_V_BANKEN1
3276 #define BK1CR_V_ENMDEN1N	12
3277 #define BK1CR_M_ENMDEN1N	1 << BK1CR_V_ENMDEN1N
3278 #define BK1CR_V_COLADR1		13
3279 #define BK1CR_M_COLADR1		0xE << BK1CR_V_COLADR1
3280 #define BK1CR_V_COLADR10	13
3281 #define BK1CR_M_COLADR10	1 << BK1CR_V_COLADR10
3282 #define BK1CR_V_COLADR11	14
3283 #define BK1CR_M_COLADR11	1 << BK1CR_V_COLADR11
3284 #define BK1CR_V_COLADR12	15
3285 #define BK1CR_M_COLADR12	1 << BK1CR_V_COLADR12
3286 
3287 /*
3288 ** Bank 1 DRAM Size
3289 */
3290 #define B1S_256KB		0x000
3291 #define B1S_512KB		BK1CR_M_B1S0
3292 #define B1S_1MB			BK1CR_M_B1S1
3293 #define B1S_2MB			(BK1CR_M_B1S0 | BK1CR_M_B1S1)
3294 #define B1S_4MB			BK1CR_M_B1S2
3295 #define B1S_16MB		(BK1CR_M_B1S1 | BK1CR_M_B1S2)
3296 
3297 /*
3298 ** Bank 1 Column Address Bits
3299 */
3300 #define COLADR1_8		0x000
3301 #define COLADR1_9		BK1CR_M_COLADR10
3302 #define COLADR1_10		BK1CR_M_COLADR11
3303 #define COLADR1_11		(BK1CR_M_COLADR10 | BK1CR_M_COLADR11)
3304 #define COLADR1_12		BK1CR_M_COLADR12
3305 
3306 /*
3307 **
3308 **  Bank 0/1 Timing Control Register (BK01TCR) - Index 0x204
3309 **
3310 **        Loc   Size    Name    	Function
3311 **       -----  ----    ----    	---------------------------------
3312 **        <0>     1     B01WRCPW0	Bank 0/1 Write CAS Cycle Time 0
3313 **        <1>     1     B01WRCPW1	Bank 0/1 Write CAS Cycle Time 1
3314 **        <2>     1     MA01WRDLY	Bank 0/1 Write MA Delay
3315 **        <3>     1     B01RDCPW0	Bank 0/1 Read CAS Cycle Time 0
3316 **        <4>     1     B01RDCPW1	Bank 0/1 Read CAS Cycle Time 1
3317 **        <5>     1     MA01RDDLY	Bank 0/1 Read MA Delay
3318 **        <6>     1     B01CPRE		Bank 0/1 CAS Precharge
3319 **        <7>     1     B01RTMA		Bank 0/1 RAS to CAS Delay
3320 **        <8>     1     B01MATC		Bank 0/1 MA to CAS Delay
3321 **        <9>     1     B01RPRE0	Bank 0/1 RAS Precharge Time 0
3322 **        <10>    1     B01RPRE1	Bank 0/1 RAS Precharge Time 1
3323 **        <11>    1     B01RPRE2	Bank 0/1 RAS Precharge Time 2
3324 **        <12>    1     B01ILAVDT	Bank 0/1 Interleave Avoid Time
3325 **        <13>    1     BNK01_ITL	Bank 0/1 Interleave Enable
3326 **
3327 **	  <14:15> Reserved
3328 */
3329 #define DRAMCR_BK01TCR_REG	0x204
3330 #define DRAMCR_BK01TCR_INIT	( BK01TCR_M_B01WRCPW  | BK01TCR_M_MA01WRDLY | \
3331 				  BK01TCR_M_B01RDCPW  | BK01TCR_M_MA01RDDLY | \
3332 				  BK01TCR_M_B01CPRE   | BK01TCR_M_B01RTMA   | \
3333 				  BK01TCR_M_B01MATC   | BK01TCR_M_B01RPRE   | \
3334 				  BK01TCR_M_B01ILAVDT )
3335 #define BK01TCR_V_B01WRCPW	0
3336 #define BK01TCR_M_B01WRCPW	0x3 << BK01TCR_V_B01WRCPW
3337 #define BK01TCR_V_B01WRCPW0	0
3338 #define BK01TCR_M_B01WRCPW0	1 << BK01TCR_V_B01WRCPW0
3339 #define BK01TCR_V_B01WRCPW1	1
3340 #define BK01TCR_M_B01WRCPW1	1 << BK01TCR_V_B01WRCPW1
3341 #define BK01TCR_V_MA01WRDLY	2
3342 #define BK01TCR_M_MA01WRDLY	1 << BK01TCR_V_MA01WRDLY
3343 #define BK01TCR_V_B01RDCPW	3
3344 #define BK01TCR_M_B01RDCPW	0x3 << BK01TCR_V_B01RDCPW
3345 #define BK01TCR_V_B01RDCPW0	3
3346 #define BK01TCR_M_B01RDCPW0	1 << BK01TCR_V_B01RDCPW0
3347 #define BK01TCR_V_B01RDCPW1	4
3348 #define BK01TCR_M_B01RDCPW1	1 << BK01TCR_V_B01RDCPW1
3349 #define BK01TCR_V_MA01RDDLY	5
3350 #define BK01TCR_M_MA01RDDLY	1 << BK01TCR_V_MA01RDDLY
3351 #define BK01TCR_V_B01CPRE	6
3352 #define BK01TCR_M_B01CPRE	1 << BK01TCR_V_B01CPRE
3353 #define BK01TCR_V_B01RTMA	7
3354 #define BK01TCR_M_B01RTMA	1 << BK01TCR_V_B01RTMA
3355 #define BK01TCR_V_B01MATC	8
3356 #define BK01TCR_M_B01MATC	1 << BK01TCR_V_B01MATC
3357 #define BK01TCR_V_B01RPRE	9
3358 #define BK01TCR_M_B01RPRE	0x7 << BK01TCR_V_B01RPRE
3359 #define BK01TCR_V_B01RPRE0	9
3360 #define BK01TCR_M_B01RPRE0	1 << BK01TCR_V_B01RPRE0
3361 #define BK01TCR_V_B01RPRE1	10
3362 #define BK01TCR_M_B01RPRE1	1 << BK01TCR_V_B01RPRE1
3363 #define BK01TCR_V_B01RPRE2	11
3364 #define BK01TCR_M_B01RPRE2	1 << BK01TCR_V_B01RPRE2
3365 #define BK01TCR_V_B01ILAVDT	12
3366 #define BK01TCR_M_B01ILAVDT	1 << BK01TCR_V_B01ILAVDT
3367 #define BK01TCR_V_BNK01_ITL	13
3368 #define BK01TCR_M_BNK01_ITL	1 << BK01TCR_V_BNK01_ITL
3369 
3370 /*
3371 ** Bank 0/1 Write CAS Cycle Time
3372 */
3373 #define B01WRCPW_1T		BK01TCR_M_B01WRCPW0
3374 #define B01WRCPW_2T		BK01TCR_M_B01WRCPW1
3375 #define B01WRCPW_3T		(BK01TCR_M_B01WRCPW0 | BK01TCR_M_B01WRCPW1)
3376 
3377 /*
3378 ** Bank 0/1 Read CAS Cycle Time
3379 */
3380 #define B01RDCPW_1T		0x000
3381 #define B01RDCPW_2T		BK01TCR_M_B01WRCPW0
3382 #define B01RDCPW_3T		BK01TCR_M_B01WRCPW1
3383 #define B01RDCPW_4T		(BK01TCR_M_B01WRCPW0 | BK01TCR_M_B01WRCPW1)
3384 
3385 /*
3386 ** Bank 0/1 RAS Precharge Time
3387 */
3388 #define B01RPRE_1PT5T		BK01TCR_M_B01RPRE1
3389 #define B01RPRE_2T		(BK01TCR_M_B01RPRE0 | BK01TCR_M_B01RPRE1)
3390 #define B01RPRE_2PT5T		BK01TCR_M_B01RPRE2
3391 #define B01RPRE_3T		(BK01TCR_M_B01RPRE0 | BK01TCR_M_B01RPRE2)
3392 #define B01RPRE_3PT5T		(BK01TCR_M_B01RPRE1 | BK01TCR_M_B01RPRE2)
3393 #define B01RPRE_4T		(BK01TCR_M_B01RPRE0 | BK01TCR_M_B01RPRE1 | BK01TCR_M_B01RPRE2)
3394 
3395 /*
3396 **
3397 **  Bank 2 Control Register (BK2CR) - Index 0x205
3398 **
3399 **        Loc   Size    Name    	Function
3400 **       -----  ----    ----    	---------------------------------
3401 **        <0>     8     B2A		Bank 2 Starting Address
3402 **        <8>     1     B2S0		Bank 2 DRAM Size 0
3403 **        <9>     1     B2S1		Bank 2 DRAM Size 1
3404 **        <10>    1     B2S2		Bank 2 DRAM Size 2
3405 **        <11>    1     BANKEN2		Bank 2 Enable
3406 **        <12>    1     ENMDEN2N	Enable MDEN# for Bank 2
3407 **        <13>    1     COLADR20	Number of Column Address Bits for Bank 2 0
3408 **        <14>    1     COLADR21	Number of Column Address Bits for Bank 2 1
3409 **        <15>    1     COLADR22	Number of Column Address Bits for Bank 2 2
3410 **
3411 */
3412 #define DRAMCR_BK2CR_REG	0x205
3413 #define DRAMCR_BK2CR_INIT	0x0000
3414 #define BK2CR_V_B2A		0
3415 #define BK2CR_M_B2A		0xFF << BK2CR_V_B2A
3416 #define BK2CR_V_B2S		8
3417 #define BK2CR_M_B2S		0x7 << BK2CR_V_B2S
3418 #define BK2CR_V_B2S0		8
3419 #define BK2CR_M_B2S0		1 << BK2CR_V_B2S0
3420 #define BK2CR_V_B2S1		9
3421 #define BK2CR_M_B2S1		1 << BK2CR_V_B2S1
3422 #define BK2CR_V_B2S2		10
3423 #define BK2CR_M_B2S2		1 << BK2CR_V_B2S2
3424 #define BK2CR_V_BANKEN2		11
3425 #define BK2CR_M_BANKEN2		1 << BK2CR_V_BANKEN2
3426 #define BK2CR_V_ENMDEN2N	12
3427 #define BK2CR_M_ENMDEN2N	1 << BK2CR_V_ENMDEN2N
3428 #define BK2CR_V_COLADR2		13
3429 #define BK2CR_M_COLADR2		0xE << BK2CR_V_COLADR2
3430 #define BK2CR_V_COLADR20	13
3431 #define BK2CR_M_COLADR20	1 << BK2CR_V_COLADR20
3432 #define BK2CR_V_COLADR21	14
3433 #define BK2CR_M_COLADR21	1 << BK2CR_V_COLADR21
3434 #define BK2CR_V_COLADR22	15
3435 #define BK2CR_M_COLADR22	1 << BK2CR_V_COLADR22
3436 
3437 /*
3438 ** Bank 2 DRAM Size
3439 */
3440 #define B2S_256KB		0x000
3441 #define B2S_512KB		BK2CR_M_B2S0
3442 #define B2S_1MB			BK2CR_M_B2S1
3443 #define B2S_2MB			(BK2CR_M_B2S0 | BK2CR_M_B2S1)
3444 #define B2S_4MB			BK2CR_M_B2S2
3445 #define B2S_16MB		(BK2CR_M_B2S1 | BK2CR_M_B2S2)
3446 
3447 /*
3448 ** Bank 2 Column Address Bits
3449 */
3450 #define COLADR2_8		0x000
3451 #define COLADR2_9		BK2CR_M_COLADR20
3452 #define COLADR2_10		BK2CR_M_COLADR21
3453 #define COLADR2_11		(BK2CR_M_COLADR20 | BK2CR_M_COLADR21)
3454 #define COLADR2_12		BK2CR_M_COLADR22
3455 
3456 /*
3457 **
3458 **  Bank 3 Control Register (BK3CR) - Index 0x206
3459 **
3460 **        Loc   Size    Name    	Function
3461 **       -----  ----    ----    	---------------------------------
3462 **        <0>     8     B3A		Bank 3 Starting Address
3463 **        <8>     1     B3S0		Bank 3 DRAM Size 0
3464 **        <9>     1     B3S1		Bank 3 DRAM Size 1
3465 **        <10>    1     B3S2		Bank 3 DRAM Size 2
3466 **        <11>    1     BANKEN3		Bank 3 Enable
3467 **        <12>    1     ENMDEN3N	Enable MDEN# for Bank 3
3468 **        <13>    1     COLADR30	Number of Column Address Bits for Bank 3 0
3469 **        <14>    1     COLADR31	Number of Column Address Bits for Bank 3 1
3470 **        <15>    1     COLADR32	Number of Column Address Bits for Bank 3 2
3471 **
3472 */
3473 #define DRAMCR_BK3CR_REG	0x206
3474 #define DRAMCR_BK3CR_INIT	0x0000
3475 #define BK3CR_V_B3A		0
3476 #define BK3CR_M_B3A		0xFF << BK3CR_V_B3A
3477 #define BK3CR_V_B3S		8
3478 #define BK3CR_M_B3S		0x7 << BK3CR_V_B3S
3479 #define BK3CR_V_B3S0		8
3480 #define BK3CR_M_B3S0		1 << BK3CR_V_B3S0
3481 #define BK3CR_V_B3S1		9
3482 #define BK3CR_M_B3S1		1 << BK3CR_V_B3S1
3483 #define BK3CR_V_B3S2		10
3484 #define BK3CR_M_B3S2		1 << BK3CR_V_B3S2
3485 #define BK3CR_V_BANKEN3		11
3486 #define BK3CR_M_BANKEN3		1 << BK3CR_V_BANKEN3
3487 #define BK3CR_V_ENMDEN3N	12
3488 #define BK3CR_M_ENMDEN3N	1 << BK3CR_V_ENMDEN3N
3489 #define BK3CR_V_COLADR3		13
3490 #define BK3CR_M_COLADR3		0xE << BK3CR_V_COLADR3
3491 #define BK3CR_V_COLADR30	13
3492 #define BK3CR_M_COLADR30	1 << BK3CR_V_COLADR30
3493 #define BK3CR_V_COLADR31	14
3494 #define BK3CR_M_COLADR31	1 << BK3CR_V_COLADR31
3495 #define BK3CR_V_COLADR32	15
3496 #define BK3CR_M_COLADR32	1 << BK3CR_V_COLADR32
3497 
3498 /*
3499 ** Bank 3 DRAM Size
3500 */
3501 #define B3S_256KB		0x000
3502 #define B3S_512KB		BK3CR_M_B3S0
3503 #define B3S_1MB			BK3CR_M_B3S1
3504 #define B3S_2MB			(BK3CR_M_B3S0 | BK3CR_M_B3S1)
3505 #define B3S_4MB			BK3CR_M_B3S2
3506 #define B3S_16MB		(BK3CR_M_B3S1 | BK3CR_M_B3S2)
3507 
3508 /*
3509 ** Bank 3 Column Address Bits
3510 */
3511 #define COLADR3_8		0x000
3512 #define COLADR3_9		BK3CR_M_COLADR30
3513 #define COLADR3_10		BK3CR_M_COLADR31
3514 #define COLADR3_11		(BK3CR_M_COLADR30 | BK3CR_M_COLADR31)
3515 #define COLADR3_12		BK3CR_M_COLADR32
3516 
3517 /*
3518 **
3519 **  Bank 2/3 Timing Control Register (BK23TCR) - Index 0x207
3520 **
3521 **        Loc   Size    Name    	Function
3522 **       -----  ----    ----    	---------------------------------
3523 **        <0>     1     B23WRCPW0	Bank 2/3 Write CAS Cycle Time 0
3524 **        <1>     1     B23WRCPW1	Bank 2/3 Write CAS Cycle Time 1
3525 **        <2>     1     MA23WRDLY	Bank 2/3 Write MA Delay
3526 **        <3>     1     B23RDCPW0	Bank 2/3 Read CAS Cycle Time 0
3527 **        <4>     1     B23RDCPW1	Bank 2/3 Read CAS Cycle Time 1
3528 **        <5>     1     MA23RDDLY	Bank 2/3 Read MA Delay
3529 **        <6>     1     B23CPRE		Bank 2/3 CAS Precharge
3530 **        <7>     1     B23RTMA		Bank 2/3 RAS to CAS Delay
3531 **        <8>     1     B23MATC		Bank 2/3 MA to CAS Delay
3532 **        <9>     1     B23RPRE0	Bank 2/3 RAS Precharge Time 0
3533 **        <10>    1     B23RPRE1	Bank 2/3 RAS Precharge Time 1
3534 **        <11>    1     B23RPRE2	Bank 2/3 RAS Precharge Time 2
3535 **        <13>    1     BNK23_ITL	Bank 2/3 Interleave Enable
3536 **
3537 **	  <12><14:15> Reserved
3538 */
3539 #define DRAMCR_BK23TCR_REG	0x207
3540 #define DRAMCR_BK23TCR_INIT	( BK23TCR_M_B23WRCPW | BK23TCR_M_MA23WRDLY | \
3541 				  BK23TCR_M_B23RDCPW | BK23TCR_M_MA23RDDLY | \
3542 				  BK23TCR_M_B23CPRE  | BK23TCR_M_B23RTMA   | \
3543 				  BK23TCR_M_B23MATC  | BK23TCR_M_B23RPRE   )
3544 #define BK23TCR_V_B23WRCPW	0
3545 #define BK23TCR_M_B23WRCPW	0x3 << BK23TCR_V_B23WRCPW
3546 #define BK23TCR_V_B23WRCPW0	0
3547 #define BK23TCR_M_B23WRCPW0	1 << BK23TCR_V_B23WRCPW0
3548 #define BK23TCR_V_B23WRCPW1	1
3549 #define BK23TCR_M_B23WRCPW1	1 << BK23TCR_V_B23WRCPW1
3550 #define BK23TCR_V_MA23WRDLY	2
3551 #define BK23TCR_M_MA23WRDLY	1 << BK23TCR_V_MA23WRDLY
3552 #define BK23TCR_V_B23RDCPW	3
3553 #define BK23TCR_M_B23RDCPW	0x3 << BK23TCR_V_B23RDCPW
3554 #define BK23TCR_V_B23RDCPW0	3
3555 #define BK23TCR_M_B23RDCPW0	1 << BK23TCR_V_B23RDCPW0
3556 #define BK23TCR_V_B23RDCPW1	4
3557 #define BK23TCR_M_B23RDCPW1	1 << BK23TCR_V_B23RDCPW1
3558 #define BK23TCR_V_MA23RDDLY	5
3559 #define BK23TCR_M_MA23RDDLY	1 << BK23TCR_V_MA23RDDLY
3560 #define BK23TCR_V_B23CPRE	6
3561 #define BK23TCR_M_B23CPRE	1 << BK23TCR_V_B23CPRE
3562 #define BK23TCR_V_B23RTMA	7
3563 #define BK23TCR_M_B23RTMA	1 << BK23TCR_V_B23RTMA
3564 #define BK23TCR_V_B23MATC	8
3565 #define BK23TCR_M_B23MATC	1 << BK23TCR_V_B23MATC
3566 #define BK23TCR_V_B23RPRE	9
3567 #define BK23TCR_M_B23RPRE	0x7 << BK23TCR_V_B23RPRE
3568 #define BK23TCR_V_B23RPRE0	9
3569 #define BK23TCR_M_B23RPRE0	1 << BK23TCR_V_B23RPRE0
3570 #define BK23TCR_V_B23RPRE1	10
3571 #define BK23TCR_M_B23RPRE1	1 << BK23TCR_V_B23RPRE1
3572 #define BK23TCR_V_B23RPRE2	11
3573 #define BK23TCR_M_B23RPRE2	1 << BK23TCR_V_B23RPRE2
3574 #define BK23TCR_V_BNK23_ITL	13
3575 #define BK23TCR_M_BNK23_ITL	1 << BK23TCR_V_BNK23_ITL
3576 
3577 /*
3578 ** Bank 2/3 Write CAS Cycle Time
3579 */
3580 #define B23WRCPW_1T		BK23TCR_M_B23WRCPW0
3581 #define B23WRCPW_2T		BK23TCR_M_B23WRCPW1
3582 #define B23WRCPW_3T		(BK23TCR_M_B23WRCPW0 | BK23TCR_M_B23WRCPW1)
3583 
3584 /*
3585 ** Bank 2/3 Read CAS Cycle Time
3586 */
3587 #define B23RDCPW_1T		0x000
3588 #define B23RDCPW_2T		BK23TCR_M_B23RDCPW0
3589 #define B23RDCPW_3T		BK23TCR_M_B23RDCPW1
3590 #define B23RDCPW_4T		(BK23TCR_M_B23RDCPW0 | BK23TCR_M_B23RDCPW1)
3591 
3592 /*
3593 ** Bank 2/3 RAS Precharge Time
3594 */
3595 #define B23RPRE_1PT5T		BK23TCR_M_B23RPRE1
3596 #define B23RPRE_2T		(BK23TCR_M_B23RPRE0 | BK23TCR_M_B23RPRE1)
3597 #define B23RPRE_2PT5T		BK23TCR_M_B23RPRE2
3598 #define B23RPRE_3T		(BK23TCR_M_B23RPRE0 | BK23TCR_M_B23RPRE2)
3599 #define B23RPRE_3PT5T		(BK23TCR_M_B23RPRE1 | BK23TCR_M_B23RPRE2)
3600 #define B23RPRE_4T		(BK23TCR_M_B23RPRE0 | BK23TCR_M_B23RPRE1 | BK23TCR_M_B23RPRE2)
3601 
3602 /*
3603 **
3604 **  Bank 4 Control Register (BK4CR) - Index 0x208
3605 **
3606 **        Loc   Size    Name    	Function
3607 **       -----  ----    ----    	---------------------------------
3608 **        <0>     8     B4A		Bank 4 Starting Address
3609 **        <8>     1     B4S0		Bank 4 DRAM Size 0
3610 **        <9>     1     B4S1		Bank 4 DRAM Size 1
3611 **        <10>    1     B4S2		Bank 4 DRAM Size 2
3612 **        <11>    1     BANKEN4		Bank 4 Enable
3613 **        <12>    1     ENMDEN4N	Enable MDEN# for Bank 4
3614 **        <13>    1     COLADR40	Number of Column Address Bits for Bank 4 0
3615 **        <14>    1     COLADR41	Number of Column Address Bits for Bank 4 1
3616 **        <15>    1     COLADR42	Number of Column Address Bits for Bank 4 2
3617 **
3618 */
3619 #define DRAMCR_BK4CR_REG	0x208
3620 #define DRAMCR_BK4CR_INIT	0x0000
3621 #define BK4CR_V_B4A		0
3622 #define BK4CR_M_B4A		0xFF << BK4CR_V_B4A
3623 #define BK4CR_V_B4S		8
3624 #define BK4CR_M_B4S		0x7 << BK4CR_V_B4S
3625 #define BK4CR_V_B4S0		8
3626 #define BK4CR_M_B4S0		1 << BK4CR_V_B4S0
3627 #define BK4CR_V_B4S1		9
3628 #define BK4CR_M_B4S1		1 << BK4CR_V_B4S1
3629 #define BK4CR_V_B4S2		10
3630 #define BK4CR_M_B4S2		1 << BK4CR_V_B4S2
3631 #define BK4CR_V_BANKEN4		11
3632 #define BK4CR_M_BANKEN4		1 << BK4CR_V_BANKEN4
3633 #define BK4CR_V_ENMDEN4N	12
3634 #define BK4CR_M_ENMDEN4N	1 << BK4CR_V_ENMDEN4N
3635 #define BK4CR_V_COLADR4		13
3636 #define BK4CR_M_COLADR4		0xE << BK4CR_V_COLADR4
3637 #define BK4CR_V_COLADR40	13
3638 #define BK4CR_M_COLADR40	1 << BK4CR_V_COLADR40
3639 #define BK4CR_V_COLADR41	14
3640 #define BK4CR_M_COLADR41	1 << BK4CR_V_COLADR41
3641 #define BK4CR_V_COLADR42	15
3642 #define BK4CR_M_COLADR42	1 << BK4CR_V_COLADR42
3643 
3644 /*
3645 ** Bank 4 DRAM Size
3646 */
3647 #define B4S_256KB		0x000
3648 #define B4S_512KB		BK4CR_M_B4S0
3649 #define B4S_1MB			BK4CR_M_B4S1
3650 #define B4S_2MB			(BK4CR_M_B4S0 | BK4CR_M_B4S1)
3651 #define B4S_4MB			BK4CR_M_B4S2
3652 #define B4S_16MB		(BK4CR_M_B4S1 | BK4CR_M_B4S2)
3653 
3654 /*
3655 ** Bank 4 Column Address Bits
3656 */
3657 #define COLADR4_8		0x000
3658 #define COLADR4_9		BK4CR_M_COLADR40
3659 #define COLADR4_10		BK4CR_M_COLADR41
3660 #define COLADR4_11		(BK4CR_M_COLADR40 | BK4CR_M_COLADR41)
3661 #define COLADR4_12		BK4CR_M_COLADR42
3662 
3663 /*
3664 **
3665 **  Bank 5 Control Register (BK5CR) - Index 0x209
3666 **
3667 **        Loc   Size    Name    	Function
3668 **       -----  ----    ----    	---------------------------------
3669 **        <0>     8     B5A		Bank 5 Starting Address
3670 **        <8>     1     B5S0		Bank 5 DRAM Size 0
3671 **        <9>     1     B5S1		Bank 5 DRAM Size 1
3672 **        <10>    1     B5S2		Bank 5 DRAM Size 2
3673 **        <11>    1     BANKEN5		Bank 5 Enable
3674 **        <12>    1     ENMDEN5N	Enable MDEN# for Bank 5
3675 **        <13>    1     COLADR50	Number of Column Address Bits for Bank 5 0
3676 **        <14>    1     COLADR51	Number of Column Address Bits for Bank 5 1
3677 **        <15>    1     COLADR52	Number of Column Address Bits for Bank 5 2
3678 **
3679 */
3680 #define DRAMCR_BK5CR_REG	0x209
3681 #define DRAMCR_BK5CR_INIT	0x0000
3682 #define BK5CR_V_B5A		0
3683 #define BK5CR_M_B5A		0xFF << BK5CR_V_B5A
3684 #define BK5CR_V_B5S		8
3685 #define BK5CR_M_B5S		0x7 << BK5CR_V_B5S
3686 #define BK5CR_V_B5S0		8
3687 #define BK5CR_M_B5S0		1 << BK5CR_V_B5S0
3688 #define BK5CR_V_B5S1		9
3689 #define BK5CR_M_B5S1		1 << BK5CR_V_B5S1
3690 #define BK5CR_V_B5S2		10
3691 #define BK5CR_M_B5S2		1 << BK5CR_V_B5S2
3692 #define BK5CR_V_BANKEN5		11
3693 #define BK5CR_M_BANKEN5		1 << BK5CR_V_BANKEN5
3694 #define BK5CR_V_ENMDEN5N	12
3695 #define BK5CR_M_ENMDEN5N	1 << BK5CR_V_ENMDEN5N
3696 #define BK5CR_V_COLADR5		13
3697 #define BK5CR_M_COLADR5		0xE << BK5CR_V_COLADR5
3698 #define BK5CR_V_COLADR50	13
3699 #define BK5CR_M_COLADR50	1 << BK5CR_V_COLADR50
3700 #define BK5CR_V_COLADR51	14
3701 #define BK5CR_M_COLADR51	1 << BK5CR_V_COLADR51
3702 #define BK5CR_V_COLADR52	15
3703 #define BK5CR_M_COLADR52	1 << BK5CR_V_COLADR52
3704 
3705 /*
3706 ** Bank 5 DRAM Size
3707 */
3708 #define B5S_256KB		0x000
3709 #define B5S_512KB		BK5CR_M_B5S0
3710 #define B5S_1MB			BK5CR_M_B5S1
3711 #define B5S_2MB			(BK5CR_M_B5S0 | BK5CR_M_B5S1)
3712 #define B5S_4MB			BK5CR_M_B5S2
3713 #define B5S_16MB		(BK5CR_M_B5S1 | BK5CR_M_B5S2)
3714 
3715 /*
3716 ** Bank 5 Column Address Bits
3717 */
3718 #define COLADR5_8		0x000
3719 #define COLADR5_9		BK5CR_M_COLADR50
3720 #define COLADR5_10		BK5CR_M_COLADR51
3721 #define COLADR5_11		(BK5CR_M_COLADR50 | BK5CR_M_COLADR51)
3722 #define COLADR5_12		BK5CR_M_COLADR52
3723 
3724 /*
3725 **
3726 **  Bank 4/5 Timing Control Register (BK45TCR) - Index 0x20A
3727 **
3728 **        Loc   Size    Name    	Function
3729 **       -----  ----    ----    	---------------------------------
3730 **        <0>     1     B45WRCPW0	Bank 4/5 Write CAS Cycle Time 0
3731 **        <1>     1     B45WRCPW1	Bank 4/5 Write CAS Cycle Time 1
3732 **        <2>     1     MA45WRDLY	Bank 4/5 Write MA Delay
3733 **        <3>     1     B45RDCPW0	Bank 4/5 Read CAS Cycle Time 0
3734 **        <4>     1     B45RDCPW1	Bank 4/5 Read CAS Cycle Time 1
3735 **        <5>     1     MA45RDDLY	Bank 4/5 Read MA Delay
3736 **        <6>     1     B45CPRE		Bank 4/5 CAS Precharge
3737 **        <7>     1     B45RTMA		Bank 4/5 RAS to CAS Delay
3738 **        <8>     1     B45MATC		Bank 4/5 MA to CAS Delay
3739 **        <9>     1     B45RPRE0	Bank 4/5 RAS Precharge Time 0
3740 **        <10>    1     B45RPRE1	Bank 4/5 RAS Precharge Time 1
3741 **        <11>    1     B45RPRE2	Bank 4/5 RAS Precharge Time 2
3742 **        <13>    1     BNK45_ITL	Bank 4/5 Interleave Enable
3743 **
3744 **	  <12><14:15> Reserved
3745 */
3746 #define DRAMCR_BK45TCR_REG	0x20A
3747 #define DRAMCR_BK45TCR_INIT	( BK45TCR_M_B45WRCPW | BK45TCR_M_MA45WRDLY | \
3748 				  BK45TCR_M_B45RDCPW | BK45TCR_M_MA45RDDLY | \
3749 				  BK45TCR_M_B45CPRE  | BK45TCR_M_B45RTMA   | \
3750 				  BK45TCR_M_B45MATC  | BK45TCR_M_B45RPRE   )
3751 #define BK45TCR_V_B45WRCPW	0
3752 #define BK45TCR_M_B45WRCPW	0x3 << BK45TCR_V_B45WRCPW
3753 #define BK45TCR_V_B45WRCPW0	0
3754 #define BK45TCR_M_B45WRCPW0	1 << BK45TCR_V_B45WRCPW0
3755 #define BK45TCR_V_B45WRCPW1	1
3756 #define BK45TCR_M_B45WRCPW1	1 << BK45TCR_V_B45WRCPW1
3757 #define BK45TCR_V_MA45WRDLY	2
3758 #define BK45TCR_M_MA45WRDLY	1 << BK45TCR_V_MA45WRDLY
3759 #define BK45TCR_V_B45RDCPW	3
3760 #define BK45TCR_M_B45RDCPW	0x3 << BK45TCR_V_B45RDCPW
3761 #define BK45TCR_V_B45RDCPW0	3
3762 #define BK45TCR_M_B45RDCPW0	1 << BK45TCR_V_B45RDCPW0
3763 #define BK45TCR_V_B45RDCPW1	4
3764 #define BK45TCR_M_B45RDCPW1	1 << BK45TCR_V_B45RDCPW1
3765 #define BK45TCR_V_MA45RDDLY	5
3766 #define BK45TCR_M_MA45RDDLY	1 << BK45TCR_V_MA45RDDLY
3767 #define BK45TCR_V_B45CPRE	6
3768 #define BK45TCR_M_B45CPRE	1 << BK45TCR_V_B45CPRE
3769 #define BK45TCR_V_B45RTMA	7
3770 #define BK45TCR_M_B45RTMA	1 << BK45TCR_V_B45RTMA
3771 #define BK45TCR_V_B45MATC	8
3772 #define BK45TCR_M_B45MATC	1 << BK45TCR_V_B45MATC
3773 #define BK45TCR_V_B45RPRE	9
3774 #define BK45TCR_M_B45RPRE	0x7 << BK45TCR_V_B45RPRE
3775 #define BK45TCR_V_B45RPRE0	9
3776 #define BK45TCR_M_B45RPRE0	1 << BK45TCR_V_B45RPRE0
3777 #define BK45TCR_V_B45RPRE1	10
3778 #define BK45TCR_M_B45RPRE1	1 << BK45TCR_V_B45RPRE1
3779 #define BK45TCR_V_B45RPRE2	11
3780 #define BK45TCR_M_B45RPRE2	1 << BK45TCR_V_B45RPRE2
3781 #define BK45TCR_V_BNK45_ITL	13
3782 #define BK45TCR_M_BNK45_ITL	1 << BK45TCR_V_BNK45_ITL
3783 
3784 /*
3785 ** Bank 4/5 Write CAS Cycle Time
3786 */
3787 #define B45WRCPW_1T		BK45TCR_M_B45WRCPW0
3788 #define B45WRCPW_2T		BK45TCR_M_B45WRCPW1
3789 #define B45WRCPW_3T		(BK45TCR_M_B45WRCPW0 | BK45TCR_M_B45WRCPW1)
3790 
3791 /*
3792 ** Bank 4/5 Read CAS Cycle Time
3793 */
3794 #define B45RDCPW_1T		0x000
3795 #define B45RDCPW_2T		BK45TCR_M_B45RDCPW0
3796 #define B45RDCPW_3T		BK45TCR_M_B45RDCPW1
3797 #define B45RDCPW_4T		(BK45TCR_M_B45RDCPW0 | BK45TCR_M_B45RDCPW1)
3798 
3799 /*
3800 ** Bank 4/5 RAS Precharge Time
3801 */
3802 #define B45RPRE_1PT5T		BK45TCR_M_B45RPRE1
3803 #define B45RPRE_2T		(BK45TCR_M_B45RPRE0 | BK45TCR_M_B45RPRE1)
3804 #define B45RPRE_2PT5T		BK45TCR_M_B45RPRE2
3805 #define B45RPRE_3T		(BK45TCR_M_B45RPRE0 | BK45TCR_M_B45RPRE2)
3806 #define B45RPRE_3PT5T		(BK45TCR_M_B45RPRE1 | BK45TCR_M_B45RPRE2)
3807 #define B45RPRE_4T		(BK45TCR_M_B45RPRE0 | BK45TCR_M_B45RPRE1 | BK45TCR_M_B45RPRE2)
3808 
3809 /*
3810 **
3811 **  DRAM Configuration Register 1 (DRAMCR1) - Index 0x20B
3812 **
3813 **        Loc   Size    Name    	Function
3814 **       -----  ----    ----    	---------------------------------
3815 **        <0>     1     SIXRASEN	Six RAS# Control Line Enable
3816 **        <3>     1     BRSTWREN	Burst WRite Enable
3817 **        <4>     1     PS0		DRAM Page Size 0
3818 **        <5>     1     PS1		DRAM Page Size 1
3819 **        <6>     1     PS2		DRAM Page Size 2
3820 **        <7>     1     FSTPHDEC	Fast Page Hit Decode
3821 **        <9>     1     RONLYRF		DRAM Refresh Scheme
3822 **        <10>    1     RFRPRE0		RAS Precharge Time for Refresh Cycles 0
3823 **        <11>    1     RFRPRE1		RAS Precharge Time for Refresh Cycles 1
3824 **        <12>    1     RFRPW0		RAS Pulse Width for Refresh Cycles 0
3825 **        <13>    1     RFRPW1		RAS Pulse Width for Refresh Cycles 1
3826 **        <14>    1     XWITDOFFR	Extra Wait State for Lead-off Read Cycles
3827 **        <15>    1     XWITDOFFW	Extra Wait State for Lead-off Write Cycles
3828 **
3829 **	  <1:2><8> Reserved
3830 */
3831 #define DRAMCR_DRAMCR1_REG	0x20B
3832 #define DRAMCR_DRAMCR1_INIT	( DRAMCR1_M_XWITDOFFR | DRAMCR1_M_XWITDOFFW )
3833 #define DRAMCR1_V_SIXRASEN	0
3834 #define DRAMCR1_M_SIXRASEN	1 << DRAMCR1_V_SIXRASEN
3835 #define DRAMCR1_V_BRSTWREN	3
3836 #define DRAMCR1_M_BRSTWREN	1 << DRAMCR1_V_BRSTWREN
3837 #define DRAMCR1_V_PS		4
3838 #define DRAMCR1_M_PS		0x7 << DRAMCR1_V_PS
3839 #define DRAMCR1_V_PS0		4
3840 #define DRAMCR1_M_PS0		1 << DRAMCR1_V_PS0
3841 #define DRAMCR1_V_PS1		5
3842 #define DRAMCR1_M_PS1		1 << DRAMCR1_V_PS1
3843 #define DRAMCR1_V_PS2		6
3844 #define DRAMCR1_M_PS2		1 << DRAMCR1_V_PS2
3845 #define DRAMCR1_V_FSTPHDEC	7
3846 #define DRAMCR1_M_FSTPHDEC	1 << DRAMCR1_V_FSTPHDEC
3847 #define DRAMCR1_V_RONLYRF	9
3848 #define DRAMCR1_M_RONLYRF	1 << DRAMCR1_V_RONLYRF
3849 #define DRAMCR1_V_RFRPRE	10
3850 #define DRAMCR1_M_RFRPRE	0x3 << DRAMCR1_V_RFRPRE
3851 #define DRAMCR1_V_RFRPRE0	10
3852 #define DRAMCR1_M_RFRPRE0	1 << DRAMCR1_V_RFRPRE0
3853 #define DRAMCR1_V_RFRPRE1	11
3854 #define DRAMCR1_M_RFRPRE1	1 << DRAMCR1_V_RFRPRE1
3855 #define DRAMCR1_V_RFRPW		12
3856 #define DRAMCR1_M_RFRPW		0x3 << DRAMCR1_V_RFRPW
3857 #define DRAMCR1_V_RFRPW0	12
3858 #define DRAMCR1_M_RFRPW0	1 << DRAMCR1_V_RFRPW0
3859 #define DRAMCR1_V_RFRPW1	13
3860 #define DRAMCR1_M_RFRPW1	1 << DRAMCR1_V_RFRPW1
3861 #define DRAMCR1_V_XWITDOFFR	14
3862 #define DRAMCR1_M_XWITDOFFR	1 << DRAMCR1_V_XWITDOFFR
3863 #define DRAMCR1_V_XWITDOFFW	15
3864 #define DRAMCR1_M_XWITDOFFW	1 << DRAMCR1_V_XWITDOFFW
3865 
3866 /*
3867 ** DRAM Page Size
3868 */
3869 #define PS_1KB			0x000
3870 #define PS_2KB			DRAMCR1_M_PS0
3871 #define PS_4KB			DRAMCR1_M_PS1
3872 #define PS_8KB			(DRAMCR1_M_PS0 | DRAMCR1_M_PS1)
3873 #define PS_16KB			DRAMCR1_M_PS2
3874 #define PS_32KB			(DRAMCR1_M_PS0 | DRAMCR1_M_PS2)
3875 
3876 /*
3877 ** RAS Precharge Time for Refresh Cycles
3878 */
3879 #define RFRPRE_5T		0x000
3880 #define RFRPRE_4T		DRAMCR1_M_RFRPRE0
3881 #define RFRPRE_3T		DRAMCR1_M_RFRPRE1
3882 #define RFRPRE_2T		(DRAMCR1_M_RFRPRE0 | DRAMCR1_M_RFRPRE1)
3883 
3884 /*
3885 ** RAS Pulse Width for Refresh Cycles
3886 */
3887 #define RFRPW_5T		0x000
3888 #define RFRPW_4T		DRAMCR1_M_RFRPW0
3889 #define RFRPW_3T		DRAMCR1_M_RFRPW1
3890 #define RFRPW_2T		(DRAMCR1_M_RFRPW0 | DRAMCR1_M_RFRPW1)
3891 
3892 /*
3893 **
3894 **  DRAM Configuration Register 2 (DRAMCR2) - Index 0x20C
3895 **
3896 **        Loc   Size    Name    	Function
3897 **       -----  ----    ----    	---------------------------------
3898 **        <9>     1     ENPARADRL	Enable Parity Error Address Latch
3899 **        <10>    1     ENPARCK0	Enable Parity Check for Bank 0
3900 **        <11>    1     ENPARCK1	Enable Parity Check for Bank 1
3901 **        <12>    1     ENPARCK2	Enable Parity Check for Bank 2
3902 **        <13>    1     ENPARCK3	Enable Parity Check for Bank 3
3903 **        <14>    1     ENPARCK4	Enable Parity Check for Bank 4
3904 **        <15>    1     ENPARCK5	Enable Parity Check for Bank 5
3905 **
3906 **	  <0:8> Reserved
3907 */
3908 #define DRAMCR_DRAMCR2_REG	0x20C
3909 #define DRAMCR_DRAMCR2_INIT	0x0000
3910 #define DRAMCR2_V_ENPARADRL	9
3911 #define DRAMCR2_M_ENPARADRL	1 << DRAMCR2_V_ENPARADRL
3912 #define DRAMCR2_V_ENPARCK0	10
3913 #define DRAMCR2_M_ENPARCK0	1 << DRAMCR2_V_ENPARCK0
3914 #define DRAMCR2_V_ENPARCK1	11
3915 #define DRAMCR2_M_ENPARCK1	1 << DRAMCR2_V_ENPARCK1
3916 #define DRAMCR2_V_ENPARCK2	12
3917 #define DRAMCR2_M_ENPARCK2	1 << DRAMCR2_V_ENPARCK2
3918 #define DRAMCR2_V_ENPARCK3	13
3919 #define DRAMCR2_M_ENPARCK3	1 << DRAMCR2_V_ENPARCK3
3920 #define DRAMCR2_V_ENPARCK4	14
3921 #define DRAMCR2_M_ENPARCK4	1 << DRAMCR2_V_ENPARCK4
3922 #define DRAMCR2_V_ENPARCK5	15
3923 #define DRAMCR2_M_ENPARCK5	1 << DRAMCR2_V_ENPARCK5
3924 
3925 /*
3926 **
3927 **  DRAM Configuration Register 3 (DRAMCR3) - Index 0x20D
3928 **
3929 **        Loc   Size    Name    	Function
3930 **       -----  ----    ----    	---------------------------------
3931 **        <0>     1     RAS0DRV0	Driving Strength of RAS0# Output 0
3932 **        <1>     1     RAS0DRV1	Driving Strength of RAS0# Output 1
3933 **        <2>     1     RAS0DRV2	Driving Strength of RAS0# Output 2
3934 **        <3>     1     RAS0DRV3	Driving Strength of RAS0# Output 3
3935 **        <4>     1     RAS1DRV0	Driving Strength of RAS1# Output 0
3936 **        <5>     1     RAS1DRV1	Driving Strength of RAS1# Output 1
3937 **        <6>     1     RAS1DRV2	Driving Strength of RAS1# Output 2
3938 **        <7>     1     RAS1DRV3	Driving Strength of RAS1# Output 3
3939 **        <8>     1     RAS2DRV0	Driving Strength of RAS2# Output 0
3940 **        <9>     1     RAS2DRV1	Driving Strength of RAS2# Output 1
3941 **        <10>    1     RAS2DRV2	Driving Strength of RAS2# Output 2
3942 **        <11>    1     RAS2DRV3	Driving Strength of RAS2# Output 3
3943 **        <12>    1     RAS3DRV0	Driving Strength of RAS3# Output 0
3944 **        <13>    1     RAS3DRV1	Driving Strength of RAS3# Output 1
3945 **        <14>    1     RAS3DRV2	Driving Strength of RAS3# Output 2
3946 **        <15>    1     RAS3DRV3	Driving Strength of RAS3# Output 3
3947 **
3948 */
3949 #define DRAMCR_DRAMCR3_REG	0x20D
3950 #define DRAMCR_DRAMCR3_INIT	( DRAMCR3_M_RAS0DRV0 | DRAMCR3_M_RAS0DRV1 | \
3951 				  DRAMCR3_M_RAS0DRV2 | DRAMCR3_M_RAS1DRV0 | \
3952 				  DRAMCR3_M_RAS1DRV1 | DRAMCR3_M_RAS1DRV2 | \
3953 				  DRAMCR3_M_RAS2DRV0 | DRAMCR3_M_RAS2DRV1 | \
3954 				  DRAMCR3_M_RAS2DRV2 | DRAMCR3_M_RAS3DRV0 | \
3955 				  DRAMCR3_M_RAS3DRV1 | DRAMCR3_M_RAS3DRV2 )
3956 #define DRAMCR3_V_RAS0DRV	0
3957 #define DRAMCR3_M_RAS0DRV	0xF << DRAMCR3_V_RAS0DRV
3958 #define DRAMCR3_V_RAS0DRV0	0
3959 #define DRAMCR3_M_RAS0DRV0	1 << DRAMCR3_V_RAS0DRV0
3960 #define DRAMCR3_V_RAS0DRV1	1
3961 #define DRAMCR3_M_RAS0DRV1	1 << DRAMCR3_V_RAS0DRV1
3962 #define DRAMCR3_V_RAS0DRV2	2
3963 #define DRAMCR3_M_RAS0DRV2	1 << DRAMCR3_V_RAS0DRV2
3964 #define DRAMCR3_V_RAS0DRV3	3
3965 #define DRAMCR3_M_RAS0DRV3	1 << DRAMCR3_V_RAS0DRV3
3966 #define DRAMCR3_V_RAS1DRV	4
3967 #define DRAMCR3_M_RAS1DRV	0xF << DRAMCR3_V_RAS1DRV
3968 #define DRAMCR3_V_RAS1DRV0	4
3969 #define DRAMCR3_M_RAS1DRV0	1 << DRAMCR3_V_RAS1DRV0
3970 #define DRAMCR3_V_RAS1DRV1	5
3971 #define DRAMCR3_M_RAS1DRV1	1 << DRAMCR3_V_RAS1DRV1
3972 #define DRAMCR3_V_RAS1DRV2	6
3973 #define DRAMCR3_M_RAS1DRV2	1 << DRAMCR3_V_RAS1DRV2
3974 #define DRAMCR3_V_RAS1DRV3	7
3975 #define DRAMCR3_M_RAS1DRV3	1 << DRAMCR3_V_RAS1DRV3
3976 #define DRAMCR3_V_RAS2DRV	8
3977 #define DRAMCR3_M_RAS2DRV	0xF << DRAMCR3_V_RAS2DRV
3978 #define DRAMCR3_V_RAS2DRV0	8
3979 #define DRAMCR3_M_RAS2DRV0	1 << DRAMCR3_V_RAS2DRV0
3980 #define DRAMCR3_V_RAS2DRV1	9
3981 #define DRAMCR3_M_RAS2DRV1	1 << DRAMCR3_V_RAS2DRV1
3982 #define DRAMCR3_V_RAS2DRV2	10
3983 #define DRAMCR3_M_RAS2DRV2	1 << DRAMCR3_V_RAS2DRV2
3984 #define DRAMCR3_V_RAS2DRV3	11
3985 #define DRAMCR3_M_RAS2DRV3	1 << DRAMCR3_V_RAS2DRV3
3986 #define DRAMCR3_V_RAS3DRV	12
3987 #define DRAMCR3_M_RAS3DRV	0xF << DRAMCR3_V_RAS3DRV
3988 #define DRAMCR3_V_RAS3DRV0	12
3989 #define DRAMCR3_M_RAS3DRV0	1 << DRAMCR3_V_RAS3DRV0
3990 #define DRAMCR3_V_RAS3DRV1	13
3991 #define DRAMCR3_M_RAS3DRV1	1 << DRAMCR3_V_RAS3DRV1
3992 #define DRAMCR3_V_RAS3DRV2	14
3993 #define DRAMCR3_M_RAS3DRV2	1 << DRAMCR3_V_RAS3DRV2
3994 #define DRAMCR3_V_RAS3DRV3	15
3995 #define DRAMCR3_M_RAS3DRV3	1 << DRAMCR3_V_RAS3DRV3
3996 
3997 /*
3998 ** Driving Strength of RAS0# Output (mA)
3999 */
4000 #define RAS0DRV_4MA		DRAMCR3_M_RAS0DRV0
4001 #define RAS0DRV_8MA		(DRAMCR3_M_RAS0DRV0 | DRAMCR3_M_RAS0DRV1)
4002 #define RAS0DRV_12MA		(DRAMCR3_M_RAS0DRV0 | DRAMCR3_M_RAS0DRV1 | DRAMCR3_M_RAS0DRV2
4003 
4004 /*
4005 ** Driving Strength of RAS1# Output (mA)
4006 */
4007 #define RAS1DRV_4MA		DRAMCR3_M_RAS1DRV0
4008 #define RAS1DRV_8MA		(DRAMCR3_M_RAS1DRV0 | DRAMCR3_M_RAS1DRV1)
4009 #define RAS1DRV_12MA		(DRAMCR3_M_RAS1DRV0 | DRAMCR3_M_RAS1DRV1 | DRAMCR3_M_RAS1DRV2
4010 
4011 /*
4012 ** Driving Strength of RAS2# Output (mA)
4013 */
4014 #define RAS2DRV_4MA		DRAMCR3_M_RAS2DRV0
4015 #define RAS2DRV_8MA		(DRAMCR3_M_RAS2DRV0 | DRAMCR3_M_RAS2DRV1)
4016 #define RAS2DRV_12MA		(DRAMCR3_M_RAS2DRV0 | DRAMCR3_M_RAS2DRV1 | DRAMCR3_M_RAS2DRV2
4017 
4018 /*
4019 ** Driving Strength of RAS3# Output (mA)
4020 */
4021 #define RAS3DRV_4MA		DRAMCR3_M_RAS3DRV0
4022 #define RAS3DRV_8MA		(DRAMCR3_M_RAS3DRV0 | DRAMCR3_M_RAS3DRV1)
4023 #define RAS3DRV_12MA		(DRAMCR3_M_RAS3DRV0 | DRAMCR3_M_RAS3DRV1 | DRAMCR3_M_RAS3DRV2
4024 
4025 /*
4026 **
4027 **  DRAM Configuration Register 4 (DRAMCR4) - Index 0x20E
4028 **
4029 **        Loc   Size    Name    	Function
4030 **       -----  ----    ----    	---------------------------------
4031 **        <0>     1     MADRV0		Driving Strength of MA Output 0
4032 **        <1>     1     MADRV1		Driving Strength of MA Output 1
4033 **        <2>     1     MADRV2		Driving Strength of MA Output 2
4034 **        <3>     1     MADRV3		Driving Strength of MA Output 3
4035 **        <4>     1     CASADRV0	Driving Strength of CASA Output 0
4036 **        <5>     1     CASADRV1	Driving Strength of CASA Output 1
4037 **        <6>     1     CASADRV2	Driving Strength of CASA Output 2
4038 **        <7>     1     CASADRV3	Driving Strength of CASA Output 3
4039 **        <8>     1     CASBDRV0	Driving Strength of CASB Output 0
4040 **        <9>     1     CASBDRV1	Driving Strength of CASB Output 1
4041 **        <10>    1     CASBDRV2	Driving Strength of CASB Output 2
4042 **        <11>    1     CASBDRV3	Driving Strength of CASB Output 3
4043 **
4044 */
4045 #define DRAMCR_DRAMCR4_REG	0x20E
4046 #define DRAMCR_DRAMCR4_INIT	( DRAMCR4_M_MADRV0   | DRAMCR4_M_MADRV1   | \
4047 				  DRAMCR4_M_MADRV2   | DRAMCR4_M_CASADRV0 | \
4048 				  DRAMCR4_M_CASADRV1 | DRAMCR4_M_CASADRV2 | \
4049 				  DRAMCR4_M_CASBDRV0 | DRAMCR4_M_CASBDRV1 | \
4050 				  DRAMCR4_M_CASBDRV2 )
4051 #define DRAMCR4_V_MADRV		0
4052 #define DRAMCR4_M_MADRV		0xF << DRAMCR4_V_MADRV
4053 #define DRAMCR4_V_MADRV0	0
4054 #define DRAMCR4_M_MADRV0	1 << DRAMCR4_V_MADRV0
4055 #define DRAMCR4_V_MADRV1	1
4056 #define DRAMCR4_M_MADRV1	1 << DRAMCR4_V_MADRV1
4057 #define DRAMCR4_V_MADRV2	2
4058 #define DRAMCR4_M_MADRV2	1 << DRAMCR4_V_MADRV2
4059 #define DRAMCR4_V_MADRV3	3
4060 #define DRAMCR4_M_MADRV3	1 << DRAMCR4_V_MADRV3
4061 #define DRAMCR4_V_CASADRV	4
4062 #define DRAMCR4_M_CASADRV	0xF << DRAMCR4_V_CASADRV
4063 #define DRAMCR4_V_CASADRV0	4
4064 #define DRAMCR4_M_CASADRV0	1 << DRAMCR4_V_CASADRV0
4065 #define DRAMCR4_V_CASADRV1	5
4066 #define DRAMCR4_M_CASADRV1	1 << DRAMCR4_V_CASADRV1
4067 #define DRAMCR4_V_CASADRV2	6
4068 #define DRAMCR4_M_CASADRV2	1 << DRAMCR4_V_CASADRV2
4069 #define DRAMCR4_V_CASADRV3	7
4070 #define DRAMCR4_M_CASADRV3	1 << DRAMCR4_V_CASADRV3
4071 #define DRAMCR4_V_CASBDRV	8
4072 #define DRAMCR4_M_CASBDRV	0xF << DRAMCR4_V_CASBDRV
4073 #define DRAMCR4_V_CASBDRV0	8
4074 #define DRAMCR4_M_CASBDRV0	1 << DRAMCR4_V_CASBDRV0
4075 #define DRAMCR4_V_CASBDRV1	9
4076 #define DRAMCR4_M_CASBDRV1	1 << DRAMCR4_V_CASBDRV1
4077 #define DRAMCR4_V_CASBDRV2	10
4078 #define DRAMCR4_M_CASBDRV2	1 << DRAMCR4_V_CASBDRV2
4079 #define DRAMCR4_V_CASBDRV3	11
4080 #define DRAMCR4_M_CASBDRV3	1 << DRAMCR4_V_CASBDRV3
4081 
4082 /*
4083 ** Driving Strength of MA Output (mA)
4084 */
4085 #define MADRV_4MA		DRAMCR2_M_MADRV0
4086 #define MADRV_8MA		(DRAMCR2_M_MADRV0 | DRAMCR2_M_MADRV1)
4087 #define MADRV_12MA		(DRAMCR2_M_MADRV0 | DRAMCR2_M_MADRV1 | DRAMCR2_M_MADRV2
4088 
4089 /*
4090 ** Driving Strength of CASA Output (mA)
4091 */
4092 #define CASADRV_4MA		DRAMCR2_M_CASADRV0
4093 #define CASADRV_8MA		(DRAMCR2_M_CASADRV0 | DRAMCR2_M_CASADRV1)
4094 #define CASADRV_12MA		(DRAMCR2_M_CASADRV0 | DRAMCR2_M_CASADRV1 | DRAMCR2_M_CASADRV2
4095 
4096 /*
4097 ** Driving Strength of CASB Output (mA)
4098 */
4099 #define CASBDRV_4MA		DRAMCR2_M_CASBDRV0
4100 #define CASBDRV_8MA		(DRAMCR2_M_CASBDRV0 | DRAMCR2_M_CASBDRV1)
4101 #define CASBDRV_12MA		(DRAMCR2_M_CASBDRV0 | DRAMCR2_M_CASBDRV1 | DRAMCR2_M_CASBDRV2
4102 
4103 /*
4104 **
4105 **  DRAM Configuration Register 5 (DRAMCR5) - Index 0x20F
4106 **
4107 **        Loc   Size    Name    	Function
4108 **       -----  ----    ----    	---------------------------------
4109 **        <1>     1     FLASHENB	Flash Enable
4110 **        <10>    1     ENC0ROMCS	Enable ROMCS# for C0000H-C7FFFH Region
4111 **        <11>    1     ENC8ROMCS	Enable ROMCS# for C8000H-CFFFFH Region
4112 **        <12>    1     END0ROMCS	Enable ROMCS# for D0000H-D7FFFH Region
4113 **        <13>    1     END8ROMCS	Enable ROMCS# for D8000H-DFFFFH Region
4114 **        <14>    1     ENE0ROMCS	Enable ROMCS# for E0000H-E7FFFH Region
4115 **        <15>    1     ENE8ROMCS	Enable ROMCS# for E8000H-EFFFFH Region
4116 **
4117 **	  <0><2:9> Reserved
4118 */
4119 #define DRAMCR_DRAMCR5_REG	0x20F
4120 #define DRAMCR_DRAMCR5_INIT	0x0000
4121 #define DRAMCR5_V_FLASHENB	0
4122 #define DRAMCR5_M_FLASHENB	1 << DRAMCR5_V_FLASHENB
4123 #define DRAMCR5_V_ENC0ROMCS	10
4124 #define DRAMCR5_M_ENC0ROMCS	1 << DRAMCR5_V_ENC0ROMCS
4125 #define DRAMCR5_V_ENC8ROMCS	11
4126 #define DRAMCR5_M_ENC8ROMCS	1 << DRAMCR5_V_ENC8ROMCS
4127 #define DRAMCR5_V_END0ROMCS	12
4128 #define DRAMCR5_M_END0ROMCS	1 << DRAMCR5_V_ENC0ROMCS
4129 #define DRAMCR5_V_END8ROMCS	13
4130 #define DRAMCR5_M_END8ROMCS	1 << DRAMCR5_V_ENC8ROMCS
4131 #define DRAMCR5_V_ENE0ROMCS	14
4132 #define DRAMCR5_M_ENE0ROMCS	1 << DRAMCR5_V_ENC0ROMCS
4133 #define DRAMCR5_V_ENE8ROMCS	15
4134 #define DRAMCR5_M_ENE8ROMCS	1 << DRAMCR5_V_ENC8ROMCS
4135 
4136 /*
4137 ** Cache Controller Registers
4138 **
4139 */
4140 
4141 /*
4142 **
4143 **  Cache Control Register 1 (CCR1) - Index 0x400
4144 **
4145 **        Loc   Size    Name    	Function
4146 **       -----  ----    ----    	---------------------------------
4147 **        <0>     1     L2CST0		Level 2 Cache Status 0
4148 **        <1>     1     L2CST1		Level 2 Cache Status 1
4149 **        <2>     1     L2CST2		Level 2 Cache Status 2
4150 **        <3>     1     L2CST3		Level 2 Cache Status 3
4151 **        <4>     1     CSIZE0		Level 2 Cache Data 0
4152 **        <5>     1     CSIZE1		Level 2 Cache Data 1
4153 **        <6>     1     CSIZE2		Level 2 Cache Data 2
4154 **        <7>     1     CSIZE3		Level 2 Cache Data 3
4155 **        <8>     1     L1WB		Enable Level 1 Write Back Support
4156 **        <9>     1     WPL2KEN		L2 Cache Write Protect
4157 **
4158 **	  <10:15> Reserved
4159 */
4160 #define CCR_CCR1_REG		0x400
4161 #define CCR1_V_L2CST		0
4162 #define CCR1_M_L2CST		0xF << CCR1_V_L2CST
4163 #define CCR1_V_L2CST0		0
4164 #define CCR1_M_L2CST0		1 << CCR1_V_L2CST0
4165 #define CCR1_V_L2CST1		1
4166 #define CCR1_M_L2CST1		1 << CCR1_V_L2CST1
4167 #define CCR1_V_L2CST2		2
4168 #define CCR1_M_L2CST2		1 << CCR1_V_L2CST2
4169 #define CCR1_V_L2CST3		3
4170 #define CCR1_M_L2CST3		1 << CCR1_V_L2CST3
4171 #define CCR1_V_CSIZE		4
4172 #define CCR1_M_CSIZE		0xF << CCR1_V_CSIZE
4173 #define CCR1_V_CSIZE0		4
4174 #define CCR1_M_CSIZE0		1 << CCR1_V_CSIZE0
4175 #define CCR1_V_CSIZE1		5
4176 #define CCR1_M_CSIZE1		1 << CCR1_V_CSIZE1
4177 #define CCR1_V_CSIZE2		6
4178 #define CCR1_M_CSIZE2		1 << CCR1_V_CSIZE2
4179 #define CCR1_V_CSIZE3		7
4180 #define CCR1_M_CSIZE3		1 << CCR1_V_CSIZE3
4181 #define CCR1_V_L1WB		8
4182 #define CCR1_M_L1WB		1 << CCR1_V_L1WB
4183 #define CCR1_V_WPL2KEN	9
4184 #define CCR1_M_WPL2KEN	1 << CCR1_V_WPL2KEN
4185 
4186 /*
4187 ** Level 2 Cache Status
4188 */
4189 #define L2CST_STNDBY		0x0000
4190 #define L2CST_INIT		CCR1_M_L2CST0
4191 #define L2CST_WRTHRU		CCR1_M_L2CST1
4192 #define L2CST_WRBACK		(CCR1_M_L2CST0 | CCR1_M_L2CST1)
4193 #define L2CST_FLUSH		CCR1_M_L2CST2
4194 #define L2CST_WRTHRUDR		(CCR1_M_L2CST0 | CCR1_M_L2CST2)
4195 #define L2CST_WRBACKDR		(CCR1_M_L2CST1 | CCR1_M_L2CST2)
4196 
4197 /*
4198 ** Level 2 Cache Size
4199 */
4200 #define CSIZE_64KB_2BNK		CCR1_M_CSIZE0
4201 #define CSIZE_128KB_1BNK 	CCR1_M_CSIZE1
4202 #define CSIZE_256KB_2BNK	(CCR1_M_CSIZE0 | CCR1_M_CSIZE1)
4203 #define CSIZE_512KB_1BNK	CCR1_M_CSIZE2
4204 #define CSIZE_1MB_2BNK		(CCR1_M_CSIZE0 | CCR1_M_CSIZE2)
4205 #define CSIZE_256KB_1BNK	(CCR1_M_CSIZE0 | CCR1_M_CSIZE1 | CCR1_M_CSIZE3)
4206 
4207 /*
4208 **
4209 **  Cache Control Register 2 (CCR2) - Index 0x401
4210 **
4211 **        Loc   Size    Name    	Function
4212 **       -----  ----    ----    	---------------------------------
4213 **        <0>     1     TWIDTH		Width of L2 Cache TAG Data
4214 **        <1>     1     DTYEN		Configuration of L2 Cache TAG Field
4215 **        <2>     1     DRTWEN		Configuration of L2 Cache TAG Write
4216 **        <7>     1     EHITEN		External Comparator is Used
4217 **
4218 **	  <3:6><8:15> Reserved
4219 */
4220 #define CCR_CCR2_REG		0x401
4221 #define CCR2_V_TWIDTH		0
4222 #define CCR2_M_TWIDTH		1 << CCR2_V_TWIDTH
4223 #define CCR2_V_DTYEN		1
4224 #define CCR2_M_DTYEN		1 << CCR2_V_DTYEN
4225 #define CCR2_V_DRTWEN		2
4226 #define CCR2_M_DRTWEN		1 << CCR2_V_DRTWEN
4227 #define CCR2_V_EHITEN		7
4228 #define CCR2_M_EHITEN		1 << CCR2_V_EHITEN
4229 
4230 /*
4231 **
4232 **  Cache Control Register 3 (CCR3) - Index 0x402
4233 **
4234 **        Loc   Size    Name    	Function
4235 **       -----  ----    ----    	---------------------------------
4236 **        <0>     1     RDL0		CPU Cache Read Lead-off Cycles 0
4237 **        <1>     1     RDL1		CPU Cache Read Lead-off Cycles 1
4238 **        <2>     1     RDB2T		CPU Cache Read Burst Cycles
4239 **        <3>     1     WRL0		CPU Cache Write Lead-off Cycles 0
4240 **        <4>     1     WRL1		CPU Cache Write Lead-off Cycles 1
4241 **        <5>     1     WRB2T		CPU Cache Write Burst Cycles
4242 **        <6>     1     WRTEG0		Cache Write Enable Trailing Edge Timing 0
4243 **        <7>     1     WRTEG1		Cache Write Enable Trailing Edge Timing 1
4244 **        <8>     1     RDTEG0		Cache Write Enable Trailing Edge Timing 0
4245 **        <9>     1     RDTEG1		Cache Write Enable Trailing Edge Timing 1
4246 **
4247 **	  <10:15> Reserved
4248 */
4249 #define CCR_CCR3_REG		0x402
4250 #define CCR3_V_RDL		0
4251 #define CCR3_M_RDL		0x3 << CCR3_V_RDL
4252 #define CCR3_V_RDL0		0
4253 #define CCR3_M_RDL0		1 << CCR3_V_RDL0
4254 #define CCR3_V_RDL1		2
4255 #define CCR3_M_RDL1		1 << CCR3_V_RDL1
4256 #define CCR3_V_RDB2T		3
4257 #define CCR3_M_RDB2T		1 << CCR3_V_RDB2T
4258 #define CCR3_V_WRL		3
4259 #define CCR3_M_WRL		0x3 << CCR3_V_WRL
4260 #define CCR3_V_WRL0		3
4261 #define CCR3_M_WRL0		1 << CCR3_V_WRL0
4262 #define CCR3_V_WRL1		4
4263 #define CCR3_M_WRL1		1 << CCR3_V_WRL1
4264 #define CCR3_V_WRB2T		5
4265 #define CCR3_M_WRB2T		1 << CCR3_V_WRB2T
4266 #define CCR3_V_WRTEG		6
4267 #define CCR3_M_WRTEG		0x3 << CCR3_V_WRTEG
4268 #define CCR3_V_WRTEG0		6
4269 #define CCR3_M_WRTEG0		1 << CCR3_V_WRTEG0
4270 #define CCR3_V_WRTEG1		7
4271 #define CCR3_M_WRTEG1		1 << CCR3_V_WRTEG1
4272 #define CCR3_V_RDTEG		8
4273 #define CCR3_M_RDTEG		0x3 << CCR3_V_RDTEG
4274 #define CCR3_V_RDTEG0		8
4275 #define CCR3_M_RDTEG0		1 << CCR3_V_RDTEG0
4276 #define CCR3_V_RDTEG1		9
4277 #define CCR3_M_RDTEG1		1 << CCR3_V_RDTEG1
4278 
4279 /*
4280 ** CPU Cache Read Lead-off Cycles
4281 */
4282 #define RDL_2T			0x000
4283 #define RDL_3T			CCR3_M_RDL0
4284 #define RDL_4T			CCR3_M_RDL1
4285 
4286 /*
4287 ** CPU Cache Write Lead-off Cycles
4288 */
4289 #define WRL_2T			0x000
4290 #define WRL_3T			CCR3_M_WRL0
4291 #define WRL_4T			CCR3_M_WRL1
4292 
4293 /*
4294 ** Cache Write Enable Trailing Edge Timing for Write Hit Cycles
4295 */
4296 #define WRTEG_SYNCH		0x000
4297 #define WRTEG_EARLY		CCR3_M_WRTEG0
4298 
4299 /*
4300 ** Cache Write Enable Trailing Edge Timing for Line Fill Cycles
4301 */
4302 #define RDTEG_SYNCH		0x000
4303 #define RDTEG_EARLY		CCR3_M_RDTEG0
4304 
4305 /*
4306 **
4307 **  Cache Control Register 4 (CCR4) - Index 0x403
4308 **
4309 **        Loc   Size    Name    	Function
4310 **       -----  ----    ----    	---------------------------------
4311 **        <1>     1     TAGCK0		TAG RAM Timing Checking Point 0
4312 **        <2>     1     TAGCK1		TAG RAM Timing Checking Point 1
4313 **        <3>     1     DRTWETR0	Dirty Bit Write Timing Point 0
4314 **        <4>     1     DRTWETR1	Dirty Bit Write Timing Point 1
4315 **
4316 **	  <0><5:15> Reserved
4317 */
4318 #define CCR_CCR4_REG		0x403
4319 #define CCR4_V_TAGCK		0
4320 #define CCR4_M_TAGCK		0x3 << CCR4_V_TAGCK
4321 #define CCR4_V_TAGCK0		0
4322 #define CCR4_M_TAGCK0		1 << CCR4_V_TAGCK0
4323 #define CCR4_V_TAGCK1		1
4324 #define CCR4_M_TAGCK1		1 << CCR4_V_TAGCK1
4325 #define CCR4_V_DRTWETR		0
4326 #define CCR4_M_DRTWETR		0x3 << CCR4_V_DRTWETR
4327 #define CCR4_V_DRTWETR0		0
4328 #define CCR4_M_DRTWETR0		1 << CCR4_V_DRTWETR0
4329 #define CCR4_V_DRTWETR1		1
4330 #define CCR4_M_DRTWETR1		1 << CCR4_V_DRTWETR1
4331 
4332 /*
4333 ** TAG RAM Timing Checking Point
4334 */
4335 #define TAGCK_ENDT1		0x000
4336 #define TAGCK_MIDT2_EARLY	CCR4_M_TAGCK0
4337 #define TAGCK_MIDT2_NORM	CCR4_M_TAGCK1
4338 #define TAGCK_ENDT2		(CCR4_M_TAGCK0 | CCR4_M_TAGCK1)
4339 
4340 /*
4341 ** Dirty Bit Write Enable Trailing Edge Timing Point
4342 */
4343 #define DRTWETR_EARLYEST	CCR4_M_DRTWETR0
4344 #define DRTWETR_EARLYER		CCR4_M_DRTWETR1
4345 #define DRTWETR_SYNCH		(CCR4_M_DRTWETR0 | CCR4_M_DRTWETR1)
4346 
4347 /*
4348 **
4349 **  Global Control Register 1 (GCR1) - Index 0x700
4350 **
4351 **        Loc   Size    Name    	Function
4352 **       -----  ----    ----    	---------------------------------
4353 **        <0>     1     CPUHITMWS	CPU HITM# Sampling Wait State Selection
4354 **
4355 **	  <2:15> Reserved
4356 */
4357 #define CCR_GCR1_REG		0x700
4358 #define CCR_GCR1_INIT		0x0000
4359 #define GCR1_V_CPUHITMWS	0
4360 #define GCR1_M_CPUHITMWS	1 << GCR1_V_CPUHITMWS
4361 
4362 /****************************************************
4363 **		      	SEQUOIA-2                  **
4364 *****************************************************/
4365 
4366 /*
4367 **
4368 **  AT Miscellaneous Control Register 1 (ATMCR1) - Index 0x300
4369 **
4370 **        Loc   Size    Name    	Function
4371 **       -----  ----    ----    	---------------------------------
4372 **        <0>     1     SYSDIV0		SYSCLK Divisor Select 0
4373 **        <1>     1     SYSDIV1		SYSCLK Divisor Select 1
4374 **        <2>     1     SYSDIV2		SYSCLK Divisor Select 2
4375 **        <4>     1     IDERDYDLY0	Turbo IDE Cycle Ready Delay Select 0
4376 **        <5>     1     IDERDYDLY1	Turbo IDE Cycle Ready Delay Select 1
4377 **        <6>     1     B2BD0		Back-to-Back I/O Delay Select 0
4378 **        <7>     1     B2BD1		Back-to-Back I/O Delay Select 1
4379 **	  <9>	  1     PARITYEN	Global Parity Enable
4380 **	  <10>	  1     ATREFDIS	AT Bus Refresh Disable
4381 **	  <11>	  1     HIDREFEN	Hidden AT Refresh Enable
4382 **
4383 **	  <3><8><12:15> Reserved
4384 */
4385 #define SEQ2_ATMCR_REG		0x300
4386 #define SEQ2_ATMCR_INIT		( SYSDIV_4 | IDERDYDLY_2FS1XCLK | B2BD_3 | \
4387 				  ATMCR1_M_ATREFDIS | ATMCR1_M_HIDREFEN )
4388 #define ATMCR1_V_SYSDIV		0
4389 #define ATMCR1_M_SYSDIV		0x7 << ATMCR1_V_SYSDIV
4390 #define ATMCR1_V_SYSDIV0	0
4391 #define ATMCR1_M_SYSDIV0	1 << ATMCR1_V_SYSDIV0
4392 #define ATMCR1_V_SYSDIV1	1
4393 #define ATMCR1_M_SYSDIV1	1 << ATMCR1_V_SYSDIV1
4394 #define ATMCR1_V_SYSDIV2	2
4395 #define ATMCR1_M_SYSDIV2	1 << ATMCR1_V_SYSDIV2
4396 #define ATMCR1_V_IDERDYDLY	4
4397 #define ATMCR1_M_IDERDYDLY	0x3 << ATMCR1_V_IDERDYDLY
4398 #define ATMCR1_V_IDERDYDLY0	4
4399 #define ATMCR1_M_IDERDYDLY0	1 << ATMCR1_V_IDERDYDLY0
4400 #define ATMCR1_V_IDERDYDLY1	5
4401 #define ATMCR1_M_IDERDYDLY1	1 << ATMCR1_V_IDERDYDLY1
4402 #define ATMCR1_V_B2BD		6
4403 #define ATMCR1_M_B2BD		0x3 << ATMCR1_V_B2BD
4404 #define ATMCR1_V_B2BD0		6
4405 #define ATMCR1_M_B2BD0		1 << ATMCR1_V_B2BD0
4406 #define ATMCR1_V_B2BD1		7
4407 #define ATMCR1_M_B2BD1		1 << ATMCR1_V_B2BD1
4408 #define ATMCR1_V_PARITYEN	9
4409 #define ATMCR1_M_PARITYEN	1 << ATMCR1_V_PARITYEN
4410 #define ATMCR1_V_ATREFDIS	10
4411 #define ATMCR1_M_ATREFDIS	1 << ATMCR1_V_ATREFDIS
4412 #define ATMCR1_V_HIDREFEN	11
4413 #define ATMCR1_M_HIDREFEN	1 << ATMCR1_V_HIDREFEN
4414 
4415 /*
4416 ** SYSCLK Divisor Select
4417 */
4418 #define SYSDIV_3		ATMCR1_M_SYSDIV0
4419 #define SYSDIV_4		ATMCR1_M_SYSDIV1
4420 #define SYSDIV_5		(ATMCR1_M_SYSDIV0 | ATMCR1_M_SYSDIV1)
4421 #define SYSDIV_6		ATMCR1_M_SYSDIV2
4422 
4423 /*
4424 ** Turbo IDE Cycle Ready Delay Select
4425 */
4426 #define IDERDYDLY_NONE		0x000
4427 #define IDERDYDLY_1FS1XCLK	ATMCR1_M_IDERDYDLY0
4428 #define IDERDYDLY_2FS1XCLK 	ATMCR1_M_IDERDYDLY1
4429 
4430 /*
4431 ** Back-to-Back Delay Select
4432 */
4433 #define B2BD_0			0x000
4434 #define B2BD_1			ATMCR1_M_B2BD0
4435 #define B2BD_2			ATMCR1_M_B2BD1
4436 #define B2BD_3			(ATMCR1_M_B2BD0 | ATMCR1_M_B2BD1)
4437 
4438 /*
4439 **
4440 **  AT Miscellaneous Control Register 2 (ATMCR2) - Index 0x301
4441 **
4442 **        Loc   Size    Name    	Function
4443 **       -----  ----    ----    	---------------------------------
4444 **        <0>     1     IDECMDW0	Turbo IDE Command Width Select 0
4445 **        <1>     1     IDECMDW1	Turbo IDE Command Width Select 1
4446 **        <2>     1     IDECMDW2	Turbo IDE Command Width Select 2
4447 **        <3>     1     IDEB2BDLY0	Turbo IDE Back-to-Back Cycle Delay Select 0
4448 **        <4>     1     IDEB2BDLY1	Turbo IDE Back-to-Back Cycle Delay Select 1
4449 **        <5>     1     IDEB2BDLY2	Turbo IDE Back-to-Back Cycle Delay Select 2
4450 **        <6>     1     GIDENABLE	Global IDE Enable
4451 **	  <11>	  1     EXTATADD	Extended AT Address
4452 **	  <12>	  1     DLYLOCAL	Delay Sampling Point for LOCAL#
4453 **	  <14>	  1     BSEREN		BSER Enable
4454 **	  <15>	  1     DMACLKDIS	DMA Modular Clock Disable
4455 **
4456 **	  <7:10><13> Reserved
4457 */
4458 #define SEQ2_ATMCR2_REG		0x301
4459 #define SEQ2_ATMCR2_INIT	( ATMCR2_M_IDECMDW    | ATMCR2_M_IDEB2BDLY  | \
4460 				  ATMCR2_M_IDEB2BDLY1 | ATMCR2_M_IDEB2BDLY2 | \
4461 				  ATMCR2_M_GIDENABLE  | ATMCR2_M_EXTATADD | \
4462 				  ATMCR2_M_DLYLOCAL   | ATMCR2_M_BSEREN )
4463 #define ATMCR2_V_IDECMDW	0
4464 #define ATMCR2_M_IDECMDW	(0x7 << ATMCR2_V_IDECMDW)
4465 #define ATMCR2_V_IDECMDW0	0
4466 #define ATMCR2_M_IDECMDW0	(1 << ATMCR2_V_IDECMDW0)
4467 #define ATMCR2_V_IDECMDW1	1
4468 #define ATMCR2_M_IDECMDW1	(1 << ATMCR2_V_IDECMDW1)
4469 #define ATMCR2_V_IDECMDW2	2
4470 #define ATMCR2_M_IDECMDW2	(1 << ATMCR2_V_IDECMDW2)
4471 #define ATMCR2_V_IDEB2BDLY	3
4472 #define ATMCR2_M_IDEB2BDLY	(0x7 << ATMCR2_V_IDEB2BDLY)
4473 #define ATMCR2_V_IDEB2BDLY0	3
4474 #define ATMCR2_M_IDEB2BDLY0	(1 << ATMCR2_V_IDEB2BDLY0)
4475 #define ATMCR2_V_IDEB2BDLY1	4
4476 #define ATMCR2_M_IDEB2BDLY1	(1 << ATMCR2_V_IDEB2BDLY1)
4477 #define ATMCR2_V_IDEB2BDLY2	5
4478 #define ATMCR2_M_IDEB2BDLY2	(1 << ATMCR2_V_IDEB2BDLY2)
4479 #define ATMCR2_V_GIDENABLE	6
4480 #define ATMCR2_M_GIDENABLE	(1 << ATMCR2_V_GIDENABLE)
4481 #define ATMCR2_V_EXTATADD	11
4482 #define ATMCR2_M_EXTATADD	(1 << ATMCR2_V_EXTATADD)
4483 #define ATMCR2_V_DLYLOCAL	12
4484 #define ATMCR2_M_DLYLOCAL	(1 << ATMCR2_V_DLYLOCAL)
4485 #define ATMCR2_V_BSEREN		14
4486 #define ATMCR2_M_BSEREN		(1 << ATMCR2_V_BSEREN)
4487 #define ATMCR2_V_DMACLKDIS	15
4488 #define ATMCR2_M_DMACLKDIS	(1 << ATMCR2_V_DMACLKDIS)
4489 
4490 /*
4491 ** Turbo IDE Command Width Select
4492 */
4493 #define IDECMDW_2FS1XCLK	0x000
4494 #define IDECMDW_3FS1XCLK	ATMCR2_M_IDECMDW0
4495 #define IDECMDW_4FS1XCLK	ATMCR2_M_IDECMDW1
4496 #define IDECMDW_5FS1XCLK	(ATMCR2_M_IDECMDW0 | ATMCR2_M_IDECMDW1)
4497 #define IDECMDW_6FS1XCLK	ATMCR2_M_IDECMDW2
4498 #define IDECMDW_7FS1XCLK	(ATMCR2_M_IDECMDW0 | ATMCR2_M_IDECMDW2)
4499 #define IDECMDW_8FS1XCLK	(ATMCR2_M_IDECMDW1 | ATMCR2_M_IDECMDW2)
4500 #define IDECMDW_9FS1XCLK	(ATMCR2_M_IDECMDW0 | ATMCR2_M_IDECMDW1 | ATMCR2_M_IDECMDW2)
4501 
4502 /*
4503 ** Turbo IDE Back=to-Back Cycle Delay Select
4504 */
4505 #define IDEB2BDLY_2FS1XCLK	0x000
4506 #define IDEB2BDLY_3FS1XCLK	ATMCR2_M_IDEB2BDLY0
4507 #define IDEB2BDLY_4FS1XCLK	ATMCR2_M_IDEB2BDLY1
4508 #define IDEB2BDLY_5FS1XCLK	(ATMCR2_M_IDEB2BDLY0 | ATMCR2_M_IDEB2BDLY1)
4509 #define IDEB2BDLY_6FS1XCLK	ATMCR2_M_IDEB2BDLY2
4510 #define IDEB2BDLY_7FS1XCLK	(ATMCR2_M_IDEB2BDLY0 | ATMCR2_M_IDEB2BDLY2)
4511 #define IDEB2BDLY_8FS1XCLK	(ATMCR2_M_IDEB2BDLY1 | ATMCR2_M_IDEB2BDLY2)
4512 #define IDEB2BDLY_9FS1XCLK	(ATMCR2_M_IDEB2BDLY0 | ATMCR2_M_IDEB2BDLY1 | ATMCR2_M_IDEB2BDLY2)
4513 
4514 /*
4515 **
4516 **  SEQUOIA-2 Pin Select Register  (SEQ2PSR) - Index 0x302
4517 **
4518 **        Loc   Size    Name    	Function
4519 **       -----  ----    ----    	---------------------------------
4520 **        <0>     1     DPBUSEN		DP Bus Enable
4521 **        <1>     1     GPIOPINEN	General Purpose I/O [7:4] Pin Enable
4522 **        <4>     1     IDEPINEN	IDE Pin Enable
4523 **        <5>     1     LOCALPINEN	Additional LOCAL Pin Enable
4524 **        <8>     1     ATREFADDEN	AT Refresh Address Enable
4525 **	  <14>	  1     IDECMDEN	IDE Command Enable
4526 **	  <15>	  1     SQ2TYPESEL	SEQUOIA-2 Type Select
4527 **
4528 **	  <2:3><6:7><9:13> Reserved
4529 */
4530 #define SEQ2_SEQ2PSR_REG	0x302
4531 #define SEQ2_SEQ2PSR_INIT	( SEQ2PSR_M_DPBUSEN | SEQ2PSR_M_LOCALPINEN )
4532 #define SEQ2PSR_V_DPBUSEN	0
4533 #define SEQ2PSR_M_DPBUSEN	1 << SEQ2PSR_V_DPBUSEN
4534 #define SEQ2PSR_V_GPIOPINEN	1
4535 #define SEQ2PSR_M_GPIOPINEN	1 << SEQ2PSR_V_GPIOPINEN
4536 #define SEQ2PSR_V_IDEPINEN	4
4537 #define SEQ2PSR_M_IDEPINEN	1 << SEQ2PSR_V_IDEPINEN
4538 #define SEQ2PSR_V_LOCALPINEN	5
4539 #define SEQ2PSR_M_LOCALPINEN	1 << SEQ2PSR_V_LOCALPINEN
4540 #define SEQ2PSR_V_ATREFADDEN	8
4541 #define SEQ2PSR_M_ATREFADDEN	1 << SEQ2PSR_V_ATREFADDEN
4542 #define SEQ2PSR_V_IDECMDEN	14
4543 #define SEQ2PSR_M_IDECMDEN	1 << SEQ2PSR_V_IDECMDEN
4544 #define SEQ2PSR_V_SQ2TYPESEL	15
4545 #define SEQ2PSR_M_SQ2TYPESEL	1 << SEQ2PSR_V_SQ2TYPESEL
4546 
4547 /*
4548 **
4549 **  Modular Clock Control Register  (MCLKCR) - Index 0x303
4550 **
4551 **        Loc   Size    Name    	Function
4552 **       -----  ----    ----    	---------------------------------
4553 **        <0>     1     ATMODCLKEN	AT Modular Clock Enable
4554 **        <3>     1     SYNCTMREN	Synchronous Timer Enable
4555 **        <4>     1     TMRCLKDIS	Timer Clock Disable
4556 **        <5>     1     SYSCLKDIS	ISA SYSCLK Disable
4557 **
4558 **	  <1:2><6:15> Reserved
4559 */
4560 #define SEQ2_MCLKCR_REG		0x303
4561 #define SEQ2_MCLKCR_INIT	0x0000
4562 #define MCLKCR_V_ATMODCLKEN	0
4563 #define MCLKCR_M_ATMODCLKEN	1 << MCLKCR_V_ATMODCLKEN
4564 #define MCLKCR_V_SYNCTMREN	3
4565 #define MCLKCR_M_SYNCTMREN	1 << MCLKCR_V_SYNCTMREN
4566 #define MCLKCR_V_TMRCLKDIS	4
4567 #define MCLKCR_M_TMRCLKDIS	1 << MCLKCR_V_TMRCLKDIS
4568 #define MCLKCR_V_SYSCLKDIS	5
4569 #define MCLKCR_M_SYSCLKDIS	1 << MCLKCR_V_SYSCLKDIS
4570 
4571 /*
4572 **
4573 **  Optional GPIO Control Register  (OGPIOCR) - Index 0x304
4574 **
4575 **        Loc   Size    Name    	Function
4576 **       -----  ----    ----    	---------------------------------
4577 **	       <0:7>   8     Reserved
4578 **        <8>     4     GPIODATA	   General Purpose I/O Data [4:7]
4579 **        <12>    4     GPIODIR		General Purpose I/O Direction [4:7]
4580 **
4581 */
4582 #define SEQ2_OGPIOCR_REG	0x304
4583 #define SEQ2_OGPIOCR_INIT	   OGPIOCR_M_GPIODIR
4584 #define OOGPIOCR_V_GPIODATA	8
4585 #define OGPIOCR_M_GPIODATA		0xF << OGPIOCR_V_GPIODATA
4586 #define OGPIOCR_V_GPIODATA4	8
4587 #define OGPIOCR_M_GPIODATA4	1 << OGPIOCR_V_GPIODATA4
4588 #define OGPIOCR_V_GPIODATA5	9
4589 #define OGPIOCR_M_GPIODATA5	1 << OGPIOCR_V_GPIODATA5
4590 #define OGPIOCR_V_GPIODATA6	10
4591 #define OGPIOCR_M_GPIODATA6	1 << OGPIOCR_V_GPIODATA6
4592 #define OGPIOCR_V_GPIODATA7	11
4593 #define OGPIOCR_M_GPIODATA7	1 << OGPIOCR_V_GPIODATA7
4594 #define OGPIOCR_V_GPIODIR		12
4595 #define OGPIOCR_M_GPIODIR		0xF << OGPIOCR_V_GPIODIR
4596 #define OGPIOCR_V_GPIODIR4		12
4597 #define OGPIOCR_M_GPIODIR4		1 << OGPIOCR_V_GPIODIR4
4598 #define OGPIOCR_V_GPIODIR5		13
4599 #define OGPIOCR_M_GPIODIR5		1 << OGPIOCR_V_GPIODIR5
4600 #define OGPIOCR_V_GPIODIR6		14
4601 #define OGPIOCR_M_GPIODIR6		1 << OGPIOCR_V_GPIODIR6
4602 #define OGPIOCR_V_GPIODIR7		15
4603 #define OGPIOCR_M_GPIODIR7		1 << OGPIOCR_V_GPIODIR7
4604 
4605 /*
4606 **
4607 **  SEQUOIA-2 ID Register  (SEQ2IDR) - Index 0x310
4608 **
4609 **        Loc   Size    Name    	Function
4610 **       -----  ----    ----    	---------------------------------
4611 **        <0>     4     S2ID		SEQUOIA-2 Revision ID Number
4612 **
4613 **	  <1:15> Reserved
4614 */
4615 #define SEQ2_SEQ2IDR_REG	0x310
4616 #define SEQ2IDR_V_S2ID		0
4617 #define SEQ2IDR_M_S2ID		0xF << SEQ2IDR_V_S2ID
4618 
4619 /*
4620 **
4621 **  Miscellaneous DMA Control Register 1 (MDMACR1) - Index 0x330
4622 **
4623 **        Loc   Size    Name    	Function
4624 **       -----  ----    ----    	---------------------------------
4625 **        <8>     1     ENCDDMA		Encoded DMA Acknowledges
4626 **
4627 **	  <0:7><9:15> Reserved
4628 */
4629 #define SEQ2_MDMACR1_REG	0x330
4630 #define SEQ2_MDMACR1_INIT	0x0000
4631 #define MDMACR1_V_ENCDDMA	8
4632 #define MDMACR1_M_ENCDDMA	1 << MDMACR1_V_ENCDDMA
4633 
4634 /*
4635 **
4636 **  Miscellaneous DMA Control Register 2 (MDMACR2) - Index 0x331
4637 **
4638 **        Loc   Size    Name    	Function
4639 **       -----  ----    ----    	---------------------------------
4640 **        <0>     1     SEL3DMA		Select 3 DMA
4641 **        <4>     1     DMA0CHSEL0	DMA Channel 0 Select 0
4642 **        <5>     1     DMA0CHSEL1	DMA Channel 0 Select 1
4643 **        <6>     1     DMA0CHSEL2	DMA Channel 0 Select 2
4644 **        <8>     1     DMA1CHSEL0	DMA Channel 1 Select 0
4645 **        <9>     1     DMA1CHSEL1	DMA Channel 1 Select 1
4646 **        <10>    1     DMA1CHSEL2	DMA Channel 1 Select 2
4647 **        <12>    1     DMA2CHSEL0	DMA Channel 2 Select 0
4648 **        <13>    1     DMA2CHSEL1	DMA Channel 2 Select 1
4649 **        <14>    1     DMA2CHSEL2	DMA Channel 2 Select 2
4650 **
4651 **	  <1:3><7><11><15> Reserved
4652 */
4653 #define SEQ2_MDMACR2_REG	0x331
4654 #define SEQ2_MDMACR2_INIT	0x0000
4655 #define MDMACR2_V_SEL3DMA	0
4656 #define MDMACR2_M_SEL3DMA	1 << MDMACR2_V_SEL3DMA
4657 #define MDMACR2_V_DMA0CHSEL	4
4658 #define MDMACR2_M_DMA0CHSEL	0x7 << MDMACR2_V_DMA0CHSEL
4659 #define MDMACR2_V_DMA0CHSEL0	4
4660 #define MDMACR2_M_DMA0CHSEL0	1 << MDMACR2_V_DMA0CHSEL0
4661 #define MDMACR2_V_DMA0CHSEL1	5
4662 #define MDMACR2_M_DMA0CHSEL1	1 << MDMACR2_V_DMA0CHSEL1
4663 #define MDMACR2_V_DMA0CHSEL2	6
4664 #define MDMACR2_M_DMA0CHSEL2	1 << MDMACR2_V_DMA0CHSEL2
4665 #define MDMACR2_V_DMA1CHSEL	7
4666 #define MDMACR2_M_DMA1CHSEL	0x7 << MDMACR2_V_DMA1CHSEL
4667 #define MDMACR2_V_DMA1CHSEL0	7
4668 #define MDMACR2_M_DMA1CHSEL0	1 << MDMACR2_V_DMA1CHSEL0
4669 #define MDMACR2_V_DMA1CHSEL1	8
4670 #define MDMACR2_M_DMA1CHSEL1	1 << MDMACR2_V_DMA1CHSEL1
4671 #define MDMACR2_V_DMA1CHSEL2	9
4672 #define MDMACR2_M_DMA1CHSEL2	1 << MDMACR2_V_DMA1CHSEL2
4673 #define MDMACR2_V_DMA2CHSEL	12
4674 #define MDMACR2_M_DMA2CHSEL	0x7 << MDMACR2_V_DMA2CHSEL
4675 #define MDMACR2_V_DMA2CHSEL0	12
4676 #define MDMACR2_M_DMA2CHSEL0	1 << MDMACR2_V_DMA2CHSEL0
4677 #define MDMACR2_V_DMA2CHSEL1	13
4678 #define MDMACR2_M_DMA2CHSEL1	1 << MDMACR2_V_DMA2CHSEL1
4679 #define MDMACR2_V_DMA2CHSEL2	14
4680 #define MDMACR2_M_DMA2CHSEL2	1 << MDMACR2_V_DMA2CHSEL2
4681 
4682 /*
4683 ** DMA Channel 0 Select
4684 */
4685 #define DMA0CHSEL_0		0x000
4686 #define DMA0CHSEL_1		MDMACR2_M_DMA0CHSEL0
4687 #define DMA0CHSEL_2		MDMACR2_M_DMA0CHSEL1
4688 #define DMA0CHSEL_3		(MDMACR2_M_DMA0CHSEL0 | MDMACR2_M_DMA0CHSEL1)
4689 #define DMA0CHSEL_5		(MDMACR2_M_DMA0CHSEL0 | MDMACR2_M_DMA0CHSEL2)
4690 #define DMA0CHSEL_6		(MDMACR2_M_DMA0CHSEL1 | MDMACR2_M_DMA0CHSEL2)
4691 #define DMA0CHSEL_7		(MDMACR2_M_DMA0CHSEL0 | MDMACR2_M_DMA0CHSEL1 | MDMACR2_M_DMA0CHSEL1)
4692 
4693 /*
4694 ** DMA Channel 1 Select
4695 */
4696 #define DMA1CHSEL_0		0x000
4697 #define DMA1CHSEL_1		MDMACR2_M_DMA1CHSEL0
4698 #define DMA1CHSEL_2		MDMACR2_M_DMA1CHSEL1
4699 #define DMA1CHSEL_3		(MDMACR2_M_DMA1CHSEL0 | MDMACR2_M_DMA1CHSEL1)
4700 #define DMA1CHSEL_5		(MDMACR2_M_DMA1CHSEL0 | MDMACR2_M_DMA1CHSEL2)
4701 #define DMA1CHSEL_6		(MDMACR2_M_DMA1CHSEL1 | MDMACR2_M_DMA1CHSEL2)
4702 #define DMA1CHSEL_7		(MDMACR2_M_DMA1CHSEL0 | MDMACR2_M_DMA1CHSEL1 | MDMACR2_M_DMA1CHSEL1)
4703 
4704 /*
4705 ** DMA Channel 2 Select
4706 */
4707 #define DMA2CHSEL_0		0x000
4708 #define DMA2CHSEL_1		MDMACR2_M_DMA2CHSEL0
4709 #define DMA2CHSEL_2		MDMACR2_M_DMA2CHSEL1
4710 #define DMA2CHSEL_3		(MDMACR2_M_DMA2CHSEL0 | MDMACR2_M_DMA2CHSEL1)
4711 #define DMA2CHSEL_5		(MDMACR2_M_DMA2CHSEL0 | MDMACR2_M_DMA2CHSEL2)
4712 #define DMA2CHSEL_6		(MDMACR2_M_DMA2CHSEL1 | MDMACR2_M_DMA2CHSEL2)
4713 #define DMA2CHSEL_7		(MDMACR2_M_DMA2CHSEL0 | MDMACR2_M_DMA2CHSEL1 | MDMACR2_M_DMA2CHSEL1)
4714 
4715 /*
4716 **
4717 **  Burst Bus Interrupt Control Register (BBICR) - Index 0x340
4718 **
4719 **        Loc   Size    Name    	Function
4720 **       -----  ----    ----    	---------------------------------
4721 **        <0>     1     ENBINT		Enable Burst Bus Interrupt
4722 **        <1>     1     BINTLOCKCLR	Burst Interrupt Interlock Clear
4723 **        <2>     1     BINTLOCKDIS	Burst Interrupt Interlock Disable
4724 **
4725 **	  <3:15> Reserved
4726 */
4727 #define SEQ2_BBICR_REG		0x340
4728 #define SEQ2_BBICR_INIT		0x0000
4729 #define BBICR_V_ENBINT		0
4730 #define BBICR_M_ENBINT		1 << BBICR_V_ENBINT
4731 #define BBICR_V_BINTLOCKCLR	1
4732 #define BBICR_M_BINTLOCKCLR	1 << BBICR_V_BINTLOCKCLR
4733 #define BBICR_V_BINTLOCKDIS	2
4734 #define BBICR_M_BINTLOCKDIS	1 << BBICR_V_BINTLOCKDIS
4735 
4736 /*
4737 **
4738 **  Primary Activities IRQ Mask Register (PAIMR) - Index 0x350
4739 **
4740 **        Loc   Size    Name    	Function
4741 **       -----  ----    ----    	---------------------------------
4742 **        <1>     1     PAMSKIRQ1	IRQ1 Primary Activity Mask Enable
4743 **        <3>     1     PAMSKIRQ3	IRQ3 Primary Activity Mask Enable
4744 **        <4>     1     PAMSKIRQ4	IRQ4 Primary Activity Mask Enable
4745 **        <5>     1     PAMSKIRQ5	IRQ5 Primary Activity Mask Enable
4746 **        <6>     1     PAMSKIRQ6	IRQ6 Primary Activity Mask Enable
4747 **        <7>     1     PAMSKIRQ7	IRQ7 Primary Activity Mask Enable
4748 **        <8>     1     PAMSKIRQ8	IRQ8 Primary Activity Mask Enable
4749 **        <9>     1     PAMSKIRQ9	IRQ9 Primary Activity Mask Enable
4750 **        <10>    1     PAMSKIRQ10	IRQ10 Primary Activity Mask Enable
4751 **        <11>    1     PAMSKIRQ11	IRQ11 Primary Activity Mask Enable
4752 **        <12>    1     PAMSKIRQ12	IRQ12 Primary Activity Mask Enable
4753 **        <13>    1     PAMSKIRQ13	IRQ13 Primary Activity Mask Enable
4754 **        <14>    1     PAMSKIRQ14	IRQ14 Primary Activity Mask Enable
4755 **        <15>    1     PAMSKIRQ15	IRQ15 Primary Activity Mask Enable
4756 **
4757 **	  <0><2> Reserved
4758 */
4759 #define SEQ2_PAIMR_REG		0x350
4760 #define SEQ2_PAIMR_INIT		( PAIMR_M_PAMSKIRQ1  | PAIMR_M_PAMSKIRQ3  | \
4761 				  PAIMR_M_PAMSKIRQ4  | PAIMR_M_PAMSKIRQ5  | \
4762 				  PAIMR_M_PAMSKIRQ6  | PAIMR_M_PAMSKIRQ7  | \
4763 				  PAIMR_M_PAMSKIRQ8  | PAIMR_M_PAMSKIRQ9  | \
4764 				  PAIMR_M_PAMSKIRQ10 | PAIMR_M_PAMSKIRQ11 | \
4765 				  PAIMR_M_PAMSKIRQ12 | PAIMR_M_PAMSKIRQ13 | \
4766 				  PAIMR_M_PAMSKIRQ14 )
4767 #define PAIMR_V_PAMSKIRQ1	1
4768 #define PAIMR_M_PAMSKIRQ1	1 << PAIMR_V_PAMSKIRQ1
4769 #define PAIMR_V_PAMSKIRQ3	3
4770 #define PAIMR_M_PAMSKIRQ3	1 << PAIMR_V_PAMSKIRQ3
4771 #define PAIMR_V_PAMSKIRQ4	4
4772 #define PAIMR_M_PAMSKIRQ4	1 << PAIMR_V_PAMSKIRQ4
4773 #define PAIMR_V_PAMSKIRQ5	5
4774 #define PAIMR_M_PAMSKIRQ5	1 << PAIMR_V_PAMSKIRQ5
4775 #define PAIMR_V_PAMSKIRQ6	6
4776 #define PAIMR_M_PAMSKIRQ6	1 << PAIMR_V_PAMSKIRQ6
4777 #define PAIMR_V_PAMSKIRQ7	7
4778 #define PAIMR_M_PAMSKIRQ7	1 << PAIMR_V_PAMSKIRQ7
4779 #define PAIMR_V_PAMSKIRQ8	8
4780 #define PAIMR_M_PAMSKIRQ8	1 << PAIMR_V_PAMSKIRQ8
4781 #define PAIMR_V_PAMSKIRQ9	9
4782 #define PAIMR_M_PAMSKIRQ9	1 << PAIMR_V_PAMSKIRQ9
4783 #define PAIMR_V_PAMSKIRQ10	10
4784 #define PAIMR_M_PAMSKIRQ10	1 << PAIMR_V_PAMSKIRQ10
4785 #define PAIMR_V_PAMSKIRQ11	11
4786 #define PAIMR_M_PAMSKIRQ11	1 << PAIMR_V_PAMSKIRQ11
4787 #define PAIMR_V_PAMSKIRQ12	12
4788 #define PAIMR_M_PAMSKIRQ12	1 << PAIMR_V_PAMSKIRQ12
4789 #define PAIMR_V_PAMSKIRQ13	13
4790 #define PAIMR_M_PAMSKIRQ13	1 << PAIMR_V_PAMSKIRQ13
4791 #define PAIMR_V_PAMSKIRQ14	14
4792 #define PAIMR_M_PAMSKIRQ14	1 << PAIMR_V_PAMSKIRQ14
4793 #define PAIMR_V_PAMSKIRQ15	15
4794 #define PAIMR_M_PAMSKIRQ15	1 << PAIMR_V_PAMSKIRQ15
4795 
4796 /*
4797 **
4798 **  PMI Trigger Source IRQ Active Register (PTSIAR) - Index 0x351
4799 **
4800 **        Loc   Size    Name    	Function
4801 **       -----  ----    ----    	---------------------------------
4802 **        <0>     1     PMIDETBACTV	PMI Trigger Source DeTurbo Switch Active
4803 **        <1>     1     PMIIRQ1ACTV	PMI Trigger Source IRQ1 Active
4804 **        <3>     1     PMIIRQ3ACTV	PMI Trigger Source IRQ3 Active
4805 **        <4>     1     PMIIRQ4ACTV	PMI Trigger Source IRQ4 Active
4806 **        <5>     1     PMIIRQ5ACTV	PMI Trigger Source IRQ5 Active
4807 **        <6>     1     PMIIRQ6ACTV	PMI Trigger Source IRQ6 Active
4808 **        <7>     1     PMIIRQ7ACTV	PMI Trigger Source IRQ7 Active
4809 **        <8>     1     PMIIRQ8ACTV	PMI Trigger Source IRQ8 Active
4810 **        <9>     1     PMIIRQ9ACTV	PMI Trigger Source IRQ9 Active
4811 **        <10>    1     PMIIRQ10ACTV	PMI Trigger Source IRQ10 Active
4812 **        <11>    1     PMIIRQ11ACTV	PMI Trigger Source IRQ11 Active
4813 **        <12>    1     PMIIRQ12ACTV	PMI Trigger Source IRQ12 Active
4814 **        <13>    1     PMIIRQ13ACTV	PMI Trigger Source IRQ13 Active
4815 **        <14>    1     PMIIRQ14ACTV	PMI Trigger Source IRQ14 Active
4816 **        <15>    1     PMIIRQ15ACTV	PMI Trigger Source IRQ15 Active
4817 **
4818 **	  <2> Reserved
4819 */
4820 #define SEQ2_PTSIAR_REG		0x351
4821 #define SEQ2_PTSIAR_INIT	0x0000
4822 #define PTSIAR_V_PMIDETBACTV	0
4823 #define PTSIAR_M_PMIDETBACTV	1 << PTSIAR_V_PMIDETBACTV
4824 #define PTSIAR_V_PMIIRQ1ACTV	1
4825 #define PTSIAR_M_PMIIRQ1ACTV	1 << PTSIAR_V_PMIIRQ1ACTV
4826 #define PTSIAR_V_PMIIRQ3ACTV	3
4827 #define PTSIAR_M_PMIIRQ3ACTV	1 << PTSIAR_V_PMIIRQ3ACTV
4828 #define PTSIAR_V_PMIIRQ4ACTV	4
4829 #define PTSIAR_M_PMIIRQ4ACTV	1 << PTSIAR_V_PMIIRQ4ACTV
4830 #define PTSIAR_V_PMIIRQ5ACTV	5
4831 #define PTSIAR_M_PMIIRQ5ACTV	1 << PTSIAR_V_PMIIRQ5ACTV
4832 #define PTSIAR_V_PMIIRQ6ACTV	6
4833 #define PTSIAR_M_PMIIRQ6ACTV	1 << PTSIAR_V_PMIIRQ6ACTV
4834 #define PTSIAR_V_PMIIRQ7ACTV	7
4835 #define PTSIAR_M_PMIIRQ7ACTV	1 << PTSIAR_V_PMIIRQ7ACTV
4836 #define PTSIAR_V_PMIIRQ8ACTV	8
4837 #define PTSIAR_M_PMIIRQ8ACTV	1 << PTSIAR_V_PMIIRQ8ACTV
4838 #define PTSIAR_V_PMIIRQ9ACTV	9
4839 #define PTSIAR_M_PMIIRQ9ACTV	1 << PTSIAR_V_PMIIRQ9ACTV
4840 #define PTSIAR_V_PMIIRQ10ACTV	10
4841 #define PTSIAR_M_PMIIRQ10ACTV	1 << PTSIAR_V_PMIIRQ10ACTV
4842 #define PTSIAR_V_PMIIRQ11ACTV	11
4843 #define PTSIAR_M_PMIIRQ11ACTV	1 << PTSIAR_V_PMIIRQ11ACTV
4844 #define PTSIAR_V_PMIIRQ12ACTV	12
4845 #define PTSIAR_M_PMIIRQ12ACTV	1 << PTSIAR_V_PMIIRQ12ACTV
4846 #define PTSIAR_V_PMIIRQ13ACTV	13
4847 #define PTSIAR_M_PMIIRQ13ACTV	1 << PTSIAR_V_PMIIRQ13ACTV
4848 #define PTSIAR_V_PMIIRQ14ACTV	14
4849 #define PTSIAR_M_PMIIRQ14ACTV	1 << PTSIAR_V_PMIIRQ14ACTV
4850 #define PTSIAR_V_PMIIRQ15ACTV	15
4851 #define PTSIAR_M_PMIIRQ15ACTV	1 << PTSIAR_V_PMIIRQ15ACTV
4852 
4853 /*
4854 **
4855 **  PMI Trigger Source IRQ Mask Register (PTSIMR) - Index 0x352
4856 **
4857 **        Loc   Size    Name    	Function
4858 **       -----  ----    ----    	---------------------------------
4859 **        <0>     1     IMSKDETURBO	DeTurbo Switch Triggering PMI Mask Enable
4860 **        <1>     1     IMSKIRQ1	IRQ1 Triggering PMI Mask Enable
4861 **        <3>     1     IMSKIRQ3	IRQ3 Triggering PMI Mask Enable
4862 **        <4>     1     IMSKIRQ4	IRQ4 Triggering PMI Mask Enable
4863 **        <5>     1     IMSKIRQ5	IRQ5 Triggering PMI Mask Enable
4864 **        <6>     1     IMSKIRQ6	IRQ6 Triggering PMI Mask Enable
4865 **        <7>     1     IMSKIRQ7	IRQ7 Triggering PMI Mask Enable
4866 **        <8>     1     IMSKIRQ8	IRQ8 Triggering PMI Mask Enable
4867 **        <9>     1     IMSKIRQ9	IRQ9 Triggering PMI Mask Enable
4868 **        <10>    1     IMSKIRQ10	IRQ10 Triggering PMI Mask Enable
4869 **        <11>    1     IMSKIRQ11	IRQ11 Triggering PMI Mask Enable
4870 **        <12>    1     IMSKIRQ12	IRQ12 Triggering PMI Mask Enable
4871 **        <13>    1     IMSKIRQ13	IRQ13 Triggering PMI Mask Enable
4872 **        <14>    1     IMSKIRQ14	IRQ14 Triggering PMI Mask Enable
4873 **        <15>    1     IMSKIRQ15	IRQ15 Triggering PMI Mask Enable
4874 **
4875 **	  <2> Reserved
4876 */
4877 #define SEQ2_PTSIMR_REG		0x352
4878 #define SEQ2_PTSIMR_INIT	( PTSIMR_M_IMSKDETURBO | PTSIMR_M_IMSKIRQ1  | \
4879 				  PTSIMR_M_IMSKIRQ3    | PTSIMR_M_IMSKIRQ4  | \
4880 				  PTSIMR_M_IMSKIRQ5    | PTSIMR_M_IMSKIRQ6  | \
4881 				  PTSIMR_M_IMSKIRQ7    | PTSIMR_M_IMSKIRQ8  | \
4882 				  PTSIMR_M_IMSKIRQ9    | PTSIMR_M_IMSKIRQ10 | \
4883 				  PTSIMR_M_IMSKIRQ11   | PTSIMR_M_IMSKIRQ12 | \
4884 				  PTSIMR_M_IMSKIRQ13   | PTSIMR_M_IMSKIRQ14 | \
4885 				  PTSIMR_M_IMSKIRQ15   )
4886 #define PTSIMR_V_IMSKDETURBO	0
4887 #define PTSIMR_M_IMSKDETURBO	1 << PTSIMR_V_IMSKDETURBO
4888 #define PTSIMR_V_IMSKIRQ1	1
4889 #define PTSIMR_M_IMSKIRQ1	1 << PTSIMR_V_IMSKIRQ1
4890 #define PTSIMR_V_IMSKIRQ3	3
4891 #define PTSIMR_M_IMSKIRQ3	1 << PTSIMR_V_IMSKIRQ3
4892 #define PTSIMR_V_IMSKIRQ4	4
4893 #define PTSIMR_M_IMSKIRQ4	1 << PTSIMR_V_IMSKIRQ4
4894 #define PTSIMR_V_IMSKIRQ5	5
4895 #define PTSIMR_M_IMSKIRQ5	1 << PTSIMR_V_IMSKIRQ5
4896 #define PTSIMR_V_IMSKIRQ6	6
4897 #define PTSIMR_M_IMSKIRQ6	1 << PTSIMR_V_IMSKIRQ6
4898 #define PTSIMR_V_IMSKIRQ7	7
4899 #define PTSIMR_M_IMSKIRQ7	1 << PTSIMR_V_IMSKIRQ7
4900 #define PTSIMR_V_IMSKIRQ8	8
4901 #define PTSIMR_M_IMSKIRQ8	1 << PTSIMR_V_IMSKIRQ8
4902 #define PTSIMR_V_IMSKIRQ9	9
4903 #define PTSIMR_M_IMSKIRQ9	1 << PTSIMR_V_IMSKIRQ9
4904 #define PTSIMR_V_IMSKIRQ10	10
4905 #define PTSIMR_M_IMSKIRQ10	1 << PTSIMR_V_IMSKIRQ10
4906 #define PTSIMR_V_IMSKIRQ11	11
4907 #define PTSIMR_M_IMSKIRQ11	1 << PTSIMR_V_IMSKIRQ11
4908 #define PTSIMR_V_IMSKIRQ12	12
4909 #define PTSIMR_M_IMSKIRQ12	1 << PTSIMR_V_IMSKIRQ12
4910 #define PTSIMR_V_IMSKIRQ13	13
4911 #define PTSIMR_M_IMSKIRQ13	1 << PTSIMR_V_IMSKIRQ13
4912 #define PTSIMR_V_IMSKIRQ14	14
4913 #define PTSIMR_M_IMSKIRQ14	1 << PTSIMR_V_IMSKIRQ14
4914 #define PTSIMR_V_IMSKIRQ15	15
4915 #define PTSIMR_M_IMSKIRQ15	1 << PTSIMR_V_IMSKIRQ15
4916 
4917 /*
4918 **
4919 **  IRQ Secondary Activity Enable Register (ISAER) - Index 0x353
4920 **
4921 **        Loc   Size    Name    	Function
4922 **       -----  ----    ----    	---------------------------------
4923 **        <0>     1     SAMSKIRQ	Secondary Activity Mask for IRQs
4924 **
4925 **	  <1:15> Reserved
4926 */
4927 #define SEQ2_ISAER_REG		0x353
4928 #define SEQ2_ISAER_INIT		ISAER_M_SAMSKIRQ
4929 #define ISAER_V_SAMSKIRQ	0
4930 #define ISAER_M_SAMSKIRQ	1 << ISAER_V_SAMSKIRQ
4931 
4932 /*
4933 ** Shadow Read Registers
4934 **
4935 */
4936 
4937 #define SR_M_DATAMSK		0xF
4938 
4939 /*
4940 ** 8254 Counter Registers
4941 */
4942 #define SRR_54CTR0_REG1		0x500
4943 #define SRR_54CTR0_REG2		0x501
4944 #define SRR_54CTR0_REG3		0x506
4945 #define SRR_54CTR1_REG1		0x502
4946 #define SRR_54CTR1_REG2		0x503
4947 #define SRR_54CTR1_REG3		0x507
4948 #define SRR_54CTR2_REG1		0x504
4949 #define SRR_54CTR2_REG2		0x505
4950 #define SRR_54CTR2_REG3		0x508
4951 
4952 /*
4953 ** 8237 DMA Controller Registers
4954 */
4955 #define SRR_37CTRL0_REG1	0x510
4956 #define SRR_37CTRL0_REG2	0x511
4957 #define SRR_37CTRL0_REG3	0x512
4958 #define SRR_37CTRL1_REG4	0x513
4959 #define SRR_37CTRL1_REG5	0x514
4960 #define SRR_37CTRL1_REG6	0x515
4961 #define SRR_37CTRL2_REG7	0x516
4962 #define SRR_37CTRL2_REG8	0x517
4963 
4964 /*
4965 ** 8259 Interrupt Controller Registers
4966 */
4967 #define SRR_59CTRL0_REG1	0x520
4968 #define SRR_59CTRL0_REG2	0x521
4969 #define SRR_59CTRL0_REG3	0x522
4970 #define SRR_59CTRL1_REG4	0x523
4971 #define SRR_59CTRL1_REG5	0x524
4972 #define SRR_59CTRL1_REG6	0x525
4973 #define SRR_59CTRL2_REG7	0x526
4974 #define SRR_59CTRL2_REG8    	0x527
4975 #define SRR_59CTRL2_REG9    	0x528
4976 #define SRR_59CTRL2_REG10	0x529
4977 #define SRR_59CTRL2_REG11	0x52A
4978 #define SRR_59CTRL2_REG12	0x52B
4979 
4980 /*
4981 ** IBM-AT Standard Registers
4982 **
4983 */
4984 
4985 /*
4986 **
4987 **  Register 1 (REG1) - Access Address 0x061
4988 **
4989 **        Loc   Size    Name    	Function
4990 **       -----  ----    ----    	---------------------------------
4991 **        <0>     1     TMR2EN		Timer 2 Enable
4992 **        <1>     1     SPKREN		Speaker Enable
4993 **        <2>     1     PARDIS		Parity Disable
4994 **        <3>     1     IOCHKDIS	I/O Channel Check Disable
4995 **        <4>     1     REFRTGL		Refresh Toggle
4996 **        <5>     1     TMR2OUT		Timer 2 Output
4997 **        <6>     1     IOCKERR		I/O Channel Check Error
4998 **        <7>     1     PARERR		Parity Error
4999 **
5000 */
5001 #define ATSR_REG1_REG		0x061
5002 #define ATSR_REG1_INIT		REG1_M_PARDIS
5003 #define REG1_V_TMR2EN		0
5004 #define REG1_M_TMR2EN		1 << REG1_V_TMR2EN
5005 #define REG1_V_SPKREN		1
5006 #define REG1_M_SPKREN		1 << REG1_V_SPKREN
5007 #define REG1_V_PARDIS		2
5008 #define REG1_M_PARDIS		1 << REG1_V_PARDIS
5009 #define REG1_V_IOCHKDIS		3
5010 #define REG1_M_IOCHKDIS		1 << REG1_V_IOCHKDIS
5011 #define REG1_V_REFRTGL		4
5012 #define REG1_M_REFRTGL		1 << REG1_V_REFRTGL
5013 #define REG1_V_TMR2OUT		5
5014 #define REG1_M_TMR2OUT		1 << REG1_V_TMR2OUT
5015 #define REG1_V_IOCKERR		6
5016 #define REG1_M_IOCKERR		1 << REG1_V_IOCKERR
5017 #define REG1_V_PARERR		7
5018 #define REG1_M_PARERR		1 << REG1_V_PARERR
5019 
5020 /*
5021 **
5022 **  Register 2 (REG2) - Access Address 0x070
5023 **
5024 **        Loc   Size    Name    	Function
5025 **       -----  ----    ----    	---------------------------------
5026 **        <0>     6     RTCINDX		Real Timer Clock Index
5027 **        <7>     1     NMIDIS		NMI Mask Disable
5028 **
5029 */
5030 #define ATSR_REG2_REG		0x070
5031 #define ATSR_REG2_INIT		REG2_M_NMIDIS
5032 #define REG2_V_RTCINDX		0
5033 #define REG2_M_RTCINDX		0x7F << REG2_V_RTCINDX
5034 #define REG2_V_NMIDIS		7
5035 #define REG2_M_NMIDIS		1 << REG2_V_NMIDIS
5036 
5037 /*
5038 **
5039 **  Register 3 (REG3) - Access Address 0x092
5040 **
5041 **        Loc   Size    Name    	Function
5042 **       -----  ----    ----    	---------------------------------
5043 **        <0>     1     FSTRST		Alternate Fast CPU Reset
5044 **        <1>     1     FGATEA20	Fast GATEA20
5045 **        <3>     1     SCLOCK1		Security Lock 1
5046 **
5047 **	  <2><4:7> Reserved
5048 */
5049 #define ATSR_REG3_REG		0x092
5050 #define ATSR_REG3_INIT		0x0000
5051 #define REG3_V_FSTRST		0
5052 #define REG3_M_FSTRST		1 << REG3_V_FSTRST
5053 #define REG3_V_FGATEA20		1
5054 #define REG3_M_FGATEA20		1 << REG3_V_FGATEA20
5055 #define REG3_V_SCLOCK1		3
5056 #define REG3_M_SCLOCK1		1 << REG3_V_SCLOCK1
5057 
5058 
5059 
5060 
5061 
5062 
5063 #ifndef __LANGUAGE_ASM__
5064 #ifndef _LOCORE
5065 
5066 void sequoiaInit(void);
5067 void sequoiaWrite __P((int reg,u_int16_t value));
5068 void sequoiaRead  __P((int reg,u_int16_t * value_ptr));
5069 
5070 /* x console functions */
5071 void    consXTvOn   __P((void));
5072 void    consXTvOff  __P((void));
5073 
5074 
5075 /* smart card reader functions */
5076 int     scrGetDetect             __P((void));
5077 void    scrSetPower              __P((int value));
5078 void    scrSetClock              __P((int value));
5079 void    scrSetReset              __P((int value));
5080 void    scrSetDataHighZ          __P((void));
5081 void    scrSetData               __P((int value));
5082 int     scrGetData               __P((void));
5083 
5084 
5085 /* just used to debug scr - remove when done - ejg */
5086 void    scrToggleTestPin		   __P((void));
5087 void sequoiaOneAccess(void);
5088 
5089 
5090 /* biled functions */
5091 void ledNetActive   __P((void));
5092 void ledNetBlock    __P((void));
5093 void ledNetUnblock  __P((void));
5094 void ledPanic       __P((void));
5095 
5096 
5097 /* function to get the hw rev */
5098 int  hwGetRev       __P((void));
5099 
5100 /* debug led functions */
5101 #define LED_DEBUG_STATE_0           0
5102 #define LED_DEBUG_STATE_1           1
5103 #define LED_DEBUG_STATE_2           2
5104 #define LED_DEBUG_STATE_3           3
5105 
5106 #define LED_DEBUG_YELLOW_OFF        4
5107 #define LED_DEBUG_YELLOW_ON         5
5108 
5109 #define LED_DEBUG_GREEN_OFF         6
5110 #define LED_DEBUG_GREEN_ON          7
5111 
5112 
5113 void ledSetDebug    __P((int command));
5114 
5115 
5116 
5117 
5118 
5119 #endif /* _LOCORE */
5120 #endif /* __LANGUAGE_ASM__ */
5121 
5122 #endif /* SEQUOIAH */
5123 
5124 
5125 
5126 
5127 
5128 
5129 
5130 
5131