Intel 82557 Benutzerhandbuch
10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual
135
Programming Recommendations
8
8.1
Adapter Initialization
The initialization code can be broadly split in the following code modules:
•
8255x initialization
•
PHY detection and initialization
•
NOS specific initialization
The sample source code provides specific coding examples. A list of programming issues to
consider is listed in the following subsections by code module.
consider is listed in the following subsections by code module.
8.1.1
8255x Initialization
•
The device is internally fully reset on power up. However, the adapter and the 8255x are not
fully reset after a warm reboot. Thus, it is recommended that the software issues a Port
fully reset after a warm reboot. Thus, it is recommended that the software issues a Port
Software Reset command before accessing the device.
Note:
Note:
All Port commands cause a complete internal reset requiring software to re-
initialize the device.
initialize the device.
•
The interrupt mask bit (SCB Command word, Mask bit) is set to 0 after a complete reset,
implying that interrupts are enabled. It is software responsibility to ensure that this bit is set to
disable interrupts after a Port command is issued and before polled mode commands are
disable interrupts after a Port command is issued and before polled mode commands are
executed.
•
If promiscuous mode is enabled, the following Configure command bits are also affected:
— SAVE BAD FRAMES. This feature should be enabled.
— DISCARD SHORT FRAMES. This feature should be disabled.
— PADDING. This feature should be disabled.
— STRIPPING. This feature should be disabled.
•
It is recommended that all non-transmit action commands are executed in polled mode.
Software should maintain a single list of transmit CBs and modify a CB to a non-transmit CB
Software should maintain a single list of transmit CBs and modify a CB to a non-transmit CB
when required. The 8255x supports dynamic CU Resume commands on non-transmit
commands; therefore, no checks are required before such a command is issued.
8.1.2
PHY Detection and Initialization
It is recommended that drivers support the Intel
®
82503 and 82555 and the National
Semiconductor* DP83840 devices as well as the integrated PHY units of the 82558, 82559, 82550,
and 82551. In addition, a vendor specific routine should be executed immediately after PHY
and 82551. In addition, a vendor specific routine should be executed immediately after PHY
detection to initialize specific registers in other third party PHYs (for example, the DP83840).