2.2. Plug and Play Card Configuration Sequence

The major steps of the auto-configuration process are as follows:

The Plug and Play software identifies and configures devices using a set of commands defined in this specification. The commands are executed using three, 8-bit I/O ports. 16-bit accesses (assertion of IOCS16#) to the configuration ports are not supported. A sequence of data writes to one of the ports is used as the key to enable the Plug and Play logic on all cards in the system. This sequence, referred to as the initiation key, is described in the next section.

All Plug and Play cards respond to the same I/O port addresses so the Plug and Play software needs an isolation mechanism to address one particular card at a time. The isolation protocol uses a unique number on each card to isolate one Plug and Play card at a time. After isolation, the Plug and Play software assigns each card a handle, which is used to select that unique Plug and Play card. The use of the handle eliminates the need to use the more elaborate and time consuming isolation protocol to select a unique card.

Each card supports a readable resource data structure that describes the resources supported and those requested by the functions on that card. The structure supports the concept of multiple functions per ISA card. Each function is defined as a logical device. Plug and Play resource information is provided for each logical device and each logical device is independently configured through the Plug and Play standard registers.

Following isolation, the Plug and Play software reads the resource data structure on each card. When all resource capabilities and demands are known, a process of resource arbitration is invoked to determine resource allocation to each ISA card.

The configuration of ISA cards is done using the command registers specified for each resource type. It should be noted that some ISA functions may not be re-configurable. In these cases, the resources requested will be equivalent to the resources supported. However, the resource data structure informs the arbiter that it cannot assign these resources to other Plug and Play cards in the system.

After the assignment of resources, an I/O conflict detection mechanism may be invoked. This mechanism provides a means to insure that I/O resources assigned are not in conflict with standard ISA cards.

The command set also supports the ability to activate or deactivate the function(s) on the card.

After configuration is complete, Plug and Play cards are removed from configuration mode. To re-enable configuration mode, the initiation key needs to be re-issued. This prevents accidental erasure of the configuration information.