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