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