38 lines
1.0 KiB
C
38 lines
1.0 KiB
C
/*
|
|
* i2sbus driver -- bus register definitions
|
|
*
|
|
* Copyright 2006 Johannes Berg <johannes@sipsolutions.net>
|
|
*
|
|
* GPL v2, can be found in COPYING.
|
|
*/
|
|
#ifndef __I2SBUS_CONTROLREGS_H
|
|
#define __I2SBUS_CONTROLREGS_H
|
|
|
|
/* i2s control registers, at least what we know about them */
|
|
|
|
#define __PAD(m,n) u8 __pad##m[n]
|
|
#define _PAD(line, n) __PAD(line, n)
|
|
#define PAD(n) _PAD(__LINE__, (n))
|
|
struct i2s_control_regs {
|
|
PAD(0x38);
|
|
__le32 fcr0; /* 0x38 (unknown) */
|
|
__le32 cell_control; /* 0x3c (fcr1) */
|
|
__le32 fcr2; /* 0x40 (unknown) */
|
|
__le32 fcr3; /* 0x44 (fcr3) */
|
|
__le32 clock_control; /* 0x48 (unknown) */
|
|
PAD(4);
|
|
/* total size: 0x50 bytes */
|
|
} __attribute__((__packed__));
|
|
|
|
#define CTRL_CLOCK_CELL_0_ENABLE (1<<10)
|
|
#define CTRL_CLOCK_CLOCK_0_ENABLE (1<<12)
|
|
#define CTRL_CLOCK_SWRESET_0 (1<<11)
|
|
#define CTRL_CLOCK_INTF_0_ENABLE (1<<13)
|
|
|
|
#define CTRL_CLOCK_CELL_1_ENABLE (1<<17)
|
|
#define CTRL_CLOCK_CLOCK_1_ENABLE (1<<18)
|
|
#define CTRL_CLOCK_SWRESET_1 (1<<19)
|
|
#define CTRL_CLOCK_INTF_1_ENABLE (1<<20)
|
|
|
|
#endif /* __I2SBUS_CONTROLREGS_H */
|