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

Interfacing (DSI, CSI, I2C, etc.) • Re: Raspberry Pi 5 and 6 SPI screens

$
0
0
This is FOC so NO SUPPORT AT ALL!
Will not bother to answer a single question related to this overlay as I spend enough time for getting this working.
You will need a PC9685 to use it. You need to think carefully on which SPI interface your going to use if you need 6 displays.

Code:

/* * mipi-dbi-4display-overlay.dts * (c) by aBUGSworstnightmare *//dts-v1/;/plugin/;#include <dt-bindings/gpio/gpio.h>#include <dt-bindings/leds/common.h>/ {compatible = "brcm,bcm2712";fragment@0 {target = <&spi0_cs_pins>;frag0: __overlay__ {brcm,pins = <8>;};};fragment@1 {target = <&spi0>;frag1: __overlay__ {cs-gpios = <&gpio 8 1>;status = "okay";};};fragment@2 {target = <&spidev0>;__overlay__ {status = "disabled";};};fragment@3 {target = <&spidev1>;__overlay__ {status = "disabled";};};fragment@4 {target = <&spi0_pins>;__dormant__ {brcm,pins = <10 11>;};};fragment@10 {target = <&gpio>;__overlay__ {control_lcd0: control_lcd0 {brcm,pins = <24 25>;brcm,function = <1 1>; /* out out*/};};};fragment@12 {target = <&spi0>;__overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;status = "okay";panel_lcd0: panel@0 {compatible = "4in", "panel-mipi-dbi-spi";reg = <0>;pinctrl-names = "default";pinctrl-0 = <&control_lcd0>;backlight = <&backlight_0>;spi-max-frequency = <48000000>;write-only;spi-cpha;spi-cpol;reset-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;dc-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;width-mm = <84>;height-mm = <56>;timing0: 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@30 {target = <&gpio>;__overlay__ {control_lcd3: control_lcd3 {brcm,pins = <27>;brcm,function = <1>; /* out out*/};};};fragment@31 {target = <&spi3>;frag31: __overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;cs-gpios = <&gpio 4 1>;status = "okay";spidev3_0: spidev@0 {compatible = "spidev";reg = <0>;      /* CE0 */#address-cells = <1>;#size-cells = <0>;spi-max-frequency = <125000000>;status = "okay";};};};fragment@32 {target = <&spi3>;__overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;status = "okay";panel_lcd3: panel@0 {compatible = "wavesku24382", "panel-mipi-dbi-spi";reg = <0>;pinctrl-names = "default";pinctrl-0 = <&control_lcd3>;backlight = <&backlight_3>;spi-max-frequency = <38000000>;write-only;spi-cpha;spi-cpol;reset-gpios = <&pca 2 GPIO_ACTIVE_HIGH>;dc-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;width-mm = <31>;height-mm = <39>;timing_3: panel-timing {hactive = <240>;vactive = <280>;hback-porch = <0>;vback-porch = <20>;clock-frequency = <0>;hfront-porch = <0>;hsync-len = <0>;vfront-porch = <0>;vsync-len = <0>;};};};};fragment@50{target = <&gpio>;__overlay__ {control_lcd5: control_lcd5 {brcm,pins = <22>;brcm,function = <1>; /* out*/};};};fragment@59{target = <&gpio>;__overlay__ {control_lcd2: control_lcd2 {brcm,pins = <20>;brcm,function = <1>; /* out*/};};};fragment@51 {target = <&spi5>;frag51: __overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;cs-gpios = <&gpio 12 1>, <&gpio 26 1>;status = "okay";spidev5_0: spidev@0 {compatible = "spidev";reg = <0>;      /* CE0 */#address-cells = <1>;#size-cells = <0>;spi-max-frequency = <125000000>;status = "okay";};spidev5_1: spidev@1 {compatible = "spidev";reg = <1>;      /* CE1 */#address-cells = <1>;#size-cells = <0>;spi-max-frequency = <125000000>;status = "okay";};};};fragment@52 {target = <&spi5>;__overlay__ {/* needed to avoid dtc warning */#address-cells = <1>;#size-cells = <0>;status = "okay";panel_lcd5: panel@0{compatible = "wavesku18366", "panel-mipi-dbi-spi";reg = <0>;pinctrl-names = "default";pinctrl-0 = <&control_lcd5>;backlight = <&backlight_5>;spi-max-frequency = <38000000>;write-only;spi-cpha;spi-cpol;reset-gpios = <&pca 3 GPIO_ACTIVE_HIGH>;dc-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;width-mm = <57>;height-mm = <43>;timing_5: panel-timing {hactive = <320>;vactive = <240>;hback-porch = <0>;vback-porch = <0>;clock-frequency = <0>;hfront-porch = <0>;hsync-len = <0>;vfront-porch = <0>;vsync-len = <0>;};};panel_lcd2: panel@1{compatible = "wavesku18366", "panel-mipi-dbi-spi";reg = <1>;pinctrl-names = "default";pinctrl-0 = <&control_lcd2>;backlight = <&backlight_2>;spi-max-frequency = <38000000>;write-only;spi-cpha;spi-cpol;reset-gpios = <&pca 1 GPIO_ACTIVE_HIGH>;dc-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;width-mm = <57>;height-mm = <43>;timing_2: panel-timing {hactive = <320>;vactive = <240>;hback-porch = <0>;vback-porch = <0>;clock-frequency = <0>;hfront-porch = <0>;hsync-len = <0>;vfront-porch = <0>;vsync-len = <0>;};};};};fragment@100 {target = <&i2c_arm>;__overlay__ {#address-cells = <1>;#size-cells = <0>;clock-frequency = <400000>;status = "okay";pca: pca@40 {compatible = "nxp,pca9685-pwm";#pwm-cells = <2>;gpio-controller;#gpio-cells = <2>;reg = <0x40>;status = "okay";gpio-line-names = "RESET_0",    "RESET_2",  "RESET_3",  "RESET_5",  "STATE_0",  "STATE_1",  "STATE_2",  "STATE_3",  "PWM_BL0",  "EN_BL0",  "PWM_BL2",  "EN_BL2",  "PWM_BL3",  "EN_BL3",  "PWM_BL5",  "EN_BL5";};};};fragment@101 {target-path = "/";__overlay__ {controls: controls@0 {compatible = "gpio-leds";status = "okay";state0: state0@1 {label = "state0";linux,default-trigger = "none";gpios = <&pca 4 0>;};state1: state1@1 {label = "state1";linux,default-trigger = "none";gpios = <&pca 5 0>;};state2: state2@1 {label = "state2";linux,default-trigger = "none";gpios = <&pca 6 0>;};state3: state3@1 {label = "state3";linux,default-trigger = "none";gpios = <&pca 7 0>;};};backlight_0: backlight_0@1 {reg = <0>;compatible = "pwm-backlight";brightness-levels = <0 4095>;num-interpolated-steps = <4096>;default-brightness-level = <4096>;pwms = <&pca 8 5000000>;// enable signal controlled by PCA9586-#9enable-gpios = <&pca 9 0>;status = "okay";};backlight_2: backlight_2@1 {reg = <1>;compatible = "pwm-backlight";brightness-levels = <0 4095>;num-interpolated-steps = <4096>;default-brightness-level = <4096>;pwms = <&pca 10 5000000>;// enable signal controlled by PCA9586-#11enable-gpios = <&pca 11 0>;status = "okay";};backlight_3: backlight_3@1 {reg = <2>;compatible = "pwm-backlight";brightness-levels = <0 4095>;num-interpolated-steps = <4096>;default-brightness-level = <4096>;pwms = <&pca 12 5000000>;// enable signal controlled by PCA9586-#13enable-gpios = <&pca 13 0>;status = "okay";};backlight_5: backlight_5@1 {reg = <3>;compatible = "pwm-backlight";brightness-levels = <0 4095>;num-interpolated-steps = <4096>;default-brightness-level = <4096>;pwms = <&pca 14 5000000>;// enable signal controlled by PCA9586-#15enable-gpios = <&pca 15 0>;status = "okay";};};};__overrides__ {cs0_pin_3  = <&frag31>,"cs-gpios:4";cs0_spidev_3 = <&spidev3_0>,"status";cs0_pin_5  = <&frag51>,"cs-gpios:4";cs0_spidev_5 = <&spidev5_0>,"status";cs1_pin_5  = <&frag51>,"cs-gpios:4";cs1_spidev_5 = <&spidev5_1>,"status";state0_low = <&state0>,"default-state=off";state0_high = <&state0>,"default-state=on";state1_low = <&state1>,"default-state=off";state1_high = <&state1>,"default-state=on";state2_low = <&state2>,"default-state=off";state2_high = <&state2>,"default-state=on";state3_low = <&state3>,"default-state=off";state3_high = <&state3>,"default-state=on";};};

Code:

dtoverlay=mipi-dbi-4displaydtparam=cs0_pin_5=12,cs0_spidev_5=offdtparam=cs0_pin_3=4,cs0_spidev_3=offdtparam=cs0_spidev_5=offdtparam=cs0_spidev_3=offdtparam=state0_high,state3_high

Statistics: Posted by aBUGSworstnightmare — Tue Apr 02, 2024 1:13 pm



Viewing all articles
Browse latest Browse all 4909

Trending Articles