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