We are trying to use the DSI output through a fpga to drive a monitor.
We’ve got the DSI output signal looking roughly correct, but the frequency is wrong.
For the DSI converter that the TX2 DSI connects to it supports RGB 8:8:8 (24 bits) with DPHY clock expected as 445.5Mhz based on the below calculation
(148.5Mhz (pixel clock for 1080p 60) * 24bits (RGB 888)) / 4 data DSI channels = 891Mhz DSI data rate / 2 = 445.5 Mhz DPHY clock frequency
However, when I measure the clock frequency on DSI0_CLK+ and DSI0_CLK- the clock frequency on scope shows period of 4.480ns (223Mhz) regardless of the setting of the “clock-frequency” setting
How is the “clock-frequency” value convert to the DSI clock frequency on the TX2 ? Also what is the pixel data type configure for the DSI? RGB888 or RAW?
The Device Tree entries for the dsi are as follows:
dsi {
status = "ok";
panel-s-wqxga-10-1 {
status = "ok";
nvidia,dsi-video-data-type = <0x0>; /* VIDEO_MODE (not COMMAND_MODE) */
nvidia,dsi-video-clock-mode = <0x0>; /* CLOCK MODE CONTINUOUS */
/* nvidia,dsi-video-burst-mode = <0x3>; TEGRA_DSI_VIDEO_BURST_MODE_LOW_SPEED */
/* nvidia,dsi-video-burst-mode = <0x0>; TEGRA_DSI_VIDEO_NONE */
nvidia,dsi-video-burst-mode = <0x1>; /* TEGRA_DSI_VIDEO_NONE_WITH_SYNC_END */
nvidia,dsi-power-saving-suspend = <0x0>;
disp-default-out {
nvidia,out-type = <0x2>;
nvidia,out-width = <0xd8>;
nvidia,out-height = <0x87>;
nvidia,out-flags = <0x00>; /* Continious Mode?? (was 0x20 one shot LP Mode) */
nvidia,out-parent-clk = "pll_d";
nvidia,out-xres = <1920>;
nvidia,out-yres = <1080>;
nvidia,out-rotation = <0>;
};
display-timings {
1920x1080-32 {
clock-frequency = <162000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <88>;
hback-porch = <148>;
hsync-len = <44>;
vfront-porch = <4>;
vback-porch = <36>;
vsync-len = <5>;
nvidia,h-ref-to-sync = <1>;
nvidia,v-ref-to-sync = <1>;
};
/delete-node/ 2560x1600-32;
};
};
};
Any insight would be helpful.
Thanks,
Cary