Datasheet

Non-PCI Single-Chip Full Duplex Ethernet Controller with Magic Packet
Datasheet
Revision 1.0 (10-24-08) Page 54 SMSC LAN91C96 5v&3v
DATASHEET
I/O SPACE - BANK2
OFFSET NAME TYPE SYMBOL
0 MMU COMMAND REGISTER
WRITE ONLY
BUSY bit readable
MMUCR
This register is used by the CPU to control the memory allocation, de-allocation, TX FIFO and RX FIFO
control. The three command bits determine the command issued as described below:
High byte:
Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
0 0 0 0 0 0 0 0
Low byte:
COMMAND 0 N2 N1
N0/
BUSY
w x y z
0
Reserved – Must be 0.
COMMAND SET:
wxyz
0000 0) NOOP - NO OPERATION -
0010 2) ALLOCATE MEMORY FOR TX - N2, N1, N0 defines the amount of memory
requested as (value + 1) 256* bytes. Namely N2, N1, N0 = 1 will request 2
256* = 512 bytes. Valid range for N2, N1, N0 is 0 through 5. A shift-based divide
by 256 of the packet length yields the appropriate value to be used as N2, N1
and N0. Immediately generates a completion code at the ALLOCATION RESULT
REGISTER. Can optionally generate an interrupt on successful completion. The
allocation time can take worst case (N2, N1, N0 + 2)* 200ns.
0100 4) RESET MMU TO INITIAL STATE - Frees all memory allocations, clears relevant
interrupts, resets packet FIFO pointers.
0110 6) REMOVE FRAME FROM TOP OF RX FIFO- To be issued after CPU has
completed processing of present receive frame. This command removes the
receive packet number from the RX FIFO and brings the next receive frame (if
any) to the RX area (output of RX FIFO).
0111 7) REMOVE FRAME FROM TOP OF TX FIFO- To be issued ONLY after the Host
disabled the transmitter and has completed processing of the present transmit
frame. Note: Determining Transmit completion is done by polling the TEMPTY bit
in the Transmit FIFO Port Register. This command removes the Transmit packet
number from the TX FIFO and brings the next Transmit frame (if any) to the TX
area (output of TX FIFO).
8) REMOVE AND RELEASE TOP OF RX FIFO - Like 6) but also releases all
memory used by the packet presently at the RX FIFO output.
1010 A) RELEASE SPECIFIC PACKET - Frees all pages allocated to the packet
specified in the PACKET NUMBER REGISTER. Should not be used for frames
pending transmission. Typically used to remove transmitted frames, after reading
their completion status.