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

Annotation of sys/dev/isa/gscsioreg.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: gscsioreg.h,v 1.2 2004/11/17 16:53:05 mickey Exp $    */
        !             2: /*
        !             3:  * Copyright (c) 2004 Alexander Yurchenko <grange@openbsd.org>
        !             4:  *
        !             5:  * Permission to use, copy, modify, and distribute this software for any
        !             6:  * purpose with or without fee is hereby granted, provided that the above
        !             7:  * copyright notice and this permission notice appear in all copies.
        !             8:  *
        !             9:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            10:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            11:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            12:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            13:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            14:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            15:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            16:  */
        !            17:
        !            18: /*
        !            19:  * National Semiconductor Geode SC1100 Super I/O register definitions.
        !            20:  */
        !            21:
        !            22: #define GSCSIO_IOSIZE  2       /* I/O space size */
        !            23:
        !            24: /* Index-data register pair */
        !            25: #define GSCSIO_IDX     0x0     /* index register */
        !            26: #define GSCSIO_DAT     0x1     /* data register */
        !            27:
        !            28: /* SIO control and configuration registers */
        !            29: #define GSCSIO_LDN     0x07    /* logical device number */
        !            30: #define GSCSIO_LDN_ACB1                0x05    /* ACCESS.bus 1 */
        !            31: #define GSCSIO_LDN_ACB2                0x06    /* ACCESS.bus 2 */
        !            32: #define GSCSIO_ID      0x20    /* SIO ID */
        !            33: #define GSCSIO_ID_SC1100       0xf5    /* Geode SC1100 ID */
        !            34: #define GSCSIO_CFG1    0x21    /* configuration 1 */
        !            35: #define GSCSIO_CFG2    0x22    /* configuration 2 */
        !            36: #define GSCSIO_REV     0x27    /* revision ID */
        !            37:
        !            38: /* Logical device control and configuration registers */
        !            39: #define GSCSIO_ACT     0x30    /* logical device activation control */
        !            40: #define GSCSIO_ACT_EN          0x01    /* enabled */
        !            41: #define GSCSIO_IO0_MSB 0x60    /* I/O space 0 base bits [15:8] */
        !            42: #define GSCSIO_IO0_LSB 0x61    /* I/O space 0 base bits [7:0] */
        !            43: #define GSCSIO_IO1_MSB 0x62    /* I/O space 1 base bits [15:8] */
        !            44: #define GSCSIO_IO1_LSB 0x63    /* I/O space 1 base bits [7:0] */
        !            45: #define GSCSIO_INUM    0x70    /* interrupt number */
        !            46: #define GSCSIO_ITYPE   0x71    /* interrupt type */
        !            47: #define GSCSIO_DMA0    0x74    /* DMA channel 0 */
        !            48: #define GSCSIO_DMA1    0x75    /* DMA channel 1 */
        !            49:
        !            50: #define GSCSIO_LDNUM   6       /* total number of logical devices */
        !            51:
        !            52: /* ACB (ACCESS.bus) logical device registers */
        !            53: #define GSCSIO_ACB_SDA 0x00    /* serial data */
        !            54: #define GSCSIO_ACB_ST  0x01    /* status */
        !            55: #define GSCSIO_ACB_ST_XMIT     (1 << 0)        /* transmit mode active */
        !            56: #define GSCSIO_ACB_ST_MASTER   (1 << 1)        /* master mode active */
        !            57: #define GSCSIO_ACB_ST_NMATCH   (1 << 2)        /* new match */
        !            58: #define GSCSIO_ACB_ST_STASTR   (1 << 3)        /* stall after start */
        !            59: #define GSCSIO_ACB_ST_NEGACK   (1 << 4)        /* negative ack */
        !            60: #define GSCSIO_ACB_ST_BER      (1 << 5)        /* bus error */
        !            61: #define GSCSIO_ACB_ST_SDAST    (1 << 6)        /* wait or hold data */
        !            62: #define GSCSIO_ACB_ST_SLVSTP   (1 << 7)        /* slave stop */
        !            63: #define GSCSIO_ACB_CST 0x02    /* control status */
        !            64: #define GSCSIO_ACB_CST_BUSY    (1 << 0)        /* busy */
        !            65: #define GSCSIO_ACB_CST_BB      (1 << 1)        /* bus busy */
        !            66: #define GSCSIO_ACB_CST_MATCH   (1 << 2)        /* match address */
        !            67: #define GSCSIO_ACB_CST_GCMTCH  (1 << 3)        /* global call match */
        !            68: #define GSCSIO_ACB_CST_TSDA    (1 << 4)        /* test ABD line */
        !            69: #define GSCSIO_ACB_CST_TGABC   (1 << 5)        /* toggle ABC line */
        !            70: #define GSCSIO_ACB_CTL1        0x03    /* control 1 */
        !            71: #define GSCSIO_ACB_CTL1_START  (1 << 0)        /* start condition */
        !            72: #define GSCSIO_ACB_CTL1_STOP   (1 << 1)        /* stop condition */
        !            73: #define GSCSIO_ACB_CTL1_INTEN  (1 << 2)        /* interrupt enabled */
        !            74: #define GSCSIO_ACB_CTL1_ACK    (1 << 4)        /* acknowledge */
        !            75: #define GSCSIO_ACB_CTL1_GCMEN  (1 << 5)        /* global call match enable */
        !            76: #define GSCSIO_ACB_CTL1_NMINTE (1 << 6)        /* new match intr enable */
        !            77: #define GSCSIO_ACB_CTL1_STASTRE        (1 << 7)        /* stall after start enable */
        !            78: #define GSCSIO_ACB_ADDR        0x04    /* own address */
        !            79: #define GSCSIO_ACB_ADDR_MASK   0x7f            /* address mask */
        !            80: #define GSCSIO_ACB_ADDR_SAEN   (1 << 7)        /* slave address enable */
        !            81: #define GSCSIO_ACB_CTL2        0x05    /* control 2 */
        !            82: #define GSCSIO_ACB_CTL2_EN     (1 << 0)        /* ACB enabled */
        !            83: #define GSCSIO_ACB_CTL2_FREQ_SHIFT     1       /* ACB frequency shift */
        !            84: #define GSCSIO_ACB_CTL2_FREQ_MASK      0x7f    /* ACB frequency mask */
        !            85:
        !            86: #define GSCSIO_ACB_FREQ                0x3c    /* standard I2C frequency 100kHz */

CVSweb