RTL8139: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m 8k is 8192 bytes, not 8139.. correct? |
m Minor spelling fixes.. |
||
Line 18:
the reset. If the RST bit is high (1), then the reset is still in operation.
==Init
For this part, we will send the chip a memory location to use as its
location. One way to do it, would be to define a buffer variable and send
that variables memory location to the RBSTART register (0x30).
Line 32:
The Interrupt Mask Register (IMR) and Interrupt Service Register (ISR) are responsible
for firing up different IRQs. The IMR bits line up with the ISR bits to work in sync.
If an IMR bit is low, then the
time comes for it to happen. The IMR is located at 0x3C and the ISR is located at 0x3E.
To set the RTL8139 to accept only the Transmit OK (TOK) and
we would have the TOK and ROK bits of the IMR high and leave the rest low. That way when
a TOK or ROK IRQ happens, it actually will go through and fire up an IRQ.
Line 42:
outportw(0x3C, 0x0005); // Sets the TOK and ROK bits high
==Enable
Now is the time to start up the RX and TX functions.
This is quite an easy
configurations to the RTL8139's registers have been set to what is desired. The
RE (
Register (0x37). Starting up the RE and TE is pretty straight-forward, but lets go
through it anyways.
|