Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
NAME
csxParseCISTPLCFTABLENTRY - parse 16-bit Card Confi-
guration Table Entry tuple
SYNOPSIS
#include
int32t csxParseCISTPLCFTABLENTRY(clienthandlet ch, tuplet *tu,
cistplcftableentryt *cft);
INTERFACE LEVEL
Solaris DI Specific (Solaris DI)
PARAMETERS
ch Client handle returned from csxRegisterClient(9F).
tu Pointer to a tuplet structure (see tuple(9S))
returned by a call to csxGetFirstTuple(9F) or
csxGetNextTuple(9F).
cft Pointer to a cistplcftableentryt structure which
contains the parsed CISTPLCFTABLENTRY tuple infor-
mation upon return from this function.
DESCRIPTION
This function parses the 16 bit Card Configuration Table
Entry tuple, CISTPLCFTABLENTRY, into a form usable by PC
Card drivers.
The CISTPLCFTABLENTRY tuple is used to describe each pos-
sible configuration of a PC Card and to distinguish among
the permitted configurations. The CISTPLCONFIG tuple must
precede all CISTPLCFTABLENTRY tuples.
STRUCTURE MEMBERS
The structure members of cistplcftableentryt are:
uint32t flags; /* valid descriptions */
uint32t ifc; /* interface description */
/* information */
uint32t pin; /* values for PR */
uint32t index; /* configuration index number */
cistplcftableentrypdt pd; /* power requirements */
/* description */
cistplcftableentryspeedt speed; /* device speed description */
SunOS 5.11 Last change: 20 Dec 1996 1
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
cistplcftableentryiot io; /* device I/O map */
cistplcftableentryirqt irq; /* device IRQ utilization */
cistplcftableentrymemt mem; /* device memory space */
cistplcftableentrymisct misc; /* miscellaneous
/* device features */
The flags field is defined and bit-mapped as follows:
CISTPLCFTABLETPCEDEFAULT
This is a default configuration
CISTPLCFTABLETPCEIF
If configuration byte exists
CISTPLCFTABLETPCEFSPWR
Power information exists
CISTPLCFTABLETPCEFSTD
Timing information exists
CISTPLCFTABLETPCEFSIO
I/O information exists
CISTPLCFTABLETPCEFSIRQ
IRQ information exists
CISTPLCFTABLETPCEFSMEM
MEM space information exists
CISTPLCFTABLETPCEFSMISC
MISC information exists
CISTPLCFTABLETPCEFSTCEV
SunOS 5.11 Last change: 20 Dec 1996 2
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
STCEV exists
CISTPLCFTABLETPCEFSTCEPD
STCEPD exists
If the CISTPLCFTABLETPCEIF flag is set, the ifc field is
bit-mapped and defined as follows:
CISTPLCFTABLETPCEIFMEMORY
Memory interface
CISTPLCFTABLETPCEIFIOMEM
IO and memory
CISTPLCFTABLETPCEIFCUSTOM0
Custom interface 0
CISTPLCFTABLETPCEIFCUSTOM1
Custom interface 1
CISTPLCFTABLETPCEIFCUSTOM2
Custom interface 2
CISTPLCFTABLETPCEIFCUSTOM3
Custom interface 3
CISTPLCFTABLETPCEIFMASK
Interface type mask
CISTPLCFTABLETPCEIFBVD
BVD active in PR
SunOS 5.11 Last change: 20 Dec 1996 3
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
CISTPLCFTABLETPCEIFWP
WP active in PR
CISTPLCFTABLETPCEIFRDY
RDY active in PR
CISTPLCFTABLETPCEIFMWAIT
WAIT - mem cycles
pin is a value for the Pin Replacement Register.
index is a configuration index number.
The structure members of cistplcftableentrypdt are:
uint32t flags; /* which descriptions are valid */
cistplcftableentrypwrt pdvcc; /* VC power description */
cistplcftableentrypwrt pdvpp1; /* Vpp1 power description */
cistplcftableentrypwrt pdvpp2; /* Vpp2 power description */
This flags field is bit-mapped and defined as follows:
CISTPLCFTABLETPCEFSPWRVC
Vcc description valid
CISTPLCFTABLETPCEFSPWRVP1
Vpp1 description valid
CISTPLCFTABLETPCEFSPWRVP2
Vpp2 description valid
The structure members of cistplcftableentrypwrt are:
uint32t nomV; /* nominal supply voltage */
SunOS 5.11 Last change: 20 Dec 1996 4
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
uint32t nomVflags;
uint32t minV; /* minimum supply voltage */
uint32t minVflags;
uint32t maxV; /* maximum supply voltage */
uint32t maxVflags;
uint32t staticI; /* continuous supply current */
uint32t staticIflags;
uint32t avgI; /* max current required averaged over 1 sec. */
uint32t avgIflags;
uint32t peakI; /* max current required averaged over 10mS */
uint32t peakIflags;
uint32t pdownI; /* power down supply current required */
uint32t pdownIflags;
nomV, minV, maxV, staticI, avgI, peakIflag, and pdownI are
defined and bit-mapped as follows:
CISTPLCFTABLEPDNOMV Nominal supply voltage
CISTPLCFTABLEPDMINV Minimum supply voltage
CISTPLCFTABLEPDMAXV Maximum supply voltage
CISTPLCFTABLEPDSTATICI Continuous supply current
CISTPLCFTABLEPDAVGI Maximum current required aver-
aged over 1 second
CISTPLCFTABLEPDPEAKI Maximum current required aver-
aged over 10mS
CISTPLCFTABLEPDPDOWNI Power down supply current
required
nomVflags, minVflags, maxVflags, staticIflags,
avgIflags, peakIflags, and pdownIflags are defined and
bit-mapped as follows:
CISTPLCFTABLEPDEXISTS This parameter exists
SunOS 5.11 Last change: 20 Dec 1996 5
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
CISTPLCFTABLEPDMUL10 Multiply return value by 10
CISTPLCFTABLEPDNCSLEP No connection on sleep/power
down
CISTPLCFTABLEPDZERO Zero value required
CISTPLCFTABLEPDNC No connection ever
The structure members of cistplcftableentryspeedt are:
uint32t flags; /* which timing information is present */
uint32t wait; /* max WAIT time in device speed format */
uint32t nSwait; /* max WAIT time in nS */
uint32t rdybsy; /* max RDY/BSY time in device speed format */
uint32t nSrdybsy; /* max RDY/BSY time in nS */
uint32t rsvd; /* max RSVD time in device speed format */
uint32t nSrsvd; /* max RSVD time in nS */
The flags field is bit-mapped and defined as follows:
CISTPLCFTABLETPCEFSTDWAIT
WAIT timing exists
CISTPLCFTABLETPCEFSTDRDY
RDY/BSY timing exists
CISTPLCFTABLETPCEFSTDRSVD
RSVD timing exists
The structure members of cistplcftableentryiot are:
uint32t flags; /* direct copy of TPCEIO byte in tuple */
uint32t addrlines; /* number of decoded I/O address lines */
uint32t ranges; /* number of I/O ranges */
cistplcftableentryioranget
range[CISTPLCFTABLENTRYMAXIORANGES];
SunOS 5.11 Last change: 20 Dec 1996 6
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
The flags field is defined and bit-mapped as follows:
CISTPLCFTABLETPCEFSIOBUS
Bus width mask
CISTPLCFTABLETPCEFSIOBUS8
8-bit flag
CISTPLCFTABLETPCEFSIOBUS16
16-bit flag
CISTPLCFTABLETPCEFSIORANGE
IO address ranges exist
The structure members of cistplcftableentryioranget
are:
uint32t addr; /* I/O start address */
uint32t length; /* I/O register length */
The structure members of cistplcftableentryirqt are:
uint32t flags; /* direct copy of TPCEIR byte in tuple */
uint32t irqs; /* bit mask for each allowed IRQ */
The structure members of cistplcftableentrymemt are:
uint32t flags; /* memory descriptor type and host addr info */
uint32t windows; /* number of memory space descriptors */
cistplcftableentrymemwindowt
window[CISTPLCFTABLENTRYMAXMEMWINDOWS];
The flags field is defined and bit-mapped as follows:
CISTPLCFTABLETPCEFSMEM3
Space descriptors
SunOS 5.11 Last change: 20 Dec 1996 7
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
CISTPLCFTABLETPCEFSMEM2
hostaddr=cardaddr
CISTPLCFTABLETPCEFSMEM1
Card address=0 any host address
CISTPLCFTABLETPCEFSMEMHOST
If host address is present in MEM3
The structure members of cistplcftableentrymemwindowt
are:
uint32t length; /* length of this window */
uint32t cardaddr; /* card address */
uint32t hostaddr; /* host address */
The structure members of cistplcftableentrymisct are:
uint32t flags; /* miscellaneous features flags */
The flags field is defined and bit-mapped as follows:
CISTPLCFTABLETPCEMIMTCMASK
Max twin cards mask
CISTPLCFTABLETPCEMIAUDIO
Audio on BVD2
CISTPLCFTABLETPCEMIREADONLY
R/O storage
CISTPLCFTABLETPCEMIPWRDOWN
Powerdown capable
SunOS 5.11 Last change: 20 Dec 1996 8
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
CISTPLCFTABLETPCEMIDRQMASK
DMAREQ mask
CISTPLCFTABLETPCEMIDRQSPK
DMAREQ on SPKR
CISTPLCFTABLETPCEMIDRQIOIS
DMAREQ on IOIS16
CISTPLCFTABLETPCEMIDRQINP
DMAREQ on INPACK
CISTPLCFTABLETPCEMIDMA8
DMA width 8 bits
CISTPLCFTABLETPCEMIDMA16
DMA width 16 bits
RETURN VALUES
CSUCES Successful operation.
CSBADHANDLE Client handle is invalid.
CSUNKNOWNTUPLE Parser does not know how to parse
tuple.
CSNOCARD No PC Card in socket.
CSNOCIS No Card Information Structure
(CIS) on PC Card.
CSUNSUPORTEDFUNCTION No PCMCIA hardware installed.
SunOS 5.11 Last change: 20 Dec 1996 9
Kernel Functions for Drivers csxParseCISTPLCFTABLENTRY(9F)
CONTEXT
This function may be called from user or kernel context.
SEE ALSO
csxGetFirstTuple(9F), csxGetTupleData(9F),
csxParseCISTPLCONFIG(9F), csxRegisterClient(9F),
csxValidateCIS(9F), tuple(9S)
PC Card 95 Standard, PCMCIA/JEIDA
SunOS 5.11 Last change: 20 Dec 1996 10
|