Puede recordar el año pasado cómo varios desarrolladores destacados del núcleo upstream recomendaron evitar las últimas computadoras portátiles de Intel para uso con Linux que llevan su cámara IPU6 MIPI por la falta de soporte upstream de código abierto. Ha tomado algunos meses, pero los parches iniciales del controlador del kernel de Linux IPU6 están disponibles para revisión y, con suerte, llegarán al kernel principal de Linux en los próximos meses.
La compatibilidad con la cámara web de la unidad de procesamiento de imágenes Intel IPU6 en Linux comenzó como un desastre y la compatibilidad que proporcionó Intel fue un repositorio de GitHub con algunos códigos destinados a computadoras portátiles seleccionadas y versiones de kernel seleccionadas con Ubuntu. Con IPU6 también había una pila de espacio de usuario patentada y una API de espacio de usuario que no utilizaba la interfaz V4L2.
En los meses transcurridos desde que ha habido algunos avances en el frente de IPU6, mientras que en abril el controlador de dispositivo IPU6 PCI finalmente se publicó en la lista de medios de Linux para la revisión/retroalimentación inicial.
Esta serie de parches agrega un controlador para el sistema de entrada Intel IPU6. IPU6 es la sexta generación de unidades de procesamiento de imágenes, es un dispositivo PCI que se puede encontrar en algunas plataformas de clientes Intel. El usuario puede usar IPU6 para capturar imágenes de sensores de cámara MIPI.
IPU6 tiene su propio firmware que expone las ABI al controlador y se comunica con CSE para realizar la autenticación de firmware. IPU6 tiene su hardware MMU, por lo que el controlador configura una tabla de páginas para permitir que IPU6 DMA acceda a la memoria del sistema.
El controlador del sistema de entrada IPU6 utiliza MC y V4L2 sub-dispositivo API además de V4L2.
A través de controladores IPU6 de Intel GitHub un ingeniero de Intel comentó que, con suerte, este verano podría haber soporte upstream inicial,”Estamos trabajando en upstreaming del controlador IPU6 ISYS, creo que puede fusionarse durante el verano de este año (esto es tentativo ya que las API necesarias aún no están completamente habilitadas en el kernel). También se está trabajando en IVSC, pero aún no tengo una estimación”.