diff options
Diffstat (limited to 'board/keymile/km83xx/km83xx_i2c.c')
-rw-r--r-- | board/keymile/km83xx/km83xx_i2c.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/board/keymile/km83xx/km83xx_i2c.c b/board/keymile/km83xx/km83xx_i2c.c index c961937..f0b528d 100644 --- a/board/keymile/km83xx/km83xx_i2c.c +++ b/board/keymile/km83xx/km83xx_i2c.c @@ -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(); |