4.1. State Summary
Before explaining the Plug and Play state transitions it is necessary to introduce a register in each ISA card called the Card Select Number (CSN). The CSN is an 8-bit register used to select one or more ISA cards when those cards are in certain states. The CSN is defined as an 8-bit register to allow a wide variety of devices to manage their configuration and control using this mechanism. The CSN is defined such that all cards power-up with this register is set to 0x0. Once a card has been isolated, the CSN on that card is assigned a unique value. This value enables the Plug and Play software to select this card at later points in the configuration process, without going through the isolation protocol again.
The Plug and Play states are summarized as follows:
- Wait for Key - All cards enter this state after power-up reset or in response to the Wait for Key command. No commands are active in this state until the initiation key is detected on the ISA bus. The Wait for Key state is the default state for Plug and Play cards during normal system operation. After configuration and activation, software should return all cards to this state.
- Sleep - In this state, Plug and Play cards wait for a Wake[CSN] command. This command will selectively enable one or more cards to enter either the Isolation or Config states based on the write data and the value of the CSN on each card. Cards leave the Sleep state in response to a Wake[CSN] command when the value of write data bits[7:0] of the Wake[CSN] command matches the card's CSN. If the write data for the Wake[CSN] command is zero then all cards that have not been assigned a CSN will enter the Isolation state. If the write data for the Wake[CSN] command is not zero then the one card whose assigned CSN matches the parameter of the Wake[CSN] command will enter the Config state.
- Isolation - In this state, Plug and Play cards respond to reads of the Serial Isolation register as described in the previous chapter on isolation protocol. Once a card is isolated, a unique CSN is assigned. This number will later be used by the Wake[CSN] command to select the card. Once the CSN is written, the card transitions to the Config state.
- Config - A card in the Config state responds to all configuration commands including reading the card's resource configuration information and programming the card's resource selections. Only one card may be in this state at a time.