/[gxemul]/upstream/0.4.6/src/include/mvme_pcctworeg.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /upstream/0.4.6/src/include/mvme_pcctworeg.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 43 - (show annotations)
Mon Oct 8 16:22:43 2007 UTC (16 years, 7 months ago) by dpavlin
File MIME type: text/plain
File size: 3618 byte(s)
0.4.6
1 /* GXemul: $Id: mvme_pcctworeg.h,v 1.1 2007/05/15 12:35:14 debug Exp $ */
2 /* $OpenBSD: pcctworeg.h,v 1.8 2006/04/27 20:19:28 miod Exp $ */
3
4 #ifndef MVME_PCCTWOREG_H
5 #define MVME_PCCTWOREG_H
6
7 /*
8 * Memory map for PCC2 chip found in MVME1x7 boards.
9 *
10 * PCCchip2 control and status register can be accessed as bytes (8 bits),
11 * two-bytes (16 bits), or four-bytes (32 bits).
12 */
13
14 #define PCC2_BASE 0xfff42000
15 #define PCC2_SIZE 0x0040
16
17 #define PCCTWO_CHIPID 0x0000
18 #define PCCTWO_CHIPREV 0x0001
19 #define PCCTWO_GENCTL 0x0002
20 #define PCCTWO_VECBASE 0x0003
21 #define PCCTWO_T1CMP 0x0004
22 #define PCCTWO_T1COUNT 0x0008
23 #define PCCTWO_T2CMP 0x000c
24 #define PCCTWO_T2COUNT 0x0010
25 #define PCCTWO_PSCALECNT 0x0014
26 #define PCCTWO_PSCALEADJ 0x0015
27 #define PCCTWO_T2CTL 0x0016
28 #define PCCTWO_T1CTL 0x0017
29 #define PCCTWO_GPIO_ICR 0x0018
30 #define PCCTWO_GPIO_PCR 0x0019
31 #define PCCTWO_T2ICR 0x001a
32 #define PCCTWO_T1ICR 0x001b
33 #define PCCTWO_SCCERR 0x001c
34 #define PCCTWO_SCCICR 0x001d
35 #define PCCTWO_SCCTX 0x001e
36 #define PCCTWO_SCCRX 0x001f
37 #define PCCTWO_SCCMOIACK 0x0023
38 #define PCCTWO_SCCTXIACK 0x0025
39 #define PCCTWO_SCCRXIACK 0x0027
40 #define PCCTWO_IEERR 0x0028
41 #define PCCTWO_IEICR 0x002a
42 #define PCCTWO_IEBERR 0x002b
43 #define PCCTWO_SCSIERR 0x002c
44 #define PCCTWO_SCSIICR 0x002f
45 #define PCCTWO_PRTICR 0x0030
46 #define PCCTWO_PTRFICR 0x0031
47 #define PCCTWO_PTRSICR 0x0032
48 #define PCCTWO_PTRPICR 0x0033
49 #define PCCTWO_PRTBICR 0x0034
50 #define PCCTWO_PRTSTATUS 0x0036
51 #define PCCTWO_PRTCTL 0x0037
52 #define PCCTWO_SPEED 0x0038
53 #define PCCTWO_PRTDATA 0x003a
54 /* The following registers are not valid on MVME197 */
55 #define PCCTWO_IPL 0x003e
56 #define PCCTWO_MASK 0x003f
57
58 #define PCC2_ID 0x20 /* value at CHIPID */
59
60 /* General Control Register */
61 #define PCC2_DR0 0x80
62 #define PCC2_C040 0x04
63 #define PCC2_MIEN 0x02
64 #define PCC2_FAST 0x01
65
66 /* Top 4 bits of the PCC2 VBR. Will be the top 4 bits of the vector */
67 #define PCC2_VECT 0x50
68
69 /* Bottom 4 bits of the vector returned during IACK cycle */
70 #define PCC2V_PPBUSY 0x00 /* lowest */
71 #define PCC2V_PPPE 0x01
72 #define PCC2V_PPSELECT 0x02
73 #define PCC2V_PPFAULT 0x03
74 #define PCC2V_PPACK 0x04
75 #define PCC2V_SCSI 0x05
76 #define PCC2V_IEFAIL 0x06
77 #define PCC2V_IE 0x07
78 #define PCC2V_TIMER2 0x08
79 #define PCC2V_TIMER1 0x09
80 #define PCC2V_GPIO 0x0a
81 #define PCC2V_SCC_RXE 0x0c
82 #define PCC2V_SCC_M (PCC2V_SCC_RXE + 1)
83 #define PCC2V_SCC_TX (PCC2V_SCC_M + 1)
84 #define PCC2V_SCC_RX (PCC2V_SCC_TX + 1)
85
86 #if 0
87 /*
88 * Vaddrs for interrupt mask and pri registers
89 */
90 extern u_int8_t *volatile pcc2intr_mask;
91 extern u_int8_t *volatile pcc2intr_ipl;
92 #endif
93
94 /*
95 * We lock off our interrupt vector at 0x50.
96 */
97 #define PCC2_VECBASE 0x50
98 #define PCC2_NVEC 0x10
99
100 #define PCC2_TCTL_CEN 0x01
101 #define PCC2_TCTL_COC 0x02
102 #define PCC2_TCTL_COVF 0x04
103 #define PCC2_TCTL_OVF 0xf0
104
105 #define PCC2_GPIO_PLTY 0x80
106 #define PCC2_GPIO_EL 0x40
107
108 #define PCC2_GPIOCR_OE 0x2
109 #define PCC2_GPIOCR_O 0x1
110
111 #define PCC2_SCC_AVEC 0x08
112
113 #define PCC2_SC_INHIBIT (0 << 6)
114 #define PCC2_SC_SNOOP (1 << 6)
115 #define PCC2_SC_INVAL (2 << 6)
116 #define PCC2_SC_RESV (3 << 6)
117
118 #define pcc2_timer_us2lim(us) (us) /* timer increments in "us" */
119
120 #define PCC2_IRQ_IPL 0x07
121 #define PCC2_IRQ_ICLR 0x08
122 #define PCC2_IRQ_IEN 0x10
123 #define PCC2_IRQ_INT 0x20
124
125 /* Tick Timer Interrupt Control Register */
126 #define PCC2_TTIRQ_INT 0x20
127 #define PCC2_TTIRQ_IEN 0x10
128 #define PCC2_TTIRQ_ICLR 0x08
129 #define PCC2_TTIRQ_IL 0x07 /* mask for IL2-IL0 */
130
131 #define PCC2_IEERR_SCLR 0x01
132
133 #define PCC2_GENCTL_FAST 0x01
134 #define PCC2_GENCTL_IEN 0x02
135 #define PCC2_GENCTL_C040 0x03
136
137 #endif /* MVME_PCCTWOREG_H */

  ViewVC Help
Powered by ViewVC 1.1.26