Hi,
I am setting up the 2nd HDMI port on AGX Xavier Devkit. Following the instuction in How the enable 2nd HDMI port with the Xavier? - Jetson & Embedded Systems / Jetson AGX Xavier - NVIDIA Developer Forums, I edit the two files “tegra194-p2822-disp.dtsi” and “tegra194-p2888-0001-p2822-0000-common.dtsi”
My configuration:
Head0->SOR2->HDMI
Head1->SOR0->HDMI
Head2->SOR1->DP
I am using Devkit so the sor0 and sor1 should be output at usb type-c port.
But the problem is: after rebooting, xrandr shows that the HDMI-1 have already been connected while there is nothing plugin to the either type-c port. And no signal output when I plugin the monitor.
nvidia@nvidia-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 620mm x 350mm
3840x2160 60.01*+ 60.02 59.98 50.01 30.00 29.97 25.00 24.00 23.98
4096x2160 60.02 59.98 50.01 30.00 29.97 25.00 24.00 23.98
2560x1440 144.04
1920x1080 120.08 120.00 100.01 60.00 60.00 59.95 50.00 30.00 29.97 25.00 24.00 23.98
1440x900 59.89
1400x1050 59.98
1280x1024 75.03 60.00
1280x960 60.00
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.01
832x624 75.05
800x600 75.00 72.19 60.32 56.25
720x400 70.04
640x480 75.00 72.81 67.06 59.94
HDMI-1 connected (normal left inverted right x axis y axis)
1280x720 60.00 + 59.94 50.00
720x576 50.00
720x480 59.94
640x480 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
The attachments are booting dmesg and the file I edit.
It seems that there is a EDID read problem caused by i2c error. But this error do not happen to HDMI-0 and according to my understanding, EDID should not be read when boot since I haven’t plugin any monitor into HDMI-1 yet.
So how to debug this problem? Are there any else files should be change?
#include <dt-bindings/display/tegra-dc.h>
#include <dt-bindings/display/tegra-panel.h>
#include <t19x-common-platforms/tegra194-hdmi.dtsi>
#include <t19x-common-platforms/tegra194-dp.dtsi>
#include "tegra194-fixed-regulator-p2822-1000.dtsi"
#include "tegra194-spmic-p2888-0001.dtsi"
&head0 {
status = "okay";
nvidia,fb-bpp = <32>;
nvidia,fbmem-size = <265420800>; /* 8K (7680*4320) 32bpp double buffered */
nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
win-mask = <0x3>;
nvidia,fb-win = <0>;
nvidia,dc-connector = <&sor2>;
nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
avdd_hdmi-supply = <&p2888_spmic_sd0>; /* 1v0 */
avdd_hdmi_pll-supply = <&p2888_spmic_sd1>; /* 1v8 */
vdd_hdmi_5v0-supply = <&p2822_vdd_hdmi_5v0>; /* 5v0 */
};
&head1 {
status = "okay";
nvidia,fb-bpp = <32>;
nvidia,fbmem-size = <265420800>; /* 8K (7680*4320) 32bpp double buffered */
nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
win-mask = <0xC>;
nvidia,fb-win = <2>;
nvidia,dc-connector = <&sor0>;
nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
avdd_hdmi-supply = <&p2888_spmic_sd0>; /* 1v0 */
avdd_hdmi_pll-supply = <&p2888_spmic_sd1>; /* 1v8 */
vdd_hdmi_5v0-supply = <&p2822_vdd_hdmi_5v0>; /* 5v0 */
};
&head2 {
status = "okay";
nvidia,fb-bpp = <32>;
nvidia,fbmem-size = <265420800>; /* 8K (7680*4320) 32bpp double buffered */
nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
win-mask = <0x30>;
nvidia,fb-win = <4>;
nvidia,dc-connector = <&sor1>;
nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
vdd-dp-pwr-supply = <&p2888_spmic_sd0>;
avdd-dp-pll-supply = <&p2888_spmic_sd1>;
vdd-edp-sec-mode-supply = <&battery_reg>;
vdd-dp-pad-supply = <&battery_reg>;
vdd_hdmi_5v0-supply = <&p2822_vdd_hdmi_5v0>;
};
&sor0 {
status = "okay";
nvidia,active-panel = <&sor0_hdmi_display>;
};
&sor0_hdmi_display {
status = "okay";
disp-default-out {
nvidia,out-flags = <TEGRA_DC_OUT_HOTPLUG_LOW>;
};
};
&sor1 {
status = "okay";
nvidia,active-panel = <&sor1_dp_display>;
};
&sor1_dp_display {
status = "okay";
nvidia,is_ext_dp_panel = <1>;
};
&sor2 {
status = "okay";
nvidia,active-panel = <&sor2_hdmi_display>;
};
&sor2_hdmi_display {
status = "okay";
disp-default-out {
nvidia,out-flags = <TEGRA_DC_OUT_HOTPLUG_LOW>;
};
};
&dpaux0 {
status = "okay";
};
&dpaux1 {
status = "okay";
};
&dpaux2 {
status = "okay";
};
&tegra_cec {
status = "okay";
};