You need some more practice in writing overlays
My overlay relies on mipi-dpi-spi driver --> for any details on how to generate the required binary file you can leverage my posts related to SPI displays.
This overlay is confirmed working (tested on Pi5). I've not fine tuned it neither will I do extensive testing. Take it as is or leave it.
your config.txt needsThere are overrides for the GPIO's - not tested but should work.
I've used a 4in display for this. If you want to use another one you will have to change the compatible/width-mm/height-mm/hactive/vactive.
In case of multiple SPI displays with backlight property you will have to use unique display-no override.

My overlay relies on mipi-dpi-spi driver --> for any details on how to generate the required binary file you can leverage my posts related to SPI displays.
This overlay is confirmed working (tested on Pi5). I've not fine tuned it neither will I do extensive testing. Take it as is or leave it.
Code:
/* * spi5-1cs-pi5-mipidbilcd-overlay.dts * rev0.1 * aBUGSworstnightmare *//dts-v1/;/plugin/;#include <dt-bindings/gpio/gpio.h>/ {compatible = "brcm,bcm2712";fragment@0 {target = <&gpio>;__overlay__ {control_lcd5: control_lcd5 {brcm,pins = <4 6>;brcm,function = <1 1>; /* out out*/};};};fragment@50 {target = <&spi5>;frag51: __overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;cs-gpios = <&gpio 12 1>;status = "okay";spidev5_0: spidev@0 {compatible = "spidev";reg = <0>; /* CE0 */#address-cells = <1>;#size-cells = <0>;spi-max-frequency = <125000000>;status = "okay";};};};fragment@51 {target = <&spi5>;__overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;status = "okay";panel_lcd5: panel@0{compatible = "4in", "panel-mipi-dbi-spi";reg = <0>;pinctrl-names = "default";pinctrl-0 = <&control_lcd5>;spi-max-frequency = <38000000>;spi-cpha;spi-cpol;reset-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;dc-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;width-mm = <84>;height-mm = <56>;timing_5: panel-timing {hactive = <480>;vactive = <320>;hback-porch = <0>;vback-porch = <0>;clock-frequency = <0>;hfront-porch = <0>;hsync-len = <0>;vfront-porch = <0>;vsync-len = <0>;};};};};fragment@100 {target = <&panel_lcd5>;__dormant__ {backlight = <&backlight>;};};fragment@101 {target-path = "/";__dormant__ {backlight: backlight@0 {reg = <0>;compatible = "gpio-backlight";status = "okay";};};};__overrides__ {cs0_pin_5 = <&frag51>,"cs-gpios:4";cs0_spidev_5 = <&spidev5_0>,"status";x-offset = <&timing_5>, "hback-porch:0";y-offset = <&timing_5>, "vback-porch:0";reset-gpio= <&panel_lcd5>, "reset-gpios:0=", <&gpio>,<&panel_lcd5>, "reset-gpios:4",<&panel_lcd5>, "reset-gpios:8=0"; /* GPIO_ACTIVE_HIGH */dc-gpio= <&panel_lcd5>, "dc-gpios:0=", <&gpio>,<&panel_lcd5>, "dc-gpios:4",<&panel_lcd5>, "dc-gpios:8=0"; /* GPIO_ACTIVE_HIGH */backlight-gpio= <0>, "+100+101",<&backlight>, "gpios:0=", <&gpio>,<&backlight>, "gpios:4",<&backlight>, "gpios:8=0"; /* GPIO_ACTIVE_HIGH */display-no = <&backlight>, "reg:0";};};
your config.txt needs
Code:
# 480x320pixels 4in SPI display on SPI5dtoverlay=spi5-1cs-pi5-mipidbilcd,speed=48000000dtparam=cs0_pin_5=12,cs0_spidev_5=offdtparam=reset-gpio=4,dc-gpio=6,backlight-gpio=5dtparam=panel-no=0
I've used a 4in display for this. If you want to use another one you will have to change the compatible/width-mm/height-mm/hactive/vactive.
In case of multiple SPI displays with backlight property you will have to use unique display-no override.
Not frustration! I don't have any benefit from posting on this topic. I've started it as a proof of concept, demonstrated and posted what needs to be done. Now it's up to the user and/or LCD manufacturer to come up with their required binary for running their displays...
So i managed to find some previous posts where you outlined what you've done to get them working several times so I understand your frustration. But thanks for sharing your knowledge I really appreciate it.
..
Statistics: Posted by aBUGSworstnightmare — Tue May 07, 2024 7:20 am