Message ID | 20170727024224.22900-20-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
27.07.2017 05:42, Philippe Mathieu-Daudé wrote: > From the Exynos4210 User Manual [1]: > > 14.4.1.3 I2CADDn (MULTI-MASTER I2C-Bus Address Register) > [7-1] slave address, latched from the I2C-bus. > bit [0] is not mapped. > > [1]: Exynos_4_Dual_45nm_User_Manaul_Public_REV1.00-0.pdf Okay, so what happens when one writes to bit0? > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/i2c/exynos4210_i2c.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/i2c/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c > index c96fa7d7be..e6a9ca8f03 100644 > --- a/hw/i2c/exynos4210_i2c.c > +++ b/hw/i2c/exynos4210_i2c.c > @@ -243,7 +243,7 @@ static void exynos4210_i2c_write(void *opaque, hwaddr offset, > break; > case I2CADD_ADDR: > if ((s->i2cstat & I2CSTAT_OUTPUT_EN) == 0) { > - s->i2cadd = v; > + s->i2cadd = v & ~1; Maybe a comment is a good idea here, saying that bit0 is unmapped. Thanks, /mjt
diff --git a/hw/i2c/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c index c96fa7d7be..e6a9ca8f03 100644 --- a/hw/i2c/exynos4210_i2c.c +++ b/hw/i2c/exynos4210_i2c.c @@ -243,7 +243,7 @@ static void exynos4210_i2c_write(void *opaque, hwaddr offset, break; case I2CADD_ADDR: if ((s->i2cstat & I2CSTAT_OUTPUT_EN) == 0) { - s->i2cadd = v; + s->i2cadd = v & ~1; } break; case I2CDS_ADDR:
From the Exynos4210 User Manual [1]: 14.4.1.3 I2CADDn (MULTI-MASTER I2C-Bus Address Register) [7-1] slave address, latched from the I2C-bus. bit [0] is not mapped. [1]: Exynos_4_Dual_45nm_User_Manaul_Public_REV1.00-0.pdf Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/i2c/exynos4210_i2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)