Welcome to AVR32 Linux... Users Groups

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.


  • 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


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.


Against 2.6.23.atmel.5


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.
  File Size Date By Actions
else 0001-Defined-V4L2_PIX_FMT_VYUY-format.patch
Define VYUY: byte-swapped YUYV pixel forma
1.0 K 2008-03-31 - 10:44 LarsHaering props, move
else 0002-AVR32-V4L2-image-sensor-interface-driver.patch
The ISI Driver
65.6 K 2008-08-12 - 11:23 LarsHaering props, move
else 0003-Driver-for-the-Atmel-AT76C451BC-MY15AT-digital-camer.patch
AT76C451BC-MY15AT Camera Driver
20.6 K 2007-07-13 - 14:11 HaavardSkinnemoen props, move
else 0003-Wire-up-the-image-sensor-interface-on-the-NGW100.patch
Wire up the image sensor interface on the NGW100
1.5 K 2008-08-12 - 11:25 LarsHaering props, move
else 0004-Micron-MT9M112-driver.patch
MT9M112 Micron Camera Driver
18.7 K 2008-08-12 - 11:24 LarsHaering props, move
c capture.c
Simple v4l2 capture utility
4.5 K 2007-07-13 - 14:18 HaavardSkinnemoen props, move
r4 - 2009-09-03 - 05:29:43 - SongGilsu
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.
Syndicate this site RSSATOM