[U-Boot] [PATCH 0/25] tegra: Add eDP support for nyan-big

Simon Glass sjg at chromium.org
Tue Jan 20 16:59:06 CET 2015


Hi Tom,

On 1 December 2014 at 17:48, Simon Glass <sjg at chromium.org> wrote:
>
> This series adds eDP support for nyan-bg so that the display works.
>
> Nyan-big is based on tegra124.
>
> Some support is added for new clocks to make this work. The drm_dp_helper.h
> file is brought in from Linux since many of the DisplayPort constants are
> generic. A very simple uclass is added for DisplayPort, and the Tegra
> driver makes use of that. The U-Boot EDID support is enhanced to read some
> additional information (detailed timings).
>
> There is existing video support for Tegra20, but I don't think it works for
> Tegra30/114 (is this correct?). This series relies on detecting the display
> at run-time as I cannot find a good device tree binding for things like
> display depth. But if we could resolve that then it might be possible to
> move Tegra20 over to use the same driver, etc. There is clearly a lot in
> common with the display controllers - I have exploited this with the header
> file but not with the C file.
>
> HDMI is not supported at present. If this is easy and there is an existing
> driver to follow along with then I might be able to incorporate it later.
>
> This series is available at u-boot-dm/nyan-working

Does this series look OK?

>
>
> Simon Glass (25):
>   dm: tegra: config: Increase pre-reloc malloc() to 6KB
>   fdt: Add binding decode function for display-timings
>   tegra: Move the pww into tegra-common
>   tegra: pwm: Allow the clock rate to be left as is
>   tegra: Move checkboard() into the board code
>   tegra: Add a board ID function
>   power: Export register access functions from as3722
>   tegra: Provide a function to allow LCD PMIC setup
>   tegra: Add support for setting up a as3722 PMIC
>   tegra: nyan-big: Add LCD PMIC init and board ID
>   tegra124: dts: Add host1x node to provide display information
>   tegra: config: Use CONFIG_LCD to detect LCD presence
>   tegra: clock: Add checking for invalid clock IDs
>   tegra: clock: Split the clock source code into a separate function
>   tegra124: clock: Add display clocks and functions
>   tegra: Move display controller header into common
>   video: Add drm_dp_helper.h
>   edid: Add a function to read detailed monitor timings
>   dm: video: Add a uclass for display port
>   tegra: dts: nyan-big: Add definitions for eDP display
>   tegra: video: Support serial output resource (SOR) on tegra124
>   tegra: video: Add Embedded DisplayPort driver
>   tegra: video: support eDP displays on Tegra124 devices
>   tegra: config: nyan-big: Enable LCD
>   tegra124: video: Add full link training for eDP
>
>  arch/arm/cpu/armv7/tegra-common/Makefile           |    1 +
>  arch/arm/cpu/armv7/{tegra20 => tegra-common}/pwm.c |    5 +-
>  arch/arm/cpu/armv7/tegra20/Makefile                |    1 -
>  arch/arm/cpu/armv7/tegra20/display.c               |    2 +-
>  arch/arm/cpu/tegra-common/board.c                  |    8 -
>  arch/arm/cpu/tegra-common/clock.c                  |   83 +-
>  arch/arm/cpu/tegra124-common/clock.c               |  141 +-
>  arch/arm/dts/tegra124-nyan-big.dts                 |   47 +
>  arch/arm/dts/tegra124.dtsi                         |   84 ++
>  arch/arm/include/asm/arch-tegra/clk_rst.h          |   15 +-
>  arch/arm/include/asm/arch-tegra/clock.h            |   14 +
>  .../include/asm/{arch-tegra20 => arch-tegra}/dc.h  |   63 +-
>  arch/arm/include/asm/arch-tegra/pwm.h              |   60 +
>  arch/arm/include/asm/arch-tegra/sys_proto.h        |   19 +-
>  arch/arm/include/asm/arch-tegra124/clock-tables.h  |    3 +-
>  arch/arm/include/asm/arch-tegra124/clock.h         |   21 +
>  arch/arm/include/asm/arch-tegra124/display.h       |   58 +
>  arch/arm/include/asm/arch-tegra124/pwm.h           |   14 +
>  arch/arm/include/asm/arch-tegra20/display.h        |    2 +-
>  arch/arm/include/asm/arch-tegra20/pwm.h            |   54 +-
>  board/nvidia/common/board.c                        |   40 +-
>  board/nvidia/nyan-big/nyan-big.c                   |   34 +-
>  common/edid.c                                      |  106 ++
>  configs/nyan-big_defconfig                         |    2 +
>  .../gpu/nvidia,tegra20-host1x.txt                  |  372 +++++
>  doc/device-tree-bindings/video/display-timing.txt  |  110 ++
>  drivers/power/as3722.c                             |   16 +-
>  drivers/video/Kconfig                              |   14 +
>  drivers/video/Makefile                             |    6 +
>  drivers/video/dp-uclass.c                          |   34 +
>  drivers/video/tegra124/Makefile                    |   10 +
>  drivers/video/tegra124/display.c                   |  354 +++++
>  drivers/video/tegra124/displayport.h               |  412 ++++++
>  drivers/video/tegra124/dp.c                        | 1500 ++++++++++++++++++++
>  drivers/video/tegra124/sor.c                       |  951 +++++++++++++
>  drivers/video/tegra124/sor.h                       |  913 ++++++++++++
>  drivers/video/tegra124/tegra124-lcd.c              |   94 ++
>  include/configs/nyan-big.h                         |   13 +
>  include/configs/tegra-common-post.h                |    2 +-
>  include/configs/tegra-common.h                     |    2 +-
>  include/displayport.h                              |   60 +
>  include/dm/uclass-id.h                             |    1 +
>  include/edid.h                                     |   19 +
>  include/fdtdec.h                                   |   83 ++
>  include/linux/drm_dp_helper.h                      |  405 ++++++
>  include/power/as3722.h                             |    3 +
>  lib/fdtdec.c                                       |   95 ++
>  47 files changed, 6224 insertions(+), 122 deletions(-)
>  rename arch/arm/cpu/armv7/{tegra20 => tegra-common}/pwm.c (95%)
>  rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/dc.h (89%)
>  create mode 100644 arch/arm/include/asm/arch-tegra/pwm.h
>  create mode 100644 arch/arm/include/asm/arch-tegra124/display.h
>  create mode 100644 arch/arm/include/asm/arch-tegra124/pwm.h
>  create mode 100644 doc/device-tree-bindings/gpu/nvidia,tegra20-host1x.txt
>  create mode 100644 doc/device-tree-bindings/video/display-timing.txt
>  create mode 100644 drivers/video/dp-uclass.c
>  create mode 100644 drivers/video/tegra124/Makefile
>  create mode 100644 drivers/video/tegra124/display.c
>  create mode 100644 drivers/video/tegra124/displayport.h
>  create mode 100644 drivers/video/tegra124/dp.c
>  create mode 100644 drivers/video/tegra124/sor.c
>  create mode 100644 drivers/video/tegra124/sor.h
>  create mode 100644 drivers/video/tegra124/tegra124-lcd.c
>  create mode 100644 include/displayport.h
>  create mode 100644 include/linux/drm_dp_helper.h
>
> --
> 2.2.0.rc0.207.ga3a616c
>

Regards,
Simon


More information about the U-Boot mailing list