Testing and validating a MSI-DSI display(LCD driver EK79007AD3+EK73217BCGA) in Linux is possible with using a device tree overlay template.
A generic “simple-panel-dsi” driver available in the system kernel can be used in Linux to run most MIPI displays, which, thanks to the ability to assign an initialization sequence in the “panel-init-sequence” field, can be used to operate most displays without the need to prepare a dedicated driver. Such a solution makes it possible to quickly reconfigure the display, without having to compile the entire system kernel each time – changing timing parameters or initialization code is possible by conveniently recompiling DeviceTree files. The following is an excerpt from the DeviceTree description related to the addition of display support:
&dsi0 {
status = “okay”;
mipi_panel: mipi-panel {
compatible = “simple-panel-dsi”;
reg = <0>;
enable-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;
bpc = <8>;
bus-format = <0x100a>;
width-mm = <154>;
height-mm = <85>;
prepare-delay-ms = <10>;
reset-delay-ms = <20>;
init-delay-ms = <120>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM)>;
dsi,format = ;
dsi,lanes = <2>;
panel-init-sequence = [
15 00 02 87 5a
15 00 02 B2 10
15 00 02 80 4B
15 00 02 81 FF
15 00 02 82 1A
15 00 02 83 88
15 00 02 84 8F
15 00 02 85 35
15 00 02 86 B0
05 00 01 21
];
display-timings {
native-mode = <&timing2>;
timing2: timing2 {
clock-frequency = <33000000>; //dclk
hactive = <1024>; //hactive
vactive = <600>; //vactive
hfront-porch = <60>; //hfp
hback-porch = <60>; //hbp
hsync-len = <10>; //hsa
vfront-porch = <5>; //vfp
vsync-len = <2>; //vsa
vback-porch = <10>; //vbp
hsync-active = <0>; //hync active control
vsync-active = <0>; //vsync active control
de-active = <1>; //den active control
pixelclk-active = <0>; //dclk active control
};
};
};
};
The above description should be adapted to the DeviceTree description used in your system, as well as the display types (timing parameters and initialization sequence – if needed). In addition, be sure to enable the driver in the system kernel.
DISCOVER OUR
Whitepaper
Achieve the perfect user-display interaction with the right Touch Sensor IC. Ever faced issues with phantom touch events or certification? Boost your R&D like a pro with our Whitepaper!