Table 38-5. spi parameter ram memory map, Spi parameter ram memory map -11, Table 38-5 – Freescale Semiconductor MPC8260 User Manual

Page 1257

Advertising
background image

Serial Peripheral Interface (SPI)

MPC8260 PowerQUICC II Family Reference Manual, Rev. 2

Freescale Semiconductor

38-11

Table 38-5. SPI Parameter RAM Memory Map

Offset

1

1

From the pointer value programmed in SPI_BASE at IMMR + 0x89FC.

Name

Width

Description

0x00

RBASE

Hword Rx/Tx BD table base address. Indicate where the BD tables begin in the dual-port RAM.

Setting Rx/TxBD[W] in the last BD in each BD table determines how many BDs are
allocated for the Tx and Rx sections of the SPI. Initialize RBASE/TBASE before enabling
the SPI. Furthermore, do not configure BD tables of the SPI to overlap any other active
controller’s parameter RAM.
RBASE and TBASE should be divisible by eight.

0x02

TBASE

Hword

0x04

RFCR

Byte

Rx/Tx function code registers. The function code registers contain the transaction
specification associated with SDMA channel accesses to external memory. See

Section 38.5.1, “Receive/Transmit Function Code Registers (RFCR/TFCR)

.

0x05

TFCR

Byte

0x06

MRBLR

Hword Maximum receive buffer length. The SPI has one MRBLR entry to define the maximum

number of bytes the PowerQUICC II writes to a Rx buffer before moving to the next buffer.
The PowerQUICC II can write fewer bytes than MRBLR if an error or end-of-frame
occurs, but never exceeds the MRBLR value. User-supplied buffers should be no smaller
than MRBLR.
Tx buffers are unaffected by MRBLR and can have varying lengths; the number of bytes
to be sent is programmed in TxBD[Data Length].

MRBLR is not intended to be changed while the SPI is operating. However it can be
changed in a single bus cycle with one 16-bit move (not two 8-bit bus cycles
back-to-back). The change takes effect when the CP moves control to the next RxBD.
To guarantee the exact RxBD on which the change occurs, change MRBLR only while
the SPI receiver is disabled. MRBLR should be greater than zero; it should be an even
number if the character length of the data exceeds 8 bits.

0x08

RSTATE

Word

Rx internal state.

2

Reserved for CP use.

0x0C

Word

The Rx internal data pointer

2

is updated by the SDMA channels to show the next

address in the buffer to be accessed.

0x10

RBPTR

Hword RxBD pointer. Points to the current Rx BD being processed or to the next BD to be

serviced when idle. After a reset or when the end of the BD table is reached, the CP
initializes RBPTR to the RBASE value. Most applications should not modify RBPTR, but
it can be updated when the receiver is disabled or when no Rx buffer is in use.

0x12

Hword The Rx internal byte count

2

is a down-count value that is initialized with the MRBLR

value and decremented with every byte the SDMA channels write.

0x14

Word

Rx temp.

2

Reserved for CP use.

0x18

TSTATE

Word

Tx internal state.

2

Reserved for CP use.

0x1C

Word

The Tx internal data pointer

2

is updated by the SDMA channels to show the next address

in the buffer to be accessed.

0x20

TBPTR

Hword TxBD pointer. Points to the current Tx BD during frame transmission or the next BD to be

processed when idle. After reset or when the end of the Tx BD table is reached, the CP
initializes TBPTR to the TBASE value. Most applications do not need to modify TBPTR,
but it can be updated when the transmitter is disabled or when no Tx buffer is in use.

0x22

Hword The Tx internal byte count

2

is a down-count value initialized with TxBD[Data Length] and

decremented with every byte read by the SDMA channels.

0x24

Word

Tx temp.

2

Reserved for CP use.

0x34

Word

SDMA temp.

Advertising