[BACK]Return to am79c930reg.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/am79c930reg.h, Revision 1.1.1.1

1.1       nbrk        1: /* $OpenBSD: am79c930reg.h,v 1.5 2003/10/21 18:58:48 jmc Exp $ */
                      2:
                      3: /*-
                      4:  * Copyright (c) 1999 The NetBSD Foundation, Inc.
                      5:  * All rights reserved.
                      6:  *
                      7:  * This code is derived from software contributed to The NetBSD Foundation
                      8:  * by Bill Sommerfeld
                      9:  *
                     10:  * Redistribution and use in source and binary forms, with or without
                     11:  * modification, are permitted provided that the following conditions
                     12:  * are met:
                     13:  * 1. Redistributions of source code must retain the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer.
                     15:  * 2. Redistributions in binary form must reproduce the above copyright
                     16:  *    notice, this list of conditions and the following disclaimer in the
                     17:  *    documentation and/or other materials provided with the distribution.
                     18:  * 3. All advertising materials mentioning features or use of this software
                     19:  *    must display the following acknowledgement:
                     20:  *        This product includes software developed by the NetBSD
                     21:  *        Foundation, Inc. and its contributors.
                     22:  * 4. Neither the name of The NetBSD Foundation nor the names of its
                     23:  *    contributors may be used to endorse or promote products derived
                     24:  *    from this software without specific prior written permission.
                     25:  *
                     26:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     27:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     28:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     29:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     30:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     31:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     32:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     33:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     34:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     35:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     36:  * POSSIBILITY OF SUCH DAMAGE.
                     37:  */
                     38:
                     39: /*
                     40:  * Device register definitions gleaned from from the AMD "Am79C930
                     41:  * PCnet(tm)-Mobile Single Chip Wireless LAN Media Access Controller"
                     42:  * data sheet, AMD Pub #20183, Rev B, amendment/0, issue date August 1997.
                     43:  *
                     44:  * As of 1999/10/23, this was available from AMD's web site in PDF
                     45:  * form.
                     46:  */
                     47:
                     48:
                     49: /*
                     50:  * The 79c930 contains a bus interface unit, a media access
                     51:  * controller, and a transceiver attachment interface.
                     52:  * The MAC contains an 80188 CPU core.
                     53:  * typical devices built around this chip typically add 32k or 64k of
                     54:  * memory for buffers.
                     55:  *
                     56:  * The 80188 runs firmware which handles most of the 802.11 gorp, and
                     57:  * communicates with the host using shared data structures in this
                     58:  * memory; the specifics of the shared memory layout are not covered
                     59:  * in this source file; see <dev/ic/am80211fw.h> for details of that layer.
                     60:  */
                     61:
                     62: /*
                     63:  * Device Registers
                     64:  */
                     65:
                     66: #define AM79C930_IO_BASE       0
                     67: #define AM79C930_IO_SIZE       16
                     68: #define AM79C930_IO_SIZE_BIG   40
                     69: #define AM79C930_IO_ALIGN      0x40    /* am79c930 decodes lower 6bits */
                     70:
                     71:
                     72: #define AM79C930_GCR   0       /* General Config Register */
                     73:
                     74: #define AM79C930_GCR_SWRESET   0x80    /* software reset */
                     75: #define AM79C930_GCR_CORESET   0x40    /* core reset */
                     76: #define AM79C930_GCR_DISPWDN   0x20    /* disable powerdown */
                     77: #define AM79C930_GCR_ECWAIT    0x10    /* embedded controller wait */
                     78: #define AM79C930_GCR_ECINT     0x08    /* interrupt from embedded ctrlr */
                     79: #define AM79C930_GCR_INT2EC    0x04    /* interrupt to embedded ctrlr */
                     80: #define AM79C930_GCR_ENECINT   0x02    /* enable interrupts from e.c. */
                     81: #define AM79C930_GCR_DAM       0x01    /* direct access mode (read only) */
                     82:
                     83: #define AM79C930_GCR_BITS "\020\1DAM\2ENECINT\3INT2EC\4ECINT\5ECWAIT\6DISPWDN\7CORESET\010SWRESET"
                     84:
                     85: #define AM79C930_BSS   1       /* Bank Switching Select register */
                     86:
                     87: #define AM79C930_BSS_ECATR     0x80    /* E.C. ALE test read */
                     88: #define AM79C930_BSS_FS                0x20    /* Flash Select */
                     89: #define AM79C930_BSS_MBS       0x18    /* Memory Bank Select */
                     90: #define AM79C930_BSS_EIOW      0x04    /* Expand I/O Window */
                     91: #define AM79C930_BSS_TBS       0x03    /* TAI Bank Select */
                     92:
                     93: #define AM79C930_LMA_LO        2       /* Local Memory Address register (low byte) */
                     94:
                     95: #define AM79C930_LMA_HI 3      /* Local Memory Address register (high byte) */
                     96:
                     97:                                /* set this bit to turn off ISAPnP version */
                     98: #define AM79C930_LMA_HI_ISAPWRDWN      0x80
                     99:
                    100: /*
                    101:  * mmm, inconsistency in chip documentation:
                    102:  * According to page 79--80, all four of the following are equivalent
                    103:  * and address the single byte pointed at by BSS_{FS,MBS} | LMA_{HI,LO}
                    104:  * According to tables on p63 and p67, they're the LSB through MSB
                    105:  * of a 32-bit word.
                    106:  */
                    107:
                    108: #define AM79C930_IODPA         4 /* I/O Data port A */
                    109: #define AM79C930_IODPB         5 /* I/O Data port B */
                    110: #define AM79C930_IODPC         6 /* I/O Data port C */
                    111: #define AM79C930_IODPD         7 /* I/O Data port D */
                    112:
                    113:
                    114: /*
                    115:  * Transceiver Attachment Interface Registers (TIR space)
                    116:  * (omitted for now, since host access to them is for diagnostic
                    117:  * purposes only).
                    118:  */
                    119:
                    120: /*
                    121:  * memory space goo.
                    122:  */
                    123:
                    124: #define AM79C930_MEM_SIZE      0x8000           /* 32k */
                    125: #define AM79C930_MEM_BASE      0x0              /* starting at 0 */

CVSweb