[U-Boot] [PATCH v2] sunxi: video: Force h/vsync active high when using ext. vga dac on some boards

Hans de Goede
2015-01-28T14:42:26Z

Hi,

On 28-01-15 13:05, Ian Campbell wrote:
> On Wed, 2015-01-28 at 11:47 +0100, Hans de Goede wrote:
>> On both my A13-OLinuxIno and my A13-OLinuxIno-Micro, the vga output gives an
>> unstable image when active low v or hsync is used.
>>
>> The problem seems to be specific to the OLinuxIno A13 (normal & micro)
>> boards. I've just looked up the schematics and they use an opendrain driver
>> for the vga sync lines, and with sync pulses it is the logical high->low
>> edge of the pulse which counts for the timing, which with an active low
>> sync is being driven by the pull-up, and that simply seems to not drive
>> it hard enough to get a stable image.
>>
>> So force v and hsync active high on these boards. independent of what the
>> modeline says. This fixes the unstable image.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>
> Acked-by: Ian Campbell <ijc@hellion.org.uk>

Thanks.

> Although I might have been tempted to adjust mode->sync in the caller or
> the place which populates it in the first place, just due to a general
> dislike of boolean params to functions (which are opaque at the caller)
> and to keep mode in sync with reality (if that matters).

I had the same idea, but mode can point to the global fixed mode list, so
it is: "const struct ctfb_res_modes *mode" and we cannot change what a const
pointer points too.

Regards,

Hans