mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 07:02:23 +00:00
4ab0620bdc
Hello, this is a new gspca driver for Syntek STK1135 webcams. The code is completely new, but register values are based on Syntekdriver (stk11xx) by Nicolas VIVIEN (http://syntekdriver.sourceforge.net). Only one webcam type is supported now - vendor 0x174f, device 0x6a31. It's Asus F5RL laptop flippable webcam with MT9M112. The camera works better than in Windows - initializes much faster and provides more resolutions (the sensor can do almost any resolution - just add it to the stk1135_modes[] - could this feature be somehow used by applications to avoid SW scaling?). Autoflip works too - when the camera is flipped around, the image is flipped automatically. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
58 lines
2.2 KiB
C
58 lines
2.2 KiB
C
/*
|
|
* STK1135 registers
|
|
*
|
|
* Copyright (c) 2013 Ondrej Zary
|
|
*
|
|
* 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
|
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#define STK1135_REG_GCTRL 0x000 /* GPIO control */
|
|
#define STK1135_REG_ICTRL 0x004 /* Interrupt control */
|
|
#define STK1135_REG_IDATA 0x008 /* Interrupt data */
|
|
#define STK1135_REG_RMCTL 0x00c /* Remote wakeup control */
|
|
#define STK1135_REG_POSVA 0x010 /* Power-on strapping data */
|
|
|
|
#define STK1135_REG_SENSO 0x018 /* Sensor select options */
|
|
#define STK1135_REG_PLLFD 0x01c /* PLL frequency divider */
|
|
|
|
#define STK1135_REG_SCTRL 0x100 /* Sensor control register */
|
|
#define STK1135_REG_DCTRL 0x104 /* Decimation control register */
|
|
#define STK1135_REG_CISPO 0x110 /* Capture image starting position */
|
|
#define STK1135_REG_CIEPO 0x114 /* Capture image ending position */
|
|
#define STK1135_REG_TCTRL 0x120 /* Test data control */
|
|
|
|
#define STK1135_REG_SICTL 0x200 /* Serial interface control register */
|
|
#define STK1135_REG_SBUSW 0x204 /* Serial bus write */
|
|
#define STK1135_REG_SBUSR 0x208 /* Serial bus read */
|
|
#define STK1135_REG_SCSI 0x20c /* Software control serial interface */
|
|
#define STK1135_REG_GSBWP 0x210 /* General serial bus write port */
|
|
#define STK1135_REG_GSBRP 0x214 /* General serial bus read port */
|
|
#define STK1135_REG_ASIC 0x2fc /* Alternate serial interface control */
|
|
|
|
#define STK1135_REG_TMGEN 0x300 /* Timing generator */
|
|
#define STK1135_REG_TCP1 0x350 /* Timing control parameter 1 */
|
|
|
|
struct stk1135_pkt_header {
|
|
u8 flags;
|
|
u8 seq;
|
|
__le16 gpio;
|
|
} __packed;
|
|
|
|
#define STK1135_HDR_FRAME_START (1 << 7)
|
|
#define STK1135_HDR_ODD (1 << 6)
|
|
#define STK1135_HDR_I2C_VBLANK (1 << 5)
|
|
|
|
#define STK1135_HDR_SEQ_MASK 0x3f
|