Hi Eino-Ville,

On Thursday 14 October 2010 00:03:33 Eino-Ville Talvala wrote:
>  Hi Laurent, linux-media,
> 
> We've been working on porting our OMAP3 ISP/mt9p031 Frankencamera framework
> forward to the current kernel versions (currently, we're using the N900
> ISP driver codebase, which is rather old by now). We'd been following
> Sakari's omap3camera tree, but as is clear from this discussion, that's a
> bad idea now.
> 
> (I'd love to just send out our mt9p031 driver code, but we still haven't
> sorted out whether we're free to do so - since we're rewriting it a great
> deal anyway, it hasn't been a priority to sort out.)
> 
> I've been handing off dev work on this to the next set of students on the
> project, so I haven't been paying much attention to the mailing lists
> recently, and I apologize if these questions have had clear answers
> already.
> 
> Assuming one has a driver that works fine on the old v4l2_int_framework
> back in .28-n900 kernel version - what is the best way forward to move it
> to the 'current best option' framework, whatever that's currently
> considered to be for the OMAP3 ISP?  And for whatever option that is, is
> there a document somewhere describing what needs to hooked up to what to
> make that go, or is the best way to just look at the *-rx51 / et8ek8 code
> in the right git repository?

First of all, you need to get the latest OMAP3 ISP driver sources.

The most recent OMAP3 ISP driver for the N900 can be found in the omap3isp-
rx51 git tree on gitorious.org (devel branch from 
http://meego.gitorious.org/maemo-multimedia/omap3isp-rx51). This is the tree 
used by MeeGo for the OMAP3 ISP camera driver. The driver has been ported to 
the media controller framework, but the latest changes to the framework are 
not present in that tree as they break the driver ABI and API. This should be 
fixed in the future, but I can't give you any time estimate at the moment.

The most recent OMAP3 ISP driver and media controller framework can be found 
in the pinchartl/media git tree on linuxtv.org (media-0004-omap3isp branch 
from http://git.linuxtv.org/pinchartl/media.git). This is the tree used for 
upstream submission of the media controller and OMAP3 ISP driver. The OMAP3 
ISP driver implements the latest media controller API, but the tree doesn't 
contain RX51 camera support.

As I assume you need RX51 camera support (arch/arm/mach-omap2/board-rx51-
camera.c, drivers/media/video/et8ek8.c, ...), the easiest solution is to go 
for the gitorious.org tree. You will need to modify your code later when the 
OMAP3 ISP driver will hit upstream, but the modifications will be very small 
(mostly a matter of renaming constants or structure fields).

If you want to play with the latest media controller API, you could go for the 
linuxtv.org tree and port the RX51 camera support from the gitorious.org tree. 
That shouldn't be difficult, but time is unfortunately a scarce resource.

For userspace API documentation, run "make htmldocs" on the linuxtv.org tree 
to generate HTML documentation, and navigate to 
Documentation/DocBook/media/media_controller.html and 
Documentation/DocBook/media/subdev.html.

Regarding the v4l2_int framework, your kernel drivers will need to be ported 
to the V4L2 subdev framework and use pad-level operations. The et8ek8 driver 
should be a good example. You can also have a look at the mt9t001 driver in 
the media-mt9t001 branch from the linuxtv.org tree. The subdev pad-level 
userspace API documentation will also help you understand the in-kernel API.

I hope this information will help you. Feel free to contact me if you have 
further questions.

-- 
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to