hw/i2c-ddc: Do not fail writes
The tx function of the DDC I2C slave emulation was returning 1 on all writes resulting in NACK in the I2C bus. Changing it to 0 makes the DDC I2C work fine with bit-banged I2C such as the versatile I2C. I guess it was not affecting whatever I2C controller this was used with until now, but with the Versatile I2C it surely does not work. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Message-id: 20180227104903.21353-4-linus.walleij@linaro.org Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
aa88d7ad28
commit
839a2b28d0
@ -259,12 +259,12 @@ static int i2c_ddc_tx(I2CSlave *i2c, uint8_t data)
|
|||||||
s->reg = data;
|
s->reg = data;
|
||||||
s->firstbyte = false;
|
s->firstbyte = false;
|
||||||
DPRINTF("[EDID] Written new pointer: %u\n", data);
|
DPRINTF("[EDID] Written new pointer: %u\n", data);
|
||||||
return 1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ignore all writes */
|
/* Ignore all writes */
|
||||||
s->reg++;
|
s->reg++;
|
||||||
return 1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void i2c_ddc_init(Object *obj)
|
static void i2c_ddc_init(Object *obj)
|
||||||
|
Loading…
Reference in New Issue
Block a user