cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

m5602_ov7660.h (2769B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Driver for the ov7660 sensor
      4 *
      5 * Copyright (C) 2009 Erik Andrén
      6 * Copyright (C) 2007 Ilyes Gouta. Based on the m5603x Linux Driver Project.
      7 * Copyright (C) 2005 m5603x Linux Driver Project <m5602@x3ng.com.br>
      8 *
      9 * Portions of code to USB interface and ALi driver software,
     10 * Copyright (c) 2006 Willem Duinker
     11 * v4l2 interface modeled after the V4L2 driver
     12 * for SN9C10x PC Camera Controllers
     13 */
     14
     15#ifndef M5602_OV7660_H_
     16#define M5602_OV7660_H_
     17
     18#include "m5602_sensor.h"
     19
     20#define OV7660_GAIN		0x00
     21#define OV7660_BLUE_GAIN	0x01
     22#define OV7660_RED_GAIN		0x02
     23#define OV7660_VREF		0x03
     24#define OV7660_COM1		0x04
     25#define OV7660_BAVE		0x05
     26#define OV7660_GEAVE		0x06
     27#define OV7660_AECHH		0x07
     28#define OV7660_RAVE		0x08
     29#define OV7660_COM2		0x09
     30#define OV7660_PID		0x0a
     31#define OV7660_VER		0x0b
     32#define OV7660_COM3		0x0c
     33#define OV7660_COM4		0x0d
     34#define OV7660_COM5		0x0e
     35#define OV7660_COM6		0x0f
     36#define OV7660_AECH		0x10
     37#define OV7660_CLKRC		0x11
     38#define OV7660_COM7		0x12
     39#define OV7660_COM8		0x13
     40#define OV7660_COM9		0x14
     41#define OV7660_COM10		0x15
     42#define OV7660_RSVD16		0x16
     43#define OV7660_HSTART		0x17
     44#define OV7660_HSTOP		0x18
     45#define OV7660_VSTART		0x19
     46#define OV7660_VSTOP		0x1a
     47#define OV7660_PSHFT		0x1b
     48#define OV7660_MIDH		0x1c
     49#define OV7660_MIDL		0x1d
     50#define OV7660_MVFP		0x1e
     51#define OV7660_LAEC		0x1f
     52#define OV7660_BOS		0x20
     53#define OV7660_GBOS		0x21
     54#define OV7660_GROS		0x22
     55#define OV7660_ROS		0x23
     56#define OV7660_AEW		0x24
     57#define OV7660_AEB		0x25
     58#define OV7660_VPT		0x26
     59#define OV7660_BBIAS		0x27
     60#define OV7660_GbBIAS		0x28
     61#define OV7660_RSVD29		0x29
     62#define OV7660_RBIAS		0x2c
     63#define OV7660_HREF		0x32
     64#define OV7660_ADC		0x37
     65#define OV7660_OFON		0x39
     66#define OV7660_TSLB		0x3a
     67#define OV7660_COM12		0x3c
     68#define OV7660_COM13		0x3d
     69#define OV7660_LCC1		0x62
     70#define OV7660_LCC2		0x63
     71#define OV7660_LCC3		0x64
     72#define OV7660_LCC4		0x65
     73#define OV7660_LCC5		0x66
     74#define OV7660_HV		0x69
     75#define OV7660_RSVDA1		0xa1
     76
     77#define OV7660_DEFAULT_GAIN		0x0e
     78#define OV7660_DEFAULT_RED_GAIN		0x80
     79#define OV7660_DEFAULT_BLUE_GAIN	0x80
     80#define OV7660_DEFAULT_SATURATION	0x00
     81#define OV7660_DEFAULT_EXPOSURE		0x20
     82
     83/* Kernel module parameters */
     84extern int force_sensor;
     85extern bool dump_sensor;
     86
     87int ov7660_probe(struct sd *sd);
     88int ov7660_init(struct sd *sd);
     89int ov7660_init_controls(struct sd *sd);
     90int ov7660_start(struct sd *sd);
     91int ov7660_stop(struct sd *sd);
     92void ov7660_disconnect(struct sd *sd);
     93
     94static const struct m5602_sensor ov7660 = {
     95	.name = "ov7660",
     96	.i2c_slave_id = 0x42,
     97	.i2c_regW = 1,
     98	.probe = ov7660_probe,
     99	.init = ov7660_init,
    100	.init_controls = ov7660_init_controls,
    101	.start = ov7660_start,
    102	.stop = ov7660_stop,
    103	.disconnect = ov7660_disconnect,
    104};
    105#endif