All of lore.kernel.org
 help / color / mirror / Atom feed
* Delay between stop condition and start condition
@ 2018-10-15  9:10 Fabrizio Castro
  2018-10-17 10:32 ` Wolfram Sang
  0 siblings, 1 reply; 11+ messages in thread
From: Fabrizio Castro @ 2018-10-15  9:10 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-i2c@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Chris Paterson, Biju Das

[-- Attachment #1: Type: text/plain, Size: 1764 bytes --]

Hello Wolfram,

While working out what's needed to add HDMI support to the iwg23s from iWave I have stumbled across a problem with the HDMI transmitter (SiI9022ACNU). Such an HDMI transmitter has a DDC pass through mode that allows the SoC to talk directly to the monitor (to allow the SoC to read the EDID back from the monitor, for example). While in this working mode, if the SoC generates a start condition too close to the previous stop condition, then the monitor will miss the start condition, alongside a clock cycle. The consequences of this may be catastrophic, as you can imagine. I have attached a picture of a trace grabbed with my logic analyser, where SDA and SDL are related to the I2C bus between the SoC and the HDMI transmitter, while DDCT_SDA and DDCT_SCL (digital and analogic traces) are related to the I2C bus connecting the HDMI transmitter to the monitor.

What's the best way to address this? I could pull in the HDMI transmitter driver the code to read the EDID back from the monitor so that I can fit device specific delays without impacting the generic implementation of the EDID readback, but that would replicate some code and the driver would not benefit from fixes made to the generic implementation. I could change the RCar I2C driver in order to fit a new DT parameter (i2c-delay-after-stop-us?), and the driver would put in the desired delay after every stop condition, but isn't this parameter something every I2C controller would benefit from (now that we know we have a use case for it)? What are your thoughts and recommendations?

Thanks,
Fab



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

[-- Attachment #2: bug.png --]
[-- Type: image/png, Size: 65781 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-10-18  0:41 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-15  9:10 Delay between stop condition and start condition Fabrizio Castro
2018-10-17 10:32 ` Wolfram Sang
2018-10-17 11:27   ` Fabrizio Castro
2018-10-17 11:44   ` Peter Rosin
2018-10-17 12:16     ` Wolfram Sang
2018-10-17 12:21       ` Wolfram Sang
2018-10-17 12:31         ` Geert Uytterhoeven
2018-10-17 14:03         ` Fabrizio Castro
2018-10-17 14:23           ` Wolfram Sang
2018-10-17 16:44             ` Fabrizio Castro
2018-10-17 12:55       ` Peter Rosin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.