1csx_ModifyConfiguration(9FK)ernel Functions for Drivercssx_ModifyConfiguration(9F)
2
3
4
6 csx_ModifyConfiguration - modify socket and PC Card Configuration Reg‐
7 ister
8
10 #include <sys/pccard.h>
11
12
13
14 int32_t csx_ModifyConfiguration(client_handle_t ch, modify_config_t *mc);
15
16
18 Solaris DDI Specific (Solaris DDI)
19
21 ch Client handle returned from csx_RegisterClient(9F).
22
23
24 mc Pointer to a modify_config_t structure.
25
26
28 This function allows a socket and PC Card configuration to be modified.
29 This function can only modify a configuration requested via
30 csx_RequestConfiguration(9F).
31
33 The structure members of modify_config_t are:
34
35 uint32_t Socket; /* socket number */
36 uint32_t Attributes; /* attributes to modify */
37 uint32_t Vpp1; /* Vpp1 value */
38 uint32_t Vpp2; /* Vpp2 value */
39
40
41
42 The fields are defined as follows:
43
44 Socket Not used in Solaris, but for portability with other Card
45 Services implementations, it should be set to the logi‐
46 cal socket number.
47
48
49 Attributes This field is bit-mapped. The following bits are
50 defined:
51
52 CONF_ENABLE_IRQ_STEERING Enable IRQ steering. Set to
53 connect the PC Card IREQ
54 line to a previously
55 selected system interrupt.
56
57
58 CONF_IRQ_CHANGE_VALID IRQ change valid. Set to
59 request the IRQ steering
60 enable to be changed.
61
62
63 CONF_VPP1_CHANGE_VALID Vpp1 change valid. These
64 bits are set to request a
65 change to the corresponding
66 voltage level for the PC
67 Card.
68
69
70 CONF_VPP2_CHANGE_VALID Vpp2 change valid. These
71 bits are set to request a
72 change to the corresponding
73 voltage level for the PC
74 Card.
75
76
77 CONF_VSOVERRIDE Override VS pins. For Low
78 Voltage keyed cards, must be
79 set if a client desires to
80 apply a voltage inappropri‐
81 ate for this card to any
82 pin. After card insertion
83 and prior to the first
84 csx_RequestConfiguration(9F)
85 call for this client, the
86 voltage levels applied to
87 the card will be those spec‐
88 ified by the Card Interface
89 Specification. (See WARN‐
90 INGS.)
91
92
93
94 Vpp1, Vpp2 Represent voltages expressed in tenths of a volt. Values
95 from 0 to 25.5 volts may be set. To be valid, the exact
96 voltage must be available from the system. To be compli‐
97 ant with the PC Card 95 Standard, PCMCIA/JEIDA, systems
98 must always support 5.0 volts for both Vcc and Vpp. (See
99 WARNINGS.)
100
101
103 CS_SUCCESS Successful operation.
104
105
106 CS_BAD_HANDLE Client handle is invalid or csx_RequestCon‐
107 figuration(9F) not done.
108
109
110 CS_BAD_SOCKET Error getting/setting socket hardware
111 parameters.
112
113
114 CS_BAD_VPP Requested Vpp is not available on socket.
115
116
117 CS_NO_CARD No PC Card in socket.
118
119
120 CS_UNSUPPORTED_FUNCTION No PCMCIA hardware installed.
121
122
124 This function may be called from user or kernel context.
125
127 csx_RegisterClient(9F), csx_ReleaseConfiguration(9F), csx_Relea‐
128 seIO(9F), csx_ReleaseIRQ(9F), csx_RequestConfiguration(9F), csx_Reques‐
129 tIO(9F), csx_RequestIRQ(9F)
130
131
132 PC Card 95 Standard, PCMCIA/JEIDA
133
135 1. CONF_VSOVERRIDE is provided for clients that have a need to
136 override the information provided in the CIS. The client
137 must exercise caution when setting this as it overrides any
138 voltage level protection provided by Card Services.
139
140 2. Using csx_ModifyConfiguration() to set Vpp to 0 volts may
141 result in the loss of a PC Card's state. Any client setting
142 Vpp to 0 volts is responsible for insuring that the PC
143 Card's state is restored when power is re-applied to the
144 card.
145
147 Mapped IO addresses can only be changed by first releasing the current
148 configuration and IO resources with csx_ReleaseConfiguration(9F) and
149 csx_ReleaseIO(9F), requesting new IO resources and a new configuration
150 with csx_RequestIO(9F), followed by csx_RequestConfiguration(9F).
151
152
153 IRQ priority can only be changed by first releasing the current config‐
154 uration and IRQ resources with csx_ReleaseConfiguration(9F) and
155 csx_ReleaseIRQ(9F), requesting new IRQ resources and a new configura‐
156 tion with csx_RequestIRQ(9F), followed by csx_RequestConfiguration(9F).
157
158
159 Vcc can not be changed using csx_ModifyConfiguration(). Vcc may be
160 changed by first invoking csx_ReleaseConfiguration(9F), followed by
161 csx_RequestConfiguration(9F) with a new Vcc value.
162
163
164
165SunOS 5.11 19 Jul 1996 csx_ModifyConfiguration(9F)