Display Port/Expansion on Jetson TK1

If the user wants to use HDMI as the primary (in terms of being the console device for the system), they should use the “fbcon=map:1” kernel command line parameter, as done on Jetson TK1. If they want the internal panel to be primary, don’t pass this argument to the kernel.

From the X11 perspective, user can use Xorg.conf, the Ubuntu graphical display tool, or xrandr to set-up mirror or extended modes with these two displays within one X server.

The display controller has two heads, dc.0 (panel) and dc.1 (HDMI). We don’t provide a means for swapping those two

Thanks

dongie, did you ever manage to get your display working?

I don’t have time to deal with Lunix, so no.
Hardware should work as far as I can tell.
I don’t really want to recompile kernels or edit scripts and whatever stuff.
I think this kind of thing should be working out of the box.

Just to recap

Tegra K1 support eDP, but not (external) DP that “eDP → DP adapter” with DP monitor do not work on Jetson TK1 irrelevant of what mentioned in Intel eDP>DP testing doc.
Update : see #46 instead

Tegra K1 TRM, p1681:

22.1 Overview
The Tegra ® K1 LVDS/eDP Serial Output Resource (SOR) block is a display output controller, with two operating modes, supporting either Low Voltage Differential Signaling (LVDS) or Embedded DisplayPort (eDP). It drives local panels only and does not support an external DP port. The LVDS/eDP SOR block collects pixels from the output of the display pipeline, formats/encodes them to the LVDS/eDP
format, and then streams them to various output devices. The LVDS/eDP block consists of individual resources that can interface with different display devices. An LVDS/eDP block can drive only a single device at any given time and can be connected to any display controller (Head).

eDP and DP are electrically the same tho, plus there exist passthrough adapters for e.g. ipad retina adapter that simply convert connectors, and those panels are eDP, so it should work. I sent one of the adapters I made to one of the guys here, let’s see if he can make it work on the Lunix side of things.

dongie,

I was mistaken and making corrections.

Since (external) DP products require HDCP and audio, we didn’t announce TK1 supports (external) DP.

DP/eDP protocols are same, so you can use TK1 to light up (external) DP monitors.

I think you should use extra short DP cable or at least try with low resolution.

hello,bbasu

I have try edp to my custom board.
I follow your step to enable edp

  1. Remove “fb=map:1” from kernel command line to get console over display_controller.0. Instead add display board number in command line, “displayboard=0x0720”. You can do this in jetson-tk1.conf file

  2. Remove the below code from target which disable dc.0, file : /etc/init/nv.conf

remove power to dc.0 for jetson-tk1

machine=cat /sys/devices/soc0/machine
if [ “${machine}” = “jetson-tk1” ] ; then
echo 4 > /sys/class/graphics/fb0/blank
BoardRevision=cat /proc/device-tree/chosen/board_info/major_revision
if [ “${BoardRevision}” = “A” ] ||
[ “${BoardRevision}” = “B” ] ||
[ “${BoardRevision}” = “C” ] ||
[ “${BoardRevision}” = “D” ]; then
echo 0 > /sys/devices/platform/tegra-otg/enable_device
echo 1 > /sys/devices/platform/tegra-otg/enable_host
fi
fi

Flash as usual

But it’s not work.

I don’t understand “Make sure that you have the display board id in your kernel command line”
Can you tell me detail?

It’s important for me.
Thank you.

I think he meant that do doublecheck that the “displayboard=xxxxx” parameter you put to the jetson-tk1.conf file really is passed to the kernel. You can check the kernel command line after you have booted to Ubuntu by:

cat /proc/cmdline

Hi,

I am thinking to kick start some adapter like this http://imall.iteadstudio.com/im130425001.html

What a fantastic fucking idea! How about making sure the shitty software works first?
There hasn’t been a single report of DisplayPort working on this heap of junk, and it’s been sitting in my office for over a year now with no solution. YAY!

Also: Do you REALLY need a kickstarter for a $3 piece of PCB?

I for one could use such an adapter. One of the reasons why display panels and other hardware are so difficult to get working is because of signal timings being critical in some cases. Simply wiring something in is not so easy at modern high speeds. Some sort of simple adapter would be of use.

I need confirmation of page 9 in JetsonTK1_Module_Spec.pdf

pins 43, 45.
LVDS_TXD4_N LVDS Clock lane (+) or eDP Data lane 3 (+)
LVDS_TXD4_P LVDS Clock lane (-) or eDP Data lane 3 (-)

The _N/_P notation goes opposite from what everything else uses for lanes 0…2 and AUX lane.
Which one is correct?

A) LVDS_TXD4_N = eDP L3_N, LVDS_TXD4_P = eDP L3_P
or
B) LVDS_TXD4_N = eDP L3_P, LVDS_TXD4_P = eDP L3_N

Actaully pics on page 10 have all the lanes +/- reversed on “Figure 4: eDP 4-Lane Connection Example”.

Also, why is AUX_P and AUX_N both pulled DOWN by 100k, spec says AUX_N must be pulled up 100K after AC couple cap, and AUX_P must be pulled down 100K after AC couple cap. EDIT: never mind this, looks like PD is requirement by tegra Hardware design guide, and PU/PD after AC cap is per Displayport SPEC.

Can someone who actually knows this hardware confirm the lane stuff, please.

I’d suggest cross-checking those with Jetson TK1 schematic and Tegra K1 datasheet.

Hi dongie,

You’re right.
Actually these will be corrected in the next release of both JetsonTK1_Module_Spec.pdf & TegraK1_Embedded_DG.pdf.

A) LVDS_TXD4_N = eDP L3_N, LVDS_TXD4_P = eDP L3_P is the correct one.

It is indeed all the lanes +/- reversed on “Figure 4: eDP 4-Lane Coonection Example”, It should not be reversed.

100K pull down resistors are not required on AUX_P and AUX_N for eDP.
It is not Tegra design requirement either.
We could still bring up a couple of eDP panels with pull down resistors on AUX_P & AUX_N on Jetson TK1 that it was not caught up earlier.

EDIT: 100K pull down resistors on AUX_P & AUX_N will continue to be shown on next release of JetsonTK1_Module_Spec.pdf since they are in the actual Jetson TK1 board.

Module spec

Embedded DG

Thanks for the corrections. I made adjustments to my TK1>DP adapter and will make the PCB this week.
Are there any updates on the software side, so that we can just plug-and-play a DP connection?
I mean, surely things like panel/display timings can be just read out via DPCD/EDID? Why do we need to make some custom kernel editing in order to use a standard panel?

Made new revision board, still nothing works. Is there an updated OS image with working Displayport output?
also: I have no jetson-tk1.conf and I dont know what it is referring to.

My knowledge of displayport is very limited. However, the jetson-tk1.conf refers to the L4T installation software. When this is unpacked on your x86 host there is a “Linux_for_Tegra” subdirectory, and jetson-tk1.conf is in that subdirectory along with the flash.sh script. A typical command line for flash causes this .conf file to be used during flash:

sudo flash.sh -S 14580MiB jetson-tk1 mmcblk0p1

While compiling the l4t kernel I’ve definitely seen some edp related messages. I’ll see if I can turn up anything useful in that regard.

Nvidia really ought to be way more helpful on this particular subject. Surely they have someone who tested an eDP display on the Jetson who knows exactly how to do this. Right…?

Yes in the l4t kernel config, under Graphics support eDP panel is enabled.

The kernel also has a driver enabled for this DSI bridge to eDP chip. Is that on the Jetson?