MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / include / asm-mips / baget / vac.h
blob5ca62dc540d1de3b53b9e093b790c6ccd81356a2
1 /*
2 * vac.h: Various VIC controller defines. The VIC is a VME controller
3 * used in Baget/MIPS series.
5 * Copyright (C) 1998 Gleb Raiko & Vladimir Roganov
6 */
7 #ifndef _ASM_VAC_H
8 #define _ASM_VAC_H
10 #define VAC_SLSEL1_MASK 0x000
11 #define VAC_SLSEL1_BASE 0x100
12 #define VAC_SLSEL0_MASK 0x200
13 #define VAC_SLSEL0_BASE 0x300
14 #define VAC_ICFSEL_BASE 0x400
15 #define VAC_ICFSEL_GLOBAL_VAL(x) (((x)>>8)&0xff)
16 #define VAC_ICFSEL_MODULE_VAL(x) ((x)&0xff)
17 #define VAC_DRAM_MASK 0x500
18 #define VAC_BNDR2 0x600
19 #define VAC_BNDR3 0x700
20 #define VAC_A24_BASE 0x800
21 #define VAC_A24_MASK (0x3f<<9)
22 #define VAC_A24_D32_ENABLE (1<<8)
23 #define VAC_A24_A24_CACHINH (1<<7)
24 #define VAC_A24_A16D32_ENABLE (1<<6)
25 #define VAC_A24_A16D32 (1<<5)
26 #define VAC_A24_DATAPATH (1<<4)
27 #define VAC_A24_IO_CACHINH (1<<3)
28 #define VAC_REG1 0x900
29 #define VAC_REG2 0xA00
30 #define VAC_REG3 0xB00
31 #define VAC_REG_WORD (1<<15)
32 #define VAC_REG_ASIZ1 (1<<14)
33 #define VAC_REG_ASIZ0 (1<<13)
34 #define VAC_REG_ASIZ_VAL(x) (((x)>>13)&3)
35 #define VAC_REG_CACHINH (1<<12)
36 #define VAC_REG_INACTIVE (0<<10)
37 #define VAC_REG_SHARED (1<<10)
38 #define VAC_REG_VSB (2<<10)
39 #define VAC_REG_MWB (3<<10)
40 #define VAC_REG_MASK (3<<10)
41 #define VAC_REG_MODE(x) (((x)>>10)&3)
42 #define VAC_IOSEL4_CTRL 0xC00
43 #define VAC_IOSEL5_CTRL 0xD00
44 #define VAC_SHRCS_CTRL 0xE00
45 #define VAC_EPROMCS_CTRL 0xF00
46 #define VAC_IOSEL0_CTRL 0x1000
47 #define VAC_IOSEL1_CTRL 0x1100
48 #define VAC_IOSEL2_CTRL 0x1200
49 #define VAC_IOSEL3_CTRL 0x1300
50 #define VAC_CTRL_IOWR (1<<0)
51 #define VAC_CTRL_IORD (1<<1)
52 #define VAC_CTRL_DELAY_IOSELI(x) (((x)&3)<<2)
53 #define VAC_CTRL_DELAY_IOSELI_VAL(x) (((x)>>2)&3)
54 #define VAC_CTRL_DELAY_IOWR(x) (((x)&3)<<4)
55 #define VAC_CTRL_DELAY_IOWR_VAL(x) (((x)>>4)&3)
56 #define VAC_CTRL_DELAY_IORD(x) (((x)&3)<<6)
57 #define VAC_CTRL_DELAY_IORD_VAL(x) (((x)>>6)&3)
58 #define VAC_CTRL_RECOVERY_IOSELI(x) ((((x)-1)&7)<<8)
59 #define VAC_CTRL_RECOVERY_IOSELI_VAL(x) ((((x)>>8)&7)+1)
60 #define VAC_CTRL_DSACK0 (1<<11)
61 #define VAC_CTRL_DSACK1 (1<<12)
62 #define VAC_CTRL_DELAY_DSACKI(x) ((((x)-1)&7)<<13)
63 #define VAC_CTRL_DELAY_DSACKI_VAL(x) ((((x)>>13)&7)+1)
64 #define VAC_DECODE_CTRL 0x1400
65 #define VAC_DECODE_FPUCS (1<<0)
66 #define VAC_DECODE_CPUCLK(x) (((x)&3)<<1)
67 #define VAC_DECODE_CPUCLK_VAL(x) (((x)>>1)&3)
68 #define VAC_DECODE_RDR_SLSEL0 (1<<3)
69 #define VAC_DECODE_RDR_SLSEL1 (1<<4)
70 #define VAC_DECODE_DSACK (1<<5)
71 #define VAC_DECODE_QFY_BNDR (1<<6)
72 #define VAC_DECODE_QFY_ICFSEL (1<<7)
73 #define VAC_DECODE_QFY_SLSEL1 (1<<8)
74 #define VAC_DECODE_QFY_SLSEL0 (1<<9)
75 #define VAC_DECODE_CMP_SLSEL1_LO (1<<10)
76 #define VAC_DECODE_CMP_SLSEL1_HI (1<<11)
77 #define VAC_DECODE_CMP_SLSEL1_VAL(x) (((x)>>10)&3)
78 #define VAC_DECODE_DRAMCS (3<<12)
79 #define VAC_DECODE_SHRCS (2<<12)
80 #define VAC_DECODE_VSBSEL (1<<12)
81 #define VAC_DECODE_EPROMCS (0<<12)
82 #define VAC_DECODE_MODE_VAL(x) (((x)>>12)&3)
83 #define VAC_DECODE_QFY_DRAMCS (1<<14)
84 #define VAC_DECODE_DSACKI (1<<15)
85 #define VAC_INT_STATUS 0x1500
86 #define VAC_INT_CTRL 0x1600
87 #define VAC_INT_CTRL_TIMER_PIO11 (3<<0)
88 #define VAC_INT_CTRL_TIMER_PIO10 (2<<0)
89 #define VAC_INT_CTRL_TIMER_PIO7 (1<<0)
90 #define VAC_INT_CTRL_TIMER_DISABLE (0<<0)
91 #define VAC_INT_CTRL_TIMER_MASK (3<<0)
92 #define VAC_INT_CTRL_UART_B_PIO11 (3<<2)
93 #define VAC_INT_CTRL_UART_B_PIO10 (2<<2)
94 #define VAC_INT_CTRL_UART_B_PIO7 (1<<2)
95 #define VAC_INT_CTRL_UART_B_DISABLE (0<<2)
96 #define VAC_INT_CTRL_UART_A_PIO11 (3<<4)
97 #define VAC_INT_CTRL_UART_A_PIO10 (2<<4)
98 #define VAC_INT_CTRL_UART_A_PIO7 (1<<4)
99 #define VAC_INT_CTRL_UART_A_DISABLE (0<<4)
100 #define VAC_INT_CTRL_MBOX_PIO11 (3<<6)
101 #define VAC_INT_CTRL_MBOX_PIO10 (2<<6)
102 #define VAC_INT_CTRL_MBOX_PIO7 (1<<6)
103 #define VAC_INT_CTRL_MBOX_DISABLE (0<<6)
104 #define VAC_INT_CTRL_PIO4_PIO11 (3<<8)
105 #define VAC_INT_CTRL_PIO4_PIO10 (2<<8)
106 #define VAC_INT_CTRL_PIO4_PIO7 (1<<8)
107 #define VAC_INT_CTRL_PIO4_DISABLE (0<<8)
108 #define VAC_INT_CTRL_PIO7_PIO11 (3<<10)
109 #define VAC_INT_CTRL_PIO7_PIO10 (2<<10)
110 #define VAC_INT_CTRL_PIO7_PIO7 (1<<10)
111 #define VAC_INT_CTRL_PIO7_DISABLE (0<<10)
112 #define VAC_INT_CTRL_PIO8_PIO11 (3<<12)
113 #define VAC_INT_CTRL_PIO8_PIO10 (2<<12)
114 #define VAC_INT_CTRL_PIO8_PIO7 (1<<12)
115 #define VAC_INT_CTRL_PIO8_DISABLE (0<<12)
116 #define VAC_INT_CTRL_PIO9_PIO11 (3<<14)
117 #define VAC_INT_CTRL_PIO9_PIO10 (2<<14)
118 #define VAC_INT_CTRL_PIO9_PIO7 (1<<14)
119 #define VAC_INT_CTRL_PIO9_DISABLE (0<<14)
120 #define VAC_DEV_LOC 0x1700
121 #define VAC_DEV_LOC_IOSEL(x) (1<<(x))
122 #define VAC_PIO_DATA_OUT 0x1800
123 #define VAC_PIO_PIN 0x1900
124 #define VAC_PIO_DIRECTION 0x1A00
125 #define VAC_PIO_DIR_OUT(x) (1<<(x))
126 #define VAC_PIO_DIR_IN(x) (0<<(x))
127 #define VAC_PIO_DIR_FCIACK (1<<14)
128 #define VAC_PIO_FUNC 0x1B00
129 #define VAC_PIO_FUNC_UART_A_TX (1<<0)
130 #define VAC_PIO_FUNC_UART_A_RX (1<<1)
131 #define VAC_PIO_FUNC_UART_B_TX (1<<2)
132 #define VAC_PIO_FUNC_UART_B_RX (1<<3)
133 #define VAC_PIO_FUNC_IORD (1<<4)
134 #define VAC_PIO_FUNC_IOWR (1<<5)
135 #define VAC_PIO_FUNC_IOSEL3 (1<<6)
136 #define VAC_PIO_FUNC_IRQ7 (1<<7)
137 #define VAC_PIO_FUNC_IOSEL4 (1<<8)
138 #define VAC_PIO_FUNC_IOSEL5 (1<<9)
139 #define VAC_PIO_FUNC_IRQ10 (1<<10)
140 #define VAC_PIO_FUNC_IRQ11 (1<<11)
141 #define VAC_PIO_FUNC_OUT (1<<12)
142 #define VAC_PIO_FUNC_IOSEL2 (1<<13)
143 #define VAC_PIO_FUNC_DELAY (1<<14)
144 #define VAC_PIO_FUNC_FCIACK (1<<15)
145 #define VAC_CPU_CLK_DIV 0x1C00
146 #define VAC_UART_A_MODE 0x1D00
147 #define VAC_UART_MODE_PARITY_ENABLE (1<<15) /* Inversed in manual ? */
148 #define VAC_UART_MODE_PARITY_ODD (1<<14) /* Inversed in manual ? */
149 #define VAC_UART_MODE_8BIT_CHAR (1<<13)
150 #define VAC_UART_MODE_BAUD(x) (((x)&7)<<10)
151 #define VAC_UART_MODE_CHAR_RX_ENABLE (1<<9)
152 #define VAC_UART_MODE_CHAR_TX_ENABLE (1<<8)
153 #define VAC_UART_MODE_TX_ENABLE (1<<7)
154 #define VAC_UART_MODE_RX_ENABLE (1<<6)
155 #define VAC_UART_MODE_SEND_BREAK (1<<5)
156 #define VAC_UART_MODE_LOOPBACK (1<<4)
157 #define VAC_UART_MODE_INITIAL (VAC_UART_MODE_8BIT_CHAR | \
158 VAC_UART_MODE_TX_ENABLE | \
159 VAC_UART_MODE_RX_ENABLE | \
160 VAC_UART_MODE_CHAR_TX_ENABLE | \
161 VAC_UART_MODE_CHAR_RX_ENABLE | \
162 VAC_UART_MODE_BAUD(5)) /* 9600/4 */
163 #define VAC_UART_A_TX 0x1E00
164 #define VAC_UART_B_MODE 0x1F00
165 #define VAC_UART_A_RX 0x2000
166 #define VAC_UART_RX_ERR_BREAK (1<<10)
167 #define VAC_UART_RX_ERR_FRAME (1<<9)
168 #define VAC_UART_RX_ERR_PARITY (1<<8)
169 #define VAC_UART_RX_DATA_MASK (0xff)
170 #define VAC_UART_B_RX 0x2100
171 #define VAC_UART_B_TX 0x2200
172 #define VAC_UART_A_INT_MASK 0x2300
173 #define VAC_UART_INT_RX_READY (1<<15)
174 #define VAC_UART_INT_RX_FULL (1<<14)
175 #define VAC_UART_INT_RX_BREAK_CHANGE (1<<13)
176 #define VAC_UART_INT_RX_ERRS (1<<12)
177 #define VAC_UART_INT_TX_READY (1<<11)
178 #define VAC_UART_INT_TX_EMPTY (1<<10)
179 #define VAC_UART_B_INT_MASK 0x2400
180 #define VAC_UART_A_INT_STATUS 0x2500
181 #define VAC_UART_STATUS_RX_READY (1<<15)
182 #define VAC_UART_STATUS_RX_FULL (1<<14)
183 #define VAC_UART_STATUS_RX_BREAK_CHANGE (1<<13)
184 #define VAC_UART_STATUS_RX_ERR_PARITY (1<<12)
185 #define VAC_UART_STATUS_RX_ERR_FRAME (1<<11)
186 #define VAC_UART_STATUS_RX_ERR_OVERRUN (1<<10)
187 #define VAC_UART_STATUS_TX_READY (1<<9)
188 #define VAC_UART_STATUS_TX_EMPTY (1<<8)
189 #define VAC_UART_STATUS_INTS (0xff<<8)
190 #define VAC_UART_B_INT_STATUS 0x2600
191 #define VAC_TIMER_DATA 0x2700
192 #define VAC_TIMER_CTRL 0x2800
193 #define VAC_TIMER_ONCE (1<<15)
194 #define VAC_TIMER_ENABLE (1<<14)
195 #define VAC_TIMER_PRESCALE(x) (((x)&0x3F)<<8)
196 #define VAC_ID 0x2900
199 #ifndef __ASSEMBLY__
201 #define vac_inb(p) (*(volatile unsigned char *)(VAC_BASE + (p)))
202 #define vac_outb(v,p) (*((volatile unsigned char *)(VAC_BASE + (p))) = v)
203 #define vac_inw(p) (*(volatile unsigned short*)(VAC_BASE + (p)))
204 #define vac_outw(v,p) (*((volatile unsigned short*)(VAC_BASE + (p))) = v)
206 #endif /* !__ASSEMBLY__ */
208 #endif /* _ASM_VAC_H */