We have a DLPC3433 with MIPI-DSI input. I wrote a bash script to cycle through various settings according to the i2c programming guide (uses the standard i2c-tools utilities). It does something like this:
freeze (0x1a 0x01)
set display size to 1024x600 (0x12 0x00 0x04 0x58 0x02)
set source to test pattern (0x05 0x01)
unfreeze (0x1a 0x00)
- The default checkerboard test pattern is shown at this point.
set test pattern to color bars (0x0b 0x08)
- The color bar test pattern is now shown.
freeze (0x1a 0x01)
enable DSI port (0xd7 0x00)
set external video format to DSI (0x07 0x00)
set external video size to 1024x600 (0x2e 0x00 0x04 0x58 0x02)
set DSI clock to 300 MHz (0xbd 0x2c 0x01)
set video source to external (0x05 0x00)
unfreeze (0x1a 0x00)
- The color bar test pattern is still shown, not the external video feed
set source to test pattern (0x05 0x01)
set custom checkerboard test pattern (0x0b 0x07 0x16 0x04 0x00 0x04 0x00)
- The custom checkerboard test pattern is shown.
Can someone verify that everything above looks like the right procedure? Assuming the DSI clock is set to the correct value and the DSI data signals are correctly wired, is this configuration sufficient to get video output?
As a side note, I have noticed that, after setting the display size with 0x12, if I read it back with 0x13, it returns all zeros. This post reports similar behavior. I don't know how to interpret that, but I figure it's worth mentioning in case this is a related issue.
Thanks,
-Mark