1 /* KallistiOS ##version##
4 (c)2000-2002 Dan Potter
6 Definitions for the SH-4/AICA interface. This file is meant to be
7 included from both the ARM and SH-4 sides of the fence.
10 #ifndef __ARM_AICA_CMD_IFACE_H
11 #define __ARM_AICA_CMD_IFACE_H
13 #include "aica_comm.h"
15 /* This is where our SH-4/AICA comm variables go... */
17 /* 0x000000 - 0x010000 are reserved for the program */
19 /* Location of the SH-4 to AICA queue; commands from here will be
20 periodically processed by the AICA and then removed from the queue. */
21 #define AICA_MEM_CMD_QUEUE 0x010000 /* 32K */
23 /* Location of the AICA to SH-4 queue; commands from here will be
24 periodically processed by the SH-4 and then removed from the queue. */
25 #define AICA_MEM_RESP_QUEUE 0x018000 /* 32K */
27 /* This is the channel base, which holds status structs for all the
28 channels. This is READ-ONLY from the SH-4 side. */
29 #define AICA_MEM_CHANNELS 0x020000 /* 64 * 16*4 = 4K */
31 /* The clock value (in milliseconds) */
32 #define AICA_MEM_CLOCK 0x021000 /* 4 bytes */
34 /* 0x021004 - 0x030000 are reserved for future expansion */
36 /* Open ram for sample data */
37 #define AICA_RAM_START 0x030000
38 #define AICA_RAM_END 0x200000
40 /* Quick access to the AICA channels */
41 #define AICA_CHANNEL(x) (AICA_MEM_CHANNELS + (x) * sizeof(aica_channel_t))
43 #endif /* __ARM_AICA_CMD_IFACE_H */