Hi Tom, Jimmy, On 14 April 2015 at 21:03, Simon Glass <s...@chromium.org> wrote: > This series adds eDP support for nyan-big 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
Any comments on this new version please? > > Changes in v6: > - Add a comment about tegra_dc_dp_check_sink() > - Add more debug() statements > - Add new patch to sort the uclasses > - Fix incorrect use of DP_MAIN_LINK_CHANNEL_CODING_SET register > - Improve retry logic in tegra_dc_dp_check_sink() > - Report failure when we cannot init the eDP display > > Changes in v4: > - Rebase on u-boot-dm/next since this series is still pending > > Changes in v3: > - Add full link training support > - Change parameters of update_display_mode() > - Fix 64-bit maths error > - Fix trainging typo > - Reorder parameters to tegra_dc_sor_attach() > - Set scramble_ena to 1 on start-up so that link training succeeds > - Simplify timouts to remove repeated multiplication by 1000 > - Use real error return values in tegra_dc_dpaux_write_chunk() and others > - Use sor pointer in struct tegra_dp_priv > > Changes in v2: > - Rebase on top of u-boot-dm > - Remove definition of BIT() > > Simon Glass (26): > dm: core: Sort the uclasses > dm: gpio: Add error handling and a function to claim vector GPIOs > fdt: Add binding decode function for display-timings > tegra: Move the pwm 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/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 | 67 +- > 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 +- > arch/arm/mach-tegra/Makefile | 1 + > arch/arm/mach-tegra/board.c | 8 - > arch/arm/mach-tegra/clock.c | 83 +- > arch/arm/mach-tegra/{tegra20 => }/pwm.c | 7 +- > arch/arm/mach-tegra/tegra124/clock.c | 141 +- > arch/arm/mach-tegra/tegra20/Makefile | 1 - > arch/arm/mach-tegra/tegra20/display.c | 2 +- > board/nvidia/common/board.c | 40 +- > board/nvidia/nyan-big/nyan-big.c | 34 +- > common/edid.c | 105 ++ > configs/nyan-big_defconfig | 2 + > .../gpu/nvidia,tegra20-host1x.txt | 372 +++++ > doc/device-tree-bindings/video/display-timing.txt | 110 ++ > drivers/gpio/gpio-uclass.c | 38 +- > drivers/power/as3722.c | 16 +- > drivers/video/Kconfig | 15 + > drivers/video/Makefile | 6 + > drivers/video/dp-uclass.c | 34 + > drivers/video/tegra124/Makefile | 10 + > drivers/video/tegra124/display.c | 472 ++++++ > drivers/video/tegra124/displayport.h | 412 +++++ > drivers/video/tegra124/dp.c | 1607 > ++++++++++++++++++++ > drivers/video/tegra124/sor.c | 1024 +++++++++++++ > drivers/video/tegra124/sor.h | 922 +++++++++++ > drivers/video/tegra124/tegra124-lcd.c | 97 ++ > include/asm-generic/gpio.h | 15 +- > include/configs/nyan-big.h | 14 + > include/configs/tegra-common-post.h | 2 +- > include/displayport.h | 60 + > include/dm/uclass-id.h | 29 +- > include/edid.h | 19 + > include/fdtdec.h | 81 + > include/linux/drm_dp_helper.h | 406 +++++ > include/power/as3722.h | 3 + > lib/fdtdec.c | 95 ++ > 48 files changed, 6599 insertions(+), 142 deletions(-) > 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 > rename arch/arm/mach-tegra/{tegra20 => }/pwm.c (93%) > 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot