/* * hrt_def.h */ #ifndef _HRT_DEF_H_ #define _HRT_DEF_H_ #ifndef __KERNEL__ # define __KERNEL__ #endif #include #include #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) # define KERNEL_2_6 #else # ifndef MODULE # define MODULE # endif #endif #include #ifdef KERNEL_2_6 #include #endif #include #include #include #include /* error codes */ #include /* udelay */ #include #define hrt_printk(args...) do{printk("hrt: "); printk(args);}while(0) /* Parameters */ #ifdef KERNEL_2_6 # define hrt_parm(name, pstr, type, perm) module_param(name, type, perm) #else # define hrt_parm(name, pstr, type, perm) MODULE_PARM(name, pstr) #endif #define HRT_MAX_DEVICES 3 #define HRT_BYTES_NEEDED 0x4000 #define HRT_MAX_BUFFERS 6 #define HRT_SFB_INVALID 0 #define HRT_SFB_LOCKED 0 #define HRT_SFB_DONE 2 /* * Card specific constants */ #define HRT_VENDOR_ID 0x0004 #define HRT_DEVICE_ID_GRAY 0x0404 #define HRT_DEVICE_ID_COLOR 0x0408 #define HRT_CONTROL_REG 0x2000 #define HRT_I2C_REG 0x2001 #define HRT_Y_LOW_REG 0x2002 #define HRT_Y_HIGH_REG 0x2003 #define HRT_INTERRUPT_ENABLE 0x2005 /* * The commands for freeze, live, etc. */ #define HRT_FIELD_MASK 0x01 #define HRT_LIVE_CMD 0x91 #define HRT_FREEZE_IMM_CMD 0x5B #define HRT_FREEZE_NEXT_CMD 0x99 /* * A/D registers */ #define HRT_BRIGHTNESS_REG 0x19 #define HRT_CONTRAST_REG 0x13 /* * NTSC 8-bit greyscale */ #define HRT_MAX_WIDTH 512 #define HRT_MAX_HEIGHT 480 #define HRT_MAX_BYTES_PER_PIXEL 1 #define HRT_MAX_BYTES_PER_LINE (HRT_MAX_WIDTH * HRT_MAX_BYTES_PER_PIXEL) #define HRT_MAX_FRAMESIZE (HRT_MAX_WIDTH * HRT_MAX_HEIGHT * HRT_MAX_BYTES_PER_PIXEL) /* * The unique I2C bus address of the SAA7110 (A/D) device */ #define HRT_AD_DEVICE_ID (128+16+8+4) /* Number of registers on the board- checked in i2c_init() */ #define HRT_SAA7110_NUMREGS 0x34 #endif