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

Cache object: d5b2ea111d9734ebe81ffc2dd4b623b5


[ 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.