Share via


CARD_CONFIG_INFO (Windows Embedded CE 6.0)

1/6/2010

This structure contains PC Card configuration information. It is passed to the CardRequestConfiguration function.All members are input-only.

Syntax

typedef struct { 
  CARD_SOCKET_HANDLE hSocket; 
  UINT16 fAttributes; 
  UINT8 fInterfaceType; 
  UINT8 uVcc; 
  UINT8 uVpp1; 
  UINT8 uVpp2; 
  UINT8 fRegisters; 
  UINT8 uConfigReg; 
  UINT8 uStatusReg; 
  UINT8 uPinReg; 
  UINT8 uCopyReg; 
  UINT8 uExtendedStatus; 
  UINT16 fExtRegisters;
  UINT8 IOBase[4];
  UINT8 IOLimit;
} CARD_CONFIG_INFO, *PCARD_CONFIG_INFO;

Members

  • hSocket
    Handle to a socket and function pair.
  • fAttributes
    Contains a bit mask for specifying interrupt request (IRQ), direct memory access (DMA), and voltage options.

    The following table shows the possible values.

    Value Description

    CFG_ATTR_IRQ_STEERING

    Enables IRQ steering in the socket controller.

    CFG_ATTR_ENABLE_DMA

    Enables DMA.

    CFG_ATTR_IRQ_WAKEUP

    Allows PCMCIA interrupts to wake the system. This requires the system to be capable of waking when CSC events detects a card. The socket is powered down during a suspend event, if this flag is set.

    CFG_ATTR_KEEP_POWERED

    Keeps the PCMCIA bus powered during a suspend event.

    CFG_ATTR_NO_SUSPEND_UNLOAD

    Used if all functions of a given socket request the behavior or if the system is capable of waking when CSC events detects a card. It is also used if the socket is flagged as not accessible.

    Microsoft recommends that you do not unload the driver during a suspend event unless absolutely necessary.

  • fInterfaceType
    Contains a bit mask specifying memory or I/O interface.

    The following table shows the possible values.

    Value Description

    CFG_IFACE_MEMORY

    Puts socket controller in memory-only interface mode.

    CFG_IFACE_MEMORY_IO

    Puts the socket controller in memory mode and I/O interface mode.

  • uVcc
    Specifies the Vcc voltage to use, in 0.1 volt increments.
  • uVpp1
    Specifies the Vpp1 voltage to use, in 0.1 volt increments.
  • uVpp2
    Specifies the Vpp2 voltage to use, in 0.1 volt increments.
  • fRegisters
    Specifies a bit mask indicating which registers are present. Each of these bits indicates the presence of one of the standard function and configuration registers in the attribute space of the PC Card. By calling CardRequestConfiguration, a driver can set these registers to whatever initial values the PC Card requires.

    Value Description

    CFG_REGISTER_CONFIG

    Indicates that the configuration option register, uConfigReg, contains data.

    CFG_REGISTER_STATUS

    Indicates that the function configuration and status register, uStatusReg, contains data.

    CFG_REGISTER_PIN

    Indicates that the pin replacement register, uPinReg, contains data.

    CFG_REGISTER_COPY

    Indicates that the socket and copy register, uCopyReg, contains data.

    CFG_REGISTER_EXSTATUS

    Indicates that the extended status register, uExtendedStatus, contains data.

    CFG_REGISTER_EXREG

    Indicates that the fExtRegister field exists and is valid.

  • uConfigReg
    Specifies the initial bit mask value to write to a configuration option register.

    The lower 6 bits of the configuration option register specify which configuration number to use for single function cards.

    Value Description

    FCR_COR_LEVEL_IREQ

    1 = level mode interrupts, 0 = pulse mode.

    FCR_COR_SRESET

    1 = soft reset.

  • uStatusReg
    Specifies the initial value to write to a function status register.

    The following tables shows the possible values.

    Value Description

    FCR_FCSR_INTR_ACK

    Interrupt is acknowledged

    FCR_FCSR_INTR

    Interrupt is pending

    FCR_FCSR_PWR_DOWN

    PC Card is placed in off mode

    FCR_FCSR_AUDIO

    Audio signal on BVD2, pin 62 is enabled

    FCR_FCSR_IO_IS_8

    8-bit-only I/O is enabled

    FCR_FCSR_STSCHG

    Status change, STSCHG, pin 63, from PC Card is enabled

    FCR_FCSR_CHANGED

    Status-changed bit is set in the pin replacement register

  • uPinReg
    Specifies the initial value to write to a pin replacement register.
  • uCopyReg
    Specifies the initial value to write to a socket and copy register.
  • uExtendedStatus
    Specifies the initial value to write to an extended status register.
  • fExtRegisters
    Specifies a bit mask indicating which extended registers are present. Each of these bits indicates the presence of one of the I/O function and configuration registers in the attribute space of the PC Card. By calling CardRequestConfiguration, a driver can set these registers to whatever initial values the PC Card requires. The registers are only written to if the register presence mask indicates that they exist.

    The following table shows the possible values.

    Value Description

    CFG_EXREGISTER_IOBASE0

    Indicates that IOBase[0] contains data.

    CFG_EXREGISTER_IOBASE1

    Indicates that IOBase[1] contains data.

    CFG_EXREGISTER_IOBASE2

    Indicates that IOBase[2] contains data.

    CFG_EXREGISTER_IOBASE3

    Indicates that IOBase[3] contains data.

    CFG_EXREGISTER_IOLIMIT

    Indicates that the I/O Limit register, IOLimit, contains data.

  • IOBase
    Specifies the values to be written to the four I/O Base registers. The four registers combine to make a 32-bit value that indicates the base I/O address to which the card should listen.
  • IOLimit
    Specifies the value to be written to the I/O Limit register. This register indicates to the card the number of significant I/O address lines.

Remarks

A Card service stores a record of the base address of the configuration registers, so there is no need for a uConfigBase member.

Requirements

Header cardsv2.h
Windows Embedded CE Windows CE 1.0 and later

See Also

Reference

PC Card Driver Structures
CardRequestConfiguration