Hello,
I designed a custom carrier board and have a mini display port on DP0. I followed the following threads:
Since I don’t have the 5V regulator for HDMI, I disabled it as suggested in sources/kernel/nvidia/drivers/video/tegra/dc/of_dc.c
My device tree file, tegra186-quill-p3310-1000-a00-00-base.dts has the following settings, which simply enables DP0 and DP1 for display port:
sor {
status = "okay";
bootloader-status = "okay";
nvidia,active-panel = <&sor0_dp_display>;
dp-display {
status = "okay";
bootloader-status = "okay";
};
hdmi-display {
status = "disabled";
};
panel-s-edp-uhdtv-15-6 {
smartdimmer {
status = "disabled";
};
};
};
dpaux@155c0000 {
status = "okay";
bootloader-status = "okay";
};
sor1 {
status = "okay";
bootloader-status = "okay";
nvidia,active-panel = <&sor1_dp_display>;
hdmi-display {
status = "disabled";
};
dp-display {
status = "okay";
bootloader-status = "okay";
};
};
dpaux@15040000 {
status = "okay";
bootloader-status = "okay";
};
nvdisplay@15200000 {
status = "okay";
nvidia,dc-or-node = "/host1x/sor";
nvidia,dc-connector = <&sor0>;
nvidia,fb-win = <0>;
win-mask = <0x3>;
};
nvdisplay@15210000 {
status = "okay";
nvidia,dc-or-node = "/host1x/sor1";
nvidia,dc-connector = <&sor1>;
nvidia,fb-win = <2>;
win-mask = <0xC>;
};
nvdisplay@15220000 {
status = "disabled";
nvidia,dc-or-node = "/host1x/dsi";
nvidia,fb-win = <4>;
win-mask = <0x30>;
};
As you can see from the following log, it looks like there is no problem, however, the Dell monitor I have goes into sleep mode, as it detects no DP signal (however, it does detect something, as when I unplug the cable, it stays awake). I use a display port to mini display port cable (in case that’s important, no adapters are used).
root@ubuntu-desktop:~# dmesg | grep nvdisplay
[ 0.409904] iommu: Adding device 15200000.nvdisplay to group 32
[ 0.409996] platform 15200000.nvdisplay: OF IOVA linear map 0x9607d000 size (0x800000)
[ 0.410030] platform 15200000.nvdisplay: OF IOVA linear map 0x9607a000 size (0x2008)
[ 0.410469] iommu: Adding device 15210000.nvdisplay to group 33
[ 0.410554] platform 15210000.nvdisplay: OF IOVA linear map 0x9607d000 size (0x800000)
[ 0.410583] platform 15210000.nvdisplay: OF IOVA linear map 0x9607a000 size (0x2008)
[ 0.951165] tegradc 15200000.nvdisplay: disp0 connected to head0->/host1x/sor
[ 0.951318] tegradc 15200000.nvdisplay: DT parsed successfully
[ 0.951340] tegradc 15200000.nvdisplay: Display dc.ffffff800b690000 registered with id=0
[ 0.958745] tegradc 15200000.nvdisplay: vblank syncpt # 8 for dc 0
[ 0.958751] tegradc 15200000.nvdisplay: vpulse3 syncpt # 9 for dc 0
[ 0.968812] tegradc 15200000.nvdisplay: probed
[ 0.969170] tegradc 15200000.nvdisplay: fb registered
[ 0.972551] tegradc 15200000.nvdisplay: blank - powerdown
[ 0.973029] tegradc 15210000.nvdisplay: disp1 connected to head1->/host1x/sor1
[ 0.973163] tegradc 15210000.nvdisplay: DT parsed successfully
[ 0.973184] tegradc 15210000.nvdisplay: Display dc.ffffff800b790000 registered with id=1
[ 0.973386] tegradc 15210000.nvdisplay: vblank syncpt # 11 for dc 1
[ 0.973391] tegradc 15210000.nvdisplay: vpulse3 syncpt # 12 for dc 1
[ 0.974290] tegradc 15210000.nvdisplay: Bootloader disp_param detected. Detected mode: 1920x1080 (on 0x0mm) pclk=148350937
[ 0.978138] tegradc 15210000.nvdisplay: probed
[ 0.999680] tegradc 15210000.nvdisplay: fb registered
[ 1.000260] tegradc 15210000.nvdisplay: blank - powerdown
[ 4.911447] tegradc 15200000.nvdisplay: blank - powerdown
[ 4.911456] tegradc 15210000.nvdisplay: blank - powerdown
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/nvdisplay@15200000/status
00000000: 6f6b 6179 00 okay.
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/nvdisplay@15210000/status
00000000: 6f6b 6179 00 okay.
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/nvdisplay@15220000/status
00000000: 6469 7361 626c 6564 00 disabled.
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/sor/status
00000000: 6f6b 6179 00 okay.
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/sor1/status
00000000: 6f6b 6179 00 okay.
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/sor/dp-display/status
00000000: 6f6b 6179 00 okay.
root@ubuntu-desktop:~# xxd /proc/device-tree/host1x/sor1/dp-display/status
00000000: 6f6b 6179 00 okay.
Lastly I tried checking /sys/kernel/debug/tegra_dp0/hotplug, but it stays at 0
Here is the full dmesg log: dmesg.log (82.3 KB)