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/pc/devlml.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 /* Lml 22 driver */
    2 
    3 #define MJPG_VERSION "LML33 v0.2"
    4 #define NLML 2
    5 
    6 /*
    7  * The following values can be modified to tune/set default behaviour of the
    8  * driver.
    9  */
   10 
   11 /* The number of uS delay in I2C state transitions (probably >= 10) */
   12 #define I2C_DELAY 50
   13 
   14 /* The amount of spinning to do before the I2C bus is timed out */
   15 #define I2C_TIMEOUT 10000000
   16 
   17 /* The amount of spinning to do before the guest bus is timed out */
   18 #define GUEST_TIMEOUT 10000000
   19 
   20 /*
   21  * The amount of spinning to do before the polling of the still
   22  * transfer port is aborted.
   23  */
   24 #define STILL_TIMEOUT 1000000
   25 
   26 /*
   27  * The following number is the maximum number of cards permited. Each
   28  * card found is mapped to a device minor number starting from 0.
   29  */
   30 #define MAX_CARDS 1
   31 
   32 /* The following are the datastructures needed by the device. */
   33 #define I2C_BUS         0x044
   34 /* which bit of I2C_BUS is which */
   35 #define I2C_SCL         1
   36 #define I2C_SDA         2
   37 #define INTR_JPEGREP    0x08000000
   38 #define INTR_GIRQ0      0x20000000
   39 #define INTR_STAT       0x03c
   40 
   41 /* A Device records the properties of the various card types supported. */
   42 typedef struct {
   43         int     number;         /* The H33_CARDTYPE_ assigned */
   44         char    *card_name;     /* A string name */
   45         int     zr060addr;      /* Which guest bus address for the ZR36060 */
   46 } Device;
   47 
   48 /*
   49  * The remainder of the #defs are constants which should not need changing.
   50  *
   51  * The PCI vendor and device ids of the zoran chipset on the dc30.
   52  * these really belong in pci.h.
   53  */
   54 #define VENDOR_ZORAN            0x11de
   55 #define ZORAN_36057             0x6057
   56 #define ZORAN_36067             ZORAN_36057
   57 
   58 #define BT819Addr 0x8a
   59 #define BT856Addr 0x88
   60 
   61 #define NBUF 4
   62 
   63 #define FRAGM_FINAL_B 1
   64 #define STAT_BIT 1
   65 
   66 typedef struct  HdrFragment             HdrFragment;
   67 typedef struct  FrameHeader             FrameHeader;
   68 typedef union   Fragment                Fragment;
   69 typedef struct  FragmentTable           FragmentTable;
   70 typedef struct  CodeData                CodeData;
   71 
   72 /* If we're on a little endian architecture, then 0xFF, 0xD8 byte sequence is */
   73 #define MRK_SOI         0xD8FF
   74 #define MRK_APP3        0xE3FF
   75 #define APP_NAME        "LML"
   76 
   77 struct FrameHeader {            /* Don't modify this struct, used by h/w */
   78         ushort  mrkSOI;
   79         ushort  mrkAPP3;
   80         ushort  lenAPP3;
   81         char    nm[4];
   82         ushort  frameNo;
   83         vlong   ftime;
   84         ulong   frameSize;
   85         ushort  frameSeqNo;
   86         ushort  SOIfiller;
   87 };
   88 
   89 #define FRAGSIZE (128*1024)
   90 
   91 union Fragment {
   92         FrameHeader fh;
   93         char    fb[FRAGSIZE];
   94 };
   95 
   96 struct HdrFragment {
   97         uchar   hdr[sizeof(FrameHeader)];
   98         Fragment;
   99 };
  100 
  101 struct FragmentTable {          /* Don't modify this struct, used by h/w */
  102         ulong   addr;           /* Physical address */
  103         ulong   leng;
  104 };
  105 
  106 struct CodeData {               /* Don't modify this struct, used by h/w */
  107         ulong   pamjpg;         /* Physical addr of statCom[0] */
  108         ulong   pagrab;         /* Physical addr of grab buffer */
  109         ulong   statCom[4];     /* Physical addresses of fragdescs */
  110         FragmentTable fragdesc[4];
  111         HdrFragment frag[4];
  112 };
  113 
  114 enum{
  115         Codedatasize = (sizeof(CodeData) + BY2PG - 1) & ~(BY2PG - 1),
  116         Grabdatasize = (730 * 568 * 2 * 2 + BY2PG - 1) & ~(BY2PG - 1),
  117 };
  118 
  119 #define POST_OFFICE             0x200
  120 #define POST_PEND               0x02000000
  121 #define POST_TIME               0x01000000
  122 #define POST_DIR                0x00800000
  123 
  124 #define GID060  0

Cache object: 57cb0e984524237955bde6749df4d453


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