[U-Boot] [PATCH v3 0/18] tegra: Add display driver and LCD support for Seaboard

Simon Glass sjg at chromium.org
Tue Jul 31 11:28:41 CEST 2012


Hi Thierry,

On Thu, Jul 19, 2012 at 8:58 AM, Thierry Reding
<thierry.reding at avionic-design.de> wrote:
> On Thu, Jul 12, 2012 at 08:25:00AM -0700, 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.
>>
>> Configuration is via the device tree. Proposed bindings are included
>> in this series, taken from pwm bindings that should be in linux-next,
>> a Tegra video binding that might be accepted in devicetree-discuss
>> and a proposed video mode binding posted to dri-devel.
>>
>> While I agree EDID is convenient for machines I would prefer to provide
>> a user-friendly way of selecting LCD settings as well, with EDID more
>> as a fallback and auto-detection when available.
>>
>> To improve performance two optimisations are offered:
>>
>> 1. The LCD frame buffer is cached, with the cache being flushed after
>> each newline sent to putc(), and in a few other situations. This
>> dramatically increases performance (around 10x). This requires a few
>> additions to the ARM cache support.
>>
>> 2. The console supports scrolling in steps of more than 1 line. This
>> speeds up scrolling output considerably, particularly commands like
>> 'printenv' which display a lot of output, and particular when the
>> dcache is off. This requires a new CONFIG and a change to the
>> console_scrollup() function.
>>
>> Changes in v2:
>> - Add new patch to use const in pinmux_config_pingroup/table()
>> - Add nvidia prefix to device tree properties
>> - Align tegra display using new CONFIG_LCD_ALIGNMENT feature
>> - Put the LCD cache flush logic into lcd_putc() instead of lcd_puts()
>> - Update LCD driver to deal with new fdt bindings
>> - Update seaboard LCD definitions for new fdt binding
>> - Use a more generic config CONFIG_LCD_ALIGNMENT for lcd alignment
>> - Use const where possible in funcmux
>>
>> Changes in v3:
>> - Add new commit for pwm binding and node
>> - Add new panel binding to fit with tegra display controller binding
>> - Add probe function to read in fdt parameters in display driver
>> - Add separate call to pwm_init() in board_init()
>> - Adjust LCD driver to use new SOC display driver structures
>> - Bring in proposed tegra display controller binding
>> - Decode fdt node within the pwm driver
>> - Fix tiny bug in mult-line lcd scrolling
>> - Handle a cached frame buffer out of normal U-Boot memory
>> - Introduce concept of a pwm channel, rather than separate peripherals
>> - Move some fdt decode code from LCD driver to SOC display driver
>> - Put the LCD cache flush logic back into lcd_puts()
>> - Remove LPW1 pin which is not needed by display
>> - Remove spurious newline from fdtdec_get_addr() debug output
>> - Rename fdt config structures
>> - Rename pwfm driver to pwm
>> - Separate display driver and LCD driver more in fdt
>> - Tidy up fdtdec_decode_gpios() debug output
>> - Use displaymode binding for fdt
>> - Use new proposed upstream pwm binding
>> - Use new pwm binding from pre-linux-next
>> - Use new upstream proposed LCD definitions
>>
>> Mayuresh Kulkarni (1):
>>   tegra: Enable display/lcd support on Seaboard
>>
>> Simon Glass (16):
>>   fdt: Tidy debugging, add to fdtdec_get_int/addr()
>>   fdt: Add header guard to fdtdec.h
>>   tegra: Use const for pinmux_config_pingroup/table()
>>   tegra: Add display support to funcmux
>>   tegra: fdt: Add pwm binding and node
>>   tegra: fdt: Add LCD definitions for Tegra
>>   tegra: Add support for PWM
>>   tegra: Add LCD driver
>>   tegra: Add LCD support to Nvidia boards
>>   arm: Add control over cachability of memory regions
>>   lcd: Add CONFIG_LCD_ALIGNMENT to select frame buffer alignment
>>   lcd: Add support for flushing LCD fb from dcache after update
>>   tegra: Align LCD frame buffer to section boundary
>>   tegra: Support control of cache settings for LCD
>>   tegra: fdt: Add LCD definitions for Seaboard
>>   lcd: Add CONSOLE_SCROLL_LINES option to speed console
>>
>> Wei Ni (1):
>>   tegra: Add SOC support for display/lcd
>
> I was able to make this work on the Medcom with the one workaround to
> make backlight and panel GPIOs optional and adding the corresponding DTS
> and configuration entries for Medcom, so:
>
> Tested-by: Thierry Reding <thierry.reding at avionic-design.de>

Thanks, I am waiting until the binding is agreed before addressing
comments and sending a new version.

>
> The display corruption does no longer seem to happen. While I haven't
> thoroughly reviewed, I think this is in pretty good shape. Thanks Simon.
>
> Thierry

Regards,
Simon


More information about the U-Boot mailing list