CSX_PARSE_CISTPL_CFTABLE_ENTRY(9F) | Kernel Functions for Drivers | CSX_PARSE_CISTPL_CFTABLE_ENTRY(9F) |
csx_Parse_CISTPL_CFTABLE_ENTRY - parse 16-bit Card Configuration Table Entry tuple
#include <sys/pccard.h> int32_t csx_Parse_CISTPL_CFTABLE_ENTRY(client_handle_t ch, tuple_t *tu,
cistpl_cftable_entry_t *cft);
illumos DDI Specific (illumos DDI)
ch
tu
cft
This function parses the 16 bit Card Configuration Table Entry tuple, CISTPL_CFTABLE_ENTRY, into a form usable by PC Card drivers.
The CISTPL_CFTABLE_ENTRY tuple is used to describe each possible configuration of a PC Card and to distinguish among the permitted configurations. The CISTPL_CONFIG tuple must precede all CISTPL_CFTABLE_ENTRY tuples.
The 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 */ 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
CISTPL_CFTABLE_TPCE_IF
CISTPL_CFTABLE_TPCE_FS_PWR
CISTPL_CFTABLE_TPCE_FS_TD
CISTPL_CFTABLE_TPCE_FS_IO
CISTPL_CFTABLE_TPCE_FS_IRQ
CISTPL_CFTABLE_TPCE_FS_MEM
CISTPL_CFTABLE_TPCE_FS_MISC
CISTPL_CFTABLE_TPCE_FS_STCE_EV
CISTPL_CFTABLE_TPCE_FS_STCE_PD
If the CISTPL_CFTABLE_TPCE_IF flag is set, the ifc field is bit-mapped and defined as follows:
CISTPL_CFTABLE_TPCE_IF_MEMORY
CISTPL_CFTABLE_TPCE_IF_IO_MEM
CISTPL_CFTABLE_TPCE_IF_CUSTOM_0
CISTPL_CFTABLE_TPCE_IF_CUSTOM_1
CISTPL_CFTABLE_TPCE_IF_CUSTOM_2
CISTPL_CFTABLE_TPCE_IF_CUSTOM_3
CISTPL_CFTABLE_TPCE_IF_MASK
CISTPL_CFTABLE_TPCE_IF_BVD
CISTPL_CFTABLE_TPCE_IF_WP
CISTPL_CFTABLE_TPCE_IF_RDY
CISTPL_CFTABLE_TPCE_IF_MWAIT
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
CISTPL_CFTABLE_TPCE_FS_PWR_VPP1
CISTPL_CFTABLE_TPCE_FS_PWR_VPP2
The structure members of cistpl_cftable_entry_pwr_t are:
uint32_t nomV; /* nominal supply voltage */ 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
CISTPL_CFTABLE_PD_MINV
CISTPL_CFTABLE_PD_MAXV
CISTPL_CFTABLE_PD_STATICI
CISTPL_CFTABLE_PD_AVGI
CISTPL_CFTABLE_PD_PEAKI
CISTPL_CFTABLE_PD_PDOWNI
nomV_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
CISTPL_CFTABLE_PD_MUL10
CISTPL_CFTABLE_PD_NC_SLEEP
CISTPL_CFTABLE_PD_ZERO
CISTPL_CFTABLE_PD_NC
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
CISTPL_CFTABLE_TPCE_FS_TD_RDY
CISTPL_CFTABLE_TPCE_FS_TD_RSVD
The 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];
The flags field is defined and bit-mapped as follows:
CISTPL_CFTABLE_TPCE_FS_IO_BUS
CISTPL_CFTABLE_TPCE_FS_IO_BUS8
CISTPL_CFTABLE_TPCE_FS_IO_BUS16
CISTPL_CFTABLE_TPCE_FS_IO_RANGE
The 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
CISTPL_CFTABLE_TPCE_FS_MEM2
CISTPL_CFTABLE_TPCE_FS_MEM1
CISTPL_CFTABLE_TPCE_FS_MEM_HOST
The 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
CISTPL_CFTABLE_TPCE_MI_AUDIO
CISTPL_CFTABLE_TPCE_MI_READONLY
CISTPL_CFTABLE_TPCE_MI_PWRDOWN
CISTPL_CFTABLE_TPCE_MI_DRQ_MASK
CISTPL_CFTABLE_TPCE_MI_DRQ_SPK
CISTPL_CFTABLE_TPCE_MI_DRQ_IOIS
CISTPL_CFTABLE_TPCE_MI_DRQ_INP
CISTPL_CFTABLE_TPCE_MI_DMA_8
CISTPL_CFTABLE_TPCE_MI_DMA_16
CS_SUCCESS
CS_BAD_HANDLE
CS_UNKNOWN_TUPLE
CS_NO_CARD
CS_NO_CIS
CS_UNSUPPORTED_FUNCTION
This function may be called from user or kernel context.
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
December 20, 1996 | OmniOS |