linux/drivers/media/usb/stk1160/stk1160-reg.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * STK1160 driver
   4 *
   5 * Copyright (C) 2012 Ezequiel Garcia
   6 * <elezegarcia--a.t--gmail.com>
   7 *
   8 * Based on Easycap driver by R.M. Thomas
   9 *      Copyright (C) 2010 R.M. Thomas
  10 *      <rmthomas--a.t--sciolus.org>
  11 */
  12
  13/* GPIO Control */
  14#define STK1160_GCTRL                   0x000
  15
  16/* Remote Wakeup Control */
  17#define STK1160_RMCTL                   0x00c
  18
  19/* Power-on Strapping Data */
  20#define STK1160_POSVA                   0x010
  21#define STK1160_POSV_L                  0x010
  22#define STK1160_POSV_M                  0x011
  23#define STK1160_POSV_H                  0x012
  24#define  STK1160_POSV_L_ACDOUT          BIT(3)
  25#define  STK1160_POSV_L_ACSYNC          BIT(2)
  26
  27/*
  28 * Decoder Control Register:
  29 * This byte controls capture start/stop
  30 * with bit #7 (0x?? OR 0x80 to activate).
  31 */
  32#define STK1160_DCTRL                   0x100
  33
  34/*
  35 * Decimation Control Register:
  36 * Byte 104: Horizontal Decimation Line Unit Count
  37 * Byte 105: Vertical Decimation Line Unit Count
  38 * Byte 106: Decimation Control
  39 * Bit 0 - Horizontal Decimation Control
  40 *   0 Horizontal decimation is disabled.
  41 *   1 Horizontal decimation is enabled.
  42 * Bit 1 - Decimates Half or More Column
  43 *   0 Decimates less than half from original column,
  44 *     send count unit (0x105) before each unit skipped.
  45 *   1 Decimates half or more from original column,
  46 *     skip count unit (0x105) before each unit sent.
  47 * Bit 2 - Vertical Decimation Control
  48 *   0 Vertical decimation is disabled.
  49 *   1 Vertical decimation is enabled.
  50 * Bit 3 - Vertical Greater or Equal to Half
  51 *   0 Decimates less than half from original row,
  52 *     send count unit (0x105) before each unit skipped.
  53 *   1 Decimates half or more from original row,
  54 *     skip count unit (0x105) before each unit sent.
  55 * Bit 4 - Decimation Unit
  56 *  0 Decimation will work with 2 rows or columns per unit.
  57 *  1 Decimation will work with 4 rows or columns per unit.
  58 */
  59#define STK1160_DMCTRL_H_UNITS          0x104
  60#define STK1160_DMCTRL_V_UNITS          0x105
  61#define STK1160_DMCTRL                  0x106
  62#define  STK1160_H_DEC_EN               BIT(0)
  63#define  STK1160_H_DEC_MODE             BIT(1)
  64#define  STK1160_V_DEC_EN               BIT(2)
  65#define  STK1160_V_DEC_MODE             BIT(3)
  66#define  STK1160_DEC_UNIT_SIZE          BIT(4)
  67
  68/* Capture Frame Start Position */
  69#define STK116_CFSPO                    0x110
  70#define STK116_CFSPO_STX_L              0x110
  71#define STK116_CFSPO_STX_H              0x111
  72#define STK116_CFSPO_STY_L              0x112
  73#define STK116_CFSPO_STY_H              0x113
  74
  75/* Capture Frame End Position */
  76#define STK116_CFEPO                    0x114
  77#define STK116_CFEPO_ENX_L              0x114
  78#define STK116_CFEPO_ENX_H              0x115
  79#define STK116_CFEPO_ENY_L              0x116
  80#define STK116_CFEPO_ENY_H              0x117
  81
  82/* Serial Interface Control  */
  83#define STK1160_SICTL                   0x200
  84#define STK1160_SICTL_CD                0x202
  85#define STK1160_SICTL_SDA               0x203
  86
  87/* Serial Bus Write */
  88#define STK1160_SBUSW                   0x204
  89#define STK1160_SBUSW_WA                0x204
  90#define STK1160_SBUSW_WD                0x205
  91
  92/* Serial Bus Read */
  93#define STK1160_SBUSR                   0x208
  94#define STK1160_SBUSR_RA                0x208
  95#define STK1160_SBUSR_RD                0x209
  96
  97/* Alternate Serial Interface Control */
  98#define STK1160_ASIC                    0x2fc
  99
 100/* PLL Select Options */
 101#define STK1160_PLLSO                   0x018
 102
 103/* PLL Frequency Divider */
 104#define STK1160_PLLFD                   0x01c
 105
 106/* Timing Generator */
 107#define STK1160_TIGEN                   0x300
 108
 109/* Timing Control Parameter */
 110#define STK1160_TICTL                   0x350
 111
 112/* AC97 Audio Control */
 113#define STK1160_AC97CTL_0               0x500
 114#define STK1160_AC97CTL_1               0x504
 115#define  STK1160_AC97CTL_0_CR           BIT(1)
 116#define  STK1160_AC97CTL_0_CW           BIT(2)
 117
 118/* Use [0:6] bits of register 0x504 to set codec command address */
 119#define STK1160_AC97_ADDR               0x504
 120/* Use [16:31] bits of register 0x500 to set codec command data */
 121#define STK1160_AC97_CMD                0x502
 122
 123/* Audio I2S Interface */
 124#define STK1160_I2SCTL                  0x50c
 125
 126/* EEPROM Interface */
 127#define STK1160_EEPROM_SZ               0x5f0
 128