Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.14-rc1 104 lines 2.8 kB view raw
1/* OmniVision* camera chip driver API 2 * 3 * Copyright (c) 1999-2004 Mark McClelland 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License as published by the 7 * Free Software Foundation; either version 2 of the License, or (at your 8 * option) any later version. NO WARRANTY OF ANY KIND is expressed or implied. 9 * 10 * * OmniVision is a trademark of OmniVision Technologies, Inc. This driver 11 * is not sponsored or developed by them. 12 */ 13 14#ifndef __LINUX_OVCAMCHIP_H 15#define __LINUX_OVCAMCHIP_H 16 17#include <linux/videodev.h> 18#include <linux/i2c.h> 19 20/* Remove these once they are officially defined */ 21#ifndef I2C_DRIVERID_OVCAMCHIP 22 #define I2C_DRIVERID_OVCAMCHIP 0xf00f 23#endif 24#ifndef I2C_HW_SMBUS_OV511 25 #define I2C_HW_SMBUS_OV511 0xfe 26#endif 27#ifndef I2C_HW_SMBUS_OV518 28 #define I2C_HW_SMBUS_OV518 0xff 29#endif 30#ifndef I2C_HW_SMBUS_OVFX2 31 #define I2C_HW_SMBUS_OVFX2 0xfd 32#endif 33 34/* --------------------------------- */ 35/* ENUMERATIONS */ 36/* --------------------------------- */ 37 38/* Controls */ 39enum { 40 OVCAMCHIP_CID_CONT, /* Contrast */ 41 OVCAMCHIP_CID_BRIGHT, /* Brightness */ 42 OVCAMCHIP_CID_SAT, /* Saturation */ 43 OVCAMCHIP_CID_HUE, /* Hue */ 44 OVCAMCHIP_CID_EXP, /* Exposure */ 45 OVCAMCHIP_CID_FREQ, /* Light frequency */ 46 OVCAMCHIP_CID_BANDFILT, /* Banding filter */ 47 OVCAMCHIP_CID_AUTOBRIGHT, /* Auto brightness */ 48 OVCAMCHIP_CID_AUTOEXP, /* Auto exposure */ 49 OVCAMCHIP_CID_BACKLIGHT, /* Back light compensation */ 50 OVCAMCHIP_CID_MIRROR, /* Mirror horizontally */ 51}; 52 53/* Chip types */ 54#define NUM_CC_TYPES 9 55enum { 56 CC_UNKNOWN, 57 CC_OV76BE, 58 CC_OV7610, 59 CC_OV7620, 60 CC_OV7620AE, 61 CC_OV6620, 62 CC_OV6630, 63 CC_OV6630AE, 64 CC_OV6630AF, 65}; 66 67/* --------------------------------- */ 68/* I2C ADDRESSES */ 69/* --------------------------------- */ 70 71#define OV7xx0_SID (0x42 >> 1) 72#define OV6xx0_SID (0xC0 >> 1) 73 74/* --------------------------------- */ 75/* API */ 76/* --------------------------------- */ 77 78struct ovcamchip_control { 79 __u32 id; 80 __s32 value; 81}; 82 83struct ovcamchip_window { 84 int x; 85 int y; 86 int width; 87 int height; 88 int format; 89 int quarter; /* Scale width and height down 2x */ 90 91 /* This stuff will be removed eventually */ 92 int clockdiv; /* Clock divisor setting */ 93}; 94 95/* Commands */ 96#define OVCAMCHIP_CMD_Q_SUBTYPE _IOR (0x88, 0x00, int) 97#define OVCAMCHIP_CMD_INITIALIZE _IOW (0x88, 0x01, int) 98/* You must call OVCAMCHIP_CMD_INITIALIZE before any of commands below! */ 99#define OVCAMCHIP_CMD_S_CTRL _IOW (0x88, 0x02, struct ovcamchip_control) 100#define OVCAMCHIP_CMD_G_CTRL _IOWR (0x88, 0x03, struct ovcamchip_control) 101#define OVCAMCHIP_CMD_S_MODE _IOW (0x88, 0x04, struct ovcamchip_window) 102#define OVCAMCHIP_MAX_CMD _IO (0x88, 0x3f) 103 104#endif