Vous vous souviendrez peut-être l’année dernière comment plusieurs éminents développeurs de noyaux en amont ont recommandé d’éviter les derniers ordinateurs portables d’Intel pour une utilisation Linux qui portent leur caméra IPU6 MIPI en raison du manque de support open source en amont. Cela a pris quelques mois, mais les correctifs initiaux du pilote du noyau Linux IPU6 sont en cours de révision et, espérons-le, seront intégrés au noyau Linux principal dans les mois à venir.
La prise en charge de la caméra Web de l’unité de traitement d’image Intel IPU6 sous Linux a commencé comme un gâchis et le support fourni par Intel était un référentiel GitHub avec du code destiné à certains ordinateurs portables et à certaines versions du noyau avec Ubuntu. Avec l’IPU6, il y avait également une pile d’espace utilisateur propriétaire et une API d’espace utilisateur n’utilisant pas l’interface V4L2.
Au cours des mois qui ont suivi, des progrès ont été réalisés sur le front IPU6, tandis qu’en avril, le pilote de périphérique PCI IPU6 a finalement été publié sur la liste linux-media pour un premier examen/commentaire.
Cette série de correctifs ajoute un pilote pour le système d’entrée Intel IPU6. IPU6 est la sixième génération d’unité de traitement d’image, c’est un périphérique PCI qui peut être trouvé dans certaines plates-formes clientes Intel. L’utilisateur peut utiliser IPU6 pour capturer des images à partir de capteurs de caméra MIPI.
IPU6 possède son propre micrologiciel qui expose les ABI au pilote et communique avec le CSE pour effectuer l’authentification du micrologiciel. IPU6 a son matériel MMU, donc le pilote configure une table de pages pour permettre à IPU6 DMA d’accéder à la mémoire système.
Le pilote du système d’entrée IPU6 utilise MC et V4L2 sub-Device APIs en plus de V4L2.
Via Intel’s IPU6-drivers GitHub il a été commenté par un ingénieur Intel qui, espérons-le, cet été, il pourrait y avoir le support initial en amont,”Nous travaillons sur la mise en amont du pilote IPU6 ISYS, je pense qu’il pourrait être fusionné au cours de l’été cette année (c’est provisoire car les API nécessaires ne sont pas encore entièrement activées dans le noyau). Des travaux sont également en cours sur IVSC, mais je n’ai pas encore d’estimation pour cela.”