00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
#ifndef _JAZZDEF_
00023 
#define _JAZZDEF_
00024 
00025 
00026 
00027 
00028 
00029 #define VIDEO_MEMORY_PHYSICAL_BASE 0x40000000 // physical base of video memory
00030 #define VIDEO_CONTROL_PHYSICAL_BASE 0x60000000 // physical base of video control
00031 #define CURSOR_CONTROL_PHYSICAL_BASE 0x60008000 // physical base of cursor control
00032 #define VIDEO_ID_PHYSICAL_BASE 0x60010000 // physical base of video id register
00033 #define VIDEO_RESET_PHYSICAL_BASE 0x60020000 // physical base of reset register
00034 #define DEVICE_PHYSICAL_BASE 0x80000000 // physical base of device space
00035 #define NET_PHYSICAL_BASE 0x80001000    // physical base of ethernet control
00036 #define SCSI_PHYSICAL_BASE 0x80002000   // physical base os SCSI control
00037 #define FLOPPY_PHYSICAL_BASE 0x80003000 // physical base of floppy control
00038 #define RTCLOCK_PHYSICAL_BASE 0x80004000 // physical base of realtime clock
00039 #define KEYBOARD_PHYSICAL_BASE 0x80005000  // physical base of keyboard control
00040 #define MOUSE_PHYSICAL_BASE 0x80005000  // physical base of mouse control
00041 #define SERIAL0_PHYSICAL_BASE 0x80006000 // physical base of serial port 0
00042 #define SERIAL1_PHYSICAL_BASE 0x80007000 // physical base of serial port 1
00043 #define PARALLEL_PHYSICAL_BASE 0x80008000 // physical base of parallel port
00044 #define SOUND_PHYSICAL_BASE 0x8000C000  // physical base of sound control
00045 #define EISA_CONTROL_PHYSICAL_BASE 0x90000000 // physical base of EISA control
00046 #define EISA_MEMORY_PHYSICAL_BASE 0x91000000 // physical base of EISA memory
00047 #define EISA_MEMORY_VERSION2_LOW 0x00000000  // physical base of EISA memory
00048 #define EISA_MEMORY_VERSION2_HIGH 0x00000001  // with version 2 address chip
00049 #define PROM_PHYSICAL_BASE 0xfff00000   // physical base of boot PROM
00050 
00051 
00052 
00053 
00054 
00055 #define NVRAM_VIRTUAL_BASE 0xffff8000   // virtual base of nonvolatile RAM
00056 #define NVRAM_PHYSICAL_BASE 0x80009000  // physical base of nonvolatile RAM
00057 
00058 #define SP_VIRTUAL_BASE 0xffffa000      // virtual base of serial port 0
00059 #define SP_PHYSICAL_BASE SERIAL0_PHYSICAL_BASE // physical base of serial port 0
00060 
00061 #define DMA_VIRTUAL_BASE 0xffffc000     // virtual base of DMA control
00062 #define DMA_PHYSICAL_BASE DEVICE_PHYSICAL_BASE // physical base of DMA control
00063 
00064 #define INTERRUPT_VIRTUAL_BASE 0xffffd000 // virtual base of interrupt source
00065 #define INTERRUPT_PHYSICAL_BASE 0xf0000000 // physical base of interrupt source
00066 
00067 
00068 
00069 
00070 
00071 #define DMA_TRANSLATION_LIMIT 0x2000    // translation table limit
00072 
00073 
00074 
00075 
00076 
00077 #define DMA_REQUEST_LIMIT (DMA_TRANSLATION_LIMIT/(sizeof(TRANSLATION_ENTRY) * 8))
00078 
00079 
00080 
00081 
00082 
00083 #define DMA_CONTROL ((volatile PDMA_REGISTERS)(DMA_VIRTUAL_BASE))
00084 
00085 
00086 
00087 
00088 
00089 #define SCSI_CHANNEL 0x0                // SCSI DMA channel number
00090 #define FLOPPY_CHANNEL 0x1              // Floppy DMA channel
00091 #define SOUND_CHANNEL_A 0x2             // Sound DMA channel A
00092 #define SOUND_CHANNEL_B 0x3             // Sound DMA channel B
00093 
00094 
00095 
00096 
00097 
00098 #define DMA_LEVEL       3
00099 
00100 
00101 
00102 
00103 
00104 #define EISA_NMI_LEVEL  6
00105 
00106 
00107 
00108 
00109 
00110 #define MAXIMUM_INCREMENT (10 * 1000 * 10)
00111 #define MINIMUM_INCREMENT (1 * 1000 * 10)
00112 
00113 
00114 
00115 
00116 
00117 #define CLOCK_LEVEL 7                   // Interval clock level
00118 #define CLOCK_INTERVAL ((MAXIMUM_INCREMENT / (10 * 1000)) - 1) // Ms minus 1
00119 
00120 
#if defined(R3000)
00121 
00122 
#define EISA_DEVICE_LEVEL  8            // EISA bus interrupt level
00123 
00124 
#endif
00125 
00126 
#if defined(R4000)
00127 
00128 
#define EISA_DEVICE_LEVEL  5            // EISA bus interrupt level
00129 
00130 
#endif
00131 
00132 #define CLOCK2_LEVEL CLOCK_LEVEL        //
00133 
00134 
00135 
00136 
00137 
00138 #define EISA_VECTORS 32
00139 
00140 #define IRQL10_VECTOR (10 + EISA_VECTORS) // Eisa interrupt request level 10
00141 #define IRQL11_VECTOR (11 + EISA_VECTORS) // Eisa interrupt request level 11
00142 #define IRQL12_VECTOR (12 + EISA_VECTORS) // Eisa interrupt request level 12
00143 #define IRQL13_VECTOR (13 + EISA_VECTORS) // Eisa interrupt request level 13
00144 
00145 #define MAXIMUM_EISA_VECTOR (15 + EISA_VECTORS) // maximum EISA vector
00146 
00147 
00148 
00149 
00150 
00151 #define DEVICE_LEVEL 4                  // I/O device interrupt level
00152 
00153 
00154 
00155 
00156 
00157 #define DEVICE_VECTORS 16               // starting builtin device vector
00158 
00159 #define PARALLEL_VECTOR (1 + DEVICE_VECTORS) // Parallel device interrupt vector
00160 #define FLOPPY_VECTOR (2 + DEVICE_VECTORS) // Floppy device interrupt vector
00161 #define SOUND_VECTOR (3 + DEVICE_VECTORS) // Sound device interrupt vector
00162 #define VIDEO_VECTOR (4 + DEVICE_VECTORS) // video device interrupt vector
00163 #define NET_VECTOR (5 + DEVICE_VECTORS)  // ethernet device interrupt vector
00164 #define SCSI_VECTOR (6 + DEVICE_VECTORS) // SCSI device interrupt vector
00165 #define KEYBOARD_VECTOR (7 + DEVICE_VECTORS) // Keyboard device interrupt vector
00166 #define MOUSE_VECTOR (8 + DEVICE_VECTORS) // Mouse device interrupt vector
00167 #define SERIAL0_VECTOR (9 + DEVICE_VECTORS) // Serial device 0 interrupt vector
00168 #define SERIAL1_VECTOR (10 + DEVICE_VECTORS) // Serial device 1 interrupt vector
00169 
00170 #define MAXIMUM_BUILTIN_VECTOR SERIAL1_VECTOR // maximum builtin vector
00171 
00172 
00173 
00174 
00175 
00176 #define NCR_SCSI_CLOCK_SPEED        24
00177 #define EMULEX_SCSI_CLOCK_SPEED     40
00178 
00179 
00180 
00181 
00182 
00183 
00184 
00185 #define PROM_BASE (KSEG1_BASE | 0x1fc00000)
00186 #define PROM_ENTRY(x) (PROM_BASE + ((x) * 8))
00187 
00188 
00189 
#endif // _JAZZDEF_