/* | |
* 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); | |
}; | |
#undef __BFP | |
#endif |