|
Linux Kernel
3.7.1
|
Go to the source code of this file.
Data Structures | |
| struct | sd |
| struct | ctrl_valid |
| struct | ov_regvals |
| struct | ov_i2c_regvals |
Macros | |
| #define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
| #define | MODULE_NAME "ov519" |
| #define | CONEX_CAM |
| #define | BRIDGE_OV511 0 |
| #define | BRIDGE_OV511PLUS 1 |
| #define | BRIDGE_OV518 2 |
| #define | BRIDGE_OV518PLUS 3 |
| #define | BRIDGE_OV519 4 /* = ov530 */ |
| #define | BRIDGE_OVFX2 5 |
| #define | BRIDGE_W9968CF 6 |
| #define | BRIDGE_MASK 7 |
| #define | BRIDGE_INVERT_LED 8 |
| #define | QUALITY_MIN 50 |
| #define | QUALITY_MAX 70 |
| #define | QUALITY_DEF 50 |
| #define | R51x_FIFO_PSIZE 0x30 /* 2 bytes wide w/ OV518(+) */ |
| #define | R51x_SYS_RESET 0x50 |
| #define | OV511_RESET_OMNICE 0x08 |
| #define | R51x_SYS_INIT 0x53 |
| #define | R51x_SYS_SNAP 0x52 |
| #define | R51x_SYS_CUST_ID 0x5f |
| #define | R51x_COMP_LUT_BEGIN 0x80 |
| #define | R511_CAM_DELAY 0x10 |
| #define | R511_CAM_EDGE 0x11 |
| #define | R511_CAM_PXCNT 0x12 |
| #define | R511_CAM_LNCNT 0x13 |
| #define | R511_CAM_PXDIV 0x14 |
| #define | R511_CAM_LNDIV 0x15 |
| #define | R511_CAM_UV_EN 0x16 |
| #define | R511_CAM_LINE_MODE 0x17 |
| #define | R511_CAM_OPTS 0x18 |
| #define | R511_SNAP_FRAME 0x19 |
| #define | R511_SNAP_PXCNT 0x1a |
| #define | R511_SNAP_LNCNT 0x1b |
| #define | R511_SNAP_PXDIV 0x1c |
| #define | R511_SNAP_LNDIV 0x1d |
| #define | R511_SNAP_UV_EN 0x1e |
| #define | R511_SNAP_OPTS 0x1f |
| #define | R511_DRAM_FLOW_CTL 0x20 |
| #define | R511_FIFO_OPTS 0x31 |
| #define | R511_I2C_CTL 0x40 |
| #define | R511_SYS_LED_CTL 0x55 /* OV511+ only */ |
| #define | R511_COMP_EN 0x78 |
| #define | R511_COMP_LUT_EN 0x79 |
| #define | R518_GPIO_OUT 0x56 /* OV518(+) only */ |
| #define | R518_GPIO_CTL 0x57 /* OV518(+) only */ |
| #define | OV519_R10_H_SIZE 0x10 |
| #define | OV519_R11_V_SIZE 0x11 |
| #define | OV519_R12_X_OFFSETL 0x12 |
| #define | OV519_R13_X_OFFSETH 0x13 |
| #define | OV519_R14_Y_OFFSETL 0x14 |
| #define | OV519_R15_Y_OFFSETH 0x15 |
| #define | OV519_R16_DIVIDER 0x16 |
| #define | OV519_R20_DFR 0x20 |
| #define | OV519_R25_FORMAT 0x25 |
| #define | OV519_R51_RESET1 0x51 |
| #define | OV519_R54_EN_CLK1 0x54 |
| #define | OV519_R57_SNAPSHOT 0x57 |
| #define | OV519_GPIO_DATA_OUT0 0x71 |
| #define | OV519_GPIO_IO_CTRL0 0x72 |
| #define | OVFX2_BULK_SIZE (13 * 4096) |
| #define | R51x_I2C_W_SID 0x41 |
| #define | R51x_I2C_SADDR_3 0x42 |
| #define | R51x_I2C_SADDR_2 0x43 |
| #define | R51x_I2C_R_SID 0x44 |
| #define | R51x_I2C_DATA 0x45 |
| #define | R518_I2C_CTL 0x47 /* OV518(+) only */ |
| #define | OVFX2_I2C_ADDR 0x00 |
| #define | OV7xx0_SID 0x42 |
| #define | OV_HIRES_SID 0x60 /* OV9xxx / OV2xxx / OV3xxx */ |
| #define | OV8xx0_SID 0xa0 |
| #define | OV6xx0_SID 0xc0 |
| #define | OV7610_REG_GAIN 0x00 /* gain setting (5:0) */ |
| #define | OV7610_REG_BLUE 0x01 /* blue channel balance */ |
| #define | OV7610_REG_RED 0x02 /* red channel balance */ |
| #define | OV7610_REG_SAT 0x03 /* saturation */ |
| #define | OV8610_REG_HUE 0x04 /* 04 reserved */ |
| #define | OV7610_REG_CNT 0x05 /* Y contrast */ |
| #define | OV7610_REG_BRT 0x06 /* Y brightness */ |
| #define | OV7610_REG_COM_C 0x14 /* misc common regs */ |
| #define | OV7610_REG_ID_HIGH 0x1c /* manufacturer ID MSB */ |
| #define | OV7610_REG_ID_LOW 0x1d /* manufacturer ID LSB */ |
| #define | OV7610_REG_COM_I 0x29 /* misc settings */ |
| #define | OV7670_R00_GAIN 0x00 /* Gain lower 8 bits (rest in vref) */ |
| #define | OV7670_R01_BLUE 0x01 /* blue gain */ |
| #define | OV7670_R02_RED 0x02 /* red gain */ |
| #define | OV7670_R03_VREF 0x03 /* Pieces of GAIN, VSTART, VSTOP */ |
| #define | OV7670_R04_COM1 0x04 /* Control 1 */ |
| #define | OV7670_R0C_COM3 0x0c /* Control 3 */ |
| #define | OV7670_R0D_COM4 0x0d /* Control 4 */ |
| #define | OV7670_R0E_COM5 0x0e /* All "reserved" */ |
| #define | OV7670_R0F_COM6 0x0f /* Control 6 */ |
| #define | OV7670_R10_AECH 0x10 /* More bits of AEC value */ |
| #define | OV7670_R11_CLKRC 0x11 /* Clock control */ |
| #define | OV7670_R12_COM7 0x12 /* Control 7 */ |
| #define | OV7670_COM7_FMT_VGA 0x00 |
| #define | OV7670_COM7_FMT_QVGA 0x10 /* QVGA format */ |
| #define | OV7670_COM7_FMT_MASK 0x38 |
| #define | OV7670_COM7_RESET 0x80 /* Register reset */ |
| #define | OV7670_R13_COM8 0x13 /* Control 8 */ |
| #define | OV7670_COM8_AEC 0x01 /* Auto exposure enable */ |
| #define | OV7670_COM8_AWB 0x02 /* White balance enable */ |
| #define | OV7670_COM8_AGC 0x04 /* Auto gain enable */ |
| #define | OV7670_COM8_BFILT 0x20 /* Band filter enable */ |
| #define | OV7670_COM8_AECSTEP 0x40 /* Unlimited AEC step size */ |
| #define | OV7670_COM8_FASTAEC 0x80 /* Enable fast AGC/AEC */ |
| #define | OV7670_R14_COM9 0x14 /* Control 9 - gain ceiling */ |
| #define | OV7670_R15_COM10 0x15 /* Control 10 */ |
| #define | OV7670_R17_HSTART 0x17 /* Horiz start high bits */ |
| #define | OV7670_R18_HSTOP 0x18 /* Horiz stop high bits */ |
| #define | OV7670_R19_VSTART 0x19 /* Vert start high bits */ |
| #define | OV7670_R1A_VSTOP 0x1a /* Vert stop high bits */ |
| #define | OV7670_R1E_MVFP 0x1e /* Mirror / vflip */ |
| #define | OV7670_MVFP_VFLIP 0x10 /* vertical flip */ |
| #define | OV7670_MVFP_MIRROR 0x20 /* Mirror image */ |
| #define | OV7670_R24_AEW 0x24 /* AGC upper limit */ |
| #define | OV7670_R25_AEB 0x25 /* AGC lower limit */ |
| #define | OV7670_R26_VPT 0x26 /* AGC/AEC fast mode op region */ |
| #define | OV7670_R32_HREF 0x32 /* HREF pieces */ |
| #define | OV7670_R3A_TSLB 0x3a /* lots of stuff */ |
| #define | OV7670_R3B_COM11 0x3b /* Control 11 */ |
| #define | OV7670_COM11_EXP 0x02 |
| #define | OV7670_COM11_HZAUTO 0x10 /* Auto detect 50/60 Hz */ |
| #define | OV7670_R3C_COM12 0x3c /* Control 12 */ |
| #define | OV7670_R3D_COM13 0x3d /* Control 13 */ |
| #define | OV7670_COM13_GAMMA 0x80 /* Gamma enable */ |
| #define | OV7670_COM13_UVSAT 0x40 /* UV saturation auto adjustment */ |
| #define | OV7670_R3E_COM14 0x3e /* Control 14 */ |
| #define | OV7670_R3F_EDGE 0x3f /* Edge enhancement factor */ |
| #define | OV7670_R40_COM15 0x40 /* Control 15 */ |
| #define | OV7670_R41_COM16 0x41 /* Control 16 */ |
| #define | OV7670_COM16_AWBGAIN 0x08 /* AWB gain enable */ |
| #define | OV7670_R55_BRIGHT 0x55 /* Brightness */ |
| #define | OV7670_R56_CONTRAS 0x56 /* Contrast control */ |
| #define | OV7670_R69_GFIX 0x69 /* Fix gain control */ |
| #define | OV7670_R9F_HAECC1 0x9f /* Hist AEC/AGC control 1 */ |
| #define | OV7670_RA0_HAECC2 0xa0 /* Hist AEC/AGC control 2 */ |
| #define | OV7670_RA5_BD50MAX 0xa5 /* 50hz banding step limit */ |
| #define | OV7670_RA6_HAECC3 0xa6 /* Hist AEC/AGC control 3 */ |
| #define | OV7670_RA7_HAECC4 0xa7 /* Hist AEC/AGC control 4 */ |
| #define | OV7670_RA8_HAECC5 0xa8 /* Hist AEC/AGC control 5 */ |
| #define | OV7670_RA9_HAECC6 0xa9 /* Hist AEC/AGC control 6 */ |
| #define | OV7670_RAA_HAECC7 0xaa /* Hist AEC/AGC control 7 */ |
| #define | OV7670_RAB_BD60MAX 0xab /* 60hz banding step limit */ |
| #define | HDRSZ 16 |
Functions | |
| MODULE_AUTHOR ("Jean-Francois Moine <http://moinejf.free.fr>") | |
| MODULE_DESCRIPTION ("OV519 USB Camera Driver") | |
| MODULE_LICENSE ("GPL") | |
| MODULE_DEVICE_TABLE (usb, device_table) | |
| module_usb_driver (sd_driver) | |
| module_param (frame_rate, int, 0644) | |
| MODULE_PARM_DESC (frame_rate,"Frame rate (5, 10, 15, 20 or 30 fps)") | |
| #define HDRSZ 16 |
| #define OV7670_COM13_UVSAT 0x40 /* UV saturation auto adjustment */ |
| #define OV7670_COM8_AECSTEP 0x40 /* Unlimited AEC step size */ |
| #define OV7670_R00_GAIN 0x00 /* Gain lower 8 bits (rest in vref) */ |
| #define OV7670_R03_VREF 0x03 /* Pieces of GAIN, VSTART, VSTOP */ |
| #define OV7670_R26_VPT 0x26 /* AGC/AEC fast mode op region */ |
| #define OV7670_RA5_BD50MAX 0xa5 /* 50hz banding step limit */ |
| #define OV7670_RAB_BD60MAX 0xab /* 60hz banding step limit */ |
OV519 driver
Copyright (C) 2008-2011 Jean-François Moine moinejf@free.fr Copyright (C) 2009 Hans de Goede hdegoede@redhat.com
This module is adapted from the ov51x-jpeg package, which itself was adapted from the ov511 driver.
Original copyright for the ov511 driver is:
Copyright (c) 1999-2006 Mark W. McClelland Support for OV519, OV8610 Copyright (c) 2003 Joerg Heckenbach Many improvements by Bret Wallach bwallac1@san.rr.com Color fixes by by Orion Sky Lawlor olawlor@acm.org (2/26/2000) OV7620 fixes by Charl P. Botha cpbotha@ieee.org Changes by Claudio Matsuoka claudio@conectiva.com
ov51x-jpeg original copyright is:
Copyright (c) 2004-2007 Romain Beauxis toots@rastageeks.org Support for OV7670 sensors was contributed by Sam Skipsey aoanla@yahoo.com
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
| enum sensors |
| MODULE_AUTHOR | ( | "Jean-Francois Moine <http://moinejf.free.fr>" | ) |
| MODULE_DESCRIPTION | ( | "OV519 USB Camera Driver" | ) |
| MODULE_DEVICE_TABLE | ( | usb | , |
| device_table | |||
| ) |
| MODULE_LICENSE | ( | "GPL" | ) |
| module_param | ( | frame_rate | , |
| int | , | ||
| 0644 | |||
| ) |
| module_usb_driver | ( | sd_driver | ) |
1.8.2