carl9170: Update to latest upstream
[linux-libre-firmware.git] / aica / arm / aica.h
1 #ifndef __AICA_H
2 #define __AICA_H
3
4 /* volatile unsigned char *dc_snd_base = (unsigned char *)0x00800000; */
5 #define dc_snd_base ((volatile unsigned char *)0x00800000)
6
7 /* Some convienence macros */
8 #define SNDREG32A(x) ((volatile unsigned long *)(dc_snd_base + (x)))
9 #define SNDREG32(x) (*SNDREG32A(x))
10 #define SNDREG8A(x) (dc_snd_base + (x))
11 #define SNDREG8(x) (*SNDREG8A(x))
12 #define CHNREG32A(chn, x) SNDREG32A(0x80*(chn) + (x))
13 #define CHNREG32(chn, x) (*CHNREG32A(chn, x))
14 #define CHNREG8A(chn, x) SNDREG8A(0x80*(chn) + (x))
15 #define CHNREG8(chn, x) (*CHNREG8A(chn, x))
16
17 void aica_init();
18 void aica_play(int ch, int delay);
19 void aica_sync_play(uint32 chmap);
20 void aica_stop(int ch);
21 void aica_vol(int ch);
22 void aica_pan(int ch);
23 void aica_freq(int ch);
24 int aica_get_pos(int ch);
25
26 #endif  /* __AICA_H */
27