Other Parts Discussed in Thread: SN65DSI84, SN65DSI83
Tool/software:
We are using the SN65DSI840Q1 chip as a bridge from MIPI to LVDS.
The MIPI signal comes from the Orange Pi CM4, and the LVDS output is connected to the LCD input.
We are using the Orange Pi CM4 with Linux OS, so we created a driver and a device tree.
However, it's not working properly, so we need some help to check if the device tree is incorrect.
Device tree
------------------------------------------------------------------------------------------------------------------------------------
/dts-v1/;
/plugin/;
/ {
compatible = "rockchip,rk3566";
fragment@1 {
target = <&i2c1>;
__overlay__ {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
sn65dsi84@2d {
compatible = "ti,sn65dsi83";
reg = <0x2d>;
enable-gpios = <&gpio4 0 1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_in: endpoint {
remote-endpoint = <&dsi_out>;
data-lanes = <0 1 2 3>;
};
};
port@2 {
reg = <2>;
bridge_out_a: endpoint {
remote-endpoint = <&panel_in_a>;
};
};
port@3 {
reg = <3>;
bridge_out_b: endpoint {
remote-endpoint = <&panel_in_b>;
};
};
};
};
};
};
fragment@2 {
target = <&dsi_dphy0>;
__overlay__ {
status = "okay";
};
};
fragment@3 {
target = <&dsi0>;
__overlay__ {
status = "okay";
port {
dsi_out: endpoint {
remote-endpoint = <&bridge_in>;
data-lanes = <0 1 2>;
};
};
};
};
fragment@4 {
target-path = "/";
__overlay__ {
panel_lvds: panel-lvds {
compatible = "panel-lvds";
status = "okay";
width-mm = <344>;
height-mm = <193>;
data-mapping = "vesa-24";
panel-timing {
clock-frequency = <177840000>;
hactive = <3840>;
vactive = <720>;
hfront-porch = <80>;
hsync-len = <120>;
hback-porch = <70>;
vfront-porch = <15>;
vback-porch = <6>;
vsync-len = <1>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@2 {
reg = <2>;
dual-lvds-odd-pixels;
panel_in_a: endpoint {
remote-endpoint = <&bridge_out_a>;
};
};
port@3 {
reg = <3>;
dual-lvds-even-pixels;
panel_in_b: endpoint {
remote-endpoint = <&bridge_out_b>;
};
};
};
};
};
__fixups__ {
i2c1 = "/fragment@1:target:0";
dsi_dphy0 = "/fragment@2:target:0";
dsi0 = "/fragment@3:target:0";
};
};
------------------------------------------------------------------------------------------------------------------------------------
Here is a suspicious log message.
[ 2.291076] i2c 1-002d: Fixed dependency cycle(s) with /dsi@fe060000/port/endpoint