i2c: lpc32xx: Move definitions to header file

Since the lpc32xx i2c driver does not yet support the devicetree bindings,
this structure is also needed by the board file as the hardware description
is done there.

Signed-off-by: Liam Beguin <lbeguin@tycoint.com>
Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com>
master
Liam Beguin 7 years ago committed by Heiko Schocher
parent ddfd082169
commit fb05788013
  1. 37
      arch/arm/include/asm/arch-lpc32xx/i2c.h
  2. 28
      drivers/i2c/lpc32xx_i2c.c

@ -0,0 +1,37 @@
#ifndef _LPC32XX_I2C_H
#define _LPC32XX_I2C_H
#include <common.h>
#include <asm/types.h>
/* i2c register set */
struct lpc32xx_i2c_base {
union {
u32 rx;
u32 tx;
};
u32 stat;
u32 ctrl;
u32 clk_hi;
u32 clk_lo;
u32 adr;
u32 rxfl;
u32 txfl;
u32 rxb;
u32 txb;
u32 stx;
u32 stxfl;
};
#ifdef CONFIG_DM_I2C
enum {
I2C_0, I2C_1, I2C_2,
};
struct lpc32xx_i2c_dev {
struct lpc32xx_i2c_base *base;
int index;
uint speed;
};
#endif /* CONFIG_DM_I2C */
#endif /* _LPC32XX_I2C_H */

@ -12,6 +12,7 @@
#include <i2c.h>
#include <linux/errno.h>
#include <asm/arch/clk.h>
#include <asm/arch/i2c.h>
#include <dm.h>
#include <mapmem.h>
@ -27,33 +28,6 @@
#define CONFIG_SYS_I2C_LPC32XX_SLAVE 0
#endif
/* i2c register set */
struct lpc32xx_i2c_base {
union {
u32 rx;
u32 tx;
};
u32 stat;
u32 ctrl;
u32 clk_hi;
u32 clk_lo;
u32 adr;
u32 rxfl;
u32 txfl;
u32 rxb;
u32 txb;
u32 stx;
u32 stxfl;
};
#ifdef CONFIG_DM_I2C
struct lpc32xx_i2c_dev {
struct lpc32xx_i2c_base *base;
int index;
uint speed;
};
#endif /* CONFIG_DM_I2C */
/* TX register fields */
#define LPC32XX_I2C_TX_START 0x00000100
#define LPC32XX_I2C_TX_STOP 0x00000200

Loading…
Cancel
Save