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/hfa/fore_slave.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 /*-
    2  *
    3  * ===================================
    4  * HARP  |  Host ATM Research Platform
    5  * ===================================
    6  *
    7  *
    8  * This Host ATM Research Platform ("HARP") file (the "Software") is
    9  * made available by Network Computing Services, Inc. ("NetworkCS")
   10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
   11  * support of any kind.
   12  *
   13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
   14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
   15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
   16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
   17  * In no event shall NetworkCS be responsible for any damages, including
   18  * but not limited to consequential damages, arising from or relating to
   19  * any use of the Software or related support.
   20  *
   21  * Copyright 1994-1998 Network Computing Services, Inc.
   22  *
   23  * Copies of this Software may be made, however, the above copyright
   24  * notice must be reproduced on all copies.
   25  *
   26  *      @(#) $FreeBSD$
   27  *
   28  */
   29 
   30 /*
   31  * FORE Systems 200-Series Adapter Support
   32  * ---------------------------------------
   33  *
   34  * Slave Interface definitions
   35  *
   36  */
   37 
   38 #ifndef _FORE_SLAVE_H
   39 #define _FORE_SLAVE_H
   40 
   41 /*
   42  * This file contains the (mostly hardware) definitions for each of the
   43  * supported 200-series slave interfaces.
   44  */
   45 
   46 
   47 /*
   48  * Structure defining the supported FORE 200-series interfaces
   49  */
   50 struct fore_device {
   51         char            *fd_name;       /* Device name (from PROM) */
   52         Atm_device      fd_devtyp;      /* Device type */
   53 };
   54 typedef struct fore_device      Fore_device;
   55 
   56 
   57 
   58 /*
   59  * Common definitions
   60  * ------------------
   61  */
   62 #define MON960_BASE     0x400           /* Address offset of Mon960 */
   63 #define AALI_BASE       0x4d40          /* Address offset of Aali */
   64 
   65 typedef volatile unsigned int   Fore_reg;       /* Slave control register */
   66 typedef volatile unsigned char  Fore_mem;       /* Slave memory */
   67 
   68 
   69 /*
   70  * SBA-200E SBus Slave Interface
   71  * -----------------------------
   72  */
   73 
   74 #define SBA200E_PROM_NAME       "FORE,sba-200e"
   75 
   76 /*
   77  * SBA-200E Host Control Register (HCR)
   78  */
   79 #define SBA200E_READ_BITS       0x1ff   /* Valid read data bits */
   80 #define SBA200E_WRITE_BITS      0x01f   /* Valid write data bits */
   81 #define SBA200E_STICKY_BITS     0x013   /* Sticky data bits */
   82 
   83 /* Read access */
   84 #define SBA200E_SBUS_INTR_RD    0x100   /* State of SBus interrupt */
   85 #define SBA200E_TEST_MODE       0x080   /* Device is in test-mode  */
   86 #define SBA200E_IFIFO_FULL      0x040   /* Input FIFO almost full (when 0) */
   87 #define SBA200E_ESP_HOLD_RD     0x020   /* State of ESP bus hold */
   88 #define SBA200E_SBUS_ENA_RD     0x010   /* State of SBus interrupt enable */
   89 #define SBA200E_OFIFO_FULL      0x008   /* Output FIFO almost full */
   90 #define SBA200E_SELFTEST_FAIL   0x004   /* i960 self-test failed (when 0) */
   91 #define SBA200E_HOLD_LOCK_RD    0x002   /* State of i960 hold lock signal */
   92 #define SBA200E_RESET_RD        0x001   /* State of board reset signal */
   93 
   94 /* Write access - bit set (clear) */
   95 #define SBA200E_SBUS_ENA        0x010   /* Enable (disable) SBus interrupts */
   96 #define SBA200E_CLR_SBUS_INTR   0x008   /* Clear SBus interrupt */
   97 #define SBA200E_I960_INTR       0x004   /* Issue interrupt to i960 */
   98 #define SBA200E_HOLD_LOCK       0x002   /* Set (clear) i960 hold lock signal */
   99 #define SBA200E_RESET           0x001   /* Set (clear) board reset signal */
  100 
  101 #define SBA200E_HCR_INIT(hcr,bits) \
  102                         ((hcr) = (SBA200E_WRITE_BITS & (bits)))
  103 #define SBA200E_HCR_SET(hcr,bits) \
  104                         ((hcr) = (((hcr) & SBA200E_STICKY_BITS) | (bits)))
  105 #define SBA200E_HCR_CLR(hcr,bits) \
  106                         ((hcr) = ((hcr) & (SBA200E_STICKY_BITS ^ (bits))))
  107 
  108 
  109 
  110 /*
  111  * SBA-200 SBus Slave Interface
  112  * ----------------------------
  113  */
  114 
  115 #define SBA200_PROM_NAME        "FORE,sba-200"
  116 
  117 /*
  118  * SBA-200 Board Control Register (BCR)
  119  */
  120 /* Write access - bit set */
  121 #define SBA200_CLR_SBUS_INTR    0x04    /* Clear SBus interrupt */
  122 #define SBA200_RESET            0x01    /* Assert board reset signal */
  123 
  124 /* Write access - bit clear */
  125 #define SBA200_RESET_CLR        0x00    /* Clear board reset signal */
  126 
  127 
  128 
  129 /*
  130  * PCA-200E PCI Bus Slave Interface
  131  * --------------------------------
  132  */
  133 
  134 /*
  135  * PCI Identifiers
  136  */
  137 #define FORE_VENDOR_ID          0x1127
  138 
  139 /*
  140  * PCA-200E PCI Configuration Space
  141  */
  142 #define PCA200E_PCI_MEMBASE     0x10    /* Memory base address */
  143 #define PCA200E_PCI_MCTL        0x40    /* Master control */
  144 
  145 /*
  146  * PCA-200E Address Space
  147  */
  148 #define PCA200E_RAM_SIZE        0x100000
  149 #define PCA200E_HCR_OFFSET      0x100000
  150 #define PCA200E_IMASK_OFFSET    0x100004
  151 #define PCA200E_PSR_OFFSET      0x100008
  152 #define PCA200E_MMAP_SIZE       0x10000c
  153 
  154 /*
  155  * PCA-200E Master Control
  156  */
  157 #define PCA200E_MCTL_SWAP       0x4000  /* Convert Slave endianess */
  158 
  159 /*
  160  * PCA-200E Host Control Register (HCR)
  161  */
  162 #define PCA200E_READ_BITS       0x0ff   /* Valid read data bits */
  163 #define PCA200E_WRITE_BITS      0x01f   /* Valid write data bits */
  164 #define PCA200E_STICKY_BITS     0x000   /* Sticky data bits */
  165 
  166 /* Read access */
  167 #define PCA200E_TEST_MODE       0x080   /* Device is in test-mode */
  168 #define PCA200E_IFIFO_FULL      0x040   /* Input FIFO almost full */
  169 #define PCA200E_ESP_HOLD_RD     0x020   /* State of ESP hold bus */
  170 #define PCA200E_OFIFO_FULL      0x010   /* Output FIFO almost full */
  171 #define PCA200E_HOLD_ACK        0x008   /* State of Hold Ack */
  172 #define PCA200E_SELFTEST_FAIL   0x004   /* i960 self-test failed */
  173 #define PCA200E_HOLD_LOCK_RD    0x002   /* State of i960 hold lock signal */
  174 #define PCA200E_RESET_BD        0x001   /* State of board reset signal */
  175 
  176 /* Write access */
  177 #define PCA200E_CLR_HBUS_INT    0x010   /* Clear host bus interrupt */
  178 #define PCA200E_I960_INTRA      0x008   /* Set slave interrupt A */
  179 #define PCA200E_I960_INTRB      0x004   /* Set slave interrupt B */
  180 #define PCA200E_HOLD_LOCK       0x002   /* Set (clear) i960 hold lock signal */
  181 #define PCA200E_RESET           0x001   /* Set (clear) board reset signal */
  182 
  183 #define PCA200E_HCR_INIT(hcr,bits) \
  184                         ((hcr) = (PCA200E_WRITE_BITS & (bits)))
  185 #define PCA200E_HCR_SET(hcr,bits) \
  186                         ((hcr) = (bits))
  187 #define PCA200E_HCR_CLR(hcr,bits) \
  188                         ((hcr) = 0)
  189 
  190 #endif  /* _FORE_SLAVE_H */

Cache object: 053ae48455eeea05f213107abffabd7e


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