Getting the MIPI DBI screen for the Sipeed M1S dock to work on Linux

Background What started out as an activity to clear out unused stuff from my cupboard led on to a small project to get Linux working with the MIPI DBI screen for the Sipeed M1S dock. I first got hold of the Sipeed M1S dock back in December 2022. What tempted me was the rich set of features it supports, all in a really small package -- NPU, WiFi/BT/Zigbee, 3 RISCV cores courtesy of the BL808 SoC from Bouffalo Labs. It was also touted as being able to run Linux owing to one of its RISCV cores having an MMU. Beyond playing around with the SDK and a few examples, I didn't venture further due to poor documentation. Quickly, it went back to a box I've conveniently dedicated for dev boards which were marketed to support all kinds of features but disappointingly lack good documentation and were thus chucked aside until I had more time to mess around. That time finally came, in a period when work has gotten mundane and I needed some mental stimulation. In the process of declutter

A blog? Not really.

A blog? Not really. This "blog" is created for the sole purpose of documenting hacks/mods/fixes that I've applied to my Linux installation. Nothing beats the frustration of trying to recall specific hacks/mods/fixes that were done in the past.

However, even though this is very much meant for my own purposes, I hope it helps someone who stumbled upon this page.