The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/ic/bt8xx.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $OpenBSD: bt8xx.h,v 1.3 2005/06/23 14:57:48 robert Exp $        */
    2 /*      $NetBSD: bt8xx.h,v 1.4 2000/12/30 16:55:24 wiz Exp $    */
    3 
    4 /* This file is merged from ioctl_meteor.h and ioctl_bt848.h from FreeBSD. */
    5 /* The copyright below only applies to the ioctl_meteor.h part of this file. */
    6 
    7 #ifndef _DEV_IC_BT8XX_H_
    8 #define _DEV_IC_BT8XX_H_
    9 /*
   10  * Copyright (c) 1995 Mark Tinguely and Jim Lowe
   11  * All rights reserved.
   12  *
   13  * Redistribution and use in source and binary forms, with or without
   14  * modification, are permitted provided that the following conditions
   15  * are met:
   16  * 1. Redistributions of source code must retain the above copyright
   17  *    notice, this list of conditions and the following disclaimer.
   18  * 2. Redistributions in binary form must reproduce the above copyright
   19  *    notice, this list of conditions and the following disclaimer in the
   20  *    documentation and/or other materials provided with the distribution.
   21  * 3. All advertising materials mentioning features or use of this software
   22  *    must display the following acknowledgement:
   23  *      This product includes software developed by Mark Tinguely and Jim Lowe
   24  * 4. The name of the author may not be used to endorse or promote products 
   25  *    derived from this software without specific prior written permission.
   26  *
   27  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   28  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   29  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   30  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
   31  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   32  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   33  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   34  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   35  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
   36  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   37  * POSSIBILITY OF SUCH DAMAGE.
   38  *
   39  * FreeBSD: src/sys/i386/include/ioctl_meteor.h,v 1.11 1999/12/29 04:33:02 peter Exp
   40  */
   41 /*
   42  *      ioctl constants for Matrox Meteor Capture card.
   43  */
   44 
   45 
   46 #ifndef _KERNEL
   47 #include <sys/types.h>
   48 #endif
   49 #include <sys/ioccom.h>
   50 
   51 struct meteor_capframe {
   52         short   command;        /* see below for valid METEORCAPFRM commands */
   53         short   lowat;          /* start transfer if < this number */
   54         short   hiwat;          /* stop transfer if > this number */
   55 } ;
   56 
   57 /* structure for METEOR[GS]ETGEO - get/set geometry  */
   58 struct meteor_geomet {
   59         u_short         rows;
   60         u_short         columns;
   61         u_short         frames;
   62         u_int           oformat;
   63 } ;
   64 
   65 /* structure for METEORGCOUNT-get count of frames, fifo errors and dma errors */
   66 struct meteor_counts {
   67         u_int fifo_errors;      /* count of fifo errors since open */
   68         u_int dma_errors;       /* count of dma errors since open */
   69         u_int frames_captured;  /* count of frames captured since open */
   70         u_int even_fields_captured; /* count of even fields captured */
   71         u_int odd_fields_captured; /* count of odd fields captured */
   72 } ;
   73 
   74 /* structure for getting and setting direct transfers to vram */
   75 struct meteor_video {
   76         u_int   addr;   /* Address of location to dma to */
   77         u_int   width;  /* Width of memory area */
   78         u_int   banksize;       /* Size of Vram bank */
   79         u_int   ramsize;        /* Size of Vram */
   80 };
   81 
   82 #define METEORCAPTUR _IOW('x', 1, int)                   /* capture a frame */
   83 #define METEORCAPFRM _IOW('x', 2, struct meteor_capframe)  /* sync capture */
   84 #define METEORSETGEO _IOW('x', 3, struct meteor_geomet)  /* set geometry */
   85 #define METEORGETGEO _IOR('x', 4, struct meteor_geomet)  /* get geometry */
   86 #define METEORSTATUS _IOR('x', 5, unsigned short)       /* get status */
   87 #define METEORSHUE   _IOW('x', 6, signed char)          /* set hue */
   88 #define METEORGHUE   _IOR('x', 6, signed char)          /* get hue */
   89 #define METEORSFMT   _IOW('x', 7, unsigned int)         /* set format */
   90 #define METEORGFMT   _IOR('x', 7, unsigned int)         /* get format */
   91 #define METEORSINPUT _IOW('x', 8, unsigned int)         /* set input dev */
   92 #define METEORGINPUT _IOR('x', 8, unsigned int)         /* get input dev */
   93 #define METEORSCHCV  _IOW('x', 9, unsigned char)        /* set uv gain */
   94 #define METEORGCHCV  _IOR('x', 9, unsigned char)        /* get uv gain */
   95 #define METEORSCOUNT _IOW('x',10, struct meteor_counts)
   96 #define METEORGCOUNT _IOR('x',10, struct meteor_counts)
   97 #define METEORSFPS   _IOW('x',11, unsigned short)       /* set fps */
   98 #define METEORGFPS   _IOR('x',11, unsigned short)       /* get fps */
   99 #define METEORSSIGNAL _IOW('x', 12, unsigned int)       /* set signal */
  100 #define METEORGSIGNAL _IOR('x', 12, unsigned int)       /* get signal */
  101 #define METEORSVIDEO _IOW('x', 13, struct meteor_video) /* set video */
  102 #define METEORGVIDEO _IOR('x', 13, struct meteor_video) /* get video */
  103 #define METEORSBRIG  _IOW('x', 14, unsigned char)       /* set brightness */
  104 #define METEORGBRIG  _IOR('x', 14, unsigned char)       /* get brightness */
  105 #define METEORSCSAT  _IOW('x', 15, unsigned char)       /* set chroma sat */
  106 #define METEORGCSAT  _IOR('x', 15, unsigned char)       /* get uv saturation */
  107 #define METEORSCONT  _IOW('x', 16, unsigned char)       /* set contrast */
  108 #define METEORGCONT  _IOR('x', 16, unsigned char)       /* get contrast */
  109 #define METEORSBT254 _IOW('x', 17, unsigned short)      /* set Bt254 reg */
  110 #define METEORGBT254 _IOR('x', 17, unsigned short)      /* get Bt254 reg */
  111 #define METEORSHWS   _IOW('x', 18, unsigned char)       /* set hor start reg */
  112 #define METEORGHWS   _IOR('x', 18, unsigned char)       /* get hor start reg */
  113 #define METEORSVWS   _IOW('x', 19, unsigned char)       /* set vert start reg */
  114 #define METEORGVWS   _IOR('x', 19, unsigned char)       /* get vert start reg */
  115 #define METEORSTS    _IOW('x', 20, unsigned char)       /* set time stamp */
  116 #define METEORGTS    _IOR('x', 20, unsigned char)       /* get time stamp */
  117 
  118 #define METEOR_STATUS_ID_MASK   0xf000  /* ID of 7196 */
  119 #define METEOR_STATUS_DIR       0x0800  /* Direction of Expansion port YUV */
  120 #define METEOR_STATUS_OEF       0x0200  /* Field detected: Even/Odd */
  121 #define METEOR_STATUS_SVP       0x0100  /* State of VRAM Port:inactive/active */
  122 #define METEOR_STATUS_STTC      0x0080  /* Time Constant: TV/VCR */
  123 #define METEOR_STATUS_HCLK      0x0040  /* Horiz PLL: locked/unlocked */
  124 #define METEOR_STATUS_FIDT      0x0020  /* Field detect: 50/60hz */
  125 #define METEOR_STATUS_ALTD      0x0002  /* Line alt: no line alt/line alt */
  126 #define METEOR_STATUS_CODE      0x0001  /* Colour info: no colour/colour */
  127 
  128                                 /* METEORCAPTUR capture options */
  129 #define METEOR_CAP_SINGLE       0x0001  /* capture one frame */
  130 #define METEOR_CAP_CONTINOUS    0x0002  /* continuously capture */
  131 #define METEOR_CAP_STOP_CONT    0x0004  /* stop the continuous capture */
  132 
  133                                 /* METEORCAPFRM capture commands */
  134 #define METEOR_CAP_N_FRAMES     0x0001  /* capture N frames */
  135 #define METEOR_CAP_STOP_FRAMES  0x0002  /* stop capture N frames */
  136 #define METEOR_HALT_N_FRAMES    0x0003  /* halt of capture N frames */
  137 #define METEOR_CONT_N_FRAMES    0x0004  /* continue after above halt */
  138 
  139                                 /* valid video input formats:  */
  140 #define METEOR_FMT_NTSC         0x00100 /* NTSC --  initialized default */
  141 #define METEOR_FMT_PAL          0x00200 /* PAL */
  142 #define METEOR_FMT_SECAM        0x00400 /* SECAM */
  143 #define METEOR_FMT_AUTOMODE     0x00800 /* auto-mode */
  144 #define METEOR_INPUT_DEV0       0x01000 /* camera input 0 -- default */
  145 #define METEOR_INPUT_DEV_RCA    METEOR_INPUT_DEV0
  146 #define METEOR_INPUT_DEV1       0x02000 /* camera input 1 */
  147 #define METEOR_INPUT_DEV2       0x04000 /* camera input 2 */
  148 #define METEOR_INPUT_DEV3       0x08000 /* camera input 3 */
  149 #define METEOR_INPUT_DEV_RGB    0x0a000 /* for rgb version of meteor */
  150 #define METEOR_INPUT_DEV_SVIDEO 0x06000 /* S-video input port */
  151 
  152                                 /* valid video output formats:  */
  153 #define METEOR_GEO_RGB16        0x0010000 /* packed -- initialized default */
  154 #define METEOR_GEO_RGB24        0x0020000 /* RBG 24 bits packed */
  155                                           /* internally stored in 32 bits */
  156 #define METEOR_GEO_YUV_PACKED   0x0040000 /* 4-2-2 YUV 16 bits packed */
  157 #define METEOR_GEO_YUV_PLANAR   0x0080000 /* 4-2-2 YUV 16 bits planer */
  158 #define METEOR_GEO_YUV_PLANER   METEOR_GEO_YUV_PLANAR
  159 #define METEOR_GEO_UNSIGNED     0x0400000 /* unsigned uv outputs */
  160 #define METEOR_GEO_EVEN_ONLY    0x1000000 /* set for even only field capture */
  161 #define METEOR_GEO_ODD_ONLY     0x2000000 /* set for odd only field capture */
  162 #define METEOR_GEO_FIELD_MASK   0x3000000
  163 #define METEOR_GEO_YUV_422      0x4000000 /* 4-2-2 YUV in Y-U-V combined */
  164 #define METEOR_GEO_OUTPUT_MASK  0x40f0000
  165 #define METEOR_GEO_YUV_12       0x10000000      /* YUV 12 format */
  166 #define METEOR_GEO_YUV_9        0x40000000      /* YUV 9 format */
  167 
  168 #define METEOR_FIELD_MODE       0x80000000      /* Field cap or Frame cap */
  169 
  170 #define METEOR_SIG_MODE_MASK    0xffff0000
  171 #define METEOR_SIG_FRAME        0x00000000      /* signal every frame */
  172 #define METEOR_SIG_FIELD        0x00010000      /* signal every field */
  173 
  174         /* following structure is used to coordinate the synchronous */
  175            
  176 struct meteor_mem {
  177                 /* kernel write only  */
  178         int     frame_size;      /* row*columns*depth */
  179         unsigned num_bufs;       /* number of frames in buffer (1-32) */
  180                 /* user and kernel change these */
  181         int     lowat;           /* kernel starts capture if < this number */
  182         int     hiwat;           /* kernel stops capture if > this number.
  183                                     hiwat <= numbufs */
  184         unsigned active;         /* bit mask of active frame buffers
  185                                     kernel sets, user clears */
  186         int     num_active_bufs; /* count of active frame buffer
  187                                     kernel increments, user decrements */
  188 
  189                 /* reference to mmapped data */
  190         caddr_t buf;             /* The real space (virtual addr) */
  191 } ;
  192 
  193 /*
  194  * extensions to ioctl_meteor.h for the bt848 cards
  195  *
  196  * FreeBSD: src/sys/i386/include/ioctl_bt848.h,v 1.27 2000/10/26 16:41:48 roger Exp
  197  */
  198 
  199 
  200 /*
  201  * frequency sets
  202  */
  203 #define CHNLSET_NABCST          1
  204 #define CHNLSET_CABLEIRC        2
  205 #define CHNLSET_CABLEHRC        3
  206 #define CHNLSET_WEUROPE         4
  207 #define CHNLSET_JPNBCST         5
  208 #define CHNLSET_JPNCABLE        6
  209 #define CHNLSET_XUSSR           7
  210 #define CHNLSET_AUSTRALIA       8
  211 #define CHNLSET_FRANCE          9
  212 #define CHNLSET_MIN             CHNLSET_NABCST
  213 #define CHNLSET_MAX             CHNLSET_FRANCE
  214 
  215 
  216 /*
  217  * constants for various tuner registers
  218  */
  219 #define BT848_HUEMIN            (-90)
  220 #define BT848_HUEMAX            90
  221 #define BT848_HUECENTER         0
  222 #define BT848_HUERANGE          179.3
  223 #define BT848_HUEREGMIN         (-128)
  224 #define BT848_HUEREGMAX         127
  225 #define BT848_HUESTEPS          256
  226 
  227 #define BT848_BRIGHTMIN         (-50)
  228 #define BT848_BRIGHTMAX         50
  229 #define BT848_BRIGHTCENTER      0
  230 #define BT848_BRIGHTRANGE       99.6
  231 #define BT848_BRIGHTREGMIN      (-128)
  232 #define BT848_BRIGHTREGMAX      127
  233 #define BT848_BRIGHTSTEPS       256
  234 
  235 #define BT848_CONTRASTMIN       0
  236 #define BT848_CONTRASTMAX       237
  237 #define BT848_CONTRASTCENTER    100
  238 #define BT848_CONTRASTRANGE     236.57
  239 #define BT848_CONTRASTREGMIN    0
  240 #define BT848_CONTRASTREGMAX    511
  241 #define BT848_CONTRASTSTEPS     512
  242 
  243 #define BT848_CHROMAMIN         0
  244 #define BT848_CHROMAMAX         284
  245 #define BT848_CHROMACENTER      100
  246 #define BT848_CHROMARANGE       283.89
  247 #define BT848_CHROMAREGMIN      0
  248 #define BT848_CHROMAREGMAX      511
  249 #define BT848_CHROMASTEPS       512
  250 
  251 #define BT848_SATUMIN           0
  252 #define BT848_SATUMAX           202
  253 #define BT848_SATUCENTER        100
  254 #define BT848_SATURANGE         201.18
  255 #define BT848_SATUREGMIN        0
  256 #define BT848_SATUREGMAX        511
  257 #define BT848_SATUSTEPS         512
  258 
  259 #define BT848_SATVMIN           0
  260 #define BT848_SATVMAX           284
  261 #define BT848_SATVCENTER        100
  262 #define BT848_SATVRANGE         283.89
  263 #define BT848_SATVREGMIN        0
  264 #define BT848_SATVREGMAX        511
  265 #define BT848_SATVSTEPS         512
  266 
  267 
  268 /*
  269  * audio stuff
  270  */
  271 #define AUDIO_TUNER             0x00    /* command for the audio routine */
  272 #define AUDIO_EXTERN            0x01    /* don't confuse them with bit */
  273 #define AUDIO_INTERN            0x02    /* settings */
  274 #define AUDIO_MUTE              0x80
  275 #define AUDIO_UNMUTE            0x81
  276 
  277 
  278 /*
  279  * EEProm stuff
  280  */
  281 struct eeProm {
  282         short   offset;
  283         short   count;
  284         u_char  bytes[ 256 ];
  285 };
  286 
  287 
  288 /*
  289  * XXX: this is a hack, should be in ioctl_meteor.h
  290  * here to avoid touching that file for now...
  291  */
  292 #define TVTUNER_SETCHNL    _IOW('x', 32, unsigned int)  /* set channel */
  293 #define TVTUNER_GETCHNL    _IOR('x', 32, unsigned int)  /* get channel */
  294 #define TVTUNER_SETTYPE    _IOW('x', 33, unsigned int)  /* set tuner type */
  295 #define TVTUNER_GETTYPE    _IOR('x', 33, unsigned int)  /* get tuner type */
  296 #define TVTUNER_GETSTATUS  _IOR('x', 34, unsigned int)  /* get tuner status */
  297 #define TVTUNER_SETFREQ    _IOW('x', 35, unsigned int)  /* set frequency */
  298 #define TVTUNER_GETFREQ    _IOR('x', 36, unsigned int)  /* get frequency */
  299  
  300 
  301 #define BT848_SHUE      _IOW('x', 37, int)              /* set hue */
  302 #define BT848_GHUE      _IOR('x', 37, int)              /* get hue */
  303 #define BT848_SBRIG     _IOW('x', 38, int)              /* set brightness */
  304 #define BT848_GBRIG     _IOR('x', 38, int)              /* get brightness */
  305 #define BT848_SCSAT     _IOW('x', 39, int)              /* set chroma sat */
  306 #define BT848_GCSAT     _IOR('x', 39, int)              /* get UV saturation */
  307 #define BT848_SCONT     _IOW('x', 40, int)              /* set contrast */
  308 #define BT848_GCONT     _IOR('x', 40, int)              /* get contrast */
  309 #define BT848_SVSAT     _IOW('x', 41, int)              /* set chroma V sat */
  310 #define BT848_GVSAT     _IOR('x', 41, int)              /* get V saturation */
  311 #define BT848_SUSAT     _IOW('x', 42, int)              /* set chroma U sat */
  312 #define BT848_GUSAT     _IOR('x', 42, int)              /* get U saturation */
  313 
  314 #define BT848_SCBARS    _IOR('x', 43, int)              /* set colorbar */
  315 #define BT848_CCBARS    _IOR('x', 44, int)              /* clear colorbar */
  316 
  317 
  318 #define BT848_SAUDIO    _IOW('x', 46, int)              /* set audio channel */
  319 #define BT848_GAUDIO    _IOR('x', 47, int)              /* get audio channel */
  320 #define BT848_SBTSC     _IOW('x', 48, int)              /* set audio channel */
  321 
  322 #define BT848_GSTATUS   _IOR('x', 49, unsigned int)     /* reap status */
  323 
  324 #define BT848_WEEPROM   _IOWR('x', 50, struct eeProm)   /* write to EEProm */
  325 #define BT848_REEPROM   _IOWR('x', 51, struct eeProm)   /* read from EEProm */
  326 
  327 #define BT848_SIGNATURE _IOWR('x', 52, struct eeProm)   /* read card sig */
  328 
  329 #define TVTUNER_SETAFC  _IOW('x', 53, int)              /* turn AFC on/off */
  330 #define TVTUNER_GETAFC  _IOR('x', 54, int)              /* query AFC on/off */
  331 #define BT848_SLNOTCH   _IOW('x', 55, int)              /* set luma notch */
  332 #define BT848_GLNOTCH   _IOR('x', 56, int)              /* get luma notch */
  333 
  334 /* Read/Write the BT848's I2C bus directly
  335  * b7-b0:    data (read/write)
  336  * b15-b8:   internal peripheral register (write)   
  337  * b23-b16:  i2c addr (write)
  338  * b31-b24:  1 = write, 0 = read 
  339  */
  340 #define BT848_I2CWR     _IOWR('x', 57, u_int)    /* i2c read-write */
  341 
  342 struct bktr_msp_control {
  343         unsigned char function;
  344         unsigned int  address;
  345         unsigned int  data;
  346 };
  347 
  348 #define BT848_MSP_RESET _IO('x', 76)                            /* MSP chip reset */
  349 #define BT848_MSP_READ  _IOWR('x', 77, struct bktr_msp_control) /* MSP chip read */
  350 #define BT848_MSP_WRITE _IOWR('x', 78, struct bktr_msp_control) /* MSP chip write */
  351 
  352 /* Support for radio tuner */
  353 #define RADIO_SETMODE    _IOW('x', 58, unsigned int)  /* set radio modes */
  354 #define RADIO_GETMODE    _IOR('x', 58, unsigned char)  /* get radio modes */
  355 #define   RADIO_AFC      0x01           /* These modes will probably not */
  356 #define   RADIO_MONO     0x02           /*  work on the FRxxxx. It does  */
  357 #define   RADIO_MUTE     0x08           /*  work on the FMxxxx. */
  358 #define RADIO_SETFREQ    _IOW('x', 59, unsigned int)  /* set frequency   */
  359 #define RADIO_GETFREQ    _IOR('x', 59, unsigned int)  /* set frequency   */
  360  /*        Argument is frequency*100MHz  */
  361 
  362 /*
  363  * XXX: more bad magic,
  364  *      we need to fix the METEORGINPUT to return something public
  365  *      duplicate them here for now...
  366  */
  367 #define METEOR_DEV0             0x00001000
  368 #define METEOR_DEV1             0x00002000
  369 #define METEOR_DEV2             0x00004000
  370 #define METEOR_DEV3             0x00008000
  371 #define METEOR_DEV_SVIDEO       0x00006000
  372 /*
  373  * right now I don't know were to put these, but as they are suppose to be
  374  * a part of a common video capture interface, these should be relocated to
  375  * another place.  Probably most of the METEOR_xxx defines need to be
  376  * renamed and moved to a common header
  377  */
  378 
  379 typedef enum { METEOR_PIXTYPE_RGB, METEOR_PIXTYPE_YUV,
  380                METEOR_PIXTYPE_YUV_PACKED,
  381                METEOR_PIXTYPE_YUV_12 } METEOR_PIXTYPE;
  382 
  383 
  384 struct meteor_pixfmt {
  385         u_int          index;         /* Index in supported pixfmt list     */
  386         METEOR_PIXTYPE type;          /* What's the board gonna feed us     */
  387         u_int          Bpp;           /* Bytes per pixel                    */
  388         u_int          masks[3];      /* R,G,B or Y,U,V masks, respectively */
  389         unsigned       swap_bytes :1; /* Bytes  swapped within shorts       */
  390         unsigned       swap_shorts:1; /* Shorts swapped within longs        */
  391 };
  392 
  393 
  394 struct bktr_clip {
  395     int          x_min;
  396     int          x_max;
  397     int          y_min;
  398     int          y_max;
  399 };
  400 
  401 #define BT848_MAX_CLIP_NODE 100
  402 struct _bktr_clip {
  403     struct bktr_clip x[BT848_MAX_CLIP_NODE];
  404 };
  405 
  406 /*
  407  * I'm using METEOR_xxx just because that will be common to other interface
  408  * and less of a surprise
  409  */
  410 #define METEORSACTPIXFMT        _IOW('x', 64, int )
  411 #define METEORGACTPIXFMT        _IOR('x', 64, int )
  412 #define METEORGSUPPIXFMT        _IOWR('x', 65, struct meteor_pixfmt)
  413 
  414 /* set clip list */
  415 #define BT848SCLIP     _IOW('x', 66, struct _bktr_clip )
  416 #define BT848GCLIP     _IOR('x', 66, struct _bktr_clip )
  417 
  418 
  419 /* set input format */
  420 #define BT848SFMT               _IOW('x', 67, unsigned int )
  421 #define BT848GFMT               _IOR('x', 67, unsigned int )
  422 
  423 /* set clear-buffer-on-start */
  424 #define BT848SCBUF      _IOW('x', 68, int)
  425 #define BT848GCBUF      _IOR('x', 68, int)
  426 
  427 /* set capture area */
  428 /* The capture area is the area of the video image which is grabbed */
  429 /* Usually the capture area is 640x480 (768x576 PAL) pixels */
  430 /* This area is then scaled to the dimensions the user requires */
  431 /* using the METEORGEO ioctl */
  432 /* However, the capture area could be 400x300 pixels from the top right */
  433 /* corner of the video image */
  434 struct bktr_capture_area {
  435    int      x_offset;
  436    int      y_offset;
  437    int      x_size;
  438    int      y_size;
  439 };
  440 #define BT848_SCAPAREA   _IOW('x', 69, struct bktr_capture_area)
  441 #define BT848_GCAPAREA   _IOR('x', 69, struct bktr_capture_area)
  442 
  443 
  444 /* Get channel Set */
  445 #define BT848_MAX_CHNLSET_NAME_LEN 16
  446 struct bktr_chnlset {
  447        short   index;
  448        short   max_channel;
  449        char    name[BT848_MAX_CHNLSET_NAME_LEN];
  450 };
  451 #define TVTUNER_GETCHNLSET _IOWR('x', 70, struct bktr_chnlset)
  452 
  453 
  454 
  455 /* Infra Red Remote Control */
  456 struct bktr_remote {
  457        unsigned char data[3];
  458 };
  459 #define REMOTE_GETKEY      _IOR('x', 71, struct bktr_remote)/*read the remote */
  460                                                             /*control receiver*/
  461                                                             /*returns raw data*/
  462 
  463  
  464 /*
  465  * Direct access to GPIO pins. You must add BKTR_GPIO_ACCESS to your kernel
  466  * configuration file to use these 
  467  */
  468 #define BT848_GPIO_SET_EN      _IOW('x', 72, int)      /* set gpio_out_en */
  469 #define BT848_GPIO_GET_EN      _IOR('x', 73, int)      /* get gpio_out_en */
  470 #define BT848_GPIO_SET_DATA    _IOW('x', 74, int)      /* set gpio_data */
  471 #define BT848_GPIO_GET_DATA    _IOR('x', 75, int)      /* get gpio_data */
  472 
  473 
  474 
  475 /*  XXX - Copied from /sys/pci/brktree_reg.h  */
  476 #define BT848_IFORM_FORMAT              (0x7<<0)
  477 # define BT848_IFORM_F_RSVD             (0x7)
  478 # define BT848_IFORM_F_SECAM            (0x6)
  479 # define BT848_IFORM_F_PALN             (0x5)
  480 # define BT848_IFORM_F_PALM             (0x4)
  481 # define BT848_IFORM_F_PALBDGHI         (0x3)
  482 # define BT848_IFORM_F_NTSCJ            (0x2)
  483 # define BT848_IFORM_F_NTSCM            (0x1)
  484 # define BT848_IFORM_F_AUTO             (0x0)
  485 
  486 
  487 
  488 /* XXX Silly constants not always defined by the environment.  */
  489 #ifndef TRUE
  490 #define TRUE 1
  491 #endif
  492 #ifndef FALSE
  493 #define FALSE 0
  494 #endif
  495 
  496 
  497 #endif /* _DEV_IC_BT8XX_H_ */

Cache object: e7d2874871c58313f307d698db5073c8


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.