[PATCH 3/9] Add a mfd IPUv3 driver
From: s.hauer@pengutronix.de (Sascha Hauer)
Date: 2011-02-01 10:59:14
Also in:
lkml
On Tue, Feb 01, 2011 at 11:51:28AM +0100, Samuel Ortiz wrote:
Hi Sascha, On Mon, Dec 20, 2010 at 11:48:41AM +0100, Sascha Hauer wrote:quoted
The IPU is the Image Processing Unit found on i.MX50/51/53 SoCs. It features several units for image processing, this patch adds support for the units needed for Framebuffer support, namely: - Display Controller (dc) - Display Interface (di) - Display Multi Fifo Controller (dmfc) - Display Processor (dp) - Image DMA Controller (idmac) This patch is based on the Freescale driver, but follows a different approach. The Freescale code implements logical idmac channels and the handling of the subunits is hidden in common idmac code pathes in big switch/case statements. This patch instead just provides code and resource management for the different subunits. The user, in this case the framebuffer driver, decides how the different units play together. The IPU has other units missing in this patch: - CMOS Sensor Interface (csi) - Video Deinterlacer (vdi) - Sensor Multi FIFO Controler (smfc) - Image Converter (ic) - Image Rotator (irt) So expect more files to come in this directory.I couldn't look into details as the patch is huge, but it looks mostly good. One thing I don't really like is the +static struct device *ipu_dev; +void __iomem *ipu_cm_reg; +void __iomem *ipu_idmac_reg; part. I know there is currently no HW supporting more than one of those controllers, but as a general principle I find this is not a good programming habit.
Ok, will look into it.
Now, on a less technical note: I don't really see how this driver fits in the MFD category, unless the upcoming units support brings something new. If I were looking for the i.MX5x image processing unit, I would be looking under drivers/video/.
The ipu unit also supports cameras which would go to drivers/media/video. This is the original reason for putting it into drivers/mfd. That said, I'm not very comfortable with putting it there, mostly because it contains a lot of code to which a mfd maintainer can hardly say anything to and because it's one framework more which has to synchronized when changes to the IPU come. Thanks, Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |