/* * i2sbus driver -- bus register definitions * * Copyright 2006 Johannes Berg * * 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 */