MIPI DBI/ST7789
I know I'm asking for a lot of trouble here, but I'll ask anyway.
I see that, out-of-box, Luckfox Lyra has support for a few DSI displays -- a few more than Raspberry Pi has (wink). However, I'm trying to use something physically smaller than 2.8". I have a few ST7789s lying around, and I know for a fact they will work with the Linux "panel" driver over SPI.
What I am looking for in the way of information:
Which DTS do I modify, if any, to set the chip up so it looks for the display on SPI0.0? SEE BELOW
How do I properly remove the overlay that keeps removing my kernel driver config to include the panel driver, instead of modifying said overlay? SEE BELOW
Where do I configure the display parameters, knowing that Luckfox doesn't have a "config.txt" in the same way that Raspberry Pi does?IGNORE THIS
Thanks
**UPDATE**
While poking around, I managed to get the driver to register, but I'm still having trouble getting the signals to actually output from the module. This is what I have done so far:
-
Modified rk3506-display.config (I'm not sure how to prevent this from overriding my kernel config):
Code: Select all
CONFIG_DRM_PANEL_MIPI_DBI=m -
Added to rk3506-luckfox-lyra.dtsi:
Code: Select all
&spi0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&rm_io7_spi0_clk &rm_io6_spi0_mosi &rm_io5_spi0_miso &rm_io4_spi0_csn0>; dbi_panel: panel@1 { compatible = "panel", "panel-mipi-dbi-spi"; reg = <0>; spi-max-frequency = <40000000>; dc_gpios=<&gpio0 RK_PA3 0>; reset_gpios=<&gpio0 RK_PA2 0>; backlight=<&gpio1 RK_PD3 0>; width-mm = <33>; height-mm = <33>; write-only; panel-timing { hactive = <240>; vactive = <240>; hback-porch = <0>; vback-porch = <0>; clock-frequency = <0>; hfront-porch = <0>; hsync-len = <0>; vfront-porch = <0>; vsync-len = <0>; }; }; }; -
added the appropriate firmware for my ST7789 display, per https://github.com/notro/panel-mipi-dbi/wiki
Any pointers on how to get the SPI and GPIO up and running would be appreciated. The driver isn't throwing any errors in `dmesg` so I'm imagining I must have the pin configuration wrong somehow.