[PATCH v2 1/3] mx2_camera: Add soc_camera support for i.MX25/i.MX27

Sascha Hauer s.hauer at pengutronix.de
Wed May 26 05:10:45 EDT 2010


On Tue, May 25, 2010 at 04:20:49PM +0300, Baruch Siach wrote:
> Hi Sascha,
> 
> On Tue, May 25, 2010 at 03:16:24PM +0200, Sascha Hauer wrote:
> > On Mon, May 24, 2010 at 04:20:39PM +0300, Baruch Siach wrote:
> > > This is the soc_camera support developed by Sascha Hauer for the i.MX27.  Alan
> > > Carvalho de Assis modified the original driver to get it working on more recent
> > > kernels. I modified it further to add support for i.MX25. This driver has been
> > > tested on i.MX25 and i.MX27 based platforms.
> > > 
> > > Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> > > ---
> > >  arch/arm/plat-mxc/include/mach/memory.h  |    4 +-
> > >  arch/arm/plat-mxc/include/mach/mx2_cam.h |   46 +
> > >  drivers/media/video/Kconfig              |   13 +
> > >  drivers/media/video/Makefile             |    1 +
> > >  drivers/media/video/mx2_camera.c         | 1471 ++++++++++++++++++++++++++++++
> > >  5 files changed, 1533 insertions(+), 2 deletions(-)
> > >  create mode 100644 arch/arm/plat-mxc/include/mach/mx2_cam.h
> > >  create mode 100644 drivers/media/video/mx2_camera.c
> > > 
> > 
> > [snip]
> > 
> > > +
> > > +static int mclk_get_divisor(struct mx2_camera_dev *pcdev)
> > > +{
> > > +	dev_info(pcdev->dev, "%s not implemented. Running at max speed\n",
> > > +			__func__);
> > > +
> > > +#if 0
> > > +	unsigned int mclk = pcdev->pdata->clk_csi;
> > > +	unsigned int pclk = clk_get_rate(pcdev->clk_csi);
> > > +	int i;
> > > +
> > > +	dev_dbg(pcdev->dev, "%s: %ld %ld\n", __func__, mclk, pclk);
> > > +
> > > +	for (i = 0; i < 0xf; i++)
> > > +		if ((i + 1) * 2 * mclk <= pclk)
> > > +			break;
> > > +	return i;
> > > +#endif
> > > +	return 0;
> > > +}
> > 
> > This function, if implemented properly, can be used to add an additional
> > divider for the sensors master clock. On i.MX27 we can adjust the master
> > clock using the clk_set_rate below which is sufficient, so you can
> > remove this function completely.
> 
> Very good. I'll do this in the next version of this driver.
> 
> I guess I can also remove the mclk_get_divisor call at mx2_camera_add_device 
> and just leave:
> 
> csicr1 = CSICR1_MCLKEN;
> 
> Right?

Yes.

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 |



More information about the linux-arm-kernel mailing list