diff mbox series

[2/7] drm/omap: tweak HDMI DDC timings

Message ID 20190902125359.18001-3-tomi.valkeinen@ti.com
State Superseded
Headers show
Series drm/omap: misc improvements | expand

Commit Message

Tomi Valkeinen Sept. 2, 2019, 12:53 p.m. UTC
From: Alejandro Hernandez <ajhernandez@ti.com>

A "HDMI I2C Master Error" is sometimes reported with the current DDC SCL
timings. The current settings for a 10us SCL period (100 KHz) causes the
error with some displays.  This patch increases the SCL signal period
from 10us to 10.2us, with the new settings the error is not observed

Signed-off-by: Alejandro Hernandez <ajhernandez@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Laurent Pinchart Sept. 3, 2019, 2:23 p.m. UTC | #1
Hi Tomi,

Thank you for the path.

On Mon, Sep 02, 2019 at 03:53:54PM +0300, Tomi Valkeinen wrote:
> From: Alejandro Hernandez <ajhernandez@ti.com>
> 
> A "HDMI I2C Master Error" is sometimes reported with the current DDC SCL
> timings. The current settings for a 10us SCL period (100 KHz) causes the
> error with some displays.  This patch increases the SCL signal period
> from 10us to 10.2us, with the new settings the error is not observed
> 

It would be useful to document what those "some displays" are if you
can.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Signed-off-by: Alejandro Hernandez <ajhernandez@ti.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
>  drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
> index 7400fb99d453..4c588ec7634a 100644
> --- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
> +++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
> @@ -39,8 +39,8 @@ static void hdmi_core_ddc_init(struct hdmi_core_data *core)
>  {
>  	void __iomem *base = core->base;
>  	const unsigned long long iclk = 266000000;	/* DSS L3 ICLK */
> -	const unsigned int ss_scl_high = 4600;		/* ns */
> -	const unsigned int ss_scl_low = 5400;		/* ns */
> +	const unsigned int ss_scl_high = 4700;		/* ns */
> +	const unsigned int ss_scl_low = 5500;		/* ns */
>  	const unsigned int fs_scl_high = 600;		/* ns */
>  	const unsigned int fs_scl_low = 1300;		/* ns */
>  	const unsigned int sda_hold = 1000;		/* ns */
Tomi Valkeinen Sept. 26, 2019, 12:54 p.m. UTC | #2
On 03/09/2019 17:23, Laurent Pinchart wrote:
> Hi Tomi,
> 
> Thank you for the path.
> 
> On Mon, Sep 02, 2019 at 03:53:54PM +0300, Tomi Valkeinen wrote:
>> From: Alejandro Hernandez <ajhernandez@ti.com>
>>
>> A "HDMI I2C Master Error" is sometimes reported with the current DDC SCL
>> timings. The current settings for a 10us SCL period (100 KHz) causes the
>> error with some displays.  This patch increases the SCL signal period
>> from 10us to 10.2us, with the new settings the error is not observed
>>
> 
> It would be useful to document what those "some displays" are if you
> can.

Unfortunately I have no idea. This was quite a while ago.

Alejandro, do you recall?

  Tomi
Alejandro Hernandez Sept. 26, 2019, 2:40 p.m. UTC | #3
On 9/26/19 8:54 AM, Tomi Valkeinen wrote:
> On 03/09/2019 17:23, Laurent Pinchart wrote:
>> Hi Tomi,
>>
>> Thank you for the path.
>>
>> On Mon, Sep 02, 2019 at 03:53:54PM +0300, Tomi Valkeinen wrote:
>>> From: Alejandro Hernandez <ajhernandez@ti.com>
>>>
>>> A "HDMI I2C Master Error" is sometimes reported with the current DDC 
>>> SCL
>>> timings. The current settings for a 10us SCL period (100 KHz) causes 
>>> the
>>> error with some displays.  This patch increases the SCL signal period
>>> from 10us to 10.2us, with the new settings the error is not observed
>>>
>>
>> It would be useful to document what those "some displays" are if you
>> can.
>
> Unfortunately I have no idea. This was quite a while ago.
>
> Alejandro, do you recall?

Not at this point, we threw out a bunch of equipment out during the move 
to the new office last year. I could only find one and it has no 
identifying information on it.

Alejandro

>
>  Tomi
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 7400fb99d453..4c588ec7634a 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -39,8 +39,8 @@  static void hdmi_core_ddc_init(struct hdmi_core_data *core)
 {
 	void __iomem *base = core->base;
 	const unsigned long long iclk = 266000000;	/* DSS L3 ICLK */
-	const unsigned int ss_scl_high = 4600;		/* ns */
-	const unsigned int ss_scl_low = 5400;		/* ns */
+	const unsigned int ss_scl_high = 4700;		/* ns */
+	const unsigned int ss_scl_low = 5500;		/* ns */
 	const unsigned int fs_scl_high = 600;		/* ns */
 	const unsigned int fs_scl_low = 1300;		/* ns */
 	const unsigned int sda_hold = 1000;		/* ns */