]> err.no Git - linux-2.6/blob - sound/aoa/soundbus/i2sbus/i2sbus-control.h
[PATCH] aoa: fix when all is built into the kernel
[linux-2.6] / sound / aoa / soundbus / i2sbus / i2sbus-control.h
1 /*
2  * i2sbus driver -- bus register definitions
3  *
4  * Copyright 2006 Johannes Berg <johannes@sipsolutions.net>
5  *
6  * GPL v2, can be found in COPYING.
7  */
8 #ifndef __I2SBUS_CONTROLREGS_H
9 #define __I2SBUS_CONTROLREGS_H
10
11 /* i2s control registers, at least what we know about them */
12
13 #define __PAD(m,n) u8 __pad##m[n]
14 #define _PAD(line, n) __PAD(line, n)
15 #define PAD(n) _PAD(__LINE__, (n))
16 struct i2s_control_regs {
17         PAD(0x38);
18         __le32 fcr0;            /* 0x38 (unknown) */
19         __le32 cell_control;    /* 0x3c (fcr1) */
20         __le32 fcr2;            /* 0x40 (unknown) */
21         __le32 fcr3;            /* 0x44 (fcr3) */
22         __le32 clock_control;   /* 0x48 (unknown) */
23         PAD(4);
24         /* total size: 0x50 bytes */
25 }  __attribute__((__packed__));
26
27 #define CTRL_CLOCK_CELL_0_ENABLE        (1<<10)
28 #define CTRL_CLOCK_CLOCK_0_ENABLE       (1<<12)
29 #define CTRL_CLOCK_SWRESET_0            (1<<11)
30 #define CTRL_CLOCK_INTF_0_ENABLE        (1<<13)
31
32 #define CTRL_CLOCK_CELL_1_ENABLE        (1<<17)
33 #define CTRL_CLOCK_CLOCK_1_ENABLE       (1<<18)
34 #define CTRL_CLOCK_SWRESET_1            (1<<19)
35 #define CTRL_CLOCK_INTF_1_ENABLE        (1<<20)
36
37 #endif /* __I2SBUS_CONTROLREGS_H */