tx2 display abnormally with hdim_output

hello,
The vision of kernel source is R28.2.

  1. update the kernel on tx2 with following steps:
#sudo cp Image /boot
  #sudo cp zImage /boot
  #sync
  #sudo reboot

2.flash kernel-dtb

#sudo cp kernel_out/....../dts/tegra186-quill-p3310-1000-c03-base.dtb Linux_for_Tegra/kernel/dtb/
  #cd Linux_for_Tegra
  #sudo ./flash.sh -r -k  kernel-dtb jetson-tx2 mmcblk0p1

Then,the board start success with hdmi-display.
I unplug the power and plugged the power in a few hours later. But my monitor display only with error message.
I’m very confused. The print message:

nvidia@tegra-ubuntu:~$ [   12.080283] tegradc 15210000.nvdisplay: unblank
[   12.627536] tegradc 15210000.nvdisplay: blank - normal
[   13.927781] tegradc 15210000.nvdisplay: unblank
[   16.680308] tegradc 15210000.nvdisplay: unblank
[   17.732310] tegradc 15210000.nvdisplay: unblank
[   18.236584] gk20a 17000000.gp10b: railgate is disabled.
[   19.232292] tegradc 15210000.nvdisplay: unblank
[   20.692307] tegradc 15210000.nvdisplay: unblank
[   21.222883] tegradc 15210000.nvdisplay: blank - normal
[   21.500871] eqos 2490000.ether_qos eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   21.502033] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   22.457523] tegradc 15210000.nvdisplay: unblank
[   23.836446] extcon-gpio-states external-connection:extcon@1: Cable state 2
[   23.843336] tegra-xotg xotg: update_id_state: ID grounded
[   23.860459] extcon-gpio-states external-connection:extcon@1: Cable state 0
[   23.867354] tegra-xotg xotg: update_id_state: ID floating
[   24.928304] tegradc 15210000.nvdisplay: unblank
[   25.980285] tegradc 15210000.nvdisplay: unblank
[   26.507433] gk20a 17000000.gp10b: railgate is disabled.
[   27.504308] tegradc 15210000.nvdisplay: unblank
[   28.968290] tegradc 15210000.nvdisplay: unblank
[   29.551402] tegradc 15210000.nvdisplay: blank - normal
[   30.798688] tegradc 15210000.nvdisplay: unblank
[   33.252296] tegradc 15210000.nvdisplay: unblank
[   34.304308] tegradc 15210000.nvdisplay: unblank
[   34.814158] gk20a 17000000.gp10b: railgate is disabled.
[   35.808295] tegradc 15210000.nvdisplay: unblank
[   37.280316] tegradc 15210000.nvdisplay: unblank
[   37.846221] tegradc 15210000.nvdisplay: blank - normal
[   39.065423] tegradc 15210000.nvdisplay: unblank
[   39.124494] extcon-gpio-states external-connection:extcon@1: Cable state 2
[   39.124511] tegra-xotg xotg: update_id_state: ID grounded
[   39.136479] extcon-gpio-states external-connection:extcon@1: Cable state 0
[   39.136493] tegra-xotg xotg: update_id_state: ID floating
[   41.504293] tegradc 15210000.nvdisplay: unblank
[   42.548310] tegradc 15210000.nvdisplay: unblank
[   43.065870] gk20a 17000000.gp10b: railgate is disabled.
[   44.060301] tegradc 15210000.nvdisplay: unblank
[   45.532288] tegradc 15210000.nvdisplay: unblank
[   46.064191] tegradc 15210000.nvdisplay: blank - normal
[   47.308864] tegradc 15210000.nvdisplay: unblank
[   49.732314] tegradc 15210000.nvdisplay: unblank
[   50.788312] tegradc 15210000.nvdisplay: unblank
[   51.298391] gk20a 17000000.gp10b: railgate is disabled.
[   52.296299] tegradc 15210000.nvdisplay: unblank

I don’t know how to solve it.
I would be very appreciate with any suggestion.

reference found:
https://devtalk.nvidia.com/default/topic/1001880/jetson-tx2/tx2-not-booting-after-successful-flashing-/3
https://devtalk.nvidia.com/default/topic/1003956/jetson-tx2/tx2-not-booting-up-with-hdmi-connected/post/5160211/#5160211

Hi 2284810331,

Do you add anything to your kernel and dtb? Can this reproduce on fresh jetpack3.2?

hello WayneWWW,

I modify the kernel source:
1.I modify the following code because I want to use usb on my carried board.

pincrl@3520000{
vbus-0-supply = <&vdd_usb0_5v>;
vbus-1-supply = <&vdd_usb1_5v>;
//vbus-2-supply = <&vdd_usb2_5v>;
//vbus-3-supply = <&battery_reg>;
vbus-2-supply = <&battery_reg>;  
vbus-3-supply = <&vdd_usb2_5v>;
}

2.I modify the mode.c:

if(!check_ref_to_sync(mode,verbose))
      if(verbose)
         dev_err(&dc->ndev->dev,"Display timing doesn't meet restrictions.\n");
      //return  false;

3.I add edid to dtb.
1280x1024@60Hz

IMG20180329093310.jpg

IMG20180329093310.jpg

You skipped this for any purpose? Does your EDID not support by tegra?

dev_err(&dc->ndev->dev,"Display timing doesn't meet restrictions.\n");

I add this edid to dtb of tx2_R28.1,and it display normally.
I also commit out “return false”.

hello WayneWWW,

I firstly flash tx2 with my own Image and tegra186-quill-p3310-1000-c03-00-base.dtb .And the board start normally and display normally with the resolution 1280x1024@60Hz which I achieve it by adding edid to dtb.

Then I unplug the power and plugged the power in a few hours later. But there is no hdmi-display.
I’m very confused.

2284810331,

Hotplug and boot up with display connected are two different sw path. As a result, I guess the second time the device driver does not read the your 1280x1024 mode from dtb.

Please try to add the mode in edid.c as the “default_720p_edid”.

hello WayneWWW,

I have tried this practice below:
I flash tx2 with Linux_for_Tegra that I don’t change anything .And the board start normally and display normally with a certain resolution.But the resolution change to 1280x720 a few minutes.

Then I unplug the power and plugged the power in a few hours later. But I don’t enter desktop because desktop report the error message “too low resolution”.

So,I think the the resolution of default_720p_edid too low.

2284810331,

Few things to check:

  1. Why do you need to use custom edid? Does tegra not support any of your panel edid?

  2. If the answer is 1 is yes, what is your target edid? Is that 1280x1024@60Hz? Has it ever worked on your panel?

If yes, please overwrite 1280x1024@60Hz edid to default_720p_edid and try.

Too low resolution means your panel cannot support 720p.