using DP0 as HDMI on TX2

Hi,

On our custom carrier board, DP0 port is set as HDMI and I try to use this as HDMI. I used tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts and tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dts but there is not a progress. Linux cannot get EDID data from monitor.

dmesg output:

[    8.677728] tegradc 15210000.nvdisplay: unblank
[    8.677740] PD DISP0 index2 UP
[    8.679407] PD DISP1 index3 UP
[    8.679696] PD DISP2 index4 UP
[    8.685530] Parent Clock set for DC plld2
[    8.691062] edid invalid
[    8.692961] edid invalid
[    8.693065] edid invalid
[    8.693149] tegradc 15210000.nvdisplay: hdmi: pclk:25200K, set prod-setting:prod_c_54M
[    8.697190] scsi 2:0:0:0: Direct-Access     SanDisk  Ultra Fit        1.00 PQ: 0 ANSI: 6
[    8.697898] sd 2:0:0:0: [sda] 60062500 512-byte logical blocks: (30.8 GB/28.6 GiB)
[    8.699301] sd 2:0:0:0: [sda] Write Protect is off
[    8.699305] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00
[    8.700084] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    8.707782]  sda: sda1
[    8.710147] sd 2:0:0:0: [sda] Attached SCSI removable disk
[    8.884310] tegra-i2c 3190000.i2c: rx dma timeout txlen:28 rxlen:128
[    8.884317] tegra-i2c 3190000.i2c: --- register dump for debugging ----
[    8.884327] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
[    8.884333] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[    8.884339] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0x1c
[    8.884345] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800040
[    8.884398] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0x6c
[    8.884408] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x2
[    8.884455] tegra-i2c 3190000.i2c: i2c transfer timed out addr: 0x50

You can also find full dmesg output attached.

I also changed tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts with below parameters but had no effect.

//Enable Display Port
  host1x {

    //(HEADs)
    nvdisplay@15200000 {
      //Display Controller 0
      status = "disabled";
      //Specify where to send the output of this display controller
      nvidia,dc-or-node = "/host1x/dsi";
    };
    nvdisplay@15210000 {
      //Display Controller 1
      status = "okay";
      //Specify where to send the output of this display controller
      nvidia,dc-or-node = "/host1x/sor1";
    };
    nvdisplay@15220000 {
      //Display Controller 2
      status = "okay";
      //Specify where to send the output of this display controller
      nvidia,dc-or-node = "/host1x/sor";
    };



    //Output Resources
    sor {
      //Serial Output Resource 0
      status = "okay";
      dp-display {
        status = "disabled";
      };
      hdmi-display {
        status = "okay";
      };
      panel-s-edp-uhdtv-15-6 {
        smartdimmer {
          status = "disabled";
        };
      };
    };
    dpaux@155c0000 {
      //Display Port Aux For Channel 0 (Coupled with SOR0)
      status = "disabled";
    };

    sor1 {
      //Serial Output Resource 1
      status = "okay";
      dp-display {
        status = "disabled";
	//bootloader-status = "disabled";
      };
      hdmi-display {
        status = "okay";
      };
    };
    dsi@153000000 {
      status = "disabled";
    };


    //Display Port Aux For Channel 1 (Coupled with SOR1)
    dpaux@15040000 {
      status = "okay";
      //bootloader-status = "okay";
    };

  };

dmesg.txt (126 KB)

ckaya,

Does your carrier follow the OEM DG? I only see one HDMI in your log. How about the other HDMI port? Is it working?

On our carrier board we have only one HDMI port (DP0). I cannot test other HDMI port. How can I enable HDMI_DP0 or both HDMI ports?

Oh. Sorry that I misunderstood your request. Are you using DP0 as alternative HDMI port and your usecase is still single HDMI case?

Yes, you are right. We want to use DP0 as HDMI port and it is the only one HDMI port on our carrier.

Please check the I2C used on this, seems it failed to reach monitor.

We cecked I2C line (B34, B35) of DP0 and there was not any signal on that line. How can I set the correct I2C line for this channel?

From SW aspect, I am not sure why your statement does not match your device tree. You enable 2 HDMI in your DT but you said only need one HDMI.

Could you check dpaux is set correctly or not?

Dear WayneWWW,

Could you please tell me how to check dpaux? Where should I look at?

I just wonder what is your final DTB flashed to the device. The DTB you posted enabled two HDMI but you said you only need one.

ckaya, Did you succeed in that?
I’m on the same situation here.

Thanks

marked