diff options
Diffstat (limited to 'drivers/fsl_i2c.c')
| -rw-r--r-- | drivers/fsl_i2c.c | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/drivers/fsl_i2c.c b/drivers/fsl_i2c.c index ebae5af15..22485ea91 100644 --- a/drivers/fsl_i2c.c +++ b/drivers/fsl_i2c.c @@ -69,9 +69,10 @@ i2c_init(int speed, int slaveadd)  	dev = (struct fsl_i2c *) (CFG_IMMR + CFG_I2C2_OFFSET);  	writeb(0, &dev->cr);			/* stop I2C controller */ +	udelay(5);				/* let it shutdown in peace */  	writeb(0x3F, &dev->fdr);		/* set bus speed */  	writeb(0x3F, &dev->dfsrr);		/* set default filter */ -	writeb(slaveadd, &dev->adr);		/* write slave address */ +	writeb(slaveadd << 1, &dev->adr);	/* write slave address */  	writeb(0x0, &dev->sr);			/* clear status register */  	writeb(I2C_CR_MEN, &dev->cr);		/* start I2C controller */  #endif	/* CFG_I2C2_OFFSET */ |