I am an experienced sw engineer with a keen interest in Android internal, but I am new to device trees and DSI displays. I have already spent a good couple of days investigating this issue and so far I have made the following observations:
Btw, I am using a Rock Pi 4 B+.
- device/rockchip/rk3399/BoardConfig.mk:
PRODUCT_KERNEL_DTS points to rk3399-sapphire-excavator-edp-avb. I have no idea how this file relates to the Rock Pi 4B+
I modified the file to point to rk3399-rockpi-4b instead
- rk3399-rockpi-4b:
line 334 points to compatible =“simple-panel-dsi”;
As far as I can tell, this corresponds to the driver kernel/drivers/gpu/drm/panel/panel-simple.c which seems to represent a generic dsi display panel, please correct me if this wrong.
- The only specific reference to the raspberry pi display I can find, is the touch screen driver found at kernel/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c which does not seem to feature in any of the referenced dts/dtsi files.
- As I understand it, the Raspberry Pi display uses a Toshiba TC358762 bridge chip, to bridge between DSI and DPI. I cannot find find a kernel driver for this chip in the kernel referenced in the Android 10 source tree. The closest I can find is kernel/drivers/gpu/drm/bridge/tc358767.c.
Taking all of this into account it seems as if there is quite allot of work still required to get the Raspberry Pi display working.