diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-10-22 05:11:21 (GMT) |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-10-25 08:54:32 (GMT) |
commit | 61c16b5c7414b6d0511dc384e0ea994e250e6339 (patch) | |
tree | 6d3c198f42c931f4ecf7d3b0b5c668d582a1b794 /arch/blackfin/include | |
parent | 02460d08930656b3a50381cfb119864efcd4eef9 (diff) | |
download | linux-61c16b5c7414b6d0511dc384e0ea994e250e6339.tar.xz |
Blackfin: bfin_twi.h: start a common TWI header
Start one place for TWI definitions.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/include')
-rw-r--r-- | arch/blackfin/include/asm/bfin_twi.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/bfin_twi.h b/arch/blackfin/include/asm/bfin_twi.h new file mode 100644 index 0000000..cc155e1 --- /dev/null +++ b/arch/blackfin/include/asm/bfin_twi.h @@ -0,0 +1,43 @@ +/* + * bfin_twi.h - interface to Blackfin TWIs + * + * Copyright 2005-2010 Analog Devices Inc. + * + * Licensed under the GPL-2 or later. + */ + +#ifndef __ASM_BFIN_TWI_H__ +#define __ASM_BFIN_TWI_H__ + +#include <linux/types.h> + +/* + * All Blackfin system MMRs are padded to 32bits even if the register + * itself is only 16bits. So use a helper macro to streamline this. + */ +#define __BFP(m) u16 m; u16 __pad_##m + +/* + * bfin twi registers layout + */ +struct bfin_twi_regs { + __BFP(clkdiv); + __BFP(control); + __BFP(slave_ctl); + __BFP(slave_stat); + __BFP(slave_addr); + __BFP(master_ctl); + __BFP(master_stat); + __BFP(master_addr); + __BFP(int_stat); + __BFP(int_mask); + __BFP(fifo_ctl); + __BFP(fifo_stat); + u32 __pad[20]; + __BFP(xmt_data8); + __BFP(xmt_data16); + __BFP(rcv_data8); + __BFP(rcv_data16); +}; + +#endif |