pcic.h
资源名称:ixp425BSP.rar [点击查看]
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:4k
源码类别:
VxWorks
开发平台:
C/C++
- /* pcic.h - Intel 82365SL PCMCIA Host Bus Adaptor chip header */
- /* Copyright 1984-1996 Wind River Systems, Inc. */
- /* Copyright (c) 1994 David A. Hinds -- All Rights Reserved */
- /*
- modification history
- --------------------
- 01d,01apr98,hdn added PCIC_ENA_MEMCS16 macro.
- 01c,19jan98,hdn changed PCIC_VPP_XX macros.
- 01b,22feb96,hdn cleaned up.
- 01a,19jan95,hdn written based on David Hinds's version 2.2.3.
- */
- #ifndef __INCpcich
- #define __INCpcich
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef _ASMLANGUAGE
- #define PCIC_MAX_SOCKS 8 /* number of sockets */
- #define PCIC_MEM_WINDOWS 5 /* number of memory windows */
- #define PCIC_IO_WINDOWS 2 /* number of io windows */
- /* PCIC compatible chips */
- #define PCIC_I82365 0x10 /* Intel 82365 */
- #define PCIC_PD672X 0x20 /* Cirrus clone */
- #define PCIC_PD6710 0x30 /* Cirrus clone */
- #define PCIC_VLSI 0x40 /* VLSI clone */
- #define PCIC_IBM 0x50 /* IBM clone */
- #define PCIC_VG468 0x60 /* Vadem clone */
- #define PCIC_RICOH 0x70 /* Ricoh clone */
- /* Offsets for PCIC registers */
- #define PCIC_IDENT 0x00 /* Identification and revision */
- #define PCIC_STATUS 0x01 /* Interface status */
- #define PCIC_POWER 0x02 /* Power and RESETDRV control */
- #define PCIC_INTCTL 0x03 /* Interrupt and general control */
- #define PCIC_CSC 0x04 /* Card status change */
- #define PCIC_CSCINT 0x05 /* Card status change int control */
- #define PCIC_ADDRWIN 0x06 /* Address window enable */
- #define PCIC_IOCTL 0x07 /* I/O control */
- #define PCIC_GENCTL 0x16 /* Card detect and general control */
- #define PCIC_GBLCTL 0x1E /* Global control register */
- /* Offsets for I/O and memory window registers */
- #define PCIC_IO(win) (0x08+((win)<<2))
- #define PCIC_MEM(win) (0x10+((win)<<3))
- #define PCIC_W_START 0
- #define PCIC_W_STOP 2
- #define PCIC_W_OFF 4
- /* Flags for PCIC_STATUS */
- #define PCIC_CS_BVD1 0x01
- #define PCIC_CS_STSCHG 0x01
- #define PCIC_CS_BVD2 0x02
- #define PCIC_CS_SPKR 0x02
- #define PCIC_CS_DETECT 0x0c
- #define PCIC_CS_WRPROT 0x10
- #define PCIC_CS_READY 0x20
- #define PCIC_CS_POWERON 0x40
- #define PCIC_CS_GPI 0x80
- /* Flags for PCIC_POWER */
- #define PCIC_PWR_OFF 0x00 /* Turn off the socket */
- #define PCIC_VPP_5V 0x05 /* Vpp = 5.0v */
- #define PCIC_VPP_12V 0x0a /* Vpp = 12.0v */
- #define PCIC_VPP_MASK 0x0f /* Mask for turning off Vpp */
- #define PCIC_VCC_5V 0x10 /* Vcc = 5.0v */
- #define PCIC_VCC_3V 0x18 /* Vcc = 3.3v */
- #define PCIC_VCC_MASK 0x18 /* Mask for turning off Vcc */
- #define PCIC_PWR_AUTO 0x20 /* Auto pwr switch enable */
- #define PCIC_PWR_NORESET 0x40 /* Disable RESETDRV on resume */
- #define PCIC_PWR_OUT 0x80 /* Output enable */
- /* Flags for PCIC_INTCTL */
- #define PCIC_IRQ_MASK 0x0F
- #define PCIC_INTR_ENA 0x10
- #define PCIC_PC_IOCARD 0x20
- #define PCIC_PC_RESET 0x40
- #define PCIC_RING_ENA 0x80
- /* Flags for PCIC_CSC and PCIC_CSCINT*/
- #define PCIC_CSC_BVD1 0x01
- #define PCIC_CSC_STSCHG 0x01
- #define PCIC_CSC_BVD2 0x02
- #define PCIC_CSC_READY 0x04
- #define PCIC_CSC_DETECT 0x08
- #define PCIC_CSC_ANY 0x0F
- #define PCIC_CSC_GPI 0x10
- /* Flags for PCIC_ADDRWIN */
- #define PCIC_ENA_IO(win) (0x40 << (win))
- #define PCIC_ENA_MEM(win) (0x01 << (win))
- #define PCIC_ENA_ALL 0xdf
- #define PCIC_ENA_MEMCS16 0x20
- /* Flags for PCIC_IOCTL */
- #define PCIC_IOCTL_MASK(win) (0x0F << (win<<2))
- #define PCIC_IOCTL_WAIT(win) (0x08 << (win<<2))
- #define PCIC_IOCTL_0WS(win) (0x04 << (win<<2))
- #define PCIC_IOCTL_CS16(win) (0x02 << (win<<2))
- #define PCIC_IOCTL_16BIT(win) (0x01 << (win<<2))
- /* Flags for PCIC_GENCTL */
- #define PCIC_CTL_16DELAY 0x01
- #define PCIC_CTL_RESET_ENA 0x02
- #define PCIC_CTL_GPI_ENA 0x04
- #define PCIC_CTL_GPI_CTL 0x08
- #define PCIC_CTL_RESUME 0x10
- #define PCIC_CTL_SW_IRQ 0x20
- /* Flags for PCIC_GBLCTL */
- #define PCIC_GBL_PWRDOWN 0x01
- #define PCIC_GBL_CSC_LEV 0x02
- #define PCIC_GBL_WRBACK 0x04
- #define PCIC_GBL_IRQ_0_LEV 0x08
- #define PCIC_GBL_IRQ_1_LEV 0x10
- /* Flags for memory window registers */
- #define PCIC_MEM_16BIT 0x8000 /* In memory start high byte */
- #define PCIC_MEM_0WS 0x4000
- #define PCIC_MEM_WS1 0x8000 /* In memory stop high byte */
- #define PCIC_MEM_WS0 0x4000
- #define PCIC_MEM_WRPROT 0x8000 /* In offset high byte */
- #define PCIC_MEM_REG 0x4000
- /* function declarations */
- #if defined(__STDC__) || defined(__cplusplus)
- extern int pcicInit (int ioBase, int intVec, int intLevel,
- FUNCPTR showRtn);
- extern void pcicShow (int sock);
- #else
- extern int pcicInit ();
- extern void pcicShow ();
- #endif /* __STDC__ */
- #endif /* _ASMLANGUAGE */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __INCpcich */