Annotation of Gnu-Mach/linux/pcmcia-cs/modules/ti113x.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * ti113x.h 1.32 2003/02/13 06:28:09
                      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_TI113X_H
                     31: #define _LINUX_TI113X_H
                     32: 
                     33: #ifndef PCI_VENDOR_ID_TI
                     34: #define PCI_VENDOR_ID_TI               0x104c
                     35: #endif
                     36: 
                     37: #ifndef PCI_DEVICE_ID_TI_1130
                     38: #define PCI_DEVICE_ID_TI_1130          0xac12
                     39: #endif
                     40: #ifndef PCI_DEVICE_ID_TI_1031
                     41: #define PCI_DEVICE_ID_TI_1031          0xac13
                     42: #endif
                     43: #ifndef PCI_DEVICE_ID_TI_1131
                     44: #define PCI_DEVICE_ID_TI_1131          0xac15
                     45: #endif
                     46: #ifndef PCI_DEVICE_ID_TI_1210
                     47: #define PCI_DEVICE_ID_TI_1210          0xac1a
                     48: #endif
                     49: #ifndef PCI_DEVICE_ID_TI_1211
                     50: #define PCI_DEVICE_ID_TI_1211          0xac1e
                     51: #endif
                     52: #ifndef PCI_DEVICE_ID_TI_1220
                     53: #define PCI_DEVICE_ID_TI_1220          0xac17
                     54: #endif
                     55: #ifndef PCI_DEVICE_ID_TI_1221
                     56: #define PCI_DEVICE_ID_TI_1221          0xac19
                     57: #endif
                     58: #ifndef PCI_DEVICE_ID_TI_1250A
                     59: #define PCI_DEVICE_ID_TI_1250A         0xac16
                     60: #endif
                     61: #ifndef PCI_DEVICE_ID_TI_1225
                     62: #define PCI_DEVICE_ID_TI_1225          0xac1c
                     63: #endif
                     64: #ifndef PCI_DEVICE_ID_TI_1251A
                     65: #define PCI_DEVICE_ID_TI_1251A         0xac1d
                     66: #endif
                     67: #ifndef PCI_DEVICE_ID_TI_1251B
                     68: #define PCI_DEVICE_ID_TI_1251B         0xac1f
                     69: #endif
                     70: #ifndef PCI_DEVICE_ID_TI_1410
                     71: #define PCI_DEVICE_ID_TI_1410          0xac50
                     72: #endif
                     73: #ifndef PCI_DEVICE_ID_TI_1420
                     74: #define PCI_DEVICE_ID_TI_1420          0xac51
                     75: #endif
                     76: #ifndef PCI_DEVICE_ID_TI_1450
                     77: #define PCI_DEVICE_ID_TI_1450          0xac1b
                     78: #endif
                     79: #ifndef PCI_DEVICE_ID_TI_1451
                     80: #define PCI_DEVICE_ID_TI_1451          0xac52
                     81: #endif
                     82: #ifndef PCI_DEVICE_ID_TI_1510
                     83: #define PCI_DEVICE_ID_TI_1510          0xac56
                     84: #endif
                     85: #ifndef PCI_DEVICE_ID_TI_1520
                     86: #define PCI_DEVICE_ID_TI_1520          0xac55
                     87: #endif
                     88: #ifndef PCI_DEVICE_ID_TI_1620
                     89: #define PCI_DEVICE_ID_TI_1620          0xac54
                     90: #endif
                     91: #ifndef PCI_DEVICE_ID_TI_4410
                     92: #define PCI_DEVICE_ID_TI_4410          0xac41
                     93: #endif
                     94: #ifndef PCI_DEVICE_ID_TI_4450
                     95: #define PCI_DEVICE_ID_TI_4450          0xac40
                     96: #endif
                     97: #ifndef PCI_DEVICE_ID_TI_4451
                     98: #define PCI_DEVICE_ID_TI_4451          0xac42
                     99: #endif
                    100: #ifndef PCI_DEVICE_ID_TI_4510
                    101: #define PCI_DEVICE_ID_TI_4510          0xac44
                    102: #endif
                    103: #ifndef PCI_DEVICE_ID_TI_4520
                    104: #define PCI_DEVICE_ID_TI_4520          0xac46
                    105: #endif
                    106: #ifndef PCI_DEVICE_ID_TI_7410
                    107: #define PCI_DEVICE_ID_TI_7410          0xac49
                    108: #endif
                    109: #ifndef PCI_DEVICE_ID_TI_7510
                    110: #define PCI_DEVICE_ID_TI_7510          0xac47
                    111: #endif
                    112: #ifndef PCI_DEVICE_ID_TI_7610
                    113: #define PCI_DEVICE_ID_TI_7610          0xac48
                    114: #endif
                    115: 
                    116: /* Register definitions for TI 113X PCI-to-CardBus bridges */
                    117: 
                    118: /* System Control Register */
                    119: #define TI113X_SYSTEM_CONTROL          0x80    /* 32 bit */
                    120: #define  TI113X_SCR_SMIROUTE           0x04000000
                    121: #define  TI113X_SCR_SMISTATUS          0x02000000
                    122: #define  TI113X_SCR_SMIENB             0x01000000
                    123: #define  TI113X_SCR_VCCPROT            0x00200000
                    124: #define  TI113X_SCR_REDUCEZV           0x00100000
                    125: #define  TI113X_SCR_CDREQEN            0x00080000
                    126: #define  TI113X_SCR_CDMACHAN           0x00070000
                    127: #define  TI113X_SCR_SOCACTIVE          0x00002000
                    128: #define  TI113X_SCR_PWRSTREAM          0x00000800
                    129: #define  TI113X_SCR_DELAYUP            0x00000400
                    130: #define  TI113X_SCR_DELAYDOWN          0x00000200
                    131: #define  TI113X_SCR_INTERROGATE                0x00000100
                    132: #define  TI113X_SCR_CLKRUN_SEL         0x00000080
                    133: #define  TI113X_SCR_PWRSAVINGS         0x00000040
                    134: #define  TI113X_SCR_SUBSYSRW           0x00000020
                    135: #define  TI113X_SCR_CB_DPAR            0x00000010
                    136: #define  TI113X_SCR_CDMA_EN            0x00000008
                    137: #define  TI113X_SCR_ASYNC_IRQ          0x00000004
                    138: #define  TI113X_SCR_KEEPCLK            0x00000002
                    139: #define  TI113X_SCR_CLKRUN_ENA         0x00000001  
                    140: 
                    141: #define  TI122X_SCR_SER_STEP           0xc0000000
                    142: #define  TI122X_SCR_INTRTIE            0x20000000
                    143: #define  TI122X_SCR_P2CCLK             0x08000000
                    144: #define  TI122X_SCR_CBRSVD             0x00400000
                    145: #define  TI122X_SCR_MRBURSTDN          0x00008000
                    146: #define  TI122X_SCR_MRBURSTUP          0x00004000
                    147: #define  TI122X_SCR_RIMUX              0x00000001
                    148: 
                    149: /* Multimedia Control Register */
                    150: #define TI1250_MULTIMEDIA_CTL          0x84    /* 8 bit */
                    151: #define  TI1250_MMC_ZVOUTEN            0x80
                    152: #define  TI1250_MMC_PORTSEL            0x40
                    153: #define  TI1250_MMC_ZVEN1              0x02
                    154: #define  TI1250_MMC_ZVEN0              0x01
                    155: 
                    156: #define TI1250_GENERAL_STATUS          0x85    /* 8 bit */
                    157: #define TI1250_GPIO0_CONTROL           0x88    /* 8 bit */
                    158: #define TI1250_GPIO1_CONTROL           0x89    /* 8 bit */
                    159: #define TI1250_GPIO2_CONTROL           0x8a    /* 8 bit */
                    160: #define TI1250_GPIO3_CONTROL           0x8b    /* 8 bit */
                    161: #define TI12XX_IRQMUX                  0x8c    /* 32 bit */
                    162: 
                    163: /* Retry Status Register */
                    164: #define TI113X_RETRY_STATUS            0x90    /* 8 bit */
                    165: #define  TI113X_RSR_PCIRETRY           0x80
                    166: #define  TI113X_RSR_CBRETRY            0x40
                    167: #define  TI113X_RSR_TEXP_CBB           0x20
                    168: #define  TI113X_RSR_MEXP_CBB           0x10
                    169: #define  TI113X_RSR_TEXP_CBA           0x08
                    170: #define  TI113X_RSR_MEXP_CBA           0x04
                    171: #define  TI113X_RSR_TEXP_PCI           0x02
                    172: #define  TI113X_RSR_MEXP_PCI           0x01
                    173: 
                    174: /* Card Control Register */
                    175: #define TI113X_CARD_CONTROL            0x91    /* 8 bit */
                    176: #define  TI113X_CCR_RIENB              0x80
                    177: #define  TI113X_CCR_ZVENABLE           0x40
                    178: #define  TI113X_CCR_PCI_IRQ_ENA                0x20
                    179: #define  TI113X_CCR_PCI_IREQ           0x10
                    180: #define  TI113X_CCR_PCI_CSC            0x08
                    181: #define  TI113X_CCR_SPKROUTEN          0x02
                    182: #define  TI113X_CCR_IFG                        0x01
                    183: 
                    184: #define  TI1220_CCR_PORT_SEL           0x20
                    185: #define  TI122X_CCR_AUD2MUX            0x04
                    186: 
                    187: /* Device Control Register */
                    188: #define TI113X_DEVICE_CONTROL          0x92    /* 8 bit */
                    189: #define  TI113X_DCR_5V_FORCE           0x40
                    190: #define  TI113X_DCR_3V_FORCE           0x20
                    191: #define  TI113X_DCR_IMODE_MASK         0x06
                    192: #define  TI113X_DCR_IMODE_ISA          0x02
                    193: #define  TI113X_DCR_IMODE_SERIAL       0x04
                    194: 
                    195: #define  TI12XX_DCR_IMODE_PCI_ONLY     0x00
                    196: #define  TI12XX_DCR_IMODE_ALL_SERIAL   0x06
                    197: 
                    198: /* Buffer Control Register */
                    199: #define TI113X_BUFFER_CONTROL          0x93    /* 8 bit */
                    200: #define  TI113X_BCR_CB_READ_DEPTH      0x08
                    201: #define  TI113X_BCR_CB_WRITE_DEPTH     0x04
                    202: #define  TI113X_BCR_PCI_READ_DEPTH     0x02
                    203: #define  TI113X_BCR_PCI_WRITE_DEPTH    0x01
                    204: 
                    205: /* Diagnostic Register */
                    206: #define TI1250_DIAGNOSTIC              0x93    /* 8 bit */
                    207: #define  TI1250_DIAG_TRUE_VALUE                0x80
                    208: #define  TI1250_DIAG_PCI_IREQ          0x40
                    209: #define  TI1250_DIAG_PCI_CSC           0x20
                    210: #define  TI1250_DIAG_ASYNC_CSC         0x01
                    211: 
                    212: /* DMA Registers */
                    213: #define TI113X_DMA_0                   0x94    /* 32 bit */
                    214: #define TI113X_DMA_1                   0x98    /* 32 bit */
                    215: 
                    216: /* ExCA IO offset registers */
                    217: #define TI113X_IO_OFFSET(map)          (0x36+((map)<<1))
                    218: 
                    219: /* Data structure for tracking vendor-specific state */
                    220: typedef struct ti113x_state_t {
                    221:     u32                        sysctl;         /* TI113X_SYSTEM_CONTROL */
                    222:     u8                 cardctl;        /* TI113X_CARD_CONTROL */
                    223:     u8                 devctl;         /* TI113X_DEVICE_CONTROL */
                    224:     u8                 diag;           /* TI1250_DIAGNOSTIC */
                    225:     u32                        irqmux;         /* TI12XX_IRQMUX */
                    226: } ti113x_state_t;
                    227: 
                    228: #define TI_PCIC_ID \
                    229:     IS_TI1130, IS_TI1131, IS_TI1031, IS_TI1210, IS_TI1211,     \
                    230:     IS_TI1220, IS_TI1221, IS_TI1225, IS_TI1250A, IS_TI1251A,   \
                    231:     IS_TI1251B, IS_TI1410, IS_TI1420, IS_TI1450, IS_TI1451,    \
                    232:     IS_TI1510, IS_TI1520, IS_TI1620, IS_TI4410, IS_TI4450,     \
                    233:     IS_TI4451, IS_TI4510, IS_TI4520, IS_TI7410, IS_TI7510,     \
                    234:     IS_TI7610
                    235: 
                    236: #define TI_PCIC_INFO \
                    237:     { "TI 1130",  IS_TI|IS_CARDBUS, ID(TI, 1130) }, \
                    238:     { "TI 1131",  IS_TI|IS_CARDBUS, ID(TI, 1131) }, \
                    239:     { "TI 1031",  IS_TI|IS_CARDBUS, ID(TI, 1031) }, \
                    240:     { "TI 1210",  IS_TI|IS_CARDBUS, ID(TI, 1210) }, \
                    241:     { "TI 1211",  IS_TI|IS_CARDBUS, ID(TI, 1211) }, \
                    242:     { "TI 1220",  IS_TI|IS_CARDBUS, ID(TI, 1220) }, \
                    243:     { "TI 1221",  IS_TI|IS_CARDBUS, ID(TI, 1221) }, \
                    244:     { "TI 1225",  IS_TI|IS_CARDBUS, ID(TI, 1225) }, \
                    245:     { "TI 1250A", IS_TI|IS_CARDBUS, ID(TI, 1250A) }, \
                    246:     { "TI 1251A", IS_TI|IS_CARDBUS, ID(TI, 1251A) }, \
                    247:     { "TI 1251B", IS_TI|IS_CARDBUS, ID(TI, 1251B) }, \
                    248:     { "TI 1410",  IS_TI|IS_CARDBUS, ID(TI, 1410) }, \
                    249:     { "TI 1420",  IS_TI|IS_CARDBUS, ID(TI, 1420) }, \
                    250:     { "TI 1450",  IS_TI|IS_CARDBUS, ID(TI, 1450) }, \
                    251:     { "TI 1451",  IS_TI|IS_CARDBUS, ID(TI, 1451) }, \
                    252:     { "TI 1510",  IS_TI|IS_CARDBUS, ID(TI, 1510) }, \
                    253:     { "TI 1520",  IS_TI|IS_CARDBUS, ID(TI, 1520) }, \
                    254:     { "TI 1620",  IS_TI|IS_CARDBUS, ID(TI, 1620) }, \
                    255:     { "TI 4410",  IS_TI|IS_CARDBUS, ID(TI, 4410) }, \
                    256:     { "TI 4450",  IS_TI|IS_CARDBUS, ID(TI, 4450) }, \
                    257:     { "TI 4451",  IS_TI|IS_CARDBUS, ID(TI, 4451) }, \
                    258:     { "TI 4510",  IS_TI|IS_CARDBUS, ID(TI, 4510) }, \
                    259:     { "TI 4520",  IS_TI|IS_CARDBUS, ID(TI, 4520) }, \
                    260:     { "TI 7410",  IS_TI|IS_CARDBUS, ID(TI, 7410) }, \
                    261:     { "TI 7510",  IS_TI|IS_CARDBUS, ID(TI, 7510) }, \
                    262:     { "TI 7610",  IS_TI|IS_CARDBUS, ID(TI, 7610) }
                    263: 
                    264: #endif /* _LINUX_TI113X_H */

unix.superglobalmegacorp.com

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