[ADV7393] DRM Encoder Slave or DRM Bridge

Vikas Patil vikasmpatil at gmail.com
Mon Sep 26 12:34:42 UTC 2016


On Mon, Sep 26, 2016 at 6:00 PM, Tomi Valkeinen <tomi.valkeinen at ti.com> wrote:
>
>
> On 26/09/16 15:25, Vikas Patil wrote:
>> On Fri, Sep 23, 2016 at 4:30 PM, Tomi Valkeinen <tomi.valkeinen at ti.com> wrote:
>>> On 22/09/16 16:22, Vikas Patil wrote:
>>>
>>>> Could you help me to understand if I could use “interlace=false”?
>>>> ADV7393 seems to be supporting non-interlaced mode. From datasheet:
>>>> “The ADV7390/ADV7391/ADV7392/ADV7393 support an SD noninterlaced mode.
>>>> Using this mode, progressive inputs at twice the frame rate of NTSC
>>>> and PAL (240p/59.94 Hz and 288p/50 Hz, respectively) can be input into
>>>> the ADV7390/ ADV7391/ADV7392/ADV7393. The SD noninterlaced mode can be
>>>> enabled using Subaddress 0x88, Bit 1.”
>>>
>>> Difficult to say... So OMAP4+ DSS hardware does support interlace output
>>> for DPI. The driver has never supported it, nor do I have any hardware
>>> to test it. It might be quite easy to add, though.
>>>
>> If it is easy and doable then could you describe what I need to do to
>> support it?
>
> I think there are a few problems there, as the analog connector wasn't
> designed to support detection. But you can check the detect callback
> from the encoder/connector drivers.
>
> The problem is, it returns a bool, whereas we need a tristate return
> value here to represent connected, not connected, unknown.
>

Will check once I get display working, for time being I think it shows
connected with the hack I mentioned. I was taking about supporting
"interlace" via LCD here.

>>> If I read the above snippet right, to use progressive input, the DISPC
>>> needs to output at double refresh rate. So probably what you would have
>>> to do is in ADV driver, you have your set_timings function, where you
>>> should double the pix clock before you pass the timings forward to the
>>> DISPC's DPI driver.
>>>
>>
>> I have configured ADV7393 chip in following mode with the timing below
>> in connector-analog.tv.c. With this I am seeing continuous flicker
>> with nothing on display (black screen) and sometime could see the
>> kmscube but it seems it renders in four quadrant(i.e. once in each
>> quadrant). I have also tried doubling the pixel clock from 27MHz to
>> 54MHz in timing for non-interlaced mode of ADV7393 but with it also
>> nothing on display and continuous flicker.
>>
>> Do you know what might be going wrong? What should I look for to fix this?
>>
>> ** ADV config:
>> - 16-bit SD RGB input
>> - NTSC mode
>> - YPrPb component output (CVBS)
>> - non-interlaced mode
>>
>> ** Timing configured in in connector-analog.tv.c
>>
>> static const struct omap_video_timings harman_ntsc_timings = {
>>         .x_res          = 720,
>>         .y_res          = 480,
>>         .pixelclock     = 270000000,
>
> That's 270MHz.
>

It was a typo. I have confirmed it is 27Mhz.

Thanks & Regards,
Vikash


More information about the dri-devel mailing list