1*fb057880SLiam Beguin #ifndef _LPC32XX_I2C_H 2*fb057880SLiam Beguin #define _LPC32XX_I2C_H 3*fb057880SLiam Beguin 4*fb057880SLiam Beguin #include <common.h> 5*fb057880SLiam Beguin #include <asm/types.h> 6*fb057880SLiam Beguin 7*fb057880SLiam Beguin /* i2c register set */ 8*fb057880SLiam Beguin struct lpc32xx_i2c_base { 9*fb057880SLiam Beguin union { 10*fb057880SLiam Beguin u32 rx; 11*fb057880SLiam Beguin u32 tx; 12*fb057880SLiam Beguin }; 13*fb057880SLiam Beguin u32 stat; 14*fb057880SLiam Beguin u32 ctrl; 15*fb057880SLiam Beguin u32 clk_hi; 16*fb057880SLiam Beguin u32 clk_lo; 17*fb057880SLiam Beguin u32 adr; 18*fb057880SLiam Beguin u32 rxfl; 19*fb057880SLiam Beguin u32 txfl; 20*fb057880SLiam Beguin u32 rxb; 21*fb057880SLiam Beguin u32 txb; 22*fb057880SLiam Beguin u32 stx; 23*fb057880SLiam Beguin u32 stxfl; 24*fb057880SLiam Beguin }; 25*fb057880SLiam Beguin 26*fb057880SLiam Beguin #ifdef CONFIG_DM_I2C 27*fb057880SLiam Beguin enum { 28*fb057880SLiam Beguin I2C_0, I2C_1, I2C_2, 29*fb057880SLiam Beguin }; 30*fb057880SLiam Beguin 31*fb057880SLiam Beguin struct lpc32xx_i2c_dev { 32*fb057880SLiam Beguin struct lpc32xx_i2c_base *base; 33*fb057880SLiam Beguin int index; 34*fb057880SLiam Beguin uint speed; 35*fb057880SLiam Beguin }; 36*fb057880SLiam Beguin #endif /* CONFIG_DM_I2C */ 37*fb057880SLiam Beguin #endif /* _LPC32XX_I2C_H */ 38