• Figuring out the displays

    Bradley Austin Davis09/11/2022 at 20:57 0 comments

    Finally started looking at this project again.  The connector on the displays I purchased looked like it would be compatible with the 22-pin DISP1 connector on the CMIO board for the CM4, but looking at the schematic it turned out to be a 39-pin connector, so I've spent the day digging into what I need to do to both wire up the display and drive it from the hardware.  I've discovered that the connector type on the display is specifically an FH26-39S-0.3SHW connector (apparently obsolete) and that the chipset for the display is a Raydium RM67199.  

    Linux has a built-in driver for the Raydium RM67191 chipset, but not the RM67199.  A google search for "rm67199 driver" found a modified version of the RM67191 driver on the nxp.com forums, but diffing the two files seemed to indicate they were for different Linux versions, as there seemed to be a significant number of constants renamed or moved around.  It's a starting point though, and the modified driver almost certainly contains the critical elements I'll need.

    Wiring is going to be trickier.  Eventually I'll need to use KiCad to create a custom board for the CM4 that will fit inside the enclosure and have custom connectors for the displays, and at that point I'll be able to just use a compatible 39pin FFC ribbon cable and the same connector on the board that exists on the phone.  However, while I'm still prototyping and using the CMIO board I need to find a way to wire both the display and the CMIO ribbon connectors into a breakout board so I can manually figure out the pins.  Fortunately, a quick search on EBay found breakout board for both the CMIO DISP1 connector and the 39pin connector, but they won't arrive for about a month.  

    In the meantime I guess I start researching how to merge the modified display driver with the current Raspbian OS version of Linux and see what needs to happen at the firmware level in order to get any of this to work.  I actually have something like half a dozen LCD displays with DSI connectors on them, and while only the official Raspberry Pi display seems to work out of the box, I'm pretty sure that one of my WaveShare displays will be something I can experiment with until the breakout hardware shows up.