[U-Boot] [PATCH 0/17] tegra: Add display driver and LCD support for Seaboard
Simon Glass
sjg at chromium.org
Sat Jul 14 10:03:31 CEST 2012
Hi Christian,
On Thu, Apr 19, 2012 at 2:41 PM, Christian Kroehnert
<christian.kroehnert at avionic-design.de> wrote:
> On 15.01.2012 01:47, 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.
>>
>> To improve performance two optimisations are offered:
>>
>> 1. The LCD frame buffer is cached, with the cache being flushed after
>> each call puts(). 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. This requires a new CONFIG
>> and a change to the console_scrollup() function.
>>
>>
>> Mayuresh Kulkarni (1):
>> tegra: Enable display/lcd support on Seaboard
>>
>> Simon Glass (15):
>> fdt: Add function to look up a phandle's register address
>> fdt: Add header guard to fdtdec.h
>> fdt: Correct GPIO name access in fdtdec
>> tegra: Add display support to funcmux
>> tegra: fdt: Add LCD definitions for Tegra
>> tegra: Add support for PWFM
>> tegra: Add LCD driver
>> tegra: Add LCD support to Nvidia boards
>> arm: Add control over cachability of memory regions
>> lcd: Add CONFIG_ALIGN_LCD_TO_SECTION to align lcd for MMU
>> 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
>>
>> README | 16 +
>> arch/arm/cpu/armv7/cache_v7.c | 11 +
>> arch/arm/cpu/armv7/tegra2/Makefile | 1 +
>> arch/arm/cpu/armv7/tegra2/display.c | 271 +++++++++++
>> arch/arm/cpu/armv7/tegra2/funcmux.c | 39 ++
>> arch/arm/cpu/armv7/tegra2/pwfm.c | 40 ++
>> arch/arm/dts/tegra20.dtsi | 25 +
>> arch/arm/include/asm/arch-tegra2/dc.h | 544
>> +++++++++++++++++++++++
>> arch/arm/include/asm/arch-tegra2/display.h | 133 ++++++
>> arch/arm/include/asm/arch-tegra2/pwfm.h | 54 +++
>> arch/arm/include/asm/system.h | 30 ++
>> arch/arm/lib/cache-cp15.c | 62 +++-
>> board/nvidia/common/board.c | 21 +-
>> board/nvidia/dts/tegra2-seaboard.dts | 21 +
>> common/cmd_echo.c | 3 +-
>> common/lcd.c | 85 +++-
>> doc/device-tree-bindings/video/nvidia-video.txt | 92 ++++
>> drivers/video/Makefile | 1 +
>> drivers/video/tegra.c | 388 ++++++++++++++++
>> include/configs/seaboard.h | 12 +-
>> include/configs/tegra2-common.h | 1 +
>> include/fdtdec.h | 17 +
>> include/lcd.h | 11 +
>> lib/fdtdec.c | 15 +-
>> 24 files changed, 1862 insertions(+), 31 deletions(-)
>> create mode 100644 arch/arm/cpu/armv7/tegra2/display.c
>> create mode 100644 arch/arm/cpu/armv7/tegra2/pwfm.c
>> create mode 100644 arch/arm/include/asm/arch-tegra2/dc.h
>> create mode 100644 arch/arm/include/asm/arch-tegra2/display.h
>> create mode 100644 arch/arm/include/asm/arch-tegra2/pwfm.h
>> create mode 100644 doc/device-tree-bindings/video/nvidia-video.txt
>> create mode 100644 drivers/video/tegra.c
>>
>
> Hi Simon,
>
> I have added your patch sources manually into the "Prepare v2012.04-rc1
> release", because I got errors at apply. Also I added a device tree source
> file for Harmony.
>
> I tested the device tree source file for Harmony and your patch sources on
> our Harmony hardware and generated a new patch file:
>
> http://poeggi.dotsec.net/nvidia/uboot-lvds-init-patch/0001-Add-display-driver-and-LCD-support-for-Harmony-board.patch
>
> I hope it's all okay, this my first patch release.
>
> In the display.c source file I implemented a bug fix, because I get garbled
> images on the LCD without this fix.
I see this code:
u32 m_value;
m_value = readl(0x54202e04);
m_value &= ~0x2;
writel(m_value, 0x54202e04);
What register are you actually writing here? I can't find it in my
manual, but maybe I just haven't seen that address.
Also I notice you have changed the memorypriorites:
writel(0x00202020, &disp->mem_high_pri);
writel(0x00010101, &disp->mem_high_pri_timer);
Does that make a difference in your system?
Regards,
Simon
>
> Greetings
> Christian
>
> Changes:
>
> - Add device tree source file for Harmony board
> - Add bug fix in display.c
> - Patch based on the "Prepare v2012.04-rc1" release
>
> ---
> README | 7 +
>
> arch/arm/cpu/armv7/cache_v7.c | 11 +
> arch/arm/cpu/armv7/tegra2/Makefile | 1 +
> arch/arm/cpu/armv7/tegra2/display.c | 282 ++++++++++++
> arch/arm/cpu/armv7/tegra2/funcmux.c | 41 ++
> arch/arm/cpu/armv7/tegra2/pwfm.c | 45 ++
> arch/arm/dts/tegra20.dtsi | 26 ++
>
> arch/arm/include/asm/arch-tegra2/dc.h | 544
> +++++++++++++++++++++++
> arch/arm/include/asm/arch-tegra2/display.h | 133 ++++++
> arch/arm/include/asm/arch-tegra2/pwfm.h | 54 +++
> arch/arm/include/asm/system.h | 30 ++
> arch/arm/lib/cache-cp15.c | 61 +++-
> board/nvidia/common/board.c | 20 +
> board/nvidia/dts/tegra2-harmony.dts | 97 ++++
> board/nvidia/dts/tegra2-seaboard.dts | 21 +
> common/cmd_echo.c | 2 +-
> common/lcd.c | 86 +++-
>
> doc/device-tree-bindings/video/nvidia-video.txt | 92 ++++
> drivers/video/Makefile | 1 +
> drivers/video/tegra.c | 397 +++++++++++++++++
> dts/Makefile | 2 +-
> include/configs/harmony.h | 39 ++-
> include/configs/tegra2-common.h | 218 +++++++++-
> include/fdtdec.h | 19 +-
> include/lcd.h | 12 +
> lib/fdtdec.c | 12 +
> 26 files changed, 2206 insertions(+), 47 deletions(-)
>
> create mode 100644 arch/arm/cpu/armv7/tegra2/display.c
> create mode 100644 arch/arm/cpu/armv7/tegra2/pwfm.c
> create mode 100644 arch/arm/include/asm/arch-tegra2/dc.h
> create mode 100644 arch/arm/include/asm/arch-tegra2/display.h
> create mode 100644 arch/arm/include/asm/arch-tegra2/pwfm.h
> create mode 100644 board/nvidia/dts/tegra2-harmony.dts
>
> create mode 100644 doc/device-tree-bindings/video/nvidia-video.txt
> create mode 100644 drivers/video/tegra.c
>
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
More information about the U-Boot
mailing list