Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 5442

Troubleshooting • Re: ILI9341 SPI display with SPI5

$
0
0
You need some more practice in writing overlays :oops:

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
There 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.
spi5.jpg
..
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.
..
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.

Statistics: Posted by aBUGSworstnightmare — Tue May 07, 2024 7:20 am



Viewing all articles
Browse latest Browse all 5442

Trending Articles