34#define UNCACHED(address) ((typeof(address)) (((io32_t) (address)) | (0xA0000000UL)))
50#define SP_MEM_BASE (0x04000000UL)
55#define SP_MEM ((sp_mem_t *) SP_MEM_BASE)
78#define SP_BASE (0x04040000UL)
83#define SP ((sp_regs_t *) SP_BASE)
85#define SP_SR_HALT (1 << 0)
86#define SP_SR_BROKE (1 << 1)
87#define SP_SR_DMA_BUSY (1 << 2)
88#define SP_SR_DMA_FULL (1 << 3)
89#define SP_SR_IO_FULL (1 << 4)
90#define SP_SR_SSTEP (1 << 5)
91#define SP_SR_INTR_BREAK (1 << 6)
92#define SP_SR_SIG0 (1 << 7)
93#define SP_SR_SIG1 (1 << 8)
94#define SP_SR_SIG2 (1 << 9)
95#define SP_SR_SIG3 (1 << 10)
96#define SP_SR_SIG4 (1 << 11)
97#define SP_SR_SIG5 (1 << 12)
98#define SP_SR_SIG6 (1 << 13)
99#define SP_SR_SIG7 (1 << 14)
100#define SP_SR_CLR_HALT (1 << 0)
101#define SP_SR_SET_HALT (1 << 1)
102#define SP_SR_CLR_BROKE (1 << 2)
103#define SP_SR_CLR_INTR (1 << 3)
104#define SP_SR_SET_INTR (1 << 4)
105#define SP_SR_CLR_SSTEP (1 << 5)
106#define SP_SR_SET_SSTEP (1 << 6)
107#define SP_SR_CLR_INTR_BREAK (1 << 7)
108#define SP_SR_SET_INTR_BREAK (1 << 8)
109#define SP_SR_CLR_SIG0 (1 << 9)
110#define SP_SR_SET_SIG0 (1 << 10)
111#define SP_SR_CLR_SIG1 (1 << 11)
112#define SP_SR_SET_SIG1 (1 << 12)
113#define SP_SR_CLR_SIG2 (1 << 13)
114#define SP_SR_SET_SIG2 (1 << 14)
115#define SP_SR_CLR_SIG3 (1 << 15)
116#define SP_SR_SET_SIG3 (1 << 16)
117#define SP_SR_CLR_SIG4 (1 << 17)
118#define SP_SR_SET_SIG4 (1 << 18)
119#define SP_SR_CLR_SIG5 (1 << 19)
120#define SP_SR_SET_SIG5 (1 << 20)
121#define SP_SR_CLR_SIG6 (1 << 21)
122#define SP_SR_SET_SIG6 (1 << 22)
123#define SP_SR_CLR_SIG7 (1 << 23)
124#define SP_SR_SET_SIG7 (1 << 24)
138#define DPC_BASE (0x04100000UL)
139#define DPC ((dpc_regs_t *) DPC_BASE)
141#define DPC_SR_XBUS_DMEM_DMA (1 << 0)
142#define DPC_SR_FREEZE (1 << 1)
143#define DPC_SR_FLUSH (1 << 2)
144#define DPC_SR_START_GCLK (1 << 3)
145#define DPC_SR_TMEM_BUSY (1 << 4)
146#define DPC_SR_PIPE_BUSY (1 << 5)
147#define DPC_SR_CMD_BUSY (1 << 6)
148#define DPC_SR_CBUF_READY (1 << 7)
149#define DPC_SR_DMA_BUSY (1 << 8)
150#define DPC_SR_END_VALID (1 << 9)
151#define DPC_SR_START_VALID (1 << 10)
152#define DPC_SR_CLR_XBUS_DMEM_DMA (1 << 0)
153#define DPC_SR_SET_XBUS_DMEM_DMA (1 << 1)
154#define DPC_SR_CLR_FREEZE (1 << 2)
155#define DPC_SR_SET_FREEZE (1 << 3)
156#define DPC_SR_CLR_FLUSH (1 << 4)
157#define DPC_SR_SET_FLUSH (1 << 5)
158#define DPC_SR_CLR_TMEM_CTR (1 << 6)
159#define DPC_SR_CLR_PIPE_CTR (1 << 7)
160#define DPC_SR_CLR_CMD_CTR (1 << 8)
161#define DPC_SR_CLR_CLOCK_CTR (1 << 9)
195#define VI_BASE (0x04400000UL)
196#define VI ((vi_regs_t *) VI_BASE)
198#define VI_CR_TYPE_16 (2 << 0)
199#define VI_CR_TYPE_32 (3 << 0)
200#define VI_CR_GAMMA_DITHER_ON (1 << 2)
201#define VI_CR_GAMMA_ON (1 << 3)
202#define VI_CR_DIVOT_ON (1 << 4)
203#define VI_CR_SERRATE_ON (1 << 6)
204#define VI_CR_ANTIALIAS_0 (1 << 8)
205#define VI_CR_ANTIALIAS_1 (1 << 9)
206#define VI_CR_PIXEL_ADVANCE_0 (1 << 12)
207#define VI_CR_PIXEL_ADVANCE_1 (1 << 13)
208#define VI_CR_PIXEL_ADVANCE_2 (1 << 14)
209#define VI_CR_PIXEL_ADVANCE_3 (1 << 15)
210#define VI_CR_DITHER_FILTER_ON (1 << 16)
212#define VI_CURR_LINE_FIELD (1 << 0)
230#define AI_BASE (0x04500000UL)
231#define AI ((ai_regs_t *) AI_BASE)
233#define AI_SR_DMA_BUSY (1 << 30)
234#define AI_SR_FIFO_FULL (1 << 31)
235#define AI_CR_DMA_ON (1 << 0)
262#define PI_BASE (0x04600000UL)
263#define PI ((pi_regs_t *) PI_BASE)
265#define PI_SR_DMA_BUSY (1 << 0)
266#define PI_SR_IO_BUSY (1 << 1)
267#define PI_SR_DMA_ERROR (1 << 2)
268#define PI_SR_RESET (1 << 0)
269#define PI_SR_CLR_INTR (1 << 1)
271#define ROM_DDIPL_BASE (0x06000000UL)
272#define ROM_DDIPL ((io32_t *) ROM_DDIPL_BASE)
274#define ROM_CART_BASE (0x10000000UL)
275#define ROM_CART ((io32_t *) ROM_CART_BASE)
277static inline uint32_t cpu_io_read (
io32_t *address) {
279 uint32_t value = *uncached;
283static inline void cpu_io_write (
io32_t *address, uint32_t value) {
io32_t SR
Definition boot_io.h:67
io32_t DACRATE
The DAC rate.
Definition boot_io.h:225
volatile uint32_t io32_t
32-bit volatile IO type.
Definition boot_io.h:23
io32_t CURR_LINE
The Current Line.
Definition boot_io.h:174
io32_t DMA_FULL
Definition boot_io.h:68
io32_t PADDR
The Cart Address.
Definition boot_io.h:242
io32_t BITRATE
The bit rate.
Definition boot_io.h:227
io32_t WR_LEN
Definition boot_io.h:66
volatile uint8_t io8_t
8-bit volatile IO type.
Definition boot_io.h:17
io32_t TIMING
The Timings.
Definition boot_io.h:176
io32_t DMA_BUSY
Definition boot_io.h:69
io32_t H_SYNC
The Horizontal Sync.
Definition boot_io.h:180
io32_t SR
The Status Register.
Definition boot_io.h:248
io32_t RDMA
The Read Length.
Definition boot_io.h:244
io32_t WDMA
The Write Length.
Definition boot_io.h:246
io32_t RD_LEN
Definition boot_io.h:65
io32_t V_LIMITS
The Virtical Limits.
Definition boot_io.h:186
io32_t SR
The Status Register.
Definition boot_io.h:223
#define UNCACHED(address)
Convert an address to its uncached equivalent.
Definition boot_io.h:34
io32_t H_LIMITS
The Horizontal Limits.
Definition boot_io.h:184
io32_t MADDR
Definition boot_io.h:64
io32_t MADDR
The Memory Address.
Definition boot_io.h:240
io32_t H_SYNC_LEAP
The Horizontal Sync Leap.
Definition boot_io.h:182
io32_t H_SCALE
The Horizontal Scale.
Definition boot_io.h:190
io32_t LEN
The Length of bytes.
Definition boot_io.h:219
io32_t COLOR_BURST
The Colour Burst.
Definition boot_io.h:188
io32_t V_SYNC
The Virtical Sync.
Definition boot_io.h:178
io32_t CR
The Control Register.
Definition boot_io.h:166
io32_t CR
The Control Register.
Definition boot_io.h:221
io32_t V_SCALE
The Virtical Scale.
Definition boot_io.h:192
io32_t MADDR
The Memory Address.
Definition boot_io.h:217
io32_t SEMAPHORE
Definition boot_io.h:70
io32_t PADDR
Definition boot_io.h:63
io32_t H_WIDTH
The Horizontal Width.
Definition boot_io.h:170
io32_t V_INTR
The Virtical Interupt.
Definition boot_io.h:172
io32_t MADDR
The Memory Address.
Definition boot_io.h:168
Audio Interface Registers Structure.
Definition boot_io.h:215
DPC Registers Structure.
Definition boot_io.h:127
Peripheral Interface Register Structure.
Definition boot_io.h:238
Memory Structure.
Definition boot_io.h:42
SP Registers Structure.
Definition boot_io.h:62
Video Interface Registers Structure.
Definition boot_io.h:164