Functional Description
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 19-69
If Continuous mode is active, basic operation is still straight forward. A Restart is achieved by writing the
Packet_Size register to a non-zero value (just as before). When a Restart occurs, the Bytes_Done counter
is cleared to begin counting for the current packet and the Packets_Done counter increments. The
Packets_Done counter indicates the total number of previously completed packets. However, the Master
Enable and Reset bits must not toggle in this case. If the Master Enable bit goes low the Packets_Done
counter can be reset. If the Reset bit goes high the Start_Add value will be re-loaded and subsequent
transactions will begin at this address. The Reset Controller bit will reset the counter and reload the
Start_Add value into the transmit controller, thus achieving a total reset of a continuous mode sequence.
In any case, it is still required that the Packet_Size register be written to complete a Restart sequence.
The Master Enable bit, if negated, will block a Restart sequence until asserted, but allows Control values
to be updated without order dependency. A side effect is it can reset the Packets_Done counter, which is
a concern in continuous mode only.
The Reset bit, if asserted, will force a Reset of the controller. All continuous mode effects will be reset and
the Start_Add value is re-loaded. The Reset bit provides the only means to re-load the Start_Add value into
the controller while Continuous mode is active. In either mode it provides a means to clear the controller
in cases of abnormal termination. Note, a new Start_Add value must be written prior to clearing the Reset
bit.
The Reset bit must be negated while the required write to the Packet_Size register is accomplished to
facilitate a Restart.

19.4.6.6 PCI Commands

The expected PCI commands are memory write for transmit and memory read for receive. These are
independent of cache or line size. This permits the number of data beats per transaction to be flexible. If
any requirements exist on number of data beats, then the software must carefully consider the possibilities.
If the Max_Beats setting does not divide properly into the Packet_Size setting then the packet will end up
with one or more single-beat transactions. Setting Max_Beats to 1 will force all transactions to be
single-beat but will affect throughput.
In normal operation, all PCI byte enables will be asserted for PCI transactions through this interface,
except if the 16-bit Word register bit is set in the Tx Transaction Control Register (PCITTCR) or Rx
Transaction Control Register (PCIRTCR), in which case BE[3:0] = 1100.
Configuration accesses to an external target should be handled exclusively by using the XL bus interface
in conjunction with the PCI Configuration Address Register.

19.4.6.7 FIFO Considerations

Careful consideration must also be given to filling and counting bytes of the Transmit FIFO and emptying
and counting bytes of the Receive FIFO. This operation is expected to be accomplished through by the
multichannel DMA.

19.4.6.8 Alarms

The FIFO alarm registers allow software to control when the DMA fills or empties the appropriate FIFO.
The alarm field of the controllers FIFO control register should be programmed to a value greater than or
equal to the maximum number of beats multiplied by four in order to avoid data transfer stalls. The alarm
and granularity fields should be programmed so that the sum of the values they represent is not greater than
or equal to the FIFO size(128 bytes) or else the controllers request to the DMA may immediately deassert.