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

2015-04-29 Thread Tom Warren
I had a problem with the first patch in the V6 patchset (uclass-id.h sorted 
list), but after I fixed that it all applied to u-boot-tegra/master OK. Just 
need to find time to test it on my Nyan, unless someone else can say that 
they've done that and it's good-to-go.

Tom

 -Original Message-
 From: s...@google.com [mailto:s...@google.com] On Behalf Of Simon Glass
 Sent: Monday, April 27, 2015 8:03 PM
 To: U-Boot Mailing List
 Cc: Jimmy Zhang; Tom Warren; Stephen Warren; Simon Glass; Stephen
 Warren; Marek Vasut; Pavel Herrmann; Lukasz Majewski; Jerry Van Baren;
 Anatolij Gustschin
 Subject: Re: [PATCH v6 0/26] tegra: Add eDP support for nyan-big
 
 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 +
   

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

2015-04-27 Thread Simon Glass
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   

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

2015-04-15 Thread Simon Glass
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

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 +-