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.
next prev parent reply other threads:[~2012-10-08 22:38 UTC|newest]
Thread overview: 40+ 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
2012-09-28 0:44 ` [U-Boot] [PATCH v4 03/16] tegra: fdt: Add pwm binding and node Simon Glass
2012-09-28 20:08 ` Thierry Reding
2012-10-08 21:22 ` Simon Glass
2012-09-28 0:44 ` [U-Boot] [PATCH v4 04/16] tegra: fdt: Add LCD definitions for Tegra Simon Glass
2012-10-03 22:54 ` Stephen Warren
2012-10-03 22:58 ` Stephen Warren
2012-10-08 20:01 ` 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 14/16] tegra: fdt: Add LCD definitions for Seaboard Simon Glass
2012-10-03 22:58 ` Stephen Warren
2012-10-08 20:06 ` 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox