maximilian fletkar Posted October 17 Posted October 17 Hello everyone. I want to try to connect a custom AMOLED DSI display with orangepi 3b https://www.phoenixdisplay.com/product/color-displays/oled/at043qhd3008/ And there is practically no information. Maybe someone has seen or encountered similar problems? Do I understand correctly that the dts section on brightness adjustment does not need to be written, because AMOLED as such does not have a backlight? Is it possible to run such a display using simple-panel-dsi? Another interesting question is how to organize the power supply for such a display? It needs different voltages from 1.8 to 4.6 V 0 Quote
maximilian fletkar Posted Monday at 11:13 AM Author Posted Monday at 11:13 AM Hello everyone I found information that my display works on the driver from sitronix-st7701 I added it to the kernel, rebuilt the kernel and updated (except for the headers) after that I changed dts but there is no reaction. The maximum effect is that an error appears: dw-mipi-dsi-rockchip fe060000.dsi: [drm:dw_mipi_dsi_rockchip_probe] *ERROR* failed to get mipi dphy: -517 It seems I have a problem with how to correctly use ports, endpoints and remote-endpoints. I am currently using fragments port { dsi1_out_port: endpoint { remote-endpoint = <&panel_dsi_in>; }; }; and port { panel_dsi_in: endpoint { remote-endpoint = <&dsi1_out_port>; }; }; but I don't think they are correct. and I also don't see a link in /sys/firmware/devicetree/base/symbols to the new driver and I can't understand if this is correct or not? /dts-v1/; /plugin/; / { fragment@0 { target = <&dsi1>; __overlay__ { status = "okay"; #address-cells = <1>; #size-cells = <0>; port { dsi1_out_port: endpoint { remote-endpoint = <&panel_dsi_in>; }; }; panel_test: panel@0 { compatible = "sitronix, st7701"; reg = <0x0>; status = "okay"; label = "test_display"; VCC-supply = <&vcc_3v3>; IOVCC-supply = <&vcc_3v3>; reset-gpios = <&gpio1 24 0>; // prepare-delay-ms = <2>; // reset-delay-ms = <1>; // init-delay-ms = <20>; // enable-delay-ms = <120>; // disable-delay-ms = <50>; // unprepare-delay-ms = <20>; // dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | // MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; // dsi,format = <MIPI_DSI_FMT_RGB888>; // dsi,lanes = <2>; panel-init-sequence = [ 39 00 06 ff 77 01 00 00 13 39 00 02 ef 08 39 00 06 ff 77 01 00 00 10 39 00 03 c0 63 00 39 00 03 c1 10 02 39 00 03 c2 31 02 39 00 02 cc 10 39 00 11 b0 c0 0c 92 0c 10 05 02 0d 07 21 04 53 11 6a 32 1f 39 00 11 b1 c0 87 cf 0c 10 06 00 03 08 1d 06 54 12 e6 ec 0f 39 00 06 ff 77 01 00 00 11 39 00 02 b0 5d 39 00 02 b1 62 39 00 02 b2 82 39 00 02 b3 80 39 00 02 b5 42 39 00 02 b7 85 39 00 02 b8 20 39 00 02 c0 09 39 00 02 c1 78 39 00 02 c2 78 39 00 02 d0 88 39 ff 02 ee 42 39 00 04 e0 00 00 02 39 00 0c e1 04 a0 06 a0 05 a0 07 a0 00 44 44 39 00 0d e2 00 00 33 33 01 a0 00 00 01 a0 00 00 39 00 05 e3 00 00 33 33 39 00 03 e4 44 44 39 00 11 e5 0c 30 a0 a0 0e 32 a0 a0 08 2c a0 a0 0a 2e a0 a0 39 00 05 e6 00 00 33 33 39 00 03 e7 44 44 39 00 11 e8 0d 31 a0 a0 0f 33 a0 a0 09 2d a0 a0 0b 2f a0 a0 39 00 08 eb 00 01 e4 e4 44 88 00 39 00 11 ed ff f5 47 6f 0b a1 a2 bf fb 2a 1a b0 f6 74 5f ff 39 00 07 ef 08 08 08 40 3f 64 39 00 06 ff 77 01 00 00 13 39 00 03 e8 00 0e 39 00 06 ff 77 01 00 00 00 39 ff 01 11 39 00 06 ff 77 01 00 00 13 39 ff 03 e8 00 0c 39 00 03 e8 00 00 39 00 06 ff 77 01 00 00 00 39 00 02 3a 50 39 ff 01 29 ]; display-timings { native-mode = <&timing0>; timing0: timing-0 { clock-frequency = <30000000>; hactive = <540>; vactive = <960>; hfront-porch = <20>; hback-porch = <20>; hsync-len = <20>; vfront-porch = <20>; vback-porch = <20>; vsync-len = <20>; }; }; port { panel_dsi_in: endpoint { remote-endpoint = <&dsi1_out_port>; }; }; }; }; }; fragment@1 { target = <0xffffffff>; __overlay__ { status = "okay"; }; }; fragment@2 { target = <0xffffffff>; __overlay__ { status = "okay"; }; }; fragment@3 { target = <0xffffffff>; __overlay__ { status = "okay"; }; }; fragment@4 { target = <0xffffffff>; __overlay__ { status = "okay"; }; }; fragment@5 { target = <0xffffffff>; __overlay__ { status = "disabled"; }; }; __fixups__ { video_phy1 = "/fragment@1:target:0"; dsi1_in_vp0 = "/fragment@2:target:0"; dsi1_in_vp1 = "/fragment@3:target:0"; route_dsi1 = "/fragment@4:target:0"; hdmi = "/fragment@5:target:0"; }; }; 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.