• Devin Heitmueller's avatar
    V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20 · bdc203e1
    Devin Heitmueller authored
    The Pinnacle PCTV HD Pro has an xc5000, which exposed a bug in the dib0700's
    i2c implementation where it did not properly support a single i2c read request
    (sending it as an i2c write request instead).  Version 1.20 of the firmware
    added support for a new i2c API which supported such requests.
    
    This change defaults to fw 1.20 for all devices, but does not default to using
    the new i2c API (since initial testing suggests problems interacting with the
    mt2060).  Maintainers can enable the use of the new i2c API by putting
    the following into their frontend initialization:
    
    struct dib0700_state *st = adap->dev->priv;
    st->fw_use_new_i2c_api = 1;
    
    Also note that the code expects i2c repeated start to be supported.  If the
    i2c slave does not support repeated start, i2c messsages should have the
    I2C_M_NOSTART flag set.
    
    Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing new
    firmware fixing the issue as well as example i2c code utilizing the interface.
    Signed-off-by: default avatarDevin Heitmueller <devin.heitmueller@gmail.com>
    Signed-off-by: default avatarPatrick Boettcher <pb@linuxtv.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    bdc203e1
dib0700_devices.c 40.1 KB