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

Interfacing (DSI, CSI, I2C, etc.) • SN65DSI84 based solution working on Pi5

$
0
0
With the files from that pull request added to my system the screen is not coming alive as the bridge is not getting initialized (no device on 0x2c)

Code:

pi@Pi5-4-SN530:~ $ ls /sys/bus/i2c/driversdummy  leds-pca963x  pca953x  sn65dsi83  stmpe-i2cpi@Pi5-4-SN530:~ $ sudo i2cdetect -y 4     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f00:                         -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- UU -- -- -- --      


https://paste.debian.net/hidden/4fefde14/

it doesn't matter if the DSI in configured for 3- or 4 lanes - I'm ending up with no display.
What I've also noticed is that I'm no longer able to power down the Pi - neither a shutdown command, nor reboot will result in a restart. Also the power button is no longer working.

Code:

/* * vc4-kms-dsi-ti-sn65dsi83-evo-pi5-devicetree-overlay.dts * * requires below modules to be enabled in the kernel-config: * Device Drivers-Graphics support-Display Panels * ---> Generic LVDS panel driver * * Device Drivers-Graphics support-Display Interface Bridges * ---> TI SN65DSI83 and SN65DSI84 DSI to LVDS bridge * * Device Drivers-Graphics support-Backlight & LCD device support * ---> Generic LED based Backlight Driver *//dts-v1/;/plugin/;#include <dt-bindings/gpio/gpio.h>#include <dt-bindings/leds/common.h>/ {compatible = "brcm,bcm2835";/* PCA9538 GPIO expander, address 0x73 */fragment@0 {target = <&i2c_csi_dsi>;__overlay__ {#address-cells = <1>;#size-cells = <0>;status = "okay";pca: pca@73 {compatible = "nxp,pca9538";reg = <0x73>;gpio-controller;#gpio-cells = <2>;gpio-line-names = "EN_REG",  "BLEN_1",  "AUX1_2",  "AUX1-1",  "AUX2_2",  "AUX2_1",  "BLEN_2",  "EN_PCA";status = "okay";aux12: aux12 {gpio-hog;gpios = <2 GPIO_ACTIVE_HIGH>;};aux11: aux11 {gpio-hog;gpios = <3 GPIO_ACTIVE_HIGH>;};aux22: aux22 {gpio-hog;gpios = <4 GPIO_ACTIVE_HIGH>;};aux21: aux21 {gpio-hog;gpios = <5 GPIO_ACTIVE_HIGH>;};};};};/* PCA9632 LED driver, address 0x62 */fragment@1 {target = <&i2c_csi_dsi>;__overlay__ {#address-cells = <1>;#size-cells = <0>;status = "okay";pca9632: pca9632@62 {compatible = "nxp,pca9632";#address-cells = <1>;#size-cells = <0>;reg = <0x62>;/*PCA9632 defaults to open-drain outputpull-ups were added, hence PWM needs tobe inverted */nxp,inverted-out;bl1: bl1@0 {reg = <0>;function = LED_FUNCTION_BACKLIGHT;color = <LED_COLOR_ID_WHITE>;linux,default-trigger = "backlight";label = "bl1";};bl2: bl2@1 {reg = <1>;function = LED_FUNCTION_BACKLIGHT;color = <LED_COLOR_ID_WHITE>;linux,default-trigger = "backlight";label = "bl2";};unused2: unused2@2 {reg = <2>;linux,default-trigger = "none";};unused3: unused3@3 {reg = <3>;linux,default-trigger = "none";};};};};fragment@2 {target-path = "/";__overlay__ {reg_sn65dsi83_1v8: reg_sn65dsi83_1v8@1{reg = <1>;compatible = "regulator-fixed";regulator-name = "vcc-sn65dsi83_1";regulator-min-microvolt = <1800000>;regulator-max-microvolt = <1800000>;regulator-boot-on;enable-active-high;/* regulator enable through PCA9538 IO0 */gpios = <&pca 0 GPIO_ACTIVE_HIGH>;status = "okay";};};};fragment@4 {target-path = "/";__overlay__ {/* Panel backlight through PCA9632 channel0 */backlight_lvds: backlight {compatible = "led-backlight";leds = <&bl1>;brightness-levels = <0 6 8 12 16 24 32 40 48 64 96 128 160 192 224 255>;default-brightness-level = <16>;/* BL enable through PCA9538 IO6 */enable-gpios  = <&pca 6 0>;};panel: panel {compatible = "panel-lvds";/* panel enable through PCA9538 IO1 */enable-gpios = <&pca 1 0>;backlight = <&backlight_lvds>;/* Physical dimensions of active area */width-mm = <94>;height-mm = <150>;data-mapping = "jeida-18";/* chungwa claa070wp03xg (Google Nexus 7 Gen1) *//* 800x1280pixel portrait mode timing */panel-timing {clock-frequency = <72310000>;hactive = <800>;vactive = <1280>;hfront-porch = <85>;hback-porch = <32>;hsync-len = <16>;vfront-porch = <6>;vback-porch = <2>;vsync-len = <2>;hsync-active = <0>; /* Active LOW */vsync-active = <0>;de-active = <1>; /* Active HIGH */};port {panel_in_lvds: endpoint {remote-endpoint = <&bridge_out>;};};};};};fragment@5 {target = <&i2c_csi_dsi>;__overlay__ {#gpio-cells = <2>;#address-cells = <1>;#size-cells = <0>;status = "okay";bridge@2c {compatible = "ti,sn65dsi83";reg = <0x2c>;enable-gpios  = <&pca 7 0>;vcc-supply = <&reg_sn65dsi83_1v8>;ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;bridge_in: endpoint {remote-endpoint = <&dsi_out_port>;data-lanes = <0 1 2>;};};port@2 {reg = <2>;bridge_out: endpoint {remote-endpoint = <&panel_in_lvds>;};};};};};};fragment@6 {target = <&dsi1>;__overlay__ {#address-cells = <1>;#size-cells = <0>;status = "okay";port {dsi_out_port: endpoint {remote-endpoint = <&bridge_in>;data-lanes = <0 1 2>;};};};};fragment@10 {target = <&aux11>;__overlay__ {output-low;};};fragment@11 {target = <&aux11>;__dormant__ {output-high;};};fragment@12 {target = <&aux12>;__overlay__ {output-low;};};fragment@13 {target = <&aux12>;__dormant__ {output-high;};};fragment@14 {target = <&aux21>;__overlay__ {output-low;};};fragment@15 {target = <&aux21>;__dormant__ {output-high;};};fragment@16 {target = <&aux22>;__overlay__ {output-low;};};fragment@17 {target = <&aux22>;__dormant__ {output-high;};};__overrides__ {aux11_low = <0>,"+10-11";aux11_high = <0>,"-10+11";aux12_low = <0>,"+12-13";aux12_high = <0>,"-12+13";aux21_low = <0>,"+14-15";aux21_high = <0>,"-14+15";aux22_low = <0>,"+16-17";aux22_high = <0>,"-16+17";};};
@6by9: can I clone the branch you're using somehow for testing with?

Statistics: Posted by aBUGSworstnightmare — Wed Jul 10, 2024 8:46 am



Viewing all articles
Browse latest Browse all 5055

Trending Articles