We have a custom carrier board with two HDMI outputs. We have a modified device tree with both HDMI outputs enabled, and overall this works.
We do have a problem with dropouts with some monitors. We don’t seem to see these dropouts if we are running with the default device tree in the LinuxForTegra distribution.
I looked at the ‘factory default’ device tree entries for the hdmi, and compared that with the 2-hdmi device tree config we created using information from the forum. There are some slight differences, and I’d like to understand these differences better to see if that’s causing the intermittent dropout we’re seeing.
(This is sdiff output, | indicates a difference < > inserted/deleted lines.
nvdisplay@15220000 { nvdisplay@15220000 {
compatible = "nvidia,tegra186-dc"; compatible = "nvidia,tegra186-dc";
reg = <0x0 0x15220000 0x0 0x10000>; reg = <0x0 0x15220000 0x0 0x10000>;
interrupts = <0x0 0x9b 0x4>; interrupts = <0x0 0x9b 0x4>;
win-mask = <0x20>; win-mask = <0x20>;
#stream-id-cells = <0x1>; #stream-id-cells = <0x1>;
nvidia,dc-ctrlnum = <0x2>; nvidia,dc-ctrlnum = <0x2>;
clocks = <0xbc 0xd 0x9c 0xd 0x9e 0xd 0x9b 0x clocks = <0xbc 0xd 0x9c 0xd 0x9e 0xd 0x9b 0x
clock-names = "clk32k_in", "nvdisplay_disp", clock-names = "clk32k_in", "nvdisplay_disp",
resets = <0xd 0x5c 0xd 0x5d 0xd 0x5e 0xd 0x5 resets = <0xd 0x5c 0xd 0x5d 0xd 0x5e 0xd 0x5
reset-names = "misc", "wgrp0", "wgrp1", "wgr reset-names = "misc", "wgrp0", "wgrp1", "wgr
status = "disabled"; | status = "okay";
nvidia,dc-flags = <0x1>; nvidia,dc-flags = <0x1>;
nvidia,emc-clk-rate = <0x11e1a300>; nvidia,emc-clk-rate = <0x11e1a300>;
nvidia,fb-bpp = <0x20>; nvidia,fb-bpp = <0x20>;
nvidia,fb-flags = <0x1>; nvidia,fb-flags = <0x1>;
nvidia,fb-win = <0x5>; nvidia,fb-win = <0x5>;
nvidia,dc-or-node = "/host1x/sor"; nvidia,dc-or-node = "/host1x/sor";
nvidia,cmu-enable = <0x1>; nvidia,cmu-enable = <0x1>;
vdd-dp-pwr-supply = <0x1a>; | vdd_hdmi_5v0-supply = <0xc3>;
avdd-dp-pll-supply = <0x1a>; | avdd_hdmi-supply = <0xc2>;
vdd-edp-sec-mode-supply = <0x1a>; | avdd_hdmi_pll-supply = <0xe>;
vdd-dp-pad-supply = <0x1a>; <
vdd_hdmi_5v0-supply = <0x1a>; <
linux,phandle = <0x5b>; linux,phandle = <0x5b>;
phandle = <0x5b>; phandle = <0x5b>;
}; };
I understand setting status to OK enables the output.
Does it matter that the pll and power supply settings are different?
This is from the decompiled fdt file pulled from a running unit, so unfortunately
the references to other dt nodes aren’t shown here.
Thanks in Advance,
Cary