dm: fsl_i2c: Rename I2C register structure
Signed-off-by: Mario Six <mario.six@gdsys.cc>
This commit is contained in:
committed by
Heiko Schocher
parent
b6a77b0ce8
commit
ec2c81c5d4
@@ -13,31 +13,33 @@
|
||||
|
||||
static void i2c_write_start_seq(void)
|
||||
{
|
||||
struct fsl_i2c *dev;
|
||||
dev = (struct fsl_i2c *) (CONFIG_SYS_IMMR + CONFIG_SYS_I2C_OFFSET);
|
||||
struct fsl_i2c_base *base;
|
||||
base = (struct fsl_i2c_base *)(CONFIG_SYS_IMMR +
|
||||
CONFIG_SYS_I2C_OFFSET);
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
out_8(&dev->cr, (I2C_CR_MEN | I2C_CR_MSTA));
|
||||
out_8(&base->cr, (I2C_CR_MEN | I2C_CR_MSTA));
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
out_8(&dev->cr, (I2C_CR_MEN));
|
||||
out_8(&base->cr, (I2C_CR_MEN));
|
||||
}
|
||||
|
||||
int i2c_make_abort(void)
|
||||
{
|
||||
struct fsl_i2c *dev;
|
||||
dev = (struct fsl_i2c *) (CONFIG_SYS_IMMR + CONFIG_SYS_I2C_OFFSET);
|
||||
struct fsl_i2c_base *base;
|
||||
base = (struct fsl_i2c_base *)(CONFIG_SYS_IMMR +
|
||||
CONFIG_SYS_I2C_OFFSET);
|
||||
uchar last;
|
||||
int nbr_read = 0;
|
||||
int i = 0;
|
||||
int ret = 0;
|
||||
|
||||
/* wait after each operation to finsh with a delay */
|
||||
out_8(&dev->cr, (I2C_CR_MSTA));
|
||||
out_8(&base->cr, (I2C_CR_MSTA));
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
out_8(&dev->cr, (I2C_CR_MEN | I2C_CR_MSTA));
|
||||
out_8(&base->cr, (I2C_CR_MEN | I2C_CR_MSTA));
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
in_8(&dev->dr);
|
||||
in_8(&base->dr);
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
last = in_8(&dev->dr);
|
||||
last = in_8(&base->dr);
|
||||
nbr_read++;
|
||||
|
||||
/*
|
||||
@@ -47,7 +49,7 @@ int i2c_make_abort(void)
|
||||
while (((last & 0x01) != 0x01) &&
|
||||
(nbr_read < CONFIG_SYS_IVM_EEPROM_MAX_LEN)) {
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
last = in_8(&dev->dr);
|
||||
last = in_8(&base->dr);
|
||||
nbr_read++;
|
||||
}
|
||||
if ((last & 0x01) != 0x01)
|
||||
@@ -56,10 +58,10 @@ int i2c_make_abort(void)
|
||||
printf("[INFO] i2c abort after %d bytes (0x%02x)\n",
|
||||
nbr_read, last);
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
out_8(&dev->cr, (I2C_CR_MEN));
|
||||
out_8(&base->cr, (I2C_CR_MEN));
|
||||
udelay(DELAY_ABORT_SEQ);
|
||||
/* clear status reg */
|
||||
out_8(&dev->sr, 0);
|
||||
out_8(&base->sr, 0);
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
i2c_write_start_seq();
|
||||
|
||||
Reference in New Issue
Block a user