Hi,
for the first time I was able to read the values of a controller configuration
register and the values match the default values described in the data sheet.
The trick was to use the new feature of the panel-mipi-debug driver to choose
to send out “generic packets” if instructed.
And I did finally understand how the mapping of 16 bit SPI register numbers
to two MIPI commands works.
This sequence:
echo gff128301 >dcs
echo g0080 >dcs
echo gff1283 >dcs
echo g0080 >dcs
echo gb0rrrrr >dcs
shows this result in dmesg:
[ 8268.330870] dsi: mipi_debug_read(g,b0, 00 01 00 30 04) -> 0
and the data sheet says that 00 01 00 30 04 are indeed the default values
of the “MIPISET1 (B080h)” register.
And - maybe something I had tried wrongly - the video stream must be
turned off while trying to access these registers.
So now I think I can translate the SPI command sequence we have received
as C code into a shell script and we will see if the panel becomes better
initialized and does no longer show the flicker effect.
Then it is quite simple to translate this into (different than the original) C
code for implanting into our kernel driver.
BR,
Nikolaus