carl9170: Update to latest upstream
[linux-libre-firmware.git] / aica / arm / aica_cmd_iface.h
1 /* KallistiOS ##version##
2
3    aica_cmd_iface.h
4    (c)2000-2002 Dan Potter
5
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.
8 */
9
10 #ifndef __ARM_AICA_CMD_IFACE_H
11 #define __ARM_AICA_CMD_IFACE_H
12
13 #include "aica_comm.h"
14
15 /* This is where our SH-4/AICA comm variables go... */
16
17 /* 0x000000 - 0x010000 are reserved for the program */
18
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 */
22
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 */
26
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 */
30
31 /* The clock value (in milliseconds) */
32 #define AICA_MEM_CLOCK      0x021000    /* 4 bytes */
33
34 /* 0x021004 - 0x030000 are reserved for future expansion */
35
36 /* Open ram for sample data */
37 #define AICA_RAM_START      0x030000
38 #define AICA_RAM_END        0x200000
39
40 /* Quick access to the AICA channels */
41 #define AICA_CHANNEL(x)     (AICA_MEM_CHANNELS + (x) * sizeof(aica_channel_t))
42
43 #endif  /* __ARM_AICA_CMD_IFACE_H */