Enabling 2 HDMI Outputs on TX2

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,


Hi Cobrein,

What error did you hit?