File indexing completed on 2025-05-11 08:23:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef __SYSTEM_CONFIG_H_
0022 #define __SYSTEM_CONFIG_H_
0023
0024 #define UART_BAUD_RATE (115200)
0025
0026
0027 #define MM_FREQUENCY (0xe0001074)
0028
0029
0030 #define FMLBRG_FLUSH_BASE (0xc8000000)
0031 #define FMLBRG_LINE_LENGTH (32)
0032 #define FMLBRG_LINE_COUNT (512)
0033
0034
0035 #define MM_UART_RXTX (0xe0000000)
0036 #define MM_UART_DIV (0xe0000004)
0037 #define MM_UART_STAT (0xe0000008)
0038 #define MM_UART_CTRL (0xe000000c)
0039
0040 #define UART_STAT_THRE (0x1)
0041 #define UART_STAT_RX_EVT (0x2)
0042 #define UART_STAT_TX_EVT (0x4)
0043
0044 #define UART_CTRL_RX_INT (0x1)
0045 #define UART_CTRL_TX_INT (0x2)
0046 #define UART_CTRL_THRU (0x4)
0047
0048
0049 #define MM_TIMER1_COMPARE (0xe0001024)
0050 #define MM_TIMER1_COUNTER (0xe0001028)
0051 #define MM_TIMER1_CONTROL (0xe0001020)
0052
0053 #define MM_TIMER0_COMPARE (0xe0001014)
0054 #define MM_TIMER0_COUNTER (0xe0001018)
0055 #define MM_TIMER0_CONTROL (0xe0001010)
0056
0057 #define TIMER_ENABLE (0x01)
0058 #define TIMER_AUTORESTART (0x02)
0059
0060
0061 #define MM_GPIO_IN (0xe0001000)
0062 #define MM_GPIO_OUT (0xe0001004)
0063 #define MM_GPIO_INTEN (0xe0001008)
0064
0065 #define GPIO_BTN1 (0x00000001)
0066 #define GPIO_BTN2 (0x00000002)
0067 #define GPIO_BTN3 (0x00000004)
0068 #define GPIO_PCBREV0 (0x00000008)
0069 #define GPIO_PCBREV1 (0x00000010)
0070 #define GPIO_PCBREV2 (0x00000020)
0071 #define GPIO_PCBREV3 (0x00000040)
0072 #define GPIO_LED1 (0x00000001)
0073 #define GPIO_LED2 (0x00000002)
0074
0075
0076 #define MM_SYSTEM_ID (0xe000107c)
0077
0078
0079 #define MM_ICAP (0xe0001040)
0080
0081 #define ICAP_READY (0x01)
0082 #define ICAP_CE (0x10000)
0083 #define ICAP_WRITE (0x20000)
0084
0085
0086 #define MM_VGA_RESET (0xe0003000)
0087
0088 #define MM_VGA_HRES (0xe0003004)
0089 #define MM_VGA_HSYNC_START (0xe0003008)
0090 #define MM_VGA_HSYNC_END (0xe000300C)
0091 #define MM_VGA_HSCAN (0xe0003010)
0092
0093 #define MM_VGA_VRES (0xe0003014)
0094 #define MM_VGA_VSYNC_START (0xe0003018)
0095 #define MM_VGA_VSYNC_END (0xe000301C)
0096 #define MM_VGA_VSCAN (0xe0003020)
0097
0098 #define MM_VGA_BASEADDRESS (0xe0003024)
0099 #define MM_VGA_BASEADDRESS_ACT (0xe0003028)
0100
0101 #define MM_VGA_BURST_COUNT (0xe000302C)
0102
0103 #define MM_VGA_DDC (0xe0003030)
0104
0105 #define MM_VGA_CLKSEL (0xe0003034)
0106
0107 #define VGA_RESET (0x01)
0108 #define VGA_DDC_SDAIN (0x1)
0109 #define VGA_DDC_SDAOUT (0x2)
0110 #define VGA_DDC_SDAOE (0x4)
0111 #define VGA_DDC_SDC (0x8)
0112
0113
0114 #define MM_MINIMAC_SETUP (0xe0008000)
0115 #define MM_MINIMAC_MDIO (0xe0008004)
0116
0117 #define MM_MINIMAC_STATE0 (0xe0008008)
0118 #define MM_MINIMAC_COUNT0 (0xe000800C)
0119 #define MM_MINIMAC_STATE1 (0xe0008010)
0120 #define MM_MINIMAC_COUNT1 (0xe0008014)
0121
0122 #define MM_MINIMAC_TXCOUNT (0xe0008018)
0123
0124 #define MINIMAC_RX0_BASE (0xb0000000)
0125 #define MINIMAC_RX1_BASE (0xb0000800)
0126 #define MINIMAC_TX_BASE (0xb0001000)
0127
0128 #define MINIMAC_SETUP_PHYRST (0x1)
0129
0130 #define MINIMAC_STATE_EMPTY (0x0)
0131 #define MINIMAC_STATE_LOADED (0x1)
0132 #define MINIMAC_STATE_PENDING (0x2)
0133
0134
0135 #define MM_AC97_CRCTL (0xe0005000)
0136
0137 #define AC97_CRCTL_RQEN (0x01)
0138 #define AC97_CRCTL_WRITE (0x02)
0139
0140 #define MM_AC97_CRADDR (0xe0005004)
0141 #define MM_AC97_CRDATAOUT (0xe0005008)
0142 #define MM_AC97_CRDATAIN (0xe000500C)
0143
0144 #define MM_AC97_DCTL (0xe0005010)
0145 #define MM_AC97_DADDRESS (0xe0005014)
0146 #define MM_AC97_DREMAINING (0xe0005018)
0147
0148 #define MM_AC97_UCTL (0xe0005020)
0149 #define MM_AC97_UADDRESS (0xe0005024)
0150 #define MM_AC97_UREMAINING (0xe0005028)
0151
0152 #define AC97_SCTL_EN (0x01)
0153
0154 #define AC97_MAX_DMASIZE (0x3fffc)
0155
0156
0157 #define MM_SOFTUSB_CONTROL (0xe000f000)
0158
0159 #define SOFTUSB_CONTROL_RESET (0x1)
0160
0161 #define MM_SOFTUSB_PMEM_BASE (0xa0000000)
0162 #define MM_SOFTUSB_DMEM_BASE (0xa0020000)
0163
0164 #define SOFTUSB_PMEM_SIZE (1 << 13)
0165 #define SOFTUSB_DMEM_SIZE (1 << 13)
0166
0167
0168 #define MM_PFPU_CTL (0xe0006000)
0169 #define PFPU_CTL_START (0x01)
0170 #define PFPU_CTL_BUSY (0x01)
0171
0172 #define MM_PFPU_MESHBASE (0xe0006004)
0173 #define MM_PFPU_HMESHLAST (0xe0006008)
0174 #define MM_PFPU_VMESHLAST (0xe000600C)
0175
0176 #define MM_PFPU_CODEPAGE (0xe0006010)
0177
0178 #define MM_PFPU_DREGBASE (0xe0006400)
0179 #define MM_PFPU_CODEBASE (0xe0006800)
0180
0181 #define PFPU_PAGESIZE (512)
0182 #define PFPU_SPREG_COUNT (2)
0183 #define PFPU_REG_X (0)
0184 #define PFPU_REG_Y (1)
0185
0186
0187 #define MM_TMU_CTL (0xe0007000)
0188 #define TMU_CTL_START (0x01)
0189 #define TMU_CTL_BUSY (0x01)
0190 #define TMU_CTL_CHROMAKEY (0x02)
0191
0192 #define MM_TMU_HMESHLAST (0xe0007004)
0193 #define MM_TMU_VMESHLAST (0xe0007008)
0194 #define MM_TMU_BRIGHTNESS (0xe000700C)
0195 #define MM_TMU_CHROMAKEY (0xe0007010)
0196
0197 #define MM_TMU_VERTICESADR (0xe0007014)
0198 #define MM_TMU_TEXFBUF (0xe0007018)
0199 #define MM_TMU_TEXHRES (0xe000701C)
0200 #define MM_TMU_TEXVRES (0xe0007020)
0201 #define MM_TMU_TEXHMASK (0xe0007024)
0202 #define MM_TMU_TEXVMASK (0xe0007028)
0203
0204 #define MM_TMU_DSTFBUF (0xe000702C)
0205 #define MM_TMU_DSTHRES (0xe0007030)
0206 #define MM_TMU_DSTVRES (0xe0007034)
0207 #define MM_TMU_DSTHOFFSET (0xe0007038)
0208 #define MM_TMU_DSTVOFFSET (0xe000703C)
0209 #define MM_TMU_DSTSQUAREW (0xe0007040)
0210 #define MM_TMU_DSTSQUAREH (0xe0007044)
0211
0212 #define MM_TMU_ALPHA (0xe0007048)
0213
0214
0215 #define MM_MEMCARD_CLK2XDIV (0xe0004000)
0216
0217 #define MM_MEMCARD_ENABLE (0xe0004004)
0218
0219 #define MEMCARD_ENABLE_CMD_TX (0x1)
0220 #define MEMCARD_ENABLE_CMD_RX (0x2)
0221 #define MEMCARD_ENABLE_DAT_TX (0x4)
0222 #define MEMCARD_ENABLE_DAT_RX (0x8)
0223
0224 #define MM_MEMCARD_PENDING (0xe0004008)
0225
0226 #define MEMCARD_PENDING_CMD_TX (0x1)
0227 #define MEMCARD_PENDING_CMD_RX (0x2)
0228 #define MEMCARD_PENDING_DAT_TX (0x4)
0229 #define MEMCARD_PENDING_DAT_RX (0x8)
0230
0231 #define MM_MEMCARD_START (0xe000400c)
0232
0233 #define MEMCARD_START_CMD_RX (0x1)
0234 #define MEMCARD_START_DAT_RX (0x2)
0235
0236 #define MM_MEMCARD_CMD (0xe0004010)
0237 #define MM_MEMCARD_DAT (0xe0004014)
0238
0239
0240 #define MM_DMX_TX(x) (0xe000c000+4*(x))
0241 #define MM_DMX_THRU (0xe000c800)
0242 #define MM_DMX_RX(x) (0xe000d000+4*(x))
0243
0244
0245 #define MM_MIDI_RXTX (0xe000b000)
0246 #define MM_MIDI_DIV (0xe000b004)
0247 #define MM_MIDI_STAT (0xe000b008)
0248 #define MM_MIDI_CTRL (0xe000b00c)
0249
0250 #define MIDI_STAT_THRE (0x1)
0251 #define MIDI_STAT_RX_EVT (0x2)
0252 #define MIDI_STAT_TX_EVT (0x4)
0253
0254 #define MIDI_CTRL_RX_INT (0x1)
0255 #define MIDI_CTRL_TX_INT (0x2)
0256 #define MIDI_CTRL_THRU (0x4)
0257
0258
0259 #define MM_IR_RX (0xe000e000)
0260
0261
0262 #define MM_BT656_I2C (0xe000a000)
0263 #define MM_BT656_FILTERSTATUS (0xe000a004)
0264 #define MM_BT656_BASE (0xe000a008)
0265 #define MM_BT656_MAXBURSTS (0xe000a00c)
0266 #define MM_BT656_DONEBURSTS (0xe000a010)
0267
0268 #define BT656_I2C_SDAIN (0x1)
0269 #define BT656_I2C_SDAOUT (0x2)
0270 #define BT656_I2C_SDAOE (0x4)
0271 #define BT656_I2C_SDC (0x8)
0272
0273 #define BT656_FILTER_FIELD1 (0x1)
0274 #define BT656_FILTER_FIELD2 (0x2)
0275 #define BT656_FILTER_INFRAME (0x4)
0276
0277
0278 #define MM_IRQ_UART (0)
0279 #define MM_IRQ_GPIO (1)
0280 #define MM_IRQ_TIMER0 (2)
0281 #define MM_IRQ_TIMER1 (3)
0282 #define MM_IRQ_AC97CRREQUEST (4)
0283 #define MM_IRQ_AC97CRREPLY (5)
0284 #define MM_IRQ_AC97DMAR (6)
0285 #define MM_IRQ_AC97DMAW (7)
0286 #define MM_IRQ_PFPU (8)
0287 #define MM_IRQ_TMU (9)
0288 #define MM_IRQ_ETHRX (10)
0289 #define MM_IRQ_ETHTX (11)
0290 #define MM_IRQ_VIDEOIN (12)
0291 #define MM_IRQ_MIDI (13)
0292 #define MM_IRQ_IR (14)
0293 #define MM_IRQ_USB (15)
0294
0295
0296 #define FLASH_BASE (0x80000000)
0297
0298 #define FLASH_OFFSET_STANDBY_BITSTREAM (0x80000000)
0299
0300 #define FLASH_OFFSET_RESCUE_BITSTREAM (0x800A0000)
0301 #define FLASH_OFFSET_RESCUE_BIOS (0x80220000)
0302 #define FLASH_OFFSET_MAC_ADDRESS (0x802200E0)
0303 #define FLASH_OFFSET_RESCUE_SPLASH (0x80240000)
0304 #define FLASH_OFFSET_RESCUE_APP (0x802E0000)
0305
0306 #define FLASH_OFFSET_REGULAR_BITSTREAM (0x806E0000)
0307 #define FLASH_OFFSET_REGULAR_BIOS (0x80860000)
0308 #define FLASH_OFFSET_REGULAR_SPLASH (0x80880000)
0309 #define FLASH_OFFSET_REGULAR_APP (0x80920000)
0310
0311
0312 #define MM_READ(reg) (*((volatile unsigned int *)(reg)))
0313 #define MM_WRITE(reg, val) *((volatile unsigned int *)(reg)) = val
0314
0315
0316
0317 #define FLASH_SECTOR_SIZE (128*1024)
0318
0319 #define FLASH_PARTITION_COUNT (5)
0320
0321 #define FLASH_PARTITIONS { \
0322 { .start_address = 0x806E0000, .length = 0x0180000 }, \
0323 { .start_address = 0x80860000, .length = 0x0020000 }, \
0324 { .start_address = 0x80880000, .length = 0x00A0000 }, \
0325 { .start_address = 0x80920000, .length = 0x0400000 }, \
0326 { .start_address = 0x80D20000, .length = 0x12E0000 }, \
0327 }
0328
0329 #endif