MIPI DSI Bringup on Dragonboard 845

Hi Everyone,

I have created a custom PCB that is mainly a variation of Dragonboard 845, I have been able to make it work with multiple interfaces by editing the device tree and changing the drivers to fit my board. Currently I am working on MIPI DSI screen bring up. This is what I have done up until now, I have a panel with a driver IC whos documentation is available and I have edited “rad,radiyum-rm67191” driver to match my driver code with initialization commands, I have added the device tree entry on DSI 0, when the kernel starts I can read the logs that panel is being called but I get different errors every time the probe function is run and there are errors from mdss mostly,
[ 179.646485] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 179.664891] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 179.674406] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 179.681193] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 179.709165] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 179.726983] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 179.736512] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 179.743295] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 179.771216] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 179.790151] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 179.799681] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 179.806481] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 179.834657] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 179.853791] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 179.863307] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 179.870113] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 179.898434] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 179.917488] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 179.927020] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 179.933823] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 179.960111] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 179.979799] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 179.989404] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 179.996203] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.023678] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.042060] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.051558] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.058350] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.086527] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.105569] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.115094] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.121892] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.147841] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.166695] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.176246] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.183030] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.215755] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.235323] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.244857] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.251662] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.278637] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.296782] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.306300] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.313089] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.340214] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.360975] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.370482] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.377274] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.405152] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.423090] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.432601] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.439383] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.466465] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.485737] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.495262] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.502051] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.530096] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.551038] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.560576] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.567369] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.596067] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.614798] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.624338] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.631119] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.658320] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.676232] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.685856] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.692642] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.719479] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.737735] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.747252] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.754047] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.781946] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.800218] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.809730] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.816518] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.843780] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.863564] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.873092] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.879900] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.907645] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.926144] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.935653] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 180.942445] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 180.971089] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 180.989401] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 180.998901] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 181.005693] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 181.034489] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 181.054033] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 181.063570] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 181.070371] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 181.097992] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 181.116900] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 181.126422] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 181.133218] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 181.160044] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 181.178627] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 181.188153] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 181.194953] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 181.228145] msm ae00000.mdss: bound ae01000.mdp (ops dpu_ops [msm])
[ 181.246556] msm ae00000.mdss: bound ae90000.displayport-controller (ops dp_display_comp_ops [msm])
[ 181.256060] panel-xm901080: probe of ae94000.dsi.0 failed with error -12
[ 181.262859] msm_dsi_manager_register: failed to register mipi dsi host for DSI 0: -517
[ 181.290716] [drm:dpu_bind:1176] [dpu error]failed to init kms, ret=-11
[ 181.297406] msm ae00000.mdss: failed to bind ae01000.mdp (ops dpu_ops [msm]): -11
[ 181.305181] msm ae00000.mdss: master bind failed: -11
[ 181.310292] msm_dsi: probe of ae94000.dsi failed with error -11

I have managed to follow everything but I have a feeling I am missing something and that is related to the mdss or device tree, if there is any information regarding to this available please let me know.

Another small query is that I am using OpenEmbedded path to create custom linux images for my board, there is a part of kernel command line parameters I cant seem to find the display parameter that get added to the kernel

[    0.000000] Kernel command line: root=/dev/sda1 rw rootwait console=ttyMSM0,115200n8 clk_ignore_unused pd_ignore_unused androidboot.bootdevice=1d84000.ufshc androidboot.serialno=cb7a3fbd androidboot.baseband=msm **msm_drm.dsi_display0=dsi_lt9611_1080_video_display:**

I want to change this parameter to my own display and I cannot seem to pin point where this is passed to the system I have found others but not this.

Thanks for reading,

Hi,

Did you find a fix ? I have the same issue but with the carrier board ? :sweat_smile:

Same messages with for exemple Linaro Linux version 21.12 on carrier board with the default screen.

Thanks

Hi @AntoineP can you please explain further, what type of panel you are using and how you are connecting, I got close to the error , I think that probe is deferring somehow and I am debugging the driver code because this panel has no documentation on the internet.

I hope you are using some upstreamed panel so we can proceed further,

Thanks,

Regards,

Hi @inam_tah726

I’m using the Open-Q 845 carrier board with the screen of the Open-Q 820 carrier board.

First of all, I started the defaut processor on the demo board. MIPI screen was working (forgot to test HDMI/Display port).
Then, I flashed the OpenEmbedded Software from 96 boards but no MIPI screen detected as well as hdmi screen.

And I tried many others sources/firmewares like Linaro Linux 21.12 , Linux AOSP, or build Linaro OpenEmbedded RPB but none of them are working with screens…

With UART I can see the device booting but flooded by the same logs as you.

This is not a custom board nor a custom firmeware, I am missing something obvious :sweat_smile:

Regards,

Hi @AntoineP

Have you edited the device tree to match your hardware for Linux Linaro sources. Since I believe that those are made for D845 SoM (I have seen the device tree files which they use and they are compaitable with that SoM) If you have not looked at this at deeper level then these logs make sense because it is trying to find LT9611 bridge IC on DSI0 and it is not finding anything. I will recommend you to check the device tree files which is available in the kernel/arch/arm64/boot/dts/qcom/sdm845-db845c.dts, this file defines the hardware and after that you have to add the panel device driver in the drm. I think this will require certain amount of research from your side to properly make the display functional.

There is information on this platform you can have a search on making DSI display working on dragonboard 845.

As for me I have gone through these steps the thing I now think is there is some hardware issue that is causing the errors.

Thanks,

Regards,

Hi @inam_tah726

I hadn’t noticed this difference between the RB3 Development Platform and the Open-Q carrier board.
These guys are selling a processors with a yocto, but their yocto is not working with any screen :face_with_raised_eyebrow:

Thanks you fo your answers,

Regards,