Annotation of Gnu-Mach/linux/pcmcia-cs/modules/ricoh.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * ricoh.h 1.16 2002/08/13 15:17:14
        !             3:  *
        !             4:  * The contents of this file are subject to the Mozilla Public License
        !             5:  * Version 1.1 (the "License"); you may not use this file except in
        !             6:  * compliance with the License. You may obtain a copy of the License
        !             7:  * at http://www.mozilla.org/MPL/
        !             8:  *
        !             9:  * Software distributed under the License is distributed on an "AS IS"
        !            10:  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
        !            11:  * the License for the specific language governing rights and
        !            12:  * limitations under the License. 
        !            13:  *
        !            14:  * The initial developer of the original code is David A. Hinds
        !            15:  * <[email protected]>.  Portions created by David A. Hinds
        !            16:  * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
        !            17:  *
        !            18:  * Alternatively, the contents of this file may be used under the
        !            19:  * terms of the GNU General Public License version 2 (the "GPL"), in
        !            20:  * which case the provisions of the GPL are applicable instead of the
        !            21:  * above.  If you wish to allow the use of your version of this file
        !            22:  * only under the terms of the GPL and not to allow others to use
        !            23:  * your version of this file under the MPL, indicate your decision by
        !            24:  * deleting the provisions above and replace them with the notice and
        !            25:  * other provisions required by the GPL.  If you do not delete the
        !            26:  * provisions above, a recipient may use your version of this file
        !            27:  * under either the MPL or the GPL.
        !            28:  */
        !            29: 
        !            30: #ifndef _LINUX_RICOH_H
        !            31: #define _LINUX_RICOH_H
        !            32: 
        !            33: #define RF5C_MODE_CTL          0x1f    /* Mode control */
        !            34: #define RF5C_PWR_CTL           0x2f    /* Mixed voltage control */
        !            35: #define RF5C_CHIP_ID           0x3a    /* Chip identification */
        !            36: #define RF5C_MODE_CTL_3                0x3b    /* Mode control 3 */
        !            37: 
        !            38: /* I/O window address offset */
        !            39: #define RF5C_IO_OFF(w)         (0x36+((w)<<1))
        !            40: 
        !            41: /* Flags for RF5C_MODE_CTL */
        !            42: #define RF5C_MODE_ATA          0x01    /* ATA mode */
        !            43: #define RF5C_MODE_LED_ENA      0x02    /* IRQ 12 is LED */
        !            44: #define RF5C_MODE_CA21         0x04
        !            45: #define RF5C_MODE_CA22         0x08
        !            46: #define RF5C_MODE_CA23         0x10
        !            47: #define RF5C_MODE_CA24         0x20
        !            48: #define RF5C_MODE_CA25         0x40
        !            49: #define RF5C_MODE_3STATE_BIT7  0x80
        !            50: 
        !            51: /* Flags for RF5C_PWR_CTL */
        !            52: #define RF5C_PWR_VCC_3V                0x01
        !            53: #define RF5C_PWR_IREQ_HIGH     0x02
        !            54: #define RF5C_PWR_INPACK_ENA    0x04
        !            55: #define RF5C_PWR_5V_DET                0x08
        !            56: #define RF5C_PWR_TC_SEL                0x10    /* Terminal Count: irq 11 or 15 */
        !            57: #define RF5C_PWR_DREQ_LOW      0x20
        !            58: #define RF5C_PWR_DREQ_OFF      0x00    /* DREQ steering control */
        !            59: #define RF5C_PWR_DREQ_INPACK   0x40
        !            60: #define RF5C_PWR_DREQ_SPKR     0x80
        !            61: #define RF5C_PWR_DREQ_IOIS16   0xc0
        !            62: 
        !            63: /* Values for RF5C_CHIP_ID */
        !            64: #define RF5C_CHIP_RF5C296      0x32
        !            65: #define RF5C_CHIP_RF5C396      0xb2
        !            66: 
        !            67: /* Flags for RF5C_MODE_CTL_3 */
        !            68: #define RF5C_MCTL3_DISABLE     0x01    /* Disable PCMCIA interface */
        !            69: #define RF5C_MCTL3_DMA_ENA     0x02
        !            70: 
        !            71: /* Register definitions for Ricoh PCI-to-CardBus bridges */
        !            72: 
        !            73: #ifndef PCI_VENDOR_ID_RICOH
        !            74: #define PCI_VENDOR_ID_RICOH            0x1180
        !            75: #endif
        !            76: #ifndef PCI_DEVICE_ID_RICOH_RL5C465
        !            77: #define PCI_DEVICE_ID_RICOH_RL5C465    0x0465
        !            78: #endif
        !            79: #ifndef PCI_DEVICE_ID_RICOH_RL5C466
        !            80: #define PCI_DEVICE_ID_RICOH_RL5C466    0x0466
        !            81: #endif
        !            82: #ifndef PCI_DEVICE_ID_RICOH_RL5C475
        !            83: #define PCI_DEVICE_ID_RICOH_RL5C475    0x0475
        !            84: #endif
        !            85: #ifndef PCI_DEVICE_ID_RICOH_RL5C476
        !            86: #define PCI_DEVICE_ID_RICOH_RL5C476    0x0476
        !            87: #endif
        !            88: #ifndef PCI_DEVICE_ID_RICOH_RL5C477
        !            89: #define PCI_DEVICE_ID_RICOH_RL5C477    0x0477
        !            90: #endif
        !            91: #ifndef PCI_DEVICE_ID_RICOH_RL5C478
        !            92: #define PCI_DEVICE_ID_RICOH_RL5C478    0x0478
        !            93: #endif
        !            94: 
        !            95: /* Extra bits in CB_BRIDGE_CONTROL */
        !            96: #define RL5C46X_BCR_3E0_ENA            0x0800
        !            97: #define RL5C46X_BCR_3E2_ENA            0x1000
        !            98: 
        !            99: /* Bridge Configuration Register */
        !           100: #define RL5C4XX_CONFIG                 0x80    /* 16 bit */
        !           101: #define  RL5C4XX_CONFIG_IO_1_MODE      0x0200
        !           102: #define  RL5C4XX_CONFIG_IO_0_MODE      0x0100
        !           103: #define  RL5C4XX_CONFIG_PREFETCH       0x0001
        !           104: 
        !           105: /* Misc Control Register */
        !           106: #define RL5C4XX_MISC                   0x82    /* 16 bit */
        !           107: #define  RL5C4XX_MISC_HW_SUSPEND_ENA   0x0002
        !           108: #define  RL5C4XX_MISC_VCCEN_POL                0x0100
        !           109: #define  RL5C4XX_MISC_VPPEN_POL                0x0200
        !           110: #define  RL5C46X_MISC_SUSPEND          0x0001
        !           111: #define  RL5C46X_MISC_PWR_SAVE_2       0x0004
        !           112: #define  RL5C46X_MISC_IFACE_BUSY       0x0008
        !           113: #define  RL5C46X_MISC_B_LOCK           0x0010
        !           114: #define  RL5C46X_MISC_A_LOCK           0x0020
        !           115: #define  RL5C46X_MISC_PCI_LOCK         0x0040
        !           116: #define  RL5C47X_MISC_IFACE_BUSY       0x0004
        !           117: #define  RL5C47X_MISC_PCI_INT_MASK     0x0018
        !           118: #define  RL5C47X_MISC_PCI_INT_DIS      0x0020
        !           119: #define  RL5C47X_MISC_SUBSYS_WR                0x0040
        !           120: #define  RL5C47X_MISC_SRIRQ_ENA                0x0080
        !           121: #define  RL5C47X_MISC_5V_DISABLE       0x0400
        !           122: #define  RL5C47X_MISC_LED_POL          0x0800
        !           123: 
        !           124: /* 16-bit Interface Control Register */
        !           125: #define RL5C4XX_16BIT_CTL              0x84    /* 16 bit */
        !           126: #define  RL5C4XX_16CTL_IO_TIMING       0x0100
        !           127: #define  RL5C4XX_16CTL_MEM_TIMING      0x0200
        !           128: #define  RL5C46X_16CTL_LEVEL_1         0x0010
        !           129: #define  RL5C46X_16CTL_LEVEL_2         0x0020
        !           130: 
        !           131: /* 16-bit IO and memory timing registers */
        !           132: #define RL5C4XX_16BIT_IO_0             0x88    /* 16 bit */
        !           133: #define RL5C4XX_16BIT_MEM_0            0x8a    /* 16 bit */
        !           134: #define  RL5C4XX_SETUP_MASK            0x0007
        !           135: #define  RL5C4XX_SETUP_SHIFT           0
        !           136: #define  RL5C4XX_CMD_MASK              0x01f0
        !           137: #define  RL5C4XX_CMD_SHIFT             4
        !           138: #define  RL5C4XX_HOLD_MASK             0x1c00
        !           139: #define  RL5C4XX_HOLD_SHIFT            10
        !           140: 
        !           141: /* Data structure for tracking vendor-specific state */
        !           142: typedef struct ricoh_state_t {
        !           143:     u_short            config;         /* RL5C4XX_CONFIG */
        !           144:     u_short            misc;           /* RL5C4XX_MISC */
        !           145:     u_short            ctl;            /* RL5C4XX_16BIT_CTL */
        !           146:     u_short            io;             /* RL5C4XX_16BIT_IO_0 */
        !           147:     u_short            mem;            /* RL5C4XX_16BIT_MEM_0 */
        !           148: } ricoh_state_t;
        !           149: 
        !           150: #define RICOH_PCIC_ID \
        !           151:     IS_RL5C465, IS_RL5C466, IS_RL5C475, IS_RL5C476, IS_RL5C477, IS_RL5C478
        !           152: 
        !           153: #define RICOH_PCIC_INFO \
        !           154:     { "Ricoh RL5C465", IS_RICOH|IS_CARDBUS, ID(RICOH, RL5C465) }, \
        !           155:     { "Ricoh RL5C466", IS_RICOH|IS_CARDBUS, ID(RICOH, RL5C466) }, \
        !           156:     { "Ricoh RL5C475", IS_RICOH|IS_CARDBUS, ID(RICOH, RL5C475) }, \
        !           157:     { "Ricoh RL5C476", IS_RICOH|IS_CARDBUS, ID(RICOH, RL5C476) }, \
        !           158:     { "Ricoh RL5C477", IS_RICOH|IS_CARDBUS, ID(RICOH, RL5C477) }, \
        !           159:     { "Ricoh RL5C478", IS_RICOH|IS_CARDBUS, ID(RICOH, RL5C478) }
        !           160: 
        !           161: #endif /* _LINUX_RICOH_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.