Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
NAME
csx_Parse_CISTPL_CFTABLE_ENTRY - parse 16-bit Card Confi-
guration Table Entry tupleSYNOPSIS
#include
int32_t csx_Parse_CISTPL_CFTABLE_ENTRY(client_handle_t ch, tuple_t *tu,
cistpl_cftable_entry_t *cft);
INTERFACE LEVEL
Solaris DDI Specific (Solaris DDI)PARAMETERS
ch Client handle returned from csx_RegisterClient(9F).
tu Pointer to a tuple_t structure (see tuple(9S))
returned by a call to csx_GetFirstTuple(9F) or
csx_GetNextTuple(9F).
cft Pointer to a cistpl_cftable_entry_t structure which
contains the parsed CISTPL_CFTABLE_ENTRY tuple infor-
mation upon return from this function.DESCRIPTION
This function parses the 16 bit Card Configuration TableEntry tuple, CISTPL_CFTABLE_ENTRY, into a form usable by PC
Card drivers.The CISTPL_CFTABLE_ENTRY tuple is used to describe each pos-
sible configuration of a PC Card and to distinguish amongthe permitted configurations. The CISTPL_CONFIG tuple must
precede all CISTPL_CFTABLE_ENTRY tuples.
STRUCTURE MEMBERSThe structure members of cistpl_cftable_entry_t are:
uint32_t flags; /* valid descriptions */
uint32_t ifc; /* interface description */
/* information */uint32_t pin; /* values for PRR */
uint32_t index; /* configuration index number */
cistpl_cftable_entry_pd_t pd; /* power requirements */
/* description */cistpl_cftable_entry_speed_t speed; /* device speed description */
SunOS 5.11 Last change: 20 Dec 1996 1
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
cistpl_cftable_entry_io_t io; /* device I/O map */
cistpl_cftable_entry_irq_t irq; /* device IRQ utilization */
cistpl_cftable_entry_mem_t mem; /* device memory space */
cistpl_cftable_entry_misc_t misc; /* miscellaneous
/* device features */The flags field is defined and bit-mapped as follows:
CISTPL_CFTABLE_TPCE_DEFAULT
This is a default configurationCISTPL_CFTABLE_TPCE_IF
If configuration byte existsCISTPL_CFTABLE_TPCE_FS_PWR
Power information existsCISTPL_CFTABLE_TPCE_FS_TD
Timing information existsCISTPL_CFTABLE_TPCE_FS_IO
I/O information exists
CISTPL_CFTABLE_TPCE_FS_IRQ
IRQ information existsCISTPL_CFTABLE_TPCE_FS_MEM
MEM space information existsCISTPL_CFTABLE_TPCE_FS_MISC
MISC information existsCISTPL_CFTABLE_TPCE_FS_STCE_EV
SunOS 5.11 Last change: 20 Dec 1996 2
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
STCE_EV exists
CISTPL_CFTABLE_TPCE_FS_STCE_PD
STCE_PD exists
If the CISTPL_CFTABLE_TPCE_IF flag is set, the ifc field is
bit-mapped and defined as follows:
CISTPL_CFTABLE_TPCE_IF_MEMORY
Memory interfaceCISTPL_CFTABLE_TPCE_IF_IO_MEM
IO and memoryCISTPL_CFTABLE_TPCE_IF_CUSTOM_0
Custom interface 0CISTPL_CFTABLE_TPCE_IF_CUSTOM_1
Custom interface 1CISTPL_CFTABLE_TPCE_IF_CUSTOM_2
Custom interface 2CISTPL_CFTABLE_TPCE_IF_CUSTOM_3
Custom interface 3CISTPL_CFTABLE_TPCE_IF_MASK
Interface type maskCISTPL_CFTABLE_TPCE_IF_BVD
BVD active in PRRSunOS 5.11 Last change: 20 Dec 1996 3
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
CISTPL_CFTABLE_TPCE_IF_WP
WP active in PRRCISTPL_CFTABLE_TPCE_IF_RDY
RDY active in PRRCISTPL_CFTABLE_TPCE_IF_MWAIT
WAIT - mem cycles
pin is a value for the Pin Replacement Register. index is a configuration index number.The structure members of cistpl_cftable_entry_pd_t are:
uint32_t flags; /* which descriptions are valid */
cistpl_cftable_entry_pwr_t pd_vcc; /* VCC power description */
cistpl_cftable_entry_pwr_t pd_vpp1; /* Vpp1 power description */
cistpl_cftable_entry_pwr_t pd_vpp2; /* Vpp2 power description */
This flags field is bit-mapped and defined as follows:
CISTPL_CFTABLE_TPCE_FS_PWR_VCC
Vcc description validCISTPL_CFTABLE_TPCE_FS_PWR_VPP1
Vpp1 description validCISTPL_CFTABLE_TPCE_FS_PWR_VPP2
Vpp2 description validThe structure members of cistpl_cftable_entry_pwr_t are:
uint32_t nomV; /* nominal supply voltage */
SunOS 5.11 Last change: 20 Dec 1996 4
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
uint32_t nomV_flags;
uint32_t minV; /* minimum supply voltage */
uint32_t minV_flags;
uint32_t maxV; /* maximum supply voltage */
uint32_t maxV_flags;
uint32_t staticI; /* continuous supply current */
uint32_t staticI_flags;
uint32_t avgI; /* max current required averaged over 1 sec. */
uint32_t avgI_flags;
uint32_t peakI; /* max current required averaged over 10mS */
uint32_t peakI_flags;
uint32_t pdownI; /* power down supply current required */
uint32_t pdownI_flags;
nomV, minV, maxV, staticI, avgI, peakI_flag, and pdownI are
defined and bit-mapped as follows:
CISTPL_CFTABLE_PD_NOMV Nominal supply voltage
CISTPL_CFTABLE_PD_MINV Minimum supply voltage
CISTPL_CFTABLE_PD_MAXV Maximum supply voltage
CISTPL_CFTABLE_PD_STATICI Continuous supply current
CISTPL_CFTABLE_PD_AVGI Maximum current required aver-
aged over 1 secondCISTPL_CFTABLE_PD_PEAKI Maximum current required aver-
aged over 10mSCISTPL_CFTABLE_PD_PDOWNI Power down supply current
requirednomV_flags, minV_flags, maxV_flags, staticI_flags,
avgI_flags, peakI_flags, and pdownI_flags are defined and
bit-mapped as follows:
CISTPL_CFTABLE_PD_EXISTS This parameter exists
SunOS 5.11 Last change: 20 Dec 1996 5
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
CISTPL_CFTABLE_PD_MUL10 Multiply return value by 10
CISTPL_CFTABLE_PD_NC_SLEEP No connection on sleep/power
downCISTPL_CFTABLE_PD_ZERO Zero value required
CISTPL_CFTABLE_PD_NC No connection ever
The structure members of cistpl_cftable_entry_speed_t are:
uint32_t flags; /* which timing information is present */
uint32_t wait; /* max WAIT time in device speed format */
uint32_t nS_wait; /* max WAIT time in nS */
uint32_t rdybsy; /* max RDY/BSY time in device speed format */
uint32_t nS_rdybsy; /* max RDY/BSY time in nS */
uint32_t rsvd; /* max RSVD time in device speed format */
uint32_t nS_rsvd; /* max RSVD time in nS */
The flags field is bit-mapped and defined as follows:
CISTPL_CFTABLE_TPCE_FS_TD_WAIT
WAIT timing existsCISTPL_CFTABLE_TPCE_FS_TD_RDY
RDY/BSY timing exists
CISTPL_CFTABLE_TPCE_FS_TD_RSVD
RSVD timing existsThe structure members of cistpl_cftable_entry_io_t are:
uint32_t flags; /* direct copy of TPCE_IO byte in tuple */
uint32_t addr_lines; /* number of decoded I/O address lines */
uint32_t ranges; /* number of I/O ranges */
cistpl_cftable_entry_io_range_t
range[CISTPL_CFTABLE_ENTRY_MAX_IO_RANGES];
SunOS 5.11 Last change: 20 Dec 1996 6
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
The flags field is defined and bit-mapped as follows:
CISTPL_CFTABLE_TPCE_FS_IO_BUS
Bus width maskCISTPL_CFTABLE_TPCE_FS_IO_BUS8
8-bit flag
CISTPL_CFTABLE_TPCE_FS_IO_BUS16
16-bit flag
CISTPL_CFTABLE_TPCE_FS_IO_RANGE
IO address ranges existThe structure members of cistpl_cftable_entry_io_range_t
are:uint32_t addr; /* I/O start address */
uint32_t length; /* I/O register length */
The structure members of cistpl_cftable_entry_irq_t are:
uint32_t flags; /* direct copy of TPCE_IR byte in tuple */
uint32_t irqs; /* bit mask for each allowed IRQ */
The structure members of cistpl_cftable_entry_mem_t are:
uint32_t flags; /* memory descriptor type and host addr info */
uint32_t windows; /* number of memory space descriptors */
cistpl_cftable_entry_mem_window_t
window[CISTPL_CFTABLE_ENTRY_MAX_MEM_WINDOWS];
The flags field is defined and bit-mapped as follows:
CISTPL_CFTABLE_TPCE_FS_MEM3
Space descriptorsSunOS 5.11 Last change: 20 Dec 1996 7
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
CISTPL_CFTABLE_TPCE_FS_MEM2
host_addr=card_addr
CISTPL_CFTABLE_TPCE_FS_MEM1
Card address=0 any host addressCISTPL_CFTABLE_TPCE_FS_MEM_HOST
If host address is present in MEM3The structure members of cistpl_cftable_entry_mem_window_t
are:uint32_t length; /* length of this window */
uint32_t card_addr; /* card address */
uint32_t host_addr; /* host address */
The structure members of cistpl_cftable_entry_misc_t are:
uint32_t flags; /* miscellaneous features flags */
The flags field is defined and bit-mapped as follows:
CISTPL_CFTABLE_TPCE_MI_MTC_MASK
Max twin cards maskCISTPL_CFTABLE_TPCE_MI_AUDIO
Audio on BVD2CISTPL_CFTABLE_TPCE_MI_READONLY
R/O storage
CISTPL_CFTABLE_TPCE_MI_PWRDOWN
Powerdown capableSunOS 5.11 Last change: 20 Dec 1996 8
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
CISTPL_CFTABLE_TPCE_MI_DRQ_MASK
DMAREQ maskCISTPL_CFTABLE_TPCE_MI_DRQ_SPK
DMAREQ on SPKRCISTPL_CFTABLE_TPCE_MI_DRQ_IOIS
DMAREQ on IOIS16CISTPL_CFTABLE_TPCE_MI_DRQ_INP
DMAREQ on INPACKCISTPL_CFTABLE_TPCE_MI_DMA_8
DMA width 8 bitsCISTPL_CFTABLE_TPCE_MI_DMA_16
DMA width 16 bitsRETURN VALUES
CS_SUCCESS Successful operation.
CS_BAD_HANDLE Client handle is invalid.
CS_UNKNOWN_TUPLE Parser does not know how to parse
tuple.CS_NO_CARD No PC Card in socket.
CS_NO_CIS No Card Information Structure
(CIS) on PC Card.CS_UNSUPPORTED_FUNCTION No PCMCIA hardware installed.
SunOS 5.11 Last change: 20 Dec 1996 9
Kernel Functions for Drivers csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
CONTEXT
This function may be called from user or kernel context.SEE ALSO
csx_GetFirstTuple(9F), csx_GetTupleData(9F),
csx_Parse_CISTPL_CONFIG(9F), csx_RegisterClient(9F),
csx_ValidateCIS(9F), tuple(9S)
PC Card 95 Standard, PCMCIA/JEIDA
SunOS 5.11 Last change: 20 Dec 1996 10