Am 27.02.2014 um 03:34 schrieb Michael Mrozek:

Oookay, page 19 of the DCS guide is interesting.

According to a flowchart, a MIPI display is in sleep mode after the
initialization sequence.

And according to MIPI, sleep mode is:
"In Sleep mode, the display module does not show any image data. In
addition, the display interface shall remain powered and along with
those functional blocks necessary to maintain the data in the frame
memory and registers. The remaining functional blocks are placed in
their low power modes. See section 6.5 for a description of Sleep mode."

So yeah, if we just initialized the display without leaving sleep mode,
the display shouldn't show any picture at all.

Did we ever exit the sleep mode?

Yes, of course:

[ 1866.119171] dsi: r63311_write(00)
[ 1866.133605] dsi: r63311_write(b0 04)
[ 1866.149230] dsi: r63311_write(00)
[ 1866.164855] dsi: r63311_write(00)
[ 1866.180480] dsi: r63311_write(b3 14 00 00 00 00 00)
[ 1866.196105] dsi: r63311_write(b6 3a d3)
[ 1866.211730] dsi: r63311_write(c1 84 60 50 00 00 00 00 00 00 0c 01 58 73 ae 31 20 06 00 00 00 00 00 00 10 10 10 10 00 00 00 22 02 02 00)
[ 1866.235168] dsi: r63311_write(c2 31 f7 80 0a 08 00 00)
[ 1866.250793] dsi: r63311_write(c3 01 00 00)
[ 1866.266418] dsi: r63311_write(c4 70 00 00 00 07 05 05 09 09 0c 06 00 00 00 00 07 05 05 09 09 0c 06)
[ 1866.289855] dsi: r63311_write(c6 00 69 00 69 00 69 00 00 00 00 00 69 00 69 00 69 10 19 07 00 01 00 69 00 69 00 69 00 00 00 00 00 69 00 69 00 69 10 19 07)
[ 1866.313293] dsi: r63311_write(c7 00 09 14 26 31 48 3b 52 5f 67 6b 70 00 09 14 26 31 48 3b 52 5f 67 6b 70)
[ 1866.336944] dsi: r63311_write(c8 00 09 14 26 31 48 3b 52 5f 67 6b 70 00 09 14 26 31 48 3b 52 5f 67 6b 70)
[ 1866.360168] dsi: r63311_write(c9 00 09 14 26 31 48 3b 52 5f 67 6b 70 00 09 14 26 31 48 3b 52 5f 67 6b 70)
[ 1866.383605] dsi: r63311_write(cc 09)
[ 1866.399291] dsi: r63311_write(d0 00 00 19 18 99 99 19 01 89 00 55 19 99 01)
[ 1866.414855] dsi: r63311_write(d3 1b 33 bb cc c4 33 33 33 00 01 00 a0 d8 a0 0d 37 33 44 22 70 02 37 03 3d bf 00)
[ 1866.438293] dsi: r63311_write(d5 06 00 00 01 39 01 39)
[ 1866.453918] dsi: r63311_write(d5 06 00 00 01 39 01 39)
[ 1866.500793] dsi: r63311_write(51 ff)
[ 1866.504577] dsi: r63311_write(29)
[ 1866.516418] dsi: r63311_write(11)

BTW:
[ 1866.667999] DISPC: channel 0 xres 1080 yres 1920
[ 1866.668029] DISPC: pck 144000
[ 1866.668029] DISPC: hsw 10 hfp 10 hbp 100 vsw 10 vfp 10 vbp 60
[ 1866.668060] DISPC: vsync_level 0 hsync_level 0 data_pclk_edge 1 de_level 0 sync_pclk_edge 0
[ 1866.668090] DISPC: hsync 120000Hz, vsync 60Hz

(according to DCS, exiting sleep mode is hex code 11h)

Yes. This is BTW the only command that has a visual influence.
10h and 11h make the washed out image invert. But nothing else
(besides changing the register 0Ah).


get_power_mode (0Ah) is probably interesting as well - as it tells us
whether the display is idle, in sleep mode, powered off, etc.
(refer to page 58 of the DCS specs)

Yes, I had checked that a while ago. It works as documented.

The result are bits that are encoded to Hex - impossible to read that
without the DCS Specs guide, so that really should be helpful!

That was not that difficult w/o the DCS command set because the DCS
command set is available in all panels and driver chips. And I have
checked with 4 or 5 of them and some have a pretty good description
of the 10h and 11h and 0Ah commands.

That is why I think our panel is working correct in the standard commands
and the problem must be in the non-standardized area and why we need
the R63311 data sheet.

Ah, if Oculus is member of MIPI they should be able to contact the secretary
to get the name of the MIPI representative of Renesas. And through that
channel they might be able to get the datasheet.

BR,
Nikolaus