linux/drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (c) 2001 Jean-Fredric Clere, Nikolas Zimmermann, Georg Acher
 *		      Mark Cave-Ayland, Carlo E Prelz, Dick Streefland
 * Copyright (c) 2002, 2003 Tuukka Toivonen
 * Copyright (c) 2008 Erik Andrén
 *
 * P/N 861037:      Sensor HDCS1000        ASIC STV0600
 * P/N 861050-0010: Sensor HDCS1000        ASIC STV0600
 * P/N 861050-0020: Sensor Photobit PB100  ASIC STV0600-1 - QuickCam Express
 * P/N 861055:      Sensor ST VV6410       ASIC STV0610   - LEGO cam
 * P/N 861075-0040: Sensor HDCS1000        ASIC
 * P/N 961179-0700: Sensor ST VV6410       ASIC STV0602   - Dexxa WebCam USB
 * P/N 861040-0000: Sensor ST VV6410       ASIC STV0610   - QuickCam Web
 */

#ifndef STV06XX_PB0100_H_
#define STV06XX_PB0100_H_

#include "stv06xx_sensor.h"

/* mode priv field flags */
#define PB0100_CROP_TO_VGA
#define PB0100_SUBSAMPLE

/* I2C Registers */
#define PB_IDENT
#define PB_RSTART
#define PB_CSTART
#define PB_RWSIZE
#define PB_CWSIZE
#define PB_CFILLIN
#define PB_VBL
#define PB_CONTROL
#define PB_FINTTIME
#define PB_RINTTIME
#define PB_ROWSPEED
#define PB_ABORTFRAME
#define PB_R12
#define PB_RESET
#define PB_EXPGAIN
#define PB_R15
#define PB_R16
#define PB_R17
#define PB_R18
#define PB_R19
#define PB_R20
#define PB_R21
#define PB_R22
#define PB_UPDATEINT
#define PB_R24
#define PB_R25
#define PB_R26
#define PB_R27
#define PB_R28
#define PB_R29
#define PB_R30
#define PB_R31
#define PB_PREADCTRL
#define PB_R33
#define PB_R34
#define PB_R35
#define PB_R36
#define PB_R37
#define PB_R38
#define PB_R39
#define PB_R40
#define PB_R41
#define PB_R42
#define PB_G1GAIN
#define PB_BGAIN
#define PB_RGAIN
#define PB_G2GAIN
#define PB_R47
#define PB_R48
#define PB_R49
#define PB_R50
#define PB_ADCMAXGAIN
#define PB_ADCMINGAIN
#define PB_ADCGLOBALGAIN
#define PB_R54
#define PB_R55
#define PB_R56
#define PB_VOFFSET
#define PB_R58
#define PB_ADCGAINH
#define PB_ADCGAINL
#define PB_R61
#define PB_R62
#define PB_R63
#define PB_R64
#define PB_R65
#define PB_R66
#define PB_R67
#define PB_R240
#define PB_R241
#define PB_R242

static int pb0100_probe(struct sd *sd);
static int pb0100_start(struct sd *sd);
static int pb0100_init(struct sd *sd);
static int pb0100_init_controls(struct sd *sd);
static int pb0100_stop(struct sd *sd);
static int pb0100_dump(struct sd *sd);

/* V4L2 controls supported by the driver */
static int pb0100_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static int pb0100_set_red_balance(struct gspca_dev *gspca_dev, __s32 val);
static int pb0100_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val);
static int pb0100_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
static int pb0100_set_autogain(struct gspca_dev *gspca_dev, __s32 val);
static int pb0100_set_autogain_target(struct gspca_dev *gspca_dev, __s32 val);

const struct stv06xx_sensor stv06xx_sensor_pb0100 =;

#endif