Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/media/usb/cx231xx/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quelle  cx231xx-pcb-cfg.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
   cx231xx-pcb-cfg.h - driver for Conexant
Cx23100/101/102 USB video capture devices

   Copyright (C) 2008 <srinivasa.deevi at conexant dot com>

 */


#ifndef _PCB_CONFIG_H_
#define _PCB_CONFIG_H_

#include <linux/init.h>
#include <linux/module.h>

/***************************************************************************
* Class Information *
***************************************************************************/

#define CLASS_DEFAULT       0xFF

enum VENDOR_REQUEST_TYPE {
 /* Set/Get I2C */
 VRT_SET_I2C0 = 0x0,
 VRT_SET_I2C1 = 0x1,
 VRT_SET_I2C2 = 0x2,
 VRT_GET_I2C0 = 0x4,
 VRT_GET_I2C1 = 0x5,
 VRT_GET_I2C2 = 0x6,

 /* Set/Get GPIO */
 VRT_SET_GPIO = 0x8,
 VRT_GET_GPIO = 0x9,

 /* Set/Get GPIE */
 VRT_SET_GPIE = 0xA,
 VRT_GET_GPIE = 0xB,

 /* Set/Get Register Control/Status */
 VRT_SET_REGISTER = 0xC,
 VRT_GET_REGISTER = 0xD,

 /* Get Extended Compat ID Descriptor */
 VRT_GET_EXTCID_DESC = 0xFF,
};

enum BYTE_ENABLE_MASK {
 ENABLE_ONE_BYTE = 0x1,
 ENABLE_TWE_BYTE = 0x3,
 ENABLE_THREE_BYTE = 0x7,
 ENABLE_FOUR_BYTE = 0xF,
};

#define SPEED_MASK      0x1
enum USB_SPEED{
 FULL_SPEED = 0x0, /* 0: full speed */
 HIGH_SPEED = 0x1 /* 1: high speed */
};

#define TS_MASK         0x6
#define NO_TS_PORT 0x0 /* 2'b00: Neither port used. PCB not a Hybrid,
   only offers Analog TV or Video */

#define TS1_PORT 0x4 /* 2'b10: TS1 Input (Hybrid mode :
Digital or External Analog/Compressed source) */

#define TS1_TS2_PORT 0x6 /* 2'b11: TS1 & TS2 Inputs
(Dual inputs from Digital and/or
External Analog/Compressed sources) */

#define TS1_EXT_CLOCK 0x6 /* 2'b11: TS1 & TS2 as selector
to external clock */

#define TS1VIP_TS2_PORT 0x2 /* 2'b01: TS1 used as 656/VIP Output,
   TS2 Input (from Compressor) */


#define EAVP_MASK       0x8
enum EAV_PRESENT{
 NO_EXTERNAL_AV = 0x0, /* 0: No External A/V inputs
(no need for i2s block),
Analog Tuner must be present */

 EXTERNAL_AV = 0x8 /* 1: External A/V inputs
present (requires i2s blk) */

};

#define ATM_MASK        0x30
enum AT_MODE{
 DIF_TUNER = 0x30, /* 2'b11: IF Tuner (requires use of DIF) */
 BASEBAND_SOUND = 0x20, /* 2'b10: Baseband Composite &
Sound-IF Signals present */

 NO_TUNER = 0x10  /* 2'b0x: No Analog Tuner present */
};

#define PWR_SEL_MASK    0x40
#define SELF_POWER 0x0 /* 0: self power */
#define BUS_POWER 0x40 /* 1: bus power */

enum USB_POWE_TYPE{
 USB_SELF_POWER = 0,
 USB_BUS_POWER
};

#define BO_0_MASK       0x80
enum AVDEC_STATUS{
 AVDEC_DISABLE = 0x0, /* 0: A/V Decoder Disabled */
 AVDEC_ENABLE = 0x80 /* 1: A/V Decoder Enabled */
};

#define BO_1_MASK       0x100

#define BUSPOWER_MASK   0xC4 /* for Polaris spec 0.8 */
#define SELFPOWER_MASK  0x86

/***************************************************************************/
#define NOT_DECIDE_YET  0xFE
#define NOT_SUPPORTED   0xFF

/***************************************************************************
* for mod field use *
***************************************************************************/

#define MOD_DIGITAL     0x1
#define MOD_ANALOG      0x2
#define MOD_DIF         0x4
#define MOD_EXTERNAL    0x8
#define CAP_ALL_MOD     0x0f

/***************************************************************************
* source define *
***************************************************************************/

#define SOURCE_DIGITAL          0x1
#define SOURCE_ANALOG           0x2
#define SOURCE_DIF              0x4
#define SOURCE_EXTERNAL         0x8
#define SOURCE_TS_BDA   0x10
#define SOURCE_TS_ENCODE  0x20
#define SOURCE_TS_EXTERNAL 0x40

/***************************************************************************
* interface information define *
***************************************************************************/

struct INTERFACE_INFO {
 u8 interrupt_index;
 u8 ts1_index;
 u8 ts2_index;
 u8 audio_index;
 u8 video_index;
 u8 vanc_index;  /* VBI */
 u8 hanc_index;  /* Sliced CC */
 u8 ir_index;
};

enum INDEX_INTERFACE_INFO{
 INDEX_INTERRUPT = 0x0,
 INDEX_TS1,
 INDEX_TS2,
 INDEX_AUDIO,
 INDEX_VIDEO,
 INDEX_VANC,
 INDEX_HANC,
 INDEX_IR,
};

/***************************************************************************
* configuration information define *
***************************************************************************/

struct CONFIG_INFO {
 u8 config_index;
 struct INTERFACE_INFO interface_info;
};

struct pcb_config {
 u8 index;
 u8 type;  /* bus power or self power,
   self power--0, bus_power--1 */

 u8 speed;  /* usb speed, 2.0--1, 1.1--0 */
 u8 mode;  /* digital , anlog, dif or external A/V */
 u32 ts1_source;  /* three source -- BDA,External,encode */
 u32 ts2_source;
 u32 analog_source;
 u8 digital_index; /* bus-power used */
 u8 analog_index; /* bus-power used */
 u8 dif_index;  /* bus-power used */
 u8 external_index; /* bus-power used */
 u8 config_num;  /* current config num, 0,1,2,
   for self-power, always 0 */

 struct CONFIG_INFO hs_config_info[3];
 struct CONFIG_INFO fs_config_info[3];
};

enum INDEX_PCB_CONFIG{
 INDEX_SELFPOWER_DIGITAL_ONLY = 0x0,
 INDEX_SELFPOWER_DUAL_DIGITAL,
 INDEX_SELFPOWER_ANALOG_ONLY,
 INDEX_SELFPOWER_DUAL,
 INDEX_SELFPOWER_TRIPLE,
 INDEX_SELFPOWER_COMPRESSOR,
 INDEX_BUSPOWER_DIGITAL_ONLY,
 INDEX_BUSPOWER_ANALOG_ONLY,
 INDEX_BUSPOWER_DIF_ONLY,
 INDEX_BUSPOWER_EXTERNAL_ONLY,
 INDEX_BUSPOWER_EXTERNAL_ANALOG,
 INDEX_BUSPOWER_EXTERNAL_DIF,
 INDEX_BUSPOWER_EXTERNAL_DIGITAL,
 INDEX_BUSPOWER_DIGITAL_ANALOG,
 INDEX_BUSPOWER_DIGITAL_DIF,
 INDEX_BUSPOWER_DIGITAL_ANALOG_EXTERNAL,
 INDEX_BUSPOWER_DIGITAL_DIF_EXTERNAL,
};

/***************************************************************************/
struct cx231xx;

int initialize_cx231xx(struct cx231xx *p_dev);

#endif

Messung V0.5
C=97 H=96 G=96

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.