Compaq AA-RNG2A-TE Network Card User Manual


 
This task is specific to the 3Com 3C5x9 device. Make sure that you perform
similar initialization tasks for the hardware device that your network driver
controls.
WRITE_CMD(sc, CMD_ACKINT+0xff); 1
1
Calls the WRITE_CMD macro to write data to the command port register.
The data written to the command port register is the acknowledge
interrupt command (CMD_ACKINT) plus a mask that specifies that all
interrupts are to be acknowledged.
8.2.3 Starting the Device
The following code shows how the el_init_locked( ) routine starts the
device. This task is specific to the 3Com 3C5x9 device. Make sure that
you perform similar initialization tasks for the hardware device that your
network driver controls.
WRITE_CMD(sc, CMD_WINDOW0);
i = READ_CCR(sc);
WRITE_CCR(sc, CCR_ENA | i);
1
WRITE_RCR(sc,
(sc->irq << 12) | RCR_RSV);
2
1 Calls the WRITE_CCR macro to write data to the 3Com 3C5x9 devices
configuration control register. The data to be written consists of the
original register contents but with the enable adapter bit (CCR_ENA)
set.
2 Calls the WRITE_RCR macro to write data to the 3Com 3C5x9 devices
resource configuration register. The data to be written is the bitwise
inclusive OR of the interrupt request (IRQ) stored in the irq member
of the el_softc data structure and the reserved bit for the resource
configuration register (RCR_RSV).
8.2.4 Ensuring That the 10Base2 Transceiver Is Off
The following code shows how the el_init_locked( ) routine ensures
that the 10Base2 transceiver is off. This task is specific to the 3Com
3C5x9 device. You may want to perform similar initialization tasks for the
hardware device that your network driver controls.
WRITE_CMD(sc, CMD_STOP2);
1
DELAY(800); 2
1 Calls the WRITE_CMD macro to write data to the command port register.
The data to be written is the stop 10Base2 command bit (CMD_STOP2).
2 Calls the DELAY macro to wait 800 microseconds before continuing
execution.
Implementing the Initialization Section 85