CSX_PARSE_CISTPL_DEVICE(9F) Kernel Functions for Drivers

NAME


csx_Parse_CISTPL_DEVICE, csx_Parse_CISTPL_DEVICE_A,
csx_Parse_CISTPL_DEVICE_OC, csx_Parse_CISTPL_DEVICE_OA - parse Device
Information tuples

SYNOPSIS


#include <sys/pccard.h>


int32_t csx_Parse_CISTPL_DEVICE(client_handle_t ch, tuple_t *tu,
cistpl_device_t *cd);


int32_t csx_Parse_CISTPL_DEVICE_A(client_handle_t ch, tuple_t *tu,
cistpl_device_t *cd);


int32_t csx_Parse_CISTPL_DEVICE_OC(client_handle_t ch, tuple_t *tu,
cistpl_device_t *cd);


int32_t csx_Parse_CISTPL_DEVICE_OA(client_handle_t ch, tuple_t *tu,
cistpl_device_t *cd);


INTERFACE LEVEL


illumos DDI Specific (illumos 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).


cd
Pointer to a cistpl_device_t structure which contains the parsed
CISTPL_DEVICE, CISTPL_DEVICE_A, CISTPL_DEVICE_OC, or
CISTPL_DEVICE_OA tuple information upon return from these
functions, respectively.


DESCRIPTION


csx_Parse_CISTPL_DEVICE() and csx_Parse_CISTPL_DEVICE_A() parse the 5
volt Device Information tuples, CISTPL_DEVICE and CISTPL_DEVICE_A,
respectively, into a form usable by PC Card drivers.


csx_Parse_CISTPL_DEVICE_OC() and csx_Parse_CISTPL_DEVICE_OA() parse the
Other Condition Device Information tuples, CISTPL_DEVICE_OC and
CISTPL_DEVICE_OA, respectively, into a form usable by PC Card drivers.


The CISTPL_DEVICE and CISTPL_DEVICE_A tuples are used to describe the
card's device information, such as device speed, device size, device
type, and address space layout information for Common Memory or Attribute
Memory space, respectively.


The CISTPL_DEVICE_OC and CISTPL_DEVICE_OA tuples are used to describe the
information about the card's device under a set of operating conditions
for Common Memory or Attribute Memory space, respectively.

STRUCTURE MEMBERS


The structure members of cistpl_device_t are:

uint32_t num_devices; /* number of devices found */
cistpl_device_node_t devnode[CISTPL_DEVICE_MAX_DEVICES];


The structure members of cistpl_device_node_t are:

uint32_t flags; /* flags specific to this device */
uint32_t speed; /* device speed in device
/* speed code format */
uint32_t nS_speed; /* device speed in nS */
uint32_t type; /* device type */
uint32_t size; /* device size */
uint32_t size_in_bytes; /* device size in bytes */


The fields are defined as follows:

flags
This field indicates whether or not the device is writable, and
describes a Vcc voltage at which the PC Card can be operated.

CISTPL_DEVICE_WPS
Write Protect Switch bit is set

Bits which are applicable only for CISTPL_DEVICE_OC and
CISTPL_DEVICE_OA are:

CISTPL_DEVICE_OC_MWAIT
Use MWAIT


CISTPL_DEVICE_OC_Vcc_MASK
Mask for Vcc value


CISTPL_DEVICE_OC_Vcc5
5.0 volt operation


CISTPL_DEVICE_OC_Vcc33
3.3 volt operation


CISTPL_DEVICE_OC_VccXX
X.X volt operation


CISTPL_DEVICE_OC_VccYY
Y.Y volt operation


speed
The device speed value described in the device speed
code unit. If this field is set to
CISTPL_DEVICE_SPEED_SIZE_IGNORE, then the speed
information will be ignored.


nS_speed
The device speed value described in nanosecond units.


size
The device size value described in the device size code
unit. If this field is set to
CISTPL_DEVICE_SPEED_SIZE_IGNORE, then the size
information will be ignored.


size_in_bytes
The device size value described in byte units.


type
This is the device type code field which is defined as
follows:

CISTPL_DEVICE_DTYPE_NULL

No device


CISTPL_DEVICE_DTYPE_ROM

Masked ROM


CISTPL_DEVICE_DTYPE_OTPROM

One Time Programmable ROM


CISTPL_DEVICE_DTYPE_EPROM

UV EPROM


CISTPL_DEVICE_DTYPE_EEPROM

EEPROM


CISTPL_DEVICE_DTYPE_FLASH

FLASH


CISTPL_DEVICE_DTYPE_SRAM

Static RAM


CISTPL_DEVICE_DTYPE_DRAM

Dynamic RAM


CISTPL_DEVICE_DTYPE_FUNCSPEC

Function-specific memory address range


CISTPL_DEVICE_DTYPE_EXTEND

Extended type follows


RETURN 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.


CONTEXT


These functions may be called from user or kernel context.

SEE ALSO


csx_GetFirstTuple(9F), csx_GetTupleData(9F),
csx_Parse_CISTPL_JEDEC_C(9F), csx_RegisterClient(9F),
csx_ValidateCIS(9F), tuple(9S)


PC Card 95 Standard, PCMCIA/JEIDA

illumos December 20, 1996 CSX_PARSE_CISTPL_DEVICE(9F)