...your main source of everything AVR32 Linux
Logon | Register | Print

Navigation

Atmel Image Sensor Interface driver

This is a v4l2 driver for the Atmel Image Sensor Interface, which is integrated on the AT32AP7000 CPU as well as some AT91SAM926x ones. It consists primarily of a core driver which provides support for the actual ISI module, as well as one camera driver for each supported camera. The camera driver typically uses i2c or a similar protocol to configure the camera and start/stop capturing frames.

Features

  • Two video device files that represent the two hardware processing paths (codec/preview)
  • Streaming interface with memory mapped buffers (preview path). The buffers are provided by the driver.
  • Capturing interface with read() interface (codec path).
  • All mandatory V4L2 Capture Device ioctls are implemented
  • The ISI driver offers an optional hook for camera drivers to exchange configurations and start/stop commands.

Known issues

Interfaces

If the ISI driver is the only video device on the system it will use following device numbers:
  • /dev/video0 is the capture interface
  • /dev/video1 is the streaming interface

Board setup code

The ISI configuration can be provided by filling out a platform data structure. These values correspond directly, or indirectly with some pre-defined macros, to register values that are documented in the device datasheet. The macros and the platform data structure are defined in include/media/atmel-isi.h.

Patches

Against 2.6.23.atmel.5

Examples

A lot of examples on how to use the V4L2 interface are available on the web. For example check out the tools from the xawtv toolset like streamer, v4lctl and webcam (http://linux.bytesex.org/xawtv/).

Simple v4l2 capture utility

This utility will capture a single frame from a video device and write it to the specified file, or stdout if none is given. To use it:
Usage: capture [-d videodev] [-o outfile]

If no options are given, one frame is grabbed from
/dev/video0 and written to stdout in PPM format.

There is only a single source file, capture.c. Compile it like this

avr32-linux-gcc -o capture -O2 -g -Wall capture.c
and copy the resulting capture file to the target.

r3 - 12 Aug 2008 - 11:45 - LarsHaering
  Attachment Action Size Date Who Comment
else 0004-Micron-MT9M112-driver.patch props, move 18.7 K 12 Aug 2008 - 11:24 LarsHaering MT9M112 Micron Camera Driver
else 0003-Wire-up-the-image-sensor-interface-on-the-NGW100.patch props, move 1.5 K 12 Aug 2008 - 11:25 LarsHaering Wire up the image sensor interface on the NGW100
c capture.c props, move 4.5 K 13 Jul 2007 - 14:18 HaavardSkinnemoen Simple v4l2 capture utility
else 0002-AVR32-V4L2-image-sensor-interface-driver.patch props, move 65.6 K 12 Aug 2008 - 11:23 LarsHaering The ISI Driver
else 0001-Defined-V4L2_PIX_FMT_VYUY-format.patch props, move 1.0 K 31 Mar 2008 - 10:44 LarsHaering Define VYUY: byte-swapped YUYV pixel forma
else 0003-Driver-for-the-Atmel-AT76C451BC-MY15AT-digital-camer.patch props, move 20.6 K 13 Jul 2007 - 14:11 HaavardSkinnemoen AT76C451BC-MY15AT Camera Driver
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Atmel®, AVR® and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries.
All other trademarks are the property of their respective owners.
Powered by Wed, 08 Feb 2006 build 8740
Syndicate this site