Other Parts Discussed in Thread: TEST2
Hello,
I'm using a dsi86. And I'm trying to show the colorbar test
on my display, so, not using video from the mipi bus yet.
The DSI86 is using the DSI clock.
The clock is set at 460.2MHz. I have verified it with a scope.
The pll locks, and remains locked.
The auto negotiation succeeds.
But I don't see any color bars. The screen remains black.
I used the DSI tool to generate the register settings
and I checked them manually as well.
The start up sequences is included below.
Any idea what might go wrong?
At this point, the chip is enabled & visible over i2c.
$ i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- 2c -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
# We have some gpio pins that need to be set.
# These are set correctly, so i2c interface seems ok.
$ i2cset -y 2 0x2c 0x5E 0x0C
$ i2cset -y 2 0x2c 0x5F 0x50
# reset registers
$ i2cset -y 2 0x2c 0x09 0x01
$ i2cset -y 2 0x2c 0x5A 0x00
$ i2cset -y 2 0x2c 0x0D 0x00
$ i2cset -y 2 0x2c 0x09 0x01
# select clock
# 3-1: 100 - DSIA clk at 460MHz
$ i2cset -y 2 0x2c 0x0A 0x09
$ i2cget -y 2 0x2c 0x0A
0x09
# dsi
# 6-5: 01 - single channel
# 4-3: 00 - 4 lanes
$ i2cset -y 2 0x2c 0x10 0x26
$ i2cset -y 2 0x2c 0x11 0x00
# dsi clock range
# 7:0: 5C - 460.2MHz
$ i2cset -y 2 0x2c 0x12 0x5C
$ i2cset -y 2 0x2c 0x13 0x5C
# disable enhanced framing & set ASSR
$ i2cset -y 2 0x2c 0x5A 0x00
# DP color format - 24bpp
$ i2cset -y 2 0x2c 0x5B 0x00
# 2 lanes - spread spectrum disabled
$ i2cset -y 2 0x2c 0x93 0x24
# select datarate (we need 2.7Gbps to do 1920*1080@60 over 2 lanes)
$ i2cset -y 2 0x2c 0x94 0x80
# set resolution (extracted from EDID)
# 1920 * 1080
# hori - FP: 58 - SYNC: 42 - BP: 88
# vert - FP: 8 - SYNC: 14 - BP: 16
$ i2cset -y 2 0x2c 0x20 0x80
$ i2cset -y 2 0x2c 0x21 0x07
$ i2cset -y 2 0x2c 0x24 0x38
$ i2cset -y 2 0x2c 0x25 0x04
$ i2cset -y 2 0x2c 0x2C 0x2a
$ i2cset -y 2 0x2c 0x2D 0x00
$ i2cset -y 2 0x2c 0x30 0x0E
$ i2cset -y 2 0x2c 0x31 0x00
$ i2cset -y 2 0x2c 0x34 0x58
$ i2cset -y 2 0x2c 0x36 0x10
$ i2cset -y 2 0x2c 0x38 0x3A
$ i2cset -y 2 0x2c 0x3A 0x08
# enable colorbar
$ i2cset -y 2 0x2c 0x3C 0x18
# enable pll
$ i2cset -y 2 0x2c 0x0D 0x01
# check if pll is locked - MSB must be set.
$ i2cget -y 2 0x2c 0x0A
0x89
# this returns 0x89 -> pll is locked.
# start semi auto link
$ i2cset -y 2 0x2c 0x96 0x0A
$ i2cget -y 2 0x2c 0x96
0x01
# this returns 0x01 -> link ok + switched to normal mode
# Enable video stream - disable ASSR & enhanced framing
$ i2cset -y 2 0x2c 0x5A 0x08
# Dumping the registers afterwards
$ i2cdump -y 2 0x2c
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 36 38 49 53 44 20 20 20 02 00 89 00 00 01 00 00 68ISD ?.?..?..
10: 26 00 5c 5c 00 00 00 00 00 00 00 00 00 00 00 00 &.\\............
20: 80 07 00 00 38 04 00 00 00 00 00 00 2a 00 00 00 ??..8?......*...
30: 0e 00 00 00 58 00 10 00 3a 00 08 00 10 00 00 00 ?...X.?.:.?.?...
40: 09 43 00 00 80 00 3c 08 5e 04 82 00 1e 00 2a 00 ?C..?.<?^??.?.*.
50: 0e 00 80 07 38 04 20 00 40 e4 09 00 10 00 fc 50 ?.??8? .@??.?.?P
60: a0 60 a4 00 00 08 00 00 00 00 00 00 00 00 00 00 ?`?..?..........
70: 00 00 00 00 00 01 02 01 80 81 00 00 00 00 00 00 .....?????......
80: 00 00 00 00 00 00 00 00 00 1f 7c f0 c1 07 1f 7c .........?|????|
90: f0 c1 07 64 80 00 01 04 01 00 00 00 00 00 00 00 ???d?.???.......
a0: 01 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 ?...............
b0: 04 78 ac ac 08 6c 9c 9c 0c 5c 5c 5c 0c 0c 0c 0c ?x???l???\\\????
c0: 3f 3f 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 ???.............
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
f0: 00 23 00 00 00 02 00 00 01 00 00 00 00 00 00 00 .#...?..?.......
What could be the reason I have a black screen instead of a colorbar?
Best regards,
Lo2