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/sbus/tcxreg.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: tcxreg.h,v 1.1 2000/08/20 22:27:07 pk Exp $ */
    2 /* 
    3  *  Copyright (c) 1996 The NetBSD Foundation, Inc.
    4  *  All rights reserved.
    5  * 
    6  *  This code is derived from software contributed to The NetBSD Foundation
    7  *  by Paul Kranenburg.
    8  * 
    9  *  Redistribution and use in source and binary forms, with or without
   10  *  modification, are permitted provided that the following conditions
   11  *  are met:
   12  *  1. Redistributions of source code must retain the above copyright
   13  *     notice, this list of conditions and the following disclaimer.
   14  *  2. Redistributions in binary form must reproduce the above copyright
   15  *     notice, this list of conditions and the following disclaimer in the
   16  *     documentation and/or other materials provided with the distribution.
   17  *  3. All advertising materials mentioning features or use of this software
   18  *     must display the following acknowledgement:
   19  *         This product includes software developed by the NetBSD
   20  *         Foundation, Inc. and its contributors.
   21  *  4. Neither the name of The NetBSD Foundation nor the names of its
   22  *     contributors may be used to endorse or promote products derived
   23  *     from this software without specific prior written permission.
   24  * 
   25  *  THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   26  *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   27  *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   28  *  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   29  *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   30  *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   31  *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   32  *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   33  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   34  *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   35  *  POSSIBILITY OF SUCH DAMAGE.
   36  */ 
   37 
   38 /*
   39  * A TCX is composed of numerous groups of control registers, all with TLAs:
   40  *      DHC - ???
   41  *      TEC - transform engine control?
   42  *      THC - TEC Hardware Configuration
   43  *      ROM - a 128Kbyte ROM with who knows what in it.
   44  *      STIP - ???
   45  *      RSTIP - Raw ???
   46  *      BLIT - ???
   47  *      RBLIT - Raw ???
   48  *      ALT - ???
   49  *      colormap - see below
   50  *      frame buffer memory (video RAM)
   51  *      possible other stuff
   52  *
   53  */
   54 #define TCX_REG_DFB8    0
   55 #define TCX_REG_DFB24   1
   56 #define TCX_REG_STIP    2
   57 #define TCX_REG_BLIT    3
   58 #define TCX_REG_RDFB32  4
   59 #define TCX_REG_RSTIP   5
   60 #define TCX_REG_RBLIT   6
   61 #define TCX_REG_TEC     7
   62 #define TCX_REG_CMAP    8
   63 #define TCX_REG_THC     9
   64 #define TCX_REG_ROM     10
   65 #define TCX_REG_DHC     11
   66 #define TCX_REG_ALT     12
   67 
   68 #define TCX_NREG        13
   69 
   70 
   71 /*
   72  * The layout of the THC.
   73  */
   74 struct tcx_thc {
   75         u_int   thc_config;
   76         u_int   thc_xxx1[31];
   77         u_int   thc_sensebus;
   78         u_int   thc_xxx2[3];
   79         u_int   thc_delay;
   80         u_int   thc_strapping;
   81         u_int   thc_xxx3[1];
   82         u_int   thc_linecount;
   83         u_int   thc_xxx4[478];
   84         u_int   thc_hcmisc;
   85         u_int   thc_xxx5[56];
   86         u_int   thc_cursoraddr;
   87         u_int   thc_cursorAdata[32];
   88         u_int   thc_cursorBdata[32];
   89 
   90 };
   91 /* bits in thc_config ??? */
   92 #define THC_CFG_FBID            0xf0000000      /* id mask */
   93 #define THC_CFG_FBID_SHIFT      28
   94 #define THC_CFG_SENSE           0x07000000      /* sense mask */
   95 #define THC_CFG_SENSE_SHIFT     24
   96 #define THC_CFG_REV             0x00f00000      /* revision mask */
   97 #define THC_CFG_REV_SHIFT       20
   98 #define THC_CFG_RST             0x00008000      /* reset */
   99 
  100 /* bits in thc_hcmisc */
  101 #define THC_MISC_OPENFLG        0x80000000      /* open flag (what's that?) */
  102 #define THC_MISC_SWERR_EN       0x20000000      /* enable SW error interrupt */
  103 #define THC_MISC_VSYNC_LEVEL    0x08000000      /* vsync level when disabled */
  104 #define THC_MISC_HSYNC_LEVEL    0x04000000      /* hsync level when disabled */
  105 #define THC_MISC_VSYNC_DISABLE  0x02000000      /* vsync disable */
  106 #define THC_MISC_HSYNC_DISABLE  0x01000000      /* hsync disable */
  107 #define THC_MISC_XXX1           0x00ffe000      /* unused */
  108 #define THC_MISC_RESET          0x00001000      /* ??? */
  109 #define THC_MISC_XXX2           0x00000800      /* unused */
  110 #define THC_MISC_VIDEN          0x00000400      /* video enable */
  111 #define THC_MISC_SYNC           0x00000200      /* not sure what ... */
  112 #define THC_MISC_VSYNC          0x00000100      /* ... these really are */
  113 #define THC_MISC_SYNCEN         0x00000080      /* sync enable */
  114 #define THC_MISC_CURSRES        0x00000040      /* cursor resolution */
  115 #define THC_MISC_INTEN          0x00000020      /* v.retrace intr enable */
  116 #define THC_MISC_INTR           0x00000010      /* intr pending / ack bit */
  117 #define THC_MISC_DACWAIT        0x0000000f      /* ??? */
  118 
  119 /*
  120  * Partial description of TEC.
  121  */
  122 struct tcx_tec {
  123         u_int   tec_config;     /* what's in it? */
  124         u_int   tec_xxx0[35];
  125         u_int   tec_delay;      /* */
  126 #define TEC_DELAY_SYNC          0x00000f00
  127 #define TEC_DELAY_WR_F          0x000000c0
  128 #define TEC_DELAY_WR_R          0x00000030
  129 #define TEC_DELAY_SOE_F         0x0000000c
  130 #define TEC_DELAY_SOE_S         0x00000003
  131         u_int   tec_strapping;  /* */
  132 #define TEC_STRAP_FIFO_LIMIT    0x00f00000
  133 #define TEC_STRAP_CACHE_EN      0x00010000
  134 #define TEC_STRAP_ZERO_OFFSET   0x00008000
  135 #define TEC_STRAP_REFRSH_DIS    0x00004000
  136 #define TEC_STRAP_REF_LOAD      0x00001000
  137 #define TEC_STRAP_REFRSH_PERIOD 0x000003ff
  138         u_int   tec_hcmisc;     /* */
  139         u_int   tec_linecount;  /* */
  140         u_int   tec_hss;        /* */
  141         u_int   tec_hse;        /* */
  142         u_int   tec_hds;        /* */
  143         u_int   tec_hsedvs;     /* */
  144         u_int   tec_hde;        /* */
  145         u_int   tec_vss;        /* */
  146         u_int   tec_vse;        /* */
  147         u_int   tec_vds;        /* */
  148         u_int   tec_vde;        /* */
  149 };
  150 

Cache object: 6686e0c508103a24fa454f26d1a2ab11


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