/*
 *	Z-Star/Vimicro zc301/zc302p/vc30x library
 *	Copyright (C) 2004 2005 2006 Michel Xhaard
 *		mxhaard@magic.fr
 *
 * V4L2 by Jean-Francois Moine <http://moinejf.free.fr>
 *
 * 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
 * (at your option) 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., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#define MODULE_NAME "zc3xx"

#include "gspca.h"

#define DRIVER_VERSION_NUMBER	KERNEL_VERSION(2, 1, 5)
static const char version[] = "2.1.5";

MODULE_AUTHOR("Michel Xhaard <mxhaard@users.sourceforge.net>, "
		"Serge A. Suchkov <Serge.A.S@tochka.ru>");
MODULE_DESCRIPTION("GSPCA ZC03xx/VC3xx USB Camera Driver");
MODULE_LICENSE("GPL");

static int force_sensor = -1;

#include "jpeg.h"

/* specific webcam descriptor */
struct sd {
	struct gspca_dev gspca_dev;	/* !! must be the first item */

	__u8 brightness;
	__u8 contrast;
	__u8 gamma;
	__u8 autogain;
	__u8 lightfreq;
	__u8 sharpness;

	char qindex;
	char sensor;			/* Type of image sensor chip */
/* !! values used in different tables */
#define SENSOR_CS2102 0
#define SENSOR_CS2102K 1
#define SENSOR_GC0305 2
#define SENSOR_HDCS2020 3
#define SENSOR_HDCS2020b 4
#define SENSOR_HV7131B 5
#define SENSOR_HV7131C 6
#define SENSOR_ICM105A 7
#define SENSOR_MC501CB 8
#define SENSOR_OV7620 9
/*#define SENSOR_OV7648 9 - same values */
#define SENSOR_OV7630C 10
#define SENSOR_PAS106 11
#define SENSOR_PB0330 12
#define SENSOR_PO2030 13
#define SENSOR_TAS5130CK 14
#define SENSOR_TAS5130CXX 15
#define SENSOR_TAS5130C_VF0250 16
#define SENSOR_MAX 17
	unsigned short chip_revision;
};

/* V4L2 controls supported by the driver */
static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_setgamma(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getgamma(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_setfreq(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getfreq(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_setsharpness(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getsharpness(struct gspca_dev *gspca_dev, __s32 *val);

static struct ctrl sd_ctrls[] = {
#define SD_BRIGHTNESS 0
	{
	    {
		.id      = V4L2_CID_BRIGHTNESS,
		.type    = V4L2_CTRL_TYPE_INTEGER,
		.name    = "Brightness",
		.minimum = 0,
		.maximum = 255,
		.step    = 1,
		.default_value = 128,
	    },
	    .set = sd_setbrightness,
	    .get = sd_getbrightness,
	},
#define SD_CONTRAST 1
	{
	    {
		.id      = V4L2_CID_CONTRAST,
		.type    = V4L2_CTRL_TYPE_INTEGER,
		.name    = "Contrast",
		.minimum = 0,
		.maximum = 256,
		.step    = 1,
		.default_value = 128,
	    },
	    .set = sd_setcontrast,
	    .get = sd_getcontrast,
	},
#define SD_GAMMA 2
	{
	    {
		.id      = V4L2_CID_GAMMA,
		.type    = V4L2_CTRL_TYPE_INTEGER,
		.name    = "Gamma",
		.minimum = 1,
		.maximum = 6,
		.step    = 1,
		.default_value = 4,
	    },
	    .set = sd_setgamma,
	    .get = sd_getgamma,
	},
#define SD_AUTOGAIN 3
	{
	    {
		.id      = V4L2_CID_AUTOGAIN,
		.type    = V4L2_CTRL_TYPE_BOOLEAN,
		.name    = "Auto Gain",
		.minimum = 0,
		.maximum = 1,
		.step    = 1,
		.default_value = 1,
	    },
	    .set = sd_setautogain,
	    .get = sd_getautogain,
	},
#define SD_FREQ 4
	{
	    {
		.id	 = V4L2_CID_POWER_LINE_FREQUENCY,
		.type    = V4L2_CTRL_TYPE_MENU,
		.name    = "Light frequency filter",
		.minimum = 0,
		.maximum = 2,	/* 0: 0, 1: 50Hz, 2:60Hz */
		.step    = 1,
		.default_value = 1,
	    },
	    .set = sd_setfreq,
	    .get = sd_getfreq,
	},
#define SD_SHARPNESS 5
	{
	    {
		.id	 = V4L2_CID_SHARPNESS,
		.type    = V4L2_CTRL_TYPE_INTEGER,
		.name    = "Sharpness",
		.minimum = 0,
		.maximum = 3,
		.step    = 1,
		.default_value = 2,
	    },
	    .set = sd_setsharpness,
	    .get = sd_getsharpness,
	},
};

static struct v4l2_pix_format vga_mode[] = {
	{320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
		.bytesperline = 320,
		.sizeimage = 320 * 240 * 3 / 8 + 590,
		.colorspace = V4L2_COLORSPACE_JPEG,
		.priv = 1},
	{640, 480, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
		.bytesperline = 640,
		.sizeimage = 640 * 480 * 3 / 8 + 590,
		.colorspace = V4L2_COLORSPACE_JPEG,
		.priv = 0},
};

static struct v4l2_pix_format sif_mode[] = {
	{176, 144, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
		.bytesperline = 176,
		.sizeimage = 176 * 144 * 3 / 8 + 590,
		.colorspace = V4L2_COLORSPACE_JPEG,
		.priv = 1},
	{352, 288, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
		.bytesperline = 352,
		.sizeimage = 352 * 288 * 3 / 8 + 590,
		.colorspace = V4L2_COLORSPACE_JPEG,
		.priv = 0},
};

/* usb exchanges */
struct usb_action {
	__u8	req;
	__u8	val;
	__u16	idx;
};

static const struct usb_action cs2102_Initial[] = {
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x00, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x20, 0x0080},
	{0xa0, 0x21, 0x0081},
	{0xa0, 0x30, 0x0083},
	{0xa0, 0x31, 0x0084},
	{0xa0, 0x32, 0x0085},
	{0xa0, 0x23, 0x0086},
	{0xa0, 0x24, 0x0087},
	{0xa0, 0x25, 0x0088},
	{0xa0, 0xb3, 0x008b},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xaa, 0x02, 0x0008},
	{0xaa, 0x03, 0x0000},
	{0xaa, 0x11, 0x0000},
	{0xaa, 0x12, 0x0089},
	{0xaa, 0x13, 0x0000},
	{0xaa, 0x14, 0x00e9},
	{0xaa, 0x20, 0x0000},
	{0xaa, 0x22, 0x0000},
	{0xaa, 0x0b, 0x0004},
	{0xaa, 0x30, 0x0030},
	{0xaa, 0x31, 0x0030},
	{0xaa, 0x32, 0x0030},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x10, 0x01ae},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x68, 0x018d},
	{0xa0, 0x00, 0x01ad},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x24, 0x0120},	/* gamma 5 */
	{0xa0, 0x44, 0x0121},
	{0xa0, 0x64, 0x0122},
	{0xa0, 0x84, 0x0123},
	{0xa0, 0x9d, 0x0124},
	{0xa0, 0xb2, 0x0125},
	{0xa0, 0xc4, 0x0126},
	{0xa0, 0xd3, 0x0127},
	{0xa0, 0xe0, 0x0128},
	{0xa0, 0xeb, 0x0129},
	{0xa0, 0xf4, 0x012a},
	{0xa0, 0xfb, 0x012b},
	{0xa0, 0xff, 0x012c},
	{0xa0, 0xff, 0x012d},
	{0xa0, 0xff, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x18, 0x0130},
	{0xa0, 0x20, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0e, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x00, 0x013c},
	{0xa0, 0x00, 0x013d},
	{0xa0, 0x00, 0x013e},
	{0xa0, 0x01, 0x013f},
	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x23, 0x0001},
	{0xaa, 0x24, 0x0055},
	{0xaa, 0x25, 0x00cc},
	{0xaa, 0x21, 0x003f},
	{0xa0, 0x02, 0x0190},
	{0xa0, 0xab, 0x0191},
	{0xa0, 0x98, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x30, 0x0196},
	{0xa0, 0xd4, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0x39, 0x001d},
	{0xa0, 0x70, 0x001e},
	{0xa0, 0xb0, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{}
};

static const struct usb_action cs2102_InitialScale[] = {
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x00, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x20, 0x0080},
	{0xa0, 0x21, 0x0081},
	{0xa0, 0x30, 0x0083},
	{0xa0, 0x31, 0x0084},
	{0xa0, 0x32, 0x0085},
	{0xa0, 0x23, 0x0086},
	{0xa0, 0x24, 0x0087},
	{0xa0, 0x25, 0x0088},
	{0xa0, 0xb3, 0x008b},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xaa, 0x02, 0x0008},
	{0xaa, 0x03, 0x0000},
	{0xaa, 0x11, 0x0001},
	{0xaa, 0x12, 0x0087},
	{0xaa, 0x13, 0x0001},
	{0xaa, 0x14, 0x00e7},
	{0xaa, 0x20, 0x0000},
	{0xaa, 0x22, 0x0000},
	{0xaa, 0x0b, 0x0004},
	{0xaa, 0x30, 0x0030},
	{0xaa, 0x31, 0x0030},
	{0xaa, 0x32, 0x0030},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x68, 0x018d},
	{0xa0, 0x00, 0x01ad},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x24, 0x0120},	/* gamma 5 */
	{0xa0, 0x44, 0x0121},
	{0xa0, 0x64, 0x0122},
	{0xa0, 0x84, 0x0123},
	{0xa0, 0x9d, 0x0124},
	{0xa0, 0xb2, 0x0125},
	{0xa0, 0xc4, 0x0126},
	{0xa0, 0xd3, 0x0127},
	{0xa0, 0xe0, 0x0128},
	{0xa0, 0xeb, 0x0129},
	{0xa0, 0xf4, 0x012a},
	{0xa0, 0xfb, 0x012b},
	{0xa0, 0xff, 0x012c},
	{0xa0, 0xff, 0x012d},
	{0xa0, 0xff, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x18, 0x0130},
	{0xa0, 0x20, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0e, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x00, 0x013c},
	{0xa0, 0x00, 0x013d},
	{0xa0, 0x00, 0x013e},
	{0xa0, 0x01, 0x013f},
	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x23, 0x0000},
	{0xaa, 0x24, 0x00aa},
	{0xaa, 0x25, 0x00e6},
	{0xaa, 0x21, 0x003f},
	{0xa0, 0x01, 0x0190},
	{0xa0, 0x55, 0x0191},
	{0xa0, 0xcc, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x18, 0x0196},
	{0xa0, 0x6a, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0x3f, 0x001d},
	{0xa0, 0xa5, 0x001e},
	{0xa0, 0xf0, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{}
};
static const struct usb_action cs2102_50HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0f, 0x008c}, /* 00,0f,8c,aa */
	{0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
	{0xaa, 0x04, 0x00ac}, /* 00,04,ac,aa */
	{0xaa, 0x10, 0x0005}, /* 00,10,05,aa */
	{0xaa, 0x11, 0x00ac}, /* 00,11,ac,aa */
	{0xaa, 0x1b, 0x0000}, /* 00,1b,00,aa */
	{0xaa, 0x1c, 0x0005}, /* 00,1c,05,aa */
	{0xaa, 0x1d, 0x00ac}, /* 00,1d,ac,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x3f, 0x0191}, /* 01,91,3f,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x42, 0x0197}, /* 01,97,42,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x24, 0x01aa}, /* 01,aa,24,cc */
	{0xa0, 0x8c, 0x001d}, /* 00,1d,8c,cc */
	{0xa0, 0xb0, 0x001e}, /* 00,1e,b0,cc */
	{0xa0, 0xd0, 0x001f}, /* 00,1f,d0,cc */
	{}
};
static const struct usb_action cs2102_50HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0f, 0x0093}, /* 00,0f,93,aa */
	{0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
	{0xaa, 0x04, 0x00a1}, /* 00,04,a1,aa */
	{0xaa, 0x10, 0x0005}, /* 00,10,05,aa */
	{0xaa, 0x11, 0x00a1}, /* 00,11,a1,aa */
	{0xaa, 0x1b, 0x0000}, /* 00,1b,00,aa */
	{0xaa, 0x1c, 0x0005}, /* 00,1c,05,aa */
	{0xaa, 0x1d, 0x00a1}, /* 00,1d,a1,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x3f, 0x0191}, /* 01,91,3f,cc */
	{0xa0, 0xf7, 0x0192}, /* 01,92,f7,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x83, 0x0197}, /* 01,97,83,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x24, 0x01aa}, /* 01,aa,24,cc */
	{0xa0, 0x93, 0x001d}, /* 00,1d,93,cc */
	{0xa0, 0xb0, 0x001e}, /* 00,1e,b0,cc */
	{0xa0, 0xd0, 0x001f}, /* 00,1f,d0,cc */
	{}
};
static const struct usb_action cs2102_60HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0f, 0x005d}, /* 00,0f,5d,aa */
	{0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
	{0xaa, 0x04, 0x00aa}, /* 00,04,aa,aa */
	{0xaa, 0x10, 0x0005}, /* 00,10,05,aa */
	{0xaa, 0x11, 0x00aa}, /* 00,11,aa,aa */
	{0xaa, 0x1b, 0x0000}, /* 00,1b,00,aa */
	{0xaa, 0x1c, 0x0005}, /* 00,1c,05,aa */
	{0xaa, 0x1d, 0x00aa}, /* 00,1d,aa,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x3f, 0x0191}, /* 01,91,3f,cc */
	{0xa0, 0xe4, 0x0192}, /* 01,92,e4,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x3a, 0x0197}, /* 01,97,3a,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x24, 0x01aa}, /* 01,aa,24,cc */
	{0xa0, 0x5d, 0x001d}, /* 00,1d,5d,cc */
	{0xa0, 0x90, 0x001e}, /* 00,1e,90,cc */
	{0xa0, 0xd0, 0x00c8}, /* 00,c8,d0,cc */
	{}
};
static const struct usb_action cs2102_60HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0f, 0x00b7}, /* 00,0f,b7,aa */
	{0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
	{0xaa, 0x04, 0x00be}, /* 00,04,be,aa */
	{0xaa, 0x10, 0x0005}, /* 00,10,05,aa */
	{0xaa, 0x11, 0x00be}, /* 00,11,be,aa */
	{0xaa, 0x1b, 0x0000}, /* 00,1b,00,aa */
	{0xaa, 0x1c, 0x0005}, /* 00,1c,05,aa */
	{0xaa, 0x1d, 0x00be}, /* 00,1d,be,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x3f, 0x0191}, /* 01,91,3f,cc */
	{0xa0, 0xfc, 0x0192}, /* 01,92,fc,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x69, 0x0197}, /* 01,97,69,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x24, 0x01aa}, /* 01,aa,24,cc */
	{0xa0, 0xb7, 0x001d}, /* 00,1d,b7,cc */
	{0xa0, 0xd0, 0x001e}, /* 00,1e,d0,cc */
	{0xa0, 0xe8, 0x001f}, /* 00,1f,e8,cc */
	{}
};
static const struct usb_action cs2102_NoFliker[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0f, 0x0059}, /* 00,0f,59,aa */
	{0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
	{0xaa, 0x04, 0x0080}, /* 00,04,80,aa */
	{0xaa, 0x10, 0x0005}, /* 00,10,05,aa */
	{0xaa, 0x11, 0x0080}, /* 00,11,80,aa */
	{0xaa, 0x1b, 0x0000}, /* 00,1b,00,aa */
	{0xaa, 0x1c, 0x0005}, /* 00,1c,05,aa */
	{0xaa, 0x1d, 0x0080}, /* 00,1d,80,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x3f, 0x0191}, /* 01,91,3f,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0x59, 0x001d}, /* 00,1d,59,cc */
	{0xa0, 0x90, 0x001e}, /* 00,1e,90,cc */
	{0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */
	{}
};
static const struct usb_action cs2102_NoFlikerScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0f, 0x0059}, /* 00,0f,59,aa */
	{0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
	{0xaa, 0x04, 0x0080}, /* 00,04,80,aa */
	{0xaa, 0x10, 0x0005}, /* 00,10,05,aa */
	{0xaa, 0x11, 0x0080}, /* 00,11,80,aa */
	{0xaa, 0x1b, 0x0000}, /* 00,1b,00,aa */
	{0xaa, 0x1c, 0x0005}, /* 00,1c,05,aa */
	{0xaa, 0x1d, 0x0080}, /* 00,1d,80,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x3f, 0x0191}, /* 01,91,3f,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0x59, 0x001d}, /* 00,1d,59,cc */
	{0xa0, 0x90, 0x001e}, /* 00,1e,90,cc */
	{0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */
	{}
};

/* CS2102_KOCOM */
static const struct usb_action cs2102K_Initial[] = {
	{0xa0, 0x11, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x08, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x55, 0x008b},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0a, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0b, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0c, 0x0092},
	{0xa0, 0x7c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0d, 0x0092},
	{0xa0, 0xa3, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x03, 0x0092},
	{0xa0, 0xfb, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x05, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x06, 0x0092},
	{0xa0, 0x03, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x09, 0x0092},
	{0xa0, 0x08, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0e, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0f, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x10, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x11, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x12, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x15, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x16, 0x0092},
	{0xa0, 0x0c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x17, 0x0092},
	{0xa0, 0x0c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0xb7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x78, 0x018d},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x20, 0x0087},
	{0xa0, 0x21, 0x0088},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x01, 0x01b1},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x4c, 0x0118},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x22, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x22, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x01, 0x00a3},
	{0xa0, 0x22, 0x00a4},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0xee, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x3a, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x0c, 0x01a9},
	{0xa0, 0x28, 0x01aa},
	{0xa0, 0x04, 0x001d},
	{0xa0, 0x0f, 0x001e},
	{0xa0, 0x19, 0x001f},
	{0xa0, 0x1f, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x4c, 0x0118},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x5c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x5c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x96, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x96, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{}
};

static const struct usb_action cs2102K_InitialScale[] = {
	{0xa0, 0x11, 0x0002},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x08, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x55, 0x008b},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0a, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0b, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0c, 0x0092},
	{0xa0, 0x7b, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0d, 0x0092},
	{0xa0, 0xa3, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x03, 0x0092},
	{0xa0, 0xfb, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x05, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x06, 0x0092},
	{0xa0, 0x03, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x09, 0x0092},
	{0xa0, 0x08, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0e, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0f, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x10, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x11, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x12, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x15, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x16, 0x0092},
	{0xa0, 0x0c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x17, 0x0092},
	{0xa0, 0x0c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0xf7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x78, 0x018d},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x20, 0x0087},
	{0xa0, 0x21, 0x0088},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x01, 0x01b1},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x4c, 0x0118},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x22, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x22, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x01, 0x00a3},
	{0xa0, 0x22, 0x00a4},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0xee, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x3a, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x0c, 0x01a9},
	{0xa0, 0x28, 0x01aa},
	{0xa0, 0x04, 0x001d},
	{0xa0, 0x0f, 0x001e},
	{0xa0, 0x19, 0x001f},
	{0xa0, 0x1f, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x4c, 0x0118},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x08, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x55, 0x008b},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0A, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0B, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0C, 0x0092},
	{0xa0, 0x7b, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0D, 0x0092},
	{0xa0, 0xA3, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x03, 0x0092},
	{0xa0, 0xfb, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x05, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x06, 0x0092},
	{0xa0, 0x03, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x09, 0x0092},
	{0xa0, 0x08, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0E, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x0f, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x10, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x11, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x12, 0x0092},
	{0xa0, 0x18, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x15, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x16, 0x0092},
	{0xa0, 0x0c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x17, 0x0092},
	{0xa0, 0x0C, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0xf7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x78, 0x018d},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x20, 0x0087},
	{0xa0, 0x21, 0x0088},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x01, 0x01b1},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x4c, 0x0118},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x22, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x22, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x01, 0x00a3},
	{0xa0, 0x22, 0x00a4},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0xee, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x3a, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x0c, 0x01a9},
	{0xa0, 0x28, 0x01aa},
	{0xa0, 0x04, 0x001d},
	{0xa0, 0x0f, 0x001e},
	{0xa0, 0x19, 0x001f},
	{0xa0, 0x1f, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x4c, 0x0118},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x5c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x5c, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x96, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x96, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0xd0, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0xd0, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x02, 0x0008},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x0a, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x0a, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x44, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x44, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x21, 0x0092},
	{0xa0, 0x7e, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x13, 0x0092},
	{0xa0, 0x7e, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x14, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x18, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x04, 0x01a7},
	{}
};

static const struct usb_action gc0305_Initial[] = {	/* 640x480 */
	{0xa0, 0x01, 0x0000},	/* 00,00,01,cc */
	{0xa0, 0x03, 0x0008},	/* 00,08,03,cc */
	{0xa0, 0x01, 0x0010},	/* 00,10,01,cc */
	{0xa0, 0x04, 0x0002},	/* 00,02,04,cc */
	{0xa0, 0x02, 0x0003},	/* 00,03,02,cc */
	{0xa0, 0x80, 0x0004},	/* 00,04,80,cc */
	{0xa0, 0x01, 0x0005},	/* 00,05,01,cc */
	{0xa0, 0xe0, 0x0006},	/* 00,06,e0,cc */
	{0xa0, 0x01, 0x0001},	/* 00,01,01,cc */
	{0xa0, 0x03, 0x0012},	/* 00,12,03,cc */
	{0xa0, 0x01, 0x0012},	/* 00,12,01,cc */
	{0xa0, 0x00, 0x0098},	/* 00,98,00,cc */
	{0xa0, 0x00, 0x009a},	/* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a},	/* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c},	/* 01,1c,00,cc */
	{0xa0, 0xe6, 0x009c},	/* 00,9c,e6,cc */
	{0xa0, 0x86, 0x009e},	/* 00,9e,86,cc */
	{0xa0, 0x98, 0x008b},	/* 00,8b,98,cc */
	{0xaa, 0x13, 0x0002},	/* 00,13,02,aa */
	{0xaa, 0x15, 0x0003},	/* 00,15,03,aa */
	{0xaa, 0x01, 0x0000},	/* 00,01,00,aa */
	{0xaa, 0x02, 0x0000},	/* 00,02,00,aa */
	{0xaa, 0x1a, 0x0000},	/* 00,1a,00,aa */
	{0xaa, 0x1c, 0x0017},	/* 00,1c,17,aa */
	{0xaa, 0x1d, 0x0080},	/* 00,1d,80,aa */
	{0xaa, 0x1f, 0x0008},	/* 00,1f,08,aa */
	{0xaa, 0x21, 0x0012},	/* 00,21,12,aa */
	{0xa0, 0x82, 0x0086},	/* 00,86,82,cc */
	{0xa0, 0x83, 0x0087},	/* 00,87,83,cc */
	{0xa0, 0x84, 0x0088},	/* 00,88,84,cc */
	{0xaa, 0x05, 0x0000},	/* 00,05,00,aa */
	{0xaa, 0x0a, 0x0000},	/* 00,0a,00,aa */
	{0xaa, 0x0b, 0x00b0},	/* 00,0b,b0,aa */
	{0xaa, 0x0c, 0x0000},	/* 00,0c,00,aa */
	{0xaa, 0x0d, 0x00b0},	/* 00,0d,b0,aa */
	{0xaa, 0x0e, 0x0000},	/* 00,0e,00,aa */
	{0xaa, 0x0f, 0x00b0},	/* 00,0f,b0,aa */
	{0xaa, 0x10, 0x0000},	/* 00,10,00,aa */
	{0xaa, 0x11, 0x00b0},	/* 00,11,b0,aa */
	{0xaa, 0x16, 0x0001},	/* 00,16,01,aa */
	{0xaa, 0x17, 0x00e6},	/* 00,17,e6,aa */
	{0xaa, 0x18, 0x0002},	/* 00,18,02,aa */
	{0xaa, 0x19, 0x0086},	/* 00,19,86,aa */
	{0xaa, 0x20, 0x0000},	/* 00,20,00,aa */
	{0xaa, 0x1b, 0x0020},	/* 00,1b,20,aa */
	{0xa0, 0xb7, 0x0101},	/* 01,01,b7,cc */
	{0xa0, 0x05, 0x0012},	/* 00,12,05,cc */
	{0xa0, 0x0d, 0x0100},	/* 01,00,0d,cc */
	{0xa0, 0x76, 0x0189},	/* 01,89,76,cc */
	{0xa0, 0x09, 0x01ad},	/* 01,ad,09,cc */
	{0xa0, 0x03, 0x01c5},	/* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb},	/* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250},	/* 02,50,08,cc */
	{0xa0, 0x08, 0x0301},	/* 03,01,08,cc */
	{0xa0, 0x60, 0x01a8},	/* 01,a8,60,cc */
	{0xa0, 0x85, 0x018d},	/* 01,8d,85,cc */
	{0xa0, 0x00, 0x011e},	/* 01,1e,00,cc */
	{0xa0, 0x52, 0x0116},	/* 01,16,52,cc */
	{0xa0, 0x40, 0x0117},	/* 01,17,40,cc */
	{0xa0, 0x52, 0x0118},	/* 01,18,52,cc */
	{0xa0, 0x03, 0x0113},	/* 01,13,03,cc */
	{}
};
static const struct usb_action gc0305_InitialScale[] = { /* 320x240 */
	{0xa0, 0x01, 0x0000},	/* 00,00,01,cc */
	{0xa0, 0x03, 0x0008},	/* 00,08,03,cc */
	{0xa0, 0x01, 0x0010},	/* 00,10,01,cc */
	{0xa0, 0x10, 0x0002},	/* 00,02,10,cc */
	{0xa0, 0x02, 0x0003},	/* 00,03,02,cc */
	{0xa0, 0x80, 0x0004},	/* 00,04,80,cc */
	{0xa0, 0x01, 0x0005},	/* 00,05,01,cc */
	{0xa0, 0xe0, 0x0006},	/* 00,06,e0,cc */
	{0xa0, 0x01, 0x0001},	/* 00,01,01,cc */
	{0xa0, 0x03, 0x0012},	/* 00,12,03,cc */
	{0xa0, 0x01, 0x0012},	/* 00,12,01,cc */
	{0xa0, 0x00, 0x0098},	/* 00,98,00,cc */
	{0xa0, 0x00, 0x009a},	/* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a},	/* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c},	/* 01,1c,00,cc */
	{0xa0, 0xe8, 0x009c},	/* 00,9c,e8,cc */
	{0xa0, 0x88, 0x009e},	/* 00,9e,88,cc */
	{0xa0, 0x98, 0x008b},	/* 00,8b,98,cc */
	{0xaa, 0x13, 0x0000},	/* 00,13,00,aa */
	{0xaa, 0x15, 0x0001},	/* 00,15,01,aa */
	{0xaa, 0x01, 0x0000},	/* 00,01,00,aa */
	{0xaa, 0x02, 0x0000},	/* 00,02,00,aa */
	{0xaa, 0x1a, 0x0000},	/* 00,1a,00,aa */
	{0xaa, 0x1c, 0x0017},	/* 00,1c,17,aa */
	{0xaa, 0x1d, 0x0080},	/* 00,1d,80,aa */
	{0xaa, 0x1f, 0x0008},	/* 00,1f,08,aa */
	{0xaa, 0x21, 0x0012},	/* 00,21,12,aa */
	{0xa0, 0x82, 0x0086},	/* 00,86,82,cc */
	{0xa0, 0x83, 0x0087},	/* 00,87,83,cc */
	{0xa0, 0x84, 0x0088},	/* 00,88,84,cc */
	{0xaa, 0x05, 0x0000},	/* 00,05,00,aa */
	{0xaa, 0x0a, 0x0000},	/* 00,0a,00,aa */
	{0xaa, 0x0b, 0x00b0},	/* 00,0b,b0,aa */
	{0xaa, 0x0c, 0x0000},	/* 00,0c,00,aa */
	{0xaa, 0x0d, 0x00b0},	/* 00,0d,b0,aa */
	{0xaa, 0x0e, 0x0000},	/* 00,0e,00,aa */
	{0xaa, 0x0f, 0x00b0},	/* 00,0f,b0,aa */
	{0xaa, 0x10, 0x0000},	/* 00,10,00,aa */
	{0xaa, 0x11, 0x00b0},	/* 00,11,b0,aa */
	{0xaa, 0x16, 0x0001},	/* 00,16,01,aa */
	{0xaa, 0x17, 0x00e8},	/* 00,17,e8,aa */
	{0xaa, 0x18, 0x0002},	/* 00,18,02,aa */
	{0xaa, 0x19, 0x0088},	/* 00,19,88,aa */
	{0xaa, 0x20, 0x0000},	/* 00,20,00,aa */
	{0xaa, 0x1b, 0x0020},	/* 00,1b,20,aa */
	{0xa0, 0xb7, 0x0101},	/* 01,01,b7,cc */
	{0xa0, 0x05, 0x0012},	/* 00,12,05,cc */
	{0xa0, 0x0d, 0x0100},	/* 01,00,0d,cc */
	{0xa0, 0x76, 0x0189},	/* 01,89,76,cc */
	{0xa0, 0x09, 0x01ad},	/* 01,ad,09,cc */
	{0xa0, 0x03, 0x01c5},	/* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb},	/* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250},	/* 02,50,08,cc */
	{0xa0, 0x08, 0x0301},	/* 03,01,08,cc */
	{0xa0, 0x60, 0x01a8},	/* 01,a8,60,cc */
	{0xa0, 0x00, 0x011e},	/* 01,1e,00,cc */
	{0xa0, 0x52, 0x0116},	/* 01,16,52,cc */
	{0xa0, 0x40, 0x0117},	/* 01,17,40,cc */
	{0xa0, 0x52, 0x0118},	/* 01,18,52,cc */
	{0xa0, 0x03, 0x0113},	/* 01,13,03,cc */
	{}
};
static const struct usb_action gc0305_50HZ[] = {
	{0xaa, 0x82, 0x0000},	/* 00,82,00,aa */
	{0xaa, 0x83, 0x0002},	/* 00,83,02,aa */
	{0xaa, 0x84, 0x0038},	/* 00,84,38,aa */	/* win: 00,84,ec */
	{0xa0, 0x00, 0x0190},	/* 01,90,00,cc */
	{0xa0, 0x0b, 0x0191},	/* 01,91,0b,cc */
	{0xa0, 0x18, 0x0192},	/* 01,92,18,cc */	/* win: 01,92,10 */
	{0xa0, 0x00, 0x0195},	/* 01,95,00,cc */
	{0xa0, 0x00, 0x0196},	/* 01,96,00,cc */
	{0xa0, 0x8e, 0x0197},	/* 01,97,8e,cc */	/* win: 01,97,ec */
	{0xa0, 0x0e, 0x018c},	/* 01,8c,0e,cc */
	{0xa0, 0x15, 0x018f},	/* 01,8f,15,cc */
	{0xa0, 0x10, 0x01a9},	/* 01,a9,10,cc */
	{0xa0, 0x24, 0x01aa},	/* 01,aa,24,cc */
	{0xa0, 0x62, 0x001d},	/* 00,1d,62,cc */
	{0xa0, 0x90, 0x001e},	/* 00,1e,90,cc */
	{0xa0, 0xc8, 0x001f},	/* 00,1f,c8,cc */
	{0xa0, 0xff, 0x0020},	/* 00,20,ff,cc */
	{0xa0, 0x60, 0x011d},	/* 01,1d,60,cc */
	{0xa0, 0x42, 0x0180},	/* 01,80,42,cc */
/*	{0xa0, 0x85, 0x018d},	 * 01,8d,85,cc *	 * if 640x480 */
	{}
};
static const struct usb_action gc0305_60HZ[] = {
	{0xaa, 0x82, 0x0000},	/* 00,82,00,aa */
	{0xaa, 0x83, 0x0000},	/* 00,83,00,aa */
	{0xaa, 0x84, 0x00ec},	/* 00,84,ec,aa */
	{0xa0, 0x00, 0x0190},	/* 01,90,00,cc */
	{0xa0, 0x0b, 0x0191},	/* 01,91,0b,cc */
	{0xa0, 0x10, 0x0192},	/* 01,92,10,cc */
	{0xa0, 0x00, 0x0195},	/* 01,95,00,cc */
	{0xa0, 0x00, 0x0196},	/* 01,96,00,cc */
	{0xa0, 0xec, 0x0197},	/* 01,97,ec,cc */
	{0xa0, 0x0e, 0x018c},	/* 01,8c,0e,cc */
	{0xa0, 0x15, 0x018f},	/* 01,8f,15,cc */
	{0xa0, 0x10, 0x01a9},	/* 01,a9,10,cc */
	{0xa0, 0x24, 0x01aa},	/* 01,aa,24,cc */
	{0xa0, 0x62, 0x001d},	/* 00,1d,62,cc */
	{0xa0, 0x90, 0x001e},	/* 00,1e,90,cc */
	{0xa0, 0xc8, 0x001f},	/* 00,1f,c8,cc */
	{0xa0, 0xff, 0x0020},	/* 00,20,ff,cc */
	{0xa0, 0x60, 0x011d},	/* 01,1d,60,cc */
	{0xa0, 0x42, 0x0180},	/* 01,80,42,cc */
	{0xa0, 0x80, 0x018d},	/* 01,8d,80,cc */
	{}
};

static const struct usb_action gc0305_NoFliker[] = {
	{0xa0, 0x0c, 0x0100},	/* 01,00,0c,cc */
	{0xaa, 0x82, 0x0000},	/* 00,82,00,aa */
	{0xaa, 0x83, 0x0000},	/* 00,83,00,aa */
	{0xaa, 0x84, 0x0020},	/* 00,84,20,aa */
	{0xa0, 0x00, 0x0190},	/* 01,90,00,cc */
	{0xa0, 0x00, 0x0191},	/* 01,91,00,cc */
	{0xa0, 0x48, 0x0192},	/* 01,92,48,cc */
	{0xa0, 0x00, 0x0195},	/* 01,95,00,cc */
	{0xa0, 0x00, 0x0196},	/* 01,96,00,cc */
	{0xa0, 0x10, 0x0197},	/* 01,97,10,cc */
	{0xa0, 0x0e, 0x018c},	/* 01,8c,0e,cc */
	{0xa0, 0x15, 0x018f},	/* 01,8f,15,cc */
	{0xa0, 0x62, 0x001d},	/* 00,1d,62,cc */
	{0xa0, 0x90, 0x001e},	/* 00,1e,90,cc */
	{0xa0, 0xc8, 0x001f},	/* 00,1f,c8,cc */
	{0xa0, 0xff, 0x0020},	/* 00,20,ff,cc */
	{0xa0, 0x60, 0x011d},	/* 01,1d,60,cc */
	{0xa0, 0x03, 0x0180},	/* 01,80,03,cc */
	{0xa0, 0x80, 0x018d},	/* 01,8d,80,cc */
	{}
};

/* play poker with registers at your own risk !! */
static const struct usb_action hdcs2020xx_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0e, 0x0010},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xd0, 0x0006},	/* D0 ?? E0 did not start */
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x08, 0x008d},
	{0xa0, 0x08, 0x0098},
	{0xa0, 0x02, 0x009a},
	{0xa0, 0x08, 0x011a},
	{0xa0, 0x02, 0x011c},
	{0xa0, 0x01, 0x009b},
	{0xa0, 0xd8, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x88, 0x009e},
	{0xaa, 0x02, 0x0002},
	{0xaa, 0x07, 0x0006},
	{0xaa, 0x08, 0x0002},
	{0xaa, 0x09, 0x0006},
	{0xaa, 0x0a, 0x0001},
	{0xaa, 0x0b, 0x0001},
	{0xaa, 0x0c, 0x0008},
	{0xaa, 0x0d, 0x0000},
	{0xaa, 0x10, 0x0000},
	{0xaa, 0x12, 0x0005},
	{0xaa, 0x13, 0x0063},
	{0xaa, 0x15, 0x0070},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x70, 0x018d},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x04, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x07, 0x01cb},	/* sharpness- */
	{0xa0, 0x11, 0x0120},	/* gamma ~4 */
	{0xa0, 0x37, 0x0121},
	{0xa0, 0x58, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x91, 0x0124},
	{0xa0, 0xa6, 0x0125},
	{0xa0, 0xb8, 0x0126},
	{0xa0, 0xc7, 0x0127},
	{0xa0, 0xd3, 0x0128},
	{0xa0, 0xde, 0x0129},
	{0xa0, 0xe6, 0x012a},
	{0xa0, 0xed, 0x012b},
	{0xa0, 0xf3, 0x012c},
	{0xa0, 0xf8, 0x012d},
	{0xa0, 0xfb, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x23, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},

	{0xa0, 0x4c, 0x010a},	/* matrix */
	{0xa0, 0xf5, 0x010b},
	{0xa0, 0xff, 0x010c},
	{0xa0, 0xf9, 0x010d},
	{0xa0, 0x51, 0x010e},
	{0xa0, 0xf5, 0x010f},
	{0xa0, 0xfb, 0x0110},
	{0xa0, 0xed, 0x0111},
	{0xa0, 0x5f, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x20, 0x0087},
	{0xa0, 0x21, 0x0088},
	{0xaa, 0x20, 0x0004},
	{0xaa, 0x21, 0x003d},
	{0xaa, 0x03, 0x0041},
	{0xaa, 0x04, 0x0010},
	{0xaa, 0x05, 0x003d},
	{0xaa, 0x0e, 0x0001},
	{0xaa, 0x0f, 0x0000},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x04, 0x0191},
	{0xa0, 0x3d, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x9b, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x41, 0x001d},
	{0xa0, 0x6f, 0x001e},
	{0xa0, 0xad, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x0f, 0x0087},
	{0xa0, 0x0e, 0x0088},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0195},
	{0xa1, 0x01, 0x0196},
	{0xa1, 0x01, 0x0197},
	{0xa0, 0x3d, 0x0192},
	{0xa0, 0x04, 0x0191},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x1d, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x85, 0x0118},
	{0xa1, 0x01, 0x0116},
	{0xa1, 0x01, 0x0118},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x1d, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x85, 0x0118},
	{0xa1, 0x01, 0x0116},
	{0xa1, 0x01, 0x0118},
/*	{0xa0, 0x02, 0x0008}, */
	{0xa0, 0x00, 0x0007},
	{}
};

static const struct usb_action hdcs2020xx_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0e, 0x0010},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x08, 0x008d},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x03, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x03, 0x011c},
	{0xa0, 0x01, 0x009b},
	{0xa0, 0xe6, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x86, 0x009e},
	{0xaa, 0x02, 0x0002},
	{0xaa, 0x07, 0x0006},
	{0xaa, 0x08, 0x0002},
	{0xaa, 0x09, 0x0006},
	{0xaa, 0x0a, 0x0001},
	{0xaa, 0x0b, 0x0001},
	{0xaa, 0x0c, 0x0008},
	{0xaa, 0x0d, 0x0000},
	{0xaa, 0x10, 0x0000},
	{0xaa, 0x12, 0x0005},
	{0xaa, 0x13, 0x0063},
	{0xaa, 0x15, 0x0070},
	{0xa0, 0xb7, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x70, 0x018d},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x04, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x07, 0x01cb},	/* sharpness- */
	{0xa0, 0x11, 0x0120},	/* gamma ~4*/
	{0xa0, 0x37, 0x0121},
	{0xa0, 0x58, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x91, 0x0124},
	{0xa0, 0xa6, 0x0125},
	{0xa0, 0xb8, 0x0126},
	{0xa0, 0xc7, 0x0127},
	{0xa0, 0xd3, 0x0128},
	{0xa0, 0xde, 0x0129},
	{0xa0, 0xe6, 0x012a},
	{0xa0, 0xed, 0x012b},
	{0xa0, 0xf3, 0x012c},
	{0xa0, 0xf8, 0x012d},
	{0xa0, 0xfb, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x23, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x60, 0x010a},	/* matrix */
	{0xa0, 0xff, 0x010b},
	{0xa0, 0xff, 0x010c},
	{0xa0, 0xff, 0x010d},
	{0xa0, 0x60, 0x010e},
	{0xa0, 0xff, 0x010f},
	{0xa0, 0xff, 0x0110},
	{0xa0, 0xff, 0x0111},
	{0xa0, 0x60, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x20, 0x0087},
	{0xa0, 0x21, 0x0088},
	{0xaa, 0x20, 0x0002},
	{0xaa, 0x21, 0x001b},
	{0xaa, 0x03, 0x0044},
	{0xaa, 0x04, 0x0008},
	{0xaa, 0x05, 0x001b},
	{0xaa, 0x0e, 0x0001},
	{0xaa, 0x0f, 0x0000},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x02, 0x0191},
	{0xa0, 0x1b, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x4d, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x44, 0x001d},
	{0xa0, 0x6f, 0x001e},
	{0xa0, 0xad, 0x001f},
	{0xa0, 0xeb, 0x0020},
	{0xa0, 0x0f, 0x0087},
	{0xa0, 0x0e, 0x0088},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0195},
	{0xa1, 0x01, 0x0196},
	{0xa1, 0x01, 0x0197},
	{0xa0, 0x1b, 0x0192},
	{0xa0, 0x02, 0x0191},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x1d, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x99, 0x0118},
	{0xa1, 0x01, 0x0116},
	{0xa1, 0x01, 0x0118},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x1d, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x99, 0x0118},
/*	{0xa0, 0x02, 0x0008}, */
	{0xa0, 0x00, 0x0007},
/*	{0xa0, 0x18, 0x00fe}, */
	{}
};
static const struct usb_action hdcs2020xb_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x11, 0x0002},
	{0xa0, 0x03, 0x0008},	/* qtable 0x05 */
	{0xa0, 0x08, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x88, 0x009e},
	{0xaa, 0x1c, 0x0000},
	{0xaa, 0x0a, 0x0001},
	{0xaa, 0x0b, 0x0006},
	{0xaa, 0x0c, 0x007b},
	{0xaa, 0x0d, 0x00a7},
	{0xaa, 0x03, 0x00fb},
	{0xaa, 0x05, 0x0000},
	{0xaa, 0x06, 0x0003},
	{0xaa, 0x09, 0x0008},

	{0xaa, 0x0f, 0x0018},	/* set sensor gain */
	{0xaa, 0x10, 0x0018},
	{0xaa, 0x11, 0x0018},
	{0xaa, 0x12, 0x0018},

	{0xaa, 0x15, 0x004e},
	{0xaa, 0x1c, 0x0004},
	{0xa0, 0xb7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x70, 0x018d},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},

	{0xa0, 0x66, 0x010a},	/* matrix */
	{0xa0, 0xed, 0x010b},
	{0xa0, 0xed, 0x010c},
	{0xa0, 0xed, 0x010d},
	{0xa0, 0x66, 0x010e},
	{0xa0, 0xed, 0x010f},
	{0xa0, 0xed, 0x0110},
	{0xa0, 0xed, 0x0111},
	{0xa0, 0x66, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x13, 0x0031},
	{0xaa, 0x14, 0x0001},
	{0xaa, 0x0e, 0x0004},
	{0xaa, 0x19, 0x00cd},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x02, 0x0191},
	{0xa0, 0x62, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x3d, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},

	{0xa0, 0x0c, 0x01a9},	/* 0x14 */
	{0xa0, 0x28, 0x01aa},
	{0xa0, 0x04, 0x001d},
	{0xa0, 0x18, 0x001e},
	{0xa0, 0x2c, 0x001f},
	{0xa0, 0x41, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{}
};
static const struct usb_action hdcs2020xb_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x08, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x88, 0x009e},
	{0xaa, 0x1c, 0x0000},
	{0xaa, 0x0a, 0x0001},
	{0xaa, 0x0b, 0x0006},
	{0xaa, 0x0c, 0x007a},
	{0xaa, 0x0d, 0x00a7},
	{0xaa, 0x03, 0x00fb},
	{0xaa, 0x05, 0x0000},
	{0xaa, 0x06, 0x0003},
	{0xaa, 0x09, 0x0008},
	{0xaa, 0x0f, 0x0018},	/* original setting */
	{0xaa, 0x10, 0x0018},
	{0xaa, 0x11, 0x0018},
	{0xaa, 0x12, 0x0018},
	{0xaa, 0x15, 0x004e},
	{0xaa, 0x1c, 0x0004},
	{0xa0, 0xf7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x70, 0x018d},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x66, 0x010a},	/* matrix */
	{0xa0, 0xed, 0x010b},
	{0xa0, 0xed, 0x010c},
	{0xa0, 0xed, 0x010d},
	{0xa0, 0x66, 0x010e},
	{0xa0, 0xed, 0x010f},
	{0xa0, 0xed, 0x0110},
	{0xa0, 0xed, 0x0111},
	{0xa0, 0x66, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
 /**** set exposure ***/
	{0xaa, 0x13, 0x0031},
	{0xaa, 0x14, 0x0001},
	{0xaa, 0x0e, 0x0004},
	{0xaa, 0x19, 0x00cd},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x02, 0x0191},
	{0xa0, 0x62, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x3d, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x0c, 0x01a9},
	{0xa0, 0x28, 0x01aa},
	{0xa0, 0x04, 0x001d},
	{0xa0, 0x18, 0x001e},
	{0xa0, 0x2c, 0x001f},
	{0xa0, 0x41, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{}
};
static const struct usb_action hdcs2020b_50HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x13, 0x0018}, /* 00,13,18,aa */
	{0xaa, 0x14, 0x0001}, /* 00,14,01,aa */
	{0xaa, 0x0e, 0x0005}, /* 00,0e,05,aa */
	{0xaa, 0x19, 0x001f}, /* 00,19,1f,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x02, 0x0191}, /* 01,91,02,cc */
	{0xa0, 0x76, 0x0192}, /* 01,92,76,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x46, 0x0197}, /* 01,97,46,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x28, 0x01aa}, /* 01,aa,28,cc */
	{0xa0, 0x05, 0x001d}, /* 00,1d,05,cc */
	{0xa0, 0x1a, 0x001e}, /* 00,1e,1a,cc */
	{0xa0, 0x2f, 0x001f}, /* 00,1f,2f,cc */
	{}
};
static const struct usb_action hdcs2020b_60HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x13, 0x0031}, /* 00,13,31,aa */
	{0xaa, 0x14, 0x0001}, /* 00,14,01,aa */
	{0xaa, 0x0e, 0x0004}, /* 00,0e,04,aa */
	{0xaa, 0x19, 0x00cd}, /* 00,19,cd,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x02, 0x0191}, /* 01,91,02,cc */
	{0xa0, 0x62, 0x0192}, /* 01,92,62,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x3d, 0x0197}, /* 01,97,3d,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x28, 0x01aa}, /* 01,aa,28,cc */
	{0xa0, 0x04, 0x001d}, /* 00,1d,04,cc */
	{0xa0, 0x18, 0x001e}, /* 00,1e,18,cc */
	{0xa0, 0x2c, 0x001f}, /* 00,1f,2c,cc */
	{}
};
static const struct usb_action hdcs2020b_NoFliker[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x13, 0x0010}, /* 00,13,10,aa */
	{0xaa, 0x14, 0x0001}, /* 00,14,01,aa */
	{0xaa, 0x0e, 0x0004}, /* 00,0e,04,aa */
	{0xaa, 0x19, 0x0000}, /* 00,19,00,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x02, 0x0191}, /* 01,91,02,cc */
	{0xa0, 0x70, 0x0192}, /* 01,92,70,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0x04, 0x001d}, /* 00,1d,04,cc */
	{0xa0, 0x17, 0x001e}, /* 00,1e,17,cc */
	{0xa0, 0x2a, 0x001f}, /* 00,1f,2a,cc */
	{}
};

static const struct usb_action hv7131bxx_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x00, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xaa, 0x30, 0x002d},
	{0xaa, 0x01, 0x0005},
	{0xaa, 0x11, 0x0000},
	{0xaa, 0x13, 0x0001},	/* {0xaa, 0x13, 0x0000}, */
	{0xaa, 0x14, 0x0001},
	{0xaa, 0x15, 0x00e8},
	{0xaa, 0x16, 0x0002},
	{0xaa, 0x17, 0x0086},
	{0xaa, 0x31, 0x0038},
	{0xaa, 0x32, 0x0038},
	{0xaa, 0x33, 0x0038},
	{0xaa, 0x5b, 0x0001},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x68, 0x018d},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0xc0, 0x019b},
	{0xa0, 0xa0, 0x019c},
	{0xa0, 0x02, 0x0188},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xaa, 0x02, 0x0080},	/* {0xaa, 0x02, 0x0090}; */
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x00, 0x0092},
	{0xa0, 0x02, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xa1, 0x01, 0x0095},
	{0xa1, 0x01, 0x0096},

	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x10, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x25, 0x0007},
	{0xaa, 0x26, 0x00a1},
	{0xaa, 0x27, 0x0020},
	{0xaa, 0x20, 0x0000},
	{0xaa, 0x21, 0x00a0},
	{0xaa, 0x22, 0x0016},
	{0xaa, 0x23, 0x0040},

	{0xa0, 0x10, 0x0190},	/* 2F */
	{0xa0, 0x04, 0x0191},	/* 4d */
	{0xa0, 0x60, 0x0192},
	{0xa0, 0x01, 0x0195},
	{0xa0, 0x86, 0x0196},
	{0xa0, 0xa0, 0x0197},
	{0xa0, 0x07, 0x018c},
	{0xa0, 0x0f, 0x018f},
	{0xa0, 0x18, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0x00, 0x001d},
	{0xa0, 0xa0, 0x001e},
	{0xa0, 0x16, 0x001f},
	{0xa0, 0x40, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa1, 0x01, 0x001d},
	{0xa1, 0x01, 0x001e},
	{0xa1, 0x01, 0x001f},
	{0xa1, 0x01, 0x0020},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
/*	{0xa0, 0x02, 0x0008}, */
	{}
};

static const struct usb_action hv7131bxx_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x00, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xaa, 0x30, 0x002d},
	{0xaa, 0x01, 0x0005},
	{0xaa, 0x11, 0x0001},
	{0xaa, 0x13, 0x0000},	/* {0xaa, 0x13, 0x0001}; */
	{0xaa, 0x14, 0x0001},
	{0xaa, 0x15, 0x00e6},
	{0xaa, 0x16, 0x0002},
	{0xaa, 0x17, 0x0086},
	{0xaa, 0x31, 0x0038},
	{0xaa, 0x32, 0x0038},
	{0xaa, 0x33, 0x0038},
	{0xaa, 0x5b, 0x0001},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x70, 0x018d},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0xc0, 0x019b},
	{0xa0, 0xa0, 0x019c},
	{0xa0, 0x02, 0x0188},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xaa, 0x02, 0x0090},	/* {0xaa, 0x02, 0x0080}, */
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x00, 0x0092},
	{0xa0, 0x02, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xa1, 0x01, 0x0095},
	{0xa1, 0x01, 0x0096},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x10, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x25, 0x0007},
	{0xaa, 0x26, 0x00a1},
	{0xaa, 0x27, 0x0020},
	{0xaa, 0x20, 0x0000},
	{0xaa, 0x21, 0x0040},
	{0xaa, 0x22, 0x0013},
	{0xaa, 0x23, 0x004c},
	{0xa0, 0x10, 0x0190},	/* 2f */
	{0xa0, 0x04, 0x0191},	/* 4d */
	{0xa0, 0x60, 0x0192},	/* 60 */
	{0xa0, 0x00, 0x0195},
	{0xa0, 0xc3, 0x0196},
	{0xa0, 0x50, 0x0197},
	{0xa0, 0x0c, 0x018c},
	{0xa0, 0x18, 0x018f},
	{0xa0, 0x18, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0x00, 0x001d},
	{0xa0, 0x40, 0x001e},
	{0xa0, 0x13, 0x001f},
	{0xa0, 0x4c, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa1, 0x01, 0x001d},
	{0xa1, 0x01, 0x001e},
	{0xa1, 0x01, 0x001f},
	{0xa1, 0x01, 0x0020},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
/*	{0xa0, 0x02, 0x0008}, */
	{}
};

static const struct usb_action hv7131cxx_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x01, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x07, 0x0012},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x01, 0x009b},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0x05, 0x0012},
	{0xaa, 0x01, 0x000c},
	{0xaa, 0x11, 0x0000},
	{0xaa, 0x13, 0x0000},
	{0xaa, 0x14, 0x0001},
	{0xaa, 0x15, 0x00e8},
	{0xaa, 0x16, 0x0002},
	{0xaa, 0x17, 0x0088},

	{0xa0, 0x00, 0x0019},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x89, 0x018d},
	{0xa0, 0x50, 0x01a8},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0xc0, 0x019b},
	{0xa0, 0xa0, 0x019c},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x00, 0x0092},
	{0xa0, 0x02, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xa1, 0x01, 0x0095},
	{0xa1, 0x01, 0x0096},

	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x60, 0x010a},	/* matrix */
	{0xa0, 0xf0, 0x010b},
	{0xa0, 0xf0, 0x010c},
	{0xa0, 0xf0, 0x010d},
	{0xa0, 0x60, 0x010e},
	{0xa0, 0xf0, 0x010f},
	{0xa0, 0xf0, 0x0110},
	{0xa0, 0xf0, 0x0111},
	{0xa0, 0x60, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x10, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x25, 0x0007},
	{0xaa, 0x26, 0x0053},
	{0xaa, 0x27, 0x0000},

	{0xa0, 0x10, 0x0190},	/* 2f */
	{0xa0, 0x04, 0x0191},	/* 9b */
	{0xa0, 0x60, 0x0192},	/* 80 */
	{0xa0, 0x01, 0x0195},
	{0xa0, 0xd4, 0x0196},
	{0xa0, 0xc0, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x13, 0x01aa},
	{0xa1, 0x01, 0x001d},
	{0xa1, 0x01, 0x001e},
	{0xa1, 0x01, 0x001f},
	{0xa1, 0x01, 0x0020},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};

static const struct usb_action hv7131cxx_InitialScale[] = {
	{0xa0, 0x01, 0x0000},

	{0xa0, 0x00, 0x0002},	/* diff */
	{0xa0, 0x01, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x03, 0x0008},

	{0xa0, 0x05, 0x0012},
	{0xa0, 0x07, 0x0012},

	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},	/* 1e0 */

	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x01, 0x009b},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0x05, 0x0012},
	{0xaa, 0x01, 0x000c},
	{0xaa, 0x11, 0x0000},
	{0xaa, 0x13, 0x0000},
	{0xaa, 0x14, 0x0001},
	{0xaa, 0x15, 0x00e8},
	{0xaa, 0x16, 0x0002},
	{0xaa, 0x17, 0x0088},

	{0xa0, 0x00, 0x0019},	/* 00 */

	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x89, 0x018d},
	{0xa0, 0x50, 0x01a8},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0xc0, 0x019b},
	{0xa0, 0xa0, 0x019c},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x00, 0x0092},	/* read the i2c chips ident */
	{0xa0, 0x02, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xa1, 0x01, 0x0095},
	{0xa1, 0x01, 0x0096},

	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x60, 0x010a},	/* matrix */
	{0xa0, 0xf0, 0x010b},
	{0xa0, 0xf0, 0x010c},
	{0xa0, 0xf0, 0x010d},
	{0xa0, 0x60, 0x010e},
	{0xa0, 0xf0, 0x010f},
	{0xa0, 0xf0, 0x0110},
	{0xa0, 0xf0, 0x0111},
	{0xa0, 0x60, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x10, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x25, 0x0007},
	{0xaa, 0x26, 0x0053},
	{0xaa, 0x27, 0x0000},

	{0xa0, 0x10, 0x0190},	/* 2f */
	{0xa0, 0x04, 0x0191},	/* 9b */
	{0xa0, 0x60, 0x0192},	/* 80 */

	{0xa0, 0x01, 0x0195},
	{0xa0, 0xd4, 0x0196},
	{0xa0, 0xc0, 0x0197},

	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x13, 0x01aa},
	{0xa1, 0x01, 0x001d},
	{0xa1, 0x01, 0x001e},
	{0xa1, 0x01, 0x001f},
	{0xa1, 0x01, 0x0020},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};

static const struct usb_action icm105axx_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0c, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0xa1, 0x008b},
	{0xa0, 0x00, 0x0097},
	{0xa0, 0x01, 0x0098},
	{0xa0, 0x00, 0x0099},
	{0xa0, 0x01, 0x009a},
	{0xa0, 0x01, 0x011a},
	{0xa0, 0x01, 0x011c},
	{0xa0, 0x01, 0x009b},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xaa, 0x01, 0x0010},
	{0xaa, 0x03, 0x0000},
	{0xaa, 0x04, 0x0001},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0001},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0001},
	{0xaa, 0x04, 0x0011},
	{0xaa, 0x05, 0x00a0},
	{0xaa, 0x06, 0x0001},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0002},
	{0xaa, 0x04, 0x0013},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0001},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0003},
	{0xaa, 0x04, 0x0015},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0004},
	{0xaa, 0x04, 0x0017},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x000d},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0005},
	{0xaa, 0x04, 0x0019},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0006},
	{0xaa, 0x04, 0x0017},
	{0xaa, 0x05, 0x0026},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0007},
	{0xaa, 0x04, 0x0019},
	{0xaa, 0x05, 0x0022},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0008},
	{0xaa, 0x04, 0x0021},
	{0xaa, 0x05, 0x00aa},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0009},
	{0xaa, 0x04, 0x0023},
	{0xaa, 0x05, 0x00aa},
	{0xaa, 0x06, 0x000d},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x000a},
	{0xaa, 0x04, 0x0025},
	{0xaa, 0x05, 0x00aa},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x000b},
	{0xaa, 0x04, 0x00ec},
	{0xaa, 0x05, 0x002e},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x000c},
	{0xaa, 0x04, 0x00fa},
	{0xaa, 0x05, 0x002a},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x07, 0x000d},
	{0xaa, 0x01, 0x0005},
	{0xaa, 0x94, 0x0002},
	{0xaa, 0x90, 0x0000},
	{0xaa, 0x91, 0x001f},
	{0xaa, 0x10, 0x0064},
	{0xaa, 0x9b, 0x00f0},
	{0xaa, 0x9c, 0x0002},
	{0xaa, 0x14, 0x001a},
	{0xaa, 0x20, 0x0080},
	{0xaa, 0x22, 0x0080},
	{0xaa, 0x24, 0x0080},
	{0xaa, 0x26, 0x0080},
	{0xaa, 0x00, 0x0084},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xaa, 0xa8, 0x00c0},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{0xa1, 0x01, 0x0008},

	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x52, 0x010a},	/* matrix */
	{0xa0, 0xf7, 0x010b},
	{0xa0, 0xf7, 0x010c},
	{0xa0, 0xf7, 0x010d},
	{0xa0, 0x52, 0x010e},
	{0xa0, 0xf7, 0x010f},
	{0xa0, 0xf7, 0x0110},
	{0xa0, 0xf7, 0x0111},
	{0xa0, 0x52, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x0d, 0x0003},
	{0xaa, 0x0c, 0x008c},
	{0xaa, 0x0e, 0x0095},
	{0xaa, 0x0f, 0x0002},
	{0xaa, 0x1c, 0x0094},
	{0xaa, 0x1d, 0x0002},
	{0xaa, 0x20, 0x0080},
	{0xaa, 0x22, 0x0080},
	{0xaa, 0x24, 0x0080},
	{0xaa, 0x26, 0x0080},
	{0xaa, 0x00, 0x0084},
	{0xa0, 0x02, 0x00a3},
	{0xa0, 0x94, 0x00a4},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x04, 0x0191},
	{0xa0, 0x20, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x84, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x12, 0x01aa},
	{0xa0, 0xe3, 0x001d},
	{0xa0, 0xec, 0x001e},
	{0xa0, 0xf5, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0xc0, 0x01a8},
	{0xa0, 0xc0, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{}
};

static const struct usb_action icm105axx_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0c, 0x0010},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0xa1, 0x008b},
	{0xa0, 0x00, 0x0097},
	{0xa0, 0x02, 0x0098},
	{0xa0, 0x00, 0x0099},
	{0xa0, 0x02, 0x009a},
	{0xa0, 0x02, 0x011a},
	{0xa0, 0x02, 0x011c},
	{0xa0, 0x01, 0x009b},
	{0xa0, 0xe6, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x86, 0x009e},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xaa, 0x01, 0x0010},
	{0xaa, 0x03, 0x0000},
	{0xaa, 0x04, 0x0001},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0001},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0001},
	{0xaa, 0x04, 0x0011},
	{0xaa, 0x05, 0x00a0},
	{0xaa, 0x06, 0x0001},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0002},
	{0xaa, 0x04, 0x0013},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0001},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0003},
	{0xaa, 0x04, 0x0015},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0004},
	{0xaa, 0x04, 0x0017},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x000d},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0005},
	{0xa0, 0x04, 0x0092},
	{0xa0, 0x19, 0x0093},
	{0xa0, 0x01, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xaa, 0x05, 0x0020},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0006},
	{0xaa, 0x04, 0x0017},
	{0xaa, 0x05, 0x0026},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0007},
	{0xaa, 0x04, 0x0019},
	{0xaa, 0x05, 0x0022},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0008},
	{0xaa, 0x04, 0x0021},
	{0xaa, 0x05, 0x00aa},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x0009},
	{0xaa, 0x04, 0x0023},
	{0xaa, 0x05, 0x00aa},
	{0xaa, 0x06, 0x000d},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x000a},
	{0xaa, 0x04, 0x0025},
	{0xaa, 0x05, 0x00aa},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x000b},
	{0xaa, 0x04, 0x00ec},
	{0xaa, 0x05, 0x002e},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x03, 0x000c},
	{0xaa, 0x04, 0x00fa},
	{0xaa, 0x05, 0x002a},
	{0xaa, 0x06, 0x0005},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x07, 0x000d},
	{0xaa, 0x01, 0x0005},
	{0xaa, 0x94, 0x0002},
	{0xaa, 0x90, 0x0000},
	{0xaa, 0x91, 0x0010},
	{0xaa, 0x10, 0x0064},
	{0xaa, 0x9b, 0x00f0},
	{0xaa, 0x9c, 0x0002},
	{0xaa, 0x14, 0x001a},
	{0xaa, 0x20, 0x0080},
	{0xaa, 0x22, 0x0080},
	{0xaa, 0x24, 0x0080},
	{0xaa, 0x26, 0x0080},
	{0xaa, 0x00, 0x0084},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xaa, 0xa8, 0x0080},
	{0xa0, 0x78, 0x018d},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{0xa1, 0x01, 0x0008},

	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x52, 0x010a},	/* matrix */
	{0xa0, 0xf7, 0x010b},
	{0xa0, 0xf7, 0x010c},
	{0xa0, 0xf7, 0x010d},
	{0xa0, 0x52, 0x010e},
	{0xa0, 0xf7, 0x010f},
	{0xa0, 0xf7, 0x0110},
	{0xa0, 0xf7, 0x0111},
	{0xa0, 0x52, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x0d, 0x0003},
	{0xaa, 0x0c, 0x0020},
	{0xaa, 0x0e, 0x000e},
	{0xaa, 0x0f, 0x0002},
	{0xaa, 0x1c, 0x000d},
	{0xaa, 0x1d, 0x0002},
	{0xaa, 0x20, 0x0080},
	{0xaa, 0x22, 0x0080},
	{0xaa, 0x24, 0x0080},
	{0xaa, 0x26, 0x0080},
	{0xaa, 0x00, 0x0084},
	{0xa0, 0x02, 0x00a3},
	{0xa0, 0x0d, 0x00a4},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x04, 0x0191},
	{0xa0, 0x1a, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x4b, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x12, 0x01aa},
	{0xa0, 0xc8, 0x001d},
	{0xa0, 0xd8, 0x001e},
	{0xa0, 0xea, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x00, 0x01a7},
	{0xa0, 0x42, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x40, 0x0116},
	{0xa0, 0x40, 0x0117},
	{0xa0, 0x40, 0x0118},
	{}
};
static const struct usb_action icm105a_50HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
	{0xaa, 0x0c, 0x0020}, /* 00,0c,20,aa */
	{0xaa, 0x0e, 0x000e}, /* 00,0e,0e,aa */
	{0xaa, 0x0f, 0x0002}, /* 00,0f,02,aa */
	{0xaa, 0x1c, 0x000d}, /* 00,1c,0d,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x20, 0x0080}, /* 00,20,80,aa */
	{0xaa, 0x22, 0x0080}, /* 00,22,80,aa */
	{0xaa, 0x24, 0x0080}, /* 00,24,80,aa */
	{0xaa, 0x26, 0x0080}, /* 00,26,80,aa */
	{0xaa, 0x00, 0x0084}, /* 00,00,84,aa */
	{0xa0, 0x02, 0x00a3}, /* 00,a3,02,cc */
	{0xa0, 0x0d, 0x00a4}, /* 00,a4,0d,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x1a, 0x0192}, /* 01,92,1a,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x4b, 0x0197}, /* 01,97,4b,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x12, 0x01aa}, /* 01,aa,12,cc */
	{0xa0, 0xc8, 0x001d}, /* 00,1d,c8,cc */
	{0xa0, 0xd8, 0x001e}, /* 00,1e,d8,cc */
	{0xa0, 0xea, 0x001f}, /* 00,1f,ea,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{}
};
static const struct usb_action icm105a_50HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
	{0xaa, 0x0c, 0x008c}, /* 00,0c,8c,aa */
	{0xaa, 0x0e, 0x0095}, /* 00,0e,95,aa */
	{0xaa, 0x0f, 0x0002}, /* 00,0f,02,aa */
	{0xaa, 0x1c, 0x0094}, /* 00,1c,94,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x20, 0x0080}, /* 00,20,80,aa */
	{0xaa, 0x22, 0x0080}, /* 00,22,80,aa */
	{0xaa, 0x24, 0x0080}, /* 00,24,80,aa */
	{0xaa, 0x26, 0x0080}, /* 00,26,80,aa */
	{0xaa, 0x00, 0x0084}, /* 00,00,84,aa */
	{0xa0, 0x02, 0x00a3}, /* 00,a3,02,cc */
	{0xa0, 0x94, 0x00a4}, /* 00,a4,94,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x20, 0x0192}, /* 01,92,20,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x84, 0x0197}, /* 01,97,84,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x12, 0x01aa}, /* 01,aa,12,cc */
	{0xa0, 0xe3, 0x001d}, /* 00,1d,e3,cc */
	{0xa0, 0xec, 0x001e}, /* 00,1e,ec,cc */
	{0xa0, 0xf5, 0x001f}, /* 00,1f,f5,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x00, 0x01a7}, /* 01,a7,00,cc */
	{0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */
	{}
};
static const struct usb_action icm105a_60HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
	{0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
	{0xaa, 0x0e, 0x000d}, /* 00,0e,0d,aa */
	{0xaa, 0x0f, 0x0002}, /* 00,0f,02,aa */
	{0xaa, 0x1c, 0x0008}, /* 00,1c,08,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x20, 0x0080}, /* 00,20,80,aa */
	{0xaa, 0x22, 0x0080}, /* 00,22,80,aa */
	{0xaa, 0x24, 0x0080}, /* 00,24,80,aa */
	{0xaa, 0x26, 0x0080}, /* 00,26,80,aa */
	{0xaa, 0x00, 0x0084}, /* 00,00,84,aa */
	{0xa0, 0x02, 0x00a3}, /* 00,a3,02,cc */
	{0xa0, 0x08, 0x00a4}, /* 00,a4,08,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x10, 0x0192}, /* 01,92,10,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x41, 0x0197}, /* 01,97,41,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x12, 0x01aa}, /* 01,aa,12,cc */
	{0xa0, 0xc1, 0x001d}, /* 00,1d,c1,cc */
	{0xa0, 0xd4, 0x001e}, /* 00,1e,d4,cc */
	{0xa0, 0xe8, 0x001f}, /* 00,1f,e8,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{}
};
static const struct usb_action icm105a_60HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
	{0xaa, 0x0c, 0x0008}, /* 00,0c,08,aa */
	{0xaa, 0x0e, 0x0086}, /* 00,0e,86,aa */
	{0xaa, 0x0f, 0x0002}, /* 00,0f,02,aa */
	{0xaa, 0x1c, 0x0085}, /* 00,1c,85,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x20, 0x0080}, /* 00,20,80,aa */
	{0xaa, 0x22, 0x0080}, /* 00,22,80,aa */
	{0xaa, 0x24, 0x0080}, /* 00,24,80,aa */
	{0xaa, 0x26, 0x0080}, /* 00,26,80,aa */
	{0xaa, 0x00, 0x0084}, /* 00,00,84,aa */
	{0xa0, 0x02, 0x00a3}, /* 00,a3,02,cc */
	{0xa0, 0x85, 0x00a4}, /* 00,a4,85,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x08, 0x0192}, /* 01,92,08,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x81, 0x0197}, /* 01,97,81,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x12, 0x01aa}, /* 01,aa,12,cc */
	{0xa0, 0xc2, 0x001d}, /* 00,1d,c2,cc */
	{0xa0, 0xd6, 0x001e}, /* 00,1e,d6,cc */
	{0xa0, 0xea, 0x001f}, /* 00,1f,ea,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x00, 0x01a7}, /* 01,a7,00,cc */
	{0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */
	{}
};
static const struct usb_action icm105a_NoFliker[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
	{0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
	{0xaa, 0x0e, 0x000d}, /* 00,0e,0d,aa */
	{0xaa, 0x0f, 0x0002}, /* 00,0f,02,aa */
	{0xaa, 0x1c, 0x0000}, /* 00,1c,00,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x20, 0x0080}, /* 00,20,80,aa */
	{0xaa, 0x22, 0x0080}, /* 00,22,80,aa */
	{0xaa, 0x24, 0x0080}, /* 00,24,80,aa */
	{0xaa, 0x26, 0x0080}, /* 00,26,80,aa */
	{0xaa, 0x00, 0x0084}, /* 00,00,84,aa */
	{0xa0, 0x02, 0x00a3}, /* 00,a3,02,cc */
	{0xa0, 0x00, 0x00a4}, /* 00,a4,00,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x20, 0x0192}, /* 01,92,20,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0xc1, 0x001d}, /* 00,1d,c1,cc */
	{0xa0, 0xd4, 0x001e}, /* 00,1e,d4,cc */
	{0xa0, 0xe8, 0x001f}, /* 00,1f,e8,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{}
};
static const struct usb_action icm105a_NoFlikerScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
	{0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
	{0xaa, 0x0e, 0x0081}, /* 00,0e,81,aa */
	{0xaa, 0x0f, 0x0002}, /* 00,0f,02,aa */
	{0xaa, 0x1c, 0x0080}, /* 00,1c,80,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x20, 0x0080}, /* 00,20,80,aa */
	{0xaa, 0x22, 0x0080}, /* 00,22,80,aa */
	{0xaa, 0x24, 0x0080}, /* 00,24,80,aa */
	{0xaa, 0x26, 0x0080}, /* 00,26,80,aa */
	{0xaa, 0x00, 0x0084}, /* 00,00,84,aa */
	{0xa0, 0x02, 0x00a3}, /* 00,a3,02,cc */
	{0xa0, 0x80, 0x00a4}, /* 00,a4,80,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x20, 0x0192}, /* 01,92,20,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0xc1, 0x001d}, /* 00,1d,c1,cc */
	{0xa0, 0xd4, 0x001e}, /* 00,1e,d4,cc */
	{0xa0, 0xe8, 0x001f}, /* 00,1f,e8,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x00, 0x01a7}, /* 01,a7,00,cc */
	{0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */
	{}
};

static const struct usb_action MC501CB_InitialScale[] = {
	{0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
	{0xa0, 0x00, 0x0002}, /* 00,02,00,cc */
	{0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
	{0xa0, 0x01, 0x0001}, /* 00,01,01,cc */
	{0xa0, 0x03, 0x0008}, /* 00,08,03,cc */
	{0xa0, 0x01, 0x0012}, /* 00,12,01,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xa0, 0x02, 0x0003}, /* 00,03,02,cc */
	{0xa0, 0x80, 0x0004}, /* 00,04,80,cc */
	{0xa0, 0x01, 0x0005}, /* 00,05,01,cc */
	{0xa0, 0xd8, 0x0006}, /* 00,06,d8,cc */
	{0xa0, 0x00, 0x0098}, /* 00,98,00,cc */
	{0xa0, 0x00, 0x009a}, /* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a}, /* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c}, /* 01,1c,00,cc */
	{0xa0, 0x01, 0x009b}, /* 00,9b,01,cc */
	{0xa0, 0xde, 0x009c}, /* 00,9c,de,cc */
	{0xa0, 0x02, 0x009d}, /* 00,9d,02,cc */
	{0xa0, 0x86, 0x009e}, /* 00,9e,86,cc */
	{0xa0, 0x33, 0x0086}, /* 00,86,33,cc */
	{0xa0, 0x34, 0x0087}, /* 00,87,34,cc */
	{0xa0, 0x35, 0x0088}, /* 00,88,35,cc */
	{0xa0, 0xb0, 0x008b}, /* 00,8b,b0,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xaa, 0x01, 0x0001}, /* 00,01,01,aa */
	{0xaa, 0x01, 0x0003}, /* 00,01,03,aa */
	{0xaa, 0x01, 0x0001}, /* 00,01,01,aa */
	{0xaa, 0x03, 0x0000}, /* 00,03,00,aa */
	{0xaa, 0x10, 0x0000}, /* 00,10,00,aa */
	{0xaa, 0x11, 0x0080}, /* 00,11,80,aa */
	{0xaa, 0x12, 0x0000}, /* 00,12,00,aa */
	{0xaa, 0x13, 0x0000}, /* 00,13,00,aa */
	{0xaa, 0x14, 0x0000}, /* 00,14,00,aa */
	{0xaa, 0x15, 0x0000}, /* 00,15,00,aa */
	{0xaa, 0x16, 0x0000}, /* 00,16,00,aa */
	{0xaa, 0x17, 0x0001}, /* 00,17,01,aa */
	{0xaa, 0x18, 0x00de}, /* 00,18,de,aa */
	{0xaa, 0x19, 0x0002}, /* 00,19,02,aa */
	{0xaa, 0x1a, 0x0086}, /* 00,1a,86,aa */
	{0xaa, 0x20, 0x00a8}, /* 00,20,a8,aa */
	{0xaa, 0x22, 0x0000}, /* 00,22,00,aa */
	{0xaa, 0x23, 0x0000}, /* 00,23,00,aa */
	{0xaa, 0x24, 0x0000}, /* 00,24,00,aa */
	{0xaa, 0x40, 0x0033}, /* 00,40,33,aa */
	{0xaa, 0x41, 0x0077}, /* 00,41,77,aa */
	{0xaa, 0x42, 0x0053}, /* 00,42,53,aa */
	{0xaa, 0x43, 0x00b0}, /* 00,43,b0,aa */
	{0xaa, 0x4b, 0x0001}, /* 00,4b,01,aa */
	{0xaa, 0x72, 0x0020}, /* 00,72,20,aa */
	{0xaa, 0x73, 0x0000}, /* 00,73,00,aa */
	{0xaa, 0x80, 0x0000}, /* 00,80,00,aa */
	{0xaa, 0x85, 0x0050}, /* 00,85,50,aa */
	{0xaa, 0x91, 0x0070}, /* 00,91,70,aa */
	{0xaa, 0x92, 0x0072}, /* 00,92,72,aa */
	{0xaa, 0x03, 0x0001}, /* 00,03,01,aa */
	{0xaa, 0x10, 0x00a0}, /* 00,10,a0,aa */
	{0xaa, 0x11, 0x0001}, /* 00,11,01,aa */
	{0xaa, 0x30, 0x0000}, /* 00,30,00,aa */
	{0xaa, 0x60, 0x0000}, /* 00,60,00,aa */
	{0xaa, 0xa0, 0x001a}, /* 00,a0,1a,aa */
	{0xaa, 0xa1, 0x0000}, /* 00,a1,00,aa */
	{0xaa, 0xa2, 0x003f}, /* 00,a2,3f,aa */
	{0xaa, 0xa3, 0x0028}, /* 00,a3,28,aa */
	{0xaa, 0xa4, 0x0010}, /* 00,a4,10,aa */
	{0xaa, 0xa5, 0x0020}, /* 00,a5,20,aa */
	{0xaa, 0xb1, 0x0044}, /* 00,b1,44,aa */
	{0xaa, 0xd0, 0x0001}, /* 00,d0,01,aa */
	{0xaa, 0xd1, 0x0085}, /* 00,d1,85,aa */
	{0xaa, 0xd2, 0x0080}, /* 00,d2,80,aa */
	{0xaa, 0xd3, 0x0080}, /* 00,d3,80,aa */
	{0xaa, 0xd4, 0x0080}, /* 00,d4,80,aa */
	{0xaa, 0xd5, 0x0080}, /* 00,d5,80,aa */
	{0xaa, 0xc0, 0x00c3}, /* 00,c0,c3,aa */
	{0xaa, 0xc2, 0x0044}, /* 00,c2,44,aa */
	{0xaa, 0xc4, 0x0040}, /* 00,c4,40,aa */
	{0xaa, 0xc5, 0x0020}, /* 00,c5,20,aa */
	{0xaa, 0xc6, 0x0008}, /* 00,c6,08,aa */
	{0xaa, 0x03, 0x0004}, /* 00,03,04,aa */
	{0xaa, 0x10, 0x0000}, /* 00,10,00,aa */
	{0xaa, 0x40, 0x0030}, /* 00,40,30,aa */
	{0xaa, 0x41, 0x0020}, /* 00,41,20,aa */
	{0xaa, 0x42, 0x002d}, /* 00,42,2d,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x1c, 0x0050}, /* 00,1C,50,aa */
	{0xaa, 0x11, 0x0081}, /* 00,11,81,aa */
	{0xaa, 0x3b, 0x001d}, /* 00,3b,1D,aa */
	{0xaa, 0x3c, 0x004c}, /* 00,3c,4C,aa */
	{0xaa, 0x3d, 0x0018}, /* 00,3d,18,aa */
	{0xaa, 0x3e, 0x006a}, /* 00,3e,6A,aa */
	{0xaa, 0x01, 0x0000}, /* 00,01,00,aa */
	{0xaa, 0x52, 0x00ff}, /* 00,52,FF,aa */
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x0d, 0x0100}, /* 01,00,0d,cc */
	{0xa0, 0x37, 0x0101}, /* 01,01,37,cc */
	{0xa0, 0x06, 0x0189}, /* 01,89,06,cc */
	{0xa0, 0x03, 0x01c5}, /* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb}, /* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250}, /* 02,50,08,cc */
	{0xa0, 0x08, 0x0301}, /* 03,01,08,cc */
	{0xa0, 0x02, 0x0180}, /* 01,80,02,cc */
	{0xaa, 0x03, 0x0002}, /* 00,03,02,aa */
	{0xaa, 0x51, 0x0027}, /* 00,51,27,aa */
	{0xaa, 0x52, 0x0020}, /* 00,52,20,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x50, 0x0010}, /* 00,50,10,aa */
	{0xaa, 0x51, 0x0010}, /* 00,51,10,aa */
	{0xaa, 0x54, 0x0010}, /* 00,54,10,aa */
	{0xaa, 0x55, 0x0010}, /* 00,55,10,aa */
	{0xa0, 0xf0, 0x0199}, /* 01,99,F0,cc */
	{0xa0, 0x80, 0x019a}, /* 01,9A,80,cc */

	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */
	{0xaa, 0x37, 0x004c}, /* 00,37,4C,aa */
	{0xaa, 0x3b, 0x001d}, /* 00,3B,1D,aa */
	{}
};

static const struct usb_action MC501CB_Initial[] = {	 /* 320x240 */
	{0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
	{0xa0, 0x10, 0x0002}, /* 00,02,10,cc */
	{0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
	{0xa0, 0x01, 0x0001}, /* 00,01,01,cc */
	{0xa0, 0x03, 0x0008}, /* 00,08,03,cc */
	{0xa0, 0x01, 0x0012}, /* 00,12,01,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xa0, 0x02, 0x0003}, /* 00,03,02,cc */
	{0xa0, 0x80, 0x0004}, /* 00,04,80,cc */
	{0xa0, 0x01, 0x0005}, /* 00,05,01,cc */
	{0xa0, 0xd0, 0x0006}, /* 00,06,d0,cc */
	{0xa0, 0x00, 0x0098}, /* 00,98,00,cc */
	{0xa0, 0x00, 0x009a}, /* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a}, /* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c}, /* 01,1c,00,cc */
	{0xa0, 0x01, 0x009b}, /* 00,9b,01,cc */
	{0xa0, 0xd8, 0x009c}, /* 00,9c,d8,cc */
	{0xa0, 0x02, 0x009d}, /* 00,9d,02,cc */
	{0xa0, 0x88, 0x009e}, /* 00,9e,88,cc */
	{0xa0, 0x33, 0x0086}, /* 00,86,33,cc */
	{0xa0, 0x34, 0x0087}, /* 00,87,34,cc */
	{0xa0, 0x35, 0x0088}, /* 00,88,35,cc */
	{0xa0, 0xb0, 0x008b}, /* 00,8b,b0,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xaa, 0x01, 0x0001}, /* 00,01,01,aa */
	{0xaa, 0x01, 0x0003}, /* 00,01,03,aa */
	{0xaa, 0x01, 0x0001}, /* 00,01,01,aa */
	{0xaa, 0x03, 0x0000}, /* 00,03,00,aa */
	{0xaa, 0x10, 0x0000}, /* 00,10,00,aa */
	{0xaa, 0x11, 0x0080}, /* 00,11,80,aa */
	{0xaa, 0x12, 0x0000}, /* 00,12,00,aa */
	{0xaa, 0x13, 0x0000}, /* 00,13,00,aa */
	{0xaa, 0x14, 0x0000}, /* 00,14,00,aa */
	{0xaa, 0x15, 0x0000}, /* 00,15,00,aa */
	{0xaa, 0x16, 0x0000}, /* 00,16,00,aa */
	{0xaa, 0x17, 0x0001}, /* 00,17,01,aa */
	{0xaa, 0x18, 0x00d8}, /* 00,18,d8,aa */
	{0xaa, 0x19, 0x0002}, /* 00,19,02,aa */
	{0xaa, 0x1a, 0x0088}, /* 00,1a,88,aa */
	{0xaa, 0x20, 0x00a8}, /* 00,20,a8,aa */
	{0xaa, 0x22, 0x0000}, /* 00,22,00,aa */
	{0xaa, 0x23, 0x0000}, /* 00,23,00,aa */
	{0xaa, 0x24, 0x0000}, /* 00,24,00,aa */
	{0xaa, 0x40, 0x0033}, /* 00,40,33,aa */
	{0xaa, 0x41, 0x0077}, /* 00,41,77,aa */
	{0xaa, 0x42, 0x0053}, /* 00,42,53,aa */
	{0xaa, 0x43, 0x00b0}, /* 00,43,b0,aa */
	{0xaa, 0x4b, 0x0001}, /* 00,4b,01,aa */
	{0xaa, 0x72, 0x0020}, /* 00,72,20,aa */
	{0xaa, 0x73, 0x0000}, /* 00,73,00,aa */
	{0xaa, 0x80, 0x0000}, /* 00,80,00,aa */
	{0xaa, 0x85, 0x0050}, /* 00,85,50,aa */
	{0xaa, 0x91, 0x0070}, /* 00,91,70,aa */
	{0xaa, 0x92, 0x0072}, /* 00,92,72,aa */
	{0xaa, 0x03, 0x0001}, /* 00,03,01,aa */
	{0xaa, 0x10, 0x00a0}, /* 00,10,a0,aa */
	{0xaa, 0x11, 0x0001}, /* 00,11,01,aa */
	{0xaa, 0x30, 0x0000}, /* 00,30,00,aa */
	{0xaa, 0x60, 0x0000}, /* 00,60,00,aa */
	{0xaa, 0xa0, 0x001a}, /* 00,a0,1a,aa */
	{0xaa, 0xa1, 0x0000}, /* 00,a1,00,aa */
	{0xaa, 0xa2, 0x003f}, /* 00,a2,3f,aa */
	{0xaa, 0xa3, 0x0028}, /* 00,a3,28,aa */
	{0xaa, 0xa4, 0x0010}, /* 00,a4,10,aa */
	{0xaa, 0xa5, 0x0020}, /* 00,a5,20,aa */
	{0xaa, 0xb1, 0x0044}, /* 00,b1,44,aa */
	{0xaa, 0xd0, 0x0001}, /* 00,d0,01,aa */
	{0xaa, 0xd1, 0x0085}, /* 00,d1,85,aa */
	{0xaa, 0xd2, 0x0080}, /* 00,d2,80,aa */
	{0xaa, 0xd3, 0x0080}, /* 00,d3,80,aa */
	{0xaa, 0xd4, 0x0080}, /* 00,d4,80,aa */
	{0xaa, 0xd5, 0x0080}, /* 00,d5,80,aa */
	{0xaa, 0xc0, 0x00c3}, /* 00,c0,c3,aa */
	{0xaa, 0xc2, 0x0044}, /* 00,c2,44,aa */
	{0xaa, 0xc4, 0x0040}, /* 00,c4,40,aa */
	{0xaa, 0xc5, 0x0020}, /* 00,c5,20,aa */
	{0xaa, 0xc6, 0x0008}, /* 00,c6,08,aa */
	{0xaa, 0x03, 0x0004}, /* 00,03,04,aa */
	{0xaa, 0x10, 0x0000}, /* 00,10,00,aa */
	{0xaa, 0x40, 0x0030}, /* 00,40,30,aa */
	{0xaa, 0x41, 0x0020}, /* 00,41,20,aa */
	{0xaa, 0x42, 0x002d}, /* 00,42,2d,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x1c, 0x0050}, /* 00,1c,50,aa */
	{0xaa, 0x11, 0x0081}, /* 00,11,81,aa */
	{0xaa, 0x3b, 0x003a}, /* 00,3b,3A,aa */
	{0xaa, 0x3c, 0x0098}, /* 00,3c,98,aa */
	{0xaa, 0x3d, 0x0030}, /* 00,3d,30,aa */
	{0xaa, 0x3e, 0x00d4}, /* 00,3E,D4,aa */
	{0xaa, 0x01, 0x0000}, /* 00,01,00,aa */
	{0xaa, 0x52, 0x00ff}, /* 00,52,FF,aa */
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x0d, 0x0100}, /* 01,00,0d,cc */
	{0xa0, 0x37, 0x0101}, /* 01,01,37,cc */
	{0xa0, 0x06, 0x0189}, /* 01,89,06,cc */
	{0xa0, 0x03, 0x01c5}, /* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb}, /* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250}, /* 02,50,08,cc */
	{0xa0, 0x08, 0x0301}, /* 03,01,08,cc */
	{0xa0, 0x02, 0x0180}, /* 01,80,02,cc */
	{0xaa, 0x03, 0x0002}, /* 00,03,02,aa */
	{0xaa, 0x51, 0x004e}, /* 00,51,4E,aa */
	{0xaa, 0x52, 0x0041}, /* 00,52,41,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x50, 0x0010}, /* 00,50,10,aa */
	{0xaa, 0x51, 0x0010}, /* 00,51,10,aa */
	{0xaa, 0x54, 0x0010}, /* 00,54,10,aa */
	{0xaa, 0x55, 0x0010}, /* 00,55,10,aa */
	{0xa0, 0xf0, 0x0199}, /* 01,99,F0,cc */
	{0xa0, 0x80, 0x019a}, /* 01,9A,80,cc */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */
	{0xaa, 0x37, 0x004c}, /* 00,37,4C,aa */
	{0xaa, 0x3b, 0x001d}, /* 00,3B,1D,aa */
	{}
};

static const struct usb_action MC501CB_50HZ[] = {
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */
	{0xaa, 0x37, 0x004c}, /* 00,37,4C,aa */
	{0xaa, 0x3b, 0x001d}, /* 00,3B,1D,aa */
	{0xaa, 0x3c, 0x004c}, /* 00,3C,4C,aa */
	{0xaa, 0x3d, 0x001d}, /* 00,3D,1D,aa */
	{0xaa, 0x3e, 0x004c}, /* 00,3E,4C,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x003a}, /* 00,36,3A,aa */
	{0xaa, 0x37, 0x0098}, /* 00,37,98,aa */
	{0xaa, 0x3b, 0x003a}, /* 00,3B,3A,aa */
	{}
};

static const struct usb_action MC501CB_50HZScale[] = {
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x003a}, /* 00,36,3A,aa */
	{0xaa, 0x37, 0x0098}, /* 00,37,98,aa */
	{0xaa, 0x3b, 0x003a}, /* 00,3B,3A,aa */
	{0xaa, 0x3c, 0x0098}, /* 00,3C,98,aa */
	{0xaa, 0x3d, 0x003a}, /* 00,3D,3A,aa */
	{0xaa, 0x3e, 0x0098}, /* 00,3E,98,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
	{0xaa, 0x37, 0x006a}, /* 00,37,6A,aa */
	{0xaa, 0x3d, 0x0018}, /* 00,3D,18,aa */
	{}
};

static const struct usb_action MC501CB_60HZ[] = {
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
	{0xaa, 0x37, 0x006a}, /* 00,37,6A,aa */
	{0xaa, 0x3d, 0x0018}, /* 00,3D,18,aa */
	{0xaa, 0x3e, 0x006a}, /* 00,3E,6A,aa */
	{0xaa, 0x3b, 0x0018}, /* 00,3B,18,aa */
	{0xaa, 0x3c, 0x006a}, /* 00,3C,6A,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
	{0xaa, 0x37, 0x00d4}, /* 00,37,D4,aa */
	{0xaa, 0x3d, 0x0030}, /* 00,3D,30,aa */
	{}
};

static const struct usb_action MC501CB_60HZScale[] = {
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
	{0xaa, 0x37, 0x00d4}, /* 00,37,D4,aa */
	{0xaa, 0x3d, 0x0030}, /* 00,3D,30,aa */
	{0xaa, 0x3e, 0x00d4}, /* 00,3E,D4,aa */
	{0xaa, 0x3b, 0x0030}, /* 00,3B,30,aa */
	{0xaa, 0x3c, 0x00d4}, /* 00,3C,D4,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
	{0xaa, 0x37, 0x006a}, /* 00,37,6A,aa */
	{0xaa, 0x3d, 0x0018}, /* 00,3D,18,aa */
	{}
};

static const struct usb_action MC501CB_NoFliker[] = {
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
	{0xaa, 0x37, 0x006a}, /* 00,37,6A,aa */
	{0xaa, 0x3d, 0x0018}, /* 00,3D,18,aa */
	{0xaa, 0x3e, 0x006a}, /* 00,3E,6A,aa */
	{0xaa, 0x3b, 0x0018}, /* 00,3B,18,aa */
	{0xaa, 0x3c, 0x006a}, /* 00,3C,6A,aa */
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
	{0xaa, 0x37, 0x00d4}, /* 00,37,D4,aa */
	{0xaa, 0x3d, 0x0030}, /* 00,3D,30,aa */
	{}
};

static const struct usb_action MC501CB_NoFlikerScale[] = {
	{0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
	{0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
	{0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
	{0xaa, 0x37, 0x00d4}, /* 00,37,D4,aa */
	{0xaa, 0x3d, 0x0030}, /* 00,3D,30,aa */
	{0xaa, 0x3e, 0x00d4}, /* 00,3E,D4,aa */
	{0xaa, 0x3b, 0x0030}, /* 00,3B,30,aa */
	{0xaa, 0x3c, 0x00d4}, /* 00,3C,D4,aa */
	{}
};

/* from zs211.inf - HKR,%OV7620%,Initial - 640x480 */
static const struct usb_action OV7620_mode0[] = {
	{0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
	{0xa0, 0x40, 0x0002}, /* 00,02,40,cc */
	{0xa0, 0x00, 0x0008}, /* 00,08,00,cc */
	{0xa0, 0x01, 0x0001}, /* 00,01,01,cc */
	{0xa0, 0x06, 0x0010}, /* 00,10,06,cc */
	{0xa0, 0x02, 0x0083}, /* 00,83,02,cc */
	{0xa0, 0x01, 0x0085}, /* 00,85,01,cc */
	{0xa0, 0x80, 0x0086}, /* 00,86,80,cc */
	{0xa0, 0x81, 0x0087}, /* 00,87,81,cc */
	{0xa0, 0x10, 0x0088}, /* 00,88,10,cc */
	{0xa0, 0xa1, 0x008b}, /* 00,8b,a1,cc */
	{0xa0, 0x08, 0x008d}, /* 00,8d,08,cc */
	{0xa0, 0x02, 0x0003}, /* 00,03,02,cc */
	{0xa0, 0x80, 0x0004}, /* 00,04,80,cc */
	{0xa0, 0x01, 0x0005}, /* 00,05,01,cc */
	{0xa0, 0xd8, 0x0006}, /* 00,06,d8,cc */
	{0xa0, 0x03, 0x0012}, /* 00,12,03,cc */
	{0xa0, 0x01, 0x0012}, /* 00,12,01,cc */
	{0xa0, 0x00, 0x0098}, /* 00,98,00,cc */
	{0xa0, 0x00, 0x009a}, /* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a}, /* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c}, /* 01,1c,00,cc */
	{0xa0, 0xde, 0x009c}, /* 00,9c,de,cc */
	{0xa0, 0x86, 0x009e}, /* 00,9e,86,cc */
	{0xaa, 0x12, 0x0088}, /* 00,12,88,aa */
	{0xaa, 0x12, 0x0048}, /* 00,12,48,aa */
	{0xaa, 0x75, 0x008a}, /* 00,75,8a,aa */
	{0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */
	{0xaa, 0x04, 0x0000}, /* 00,04,00,aa */
	{0xaa, 0x05, 0x0000}, /* 00,05,00,aa */
	{0xaa, 0x14, 0x0000}, /* 00,14,00,aa */
	{0xaa, 0x15, 0x0004}, /* 00,15,04,aa */
	{0xaa, 0x17, 0x0018}, /* 00,17,18,aa */
	{0xaa, 0x18, 0x00ba}, /* 00,18,ba,aa */
	{0xaa, 0x19, 0x0002}, /* 00,19,02,aa */
	{0xaa, 0x1a, 0x00f1}, /* 00,1a,f1,aa */
	{0xaa, 0x20, 0x0040}, /* 00,20,40,aa */
	{0xaa, 0x24, 0x0088}, /* 00,24,88,aa */
	{0xaa, 0x25, 0x0078}, /* 00,25,78,aa */
	{0xaa, 0x27, 0x00f6}, /* 00,27,f6,aa */
	{0xaa, 0x28, 0x00a0}, /* 00,28,a0,aa */
	{0xaa, 0x21, 0x0000}, /* 00,21,00,aa */
	{0xaa, 0x2a, 0x0083}, /* 00,2a,83,aa */
	{0xaa, 0x2b, 0x0096}, /* 00,2b,96,aa */
	{0xaa, 0x2d, 0x0005}, /* 00,2d,05,aa */
	{0xaa, 0x74, 0x0020}, /* 00,74,20,aa */
	{0xaa, 0x61, 0x0068}, /* 00,61,68,aa */
	{0xaa, 0x64, 0x0088}, /* 00,64,88,aa */
	{0xaa, 0x00, 0x0000}, /* 00,00,00,aa */
	{0xaa, 0x06, 0x0080}, /* 00,06,80,aa */
	{0xaa, 0x01, 0x0090}, /* 00,01,90,aa */
	{0xaa, 0x02, 0x0030}, /* 00,02,30,aa */
	{0xa0, 0x77, 0x0101}, /* 01,01,77,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xa0, 0x0d, 0x0100}, /* 01,00,0d,cc */
	{0xa0, 0x06, 0x0189}, /* 01,89,06,cc */
	{0xa0, 0x00, 0x01ad}, /* 01,ad,00,cc */
	{0xa0, 0x03, 0x01c5}, /* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb}, /* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250}, /* 02,50,08,cc */
	{0xa0, 0x08, 0x0301}, /* 03,01,08,cc */
	{0xa0, 0x68, 0x0116}, /* 01,16,68,cc */
	{0xa0, 0x52, 0x0118}, /* 01,18,52,cc */
	{0xa0, 0x40, 0x011d}, /* 01,1d,40,cc */
	{0xa0, 0x02, 0x0180}, /* 01,80,02,cc */
	{0xa0, 0x50, 0x01a8}, /* 01,a8,50,cc */
	{}
};

/* from zs211.inf - HKR,%OV7620%,InitialScale - 320x240 */
static const struct usb_action OV7620_mode1[] = {
	{0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
	{0xa0, 0x50, 0x0002}, /* 00,02,50,cc */
	{0xa0, 0x03, 0x0008}, /* 00,08,00,cc */		/* mx change? */
	{0xa0, 0x01, 0x0001}, /* 00,01,01,cc */
	{0xa0, 0x06, 0x0010}, /* 00,10,06,cc */
	{0xa0, 0x02, 0x0083}, /* 00,83,02,cc */
	{0xa0, 0x01, 0x0085}, /* 00,85,01,cc */
	{0xa0, 0x80, 0x0086}, /* 00,86,80,cc */
	{0xa0, 0x81, 0x0087}, /* 00,87,81,cc */
	{0xa0, 0x10, 0x0088}, /* 00,88,10,cc */
	{0xa0, 0xa1, 0x008b}, /* 00,8b,a1,cc */
	{0xa0, 0x08, 0x008d}, /* 00,8d,08,cc */
	{0xa0, 0x02, 0x0003}, /* 00,03,02,cc */
	{0xa0, 0x80, 0x0004}, /* 00,04,80,cc */
	{0xa0, 0x01, 0x0005}, /* 00,05,01,cc */
	{0xa0, 0xd0, 0x0006}, /* 00,06,d0,cc */
	{0xa0, 0x03, 0x0012}, /* 00,12,03,cc */
	{0xa0, 0x01, 0x0012}, /* 00,12,01,cc */
	{0xa0, 0x00, 0x0098}, /* 00,98,00,cc */
	{0xa0, 0x00, 0x009a}, /* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a}, /* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c}, /* 01,1c,00,cc */
	{0xa0, 0xd6, 0x009c}, /* 00,9c,d6,cc */		/* OV7648 00,9c,d8,cc */
	{0xa0, 0x88, 0x009e}, /* 00,9e,88,cc */
	{0xaa, 0x12, 0x0088}, /* 00,12,88,aa */
	{0xaa, 0x12, 0x0048}, /* 00,12,48,aa */
	{0xaa, 0x75, 0x008a}, /* 00,75,8a,aa */
	{0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */
	{0xaa, 0x04, 0x0000}, /* 00,04,00,aa */
	{0xaa, 0x05, 0x0000}, /* 00,05,00,aa */
	{0xaa, 0x14, 0x0000}, /* 00,14,00,aa */
	{0xaa, 0x15, 0x0004}, /* 00,15,04,aa */
	{0xaa, 0x24, 0x0088}, /* 00,24,88,aa */
	{0xaa, 0x25, 0x0078}, /* 00,25,78,aa */
	{0xaa, 0x17, 0x0018}, /* 00,17,18,aa */
	{0xaa, 0x18, 0x00ba}, /* 00,18,ba,aa */
	{0xaa, 0x19, 0x0002}, /* 00,19,02,aa */
	{0xaa, 0x1a, 0x00f2}, /* 00,1a,f2,aa */
	{0xaa, 0x20, 0x0040}, /* 00,20,40,aa */
	{0xaa, 0x27, 0x00f6}, /* 00,27,f6,aa */
	{0xaa, 0x28, 0x00a0}, /* 00,28,a0,aa */
	{0xaa, 0x21, 0x0000}, /* 00,21,00,aa */
	{0xaa, 0x2a, 0x0083}, /* 00,2a,83,aa */
	{0xaa, 0x2b, 0x0096}, /* 00,2b,96,aa */
	{0xaa, 0x2d, 0x0005}, /* 00,2d,05,aa */
	{0xaa, 0x74, 0x0020}, /* 00,74,20,aa */
	{0xaa, 0x61, 0x0068}, /* 00,61,68,aa */
	{0xaa, 0x64, 0x0088}, /* 00,64,88,aa */
	{0xaa, 0x00, 0x0000}, /* 00,00,00,aa */
	{0xaa, 0x06, 0x0080}, /* 00,06,80,aa */
	{0xaa, 0x01, 0x0090}, /* 00,01,90,aa */
	{0xaa, 0x02, 0x0030}, /* 00,02,30,aa */
	{0xa0, 0x77, 0x0101}, /* 01,01,77,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xa0, 0x0d, 0x0100}, /* 01,00,0d,cc */
	{0xa0, 0x06, 0x0189}, /* 01,89,06,cc */
	{0xa0, 0x00, 0x01ad}, /* 01,ad,00,cc */
	{0xa0, 0x03, 0x01c5}, /* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb}, /* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250}, /* 02,50,08,cc */
	{0xa0, 0x08, 0x0301}, /* 03,01,08,cc */
	{0xa0, 0x68, 0x0116}, /* 01,16,68,cc */
	{0xa0, 0x52, 0x0118}, /* 01,18,52,cc */
	{0xa0, 0x50, 0x011d}, /* 01,1d,50,cc */
	{0xa0, 0x02, 0x0180}, /* 01,80,02,cc */
	{0xa0, 0x50, 0x01a8}, /* 01,a8,50,cc */
	{}
};

/* from zs211.inf - HKR,%OV7620%\AE,50HZ */
static const struct usb_action OV7620_50HZ[] = {
	{0xaa, 0x13, 0x00a3},	/* 00,13,a3,aa */
	{0xdd, 0x00, 0x0100},	/* 00,01,00,dd */
	{0xaa, 0x2b, 0x0096},	/* 00,2b,96,aa */
	{0xaa, 0x75, 0x008a},	/* 00,75,8a,aa */
	{0xaa, 0x2d, 0x0005},	/* 00,2d,05,aa */
	{0xa0, 0x00, 0x0190},	/* 01,90,00,cc */
	{0xa0, 0x04, 0x0191},	/* 01,91,04,cc */
	{0xa0, 0x18, 0x0192},	/* 01,92,18,cc */
	{0xa0, 0x00, 0x0195},	/* 01,95,00,cc */
	{0xa0, 0x00, 0x0196},	/* 01,96,00,cc */
	{0xa0, 0x83, 0x0197},	/* 01,97,83,cc */
	{0xaa, 0x10, 0x0082},	/* 00,10,82,aa */
	{0xaa, 0x76, 0x0003},	/* 00,76,03,aa */
/*	{0xa0, 0x40, 0x0002},	 * 00,02,40,cc - if mode0 (640x480) */
	{}
};

/* from zs211.inf - HKR,%OV7620%\AE,60HZ */
static const struct usb_action OV7620_60HZ[] = {
	{0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */	/* (bug in zs211.inf) */
	{0xdd, 0x00, 0x0100},	/* 00,01,00,dd */
	{0xaa, 0x2b, 0x0000}, /* 00,2b,00,aa */
	{0xaa, 0x75, 0x008a}, /* 00,75,8a,aa */
	{0xaa, 0x2d, 0x0005}, /* 00,2d,05,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x18, 0x0192}, /* 01,92,18,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x83, 0x0197}, /* 01,97,83,cc */
	{0xaa, 0x10, 0x0020}, /* 00,10,20,aa */
	{0xaa, 0x76, 0x0003}, /* 00,76,03,aa */
/*	{0xa0, 0x40, 0x0002},  * 00,02,40,cc - if mode0 (640x480) */
/* ?? in gspca v1, it was
	{0xa0, 0x00, 0x0039},  * 00,00,00,dd *
	{0xa1, 0x01, 0x0037},		*/
	{}
};

/* from zs211.inf - HKR,%OV7620%\AE,NoFliker */
static const struct usb_action OV7620_NoFliker[] = {
	{0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */	/* (bug in zs211.inf) */
	{0xdd, 0x00, 0x0100},	/* 00,01,00,dd */
	{0xaa, 0x2b, 0x0000}, /* 00,2b,00,aa */
	{0xaa, 0x75, 0x008e}, /* 00,75,8e,aa */
	{0xaa, 0x2d, 0x0001}, /* 00,2d,01,aa */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x04, 0x0191}, /* 01,91,04,cc */
	{0xa0, 0x18, 0x0192}, /* 01,92,18,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x01, 0x0197}, /* 01,97,01,cc */
/*	{0xa0, 0x44, 0x0002},  * 00,02,44,cc - if mode1 (320x240) */
/* ?? was
	{0xa0, 0x00, 0x0039},  * 00,00,00,dd *
	{0xa1, 0x01, 0x0037},		*/
	{}
};

static const struct usb_action ov7630c_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x06, 0x0010},
	{0xa0, 0xa1, 0x008b},
	{0xa0, 0x08, 0x008d},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0012},
	{0xaa, 0x12, 0x0080},
	{0xa0, 0x02, 0x0083},
	{0xa0, 0x01, 0x0085},
	{0xa0, 0x90, 0x0086},
	{0xa0, 0x91, 0x0087},
	{0xa0, 0x10, 0x0088},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xd8, 0x009c},
	{0xa0, 0x88, 0x009e},
	{0xaa, 0x12, 0x0069},
	{0xaa, 0x04, 0x0020},
	{0xaa, 0x06, 0x0050},
	{0xaa, 0x13, 0x0083},
	{0xaa, 0x14, 0x0000},
	{0xaa, 0x15, 0x0024},
	{0xaa, 0x17, 0x0018},
	{0xaa, 0x18, 0x00ba},
	{0xaa, 0x19, 0x0002},
	{0xaa, 0x1a, 0x00f6},
	{0xaa, 0x1b, 0x0002},
	{0xaa, 0x20, 0x00c2},
	{0xaa, 0x24, 0x0060},
	{0xaa, 0x25, 0x0040},
	{0xaa, 0x26, 0x0030},
	{0xaa, 0x27, 0x00ea},
	{0xaa, 0x28, 0x00a0},
	{0xaa, 0x21, 0x0000},
	{0xaa, 0x2a, 0x0081},
	{0xaa, 0x2b, 0x0096},
	{0xaa, 0x2d, 0x0094},
	{0xaa, 0x2f, 0x003d},
	{0xaa, 0x30, 0x0024},
	{0xaa, 0x60, 0x0000},
	{0xaa, 0x61, 0x0040},
	{0xaa, 0x68, 0x007c},
	{0xaa, 0x6f, 0x0015},
	{0xaa, 0x75, 0x0088},
	{0xaa, 0x77, 0x00b5},
	{0xaa, 0x01, 0x0060},
	{0xaa, 0x02, 0x0060},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x46, 0x0118},
	{0xa0, 0x04, 0x0113},
/* 0x10, */
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
/* 0x03, */
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x01, 0x0120},	/* gamma 2 ?*/
	{0xa0, 0x0c, 0x0121},
	{0xa0, 0x1f, 0x0122},
	{0xa0, 0x3a, 0x0123},
	{0xa0, 0x53, 0x0124},
	{0xa0, 0x6d, 0x0125},
	{0xa0, 0x85, 0x0126},
	{0xa0, 0x9c, 0x0127},
	{0xa0, 0xb0, 0x0128},
	{0xa0, 0xc2, 0x0129},
	{0xa0, 0xd1, 0x012a},
	{0xa0, 0xde, 0x012b},
	{0xa0, 0xe9, 0x012c},
	{0xa0, 0xf2, 0x012d},
	{0xa0, 0xf9, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x05, 0x0130},
	{0xa0, 0x0f, 0x0131},
	{0xa0, 0x16, 0x0132},
	{0xa0, 0x1a, 0x0133},
	{0xa0, 0x19, 0x0134},
	{0xa0, 0x19, 0x0135},
	{0xa0, 0x17, 0x0136},
	{0xa0, 0x15, 0x0137},
	{0xa0, 0x12, 0x0138},
	{0xa0, 0x10, 0x0139},
	{0xa0, 0x0e, 0x013a},
	{0xa0, 0x0b, 0x013b},
	{0xa0, 0x09, 0x013c},
	{0xa0, 0x08, 0x013d},
	{0xa0, 0x06, 0x013e},
	{0xa0, 0x03, 0x013f},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xaa, 0x10, 0x001b},
	{0xaa, 0x76, 0x0002},
	{0xaa, 0x2a, 0x0081},
	{0xaa, 0x2b, 0x0000},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x01, 0x0191},
	{0xa0, 0xb8, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x37, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x26, 0x01aa},
	{0xa0, 0x50, 0x011d},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x40, 0x0180},
	{0xaa, 0x13, 0x0083},	/* 40 */
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};

static const struct usb_action ov7630c_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x06, 0x0010},
	{0xa0, 0xa1, 0x008b},
	{0xa0, 0x08, 0x008d},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0012},

	{0xaa, 0x12, 0x0080},
	{0xa0, 0x02, 0x0083},
	{0xa0, 0x01, 0x0085},
	{0xa0, 0x90, 0x0086},
	{0xa0, 0x91, 0x0087},
	{0xa0, 0x10, 0x0088},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xe6, 0x009c},
	{0xa0, 0x86, 0x009e},
	{0xaa, 0x12, 0x0069},	/* i2c */
	{0xaa, 0x04, 0x0020},
	{0xaa, 0x06, 0x0050},
	{0xaa, 0x13, 0x00c3},
	{0xaa, 0x14, 0x0000},
	{0xaa, 0x15, 0x0024},
	{0xaa, 0x19, 0x0003},
	{0xaa, 0x1a, 0x00f6},
	{0xaa, 0x1b, 0x0002},
	{0xaa, 0x20, 0x00c2},
	{0xaa, 0x24, 0x0060},
	{0xaa, 0x25, 0x0040},
	{0xaa, 0x26, 0x0030},
	{0xaa, 0x27, 0x00ea},
	{0xaa, 0x28, 0x00a0},
	{0xaa, 0x21, 0x0000},
	{0xaa, 0x2a, 0x0081},
	{0xaa, 0x2b, 0x0096},
	{0xaa, 0x2d, 0x0084},
	{0xaa, 0x2f, 0x003d},
	{0xaa, 0x30, 0x0024},
	{0xaa, 0x60, 0x0000},
	{0xaa, 0x61, 0x0040},
	{0xaa, 0x68, 0x007c},
	{0xaa, 0x6f, 0x0015},
	{0xaa, 0x75, 0x0088},
	{0xaa, 0x77, 0x00b5},
	{0xaa, 0x01, 0x0060},
	{0xaa, 0x02, 0x0060},
	{0xaa, 0x17, 0x0018},
	{0xaa, 0x18, 0x00ba},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x77, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x04, 0x01a7},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x0116},
	{0xa0, 0x46, 0x0118},
	{0xa0, 0x04, 0x0113},

	{0xa1, 0x01, 0x0002},
	{0xa0, 0x4e, 0x010a},	/* matrix */
	{0xa0, 0xfe, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf7, 0x010d},
	{0xa0, 0x4d, 0x010e},
	{0xa0, 0xfc, 0x010f},
	{0xa0, 0x00, 0x0110},
	{0xa0, 0xf6, 0x0111},
	{0xa0, 0x4a, 0x0112},

	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x16, 0x0120},	/* gamma ~4 */
	{0xa0, 0x3a, 0x0121},
	{0xa0, 0x5b, 0x0122},
	{0xa0, 0x7c, 0x0123},
	{0xa0, 0x94, 0x0124},
	{0xa0, 0xa9, 0x0125},
	{0xa0, 0xbb, 0x0126},
	{0xa0, 0xca, 0x0127},
	{0xa0, 0xd7, 0x0128},
	{0xa0, 0xe1, 0x0129},
	{0xa0, 0xea, 0x012a},
	{0xa0, 0xf1, 0x012b},
	{0xa0, 0xf7, 0x012c},
	{0xa0, 0xfc, 0x012d},
	{0xa0, 0xff, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x20, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x00, 0x013e},
	{0xa0, 0x01, 0x013f},
	{0xa0, 0x4e, 0x010a},	/* matrix */
	{0xa0, 0xfe, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf7, 0x010d},
	{0xa0, 0x4d, 0x010e},
	{0xa0, 0xfc, 0x010f},
	{0xa0, 0x00, 0x0110},
	{0xa0, 0xf6, 0x0111},
	{0xa0, 0x4a, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xaa, 0x10, 0x000d},
	{0xaa, 0x76, 0x0002},
	{0xaa, 0x2a, 0x0081},
	{0xaa, 0x2b, 0x0000},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x00, 0x0191},
	{0xa0, 0xd8, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x1b, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x10, 0x01a9},
	{0xa0, 0x26, 0x01aa},
	{0xa0, 0x50, 0x011d},
	{0xa0, 0x02, 0x0180},
	{0xa0, 0x40, 0x0180},
	{0xaa, 0x13, 0x00c3},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};

static const struct usb_action pas106b_Initial_com[] = {
/* Sream and Sensor specific */
	{0xa1, 0x01, 0x0010},	/* CMOSSensorSelect */
/* System */
	{0xa0, 0x01, 0x0000},	/* SystemControl */
	{0xa0, 0x01, 0x0000},	/* SystemControl */
/* Picture size */
	{0xa0, 0x00, 0x0002},	/* ClockSelect */
	{0xa0, 0x03, 0x003a},
	{0xa0, 0x0c, 0x003b},
	{0xa0, 0x04, 0x0038},
	{}
};

static const struct usb_action pas106b_Initial[] = {	/* 176x144 */
/* JPEG control */
	{0xa0, 0x03, 0x0008},	/* ClockSetting */
/* Sream and Sensor specific */
	{0xa0, 0x0f, 0x0010},	/* CMOSSensorSelect */
/* Picture size */
	{0xa0, 0x00, 0x0003},	/* FrameWidthHigh 00 */
	{0xa0, 0xb0, 0x0004},	/* FrameWidthLow B0 */
	{0xa0, 0x00, 0x0005},	/* FrameHeightHigh 00 */
	{0xa0, 0x90, 0x0006},	/* FrameHightLow 90 */
/* System */
	{0xa0, 0x01, 0x0001},	/* SystemOperating */
/* Sream and Sensor specific */
	{0xa0, 0x03, 0x0012},	/* VideoControlFunction */
	{0xa0, 0x01, 0x0012},	/* VideoControlFunction */
/* Sensor Interface */
	{0xa0, 0x08, 0x008d},	/* Compatibily Mode */
/* Window inside sensor array */
	{0xa0, 0x03, 0x009a},	/* WinXStartLow */
	{0xa0, 0x00, 0x011a},	/* FirstYLow */
	{0xa0, 0x03, 0x011c},	/* FirstxLow */
	{0xa0, 0x28, 0x009c},	/* WinHeightLow */
	{0xa0, 0x68, 0x009e},	/* WinWidthLow */
/* Init the sensor */
	{0xaa, 0x02, 0x0004},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x09, 0x0005},
	{0xaa, 0x0a, 0x0002},
	{0xaa, 0x0b, 0x0002},
	{0xaa, 0x0c, 0x0005},
	{0xaa, 0x0d, 0x0000},
	{0xaa, 0x0e, 0x0002},
	{0xaa, 0x14, 0x0081},

/* Other registors */
	{0xa0, 0x37, 0x0101},	/* SensorCorrection */
/* Frame retreiving */
	{0xa0, 0x00, 0x0019},	/* AutoAdjustFPS */
/* Gains */
	{0xa0, 0xa0, 0x01a8},	/* DigitalGain */
/* Unknown */
	{0xa0, 0x00, 0x01ad},
/* Sharpness */
	{0xa0, 0x03, 0x01c5},	/* SharpnessMode */
	{0xa0, 0x13, 0x01cb},	/* Sharpness05 */
/* Other registors */
	{0xa0, 0x0d, 0x0100},	/* OperationMode */
/* Auto exposure and white balance */
	{0xa0, 0x06, 0x0189},	/* AWBStatus */
/*Dead pixels */
	{0xa0, 0x08, 0x0250},	/* DeadPixelsMode */
/* EEPROM */
	{0xa0, 0x08, 0x0301},	/* EEPROMAccess */
/* JPEG control */
	{0xa0, 0x03, 0x0008},	/* ClockSetting */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
/* Other registers */
	{0xa0, 0x0d, 0x0100},	/* OperationMode */
/* Auto exposure and white balance */
	{0xa0, 0x06, 0x0189},	/* AWBStatus */
/*Dead pixels */
	{0xa0, 0x08, 0x0250},	/* DeadPixelsMode */
/* EEPROM */
	{0xa0, 0x08, 0x0301},	/* EEPROMAccess */
/* JPEG control */
	{0xa0, 0x03, 0x0008},	/* ClockSetting */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
/* Auto correction */
	{0xa0, 0x03, 0x0181},	/* WinXstart */
	{0xa0, 0x08, 0x0182},	/* WinXWidth */
	{0xa0, 0x16, 0x0183},	/* WinXCenter */
	{0xa0, 0x03, 0x0184},	/* WinYStart */
	{0xa0, 0x05, 0x0185},	/* WinYWidth */
	{0xa0, 0x14, 0x0186},	/* WinYCenter */
	{0xa0, 0x00, 0x0180},	/* AutoCorrectEnable */

/* Auto exposure and white balance */
	{0xa0, 0x00, 0x0190},	/* ExposureLimitHigh */
	{0xa0, 0x03, 0x0191},	/* ExposureLimitMid */
	{0xa0, 0xb1, 0x0192},	/* ExposureLimitLow */
	{0xa0, 0x00, 0x0195},	/* AntiFlickerHigh */
	{0xa0, 0x00, 0x0196},	/* AntiFlickerLow */
	{0xa0, 0x87, 0x0197},	/* AntiFlickerLow */
	{0xa0, 0x0c, 0x018c},	/* AEBFreeze */
	{0xa0, 0x18, 0x018f},	/* AEBUnfreeze */
/* sensor on */
	{0xaa, 0x07, 0x00b1},
	{0xaa, 0x05, 0x0003},
	{0xaa, 0x04, 0x0001},
	{0xaa, 0x03, 0x003b},
/* Gains */
	{0xa0, 0x20, 0x01a9},	/* DigitalLimitDiff */
	{0xa0, 0x26, 0x01aa},	/* DigitalGainStep */
	{0xa0, 0xa0, 0x011d},	/* GlobalGain */
	{0xa0, 0x60, 0x011d},	/* GlobalGain */
/* Auto correction */
	{0xa0, 0x40, 0x0180},	/* AutoCorrectEnable */
	{0xa1, 0x01, 0x0180},	/* AutoCorrectEnable */
	{0xa0, 0x42, 0x0180},	/* AutoCorrectEnable */
/* Gains */
	{0xa0, 0x40, 0x0116},	/* RGain */
	{0xa0, 0x40, 0x0117},	/* GGain */
	{0xa0, 0x40, 0x0118},	/* BGain */
	{}
};

static const struct usb_action pas106b_InitialScale[] = {	/* 352x288 */
/* JPEG control */
	{0xa0, 0x03, 0x0008},	/* ClockSetting */
/* Sream and Sensor specific */
	{0xa0, 0x0f, 0x0010},	/* CMOSSensorSelect */
/* Picture size */
	{0xa0, 0x01, 0x0003},	/* FrameWidthHigh */
	{0xa0, 0x60, 0x0004},	/* FrameWidthLow */
	{0xa0, 0x01, 0x0005},	/* FrameHeightHigh */
	{0xa0, 0x20, 0x0006},	/* FrameHightLow */
/* System */
	{0xa0, 0x01, 0x0001},	/* SystemOperating */
/* Sream and Sensor specific */
	{0xa0, 0x03, 0x0012},	/* VideoControlFunction */
	{0xa0, 0x01, 0x0012},	/* VideoControlFunction */
/* Sensor Interface */
	{0xa0, 0x08, 0x008d},	/* Compatibily Mode */
/* Window inside sensor array */
	{0xa0, 0x03, 0x009a},	/* WinXStartLow */
	{0xa0, 0x00, 0x011a},	/* FirstYLow */
	{0xa0, 0x03, 0x011c},	/* FirstxLow */
	{0xa0, 0x28, 0x009c},	/* WinHeightLow */
	{0xa0, 0x68, 0x009e},	/* WinWidthLow */
/* Init the sensor */
	{0xaa, 0x02, 0x0004},
	{0xaa, 0x08, 0x0000},
	{0xaa, 0x09, 0x0005},
	{0xaa, 0x0a, 0x0002},
	{0xaa, 0x0b, 0x0002},
	{0xaa, 0x0c, 0x0005},
	{0xaa, 0x0d, 0x0000},
	{0xaa, 0x0e, 0x0002},
	{0xaa, 0x14, 0x0081},

/* Other registors */
	{0xa0, 0x37, 0x0101},	/* SensorCorrection */
/* Frame retreiving */
	{0xa0, 0x00, 0x0019},	/* AutoAdjustFPS */
/* Gains */
	{0xa0, 0xa0, 0x01a8},	/* DigitalGain */
/* Unknown */
	{0xa0, 0x00, 0x01ad},
/* Sharpness */
	{0xa0, 0x03, 0x01c5},	/* SharpnessMode */
	{0xa0, 0x13, 0x01cb},	/* Sharpness05 */
/* Other registors */
	{0xa0, 0x0d, 0x0100},	/* OperationMode */
/* Auto exposure and white balance */
	{0xa0, 0x06, 0x0189},	/* AWBStatus */
	{0xa0, 0x80, 0x018d},	/* ????????? */
/*Dead pixels */
	{0xa0, 0x08, 0x0250},	/* DeadPixelsMode */
/* EEPROM */
	{0xa0, 0x08, 0x0301},	/* EEPROMAccess */
/* JPEG control */
	{0xa0, 0x03, 0x0008},	/* ClockSetting */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
/* Other registers */
	{0xa0, 0x0d, 0x0100},	/* OperationMode */
/* Auto exposure and white balance */
	{0xa0, 0x06, 0x0189},	/* AWBStatus */
/*Dead pixels */
	{0xa0, 0x08, 0x0250},	/* DeadPixelsMode */
/* EEPROM */
	{0xa0, 0x08, 0x0301},	/* EEPROMAccess */
/* JPEG control */
	{0xa0, 0x03, 0x0008},	/* ClockSetting */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x58, 0x010a},	/* matrix */
	{0xa0, 0xf4, 0x010b},
	{0xa0, 0xf4, 0x010c},
	{0xa0, 0xf4, 0x010d},
	{0xa0, 0x58, 0x010e},
	{0xa0, 0xf4, 0x010f},
	{0xa0, 0xf4, 0x0110},
	{0xa0, 0xf4, 0x0111},
	{0xa0, 0x58, 0x0112},
/* Auto correction */
	{0xa0, 0x03, 0x0181},	/* WinXstart */
	{0xa0, 0x08, 0x0182},	/* WinXWidth */
	{0xa0, 0x16, 0x0183},	/* WinXCenter */
	{0xa0, 0x03, 0x0184},	/* WinYStart */
	{0xa0, 0x05, 0x0185},	/* WinYWidth */
	{0xa0, 0x14, 0x0186},	/* WinYCenter */
	{0xa0, 0x00, 0x0180},	/* AutoCorrectEnable */

/* Auto exposure and white balance */
	{0xa0, 0x00, 0x0190},	/* ExposureLimitHigh 0 */
	{0xa0, 0x03, 0x0191},	/* ExposureLimitMid */
	{0xa0, 0xb1, 0x0192},	/* ExposureLimitLow 0xb1 */

	{0xa0, 0x00, 0x0195},	/* AntiFlickerHigh 0x00 */
	{0xa0, 0x00, 0x0196},	/* AntiFlickerLow 0x00 */
	{0xa0, 0x87, 0x0197},	/* AntiFlickerLow 0x87 */

	{0xa0, 0x10, 0x018c},	/* AEBFreeze 0x10 0x0c */
	{0xa0, 0x20, 0x018f},	/* AEBUnfreeze 0x30 0x18 */
/* sensor on */
	{0xaa, 0x07, 0x00b1},
	{0xaa, 0x05, 0x0003},
	{0xaa, 0x04, 0x0001},
	{0xaa, 0x03, 0x003b},
/* Gains */
	{0xa0, 0x20, 0x01a9},	/* DigitalLimitDiff */
	{0xa0, 0x26, 0x01aa},	/* DigitalGainStep */
	{0xa0, 0xa0, 0x011d},	/* GlobalGain */
	{0xa0, 0x60, 0x011d},	/* GlobalGain */
/* Auto correction */
	{0xa0, 0x40, 0x0180},	/* AutoCorrectEnable */
	{0xa1, 0x01, 0x0180},	/* AutoCorrectEnable */
	{0xa0, 0x42, 0x0180},	/* AutoCorrectEnable */
/* Gains */
	{0xa0, 0x40, 0x0116},	/* RGain */
	{0xa0, 0x40, 0x0117},	/* GGain */
	{0xa0, 0x40, 0x0118},	/* BGain */

	{0xa0, 0x00, 0x0007},	/* AutoCorrectEnable */
	{0xa0, 0xff, 0x0018},	/* Frame adjust */
	{}
};
static const struct usb_action pas106b_50HZ[] = {
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x06, 0x0191}, /* 01,91,06,cc */
	{0xa0, 0x54, 0x0192}, /* 01,92,54,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x87, 0x0197}, /* 01,97,87,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x30, 0x018f}, /* 01,8f,30,cc */
	{0xaa, 0x03, 0x0021}, /* 00,03,21,aa */
	{0xaa, 0x04, 0x000c}, /* 00,04,0c,aa */
	{0xaa, 0x05, 0x0002}, /* 00,05,02,aa */
	{0xaa, 0x07, 0x001c}, /* 00,07,1c,aa */
	{0xa0, 0x04, 0x01a9}, /* 01,a9,04,cc */
	{}
};
static const struct usb_action pas106b_60HZ[] = {
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x06, 0x0191}, /* 01,91,06,cc */
	{0xa0, 0x2e, 0x0192}, /* 01,92,2e,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x71, 0x0197}, /* 01,97,71,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x30, 0x018f}, /* 01,8f,30,cc */
	{0xaa, 0x03, 0x001c}, /* 00,03,1c,aa */
	{0xaa, 0x04, 0x0004}, /* 00,04,04,aa */
	{0xaa, 0x05, 0x0001}, /* 00,05,01,aa */
	{0xaa, 0x07, 0x00c4}, /* 00,07,c4,aa */
	{0xa0, 0x04, 0x01a9}, /* 01,a9,04,cc */
	{}
};
static const struct usb_action pas106b_NoFliker[] = {
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x06, 0x0191}, /* 01,91,06,cc */
	{0xa0, 0x50, 0x0192}, /* 01,92,50,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xaa, 0x03, 0x0013}, /* 00,03,13,aa */
	{0xaa, 0x04, 0x0000}, /* 00,04,00,aa */
	{0xaa, 0x05, 0x0001}, /* 00,05,01,aa */
	{0xaa, 0x07, 0x0030}, /* 00,07,30,aa */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{}
};

static const struct usb_action pb03303x_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0a, 0x0010},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0xdc, 0x008b},	/* 8b -> dc */
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xdc, 0x008b},
	{0xaa, 0x01, 0x0001},
	{0xaa, 0x06, 0x0000},
	{0xaa, 0x08, 0x0483},
	{0xaa, 0x01, 0x0004},
	{0xaa, 0x08, 0x0006},
	{0xaa, 0x02, 0x0011},
	{0xaa, 0x03, 0x01e7},
	{0xaa, 0x04, 0x0287},
	{0xaa, 0x07, 0x3002},
	{0xaa, 0x20, 0x1100},
	{0xaa, 0x35, 0x0050},
	{0xaa, 0x30, 0x0005},
	{0xaa, 0x31, 0x0000},
	{0xaa, 0x58, 0x0078},
	{0xaa, 0x62, 0x0411},
	{0xaa, 0x2b, 0x0028},
	{0xaa, 0x2c, 0x0030},
	{0xaa, 0x2d, 0x0030},
	{0xaa, 0x2e, 0x0028},
	{0xa0, 0x10, 0x0087},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x78, 0x018d},
	{0xa0, 0x61, 0x0116},
	{0xa0, 0x65, 0x0118},

	{0xa1, 0x01, 0x0002},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x0d, 0x003a},
	{0xa0, 0x02, 0x003b},
	{0xa0, 0x00, 0x0038},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},

	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x05, 0x0009},
	{0xaa, 0x09, 0x0134},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0xec, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x9c, 0x0197},
	{0xa0, 0x0e, 0x018c},
	{0xa0, 0x1c, 0x018f},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0xd7, 0x001d},
	{0xa0, 0xf4, 0x001e},
	{0xa0, 0xf9, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};

static const struct usb_action pb03303x_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0a, 0x0010},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0xdc, 0x008b},	/* 8b -> dc */
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x03, 0x0012},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xdc, 0x008b},
	{0xaa, 0x01, 0x0001},
	{0xaa, 0x06, 0x0000},
	{0xaa, 0x08, 0x0483},
	{0xaa, 0x01, 0x0004},
	{0xaa, 0x08, 0x0006},
	{0xaa, 0x02, 0x0011},
	{0xaa, 0x03, 0x01e7},
	{0xaa, 0x04, 0x0287},
	{0xaa, 0x07, 0x3002},
	{0xaa, 0x20, 0x1100},
	{0xaa, 0x35, 0x0050},
	{0xaa, 0x30, 0x0005},
	{0xaa, 0x31, 0x0000},
	{0xaa, 0x58, 0x0078},
	{0xaa, 0x62, 0x0411},
	{0xaa, 0x2b, 0x0028},
	{0xaa, 0x2c, 0x0030},
	{0xaa, 0x2d, 0x0030},
	{0xaa, 0x2e, 0x0028},
	{0xa0, 0x10, 0x0087},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x78, 0x018d},
	{0xa0, 0x61, 0x0116},
	{0xa0, 0x65, 0x0118},

	{0xa1, 0x01, 0x0002},

	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},

	{0xa0, 0x0d, 0x003a},
	{0xa0, 0x02, 0x003b},
	{0xa0, 0x00, 0x0038},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},

	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x13, 0x0120},	/* gamma 4 */
	{0xa0, 0x38, 0x0121},
	{0xa0, 0x59, 0x0122},
	{0xa0, 0x79, 0x0123},
	{0xa0, 0x92, 0x0124},
	{0xa0, 0xa7, 0x0125},
	{0xa0, 0xb9, 0x0126},
	{0xa0, 0xc8, 0x0127},
	{0xa0, 0xd4, 0x0128},
	{0xa0, 0xdf, 0x0129},
	{0xa0, 0xe7, 0x012a},
	{0xa0, 0xee, 0x012b},
	{0xa0, 0xf4, 0x012c},
	{0xa0, 0xf9, 0x012d},
	{0xa0, 0xfc, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x26, 0x0130},
	{0xa0, 0x22, 0x0131},
	{0xa0, 0x20, 0x0132},
	{0xa0, 0x1c, 0x0133},
	{0xa0, 0x16, 0x0134},
	{0xa0, 0x13, 0x0135},
	{0xa0, 0x10, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x06, 0x013b},
	{0xa0, 0x05, 0x013c},
	{0xa0, 0x04, 0x013d},
	{0xa0, 0x03, 0x013e},
	{0xa0, 0x02, 0x013f},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},

	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x05, 0x0009},
	{0xaa, 0x09, 0x0134},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0xec, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x9c, 0x0197},
	{0xa0, 0x0e, 0x018c},
	{0xa0, 0x1c, 0x018f},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0xd7, 0x001d},
	{0xa0, 0xf4, 0x001e},
	{0xa0, 0xf9, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};
static const struct usb_action pb0330xx_Initial[] = {
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x0a, 0x0010},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x07, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0x05, 0x0012},
	{0xaa, 0x01, 0x0006},
	{0xaa, 0x02, 0x0011},
	{0xaa, 0x03, 0x01e7},
	{0xaa, 0x04, 0x0287},
	{0xaa, 0x06, 0x0003},
	{0xaa, 0x07, 0x3002},
	{0xaa, 0x20, 0x1100},
	{0xaa, 0x2f, 0xf7b0},
	{0xaa, 0x30, 0x0005},
	{0xaa, 0x31, 0x0000},
	{0xaa, 0x34, 0x0100},
	{0xaa, 0x35, 0x0060},
	{0xaa, 0x3d, 0x068f},
	{0xaa, 0x40, 0x01e0},
	{0xaa, 0x58, 0x0078},
	{0xaa, 0x62, 0x0411},
	{0xa0, 0x10, 0x0087},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x6c, 0x018d},
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x00, 0x0092},
	{0xa0, 0x02, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xa1, 0x01, 0x0095},
	{0xa1, 0x01, 0x0096},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x05, 0x0066},
	{0xaa, 0x09, 0x02b2},
	{0xaa, 0x10, 0x0002},

	{0xa0, 0x60, 0x011d},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0x8c, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x8a, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0xd7, 0x001d},
	{0xa0, 0xf0, 0x001e},
	{0xa0, 0xf8, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0007},
/*	{0xa0, 0x30, 0x0007}, */
/*	{0xa0, 0x00, 0x0007}, */
	{}
};

static const struct usb_action pb0330xx_InitialScale[] = {
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},	/* 00 */
	{0xa0, 0x0a, 0x0010},
	{0xa0, 0x00, 0x0002},	/* 10 */
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x07, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0x05, 0x0012},
	{0xaa, 0x01, 0x0006},
	{0xaa, 0x02, 0x0011},
	{0xaa, 0x03, 0x01e7},
	{0xaa, 0x04, 0x0287},
	{0xaa, 0x06, 0x0003},
	{0xaa, 0x07, 0x3002},
	{0xaa, 0x20, 0x1100},
	{0xaa, 0x2f, 0xf7b0},
	{0xaa, 0x30, 0x0005},
	{0xaa, 0x31, 0x0000},
	{0xaa, 0x34, 0x0100},
	{0xaa, 0x35, 0x0060},
	{0xaa, 0x3d, 0x068f},
	{0xaa, 0x40, 0x01e0},
	{0xaa, 0x58, 0x0078},
	{0xaa, 0x62, 0x0411},
	{0xa0, 0x10, 0x0087},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x6c, 0x018d},
	{0xa1, 0x01, 0x0002},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x00, 0x0092},
	{0xa0, 0x02, 0x0090},
	{0xa1, 0x01, 0x0091},
	{0xa1, 0x01, 0x0095},
	{0xa1, 0x01, 0x0096},
	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x50, 0x010a},	/* matrix */
	{0xa0, 0xf8, 0x010b},
	{0xa0, 0xf8, 0x010c},
	{0xa0, 0xf8, 0x010d},
	{0xa0, 0x50, 0x010e},
	{0xa0, 0xf8, 0x010f},
	{0xa0, 0xf8, 0x0110},
	{0xa0, 0xf8, 0x0111},
	{0xa0, 0x50, 0x0112},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0x05, 0x0066},
	{0xaa, 0x09, 0x02b2},
	{0xaa, 0x10, 0x0002},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0x8c, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x8a, 0x0197},
	{0xa0, 0x10, 0x018c},
	{0xa0, 0x20, 0x018f},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0xd7, 0x001d},
	{0xa0, 0xf0, 0x001e},
	{0xa0, 0xf8, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa1, 0x01, 0x0008},
	{0xa1, 0x01, 0x0007},
/*	{0xa0, 0x30, 0x0007}, */
/*	{0xa0, 0x00, 0x0007}, */
	{}
};
static const struct usb_action pb0330_50HZ[] = {
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
	{0xa0, 0xee, 0x0192}, /* 01,92,ee,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x46, 0x0197}, /* 01,97,46,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0x68, 0x001d}, /* 00,1d,68,cc */
	{0xa0, 0x90, 0x001e}, /* 00,1e,90,cc */
	{0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */
	{}
};
static const struct usb_action pb0330_50HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
	{0xa0, 0xa0, 0x0192}, /* 01,92,a0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x7a, 0x0197}, /* 01,97,7a,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0xe5, 0x001d}, /* 00,1d,e5,cc */
	{0xa0, 0xf0, 0x001e}, /* 00,1e,f0,cc */
	{0xa0, 0xf8, 0x001f}, /* 00,1f,f8,cc */
	{}
};
static const struct usb_action pb0330_60HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
	{0xa0, 0xdd, 0x0192}, /* 01,92,dd,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x3d, 0x0197}, /* 01,97,3d,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0x43, 0x001d}, /* 00,1d,43,cc */
	{0xa0, 0x50, 0x001e}, /* 00,1e,50,cc */
	{0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
	{}
};
static const struct usb_action pb0330_60HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
	{0xa0, 0xa0, 0x0192}, /* 01,92,a0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x7a, 0x0197}, /* 01,97,7a,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0x41, 0x001d}, /* 00,1d,41,cc */
	{0xa0, 0x50, 0x001e}, /* 00,1e,50,cc */
	{0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
	{}
};
static const struct usb_action pb0330_NoFliker[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0x09, 0x001d}, /* 00,1d,09,cc */
	{0xa0, 0x40, 0x001e}, /* 00,1e,40,cc */
	{0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
	{}
};
static const struct usb_action pb0330_NoFlikerScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0x09, 0x001d}, /* 00,1d,09,cc */
	{0xa0, 0x40, 0x001e}, /* 00,1e,40,cc */
	{0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
	{}
};

/* from oem9.inf - HKR,%PO2030%,Initial - 640x480 - (close to CS2102) */
static const struct usb_action PO2030_mode0[] = {
	{0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
	{0xa0, 0x04, 0x0002}, /* 00,02,04,cc */
	{0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
	{0xa0, 0x01, 0x0001}, /* 00,01,01,cc */
	{0xa0, 0x04, 0x0080}, /* 00,80,04,cc */
	{0xa0, 0x05, 0x0081}, /* 00,81,05,cc */
	{0xa0, 0x16, 0x0083}, /* 00,83,16,cc */
	{0xa0, 0x18, 0x0085}, /* 00,85,18,cc */
	{0xa0, 0x1a, 0x0086}, /* 00,86,1a,cc */
	{0xa0, 0x1b, 0x0087}, /* 00,87,1b,cc */
	{0xa0, 0x1c, 0x0088}, /* 00,88,1c,cc */
	{0xa0, 0xee, 0x008b}, /* 00,8b,ee,cc */
	{0xa0, 0x03, 0x0008}, /* 00,08,03,cc */
	{0xa0, 0x03, 0x0012}, /* 00,12,03,cc */
	{0xa0, 0x01, 0x0012}, /* 00,12,01,cc */
	{0xa0, 0x02, 0x0003}, /* 00,03,02,cc */
	{0xa0, 0x80, 0x0004}, /* 00,04,80,cc */
	{0xa0, 0x01, 0x0005}, /* 00,05,01,cc */
	{0xa0, 0xe0, 0x0006}, /* 00,06,e0,cc */
	{0xa0, 0x42, 0x0180}, /* 01,80,42,cc */
	{0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
	{0xa0, 0x00, 0x0098}, /* 00,98,00,cc */
	{0xa0, 0x00, 0x009a}, /* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a}, /* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c}, /* 01,1c,00,cc */
	{0xa0, 0xe6, 0x009c}, /* 00,9c,e6,cc */
	{0xa0, 0x86, 0x009e}, /* 00,9e,86,cc */
	{0xaa, 0x09, 0x00ce}, /* 00,09,ce,aa */
	{0xaa, 0x0b, 0x0005}, /* 00,0b,05,aa */
	{0xaa, 0x0d, 0x0054}, /* 00,0d,54,aa */
	{0xaa, 0x0f, 0x00eb}, /* 00,0f,eb,aa */
	{0xaa, 0x87, 0x0000}, /* 00,87,00,aa */
	{0xaa, 0x88, 0x0004}, /* 00,88,04,aa */
	{0xaa, 0x89, 0x0000}, /* 00,89,00,aa */
	{0xaa, 0x8a, 0x0005}, /* 00,8a,05,aa */
	{0xaa, 0x13, 0x0003}, /* 00,13,03,aa */
	{0xaa, 0x16, 0x0040}, /* 00,16,40,aa */
	{0xaa, 0x18, 0x0040}, /* 00,18,40,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x29, 0x00e8}, /* 00,29,e8,aa */
	{0xaa, 0x45, 0x0045}, /* 00,45,45,aa */
	{0xaa, 0x50, 0x00ed}, /* 00,50,ed,aa */
	{0xaa, 0x51, 0x0025}, /* 00,51,25,aa */
	{0xaa, 0x52, 0x0042}, /* 00,52,42,aa */
	{0xaa, 0x53, 0x002f}, /* 00,53,2f,aa */
	{0xaa, 0x79, 0x0025}, /* 00,79,25,aa */
	{0xaa, 0x7b, 0x0000}, /* 00,7b,00,aa */
	{0xaa, 0x7e, 0x0025}, /* 00,7e,25,aa */
	{0xaa, 0x7f, 0x0025}, /* 00,7f,25,aa */
	{0xaa, 0x21, 0x0000}, /* 00,21,00,aa */
	{0xaa, 0x33, 0x0036}, /* 00,33,36,aa */
	{0xaa, 0x36, 0x0060}, /* 00,36,60,aa */
	{0xaa, 0x37, 0x0008}, /* 00,37,08,aa */
	{0xaa, 0x3b, 0x0031}, /* 00,3b,31,aa */
	{0xaa, 0x44, 0x000f}, /* 00,44,0f,aa */
	{0xaa, 0x58, 0x0002}, /* 00,58,02,aa */
	{0xaa, 0x66, 0x00c0}, /* 00,66,c0,aa */
	{0xaa, 0x67, 0x0044}, /* 00,67,44,aa */
	{0xaa, 0x6b, 0x00a0}, /* 00,6b,a0,aa */
	{0xaa, 0x6c, 0x0054}, /* 00,6c,54,aa */
	{0xaa, 0xd6, 0x0007}, /* 00,d6,07,aa */
	{0xa0, 0xf7, 0x0101}, /* 01,01,f7,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xa0, 0x0d, 0x0100}, /* 01,00,0d,cc */
	{0xa0, 0x06, 0x0189}, /* 01,89,06,cc */
	{0xa0, 0x00, 0x01ad}, /* 01,ad,00,cc */
	{0xa0, 0x03, 0x01c5}, /* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb}, /* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250}, /* 02,50,08,cc */
	{0xa0, 0x08, 0x0301}, /* 03,01,08,cc */
	{0xa0, 0x7a, 0x0116}, /* 01,16,7a,cc */
	{0xa0, 0x4a, 0x0118}, /* 01,18,4a,cc */
	{}
};

/* from oem9.inf - HKR,%PO2030%,InitialScale - 320x240 */
static const struct usb_action PO2030_mode1[] = {
	{0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
	{0xa0, 0x10, 0x0002}, /* 00,02,10,cc */
	{0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
	{0xa0, 0x01, 0x0001}, /* 00,01,01,cc */
	{0xa0, 0x04, 0x0080}, /* 00,80,04,cc */
	{0xa0, 0x05, 0x0081}, /* 00,81,05,cc */
	{0xa0, 0x16, 0x0083}, /* 00,83,16,cc */
	{0xa0, 0x18, 0x0085}, /* 00,85,18,cc */
	{0xa0, 0x1a, 0x0086}, /* 00,86,1a,cc */
	{0xa0, 0x1b, 0x0087}, /* 00,87,1b,cc */
	{0xa0, 0x1c, 0x0088}, /* 00,88,1c,cc */
	{0xa0, 0xee, 0x008b}, /* 00,8b,ee,cc */
	{0xa0, 0x03, 0x0008}, /* 00,08,03,cc */
	{0xa0, 0x03, 0x0012}, /* 00,12,03,cc */
	{0xa0, 0x01, 0x0012}, /* 00,12,01,cc */
	{0xa0, 0x02, 0x0003}, /* 00,03,02,cc */
	{0xa0, 0x80, 0x0004}, /* 00,04,80,cc */
	{0xa0, 0x01, 0x0005}, /* 00,05,01,cc */
	{0xa0, 0xe0, 0x0006}, /* 00,06,e0,cc */
	{0xa0, 0x42, 0x0180}, /* 01,80,42,cc */
	{0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
	{0xa0, 0x00, 0x0098}, /* 00,98,00,cc */
	{0xa0, 0x00, 0x009a}, /* 00,9a,00,cc */
	{0xa0, 0x00, 0x011a}, /* 01,1a,00,cc */
	{0xa0, 0x00, 0x011c}, /* 01,1c,00,cc */
	{0xa0, 0xe8, 0x009c}, /* 00,9c,e8,cc */
	{0xa0, 0x88, 0x009e}, /* 00,9e,88,cc */
	{0xaa, 0x09, 0x00cc}, /* 00,09,cc,aa */
	{0xaa, 0x0b, 0x0005}, /* 00,0b,05,aa */
	{0xaa, 0x0d, 0x0058}, /* 00,0d,58,aa */
	{0xaa, 0x0f, 0x00ed}, /* 00,0f,ed,aa */
	{0xaa, 0x87, 0x0000}, /* 00,87,00,aa */
	{0xaa, 0x88, 0x0004}, /* 00,88,04,aa */
	{0xaa, 0x89, 0x0000}, /* 00,89,00,aa */
	{0xaa, 0x8a, 0x0005}, /* 00,8a,05,aa */
	{0xaa, 0x13, 0x0003}, /* 00,13,03,aa */
	{0xaa, 0x16, 0x0040}, /* 00,16,40,aa */
	{0xaa, 0x18, 0x0040}, /* 00,18,40,aa */
	{0xaa, 0x1d, 0x0002}, /* 00,1d,02,aa */
	{0xaa, 0x29, 0x00e8}, /* 00,29,e8,aa */
	{0xaa, 0x45, 0x0045}, /* 00,45,45,aa */
	{0xaa, 0x50, 0x00ed}, /* 00,50,ed,aa */
	{0xaa, 0x51, 0x0025}, /* 00,51,25,aa */
	{0xaa, 0x52, 0x0042}, /* 00,52,42,aa */
	{0xaa, 0x53, 0x002f}, /* 00,53,2f,aa */
	{0xaa, 0x79, 0x0025}, /* 00,79,25,aa */
	{0xaa, 0x7b, 0x0000}, /* 00,7b,00,aa */
	{0xaa, 0x7e, 0x0025}, /* 00,7e,25,aa */
	{0xaa, 0x7f, 0x0025}, /* 00,7f,25,aa */
	{0xaa, 0x21, 0x0000}, /* 00,21,00,aa */
	{0xaa, 0x33, 0x0036}, /* 00,33,36,aa */
	{0xaa, 0x36, 0x0060}, /* 00,36,60,aa */
	{0xaa, 0x37, 0x0008}, /* 00,37,08,aa */
	{0xaa, 0x3b, 0x0031}, /* 00,3b,31,aa */
	{0xaa, 0x44, 0x000f}, /* 00,44,0f,aa */
	{0xaa, 0x58, 0x0002}, /* 00,58,02,aa */
	{0xaa, 0x66, 0x00c0}, /* 00,66,c0,aa */
	{0xaa, 0x67, 0x0044}, /* 00,67,44,aa */
	{0xaa, 0x6b, 0x00a0}, /* 00,6b,a0,aa */
	{0xaa, 0x6c, 0x0054}, /* 00,6c,54,aa */
	{0xaa, 0xd6, 0x0007}, /* 00,d6,07,aa */
	{0xa0, 0xf7, 0x0101}, /* 01,01,f7,cc */
	{0xa0, 0x05, 0x0012}, /* 00,12,05,cc */
	{0xa0, 0x0d, 0x0100}, /* 01,00,0d,cc */
	{0xa0, 0x06, 0x0189}, /* 01,89,06,cc */
	{0xa0, 0x00, 0x01ad}, /* 01,ad,00,cc */
	{0xa0, 0x03, 0x01c5}, /* 01,c5,03,cc */
	{0xa0, 0x13, 0x01cb}, /* 01,cb,13,cc */
	{0xa0, 0x08, 0x0250}, /* 02,50,08,cc */
	{0xa0, 0x08, 0x0301}, /* 03,01,08,cc */
	{0xa0, 0x7a, 0x0116}, /* 01,16,7a,cc */
	{0xa0, 0x4a, 0x0118}, /* 01,18,4a,cc */
	{}
};

static const struct usb_action PO2030_50HZ[] = {
	{0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
	{0xaa, 0x1a, 0x0001}, /* 00,1a,01,aa */
	{0xaa, 0x1b, 0x000a}, /* 00,1b,0a,aa */
	{0xaa, 0x1c, 0x00b0}, /* 00,1c,b0,aa */
	{0xa0, 0x05, 0x0190}, /* 01,90,05,cc */
	{0xa0, 0x35, 0x0191}, /* 01,91,35,cc */
	{0xa0, 0x70, 0x0192}, /* 01,92,70,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x85, 0x0196}, /* 01,96,85,cc */
	{0xa0, 0x58, 0x0197}, /* 01,97,58,cc */
	{0xa0, 0x0c, 0x018c}, /* 01,8c,0c,cc */
	{0xa0, 0x18, 0x018f}, /* 01,8f,18,cc */
	{0xa0, 0x60, 0x01a8}, /* 01,a8,60,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x22, 0x01aa}, /* 01,aa,22,cc */
	{0xa0, 0x88, 0x018d}, /* 01,8d,88,cc */
	{0xa0, 0x58, 0x011d}, /* 01,1d,58,cc */
	{0xa0, 0x42, 0x0180}, /* 01,80,42,cc */
	{}
};

static const struct usb_action PO2030_60HZ[] = {
	{0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
	{0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */
	{0xaa, 0x1b, 0x00de}, /* 00,1b,de,aa */
	{0xaa, 0x1c, 0x0040}, /* 00,1c,40,aa */
	{0xa0, 0x08, 0x0190}, /* 01,90,08,cc */
	{0xa0, 0xae, 0x0191}, /* 01,91,ae,cc */
	{0xa0, 0x80, 0x0192}, /* 01,92,80,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x6f, 0x0196}, /* 01,96,6f,cc */
	{0xa0, 0x20, 0x0197}, /* 01,97,20,cc */
	{0xa0, 0x0c, 0x018c}, /* 01,8c,0c,cc */
	{0xa0, 0x18, 0x018f}, /* 01,8f,18,cc */
	{0xa0, 0x60, 0x01a8}, /* 01,a8,60,cc */
	{0xa0, 0x10, 0x01a9}, /* 01,a9,10,cc */
	{0xa0, 0x22, 0x01aa}, /* 01,aa,22,cc */
	{0xa0, 0x88, 0x018d}, /* 01,8d,88,cc */	/* win: 01,8d,80 */
	{0xa0, 0x58, 0x011d}, /* 01,1d,58,cc */
	{0xa0, 0x42, 0x0180}, /* 01,80,42,cc */
	{}
};

static const struct usb_action PO2030_NoFliker[] = {
	{0xa0, 0x02, 0x0180}, /* 01,80,02,cc */
	{0xaa, 0x8d, 0x000d}, /* 00,8d,0d,aa */
	{0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */
	{0xaa, 0x1b, 0x0002}, /* 00,1b,02,aa */
	{0xaa, 0x1c, 0x0078}, /* 00,1c,78,aa */
	{0xaa, 0x46, 0x0000}, /* 00,46,00,aa */
	{0xaa, 0x15, 0x0000}, /* 00,15,00,aa */
	{}
};

/* TEST */
static const struct usb_action tas5130CK_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x01, 0x003b},
	{0xa0, 0x0e, 0x003a},
	{0xa0, 0x01, 0x0038},
	{0xa0, 0x0b, 0x0039},
	{0xa0, 0x00, 0x0038},
	{0xa0, 0x0b, 0x0039},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0a, 0x0010},
	{0xa0, 0x10, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0xdc, 0x008b},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x07, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xdc, 0x008b},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x01, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x06, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x08, 0x0092},
	{0xa0, 0x83, 0x0093},
	{0xa0, 0x04, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x01, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x08, 0x0092},
	{0xa0, 0x06, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x02, 0x0092},
	{0xa0, 0x11, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x03, 0x0092},
	{0xa0, 0xE7, 0x0093},
	{0xa0, 0x01, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x04, 0x0092},
	{0xa0, 0x87, 0x0093},
	{0xa0, 0x02, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x07, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x30, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x51, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x35, 0x0092},
	{0xa0, 0x7F, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x30, 0x0092},
	{0xa0, 0x05, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x31, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x58, 0x0092},
	{0xa0, 0x78, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x62, 0x0092},
	{0xa0, 0x11, 0x0093},
	{0xa0, 0x04, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2B, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2c, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2D, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2e, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x10, 0x0087},
	{0xa0, 0xb7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x6c, 0x018d},
	{0xa0, 0x61, 0x0116},
	{0xa0, 0x65, 0x0118},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x4c, 0x010a},	/* matrix */
	{0xa0, 0xf1, 0x010b},
	{0xa0, 0x03, 0x010c},
	{0xa0, 0xfe, 0x010d},
	{0xa0, 0x51, 0x010e},
	{0xa0, 0xf1, 0x010f},
	{0xa0, 0xec, 0x0110},
	{0xa0, 0x03, 0x0111},
	{0xa0, 0x51, 0x0112},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x38, 0x0120},	/* gamma > 5 */
	{0xa0, 0x51, 0x0121},
	{0xa0, 0x6e, 0x0122},
	{0xa0, 0x8c, 0x0123},
	{0xa0, 0xa2, 0x0124},
	{0xa0, 0xb6, 0x0125},
	{0xa0, 0xc8, 0x0126},
	{0xa0, 0xd6, 0x0127},
	{0xa0, 0xe2, 0x0128},
	{0xa0, 0xed, 0x0129},
	{0xa0, 0xf5, 0x012a},
	{0xa0, 0xfc, 0x012b},
	{0xa0, 0xff, 0x012c},
	{0xa0, 0xff, 0x012d},
	{0xa0, 0xff, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x12, 0x0130},
	{0xa0, 0x1b, 0x0131},
	{0xa0, 0x1d, 0x0132},
	{0xa0, 0x1a, 0x0133},
	{0xa0, 0x15, 0x0134},
	{0xa0, 0x12, 0x0135},
	{0xa0, 0x0f, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x05, 0x013b},
	{0xa0, 0x00, 0x013c},
	{0xa0, 0x00, 0x013d},
	{0xa0, 0x00, 0x013e},
	{0xa0, 0x01, 0x013f},
	{0xa0, 0x4c, 0x010a},	/* matrix */
	{0xa0, 0xf1, 0x010b},
	{0xa0, 0x03, 0x010c},
	{0xa0, 0xfe, 0x010d},
	{0xa0, 0x51, 0x010e},
	{0xa0, 0xf1, 0x010f},
	{0xa0, 0xec, 0x0110},
	{0xa0, 0x03, 0x0111},
	{0xa0, 0x51, 0x0112},
	{0xa0, 0x10, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x05, 0x0092},
	{0xa0, 0x09, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x09, 0x0092},
	{0xa0, 0x34, 0x0093},
	{0xa0, 0x01, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x07, 0x0191},
	{0xa0, 0xd2, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x9a, 0x0197},
	{0xa0, 0x0e, 0x018c},
	{0xa0, 0x1c, 0x018f},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x66, 0x01aa},
	{0xa0, 0xd7, 0x001d},
	{0xa0, 0xf4, 0x001e},
	{0xa0, 0xf9, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x40, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};

static const struct usb_action tas5130CK_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x01, 0x003b},
	{0xa0, 0x0e, 0x003a},
	{0xa0, 0x01, 0x0038},
	{0xa0, 0x0b, 0x0039},
	{0xa0, 0x00, 0x0038},
	{0xa0, 0x0b, 0x0039},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x0a, 0x0010},
	{0xa0, 0x00, 0x0002},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0xdc, 0x008b},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x07, 0x0012},
	{0xa0, 0x00, 0x0098},
	{0xa0, 0x00, 0x009a},
	{0xa0, 0x00, 0x011a},
	{0xa0, 0x00, 0x011c},
	{0xa0, 0xdc, 0x008b},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x01, 0x0092},
	{0xa0, 0x01, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x06, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x08, 0x0092},
	{0xa0, 0x83, 0x0093},
	{0xa0, 0x04, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x01, 0x0092},
	{0xa0, 0x04, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x08, 0x0092},
	{0xa0, 0x06, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x02, 0x0092},
	{0xa0, 0x11, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x03, 0x0092},
	{0xa0, 0xe5, 0x0093},
	{0xa0, 0x01, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x04, 0x0092},
	{0xa0, 0x85, 0x0093},
	{0xa0, 0x02, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x07, 0x0092},
	{0xa0, 0x02, 0x0093},
	{0xa0, 0x30, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x20, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x51, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x35, 0x0092},
	{0xa0, 0x7F, 0x0093},
	{0xa0, 0x50, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x30, 0x0092},
	{0xa0, 0x05, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x31, 0x0092},
	{0xa0, 0x00, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x58, 0x0092},
	{0xa0, 0x78, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x62, 0x0092},
	{0xa0, 0x11, 0x0093},
	{0xa0, 0x04, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2B, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2C, 0x0092},
	{0xa0, 0x7F, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2D, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x2e, 0x0092},
	{0xa0, 0x7f, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x10, 0x0087},
	{0xa0, 0xb7, 0x0101},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x6c, 0x018d},
	{0xa0, 0x61, 0x0116},
	{0xa0, 0x65, 0x0118},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x4c, 0x010a},	/* matrix */
	{0xa0, 0xf1, 0x010b},
	{0xa0, 0x03, 0x010c},
	{0xa0, 0xfe, 0x010d},
	{0xa0, 0x51, 0x010e},
	{0xa0, 0xf1, 0x010f},
	{0xa0, 0xec, 0x0110},
	{0xa0, 0x03, 0x0111},
	{0xa0, 0x51, 0x0112},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */
	{0xa0, 0x38, 0x0120},	/* gamma > 5 */
	{0xa0, 0x51, 0x0121},
	{0xa0, 0x6e, 0x0122},
	{0xa0, 0x8c, 0x0123},
	{0xa0, 0xa2, 0x0124},
	{0xa0, 0xb6, 0x0125},
	{0xa0, 0xc8, 0x0126},
	{0xa0, 0xd6, 0x0127},
	{0xa0, 0xe2, 0x0128},
	{0xa0, 0xed, 0x0129},
	{0xa0, 0xf5, 0x012a},
	{0xa0, 0xfc, 0x012b},
	{0xa0, 0xff, 0x012c},
	{0xa0, 0xff, 0x012d},
	{0xa0, 0xff, 0x012e},
	{0xa0, 0xff, 0x012f},
	{0xa0, 0x12, 0x0130},
	{0xa0, 0x1b, 0x0131},
	{0xa0, 0x1d, 0x0132},
	{0xa0, 0x1a, 0x0133},
	{0xa0, 0x15, 0x0134},
	{0xa0, 0x12, 0x0135},
	{0xa0, 0x0f, 0x0136},
	{0xa0, 0x0d, 0x0137},
	{0xa0, 0x0b, 0x0138},
	{0xa0, 0x09, 0x0139},
	{0xa0, 0x07, 0x013a},
	{0xa0, 0x05, 0x013b},
	{0xa0, 0x00, 0x013c},
	{0xa0, 0x00, 0x013d},
	{0xa0, 0x00, 0x013e},
	{0xa0, 0x01, 0x013f},
	{0xa0, 0x4c, 0x010a},	/* matrix */
	{0xa0, 0xf1, 0x010b},
	{0xa0, 0x03, 0x010c},
	{0xa0, 0xfe, 0x010d},
	{0xa0, 0x51, 0x010e},
	{0xa0, 0xf1, 0x010f},
	{0xa0, 0xec, 0x0110},
	{0xa0, 0x03, 0x0111},
	{0xa0, 0x51, 0x0112},
	{0xa0, 0x10, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xa0, 0x05, 0x0092},
	{0xa0, 0x62, 0x0093},
	{0xa0, 0x00, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x09, 0x0092},
	{0xa0, 0xaa, 0x0093},
	{0xa0, 0x01, 0x0094},
	{0xa0, 0x01, 0x0090},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x03, 0x0191},
	{0xa0, 0x9b, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x47, 0x0197},
	{0xa0, 0x0e, 0x018c},
	{0xa0, 0x1c, 0x018f},
	{0xa0, 0x14, 0x01a9},
	{0xa0, 0x66, 0x01aa},
	{0xa0, 0x62, 0x001d},
	{0xa0, 0x90, 0x001e},
	{0xa0, 0xc8, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x60, 0x011d},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x09, 0x01ad},
	{0xa0, 0x15, 0x01ae},
	{0xa0, 0x40, 0x0180},
	{0xa0, 0x42, 0x0180},
	{0xa0, 0x30, 0x0007},
	{0xa0, 0x02, 0x0008},
	{0xa0, 0x00, 0x0007},
	{0xa0, 0x03, 0x0008},
	{}
};

static const struct usb_action tas5130cxx_Initial[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x50, 0x0002},
	{0xa0, 0x03, 0x0008},
	{0xa0, 0x02, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x00, 0x0001},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x07, 0x00a5},
	{0xa0, 0x02, 0x00a6},

	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},

	{0xa0, 0x04, 0x0098},
	{0xa0, 0x0f, 0x009a},
	{0xa0, 0x04, 0x011a},
	{0xa0, 0x0f, 0x011c},
	{0xa0, 0xe8, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x88, 0x009e},
	{0xa0, 0x06, 0x008d},
	{0xa0, 0xf7, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x68, 0x018d},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},
	{0xa0, 0x03, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x68, 0x010a},	/* matrix */
	{0xa0, 0xec, 0x010b},
	{0xa0, 0xec, 0x010c},
	{0xa0, 0xec, 0x010d},
	{0xa0, 0x68, 0x010e},
	{0xa0, 0xec, 0x010f},
	{0xa0, 0xec, 0x0110},
	{0xa0, 0xec, 0x0111},
	{0xa0, 0x68, 0x0112},

	{0xa1, 0x01, 0x018d},
	{0xa0, 0x90, 0x018d},	/* 90 */
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},

	{0xaa, 0xa3, 0x0001},
	{0xaa, 0xa4, 0x0077},
	{0xa0, 0x01, 0x00a3},
	{0xa0, 0x77, 0x00a4},

	{0xa0, 0x00, 0x0190},	/* 00 */
	{0xa0, 0x03, 0x0191},	/* 03 */
	{0xa0, 0xe8, 0x0192},	/* e8 */
	{0xa0, 0x00, 0x0195},	/* 0 */
	{0xa0, 0x00, 0x0196},	/* 0 */
	{0xa0, 0x7d, 0x0197},	/* 7d */

	{0xa0, 0x0c, 0x018c},
	{0xa0, 0x18, 0x018f},
	{0xa0, 0x08, 0x01a9},	/* 08 */
	{0xa0, 0x24, 0x01aa},	/* 24 */
	{0xa0, 0xf0, 0x001d},
	{0xa0, 0xf4, 0x001e},
	{0xa0, 0xf8, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x03, 0x009f},
	{0xa0, 0xc0, 0x00a0},
	{0xa0, 0x50, 0x011d},	/* 50 */
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};
static const struct usb_action tas5130cxx_InitialScale[] = {
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x01, 0x0000},
	{0xa0, 0x40, 0x0002},

	{0xa0, 0x03, 0x0008},
	{0xa1, 0x01, 0x0008},

	{0xa0, 0x02, 0x0010},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x00, 0x0001},
	{0xa0, 0x01, 0x0012},
	{0xa0, 0x01, 0x0001},
	{0xa0, 0x05, 0x0012},
	{0xa0, 0x07, 0x00a5},
	{0xa0, 0x02, 0x00a6},
	{0xa0, 0x02, 0x0003},
	{0xa0, 0x80, 0x0004},
	{0xa0, 0x01, 0x0005},
	{0xa0, 0xe0, 0x0006},
	{0xa0, 0x05, 0x0098},
	{0xa0, 0x0f, 0x009a},
	{0xa0, 0x05, 0x011a},
	{0xa0, 0x0f, 0x011c},
	{0xa0, 0xe6, 0x009c},
	{0xa0, 0x02, 0x009d},
	{0xa0, 0x86, 0x009e},
	{0xa0, 0x06, 0x008d},
	{0xa0, 0x37, 0x0101},
	{0xa0, 0x0d, 0x0100},
	{0xa0, 0x06, 0x0189},
	{0xa0, 0x68, 0x018d},
	{0xa0, 0x60, 0x01a8},
	{0xa0, 0x00, 0x01ad},
	{0xa0, 0x03, 0x01c5},
	{0xa0, 0x13, 0x01cb},
	{0xa0, 0x08, 0x0250},
	{0xa0, 0x08, 0x0301},
	{0xa1, 0x01, 0x0002},
	{0xa1, 0x01, 0x0008},

	{0xa0, 0x03, 0x0008},
	{0xa1, 0x01, 0x0008},	/* clock ? */
	{0xa0, 0x08, 0x01c6},	/* sharpness+ */
	{0xa1, 0x01, 0x01c8},
	{0xa1, 0x01, 0x01c9},
	{0xa1, 0x01, 0x01ca},
	{0xa0, 0x0f, 0x01cb},	/* sharpness- */

	{0xa0, 0x68, 0x010a},	/* matrix */
	{0xa0, 0xec, 0x010b},
	{0xa0, 0xec, 0x010c},
	{0xa0, 0xec, 0x010d},
	{0xa0, 0x68, 0x010e},
	{0xa0, 0xec, 0x010f},
	{0xa0, 0xec, 0x0110},
	{0xa0, 0xec, 0x0111},
	{0xa0, 0x68, 0x0112},

	{0xa1, 0x01, 0x018d},
	{0xa0, 0x90, 0x018d},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x00, 0x0180},
	{0xa0, 0x00, 0x0019},
	{0xaa, 0xa3, 0x0001},
	{0xaa, 0xa4, 0x0063},
	{0xa0, 0x01, 0x00a3},
	{0xa0, 0x63, 0x00a4},
	{0xa0, 0x00, 0x0190},
	{0xa0, 0x02, 0x0191},
	{0xa0, 0x38, 0x0192},
	{0xa0, 0x00, 0x0195},
	{0xa0, 0x00, 0x0196},
	{0xa0, 0x47, 0x0197},
	{0xa0, 0x0c, 0x018c},
	{0xa0, 0x18, 0x018f},
	{0xa0, 0x08, 0x01a9},
	{0xa0, 0x24, 0x01aa},
	{0xa0, 0xd3, 0x001d},
	{0xa0, 0xda, 0x001e},
	{0xa0, 0xea, 0x001f},
	{0xa0, 0xff, 0x0020},
	{0xa0, 0x03, 0x009f},
	{0xa0, 0x4c, 0x00a0},
	{0xa0, 0x50, 0x011d},
	{0xa0, 0x40, 0x0180},
	{0xa1, 0x01, 0x0180},
	{0xa0, 0x42, 0x0180},
	{}
};
static const struct usb_action tas5130cxx_50HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
	{0xaa, 0xa4, 0x0063}, /* 00,a4,63,aa */
	{0xa0, 0x01, 0x00a3}, /* 00,a3,01,cc */
	{0xa0, 0x63, 0x00a4}, /* 00,a4,63,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x02, 0x0191}, /* 01,91,02,cc */
	{0xa0, 0x38, 0x0192}, /* 01,92,38,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x47, 0x0197}, /* 01,97,47,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0xd3, 0x001d}, /* 00,1d,d3,cc */
	{0xa0, 0xda, 0x001e}, /* 00,1e,da,cc */
	{0xa0, 0xea, 0x001f}, /* 00,1f,ea,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
	{}
};
static const struct usb_action tas5130cxx_50HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
	{0xaa, 0xa4, 0x0077}, /* 00,a4,77,aa */
	{0xa0, 0x01, 0x00a3}, /* 00,a3,01,cc */
	{0xa0, 0x77, 0x00a4}, /* 00,a4,77,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x03, 0x0191}, /* 01,91,03,cc */
	{0xa0, 0xe8, 0x0192}, /* 01,92,e8,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x7d, 0x0197}, /* 01,97,7d,cc */
	{0xa0, 0x14, 0x018c}, /* 01,8c,14,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0xf0, 0x001d}, /* 00,1d,f0,cc */
	{0xa0, 0xf4, 0x001e}, /* 00,1e,f4,cc */
	{0xa0, 0xf8, 0x001f}, /* 00,1f,f8,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
	{}
};
static const struct usb_action tas5130cxx_60HZ[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
	{0xaa, 0xa4, 0x0036}, /* 00,a4,36,aa */
	{0xa0, 0x01, 0x00a3}, /* 00,a3,01,cc */
	{0xa0, 0x36, 0x00a4}, /* 00,a4,36,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x01, 0x0191}, /* 01,91,01,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x3e, 0x0197}, /* 01,97,3e,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0xca, 0x001d}, /* 00,1d,ca,cc */
	{0xa0, 0xd0, 0x001e}, /* 00,1e,d0,cc */
	{0xa0, 0xe0, 0x001f}, /* 00,1f,e0,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
	{}
};
static const struct usb_action tas5130cxx_60HZScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
	{0xaa, 0xa4, 0x0077}, /* 00,a4,77,aa */
	{0xa0, 0x01, 0x00a3}, /* 00,a3,01,cc */
	{0xa0, 0x77, 0x00a4}, /* 00,a4,77,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x03, 0x0191}, /* 01,91,03,cc */
	{0xa0, 0xe8, 0x0192}, /* 01,92,e8,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x7d, 0x0197}, /* 01,97,7d,cc */
	{0xa0, 0x14, 0x018c}, /* 01,8c,14,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x0c, 0x01a9}, /* 01,a9,0c,cc */
	{0xa0, 0x26, 0x01aa}, /* 01,aa,26,cc */
	{0xa0, 0xc8, 0x001d}, /* 00,1d,c8,cc */
	{0xa0, 0xd0, 0x001e}, /* 00,1e,d0,cc */
	{0xa0, 0xe0, 0x001f}, /* 00,1f,e0,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
	{}
};
static const struct usb_action tas5130cxx_NoFliker[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
	{0xaa, 0xa4, 0x0040}, /* 00,a4,40,aa */
	{0xa0, 0x01, 0x00a3}, /* 00,a3,01,cc */
	{0xa0, 0x40, 0x00a4}, /* 00,a4,40,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x01, 0x0191}, /* 01,91,01,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0xbc, 0x001d}, /* 00,1d,bc,cc */
	{0xa0, 0xd0, 0x001e}, /* 00,1e,d0,cc */
	{0xa0, 0xe0, 0x001f}, /* 00,1f,e0,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x02, 0x009f}, /* 00,9f,02,cc */
	{}
};

static const struct usb_action tas5130cxx_NoFlikerScale[] = {
	{0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
	{0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
	{0xaa, 0xa4, 0x0090}, /* 00,a4,90,aa */
	{0xa0, 0x01, 0x00a3}, /* 00,a3,01,cc */
	{0xa0, 0x90, 0x00a4}, /* 00,a4,90,cc */
	{0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
	{0xa0, 0x03, 0x0191}, /* 01,91,03,cc */
	{0xa0, 0xf0, 0x0192}, /* 01,92,f0,cc */
	{0xa0, 0x00, 0x0195}, /* 01,95,00,cc */
	{0xa0, 0x00, 0x0196}, /* 01,96,00,cc */
	{0xa0, 0x10, 0x0197}, /* 01,97,10,cc */
	{0xa0, 0x10, 0x018c}, /* 01,8c,10,cc */
	{0xa0, 0x20, 0x018f}, /* 01,8f,20,cc */
	{0xa0, 0x00, 0x01a9}, /* 01,a9,00,cc */
	{0xa0, 0x00, 0x01aa}, /* 01,aa,00,cc */
	{0xa0, 0xbc, 0x001d}, /* 00,1d,bc,cc */
	{0xa0, 0xd0, 0x001e}, /* 00,1e,d0,cc */
	{0xa0, 0xe0, 0x001f}, /* 00,1f,e0,cc */
	{0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
	{0xa0, 0x02, 0x009f}, /* 00,9f,02,cc */
	{}
};

static const struct usb_action tas5130c_vf0250_Initial[] = {
	{0xa0, 0x01, 0x0000},		/* 00,00,01,cc, */
	{0xa0, 0x02, 0x0008},		/* 00,08,02,cc, */
	{0xa0, 0x01, 0x0010},		/* 00,10,01,cc, */
	{0xa0, 0x10, 0x0002},		/* 00,02,00,cc,  0<->10 */
	{0xa0, 0x02, 0x0003},		/* 00,03,02,cc, */
	{0xa0, 0x80, 0x0004},		/* 00,04,80,cc, */
	{0xa0, 0x01, 0x0005},		/* 00,05,01,cc, */
	{0xa0, 0xe0, 0x0006},		/* 00,06,e0,cc, */
	{0xa0, 0x98, 0x008b},		/* 00,8b,98,cc, */
	{0xa0, 0x01, 0x0001},		/* 00,01,01,cc, */
	{0xa0, 0x03, 0x0012},		/* 00,12,03,cc, */
	{0xa0, 0x01, 0x0012},		/* 00,12,01,cc, */
	{0xa0, 0x00, 0x0098},		/* 00,98,00,cc, */
	{0xa0, 0x00, 0x009a},		/* 00,9a,00,cc, */
	{0xa0, 0x00, 0x011a},		/* 01,1a,00,cc, */
	{0xa0, 0x00, 0x011c},		/* 01,1c,00,cc, */
	{0xa0, 0xe8, 0x009c},		/* 00,9c,e6,cc,  6<->8 */
	{0xa0, 0x88, 0x009e},		/* 00,9e,86,cc,  6<->8 */
	{0xa0, 0x10, 0x0087},		/* 00,87,10,cc, */
	{0xa0, 0x98, 0x008b},		/* 00,8b,98,cc, */
	{0xaa, 0x1b, 0x0024},		/* 00,1b,24,aa, */
	{0xdd, 0x00, 0x0080},		/* 00,00,80,dd, */
	{0xaa, 0x1b, 0x0000},		/* 00,1b,00,aa, */
	{0xaa, 0x13, 0x0002},		/* 00,13,02,aa, */
	{0xaa, 0x15, 0x0004},		/* 00,15,04,aa */
	{0xaa, 0x01, 0x0000},
	{0xaa, 0x01, 0x0000},
	{0xaa, 0x1a, 0x0000},		/* 00,1a,00,aa, */
	{0xaa, 0x1c, 0x0017},		/* 00,1c,17,aa, */
	{0xa0, 0x82, 0x0086},		/* 00,86,82,cc, */
	{0xa0, 0x83, 0x0087},		/* 00,87,83,cc, */
	{0xa0, 0x84, 0x0088},		/* 00,88,84,cc, */
	{0xaa, 0x05, 0x0010},		/* 00,05,10,aa, */
	{0xaa, 0x0a, 0x0000},		/* 00,0a,00,aa, */
	{0xaa, 0x0b, 0x00a0},		/* 00,0b,a0,aa, */
	{0xaa, 0x0c, 0x0000},		/* 00,0c,00,aa, */
	{0xaa, 0x0d, 0x00a0},		/* 00,0d,a0,aa, */
	{0xaa, 0x0e, 0x0000},		/* 00,0e,00,aa, */
	{0xaa, 0x0f, 0x00a0},		/* 00,0f,a0,aa, */
	{0xaa, 0x10, 0x0000},		/* 00,10,00,aa, */
	{0xaa, 0x11, 0x00a0},		/* 00,11,a0,aa, */
	{0xa0, 0x00, 0x0039},
	{0xa1, 0x01, 0x0037},
	{0xaa, 0x16, 0x0001},		/* 00,16,01,aa, */
	{0xaa, 0x17, 0x00e8},		/* 00,17,e6,aa, (e6 -> e8) */
	{0xaa, 0x18, 0x0002},		/* 00,18,02,aa, */
	{0xaa, 0x19, 0x0088},		/* 00,19,86,aa, */
	{0xaa, 0x20, 0x0020},		/* 00,20,20,aa, */
	{0xa0, 0xb7, 0x0101},		/* 01,01,b7,cc, */
	{0xa0, 0x05, 0x0012},		/* 00,12,05,cc, */
	{0xa0, 0x0d, 0x0100},		/* 01,00,0d,cc, */
	{0xa0, 0x76, 0x0189},		/* 01,89,76,cc, */
	{0xa0, 0x09, 0x01ad},		/* 01,ad,09,cc, */
	{0xa0, 0x03, 0x01c5},		/* 01,c5,03,cc, */
	{0xa0, 0x13, 0x01cb},		/* 01,cb,13,cc, */
	{0xa0, 0x08, 0x0250},		/* 02,50,08,cc, */
	{0xa0, 0x08, 0x0301},		/* 03,01,08,cc, */
	{0xa0, 0x60, 0x01a8},		/* 01,a8,60,cc, */
	{0xa0, 0x61, 0x0116},		/* 01,16,61,cc, */
	{0xa0, 0x65, 0x0118},		/* 01,18,65,cc */
	{}
};

static const struct usb_action tas5130c_vf0250_InitialScale[] = {
	{0xa0, 0x01, 0x0000},		/* 00,00,01,cc, */
	{0xa0, 0x02, 0x0008},		/* 00,08,02,cc, */
	{0xa0, 0x01, 0x0010},		/* 00,10,01,cc, */
	{0xa0, 0x00, 0x0002},		/* 00,02,10,cc, */
	{0xa0, 0x02, 0x0003},		/* 00,03,02,cc, */
	{0xa0, 0x80, 0x0004},		/* 00,04,80,cc, */
	{0xa0, 0x01, 0x0005},		/* 00,05,01,cc, */
	{0xa0, 0xe0, 0x0006},		/* 00,06,e0,cc, */
	{0xa0, 0x98, 0x008b},		/* 00,8b,98,cc, */
	{0xa0, 0x01, 0x0001},		/* 00,01,01,cc, */
	{0xa0, 0x03, 0x0012},		/* 00,12,03,cc, */
	{0xa0, 0x01, 0x0012},		/* 00,12,01,cc, */
	{0xa0, 0x00, 0x0098},		/* 00,98,00,cc, */
	{0xa0, 0x00, 0x009a},		/* 00,9a,00,cc, */
	{0xa0, 0x00, 0x011a},		/* 01,1a,00,cc, */
	{0xa0, 0x00, 0x011c},		/* 01,1c,00,cc, */
	{0xa0, 0xe8, 0x009c},		/* 00,9c,e8,cc, 8<->6 */
	{0xa0, 0x88, 0x009e},		/* 00,9e,88,cc, 8<->6 */
	{0xa0, 0x10, 0x0087},		/* 00,87,10,cc, */
	{0xa0, 0x98, 0x008b},		/* 00,8b,98,cc, */
	{0xaa, 0x1b, 0x0024},		/* 00,1b,24,aa, */
	{0xdd, 0x00, 0x0080},		/* 00,00,80,dd, */
	{0xaa, 0x1b, 0x0000},		/* 00,1b,00,aa, */
	{0xaa, 0x13, 0x0002},		/* 00,13,02,aa, */
	{0xaa, 0x15, 0x0004},		/* 00,15,04,aa */
	{0xaa, 0x01, 0x0000},
	{0xaa, 0x01, 0x0000},
	{0xaa, 0x1a, 0x0000},		/* 00,1a,00,aa, */
	{0xaa, 0x1c, 0x0017},		/* 00,1c,17,aa, */
	{0xa0, 0x82, 0x0086},		/* 00,86,82,cc, */
	{0xa0, 0x83, 0x0087},		/* 00,87,83,cc, */
	{0xa0, 0x84, 0x0088},		/* 00,88,84,cc, */
	{0xaa, 0x05, 0x0010},		/* 00,05,10,aa, */
	{0xaa, 0x0a, 0x0000},		/* 00,0a,00,aa, */
	{0xaa, 0x0b, 0x00a0},		/* 00,0b,a0,aa, */
	{0xaa, 0x0c, 0x0000},		/* 00,0c,00,aa, */
	{0xaa, 0x0d, 0x00a0},		/* 00,0d,a0,aa, */
	{0xaa, 0x0e, 0x0000},		/* 00,0e,00,aa, */
	{0xaa, 0x0f, 0x00a0},		/* 00,0f,a0,aa, */
	{0xaa, 0x10, 0x0000},		/* 00,10,00,aa, */
	{0xaa, 0x11, 0x00a0},		/* 00,11,a0,aa, */
	{0xa0, 0x00, 0x0039},
	{0xa1, 0x01, 0x0037},
	{0xaa, 0x16, 0x0001},		/* 00,16,01,aa, */
	{0xaa, 0x17, 0x00e8},		/* 00,17,e6,aa (e6 -> e8) */
	{0xaa, 0x18, 0x0002},		/* 00,18,02,aa, */
	{0xaa, 0x19, 0x0088},		/* 00,19,88,aa, */
	{0xaa, 0x20, 0x0020},		/* 00,20,20,aa, */
	{0xa0, 0xb7, 0x0101},		/* 01,01,b7,cc, */
	{0xa0, 0x05, 0x0012},		/* 00,12,05,cc, */
	{0xa0, 0x0d, 0x0100},		/* 01,00,0d,cc, */
	{0xa0, 0x76, 0x0189},		/* 01,89,76,cc, */
	{0xa0, 0x09, 0x01ad},		/* 01,ad,09,cc, */
	{0xa0, 0x03, 0x01c5},		/* 01,c5,03,cc, */
	{0xa0, 0x13, 0x01cb},		/* 01,cb,13,cc, */
	{0xa0, 0x08, 0x0250},		/* 02,50,08,cc, */
	{0xa0, 0x08, 0x0301},		/* 03,01,08,cc, */
	{0xa0, 0x60, 0x01a8},		/* 01,a8,60,cc, */
	{0xa0, 0x61, 0x0116},		/* 01,16,61,cc, */
	{0xa0, 0x65, 0x0118},		/* 01,18,65,cc */
	{}
};
/* "50HZ" light frequency banding filter */
static const struct usb_action tas5130c_vf0250_50HZ[] = {
	{0xaa, 0x82, 0x0000},		/* 00,82,00,aa */
	{0xaa, 0x83, 0x0001},		/* 00,83,01,aa */
	{0xaa, 0x84, 0x00aa},		/* 00,84,aa,aa */
	{0xa0, 0x00, 0x0190},		/* 01,90,00,cc, */
	{0xa0, 0x06, 0x0191},		/* 01,91,0d,cc, */
	{0xa0, 0xa8, 0x0192},		/* 01,92,50,cc, */
	{0xa0, 0x00, 0x0195},		/* 01,95,00,cc, */
	{0xa0, 0x00, 0x0196},		/* 01,96,00,cc, */
	{0xa0, 0x8e, 0x0197},		/* 01,97,47,cc, */
	{0xa0, 0x0e, 0x018c},		/* 01,8c,0e,cc, */
	{0xa0, 0x15, 0x018f},		/* 01,8f,15,cc, */
	{0xa0, 0x10, 0x01a9},		/* 01,a9,10,cc, */
	{0xa0, 0x24, 0x01aa},		/* 01,aa,24,cc, */
	{0xa0, 0x62, 0x001d},		/* 00,1d,62,cc, */
	{0xa0, 0x90, 0x001e},		/* 00,1e,90,cc, */
	{0xa0, 0xc8, 0x001f},		/* 00,1f,c8,cc, */
	{0xa0, 0xff, 0x0020},		/* 00,20,ff,cc, */
	{0xa0, 0x58, 0x011d},		/* 01,1d,58,cc, */
	{0xa0, 0x42, 0x0180},		/* 01,80,42,cc, */
	{0xa0, 0x78, 0x018d},		/* 01,8d,78,cc */
	{}
};

/* "50HZScale" light frequency banding filter */
static const struct usb_action tas5130c_vf0250_50HZScale[] = {
	{0xaa, 0x82, 0x0000},		/* 00,82,00,aa */
	{0xaa, 0x83, 0x0003},		/* 00,83,03,aa */
	{0xaa, 0x84, 0x0054},		/* 00,84,54,aa */
	{0xa0, 0x00, 0x0190},		/* 01,90,00,cc, */
	{0xa0, 0x0d, 0x0191},		/* 01,91,0d,cc, */
	{0xa0, 0x50, 0x0192},		/* 01,92,50,cc, */
	{0xa0, 0x00, 0x0195},		/* 01,95,00,cc, */
	{0xa0, 0x00, 0x0196},		/* 01,96,00,cc, */
	{0xa0, 0x8e, 0x0197},		/* 01,97,8e,cc, */
	{0xa0, 0x0e, 0x018c},		/* 01,8c,0e,cc, */
	{0xa0, 0x15, 0x018f},		/* 01,8f,15,cc, */
	{0xa0, 0x10, 0x01a9},		/* 01,a9,10,cc, */
	{0xa0, 0x24, 0x01aa},		/* 01,aa,24,cc, */
	{0xa0, 0x62, 0x001d},		/* 00,1d,62,cc, */
	{0xa0, 0x90, 0x001e},		/* 00,1e,90,cc, */
	{0xa0, 0xc8, 0x001f},		/* 00,1f,c8,cc, */
	{0xa0, 0xff, 0x0020},		/* 00,20,ff,cc, */
	{0xa0, 0x58, 0x011d},		/* 01,1d,58,cc, */
	{0xa0, 0x42, 0x0180},		/* 01,80,42,cc, */
	{0xa0, 0x78, 0x018d},		/* 01,8d,78,cc */
	{}
};

/* "60HZ" light frequency banding filter */
static const struct usb_action tas5130c_vf0250_60HZ[] = {
	{0xaa, 0x82, 0x0000},		/* 00,82,00,aa */
	{0xaa, 0x83, 0x0001},		/* 00,83,01,aa */
	{0xaa, 0x84, 0x0062},		/* 00,84,62,aa */
	{0xa0, 0x00, 0x0190},		/* 01,90,00,cc, */
	{0xa0, 0x05, 0x0191},		/* 01,91,05,cc, */
	{0xa0, 0x88, 0x0192},		/* 01,92,88,cc, */
	{0xa0, 0x00, 0x0195},		/* 01,95,00,cc, */
	{0xa0, 0x00, 0x0196},		/* 01,96,00,cc, */
	{0xa0, 0x3b, 0x0197},		/* 01,97,3b,cc, */
	{0xa0, 0x0e, 0x018c},		/* 01,8c,0e,cc, */
	{0xa0, 0x15, 0x018f},		/* 01,8f,15,cc, */
	{0xa0, 0x10, 0x01a9},		/* 01,a9,10,cc, */
	{0xa0, 0x24, 0x01aa},		/* 01,aa,24,cc, */
	{0xa0, 0x62, 0x001d},		/* 00,1d,62,cc, */
	{0xa0, 0x90, 0x001e},		/* 00,1e,90,cc, */
	{0xa0, 0xc8, 0x001f},		/* 00,1f,c8,cc, */
	{0xa0, 0xff, 0x0020},		/* 00,20,ff,cc, */
	{0xa0, 0x58, 0x011d},		/* 01,1d,58,cc, */
	{0xa0, 0x42, 0x0180},		/* 01,80,42,cc, */
	{0xa0, 0x78, 0x018d},		/* 01,8d,78,cc */
	{}
};

/* "60HZScale" light frequency banding ilter */
static const struct usb_action tas5130c_vf0250_60HZScale[] = {
	{0xaa, 0x82, 0x0000},		/* 00,82,00,aa */
	{0xaa, 0x83, 0x0002},		/* 00,83,02,aa */
	{0xaa, 0x84, 0x00c4},		/* 00,84,c4,aa */
	{0xa0, 0x00, 0x0190},		/* 01,90,00,cc, */
	{0xa0, 0x0b, 0x0191},		/* 01,1,0b,cc, */
	{0xa0, 0x10, 0x0192},		/* 01,2,10,cc, */
	{0xa0, 0x00, 0x0195},		/* 01,5,00,cc, */
	{0xa0, 0x00, 0x0196},		/* 01,6,00,cc, */
	{0xa0, 0x76, 0x0197},		/* 01,7,76,cc, */
	{0xa0, 0x0e, 0x018c},		/* 01,c,0e,cc, */
	{0xa0, 0x15, 0x018f},		/* 01,f,15,cc, */
	{0xa0, 0x10, 0x01a9},		/* 01,9,10,cc, */
	{0xa0, 0x24, 0x01aa},		/* 01,a,24,cc, */
	{0xa0, 0x62, 0x001d},		/* 00,d,62,cc, */
	{0xa0, 0x90, 0x001e},		/* 00,e,90,cc, */
	{0xa0, 0xc8, 0x001f},		/* 00,f,c8,cc, */
	{0xa0, 0xff, 0x0020},		/* 00,0,ff,cc, */
	{0xa0, 0x58, 0x011d},		/* 01,d,58,cc, */
	{0xa0, 0x42, 0x0180},		/* 01,80,42,cc, */
	{0xa0, 0x78, 0x018d},		/* 01,d,78,cc */
	{}
};

/* "NoFliker" light frequency banding flter */
static const struct usb_action tas5130c_vf0250_NoFliker[] = {
	{0xa0, 0x0c, 0x0100},		/* 01,00,0c,cc, */
	{0xaa, 0x82, 0x0000},		/* 00,82,00,aa */
	{0xaa, 0x83, 0x0000},		/* 00,83,00,aa */
	{0xaa, 0x84, 0x0020},		/* 00,84,20,aa */
	{0xa0, 0x00, 0x0190},		/* 01,0,00,cc, */
	{0xa0, 0x05, 0x0191},		/* 01,91,05,cc, */
	{0xa0, 0x88, 0x0192},		/* 01,92,88,cc, */
	{0xa0, 0x00, 0x0195},		/* 01,95,00,cc, */
	{0xa0, 0x00, 0x0196},		/* 01,96,00,cc, */
	{0xa0, 0x10, 0x0197},		/* 01,97,10,cc, */
	{0xa0, 0x0e, 0x018c},		/* 01,8c,0e,cc, */
	{0xa0, 0x15, 0x018f},		/* 01,8f,15,cc, */
	{0xa0, 0x62, 0x001d},		/* 00,1d,62,cc, */
	{0xa0, 0x90, 0x001e},		/* 00,1e,90,cc, */
	{0xa0, 0xc8, 0x001f},		/* 00,1f,c8,cc, */
	{0xa0, 0xff, 0x0020},		/* 00,20,ff,cc, */
	{0xa0, 0x58, 0x011d},		/* 01,1d,58,cc, */
	{0xa0, 0x03, 0x0180},		/* 01,80,03,cc */
	{}
};

/* "NoFlikerScale" light frequency banding filter */
static const struct usb_action tas5130c_vf0250_NoFlikerScale[] = {
	{0xa0, 0x0c, 0x0100},		/* 01,00,0c,cc, */
	{0xaa, 0x82, 0x0000},		/* 00,82,00,aa */
	{0xaa, 0x83, 0x0000},		/* 00,83,00,aa */
	{0xaa, 0x84, 0x0020},		/* 00,84,20,aa */
	{0xa0, 0x00, 0x0190},		/* 01,90,00,cc, */
	{0xa0, 0x0b, 0x0191},		/* 01,91,0b,cc, */
	{0xa0, 0x10, 0x0192},		/* 01,92,10,cc, */
	{0xa0, 0x00, 0x0195},		/* 01,95,00,cc, */
	{0xa0, 0x00, 0x0196},		/* 01,96,00,cc, */
	{0xa0, 0x10, 0x0197},		/* 01,97,10,cc, */
	{0xa0, 0x0e, 0x018c},		/* 01,8c,0e,cc, */
	{0xa0, 0x15, 0x018f},		/* 01,8f,15,cc, */
	{0xa0, 0x62, 0x001d},		/* 00,1d,62,cc, */
	{0xa0, 0x90, 0x001e},		/* 00,1e,90,cc, */
	{0xa0, 0xc8, 0x001f},		/* 00,1f,c8,cc, */
	{0xa0, 0xff, 0x0020},		/* 00,20,ff,cc, */
	{0xa0, 0x58, 0x011d},		/* 01,1d,58,cc, */
	{0xa0, 0x03, 0x0180},		/* 01,80,03,cc */
	{}
};

static void reg_r_i(struct usb_device *dev,
		__u16 index, __u8 *buffer)
{
	usb_control_msg(dev,
			usb_rcvctrlpipe(dev, 0),
			0xa1,
			USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
			0x01,			/* value */
			index, buffer, 1,
			500);
}

static void reg_r(struct usb_device *dev,
		__u16 index, __u8 *buffer)
{
	reg_r_i(dev, index, buffer);
	PDEBUG(D_USBI, "reg r [%04x] -> %02x", index, *buffer);
}

static void reg_w_i(struct usb_device *dev,
			__u8 value,
			__u16 index)
{
	usb_control_msg(dev,
			usb_sndctrlpipe(dev, 0),
			0xa0,
			USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
			value, index, NULL, 0,
			500);
}

static void reg_w(struct usb_device *dev,
			__u8 value,
			__u16 index)
{
	PDEBUG(D_USBO, "reg w %02x -> [%04x]", value, index);
	reg_w_i(dev, value, index);
}

static __u16 i2c_read(struct usb_device *dev, __u8 reg)
{
	__u8 retbyte;
	__u8 retval[2];

	reg_w_i(dev, reg, 0x92);
	reg_w_i(dev, 0x02, 0x90);		/* <- read command */
	msleep(25);
	reg_r_i(dev, 0x0091, &retbyte);		/* read status */
	reg_r_i(dev, 0x0095, &retval[0]);	/* read Lowbyte */
	reg_r_i(dev, 0x0096, &retval[1]);	/* read Hightbyte */
	PDEBUG(D_USBO, "i2c r [%02x] -> (%02x) %02x%02x",
			reg, retbyte, retval[1], retval[0]);
	return (retval[1] << 8) | retval[0];
}

static __u8 i2c_write(struct usb_device *dev,
			__u8 reg,
			__u8 valL,
			__u8 valH)
{
	__u8 retbyte;

	reg_w_i(dev, reg, 0x92);
	reg_w_i(dev, valL, 0x93);
	reg_w_i(dev, valH, 0x94);
	reg_w_i(dev, 0x01, 0x90);		/* <- write command */
	msleep(5);
	reg_r_i(dev, 0x0091, &retbyte);		/* read status */
	PDEBUG(D_USBO, "i2c w [%02x] %02x%02x (%02x)",
			reg, valH, valL, retbyte);
	return retbyte;
}

static void usb_exchange(struct usb_device *dev,
			const struct usb_action *action)
{
	__u8 buffread;

	while (action->req) {
		switch (action->req) {
		case 0xa0:	/* write register */
			reg_w(dev, action->val, action->idx);
			break;
		case 0xa1:	/* read status */
			reg_r(dev, action->idx, &buffread);
			break;
		case 0xaa:
			i2c_write(dev,
				  action->val,			/* reg */
				  action->idx & 0xff,		/* valL */
				  action->idx >> 8);		/* valH */
			break;
		default:
/*		case 0xdd:	 * delay */
			msleep(action->val / 64 + 10);
			break;
		}
		action++;
/*		msleep(1); */
	}
}

static void setmatrix(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	int i;
	const __u8 *matrix;
	static const __u8 gc0305_matrix[9] =
		{0x50, 0xf8, 0xf8, 0xf8, 0x50, 0xf8, 0xf8, 0xf8, 0x50};
	static const __u8 ov7620_matrix[9] =
		{0x58, 0xf4, 0xf4, 0xf4, 0x58, 0xf4, 0xf4, 0xf4, 0x58};
	static const __u8 po2030_matrix[9] =
		{0x60, 0xf0, 0xf0, 0xf0, 0x60, 0xf0, 0xf0, 0xf0, 0x60};

	switch (sd->sensor) {
	case SENSOR_GC0305:
		matrix = gc0305_matrix;
		break;
	case SENSOR_MC501CB:
		return;		/* no matrix? */
	case SENSOR_OV7620:
/*	case SENSOR_OV7648: */
		matrix = ov7620_matrix;
		break;
	case SENSOR_PO2030:
		matrix = po2030_matrix;
		break;
	case SENSOR_TAS5130C_VF0250:	/* no matrix? */
		return;
	default:		/* matrix already loaded */
		return;
	}
	for (i = 0; i < ARRAY_SIZE(ov7620_matrix); i++)
		reg_w(gspca_dev->dev, matrix[i], 0x010a + i);
}

static void setbrightness(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	__u8 brightness;

	switch (sd->sensor) {
	case SENSOR_GC0305:
	case SENSOR_OV7620:
	case SENSOR_PO2030:
		return;
	}
/*fixme: is it really write to 011d and 018d for all other sensors? */
	brightness = sd->brightness;
	reg_w(gspca_dev->dev, brightness, 0x011d);
	if (brightness < 0x70)
		brightness += 0x10;
	else
		brightness = 0x80;
	reg_w(gspca_dev->dev, brightness, 0x018d);
}

static void setsharpness(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct usb_device *dev = gspca_dev->dev;
	int sharpness;
	__u8 retbyte;
	static const __u8 sharpness_tb[][2] = {
		{0x02, 0x03},
		{0x04, 0x07},
		{0x08, 0x0f},
		{0x10, 0x1e}
	};

	sharpness = sd->sharpness;
	reg_w(dev, sharpness_tb[sharpness][0], 0x01c6);
	reg_r(dev, 0x01c8, &retbyte);
	reg_r(dev, 0x01c9, &retbyte);
	reg_r(dev, 0x01ca, &retbyte);
	reg_w(dev, sharpness_tb[sharpness][1], 0x01cb);
}

static void setcontrast(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct usb_device *dev = gspca_dev->dev;
	const __u8 *Tgamma, *Tgradient;
	int g, i, k;
	static const __u8 kgamma_tb[16] =		/* delta for contrast */
		{0x15, 0x0d, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08,
		 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};
	static const __u8 kgrad_tb[16] =
		{0x1b, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00,
		 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x04};
	static const __u8 Tgamma_1[16] =
		{0x00, 0x00, 0x03, 0x0d, 0x1b, 0x2e, 0x45, 0x5f,
		 0x79, 0x93, 0xab, 0xc1, 0xd4, 0xe5, 0xf3, 0xff};
	static const __u8 Tgradient_1[16] =
		{0x00, 0x01, 0x05, 0x0b, 0x10, 0x15, 0x18, 0x1a,
		 0x1a, 0x18, 0x16, 0x14, 0x12, 0x0f, 0x0d, 0x06};
	static const __u8 Tgamma_2[16] =
		{0x01, 0x0c, 0x1f, 0x3a, 0x53, 0x6d, 0x85, 0x9c,
		 0xb0, 0xc2, 0xd1, 0xde, 0xe9, 0xf2, 0xf9, 0xff};
	static const __u8 Tgradient_2[16] =
		{0x05, 0x0f, 0x16, 0x1a, 0x19, 0x19, 0x17, 0x15,
		 0x12, 0x10, 0x0e, 0x0b, 0x09, 0x08, 0x06, 0x03};
	static const __u8 Tgamma_3[16] =
		{0x04, 0x16, 0x30, 0x4e, 0x68, 0x81, 0x98, 0xac,
		 0xbe, 0xcd, 0xda, 0xe4, 0xed, 0xf5, 0xfb, 0xff};
	static const __u8 Tgradient_3[16] =
		{0x0c, 0x16, 0x1b, 0x1c, 0x19, 0x18, 0x15, 0x12,
		 0x10, 0x0d, 0x0b, 0x09, 0x08, 0x06, 0x05, 0x03};
	static const __u8 Tgamma_4[16] =
		{0x13, 0x38, 0x59, 0x79, 0x92, 0xa7, 0xb9, 0xc8,
		 0xd4, 0xdf, 0xe7, 0xee, 0xf4, 0xf9, 0xfc, 0xff};
	static const __u8 Tgradient_4[16] =
		{0x26, 0x22, 0x20, 0x1c, 0x16, 0x13, 0x10, 0x0d,
		 0x0b, 0x09, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02};
	static const __u8 Tgamma_5[16] =
		{0x20, 0x4b, 0x6e, 0x8d, 0xa3, 0xb5, 0xc5, 0xd2,
		 0xdc, 0xe5, 0xec, 0xf2, 0xf6, 0xfa, 0xfd, 0xff};
	static const __u8 Tgradient_5[16] =
		{0x37, 0x26, 0x20, 0x1a, 0x14, 0x10, 0x0e, 0x0b,
		 0x09, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x02};
	static const __u8 Tgamma_6[16] =		/* ?? was gamma 5 */
		{0x24, 0x44, 0x64, 0x84, 0x9d, 0xb2, 0xc4, 0xd3,
		 0xe0, 0xeb, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff};
	static const __u8 Tgradient_6[16] =
		{0x18, 0x20, 0x20, 0x1c, 0x16, 0x13, 0x10, 0x0e,
		 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01};
	static const __u8 *gamma_tb[] = {
		NULL, Tgamma_1, Tgamma_2,
		Tgamma_3, Tgamma_4, Tgamma_5, Tgamma_6
	};
	static const __u8 *gradient_tb[] = {
		NULL, Tgradient_1, Tgradient_2,
		Tgradient_3, Tgradient_4, Tgradient_5, Tgradient_6
	};
#ifdef CONFIG_VIDEO_ADV_DEBUG
	__u8 v[16];
#endif

	Tgamma = gamma_tb[sd->gamma];
	Tgradient = gradient_tb[sd->gamma];

	k = (sd->contrast - 128)		/* -128 / 128 */
			* Tgamma[0];
	PDEBUG(D_CONF, "gamma:%d contrast:%d gamma coeff: %d/128",
		sd->gamma, sd->contrast, k);
	for (i = 0; i < 16; i++) {
		g = Tgamma[i] + kgamma_tb[i] * k / 128;
		if (g > 0xff)
			g = 0xff;
		else if (g <= 0)
			g = 1;
		reg_w(dev, g, 0x0120 + i);	/* gamma */
#ifdef CONFIG_VIDEO_ADV_DEBUG
		if (gspca_debug & D_CONF)
			v[i] = g;
#endif
	}
	PDEBUG(D_CONF, "tb: %02x %02x %02x %02x %02x %02x %02x %02x",
		v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]);
	PDEBUG(D_CONF, "    %02x %02x %02x %02x %02x %02x %02x %02x",
		v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15]);
	for (i = 0; i < 16; i++) {
		g = Tgradient[i] - kgrad_tb[i] * k / 128;
		if (g > 0xff)
			g = 0xff;
		else if (g <= 0) {
			if (i != 15)
				g = 0;
			else
				g = 1;
		}
		reg_w(dev, g, 0x0130 + i);	/* gradient */
#ifdef CONFIG_VIDEO_ADV_DEBUG
		if (gspca_debug & D_CONF)
			v[i] = g;
#endif
	}
	PDEBUG(D_CONF, "    %02x %02x %02x %02x %02x %02x %02x %02x",
		v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]);
	PDEBUG(D_CONF, "    %02x %02x %02x %02x %02x %02x %02x %02x",
		v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15]);
}

static void setquality(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct usb_device *dev = gspca_dev->dev;
	__u8 quality;
	__u8 frxt;

	switch (sd->sensor) {
	case SENSOR_GC0305:
	case SENSOR_OV7620:
	case SENSOR_PO2030:
		return;
	}
/*fixme: is it really 0008 0007 0018 for all other sensors? */
	quality = sd->qindex;
	reg_w(dev, quality, 0x0008);
	frxt = 0x30;
	reg_w(dev, frxt, 0x0007);
	switch (quality) {
	case 0:
	case 1:
	case 2:
		frxt = 0xff;
		break;
	case 3:
		frxt = 0xf0;
		break;
	case 4:
		frxt = 0xe0;
		break;
	case 5:
		frxt = 0x20;
		break;
	}
	reg_w(dev, frxt, 0x0018);
}

/* Matches the sensor's internal frame rate to the lighting frequency.
 * Valid frequencies are:
 *	50Hz, for European and Asian lighting (default)
 *	60Hz, for American lighting
 *	0 = No Fliker (for outdoore usage)
 * Returns: 0 for success
 */
static int setlightfreq(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	int i, mode;
	const struct usb_action *zc3_freq;
	static const struct usb_action *freq_tb[SENSOR_MAX][6] = {
/* SENSOR_CS2102 0 */
		{cs2102_NoFliker, cs2102_NoFlikerScale,
		 cs2102_50HZ, cs2102_50HZScale,
		 cs2102_60HZ, cs2102_60HZScale},
/* SENSOR_CS2102K 1 */
		{cs2102_NoFliker, cs2102_NoFlikerScale,
		 cs2102_50HZ, cs2102_50HZScale,
		 cs2102_60HZ, cs2102_60HZScale},
/* SENSOR_GC0305 2 */
		{gc0305_NoFliker, gc0305_NoFliker,
		 gc0305_50HZ, gc0305_50HZ,
		 gc0305_60HZ, gc0305_60HZ},
/* SENSOR_HDCS2020 3 */
		{NULL, NULL,
		 NULL, NULL,
		 NULL, NULL},
/* SENSOR_HDCS2020b 4 */
		{hdcs2020b_NoFliker, hdcs2020b_NoFliker,
		 hdcs2020b_50HZ, hdcs2020b_50HZ,
		 hdcs2020b_60HZ, hdcs2020b_60HZ},
/* SENSOR_HV7131B 5 */
		{NULL, NULL,
		 NULL, NULL,
		 NULL, NULL},
/* SENSOR_HV7131C 6 */
		{NULL, NULL,
		 NULL, NULL,
		 NULL, NULL},
/* SENSOR_ICM105A 7 */
		{icm105a_NoFliker, icm105a_NoFlikerScale,
		 icm105a_50HZ, icm105a_50HZScale,
		 icm105a_60HZ, icm105a_60HZScale},
/* SENSOR_MC501CB 8 */
		{MC501CB_NoFliker, MC501CB_NoFlikerScale,
		 MC501CB_50HZ, MC501CB_50HZScale,
		 MC501CB_60HZ, MC501CB_60HZScale},
/* SENSOR_OV7620 9 */
		{OV7620_NoFliker, OV7620_NoFliker,
		 OV7620_50HZ, OV7620_50HZ,
		 OV7620_60HZ, OV7620_60HZ},
/* SENSOR_OV7630C 10 */
		{NULL, NULL,
		 NULL, NULL,
		 NULL, NULL},
/* SENSOR_PAS106 11 */
		{pas106b_NoFliker, pas106b_NoFliker,
		 pas106b_50HZ, pas106b_50HZ,
		 pas106b_60HZ, pas106b_60HZ},
/* SENSOR_PB0330 12 */
		{pb0330_NoFliker, pb0330_NoFlikerScale,
		 pb0330_50HZ, pb0330_50HZScale,
		 pb0330_60HZ, pb0330_60HZScale},
/* SENSOR_PO2030 13 */
		{PO2030_NoFliker, PO2030_NoFliker,
		 PO2030_50HZ, PO2030_50HZ,
		 PO2030_60HZ, PO2030_60HZ},
/* SENSOR_TAS5130CK 14 */
		{tas5130cxx_NoFliker, tas5130cxx_NoFlikerScale,
		 tas5130cxx_50HZ, tas5130cxx_50HZScale,
		 tas5130cxx_60HZ, tas5130cxx_60HZScale},
/* SENSOR_TAS5130CXX 15 */
		{tas5130cxx_NoFliker, tas5130cxx_NoFlikerScale,
		 tas5130cxx_50HZ, tas5130cxx_50HZScale,
		 tas5130cxx_60HZ, tas5130cxx_60HZScale},
/* SENSOR_TAS5130C_VF0250 16 */
		{tas5130c_vf0250_NoFliker, tas5130c_vf0250_NoFlikerScale,
		 tas5130c_vf0250_50HZ, tas5130c_vf0250_50HZScale,
		 tas5130c_vf0250_60HZ, tas5130c_vf0250_60HZScale},
	};

	i = sd->lightfreq * 2;
	mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
	if (!mode)
		i++;			/* 640x480 */
	zc3_freq = freq_tb[(int) sd->sensor][i];
	if (zc3_freq != NULL) {
		usb_exchange(gspca_dev->dev, zc3_freq);
		switch (sd->sensor) {
		case SENSOR_GC0305:
			if (mode			/* if 320x240 */
			    && sd->lightfreq == 1)	/* and 50Hz */
				reg_w(gspca_dev->dev, 0x85, 0x018d);
						/* win: 0x80, 0x018d */
			break;
		case SENSOR_OV7620:
			if (!mode) {			/* if 640x480 */
				if (sd->lightfreq != 0)	/* and 50 or 60 Hz */
					reg_w(gspca_dev->dev, 0x40, 0x0002);
				else
					reg_w(gspca_dev->dev, 0x44, 0x0002);
			}
			break;
		}
	}
	return 0;
}

static void setautogain(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	__u8 autoval;

	if (sd->autogain)
		autoval = 0x42;
	else
		autoval = 0x02;
	reg_w(gspca_dev->dev, autoval, 0x0180);
}

static void send_unknown(struct usb_device *dev, int sensor)
{
	reg_w(dev, 0x01, 0x0000);		/* led off */
	switch (sensor) {
	case SENSOR_PAS106:
		reg_w(dev, 0x03, 0x003a);
		reg_w(dev, 0x0c, 0x003b);
		reg_w(dev, 0x08, 0x0038);
		break;
	case SENSOR_GC0305:
	case SENSOR_OV7620:
	case SENSOR_PB0330:
	case SENSOR_PO2030:
		reg_w(dev, 0x0d, 0x003a);
		reg_w(dev, 0x02, 0x003b);
		reg_w(dev, 0x00, 0x0038);
		break;
	}
}

/* start probe 2 wires */
static void start_2wr_probe(struct usb_device *dev, int sensor)
{
	reg_w(dev, 0x01, 0x0000);
	reg_w(dev, sensor, 0x0010);
	reg_w(dev, 0x01, 0x0001);
	reg_w(dev, 0x03, 0x0012);
	reg_w(dev, 0x01, 0x0012);
/*	msleep(2); */
}

static int sif_probe(struct usb_device *dev)
{
	__u16 checkword;

	start_2wr_probe(dev, 0x0f);		/* PAS106 */
	reg_w(dev, 0x08, 0x008d);
	msleep(150);
	checkword = ((i2c_read(dev, 0x00) & 0x0f) << 4)
			| ((i2c_read(dev, 0x01) & 0xf0) >> 4);
	PDEBUG(D_PROBE, "probe sif 0x%04x", checkword);
	if (checkword == 0x0007) {
		send_unknown(dev, SENSOR_PAS106);
		return 0x0f;			/* PAS106 */
	}
	return -1;
}

static int vga_2wr_probe(struct usb_device *dev)
{
	__u8 retbyte;
	__u16 checkword;

	start_2wr_probe(dev, 0x00);		/* HV7131B */
	i2c_write(dev, 0x01, 0xaa, 0x00);
	retbyte = i2c_read(dev, 0x01);
	if (retbyte != 0)
		return 0x00;			/* HV7131B */

	start_2wr_probe(dev, 0x04);		/* CS2102 */
	i2c_write(dev, 0x01, 0xaa, 0x00);
	retbyte = i2c_read(dev, 0x01);
	if (retbyte != 0)
		return 0x04;			/* CS2102 */

	start_2wr_probe(dev, 0x06);		/* OmniVision */
	reg_w(dev, 0x08, 0x8d);
	i2c_write(dev, 0x11, 0xaa, 0x00);
	retbyte = i2c_read(dev, 0x11);
	if (retbyte != 0) {
		/* (should have returned 0xaa) --> Omnivision? */
		/* reg_r 0x10 -> 0x06 -->  */
		goto ov_check;
	}

	start_2wr_probe(dev, 0x08);		/* HDCS2020 */
	i2c_write(dev, 0x15, 0xaa, 0x00);
	retbyte = i2c_read(dev, 0x15);
	if (retbyte != 0)
		return 0x08;			/* HDCS2020 */

	start_2wr_probe(dev, 0x0a);		/* PB0330 */
	i2c_write(dev, 0x07, 0xaa, 0xaa);
	retbyte = i2c_read(dev, 0x07);
	if (retbyte != 0)
		return 0x0a;			/* PB0330 */
	retbyte = i2c_read(dev, 0x03);
	if (retbyte != 0)
		return 0x0a;			/* PB0330 ?? */
	retbyte = i2c_read(dev, 0x04);
	if (retbyte != 0)
		return 0x0a;			/* PB0330 ?? */

	start_2wr_probe(dev, 0x0c);		/* ICM105A */
	i2c_write(dev, 0x01, 0x11, 0x00);
	retbyte = i2c_read(dev, 0x01);
	if (retbyte != 0)
		return 0x0c;			/* ICM105A */

	start_2wr_probe(dev, 0x0e);		/* PAS202BCB */
	reg_w(dev, 0x08, 0x8d);
	i2c_write(dev, 0x03, 0xaa, 0x00);
	msleep(500);
	retbyte = i2c_read(dev, 0x03);
	if (retbyte != 0)
		return 0x0e;			/* PAS202BCB */

	start_2wr_probe(dev, 0x02);		/* ?? */
	i2c_write(dev, 0x01, 0xaa, 0x00);
	retbyte = i2c_read(dev, 0x01);
	if (retbyte != 0)
		return 0x02;			/* ?? */
ov_check:
	reg_r(dev, 0x0010, &retbyte);		/* ?? */
	reg_r(dev, 0x0010, &retbyte);

	reg_w(dev, 0x01, 0x0000);
	reg_w(dev, 0x01, 0x0001);
	reg_w(dev, 0x06, 0x0010);		/* OmniVision */
	reg_w(dev, 0xa1, 0x008b);
	reg_w(dev, 0x08, 0x008d);
	msleep(500);
	reg_w(dev, 0x01, 0x0012);
	i2c_write(dev, 0x12, 0x80, 0x00);	/* sensor reset */
	retbyte = i2c_read(dev, 0x0a);
	checkword = retbyte << 8;
	retbyte = i2c_read(dev, 0x0b);
	checkword |= retbyte;
	PDEBUG(D_PROBE, "probe 2wr ov vga 0x%04x", checkword);
	switch (checkword) {
	case 0x7631:				/* OV7630C */
		reg_w(dev, 0x06, 0x0010);
		break;
	case 0x7620:				/* OV7620 */
	case 0x7648:				/* OV7648 */
		break;
	default:
		return -1;			/* not OmniVision */
	}
	return checkword;
}

struct sensor_by_chipset_revision {
	__u16 revision;
	__u8 internal_sensor_id;
};
static const struct sensor_by_chipset_revision chipset_revision_sensor[] = {
	{0xc001, 0x13},		/* MI0360 */
	{0xe001, 0x13},
	{0x8001, 0x13},
	{0x8000, 0x14},		/* CS2102K */
	{0x8400, 0x15},		/* TAS5130K */
	{0, 0}
};

static int vga_3wr_probe(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct usb_device *dev = gspca_dev->dev;
	int i;
	__u8 retbyte;
	__u16 checkword;

/*fixme: lack of 8b=b3 (11,12)-> 10, 8b=e0 (14,15,16)-> 12 found in gspcav1*/
	reg_w(dev, 0x02, 0x0010);
	reg_r(dev, 0x10, &retbyte);
	reg_w(dev, 0x01, 0x0000);
	reg_w(dev, 0x00, 0x0010);
	reg_w(dev, 0x01, 0x0001);
	reg_w(dev, 0x91, 0x008b);
	reg_w(dev, 0x03, 0x0012);
	reg_w(dev, 0x01, 0x0012);
	reg_w(dev, 0x05, 0x0012);
	retbyte = i2c_read(dev, 0x14);
	if (retbyte != 0)
		return 0x11;			/* HV7131R */
	retbyte = i2c_read(dev, 0x15);
	if (retbyte != 0)
		return 0x11;			/* HV7131R */
	retbyte = i2c_read(dev, 0x16);
	if (retbyte != 0)
		return 0x11;			/* HV7131R */

	reg_w(dev, 0x02, 0x0010);
	reg_r(dev, 0x000b, &retbyte);
	checkword = retbyte << 8;
	reg_r(dev, 0x000a, &retbyte);
	checkword |= retbyte;
	PDEBUG(D_PROBE, "probe 3wr vga 1 0x%04x", checkword);
	reg_r(dev, 0x0010, &retbyte);
	/* this is tested only once anyway */
	i = 0;
	while (chipset_revision_sensor[i].revision) {
		if (chipset_revision_sensor[i].revision == checkword) {
			sd->chip_revision = checkword;
			send_unknown(dev, SENSOR_PB0330);
			return chipset_revision_sensor[i].internal_sensor_id;
		}
		i++;
	}

	reg_w(dev, 0x01, 0x0000);
	reg_w(dev, 0x01, 0x0001);
	reg_w(dev, 0xdd, 0x008b);
	reg_w(dev, 0x0a, 0x0010);
	reg_w(dev, 0x03, 0x0012);
	reg_w(dev, 0x01, 0x0012);
	retbyte = i2c_read(dev, 0x00);
	if (retbyte != 0) {
		PDEBUG(D_PROBE, "probe 3wr vga type 0a ?");
		return 0x0a;			/* ?? */
	}

	reg_w(dev, 0x01, 0x0000);
	reg_w(dev, 0x01, 0x0001);
	reg_w(dev, 0x98, 0x008b);
	reg_w(dev, 0x01, 0x0010);
	reg_w(dev, 0x03, 0x0012);
	msleep(2);
	reg_w(dev, 0x01, 0x0012);
	retbyte = i2c_read(dev, 0x00);
	if (retbyte != 0) {
		PDEBUG(D_PROBE, "probe 3wr vga type %02x", retbyte);
		send_unknown(dev, SENSOR_GC0305);
		return retbyte;		/* 0x29 = gc0305 - should continue? */
	}

	reg_w(dev, 0x01, 0x0000);	/* check OmniVision */
	reg_w(dev, 0x01, 0x0001);
	reg_w(dev, 0xa1, 0x008b);
	reg_w(dev, 0x08, 0x008d);
	reg_w(dev, 0x06, 0x0010);
	reg_w(dev, 0x01, 0x0012);
	reg_w(dev, 0x05, 0x0012);
	if (i2c_read(dev, 0x1c) == 0x7f	/* OV7610 - manufacturer ID */
	    && i2c_read(dev, 0x1d) == 0xa2) {
		send_unknown(dev, SENSOR_OV7620);
		return 0x06;		/* OmniVision confirm ? */
	}

	reg_w(dev, 0x01, 0x00);
	reg_w(dev, 0x00, 0x02);
	reg_w(dev, 0x01, 0x10);
	reg_w(dev, 0x01, 0x01);
	reg_w(dev, 0xee, 0x8b);
	reg_w(dev, 0x03, 0x12);
/*	msleep(150); */
	reg_w(dev, 0x01, 0x12);
	reg_w(dev, 0x05, 0x12);
	retbyte = i2c_read(dev, 0x00);		/* ID 0 */
	checkword = retbyte << 8;
	retbyte = i2c_read(dev, 0x01);		/* ID 1 */
	checkword |= retbyte;
	PDEBUG(D_PROBE, "probe 3wr vga 2 0x%04x", checkword);
	if (checkword == 0x2030) {
		retbyte = i2c_read(dev, 0x02);	/* revision number */
		PDEBUG(D_PROBE, "sensor PO2030 rev 0x%02x", retbyte);
		send_unknown(dev, SENSOR_PO2030);
		return checkword;
	}

	reg_w(dev, 0x01, 0x00);
	reg_w(dev, 0x0a, 0x10);
	reg_w(dev, 0xd3, 0x8b);
	reg_w(dev, 0x01, 0x01);
	reg_w(dev, 0x03, 0x12);
	reg_w(dev, 0x01, 0x12);
	reg_w(dev, 0x05, 0x01);
	reg_w(dev, 0xd3, 0x8b);
	retbyte = i2c_read(dev, 0x01);
	if (retbyte != 0) {
		PDEBUG(D_PROBE, "probe 3wr vga type 0a ?");
		return 0x0a;			/* ?? */
	}
	return -1;
}

static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct usb_device *dev = gspca_dev->dev;
	int sensor, sensor2;

	switch (sd->sensor) {
	case SENSOR_MC501CB:
	case SENSOR_TAS5130C_VF0250:
		return -1;		/* don't probe */
	}
	sensor = vga_2wr_probe(dev);
	if (sensor >= 0) {
		if (sensor < 0x7600)
			return sensor;
		/* next probe is needed for OmniVision ? */
	}
	sensor2 = vga_3wr_probe(gspca_dev);
	if (sensor2 >= 0) {
		if (sensor >= 0)
			return sensor;
		return sensor2;
	}
	return sif_probe(dev);
}

/* this function is called at probe time */
static int sd_config(struct gspca_dev *gspca_dev,
			const struct usb_device_id *id)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct cam *cam;
	int sensor;
	__u8 bsensor;
	int vga = 1;		/* 1: vga, 0: sif */
	static const __u8 gamma[SENSOR_MAX] = {
		5,	/* SENSOR_CS2102 0 */
		5,	/* SENSOR_CS2102K 1 */
		4,	/* SENSOR_GC0305 2 */
		4,	/* SENSOR_HDCS2020 3 */
		4,	/* SENSOR_HDCS2020b 4 */
		4,	/* SENSOR_HV7131B 5 */
		4,	/* SENSOR_HV7131C 6 */
		4,	/* SENSOR_ICM105A 7 */
		4,	/* SENSOR_MC501CB 8 */
		3,	/* SENSOR_OV7620 9 */
		4,	/* SENSOR_OV7630C 10 */
		4,	/* SENSOR_PAS106 11 */
		4,	/* SENSOR_PB0330 12 */
		4,	/* SENSOR_PO2030 13 */
		4,	/* SENSOR_TAS5130CK 14 */
		4,	/* SENSOR_TAS5130CXX 15 */
		3,	/* SENSOR_TAS5130C_VF0250 16 */
	};

	/* define some sensors from the vendor/product */
	sd->sharpness = 2;
	switch (id->idVendor) {
	case 0x041e:				/* Creative */
		switch (id->idProduct) {
		case 0x4051:			/* zc301 chips */
		case 0x4053:
			sd->sensor = SENSOR_TAS5130C_VF0250;
			break;
		}
		break;
	case 0x046d:				/* Logitech Labtec */
		switch (id->idProduct) {
		case 0x08dd:
			sd->sensor = SENSOR_MC501CB;
			break;
		}
		break;
	case 0x0ac8:				/* Vimicro z-star */
		switch (id->idProduct) {
		case 0x305b:
			sd->sensor = SENSOR_TAS5130C_VF0250;
			break;
		}
		break;
	}
	sensor = zcxx_probeSensor(gspca_dev);
	if (sensor >= 0)
		PDEBUG(D_PROBE, "probe sensor -> %02x", sensor);
	if ((unsigned) force_sensor < SENSOR_MAX) {
		sd->sensor = force_sensor;
		PDEBUG(D_PROBE, "sensor forced to %d", force_sensor);
	} else {
		switch (sensor) {
		case -1:
			switch (sd->sensor) {
			case SENSOR_MC501CB:
				PDEBUG(D_PROBE, "Sensor MC501CB");
				break;
			case SENSOR_TAS5130C_VF0250:
				PDEBUG(D_PROBE, "Sensor Tas5130 (VF0250)");
				break;
			default:
				PDEBUG(D_PROBE,
					"Sensor UNKNOW_0 force Tas5130");
				sd->sensor = SENSOR_TAS5130CXX;
			}
			break;
		case 0:
			PDEBUG(D_PROBE, "Find Sensor HV7131B");
			sd->sensor = SENSOR_HV7131B;
			break;
		case 0x04:
			PDEBUG(D_PROBE, "Find Sensor CS2102");
			sd->sensor = SENSOR_CS2102;
			break;
		case 0x08:
			PDEBUG(D_PROBE, "Find Sensor HDCS2020(b)");
			sd->sensor = SENSOR_HDCS2020b;
			break;
		case 0x0a:
			PDEBUG(D_PROBE,
				"Find Sensor PB0330. Chip revision %x",
				sd->chip_revision);
			sd->sensor = SENSOR_PB0330;
			break;
		case 0x0c:
			PDEBUG(D_PROBE, "Find Sensor ICM105A");
			sd->sensor = SENSOR_ICM105A;
			break;
		case 0x0e:
			PDEBUG(D_PROBE, "Find Sensor HDCS2020");
			sd->sensor = SENSOR_HDCS2020;
			sd->sharpness = 1;
			break;
		case 0x0f:
			PDEBUG(D_PROBE, "Find Sensor PAS106");
			sd->sensor = SENSOR_PAS106;
			vga = 0;		/* SIF */
			break;
		case 0x10:
		case 0x12:
			PDEBUG(D_PROBE, "Find Sensor TAS5130");
			sd->sensor = SENSOR_TAS5130CXX;
			break;
		case 0x11:
			PDEBUG(D_PROBE, "Find Sensor HV7131R(c)");
			sd->sensor = SENSOR_HV7131C;
			break;
		case 0x13:
			PDEBUG(D_PROBE,
				"Find Sensor MI0360. Chip revision %x",
				sd->chip_revision);
			sd->sensor = SENSOR_PB0330;
			break;
		case 0x14:
			PDEBUG(D_PROBE,
				"Find Sensor CS2102K?. Chip revision %x",
				sd->chip_revision);
			sd->sensor = SENSOR_CS2102K;
			break;
		case 0x15:
			PDEBUG(D_PROBE,
				"Find Sensor TAS5130CK?. Chip revision %x",
				sd->chip_revision);
			sd->sensor = SENSOR_TAS5130CK;
			break;
		case 0x29:
			PDEBUG(D_PROBE, "Find Sensor GC0305");
			sd->sensor = SENSOR_GC0305;
			break;
		case 0x2030:
			PDEBUG(D_PROBE, "Find Sensor PO2030");
			sd->sensor = SENSOR_PO2030;
			sd->sharpness = 0;		/* from win traces */
			break;
		case 0x7620:
			PDEBUG(D_PROBE, "Find Sensor OV7620");
			sd->sensor = SENSOR_OV7620;
			break;
		case 0x7648:
			PDEBUG(D_PROBE, "Find Sensor OV7648");
			sd->sensor = SENSOR_OV7620;	/* same sensor (?) */
			break;
		default:
			PDEBUG(D_ERR|D_PROBE, "Unknown sensor %02x", sensor);
			return -EINVAL;
		}
	}
	if (sensor < 0x20) {
		if (sensor == -1 || sensor == 0x10 || sensor == 0x12)
			reg_w(gspca_dev->dev, 0x02, 0x0010);
		else
			reg_w(gspca_dev->dev, sensor & 0x0f, 0x0010);
		reg_r(gspca_dev->dev, 0x0010, &bsensor);
	}

	cam = &gspca_dev->cam;
	cam->dev_name = (char *) id->driver_info;
	cam->epaddr = 0x01;
/*fixme:test*/
	gspca_dev->nbalt--;
	if (vga) {
		cam->cam_mode = vga_mode;
		cam->nmodes = ARRAY_SIZE(vga_mode);
	} else {
		cam->cam_mode = sif_mode;
		cam->nmodes = ARRAY_SIZE(sif_mode);
	}
	sd->qindex = 1;
	sd->brightness = sd_ctrls[SD_BRIGHTNESS].qctrl.default_value;
	sd->contrast = sd_ctrls[SD_CONTRAST].qctrl.default_value;
	sd->gamma = gamma[(int) sd->sensor];
	sd->autogain = sd_ctrls[SD_AUTOGAIN].qctrl.default_value;
	sd->lightfreq = sd_ctrls[SD_FREQ].qctrl.default_value;
	sd->sharpness = sd_ctrls[SD_SHARPNESS].qctrl.default_value;

	/* switch the led off */
	reg_w(gspca_dev->dev, 0x01, 0x0000);
	return 0;
}

/* this function is called at open time */
static int sd_open(struct gspca_dev *gspca_dev)
{
	reg_w(gspca_dev->dev, 0x01, 0x0000);
	return 0;
}

static void sd_start(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;
	struct usb_device *dev = gspca_dev->dev;
	const struct usb_action *zc3_init;
	int mode;
	__u8 retbyte;
	static const struct usb_action *init_tb[SENSOR_MAX][2] = {
		{cs2102_InitialScale, cs2102_Initial},		/* 0 */
		{cs2102K_InitialScale, cs2102K_Initial},	/* 1 */
		{gc0305_Initial, gc0305_InitialScale},		/* 2 */
		{hdcs2020xx_InitialScale, hdcs2020xx_Initial},	/* 3 */
		{hdcs2020xb_InitialScale, hdcs2020xb_Initial},	/* 4 */
		{hv7131bxx_InitialScale, hv7131bxx_Initial},	/* 5 */
		{hv7131cxx_InitialScale, hv7131cxx_Initial},	/* 6 */
		{icm105axx_InitialScale, icm105axx_Initial},	/* 7 */
		{MC501CB_InitialScale, MC501CB_Initial},	/* 9 */
		{OV7620_mode0, OV7620_mode1},			/* 9 */
		{ov7630c_InitialScale, ov7630c_Initial},	/* 10 */
		{pas106b_InitialScale, pas106b_Initial},	/* 11 */
		{pb0330xx_InitialScale, pb0330xx_Initial},	/* 12 */
/* or		{pb03303x_InitialScale, pb03303x_Initial}, */
		{PO2030_mode0, PO2030_mode1},			/* 13 */
		{tas5130CK_InitialScale, tas5130CK_Initial},	/* 14 */
		{tas5130cxx_InitialScale, tas5130cxx_Initial},	/* 15 */
		{tas5130c_vf0250_InitialScale, tas5130c_vf0250_Initial},
								/* 16 */
	};

	mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
	zc3_init = init_tb[(int) sd->sensor][mode];
	switch (sd->sensor) {
	case SENSOR_HV7131B:
	case SENSOR_HV7131C:
		zcxx_probeSensor(gspca_dev);
		break;
	case SENSOR_PAS106:
		usb_exchange(dev, pas106b_Initial_com);
		break;
	case SENSOR_PB0330:
		if (mode) {
			if (sd->chip_revision == 0xc001
			    || sd->chip_revision == 0xe001
			    || sd->chip_revision == 0x8001)
				zc3_init = pb03303x_Initial;
		} else {
			if (sd->chip_revision == 0xc001
			    || sd->chip_revision == 0xe001
			    || sd->chip_revision == 0x8001)
				zc3_init = pb03303x_InitialScale;
		}
		break;
	}
	usb_exchange(dev, zc3_init);

	switch (sd->sensor) {
	case SENSOR_GC0305:
	case SENSOR_OV7620:
	case SENSOR_PO2030:
		msleep(100);			/* ?? */
		reg_r(dev, 0x0002, &retbyte);	/* --> 0x40 */
		reg_w(dev, 0x09, 0x01ad);	/* (from win traces) */
		reg_w(dev, 0x15, 0x01ae);
		reg_w(dev, 0x0d, 0x003a);
		reg_w(dev, 0x02, 0x003b);
		reg_w(dev, 0x00, 0x0038);
		break;
	}

	setmatrix(gspca_dev);
	setbrightness(gspca_dev);
	switch (sd->sensor) {
	case SENSOR_OV7620:
		reg_r(dev, 0x0008, &retbyte);
		reg_w(dev, 0x00, 0x0008);
		break;
	case SENSOR_GC0305:
		reg_r(dev, 0x0008, &retbyte);
		/* fall thru */
	case SENSOR_PO2030:
		reg_w(dev, 0x03, 0x0008);
		break;
	}
	setsharpness(gspca_dev);

	/* set the gamma tables when not set */
	switch (sd->sensor) {
	case SENSOR_CS2102:		/* gamma set in xxx_Initial */
	case SENSOR_CS2102K:
	case SENSOR_HDCS2020:
	case SENSOR_HDCS2020b:
	case SENSOR_PB0330:		/* pb with chip_revision - see above */
	case SENSOR_OV7630C:
	case SENSOR_TAS5130CK:
		break;
	default:
		setcontrast(gspca_dev);
		break;
	}
	setmatrix(gspca_dev);			/* one more time? */
	switch (sd->sensor) {
	case SENSOR_OV7620:
		reg_r(dev, 0x0180, &retbyte);	/* from win */
		reg_w(dev, 0x00, 0x0180);
		break;
	default:
		setquality(gspca_dev);
		break;
	}
	setlightfreq(gspca_dev);

	switch (sd->sensor) {
	case SENSOR_GC0305:
	case SENSOR_OV7620:
		reg_w(dev, 0x09, 0x01ad);	/* (from win traces) */
		reg_w(dev, 0x15, 0x01ae);
		sd->autogain = 0;
		break;
	case SENSOR_PO2030:
		reg_w(dev, 0x40, 0x0117);	/* (from win traces) */
		reg_r(dev, 0x0180, &retbyte);
		break;
	}

	setautogain(gspca_dev);
	switch (sd->sensor) {
	case SENSOR_GC0305:
/*		setlightfreq(gspca_dev);	?? (end: 80 -> [18d]) */
		reg_w(dev, 0x09, 0x01ad);	/* (from win traces) */
		reg_w(dev, 0x15, 0x01ae);
		reg_w(dev, 0x40, 0x0180);
		reg_w(dev, 0x40, 0x0117);
		reg_r(dev, 0x0180, &retbyte);
		sd->autogain = 1;
		setautogain(gspca_dev);
		break;
	case SENSOR_OV7620:
		i2c_read(dev, 0x13);		/*fixme: returns 0xa3 */
		i2c_write(dev, 0x13, 0xa3, 0x00); /*fixme: same to send? */
		reg_w(dev, 0x40, 0x0117);	/* (from win traces) */
		reg_r(dev, 0x0180, &retbyte);
		setautogain(gspca_dev);
		msleep(500);
		break;
	case SENSOR_PO2030:
		msleep(500);
		reg_r(dev, 0x0008, &retbyte);
		reg_r(dev, 0x0007, &retbyte);
		reg_w(dev, 0x00, 0x0007);	/* (from win traces) */
		reg_w(dev, 0x02, 0x0008);
		break;
	}
}

static void sd_stopN(struct gspca_dev *gspca_dev)
{
}

static void sd_stop0(struct gspca_dev *gspca_dev)
{
	struct sd *sd = (struct sd *) gspca_dev;

	send_unknown(gspca_dev->dev, sd->sensor);
}

/* this function is called at close time */
static void sd_close(struct gspca_dev *gspca_dev)
{
}

static void sd_pkt_scan(struct gspca_dev *gspca_dev,
			struct gspca_frame *frame,
			__u8 *data,
			int len)
{

	if (data[0] == 0xff && data[1] == 0xd8) {	/* start of frame */
		frame = gspca_frame_add(gspca_dev, LAST_PACKET, frame,
					data, 0);
		/* put the JPEG header in the new frame */
		jpeg_put_header(gspca_dev, frame,
				((struct sd *) gspca_dev)->qindex,
				0x21);
		/* remove the webcam's header:
		 * ff d8 ff fe 00 0e 00 00 ss ss 00 01 ww ww hh hh pp pp
		 *	- 'ss ss' is the frame sequence number (BE)
		 * 	- 'ww ww' and 'hh hh' are the window dimensions (BE)
		 *	- 'pp pp' is the packet sequence number (BE)
		 */
		data += 18;
		len -= 18;
	}
	gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len);
}

static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	sd->brightness = val;
	if (gspca_dev->streaming)
		setbrightness(gspca_dev);
	return 0;
}

static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	*val = sd->brightness;
	return 0;
}

static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	sd->contrast = val;
	if (gspca_dev->streaming)
		setcontrast(gspca_dev);
	return 0;
}

static int sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	*val = sd->contrast;
	return 0;
}

static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	sd->autogain = val;
	if (gspca_dev->streaming)
		setautogain(gspca_dev);
	return 0;
}

static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	*val = sd->autogain;
	return 0;
}

static int sd_setgamma(struct gspca_dev *gspca_dev, __s32 val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	sd->gamma = val;
	if (gspca_dev->streaming)
		setcontrast(gspca_dev);
	return 0;
}

static int sd_getgamma(struct gspca_dev *gspca_dev, __s32 *val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	*val = sd->gamma;
	return 0;
}

static int sd_setfreq(struct gspca_dev *gspca_dev, __s32 val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	sd->lightfreq = val;
	if (gspca_dev->streaming)
		setlightfreq(gspca_dev);
	return 0;
}

static int sd_getfreq(struct gspca_dev *gspca_dev, __s32 *val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	*val = sd->lightfreq;
	return 0;
}

static int sd_setsharpness(struct gspca_dev *gspca_dev, __s32 val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	sd->sharpness = val;
	if (gspca_dev->streaming)
		setsharpness(gspca_dev);
	return 0;
}

static int sd_getsharpness(struct gspca_dev *gspca_dev, __s32 *val)
{
	struct sd *sd = (struct sd *) gspca_dev;

	*val = sd->sharpness;
	return 0;
}

static int sd_querymenu(struct gspca_dev *gspca_dev,
			struct v4l2_querymenu *menu)
{
	switch (menu->id) {
	case V4L2_CID_POWER_LINE_FREQUENCY:
		switch (menu->index) {
		case 0:		/* V4L2_CID_POWER_LINE_FREQUENCY_DISABLED */
			strcpy((char *) menu->name, "NoFliker");
			return 0;
		case 1:		/* V4L2_CID_POWER_LINE_FREQUENCY_50HZ */
			strcpy((char *) menu->name, "50 Hz");
			return 0;
		case 2:		/* V4L2_CID_POWER_LINE_FREQUENCY_60HZ */
			strcpy((char *) menu->name, "60 Hz");
			return 0;
		}
		break;
	}
	return -EINVAL;
}

static const struct sd_desc sd_desc = {
	.name = MODULE_NAME,
	.ctrls = sd_ctrls,
	.nctrls = sizeof sd_ctrls / sizeof sd_ctrls[0],
	.config = sd_config,
	.open = sd_open,
	.start = sd_start,
	.stopN = sd_stopN,
	.stop0 = sd_stop0,
	.close = sd_close,
	.pkt_scan = sd_pkt_scan,
	.querymenu = sd_querymenu,
};

#define DVNM(name) .driver_info = (kernel_ulong_t) name
static const __devinitdata struct usb_device_id device_table[] = {
	{USB_DEVICE(0x041e, 0x041e), DVNM("Creative WebCam Live!")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x041e, 0x4017), DVNM("Creative Webcam Mobile PD1090")},
	{USB_DEVICE(0x041e, 0x401c), DVNM("Creative NX")},
	{USB_DEVICE(0x041e, 0x401e), DVNM("Creative Nx Pro")},
	{USB_DEVICE(0x041e, 0x401f), DVNM("Creative Webcam Notebook PD1171")},
#endif
	{USB_DEVICE(0x041e, 0x4029), DVNM("Creative WebCam Vista Pro")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x041e, 0x4034), DVNM("Creative Instant P0620")},
	{USB_DEVICE(0x041e, 0x4035), DVNM("Creative Instant P0620D")},
	{USB_DEVICE(0x041e, 0x4036), DVNM("Creative Live !")},
	{USB_DEVICE(0x041e, 0x403a), DVNM("Creative Nx Pro 2")},
#endif
	{USB_DEVICE(0x041e, 0x4051), DVNM("Creative Notebook Pro (VF0250)")},
	{USB_DEVICE(0x041e, 0x4053), DVNM("Creative Live!Cam Video IM")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x0458, 0x7007), DVNM("Genius VideoCam V2")},
	{USB_DEVICE(0x0458, 0x700c), DVNM("Genius VideoCam V3")},
	{USB_DEVICE(0x0458, 0x700f), DVNM("Genius VideoCam Web V2")},
#endif
	{USB_DEVICE(0x0461, 0x0a00), DVNM("MicroInnovation WebCam320")},
	{USB_DEVICE(0x046d, 0x08a0), DVNM("Logitech QC IM")},
	{USB_DEVICE(0x046d, 0x08a1), DVNM("Logitech QC IM 0x08A1 +sound")},
	{USB_DEVICE(0x046d, 0x08a2), DVNM("Labtec Webcam Pro")},
	{USB_DEVICE(0x046d, 0x08a3), DVNM("Logitech QC Chat")},
	{USB_DEVICE(0x046d, 0x08a6), DVNM("Logitech QCim")},
	{USB_DEVICE(0x046d, 0x08a7), DVNM("Logitech QuickCam Image")},
	{USB_DEVICE(0x046d, 0x08a9), DVNM("Logitech Notebook Deluxe")},
	{USB_DEVICE(0x046d, 0x08aa), DVNM("Labtec Webcam Notebook")},
	{USB_DEVICE(0x046d, 0x08ac), DVNM("Logitech QuickCam Cool")},
	{USB_DEVICE(0x046d, 0x08ad), DVNM("Logitech QCCommunicate STX")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x046d, 0x08ae), DVNM("Logitech QuickCam for Notebooks")},
#endif
	{USB_DEVICE(0x046d, 0x08af), DVNM("Logitech QuickCam Cool")},
	{USB_DEVICE(0x046d, 0x08b9), DVNM("Logitech QC IM ???")},
	{USB_DEVICE(0x046d, 0x08d7), DVNM("Logitech QCam STX")},
	{USB_DEVICE(0x046d, 0x08d9), DVNM("Logitech QuickCam IM/Connect")},
	{USB_DEVICE(0x046d, 0x08d8), DVNM("Logitech Notebook Deluxe")},
	{USB_DEVICE(0x046d, 0x08da), DVNM("Logitech QuickCam Messenger")},
	{USB_DEVICE(0x046d, 0x08dd), DVNM("Logitech QuickCam for Notebooks")},
	{USB_DEVICE(0x0471, 0x0325), DVNM("Philips SPC 200 NC")},
	{USB_DEVICE(0x0471, 0x0326), DVNM("Philips SPC 300 NC")},
	{USB_DEVICE(0x0471, 0x032d), DVNM("Philips spc210nc")},
	{USB_DEVICE(0x0471, 0x032e), DVNM("Philips spc315nc")},
	{USB_DEVICE(0x055f, 0xc005), DVNM("Mustek Wcam300A")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x055f, 0xd003), DVNM("Mustek WCam300A")},
	{USB_DEVICE(0x055f, 0xd004), DVNM("Mustek WCam300 AN")},
#endif
	{USB_DEVICE(0x0698, 0x2003), DVNM("CTX M730V built in")},
	{USB_DEVICE(0x0ac8, 0x0302), DVNM("Z-star Vimicro zc0302")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x0ac8, 0x301b), DVNM("Z-Star zc301b")},
	{USB_DEVICE(0x0ac8, 0x303b), DVNM("Vimicro 0x303b")},
#endif
	{USB_DEVICE(0x0ac8, 0x305b), DVNM("Z-star Vimicro zc0305b")},
#ifndef CONFIG_USB_ZC0301
	{USB_DEVICE(0x0ac8, 0x307b), DVNM("Z-Star 307b")},
	{USB_DEVICE(0x10fd, 0x0128), DVNM("Typhoon Webshot II 300k 0x0128")},
	{USB_DEVICE(0x10fd, 0x8050), DVNM("Typhoon Webshot II USB 300k")},
#endif
	{}			/* end of entry */
};
#undef DVNAME
MODULE_DEVICE_TABLE(usb, device_table);

/* -- device connect -- */
static int sd_probe(struct usb_interface *intf,
			const struct usb_device_id *id)
{
	return gspca_dev_probe(intf, id, &sd_desc, sizeof(struct sd),
				THIS_MODULE);
}

/* USB driver */
static struct usb_driver sd_driver = {
	.name = MODULE_NAME,
	.id_table = device_table,
	.probe = sd_probe,
	.disconnect = gspca_disconnect,
};

static int __init sd_mod_init(void)
{
	if (usb_register(&sd_driver) < 0)
		return -1;
	PDEBUG(D_PROBE, "v%s registered", version);
	return 0;
}

static void __exit sd_mod_exit(void)
{
	usb_deregister(&sd_driver);
	PDEBUG(D_PROBE, "deregistered");
}

module_init(sd_mod_init);
module_exit(sd_mod_exit);

module_param(force_sensor, int, 0644);
MODULE_PARM_DESC(force_sensor,
	"Force sensor. Only for experts!!!");
