video: imx: ipuv3: refactor to use dm-managed state

Get rid of most globals that are spread around between TU's and place
them in their own structs managed by dm. Device state is now owned by
each driver instance. This design mirrors the Linux IPUv3 driver
architecture.

This work is done in preparation to migrate the driver to the clock
framework. While not the primary intent, this change also enables
multiple IPU instances to exist contemporarily.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
This commit is contained in:
Brian Ruley
2025-12-29 12:48:07 +02:00
committed by Fabio Estevam
parent a5afc0287b
commit f010993606
6 changed files with 436 additions and 283 deletions

View File

@@ -11,6 +11,7 @@
#ifndef __IPU_PIXFMT_H__
#define __IPU_PIXFMT_H__
#include <dm/device.h>
#include <linux/list.h>
#include <linux/fb.h>
@@ -62,6 +63,6 @@
int ipuv3_fb_init(struct fb_videomode const *mode,
uint8_t disp,
uint32_t pixfmt);
void ipuv3_fb_shutdown(void);
void ipuv3_fb_shutdown(struct udevice *dev);
#endif