csx_ModifyConfiguration(9F) Kernel Functions for Drivers csx_ModifyConfiguration(9F)
NAME
csx_ModifyConfiguration - modify socket and PC Card Configuration Register
SYNOPSIS
#include <sys/pccard.h>
int32_t csx_ModifyConfiguration(client_handle_t ch, modify_config_t *mc);
INTERFACE LEVEL
Solaris DDI Specific (Solaris DDI)
PARAMETERS
ch Client handle returned from csx_RegisterClient(9F).
mc Pointer to a modify_config_t structure.
DESCRIPTION
This function allows a socket and PC Card configuration to be modified. This function can only modify a configuration requested via
csx_RequestConfiguration(9F).
STRUCTURE MEMBERS
The structure members of modify_config_t are:
uint32_t Socket; /* socket number */
uint32_t Attributes; /* attributes to modify */
uint32_t Vpp1; /* Vpp1 value */
uint32_t Vpp2; /* Vpp2 value */
The fields are defined as follows:
Socket Not used in Solaris, but for portability with other Card Services implementations, it should be set to the logical socket
number.
Attributes This field is bit-mapped. The following bits are defined:
CONF_ENABLE_IRQ_STEERING
Enable IRQ steering. Set to connect the PC Card IREQ line to a previously selected system interrupt.
CONF_IRQ_CHANGE_VALID
IRQ change valid. Set to request the IRQ steering enable to be changed.
CONF_VPP1_CHANGE_VALID
Vpp1 change valid. These bits are set to request a change to the corresponding voltage level for the PC Card.
CONF_VPP2_CHANGE_VALID
Vpp2 change valid. These bits are set to request a change to the corresponding voltage level for the PC Card.
CONF_VSOVERRIDE
Override VS pins. For Low Voltage keyed cards, must be set if a client desires to apply a voltage inappropriate for
this card to any pin. After card insertion and prior to the first csx_RequestConfiguration(9F) call for this client,
the voltage levels applied to the card will be those specified by the Card Interface Specification. (See WARNINGS.)
Vpp1, Vpp2 Represent voltages expressed in tenths of a volt. Values from 0 to 25.5 volts may be set. To be valid, the exact voltage
must be available from the system. To be compliant with the PC Card 95 Standard, PCMCIA/JEIDA, systems must always support
5.0 volts for both Vcc and Vpp. (See WARNINGS.)
RETURN VALUES
CS_SUCCESS Successful operation.
CS_BAD_HANDLE Client handle is invalid or csx_RequestConfiguration(9F) not done.
CS_BAD_SOCKET Error getting/setting socket hardware parameters.
CS_BAD_VPP Requested Vpp is not available on socket.
CS_NO_CARD No PC Card in socket.
CS_UNSUPPORTED_FUNCTION No PCMCIA hardware installed.
CONTEXT
This function may be called from user or kernel context.
SEE ALSO
csx_RegisterClient(9F), csx_ReleaseConfiguration(9F), csx_ReleaseIO(9F), csx_ReleaseIRQ(9F), csx_RequestConfiguration(9F), csx_Reques-
tIO(9F), csx_RequestIRQ(9F)
PC Card 95 Standard, PCMCIA/JEIDA
WARNINGS
1. CONF_VSOVERRIDE is provided for clients that have a need to override the information provided in the CIS. The client must exercise cau-
tion when setting this as it overrides any voltage level protection provided by Card Services.
2. Using csx_ModifyConfiguration() to set Vpp to 0 volts may result in the loss of a PC Card's state. Any client setting Vpp to 0 volts is
responsible for insuring that the PC Card's state is restored when power is re-applied to the card.
NOTES
Mapped IO addresses can only be changed by first releasing the current configuration and IO resources with csx_ReleaseConfiguration(9F) and
csx_ReleaseIO(9F), requesting new IO resources and a new configuration with csx_RequestIO(9F), followed by csx_RequestConfiguration(9F).
IRQ priority can only be changed by first releasing the current configuration and IRQ resources with csx_ReleaseConfiguration(9F) and
csx_ReleaseIRQ(9F), requesting new IRQ resources and a new configuration with csx_RequestIRQ(9F), followed by csx_RequestConfiguration(9F).
Vcc can not be changed using csx_ModifyConfiguration(). Vcc may be changed by first invoking csx_ReleaseConfiguration(9F), followed by
csx_RequestConfiguration(9F) with a new Vcc value.
SunOS 5.10 19 Jul 1996 csx_ModifyConfiguration(9F)