From 61c16b5c7414b6d0511dc384e0ea994e250e6339 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 22 Oct 2010 05:11:21 +0000 Subject: Blackfin: bfin_twi.h: start a common TWI header Start one place for TWI definitions. Signed-off-by: Mike Frysinger --- arch/blackfin/include/asm/bfin_twi.h | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 arch/blackfin/include/asm/bfin_twi.h diff --git a/arch/blackfin/include/asm/bfin_twi.h b/arch/blackfin/include/asm/bfin_twi.h new file mode 100644 index 000000000000..cc155e14e55c --- /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 + +/* + * 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 -- cgit v1.2.3-59-g8ed1b