Lien copié dans le presse-papiers !

Comment configurer l’écran riverdi 7″ MIPI sous Linux ?

Tester et valider un écran MSI-DSI (pilote LCD EK79007AD3+EK73217BCGA) dans Linux est possible en utilisant un modèle de superposition d’arborescence de périphériques.

Un pilote générique “simple-panel-dsi” disponible dans le noyau du système peut être utilisé sous Linux pour faire fonctionner la plupart des écrans MIPI. Grâce à la possibilité d’attribuer une séquence d’initialisation dans le champ “panel-init-sequence”, ce pilote peut être utilisé pour faire fonctionner la plupart des écrans sans qu’il soit nécessaire de préparer un pilote dédié. Une telle solution permet de reconfigurer rapidement l’affichage, sans avoir à compiler l’ensemble du noyau du système à chaque fois – la modification des paramètres de synchronisation ou du code d’initialisation est possible en recompilant commodément les fichiers DeviceTree. Voici un extrait de la description de DeviceTree concernant l’ajout de la prise en charge de l’affichage :

&dsi0 {

statut = “ok” ;

mipi_panel : panneau mipi {

compatible = “simple-panel-dsi” ;

reg = <0>;

enable-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;

reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;

bpc = <8>;

format de bus = <0x100a>;

largeur-mm = <154>;

hauteur-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

] ;

heures d’affichage {

native-mode = <&timing2>;

timing2 : timing2 {

fréquence d’horloge = <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>; //contrôle de la synchronisation active

vsync-active = <0>; //contrôle de la synchronisation active

de-active = <1>; //désactivation du contrôle actif

pixelclk-active = <0>; //dclk active control

} ;

} ;

} ;

} ;

La description ci-dessus doit être adaptée à la description de DeviceTree utilisée dans votre système, ainsi qu’aux types d’affichage (paramètres de synchronisation et séquence d’initialisation – si nécessaire). En outre, veillez à activer le pilote dans le noyau du système.