haiku/headers/private/usb_vision/nt100x.h

116 lines
3.2 KiB
C
Raw Normal View History

/*
* This file is a part of BeOS USBVision driver project.
* Copyright (c) 2003 by Siarzuk Zharski <imker@gmx.li>
*
* This file may be used under the terms of the BSD License
* Look into the file "License" for details.
*
* Skeletal part of this code was inherired from original BeOS sample code,
* that is distributed under the terms of the Be Sample Code License.
* Look into the file "Be License" for details.
*
* $Source: /cvsroot/sis4be/usbvision/include/nt100x.h,v $
* $Author: zharik $
* $Revision: 1.1 $
* $Date: 2003/07/15 18:58:05 $
*
*/
#ifndef _NT100X_H_
#define _NT100X_H_
#define READ_CMD_PREFIX 0x33C2
#define WRITE_CMD_PREFIX 0x3342
#define COMMAND_DATA_LENGTH 0x08
typedef struct{
uint8 reg;
uint8 data_length;
uint8 data[COMMAND_DATA_LENGTH];
}xet_nt100x_reg;
#define NT_IOCTL_READ_REGISTER B_DEVICE_OP_CODES_END + 1
#define NT_IOCTL_WRITE_REGISTER B_DEVICE_OP_CODES_END + 2
/*General Control Registers (Power, Restart EP, USB, IO­pins, Camera Control)*/
#define PWR_REG 0x00 /*0*/
#define CONFIG_REG 0x01 /*1*/
#define ADRS_REG 0x02 /*2*/
#define ALTER_REG 0x03 /*3*/
#define FORCE_ALTER_REG 0x04 /*4*/
#define STATUS_REG 0x05 /*5*/
#define IOPIN_REG 0x06 /*6*/
#define SER_MODE 0x07 /*7*/
#define SER_ADRS 0x08 /*8*/
#define SER_CONT 0x09 /*9*/
#define SER_DAT1 0x0a /*10*/
#define SER_DAT2 0x0b /*11*/
#define SER_DAT3 0x0c /*12*/
#define SER_DAT4 0x0d /*13*/
/*EEPROM Read/Write Registers*/
#define EE_DATA 0x0e /*14*/
#define EE_LSBAD 0x0f /*15*/
#define EE_CONT 0x10 /*16*/
/*17: 0x11*/
/*DRAM and Memory Buffers Setup Registers*/
#define DRM_CONT 0x12 /*18*/
#define DRM_PRM1 0x13 /*19*/
#define DRM_PRM2 0x14 /*20*/
#define DRM_PRM3 0x15 /*21*/
#define DRM_PRM4 0x16 /*22*/
#define DRM_PRM5 0x17 /*23*/
#define DRM_PRM6 0x18 /*24*/
#define DRM_PRM7 0x19 /*25*/
#define DRM_PRM8 0x1a /*26*/
/*Video Setup and Control Registers*/
#define VIN_REG1 0x1b /*27*/
#define VIN_REG2 0x1c /*28*/
#define LXSIZE_IN 0x1d /*29*/
#define MXSIZE_IN 0x1e /*30*/
#define LYSIZE_IN 0x1f /*31*/
#define MYSIZE_IN 0x20 /*32*/
#define LX_OFFST 0x21 /*33*/
#define MX_OFFST 0x22 /*34*/
#define LY_OFFST 0x23 /*35*/
#define MY_OFFST 0x24 /*36*/
#define FRM_RATE 0x25 /*37*/
#define LXSIZE_O 0x26 /*38*/
#define MXSIZE_O 0x27 /*39*/
#define LYSIZE_O 0x28 /*40*/
#define MYSIZE_O 0x29 /*41*/
#define FILT_CONT 0x2a /*42*/
#define VO_MODE 0x2b /*43*/
#define INTRA_CYC 0x2c /*44*/
#define STRIP_SZ 0x2d /*45*/
#define FORCE_INTRA 0x2e /*46*/
#define FORCE_UP 0x2f /*47*/
#define BUF_THR 0x30 /*48*/
#define DVI_YUV 0x31 /*49*/
#define AUDIO_CONT 0x32 /*50*/
#define AUD_PK_LEN 0x33 /*51*/
#define BLK_PK_LEN 0x34 /*52*/
/*USB WatchDog Register*/
#define WD_COUNT 0x35 /*53*/
/*54 0x36*/
/*55 0x37*/
/*Compression Ratio Management Registers*/
#define PCM_THR1 0x38 /*56*/
#define PCM_THR2 0x39 /*57*/
#define DIST_THR_I 0x3a /*58*/
#define DIST_THR_A 0x3b /*59*/
#define MAX_DIST_I 0x3c /*60*/
#define MAX_DIST_A 0x3d /*61*/
#define VID_BUF_ 0x3e /*62*/
#define LFP_LSB 0x3f /*63*/
#define LFP_MSB 0x40 /*64*/
#define VID_LPF 0x41 /*65*/
#endif //_NT100X_H_