Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / drivers / media / usb / gspca / stk1135.h
CommitLineData
4ab0620b
OZ
1/*
2 * STK1135 registers
3 *
4 * Copyright (c) 2013 Ondrej Zary
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
4ab0620b
OZ
15 */
16
17#define STK1135_REG_GCTRL 0x000 /* GPIO control */
18#define STK1135_REG_ICTRL 0x004 /* Interrupt control */
19#define STK1135_REG_IDATA 0x008 /* Interrupt data */
20#define STK1135_REG_RMCTL 0x00c /* Remote wakeup control */
21#define STK1135_REG_POSVA 0x010 /* Power-on strapping data */
22
23#define STK1135_REG_SENSO 0x018 /* Sensor select options */
24#define STK1135_REG_PLLFD 0x01c /* PLL frequency divider */
25
26#define STK1135_REG_SCTRL 0x100 /* Sensor control register */
27#define STK1135_REG_DCTRL 0x104 /* Decimation control register */
28#define STK1135_REG_CISPO 0x110 /* Capture image starting position */
29#define STK1135_REG_CIEPO 0x114 /* Capture image ending position */
30#define STK1135_REG_TCTRL 0x120 /* Test data control */
31
32#define STK1135_REG_SICTL 0x200 /* Serial interface control register */
33#define STK1135_REG_SBUSW 0x204 /* Serial bus write */
34#define STK1135_REG_SBUSR 0x208 /* Serial bus read */
35#define STK1135_REG_SCSI 0x20c /* Software control serial interface */
36#define STK1135_REG_GSBWP 0x210 /* General serial bus write port */
37#define STK1135_REG_GSBRP 0x214 /* General serial bus read port */
38#define STK1135_REG_ASIC 0x2fc /* Alternate serial interface control */
39
40#define STK1135_REG_TMGEN 0x300 /* Timing generator */
41#define STK1135_REG_TCP1 0x350 /* Timing control parameter 1 */
42
43struct stk1135_pkt_header {
44 u8 flags;
45 u8 seq;
46 __le16 gpio;
47} __packed;
48
49#define STK1135_HDR_FRAME_START (1 << 7)
50#define STK1135_HDR_ODD (1 << 6)
51#define STK1135_HDR_I2C_VBLANK (1 << 5)
52
53#define STK1135_HDR_SEQ_MASK 0x3f