Problem

AliExpress has lots of cute 1:1 720p LCDs for Blackberry Q5 (and, surprisingly, for GB IPS kits) as cheap as $5 (e.g. https://aliexpress.ru/item/1005001691676877.html ). And yet, I can't find any info on how to use them with MIPI compatible boards!

Solution

Buy one display, document it and share the information with all the Hackaday.io community! :P

How?

---------- more ----------
  1. Find out how to connect this thing to the board.
    1. Use a datasheet
      I found out that this display is called LT031MDZ4000 and is made by JDI. Here's the datasheet: https://zb.16rd.com/data/uploads/2018/03/28/17067954525abb3de8c86d5.pdf (thanks @arturo182!)
      Highlights of interesting things from the datasheet:
      1. Pinout:
      2. Socket: Hirose BM14B(0.8)-30DP-0.4V(51)
      3. The display shall support 24 bits of colour depth per pixel
      4. LCD reset and PWM shall be capable of operating using 1.8V and 2.85V (+/-3%). The logic 1 and 0 shall be greater than 0.75 * VIO and less than 0.25 * VIO respectively.
      5. The MIPI DSI interface shall be powered by the 1.8V rail.
      6. The PWM frequency shall be tuneable to a value greater than 40KHz
    2. Reverse-engineer a board that is using this display
      AliExpress has some not-so-cheap kits to connect Q5 LCD via HDMI. Here are some examples:
      https://aliexpress.ru/item/32842416506.html
      https://aliexpress.ru/item/1005002007924664.html
      Blue board on the bottom is a generic HDMI to MIPI interface (which was reverse engineered https://hackaday.io/project/168212-mipi-hdmi-bridge-re), the board that matters for this project is an adapter board with two DSI MIPI connectors.
  2. Write a driver for Linux kernel
    1. Use a datasheet?
      Only these things are know from the datasheet in terms of communication with driver IC:
      1. The driver IC shall support MIPI DSI interface
      2. The driver IC MIPI DSI interface shall support a minimum bandwidth of 720 x 720 x 24bits x 1.2
        overhead x 60fps
      3. The driver IC shall support a method to identify the driver IC model
      4. The driver IC shall support CBABC (Content Based Automatic Backlight Control)
      5. The CBABC scaling value register/PWM resolution shall be at least 8bits
      6. Module ID format: