Enable eDP on tegradc.0 with SOR

Actually i haven’t any details about the panel. It’s not available on the AUO website. I sent the email to their support team for the spec.

Actually i just want a working LCD panel for my project.
I have seen your post that u made AUO LCD working with TX1 with using E1824 display board.

I have seen TX1 OEM design guide. Chapter 6.2 describes about eDP.
But if u can provide your AUO panel details and brief schematic of E1824 board. It will save my lot of time.

Thanks.

I don’t have the spec, either. Please ask the vendor for it.
As for OEM design, what detail do you want to know?

Hi WayneWWW,

I am using TX1 with R24.2.1
I want to interface AUO 10.1" 1920x1200.

As per your description in below link.
https://devtalk.nvidia.com/default/topic/964977/jetson-tx1/enable-edp-on-tegradc-0-with-sor/post/5018426/#5018426

I have few doubts.

  1. You said to update p2371-2180.conf but I think in R24.2.1 Linux_for_Tegra uses p2371-2180-devkit.conf.
    So which file to update?

  2. You said to use tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dtb instead of tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb.
    So what’s the main difference between p2597-2180-a00 & p2597-2180-a01-devkit?
    Should this auo-1080p-edp.dtb file should be based on p2597-2180-a01-devkit instead of p2597-2180-a00?

  3. You said to update following files in order to add support for custom eDP display.

//dts needed for AUO 14" eDP 
arch/arm64/boot/dts/tegra210-jetson-cv-base-p2597-2180-a00.dts
arch/arm64/boot/dts/tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dts
//files related
arch/arm/mach-tegra/board-panel.c
arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c

I am using AUO 10.1" 1920x1200 2 lanes eDP display. As i am new to the eDP driver, Can you guide what exactly changes need to do?

Hi RiteshPanchal,

The difference between p2597-2180-a00 & p2597-2180-a01-devkit is that p2597-2180-a00 enables a DSI panel which is for NV internal use. To enable eDP panel, which flash config does not matter. The most important is to change the dtb inside.

To see what is the value in the dtb file, there is a tool called dtc which may help.

Dear WayneWWW,
I follow below to do,
https://devtalk.nvidia.com/default/topic/964977/jetson-tx1/enable-edp-on-tegradc-0-with-sor/post/5018426/#5018426

Currently I have a problem is

tegradc tegradc.0: fb registered <= is my last tegradc.0 message
tegradc tegradc.0: dp: plug event received <= I found someone have, but I don’t

What could the reason? What I need to check?

Best regards

Hi FoxK,
Plug event needs hotplug detection (hpd). What error do you have?

Dear WayneWWW,
My issue is the eDP panel screen black, but the back light is on.
I guess the hpd not normal, and after hpd event process not to do.

How do you connect your eDP panel? By using a custom board?

Yes, using a custom board.

Please check if the hw is correct or not first.

Our HW staff said hw is correct. What point you want to check?

Could you share your schematic and dmesg log here?

Attached logs.

Dear Wayne,
Could you share your logs also.

Best regards,
power-On.doc (38.4 KB)

Hi FoxK,

There is a panel selection logic in kernel/arch/arm/mach-tegra/board-panel.c and I guess it does not find your eDP panel but find a DSI.

In tegra_primary_panel_get_dt_node, it would first select the panel according to disp board id,for which I used is an internal board. As a result, this one should return null for you.

You can take a look at available_internal_panel_select(…) to see how to configure it.

Per checking internally, no issue of HPD connection found on the shared page of schematic, but not sure for the HPD connection of other page.

Please make sure have followed OEM Design Guide (Figure 19: eDP connection example) totally, especially note that no PU/PD resistor on HPD net.

hi,
I have made custom eDP display board as per OEM guide.

I have given LCD_BL_EN to external fixed 3.3V. and LCD_BL_PWM to 5KHz 80% duty 3.3V pulse.
I got backlight ON. But black screen with no image

For software i changed the extlinux.config like below,
FDT /boot/tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dtb

So, I am getting the following log

[    2.082192] tegradc tegradc.0: Display dc.54200000 registered with id=0
[    2.087904] of_dc_parse_platform_data: No dc-or-node is defined in DT
[    2.094459] display board info: id 0x0, fab 0x0
[    2.099439] display board info: id 0x0, fab 0x0
[    2.103777] of_dc_parse_platform_data: could not find vrr-settings node
[    2.109947] of_dc_parse_platform_data: nvidia,hdmi-vrr-caps not present
[    2.116508] of_dc_parse_platform_data: could not find cmu node for adobeRGB
[    2.123608] tegradc tegradc.0: DT parsed successfully
[    2.128725] tegradc tegradc.0: DSI: HS clock rate is 467500
[    2.200100] tegradc tegradc.0: nominal-pclk:155774000 parent:155773829 div:1.0 pclk:155773829 154216260~169793660
[    2.272770] tegradc tegradc.0: probed
[    2.354326] tegradc tegradc.0: nominal-pclk:155666000 parent:466996875 div:3.0 pclk:155665625 154109340~169675940
[    2.372409] Console: switching to colour frame buffer device 150x120
[    2.404765] tegradc tegradc.0: fb registered
[    2.409176] tegradc tegradc.1: Display dc.54240000 registered with id=1
[    2.415554] of_dc_parse_platform_data: No dc-or-node is defined in DT

So, i think my DISPLAY BOARD information is missing. (display board info: id 0x0, fab 0x0)
So what changes do in need to add in folloing files to enable AUO panel.

arch/arm/mach-tegra/board-panel.c
arch/arm64/boot/dts/tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dts
arch/arm/mach-tegra/panel-a-edp-1080p-14-0.c
arch/arm/mach-tegra/Makefile

And also my AUO panel is 1920x1200 and 10.1" instead of 1080p 14".

I think there are few steps to make your panel up.

  1. board-panel.c has a logic to select panel, and it would first select internal board, which is what you missed . If the internal one is not shown, it would select according to device tree(dts).

  2. After select, the driver ops is loaded and it has to match your panel.

As I can see, you have “DSI: HS clock rate is 467500” and it means panel select to DSI panel but not eDP.

Please take a look at the logic in board_panel.c. It would help.

Hi WayneWWW,

Thanks for the Reply.

I am using tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dtb
In this file panel-a-edp-1080p-14-0 status is okay. So as per my thought panel-a-edp-1080p-14-0.dtsi file is used for pdata.

  1. I think internal_panel_select_by_disp_board_id in board-panel.c select the internal board. Right?
    How can I define board? I am using the custom board.
    In which dtsi or dts file the board is defined?

  2. How to select panel as eDP not DSI? in this case which driver ops is loaded?

I want to add one more thing.
After using tegra210-jetson-cv-p2597-2180-a00-auo-1080p-edp.dtb

I am getting 2 displays

  1. My Dell HDMI Monitor
  2. Built-In Display with the resolution of 1200x1920. Though it should be 1920x1200 but its showing.

So is this mean that dtb is correctly loaded?
But when seeing in the debug log and as per you said board_info is still missing. So that’s the reason of black display with no video.

After debugging board-panel.c, it seems “a-edp,1080p-14-0” which is defined in panel-a-edp-1080p-14-0.dtsi has not found by board-panel.c function.

I tried to initialise board info manually but same other pdata not found beacuse panel-a-edp-1080p-14-0.dtsi is not found by this file.

display_board.board_id = BOARD_E1824;
display_board.sku = 0x123;

So what other setting i missed?