All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 0/16] tegra: Add display driver and LCD support for Seaboard
Date: Mon, 08 Oct 2012 16:38:50 -0600	[thread overview]
Message-ID: <507355FA.9070903@wwwdotorg.org> (raw)
In-Reply-To: <CAPnjgZ13Bu0QDrabo4XfxG7-hQsGNfYqgt_-g3Kea1Qf5yFA9w@mail.gmail.com>

On 10/08/2012 03:50 PM, Simon Glass wrote:
> Hi Stephen,
> 
> On Mon, Oct 8, 2012 at 2:30 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 10/08/2012 02:06 PM, Simon Glass wrote:
>>> Hi Stephen,
>>>
>>> On Fri, Oct 5, 2012 at 12:51 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>>>> On 10/03/2012 11:05 AM, Stephen Warren wrote:
>>>>> On 09/27/2012 06:44 PM, Simon Glass wrote:
>>>>>> This series adds support for the Tegra2x's display peripheral. This
>>>>>> supports the LCD display on Seaboard and we use this to enable console
>>>>>> output in U-Boot on the LCD.
>>>> ...
>>>>> 2) The display works fine for cold boot, or hitting the physical reset
>>>>> button, but when I execute "reset" at the U-Boot prompt, or "reboot"
>>>>> within Linux, the display is messed up; it looks like the LCD isn't able
>>>>> to sync to the timings sent by the display controller or something similar.
>>>>>
>>>>> Since this is slightly a corner case, it may be OK to fix it later (but
>>>>> not much later; reboot is very useful to me.)
>>>>
>>>> A couple more points:
>>>>
>>>> BTW, I tried the same tests on Springbank which is basically Seaboard
>>>> with a slightly different PCB layout, and didn't see this issue. That
>>>> leads me to suspect some timing issue interacting with the panel, which
>>>> I believe is different albeit theoretically compatible
>>>> resolution/scan-timing wise.
>>>
>>> OK. I wonder the panel does not get reset properly on Seaboard?
>>
>> I looked at the panel spec for the panels on the two boards. Both of
>> them specify that when vdd_pnl is dropped to zero, you must wait at
>> least 400mS before raising it again. Evidently the Seaboard panel
>> actually cares about this, yet the Springbank panel seems to be more
>> flexible than the specification. So, modifying
>> drivers/video/tegra.c:handle_stage() case STAGE_START to:
>>
>>     if (fdt_gpio_isvalid(&config.panel_vdd)) {
>>         udelay(400000);
>>         gpio_direction_output(config.panel_vdd.gpio, 1);
>>     }
>>
>> ... appears to solve the problem; I can run "reset" in U-Boot many many
>> times without any issue after that change.
>>
>> I guess this means that the nvidia,panel-timings DT property needs a
>> pre-delay entry for STAGE_START, or something like that?
>>
>> Also, I wondered if we shouldn't explicitly do:
>>
>>     gpio_direction_output(config.panel_vdd.gpio, 0);
>>     udelay(400000);
>>     gpio_direction_output(config.panel_vdd.gpio, 1);
>>
>> ... although that doesn't make a difference; the particular GPIO used on
>> Seaboard appears to default to 0. I'm not sure that all GPIOs are
>> guaranteed to though.
> 
> So reset is causing the line to go low?

I would imagine so.

> OK, there's probably nothing
> we can do here except wait for 400ms. Is there any way to detect this
> condition? Adding 400ms is quite a big jump in boot time.

I think the PMIC has a "power-on/reset reason" register. However, I
don't know exactly how long the minimum time between powering off and
immediately powering on is; it's plausible it isn't safe to skip some
waiting even in that case.

  reply	other threads:[~2012-10-08 22:38 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-28  0:44 [U-Boot] [PATCH v4 0/16] tegra: Add display driver and LCD support for Seaboard Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 01/16] tegra: Use const for pinmux_config_pingroup/table() Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 02/16] tegra: Add display support to funcmux Simon Glass
     [not found] ` <1348793077-10126-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-09-28  0:44   ` [PATCH v4 03/16] tegra: fdt: Add pwm binding and node Simon Glass
2012-09-28  0:44     ` [U-Boot] " Simon Glass
2012-09-28 20:08     ` Thierry Reding
2012-09-28 20:08       ` [U-Boot] " Thierry Reding
     [not found]       ` <20120928200817.GB30777-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-10-08 21:22         ` Simon Glass
2012-10-08 21:22           ` [U-Boot] " Simon Glass
2012-09-28  0:44   ` [PATCH v4 04/16] tegra: fdt: Add LCD definitions for Tegra Simon Glass
2012-09-28  0:44     ` [U-Boot] " Simon Glass
     [not found]     ` <1348793077-10126-5-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-10-03 22:54       ` Stephen Warren
2012-10-03 22:54         ` [U-Boot] " Stephen Warren
2012-10-03 22:58       ` Stephen Warren
2012-10-03 22:58         ` [U-Boot] " Stephen Warren
     [not found]         ` <506CC301.6050508-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-08 20:01           ` Simon Glass
2012-10-08 20:01             ` [U-Boot] " Simon Glass
2012-09-28  0:44   ` [PATCH v4 14/16] tegra: fdt: Add LCD definitions for Seaboard Simon Glass
2012-09-28  0:44     ` [U-Boot] " Simon Glass
     [not found]     ` <1348793077-10126-15-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-10-03 22:58       ` Stephen Warren
2012-10-03 22:58         ` [U-Boot] " Stephen Warren
     [not found]         ` <506CC327.2070609-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-08 20:06           ` Simon Glass
2012-10-08 20:06             ` [U-Boot] " Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 05/16] tegra: Add support for PWM Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 06/16] tegra: Add SOC support for display/lcd Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 07/16] tegra: Add LCD driver Simon Glass
2012-10-05 14:21   ` Marc Dietrich
2012-10-08 22:02     ` Simon Glass
2012-10-08 22:12       ` Stephen Warren
2012-09-28  0:44 ` [U-Boot] [PATCH v4 08/16] tegra: Add LCD support to Nvidia boards Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 09/16] arm: Add control over cachability of memory regions Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 10/16] lcd: Add CONFIG_LCD_ALIGNMENT to select frame buffer alignment Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 11/16] lcd: Add support for flushing LCD fb from dcache after update Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 12/16] tegra: Align LCD frame buffer to section boundary Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 13/16] tegra: Support control of cache settings for LCD Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 15/16] lcd: Add CONSOLE_SCROLL_LINES option to speed console Simon Glass
2012-09-28 14:51   ` Lucas Stach
2012-10-08 19:55     ` Simon Glass
2012-09-28  0:44 ` [U-Boot] [PATCH v4 16/16] tegra: Enable display/lcd support on Seaboard Simon Glass
2012-10-03 17:05 ` [U-Boot] [PATCH v4 0/16] tegra: Add display driver and LCD support for Seaboard Stephen Warren
2012-10-03 17:22   ` Stephen Warren
2012-10-03 20:56   ` Simon Glass
2012-10-05 19:51   ` Stephen Warren
2012-10-08 20:06     ` Simon Glass
2012-10-08 20:26       ` Tom Warren
2012-10-08 21:30       ` Stephen Warren
2012-10-08 21:50         ` Simon Glass
2012-10-08 22:38           ` Stephen Warren [this message]
2012-10-03 23:00 ` Stephen Warren
2012-10-04  0:19   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=507355FA.9070903@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.