Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
mt9t001.c File Reference
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/log2.h>
#include <linux/slab.h>
#include <linux/videodev2.h>
#include <linux/v4l2-mediabus.h>
#include <media/mt9t001.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-subdev.h>

Go to the source code of this file.

Data Structures

struct  mt9t001
 

Macros

#define MT9T001_PIXEL_ARRAY_HEIGHT   1568
 
#define MT9T001_PIXEL_ARRAY_WIDTH   2112
 
#define MT9T001_CHIP_VERSION   0x00
 
#define MT9T001_CHIP_ID   0x1621
 
#define MT9T001_ROW_START   0x01
 
#define MT9T001_ROW_START_MIN   0
 
#define MT9T001_ROW_START_DEF   20
 
#define MT9T001_ROW_START_MAX   1534
 
#define MT9T001_COLUMN_START   0x02
 
#define MT9T001_COLUMN_START_MIN   0
 
#define MT9T001_COLUMN_START_DEF   32
 
#define MT9T001_COLUMN_START_MAX   2046
 
#define MT9T001_WINDOW_HEIGHT   0x03
 
#define MT9T001_WINDOW_HEIGHT_MIN   1
 
#define MT9T001_WINDOW_HEIGHT_DEF   1535
 
#define MT9T001_WINDOW_HEIGHT_MAX   1567
 
#define MT9T001_WINDOW_WIDTH   0x04
 
#define MT9T001_WINDOW_WIDTH_MIN   1
 
#define MT9T001_WINDOW_WIDTH_DEF   2047
 
#define MT9T001_WINDOW_WIDTH_MAX   2111
 
#define MT9T001_HORIZONTAL_BLANKING   0x05
 
#define MT9T001_HORIZONTAL_BLANKING_MIN   21
 
#define MT9T001_HORIZONTAL_BLANKING_MAX   1023
 
#define MT9T001_VERTICAL_BLANKING   0x06
 
#define MT9T001_VERTICAL_BLANKING_MIN   3
 
#define MT9T001_VERTICAL_BLANKING_MAX   1023
 
#define MT9T001_OUTPUT_CONTROL   0x07
 
#define MT9T001_OUTPUT_CONTROL_SYNC   (1 << 0)
 
#define MT9T001_OUTPUT_CONTROL_CHIP_ENABLE   (1 << 1)
 
#define MT9T001_OUTPUT_CONTROL_TEST_DATA   (1 << 6)
 
#define MT9T001_SHUTTER_WIDTH_HIGH   0x08
 
#define MT9T001_SHUTTER_WIDTH_LOW   0x09
 
#define MT9T001_SHUTTER_WIDTH_MIN   1
 
#define MT9T001_SHUTTER_WIDTH_DEF   1561
 
#define MT9T001_SHUTTER_WIDTH_MAX   (1024 * 1024)
 
#define MT9T001_PIXEL_CLOCK   0x0a
 
#define MT9T001_PIXEL_CLOCK_INVERT   (1 << 15)
 
#define MT9T001_PIXEL_CLOCK_SHIFT_MASK   (7 << 8)
 
#define MT9T001_PIXEL_CLOCK_SHIFT_SHIFT   8
 
#define MT9T001_PIXEL_CLOCK_DIVIDE_MASK   (0x7f << 0)
 
#define MT9T001_FRAME_RESTART   0x0b
 
#define MT9T001_SHUTTER_DELAY   0x0c
 
#define MT9T001_SHUTTER_DELAY_MAX   2047
 
#define MT9T001_RESET   0x0d
 
#define MT9T001_READ_MODE1   0x1e
 
#define MT9T001_READ_MODE_SNAPSHOT   (1 << 8)
 
#define MT9T001_READ_MODE_STROBE_ENABLE   (1 << 9)
 
#define MT9T001_READ_MODE_STROBE_WIDTH   (1 << 10)
 
#define MT9T001_READ_MODE_STROBE_OVERRIDE   (1 << 11)
 
#define MT9T001_READ_MODE2   0x20
 
#define MT9T001_READ_MODE_BAD_FRAMES   (1 << 0)
 
#define MT9T001_READ_MODE_LINE_VALID_CONTINUOUS   (1 << 9)
 
#define MT9T001_READ_MODE_LINE_VALID_FRAME   (1 << 10)
 
#define MT9T001_READ_MODE3   0x21
 
#define MT9T001_READ_MODE_GLOBAL_RESET   (1 << 0)
 
#define MT9T001_READ_MODE_GHST_CTL   (1 << 1)
 
#define MT9T001_ROW_ADDRESS_MODE   0x22
 
#define MT9T001_ROW_SKIP_MASK   (7 << 0)
 
#define MT9T001_ROW_BIN_MASK   (3 << 3)
 
#define MT9T001_ROW_BIN_SHIFT   3
 
#define MT9T001_COLUMN_ADDRESS_MODE   0x23
 
#define MT9T001_COLUMN_SKIP_MASK   (7 << 0)
 
#define MT9T001_COLUMN_BIN_MASK   (3 << 3)
 
#define MT9T001_COLUMN_BIN_SHIFT   3
 
#define MT9T001_GREEN1_GAIN   0x2b
 
#define MT9T001_BLUE_GAIN   0x2c
 
#define MT9T001_RED_GAIN   0x2d
 
#define MT9T001_GREEN2_GAIN   0x2e
 
#define MT9T001_TEST_DATA   0x32
 
#define MT9T001_GLOBAL_GAIN   0x35
 
#define MT9T001_GLOBAL_GAIN_MIN   8
 
#define MT9T001_GLOBAL_GAIN_MAX   1024
 
#define MT9T001_BLACK_LEVEL   0x49
 
#define MT9T001_ROW_BLACK_DEFAULT_OFFSET   0x4b
 
#define MT9T001_BLC_DELTA_THRESHOLDS   0x5d
 
#define MT9T001_CAL_THRESHOLDS   0x5f
 
#define MT9T001_GREEN1_OFFSET   0x60
 
#define MT9T001_GREEN2_OFFSET   0x61
 
#define MT9T001_BLACK_LEVEL_CALIBRATION   0x62
 
#define MT9T001_BLACK_LEVEL_OVERRIDE   (1 << 0)
 
#define MT9T001_BLACK_LEVEL_DISABLE_OFFSET   (1 << 1)
 
#define MT9T001_BLACK_LEVEL_RECALCULATE   (1 << 12)
 
#define MT9T001_BLACK_LEVEL_LOCK_RED_BLUE   (1 << 13)
 
#define MT9T001_BLACK_LEVEL_LOCK_GREEN   (1 << 14)
 
#define MT9T001_RED_OFFSET   0x63
 
#define MT9T001_BLUE_OFFSET   0x64
 
#define V4L2_CID_TEST_PATTERN_COLOR   (V4L2_CID_USER_BASE | 0x1001)
 
#define V4L2_CID_BLACK_LEVEL_AUTO   (V4L2_CID_USER_BASE | 0x1002)
 
#define V4L2_CID_BLACK_LEVEL_OFFSET   (V4L2_CID_USER_BASE | 0x1003)
 
#define V4L2_CID_BLACK_LEVEL_CALIBRATE   (V4L2_CID_USER_BASE | 0x1004)
 
#define V4L2_CID_GAIN_RED   (V4L2_CTRL_CLASS_CAMERA | 0x1001)
 
#define V4L2_CID_GAIN_GREEN_RED   (V4L2_CTRL_CLASS_CAMERA | 0x1002)
 
#define V4L2_CID_GAIN_GREEN_BLUE   (V4L2_CTRL_CLASS_CAMERA | 0x1003)
 
#define V4L2_CID_GAIN_BLUE   (V4L2_CTRL_CLASS_CAMERA | 0x1004)
 

Functions

 MODULE_DEVICE_TABLE (i2c, mt9t001_id)
 
 module_i2c_driver (mt9t001_driver)
 
 MODULE_DESCRIPTION ("Aptina (Micron) MT9T001 Camera driver")
 
 MODULE_AUTHOR ("Laurent Pinchart <[email protected]>")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define MT9T001_BLACK_LEVEL   0x49

Definition at line 100 of file mt9t001.c.

#define MT9T001_BLACK_LEVEL_CALIBRATION   0x62

Definition at line 106 of file mt9t001.c.

#define MT9T001_BLACK_LEVEL_DISABLE_OFFSET   (1 << 1)

Definition at line 108 of file mt9t001.c.

#define MT9T001_BLACK_LEVEL_LOCK_GREEN   (1 << 14)

Definition at line 111 of file mt9t001.c.

#define MT9T001_BLACK_LEVEL_LOCK_RED_BLUE   (1 << 13)

Definition at line 110 of file mt9t001.c.

#define MT9T001_BLACK_LEVEL_OVERRIDE   (1 << 0)

Definition at line 107 of file mt9t001.c.

#define MT9T001_BLACK_LEVEL_RECALCULATE   (1 << 12)

Definition at line 109 of file mt9t001.c.

#define MT9T001_BLC_DELTA_THRESHOLDS   0x5d

Definition at line 102 of file mt9t001.c.

#define MT9T001_BLUE_GAIN   0x2c

Definition at line 93 of file mt9t001.c.

#define MT9T001_BLUE_OFFSET   0x64

Definition at line 113 of file mt9t001.c.

#define MT9T001_CAL_THRESHOLDS   0x5f

Definition at line 103 of file mt9t001.c.

#define MT9T001_CHIP_ID   0x1621

Definition at line 31 of file mt9t001.c.

#define MT9T001_CHIP_VERSION   0x00

Definition at line 30 of file mt9t001.c.

#define MT9T001_COLUMN_ADDRESS_MODE   0x23

Definition at line 88 of file mt9t001.c.

#define MT9T001_COLUMN_BIN_MASK   (3 << 3)

Definition at line 90 of file mt9t001.c.

#define MT9T001_COLUMN_BIN_SHIFT   3

Definition at line 91 of file mt9t001.c.

#define MT9T001_COLUMN_SKIP_MASK   (7 << 0)

Definition at line 89 of file mt9t001.c.

#define MT9T001_COLUMN_START   0x02

Definition at line 36 of file mt9t001.c.

#define MT9T001_COLUMN_START_DEF   32

Definition at line 38 of file mt9t001.c.

#define MT9T001_COLUMN_START_MAX   2046

Definition at line 39 of file mt9t001.c.

#define MT9T001_COLUMN_START_MIN   0

Definition at line 37 of file mt9t001.c.

#define MT9T001_FRAME_RESTART   0x0b

Definition at line 68 of file mt9t001.c.

#define MT9T001_GLOBAL_GAIN   0x35

Definition at line 97 of file mt9t001.c.

#define MT9T001_GLOBAL_GAIN_MAX   1024

Definition at line 99 of file mt9t001.c.

#define MT9T001_GLOBAL_GAIN_MIN   8

Definition at line 98 of file mt9t001.c.

#define MT9T001_GREEN1_GAIN   0x2b

Definition at line 92 of file mt9t001.c.

#define MT9T001_GREEN1_OFFSET   0x60

Definition at line 104 of file mt9t001.c.

#define MT9T001_GREEN2_GAIN   0x2e

Definition at line 95 of file mt9t001.c.

#define MT9T001_GREEN2_OFFSET   0x61

Definition at line 105 of file mt9t001.c.

#define MT9T001_HORIZONTAL_BLANKING   0x05

Definition at line 48 of file mt9t001.c.

#define MT9T001_HORIZONTAL_BLANKING_MAX   1023

Definition at line 50 of file mt9t001.c.

#define MT9T001_HORIZONTAL_BLANKING_MIN   21

Definition at line 49 of file mt9t001.c.

#define MT9T001_OUTPUT_CONTROL   0x07

Definition at line 54 of file mt9t001.c.

#define MT9T001_OUTPUT_CONTROL_CHIP_ENABLE   (1 << 1)

Definition at line 56 of file mt9t001.c.

#define MT9T001_OUTPUT_CONTROL_SYNC   (1 << 0)

Definition at line 55 of file mt9t001.c.

#define MT9T001_OUTPUT_CONTROL_TEST_DATA   (1 << 6)

Definition at line 57 of file mt9t001.c.

#define MT9T001_PIXEL_ARRAY_HEIGHT   1568

Definition at line 27 of file mt9t001.c.

#define MT9T001_PIXEL_ARRAY_WIDTH   2112

Definition at line 28 of file mt9t001.c.

#define MT9T001_PIXEL_CLOCK   0x0a

Definition at line 63 of file mt9t001.c.

#define MT9T001_PIXEL_CLOCK_DIVIDE_MASK   (0x7f << 0)

Definition at line 67 of file mt9t001.c.

#define MT9T001_PIXEL_CLOCK_INVERT   (1 << 15)

Definition at line 64 of file mt9t001.c.

#define MT9T001_PIXEL_CLOCK_SHIFT_MASK   (7 << 8)

Definition at line 65 of file mt9t001.c.

#define MT9T001_PIXEL_CLOCK_SHIFT_SHIFT   8

Definition at line 66 of file mt9t001.c.

#define MT9T001_READ_MODE1   0x1e

Definition at line 72 of file mt9t001.c.

#define MT9T001_READ_MODE2   0x20

Definition at line 77 of file mt9t001.c.

#define MT9T001_READ_MODE3   0x21

Definition at line 81 of file mt9t001.c.

#define MT9T001_READ_MODE_BAD_FRAMES   (1 << 0)

Definition at line 78 of file mt9t001.c.

#define MT9T001_READ_MODE_GHST_CTL   (1 << 1)

Definition at line 83 of file mt9t001.c.

#define MT9T001_READ_MODE_GLOBAL_RESET   (1 << 0)

Definition at line 82 of file mt9t001.c.

#define MT9T001_READ_MODE_LINE_VALID_CONTINUOUS   (1 << 9)

Definition at line 79 of file mt9t001.c.

#define MT9T001_READ_MODE_LINE_VALID_FRAME   (1 << 10)

Definition at line 80 of file mt9t001.c.

#define MT9T001_READ_MODE_SNAPSHOT   (1 << 8)

Definition at line 73 of file mt9t001.c.

#define MT9T001_READ_MODE_STROBE_ENABLE   (1 << 9)

Definition at line 74 of file mt9t001.c.

#define MT9T001_READ_MODE_STROBE_OVERRIDE   (1 << 11)

Definition at line 76 of file mt9t001.c.

#define MT9T001_READ_MODE_STROBE_WIDTH   (1 << 10)

Definition at line 75 of file mt9t001.c.

#define MT9T001_RED_GAIN   0x2d

Definition at line 94 of file mt9t001.c.

#define MT9T001_RED_OFFSET   0x63

Definition at line 112 of file mt9t001.c.

#define MT9T001_RESET   0x0d

Definition at line 71 of file mt9t001.c.

#define MT9T001_ROW_ADDRESS_MODE   0x22

Definition at line 84 of file mt9t001.c.

#define MT9T001_ROW_BIN_MASK   (3 << 3)

Definition at line 86 of file mt9t001.c.

#define MT9T001_ROW_BIN_SHIFT   3

Definition at line 87 of file mt9t001.c.

#define MT9T001_ROW_BLACK_DEFAULT_OFFSET   0x4b

Definition at line 101 of file mt9t001.c.

#define MT9T001_ROW_SKIP_MASK   (7 << 0)

Definition at line 85 of file mt9t001.c.

#define MT9T001_ROW_START   0x01

Definition at line 32 of file mt9t001.c.

#define MT9T001_ROW_START_DEF   20

Definition at line 34 of file mt9t001.c.

#define MT9T001_ROW_START_MAX   1534

Definition at line 35 of file mt9t001.c.

#define MT9T001_ROW_START_MIN   0

Definition at line 33 of file mt9t001.c.

#define MT9T001_SHUTTER_DELAY   0x0c

Definition at line 69 of file mt9t001.c.

#define MT9T001_SHUTTER_DELAY_MAX   2047

Definition at line 70 of file mt9t001.c.

#define MT9T001_SHUTTER_WIDTH_DEF   1561

Definition at line 61 of file mt9t001.c.

#define MT9T001_SHUTTER_WIDTH_HIGH   0x08

Definition at line 58 of file mt9t001.c.

#define MT9T001_SHUTTER_WIDTH_LOW   0x09

Definition at line 59 of file mt9t001.c.

#define MT9T001_SHUTTER_WIDTH_MAX   (1024 * 1024)

Definition at line 62 of file mt9t001.c.

#define MT9T001_SHUTTER_WIDTH_MIN   1

Definition at line 60 of file mt9t001.c.

#define MT9T001_TEST_DATA   0x32

Definition at line 96 of file mt9t001.c.

#define MT9T001_VERTICAL_BLANKING   0x06

Definition at line 51 of file mt9t001.c.

#define MT9T001_VERTICAL_BLANKING_MAX   1023

Definition at line 53 of file mt9t001.c.

#define MT9T001_VERTICAL_BLANKING_MIN   3

Definition at line 52 of file mt9t001.c.

#define MT9T001_WINDOW_HEIGHT   0x03

Definition at line 40 of file mt9t001.c.

#define MT9T001_WINDOW_HEIGHT_DEF   1535

Definition at line 42 of file mt9t001.c.

#define MT9T001_WINDOW_HEIGHT_MAX   1567

Definition at line 43 of file mt9t001.c.

#define MT9T001_WINDOW_HEIGHT_MIN   1

Definition at line 41 of file mt9t001.c.

#define MT9T001_WINDOW_WIDTH   0x04

Definition at line 44 of file mt9t001.c.

#define MT9T001_WINDOW_WIDTH_DEF   2047

Definition at line 46 of file mt9t001.c.

#define MT9T001_WINDOW_WIDTH_MAX   2111

Definition at line 47 of file mt9t001.c.

#define MT9T001_WINDOW_WIDTH_MIN   1

Definition at line 45 of file mt9t001.c.

#define V4L2_CID_BLACK_LEVEL_AUTO   (V4L2_CID_USER_BASE | 0x1002)

Definition at line 375 of file mt9t001.c.

#define V4L2_CID_BLACK_LEVEL_CALIBRATE   (V4L2_CID_USER_BASE | 0x1004)

Definition at line 377 of file mt9t001.c.

#define V4L2_CID_BLACK_LEVEL_OFFSET   (V4L2_CID_USER_BASE | 0x1003)

Definition at line 376 of file mt9t001.c.

#define V4L2_CID_GAIN_BLUE   (V4L2_CTRL_CLASS_CAMERA | 0x1004)

Definition at line 382 of file mt9t001.c.

#define V4L2_CID_GAIN_GREEN_BLUE   (V4L2_CTRL_CLASS_CAMERA | 0x1003)

Definition at line 381 of file mt9t001.c.

#define V4L2_CID_GAIN_GREEN_RED   (V4L2_CTRL_CLASS_CAMERA | 0x1002)

Definition at line 380 of file mt9t001.c.

#define V4L2_CID_GAIN_RED   (V4L2_CTRL_CLASS_CAMERA | 0x1001)

Definition at line 379 of file mt9t001.c.

#define V4L2_CID_TEST_PATTERN_COLOR   (V4L2_CID_USER_BASE | 0x1001)

Definition at line 374 of file mt9t001.c.

Function Documentation

MODULE_AUTHOR ( "Laurent Pinchart <[email protected]>"  )
MODULE_DESCRIPTION ( "Aptina (Micron) MT9T001 Camera driver )
MODULE_DEVICE_TABLE ( i2c  ,
mt9t001_id   
)
module_i2c_driver ( mt9t001_driver  )
MODULE_LICENSE ( "GPL"  )