PINE64
How to customize DSI RGB format - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PINE A64(+) (https://forum.pine64.org/forumdisplay.php?fid=4)
+--- Forum: Pine A64 Hardware, Accessories and POT (https://forum.pine64.org/forumdisplay.php?fid=32)
+---- Forum: LCD and Touch Panel (https://forum.pine64.org/forumdisplay.php?fid=37)
+---- Thread: How to customize DSI RGB format (/showthread.php?tid=6473)



How to customize DSI RGB format - r.tanaka - 08-28-2018

Hi

I would like to change the DSI format to RGB565.

Therefore, fix the following setting values from DTS.

[sun50i-a64-pine64-plus.dts]

Code:
2182             lcd_dsi_if = <0x2>;
2183             lcd_dsi_lane = <0x4>;
2184             lcd_dsi_format = <0x3>;
2185             lcd_dsi_eotp = <0x0>;
2186             lcd_dsi_vc = <0x0>;
2187             lcd_dsi_te = <0x0>;
"lcd_dsi_format" has been changed from 0 to 3


But, the RGB format of DSI was not changed.
I confirmed with the fbset command.
Code:
pine64@pine64:~$ fbset -i

mode "1024x600-80"
   # D: 55.002 MHz, H: 97.178 kHz, V: 79.981 Hz
   geometry 1024 600 1024 1200 32
   timings 18181 16 -478 4 610 4 1
   rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
   Name        :
   Address     : 0x57354000
   Size        : 4915200
   Type        : PACKED PIXELS
   Visual      : TRUECOLOR
   XPanStep    : 1
   YPanStep    : 1
   YWrapStep   : 0
   LineLength  : 4096
   Accelerator : No
pine64@pine64:~$



Is there a mistake in how to change the DSI RGB format?

Also, I tryed change to RGB format with reference to the following page.
http://linux-sunxi.org/Fex_Guide#FEX_Description

[sun50i-a64-pine64-plus.dts]
Code:
2136         disp@01000000 {
2137             compatible = "allwinner,sun50i-disp";
2138             reg = <0x0 0x1000000 0x0 0x300000 0x0 0x1c0c000 0x0 0x7fc 0x0 0x1c0d000 0x0 0x7fc 0x0 0x1ca0000 0x0 0x10fc>;
2139             interrupts = <0x0 0x56 0x104 0x0 0x57 0x104 0x0 0x59 0x104>;
2140             clocks = <0x6a 0x6b 0x6c 0x6d 0x6e>;
2141             status = "okay";
2142             device_type = "disp";
2143             disp_init_enable = <0x1>;
2144             disp_mode = <0x0>;
2145             screen0_output_type = <0x3>;
2146             screen0_output_mode = <0x5>;
2147             screen1_output_type = <0x1>;
2148             screen1_output_mode = <0x5>;
2149             fb0_format = <0x5>;
2150             fb0_width = <0x0>;
2151             fb0_height = <0x0>;
2152             fb1_format = <0x0>;
2153             fb1_width = <0x0>;
2154             fb1_height = <0x0>;
2155         };
"fb0_format" has been changed from 0 to 5


But, the result did not change.