OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [media/] [ovcamchip.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/* 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 <media/v4l2-common.h>
19
 
20
/* --------------------------------- */
21
/*           ENUMERATIONS            */
22
/* --------------------------------- */
23
 
24
/* Controls */
25
enum {
26
        OVCAMCHIP_CID_CONT,             /* Contrast */
27
        OVCAMCHIP_CID_BRIGHT,           /* Brightness */
28
        OVCAMCHIP_CID_SAT,              /* Saturation */
29
        OVCAMCHIP_CID_HUE,              /* Hue */
30
        OVCAMCHIP_CID_EXP,              /* Exposure */
31
        OVCAMCHIP_CID_FREQ,             /* Light frequency */
32
        OVCAMCHIP_CID_BANDFILT,         /* Banding filter */
33
        OVCAMCHIP_CID_AUTOBRIGHT,       /* Auto brightness */
34
        OVCAMCHIP_CID_AUTOEXP,          /* Auto exposure */
35
        OVCAMCHIP_CID_BACKLIGHT,        /* Back light compensation */
36
        OVCAMCHIP_CID_MIRROR,           /* Mirror horizontally */
37
};
38
 
39
/* Chip types */
40
#define NUM_CC_TYPES    9
41
enum {
42
        CC_UNKNOWN,
43
        CC_OV76BE,
44
        CC_OV7610,
45
        CC_OV7620,
46
        CC_OV7620AE,
47
        CC_OV6620,
48
        CC_OV6630,
49
        CC_OV6630AE,
50
        CC_OV6630AF,
51
};
52
 
53
/* --------------------------------- */
54
/*           I2C ADDRESSES           */
55
/* --------------------------------- */
56
 
57
#define OV7xx0_SID   (0x42 >> 1)
58
#define OV6xx0_SID   (0xC0 >> 1)
59
 
60
/* --------------------------------- */
61
/*                API                */
62
/* --------------------------------- */
63
 
64
struct ovcamchip_control {
65
        __u32 id;
66
        __s32 value;
67
};
68
 
69
struct ovcamchip_window {
70
        int x;
71
        int y;
72
        int width;
73
        int height;
74
        int format;
75
        int quarter;            /* Scale width and height down 2x */
76
 
77
        /* This stuff will be removed eventually */
78
        int clockdiv;           /* Clock divisor setting */
79
};
80
 
81
/* Commands */
82
#define OVCAMCHIP_CMD_Q_SUBTYPE     _IOR  (0x88, 0x00, int)
83
#define OVCAMCHIP_CMD_INITIALIZE    _IOW  (0x88, 0x01, int)
84
/* You must call OVCAMCHIP_CMD_INITIALIZE before any of commands below! */
85
#define OVCAMCHIP_CMD_S_CTRL        _IOW  (0x88, 0x02, struct ovcamchip_control)
86
#define OVCAMCHIP_CMD_G_CTRL        _IOWR (0x88, 0x03, struct ovcamchip_control)
87
#define OVCAMCHIP_CMD_S_MODE        _IOW  (0x88, 0x04, struct ovcamchip_window)
88
#define OVCAMCHIP_MAX_CMD           _IO   (0x88, 0x3f)
89
 
90
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.