Hi, * Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> [160414 07:28]: > Hello Wofram, > > On 04/14/2016 10:19 AM, Wolfram Sang wrote: > > > >> Yes, I also wonder why I'm the only one facing this issue... maybe no one > >> else is using the tvp5150 driver on an OMAP board with mainline? > > > > I wonder why it only affects tvp5150. I don't see the connection yet. > > > > Yes, me neither. All other I2C devices are working properly on this board. > > The only thing I can think, is that the tvp5150 needs a reset sequence in > order to be operative. It basically toggles two pins in the chip, this is > done in tvp5150_init() [0] and is needed before accessing I2C registers. > > Maybe runtime pm has an effect on this and the chip is not reset correctly? Is this with omap3 and does tvp5150 have a reset GPIO pin? If so, you could be hitting the GPIO errata where a glitch can happen when restoring the GPIO state coming back from off mode in idle. This happes for GPIO pins that are not in GPIO bank1 and have an external pull down resistor on the line. The short term workaround is to mux the reset pin to use the internal pulls by using PIN_INPUT_PULLUP | MUX_MODE7, or depending on the direction, PIN_INPUT_PULLDOWN | MUX_MODE7. The long term workaround is tho have gpio-omap.c do this dynamically with pinctrl-single.c using gpio-ranges, but that's going to take a while.. You can search for erratum 1.158 for more info. Regards, Tony > [0]: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/media/i2c/tvp5150.c#n1311 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html