Summary of Contents for NXP Semiconductors MSC8113
Page 1
MSC8113 Reference Manual Tri Core 16-Bit Digital Signal Processor MSC8113RM Rev 0, May 2008...
Page 2
How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 Information in this document is provided solely to enable system and software 2100 East Elliot Road implementers to use Freescale Semiconductor products. There are no express or Tempe, Arizona 85284 implied copyright licenses granted hereunder to design or fabricate any integrated +1-800-521-6274 or...
Page 7
Single Slave MSC8113 Configuration by System Bus Host ... . . 5-10 5.5.3 Multi-MSC8113 System Configuration ......5-10 5.5.4 Multiple MSC8113 Devices in a System With No EPROM .
Page 12
Synchronous Single Write Using Dual Strobe Mode....14-18 14.3.4.2 Synchronous Single Write Using Single Strobe Mode ....14-19 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 13
DMA Transfer Programming........16-29 MSC8113 Reference Manual, Rev. 0...
The MSC8113 device is based on the StarCore SC140 DSP core. It addresses the challenges of the networking market. The benefits of the MSC8113 include not only a very high level of performance but also a product design that enables effective software development and integration.
This manual is intended for software and hardware developers and applications programmers who want to develop products with the MSC8113. It is assumed that you have a working knowledge of DSP technology and that you may be familiar with Freescale products based on the Freescale DSP56000 or DSP56300 core.
For example, BRCGx refers to BRCG[1–8], and MxMR refers to the MAMR/MBMR/MCMR registers. On the MSC8113 device, the SC140 cores are 16-bit DSP processors. The following table shows the SC140 assembly language data types. For details, see the StarCore SC140 DSP Core Reference Manual (MNSC140CORE/D).
Organization Following is a summary and a brief description of the chapters of this manual: Chapter 1, MSC8113 Overview. Features, descriptive overview of main modules, configurations, and application examples. Chapter 2, SC140 Core Overview. Target markets, features, overview of development tools, descriptive overview of main modules.
Page 25
Chapter 6, Boot Program. Describes the bootloader program, which loads and executes source code that initializes the MSC8113 after it completes a reset sequence and programs its registers for the required mode of operation. This chapter covers selection of bootloader modes, normal sequence of events for bootloading a source program, and booting in a multi-processor environment.
Page 26
Chapter 17, Interrupt Processing. Discusses the three interrupt controllers that provide maximum flexibility in handling MSC8113 interrupts, enabling interrupts to be handled by the SC140 core internally, by an external host, or by a combination of the two; also discusses source priority schemes.
You can find the following documents on the Freescale Semiconductor web site listed on the back cover of this manual. MSC8113 Technical Data sheet (MSC8113). Details the signals, AC/DC characteristics, PLL/DLL performance issues, clock configuration and signal characteristics, package and pinout, and electrical design considerations of the MSC8113 device.
MSC8113 Overview The MSC8113 device is a highly integrated DSP that combines three StarCore SC140 cores with large internal memory spaces, an extended core, and several industry-standard peripherals and external interfaces to target highly computational DSP network and communication applications.
MSC8113 Overview 1.1 Features The tables in this section list the features of the MSC8113 device. Table 1-1. Extended SC140 Cores and Core Memories Feature Description Three SC140 cores: • Up to 4800 MMACS using 12 ALUs running at up to 400 MHz.
Page 31
− Extensive external memory-controller/bus-slave support. − Parity byte select pin, which enables a fast, glueless connection to RMW-parity devices (on system bus only). − Data pipeline to reduce data set-up time for synchronous devices. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 32
• Frame sync can be programmed as active low or active high. • Selectable delay (0–3 bits) between the Frame Sync signal and the beginning of the frame. • MSB or LSB first support. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 33
I/O ports. port • Each port can be programmed separately to serve up to two dedicated peripherals, and each port supports open-drain output mode. • Supports booting from a serial EEPROM C Software Module MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 34
SMII domain. • SMII features: − Convey complete MII information between the PHY and MAC. − Allow direct MAC-to-MAC communication in SMII mode. − Can generate an interrupt request line while receiving inter-frame segments. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 35
Distributed System Support • Networking support; data transfer between tasks running inside and outside the device using networking protocols. • Includes integrated device drivers for such peripherals as TDM, UART, and external buses. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 36
Feature Description • Host debug through single JTAG connector supports both processors. • MSC8103 as the MSC8113 host with both devices on the board. The MSC8103 system bus connects to the MSC8113 DSI. • Flash memory for stand-alone applications. • Communications ports: −...
Banks 0–7 Figure 1-1. MSC8113 Block Diagram Data is transferred to the MSC8113 device from either the system bus port, the DSI, the Ethernet, the TDM, the Ethernet interface. The SC140 core processes the data in the buffers and the result is transferred back to one of the ports.
DMA controller to transfer large blocks of data from the external memory to the internal memory and also between the internal memories. In some applications, data is written from an external host directly to the MSC8113 M1 and M2 memories through the DSI interface while the SC140 handles the computational work in parallel.
MAC operation per clock cycle, so a single core running at 400 MHz can perform 1600 MMACS. Having three such cores, the MSC8113 can perform up to 4800 MMACS per second. An address generation unit includes two address arithmetic units and one bit mask unit. There are also 16 address registers, of which eight can serve as base address registers.
16 fetch sets, each with an associated valid bit. The 2-bit index field of the address serves as an index to the line within the way. The line whose tag matches the tag field of the address is the selected line. MSC8113 Reference Manual, Rev. 0 1-12 Freescale Semiconductor...
Page 41
When the SC140 core is in Debug mode, its fetch unit is in Debug mode and all the cache arrays can be read. Note: For details, see Section 9.4, Instruction Cache (ICache). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 1-13...
QBus masters.The bus switch handles all data read above the QBus baseline, write operations when the write buffer is disabled, and atomic (read modify write) write operations. Read accesses of program (fetch) that are above the QBus baseline occur through the fetch unit. MSC8113 Reference Manual, Rev. 0 1-14 Freescale Semiconductor...
1.2.2 Power Saving Modes The MSC8113 device is a low-power CMOS design. Also, you can put unused modules into power saving modes. The TDM, DSI, timers, GPIO, GIC, UART, and Ethernet controller can be put into Stop mode, in which their clocks are frozen as described in Section 19.10, Stop Options.
The address and data buses support synchronous, one-level pipelined transactions and non-pipelined SRAM-like accesses. Various applications can use this bus interface—for example, a system in which the MSC8113 uses a shared external memory. An external host can directly access the device internal memories and peripherals because the system bus is bridged to the internal local bus where the memories and peripherals are located.
For details, seeChapter 12, Memory Controller. 1.2.5 Direct Slave Interface (DSI) The DSI gives an external host direct access to the MSC8113 internal and external memory space, including internal memories and the registers of internal modules as well as access to the system bus.
Latencies that are typical during accesses to internal memories are greatly reduced by the DSI read prefetch mechanism. An external host addresses up to 16 MSC8113 devices using a single chip-select by which the most significant bits on the address bus identify the addressed MSC8113 device.
For details, see Chapter 16, Direct Memory Access (DMA) Controller. 1.2.7 Internal and External Bus Architecture The SC140 cores and other MSC8113 modules interconnect via a variety of bus and interface structures that provide great flexibility for transferring and storing data both within the MSC8113 device and with external devices.
Page 48
— Sliding Window mode enables accesses with a reduced number of address lines. — Chip ID decoding enables the use of one signal for multiple DSPs. — Broadcast signal enables parallel writes to multiple DSPs. — Big-endian, little-endian, and munged little-endian support. MSC8113 Reference Manual, Rev. 0 1-20 Freescale Semiconductor...
25 MHz, and the sync is configured as either input or output. Each of the two receive links supports up to 128 channels, and each transmit link supports up to 128 channels. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 1-21...
On the transmit side, the SC140 core prepares buffers in memory and prepares a descriptor ring that points to those buffers. The Ethernet controller reads these descriptors, reads the data from the buffers, and sends the data over the Ethernet. Enhanced pattern matching MSC8113 Reference Manual, Rev. 0 1-22 Freescale Semiconductor...
For details, see Chapter 21, UART. 1.2.11 Timers The MSC8113 device contains 32 identical general-purpose 16-bit timers divided into two 16-timer groups. Within a group, each timer functions independently or as part of a programmable cascade of two timers. Each timer is programmable as either one-shot or cyclic.
PLL divide ratio, signal configuration, and the DSI host endian mode. This configuration word is initialized by writing to it either from the system configuration source. When the MSC8113 is reset from the system bus, the configuration word is latched using a dedicated signal.
SC140 DSP core EOnCE module and some external interrupts. The PIC also receives interrupts from the LIC, which in turn concentrates interrupts from the MSC8113 peripherals (TDMs, timers, DMA controller, UART, and virtual interrupts), the SIU, and other external interrupts, such the Ethernet interface.
The value of the IFMODE bits in the MIIGSK Configuration Register. 1.3 Internal Communication and Semaphores The MSC8113 device contains flexible mechanisms for communicating between SC140 cores and between an SC140 core and an external host. An SC140 core sends a message to another SC140 core either by accessing an agreed location (mailbox) in the shared M2 memory or by accessing any of the M1 memories and using an interrupt to indicate the access.
If the read value equals its lock number, the semaphore belongs to that host and is essentially locked. An SC140 core/host/task releases the semaphore by simply writing 0. Note: For details, see Chapter 15, Hardware Semaphores. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 1-27...
(such as moves or other operations on addresses). At a clock speed of 400 MHz, the SC140 can therefore execute 1600 true DSP MIPS—1600 million multiply-accumulate operations per second (MMACS), concurrent with associated data movement functions and pointer updates. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
The SC140 DSP core defines the PLL Control Registers 0–1 (PCTL[0–1]) for PLL and clock control. The MSC8113 does not use these registers in its design. In addition, the manual defines six debug modules and seven EE signal lines in the EOnCE module.
Architecture The MSC8113 device uses only two of these modules (0 and 1) and two signals (EE0 and EE1). 2.1.1 Data Arithmetic Logic Unit (Data ALU) The Data ALU performs arithmetic and logical operations on data operands in the MSC8113.
16-bit × 16-bit fractional or integer multiplication between two’s complement signed, unsigned, or mixed operands. The 32-bit product is right-justified and added to the 40-bit contents of one of the sixteen data registers. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Two stack pointers (NSP, ESP), only one of which is active at a time (SP) Four offset registers (N[0–3]) Four modifier registers (M[0–3]) A Modifier Control Register (MCTL) Two Address Arithmetic Units (AAU) One Bit Mask Unit (BMU) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 62
Add or subtract an immediate value to/from an AGU register Compare to or test an AGU register Logical and arithmetic shift operations on AGU registers Sign or zero-extend an AGU register Add with reverse carry MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Stack instructions use the ESP when the MSC8113 is in the Exception mode of operation, which it enters when exceptions occur. The NSP is used in Normal mode, while not servicing an exception.
Vector Base Address Register (VBA) 2.1.4 Enhanced On-Chip Emulation (EOnCE) The EOnCE module allows nonintrusive interaction with the MSC8113 and its peripherals so that you can examine registers, memory, or on-chip peripherals, define various breakpoints, and read the trace-FIFO. These interactions facilitate hardware and software development on the MSC8113 processor.
Page 65
The address register modification is performed by either of the two AAUs. Stack Pointer Registers (NSP, ESP). The MSC8113 has two stack pointer registers: the Normal Stack Pointer (NSP) and the Exception Stack Pointer (ESP). These 32-bit registers are used implicitly in all PUSH and POP instructions.
Page 66
The address arithmetic unit (AAU) supports linear, modulo, multiple wrap-around modulo, and reverse-carry arithmetic types for most address register indirect addressing modes. When the modulo arithmetic is activated, the contents of Mj specify the modulus. MSC8113 Reference Manual, Rev. 0 2-10 Freescale Semiconductor...
LSP portion of the register is written with the word operand, and the MSP portion and EXT are either zero-extended or sign-extended from the LSP. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Note: GP4 equals the inversion of the HRCW bit 13. 2.3 Instruction Set Overview The SC140 instruction set is divided into the following functional groups: Data ALU arithmetic AGU arithmetic MSC8113 Reference Manual, Rev. 0 2-12 Freescale Semiconductor...
Page 69
Integer multiply unsigned times unsigned; first source from upper portion second from lower IMPYSU Integer multiply signed times unsigned IMPYUU Integer multiply unsigned times unsigned Increment a data register (as integer data) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 2-13...
Page 70
TFRT Conditional data register transfer if the T bit is set TSTEQ Test for equal to zero TSTGE Test for greater than or equal to zero TSTGT Test for greater than zero MSC8113 Reference Manual, Rev. 0 2-14 Freescale Semiconductor...
Page 71
AGU arithmetic shift left (32-bit) ASRA AGU arithmetic shift right (32-bit) CMPEQA AGU compare for equal CMPGTA AGU compare for greater than CMPHIA AGU compare for higher (unsigned) DECA AGU decrement register MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 2-15...
Page 72
Move unsigned long from memory MOVEU.W Move unsigned integer word from memory VSL.2F Viterbi shift left: specialized move to support Viterbi kernel VSL.2W Viterbi shift left: specialized move to support Viterbi kernel MSC8113 Reference Manual, Rev. 0 2-16 Freescale Semiconductor...
Page 73
Logical Exclusive OR on a 16-bit operand in memory Binary inversion of a 16-bit operand NOT.W Binary inversion of a 16-bit operand in memory Logical OR on a 16-bit operand OR.W Logical OR on a 16-bit operand in memory MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 2-17...
Page 74
Do enable short - set the “nth” loop counter and enable the loop as a short loop DOSETUPn Setup the “nth” hardware loop start address SKIPLS Test the active LC and skip the loop if LCn is equal or smaller than zero MSC8113 Reference Manual, Rev. 0 2-18 Freescale Semiconductor...
SC140 core to enter a freeze state that can only be released by reset. The SC140 illegal instruction trap does not provide 100 percent protection against illegal instruction execution. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 2-19...
Page 77
External Signals The MSC8113 external signals are organized into functional groups, as shown in Table 3-1 and Figure 3-1. Table 3-1 lists the functional groups, the number of signal connections in each group, and references the table that gives a detailed listing of multiplexed signals within each group.
Note: Power signals are: V DD , V DDH , V CCSYN , GND, GND H , and GND SYN . Reserved signals can be left unconnected. NC signals must not be connected. Figure 3-1. MSC8113 External Signals MSC8113 Reference Manual, Rev. 0...
Input Reset Configuration Used during reset configuration sequence of the chip. A detailed explanation of its function is provided in the MSC8113 Reference Manual. This signal is sampled upon deassertion of PORESET. Note: When PORESET is deasserted, the MSC8113 also samples the following signals: •...
HRESET Input/ Hard Reset Output When asserted as an input, this signal causes the MSC8113 to enter the hard reset state. After the device enters a hard reset state, it drives the signal as an open-drain output. SRESET Input/ Soft Reset Output When asserted as an input, this signal causes the MSC8113 to enter the soft reset state.
Page 81
ETHRXD2 Input Ethernet Receive Data 2 In MII mode only, bit 2 of the Ethernet receive data. Reserved Input In RMII mode, this pin is reserved and can be left unconnected. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 82
ETHTXD2 Output Ethernet Transmit Data 2 In MII mode only, bit 2 of the Ethernet transmit data. Reserved Input In RMII mode, this pin is reserved and can be left unconnected. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 83
Indicates that the receive data is valid. ETHCRS_DV Input Ethernet Carrier Sense/Receive Data Valid In RMII mode, indicates that a carrier is detected and after the connection is established that the receive data is valid. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 84
Input Host Chip ID 0–2 With HCID3, carries the chip ID of the DSI. The DSI is accessed only if HCS is asserted and HCID[0–3] matches the Chip_ID, or if HBCS is asserted. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 85
Used as a strobe for host read accesses. Input Host Read/Write Select (in Asynchronous/Synchronous single mode) Host read/write select. HRDE Input Host Read Data Enable (In Synchronous dual mode) Indicates valid data for host read accesses. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 86
Address Bus Output When the MSC8113 is in external master bus mode, these pins function as the system address bus. The MSC8113 drives the address of its internal bus masters and responds to addresses generated by external bus masters. When the MSC8113 is in internal master bus mode, these pins are used as address lines connected to memory devices and are controlled by the MSC8113 memory controller.
Page 87
Bus Grant Output When the MSC8113 acts as an internal arbiter, it asserts this pin as an output to grant bus ownership to an external bus master. When an external arbiter is used, it asserts this pin as an input to grant bus ownership to the MSC8113.
Page 88
Data Bus Grant Output When the MSC8113 acts as an internal arbiter, it asserts this pin as an output to grant data bus ownership to an external bus master. When an external arbiter is used, it asserts this pin as an input to grant data bus ownership to the MSC8113.
Page 89
The DMA drives this output to acknowledge the DMA transaction on the bus. EXT_DBG2 Output External Data Bus Grant 2 The MSC8113 asserts this pin to grant data bus ownership to an external bus master. IRQ3 Input Interrupt Request 3 One of fifteen external lines that can request a service routine, via the internal interrupt controller, from the SC140.
Page 90
The DMA drives this output to acknowledge the DMA transaction on the bus. EXT_DBG3 Output External Data Bus Grant 3 The MSC8113 asserts this pin to grant data bus ownership to an external bus master. IRQ5 Input Interrupt Request 5 One of fifteen external lines that can request a service routine, via the internal interrupt controller, from the SC140.
Page 91
See the System Interface Unit (SIU) chapter in the MSC8113 Reference Manual for details on how to configure these pins. When used as the bus control arbiter, the MSC8113 can support up to three external bus masters. Each master uses its own set of Bus Request, Bus Grant, and Data Bus Grant signals (BR/BG/DBG, EXT_BR2/EXT_BG2/EXT_DBG2, and EXT_BR3/EXT_BG3/EXT_DBG3).
External Signals 3.5 Memory Controller Signals Refer to the Memory Controller chapter in the MSC8113 Reference Manual for details on configuring these signals. Table 3-6. Memory Controller Signals Signal Name Type Description BCTL0 Output System Bus Buffer Control 0 Controls buffers on the data bus. Usually used with BCTL1. The exact function of this pin is defined by the value of SIUMCR[BCTLC].
Page 93
In systems that store data parity in a separate chip, this output is used as the byte-select for that chip. PSDAMUX Output System Bus SDRAM Address Multiplexer Controls the system bus SDRAM address multiplexer when the MSC8113 is in external master mode. PGPL5 Output System Bus UPM General-Purpose Line 5 One of six general-purpose output lines from the UPM.
One of 32 GPIO pins used as GPIO or as one of two dedicated inputs or one of two dedicated outputs. For details, see Chapter 23, GPIO. CHIP_ID0 Input Chip ID 0 Determines the chip ID of the MSC8113 DSI. It is sampled on the rising edge of PORESET signal. IRQ4 Input Interrupt Request 4 One of fifteen external lines that can request a service routine, via the internal interrupt controller, from the SC140 core.
Page 95
Each signal is configured as either input to or output from the counter. For details, see Chapter 22, Timers. CHIP_ID2 Input Chip ID 2 Determines the chip ID of the MSC8113 DSI. It is sampled on the rising edge of PORESET signal. IRQ6 Input Interrupt Request 6 One of the fifteen external lines that can request a service routine, via the internal interrupt controller, from the SC140 core.
Page 96
Output Ethernet Transmit Data 3 For MII mode only, bit 3 of the Ethernet transmit data. Reserved Output For RMII or SMII mode, this pin is reserved and can be left unconnected. MSC8113 Reference Manual, Rev. 0 3-20 Freescale Semiconductor...
Page 97
Ethernet Carrier Sense/Receive Data Valid In RMII mode, this signal indicates that a carrier is sense or that the receive data is valid. Input Not Connected For SMII mode, this signal must be left unconnected. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 3-21...
Page 98
One of fifteen external lines that can request a service routine, via the internal interrupt controller, from the SC140. ETHMDC Output Ethernet Management Clock Used for the MDIO reference clock for MII, RMII, and SMII modes. MSC8113 Reference Manual, Rev. 0 3-22 Freescale Semiconductor...
Page 99
As an input to the DMA, DONE closes the channel much like a normal channel closing. See the MSC8113 Reference Manual chapters on DMA and GPIO for information on configuring the DRACK or DONE mode and pin direction.
Page 100
As an input to the DMA, DONE closes the channel much like a normal channel closing. Note: See the MSC8113 Reference Manual chapters on DMA and GPIO for information on configuring the DRACK or DONE mode and pin direction. DRACK2...
Page 101
One of 32 GPIO pins used as GPIO or as one of two dedicated inputs or one of two dedicated outputs. For details, see Chapter 23, GPIO. UTXD Output UART Transmit Data MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 3-25...
Page 102
One of 32 GPIO pins used as GPIO or as one of two dedicated inputs or one of two dedicated outputs. For details, see Chapter 23, GPIO. CHIP_ID3 Input Chip ID 3 Determines the chip ID of the MSC8113 DSI. It is sampled on the rising edge of PORESET signal. ETHTX_EN Output Ethernet Transmit Enable Enables the Ethernet transmit controller for MII and RMII modes.
In SMII mode, used for the Ethernet receive data. 3.8 EOnCE Event and JTAG Test Access Port Signals The MSC8113 uses two sets of debugging signals for the two types of internal debugging modules: EOnCE and the JTAG TAP controller. Each internal SC140 core has an EOnce module, but they are all accessed externally by the same two signals .
Asynchronously initializes the test controller; must be asserted during power up. 3.9 Reserved Signals Table 3-10. Reserved Signals Signal Name Type Signal Description TEST Input Test Used for manufacturing testing. You must connect this pin to GND. MSC8113 Reference Manual, Rev. 0 3-28 Freescale Semiconductor...
Page 105
Configuration Registers Local Bus Reset Configuration Local Bus (32-Bit Address) System Bus Peripherals Ethernet Interface Interface SRAMs Note: msbs = most significant bits; lsbs = least significant bits. Figure 4-1. SIU Block Diagram MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
A maskable interrupt is generated when the counter is equals the value programmed in the alarm register. The time counter (TMCNT) is clocked by the TIMERSCLK clock. See Section 4.1.3, Time Counter (TMCNT). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
To allow variation in system peripheral response times, SYPCR[BMT] defines the time-out period, whose maximum value can be 2,040 system bus clocks. The timing mechanism is clocked by the system bus clock divided by eight. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
The TMCNTSC enables or disables the various timer functions and reports the interrupt source. Figure 4-4 shows a block diagram of TMCNT, which is described on page 4-27 in Section 4.2.1, System Configuration and Protection Registers. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
SC140 cores. The primary core coordinates the overall system protection and detects situations in which other SC140 cores are not responding and their general watchdog timer is not functioning (either timer MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 111
Figure 4-7 shows how to meet this need in the SWT. On the general timers, it is met by programming the required timer period value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Section 17.1.2.5, LIC Interrupt Sources. 4.1.6 SIU Multiplexing Some functions share signal connections. The pinout of the MSC8113 is shown in Chapter 3, External Signals. The control of the functionality used on a specific connection is shown in Table 4-2.
Page 113
Chapter 25, Ethernet Controller. HD[59]/D[59]/ETHMDIO HD[60]/D[60]/ETHCOL Multiplexing between host port functions is selected by the DSI control HD[61–63]/D[61–63]/NC registers. See Chapter 14, Direct Slave Interface (DSI). All functions starting with ETH belong to the Ethernet block. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 114
Reset EBM NPQM — EXDD — — — — — ISPS — — — — Type Reset ISPS BCR contains configuration bits for various features and wait states on the system bus. MSC8113 Reference Manual, Rev. 0 4-10 Freescale Semiconductor...
60x-compatible system bus master. APD indicates how many cycles the MSC8113 should wait for ARTRY, but because ARTRY can be asserted (by other masters) only on cacheable address spaces, APD is considered only on...
Page 116
External Master Delay Disable The memory controller inserts one wait state Generally, the MSC8113 adds a delay of one clock cycle between the assertion of TS and the assertion of for each external master access to a region controlled by CS when an external master accesses an the memory controller.
Page 117
ISPS Internal Space Port Size MSC8113 acts as a 64-bit slave to external Defines the port size of the MSC8113 internal space masters access to its internal space. region as seen by external masters. Setting ISPS enables MSC8113 acts as a 32-bit slave to external a 32-bit master to access the MSC8113 internal space.
Page 118
Reset Boot PPC_ALRH defines the arbitration priority of MSC8113 bus masters 0–7. Priority field 0 has the highest priority. The content of each priority field is the index number one bus master. For information on MSC8113 bus master indexes, see the description of PPC_ACR[PRKM] in Table 4-4.
Page 119
Priority Field 12 Priority Field 13 Priority Field 14 Priority Field 15 Type Reset Boot PPC_ALRL defines the arbitration priority of MSC8113 bus masters 8–15. Priority field 0 has the highest priority. LCL_ACR Local Bus Arbiter Configuration Register — DBGD —...
Page 120
Reset Boot LCL_ALRH defines the arbitration priority for MSC8113 local bus masters 0–7. Priority field 0 has the highest priority. The content of each priority field is the index number one bus master. For information about the MSC8113 local bus master indexes see LCL_ACR[PRKM] in Table 4-5.
Page 121
Priority Field 15 Type Reset Boot LCL_ALRL defines the arbitration priority of MSC8113 local bus masters 8–15. Priority field 0 has highest priority. The reset value is the recommended arbitration priority configuration for most applications. SIUMCR SIU Module Configuration Register...
Page 122
000 MSC8113 boots from system external memory. 7–9 This field is copied by power on reset 001 MSC8113 boots from External host (DSI or Power PC). from BM as part of the reset 010 MSC8113 boots from TDM. configuration sequence. It reflects the 011 MSC8113 boots from UART.
Page 123
INT_OUT line as open-drain of full INT_OUT line is driven with full drive. drive. This field has effect only if the INTOUT configuration bit selects INT_OUT functionality. — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 4-19...
Page 124
In the MSC8113, all 15 bits can be programmed. See Chapter 8, Memory Map, for details on the device’s internal memory map and to Chapter 5, Reset, for the available default initial ISB values depending on ISBSEL.
Page 125
PBME System Bus Monitor Enable System bus monitor is disabled. System bus monitor is enabled. LBME Local Bus Monitor Enable Local bus monitor is disabled. Local bus monitor is enabled. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 4-21...
Page 126
0xAA39. SWSR is written at any time, but it returns all zeros when read. For details, see Section 4.1.5. TESCR1 System Bus Transfer Error Status and Control Register 1 ISBE — — — Type Reset — — — Type Reset MSC8113 Reference Manual, Rev. 0 4-22 Freescale Semiconductor...
Page 127
Set when TEA is asserted due to the system bus monitor time-out. ISBE Internal Space Bus Error Indicates that TEA was asserted due to error on a transaction to MSC8113 internal memory space. TESCR2[REGS] indicates that the internal access is to the SIU Registers address space (address hit IMMR).
Page 128
— Reserved. Write to zero for future compatibility. 2–6 Local Bus Bridge Error An error occurred in a transaction from the MSC8113 system bus to the local bus bridge. The bridge is non-burstable. Parity Error on Byte 8–15 There are eight parity error status bits, one per 8-bit lane. A bit is set for the byte with a parity error.
Page 129
Reserved. Write to zero for future compatibility. Transfer Type 11–15 Indicates the transfer type of the local bus transaction that caused the TEA. Table 13-10 describes the transfer types. — Reserved. Write to zero for future compatibility. 16–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 4-25...
Page 130
KHz. See Section 4.1.2, Timers Clock. Time Counter Enable The time counter is disabled. Is not affected by soft or hard reset. The time counter is enabled. MSC8113 Reference Manual, Rev. 0 4-26 Freescale Semiconductor...
The periodic interrupt registers described in this section are listed as follows: Periodic Interrupt Status and Control Register (PISCR), page 4-28 Periodic Interrupt Timer Count Register (PITC), page 4-28 Periodic Interrupt Timer Register (PITR), page 4-29 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 4-27...
Page 132
When the counter is enabled, it continues counting using the previous value. PITC Periodic Interrupt Timer Count Register PITC Type Reset — Type Reset PITC contains the 16 bits to be loaded in a modulus counter. MSC8113 Reference Manual, Rev. 0 4-28 Freescale Semiconductor...
Page 133
Reset Description Periodic Interrupt Timing Count 0–15 Contains the current count remaining for the periodic timer. Writes have no effect on this field. — Reserved. Write to zero for future compatibility. 16–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 4-29...
Page 134
System Interface Unit (SIU) MSC8113 Reference Manual, Rev. 0 4-30 Freescale Semiconductor...
Page 135
Initiates the soft reset flow. The MSC8113 device detects an external assertion of reset SRESET only if it occurs while the MSC8113 is not asserting reset. SRESET is an (SRESET) open-drain output. Upon soft reset, SRESET is driven, the SC140 extended cores are reset, and system configuration is maintained.
PORESET least 16 input clock cycles after MSC8113 reach their nominal values. Table 5-3 shows the MSC8113 configuration signals. These signals are sampled at the rising edge of , which determines different MSC8113 configuration features. PORESET Table 5-3. PORESET External Configuration Signals...
Page 137
Table 5-4 configuration bit, define the pin multiplexing of the on page 5-3. low part of the MSC8113 DSI/system data bus with the Ethernet. For details on how the DSI64 signal functions, refer to Section 14.5.2, Status Registers, on page 14-35).
Reset configuration write through the 60x-compatible system bus. MSC8113 is a configuration master. Reset configuration write through the 60x-compatible system bus. MSC8113 is a configuration slave. If the HRCW is not written during 1024 CLKIN cycles, it gets a default value of all zeros. Note: Always ensure that a valid configuration is written to the HRCW through the system bus.
Page 139
SPLL lock. Figure 5-1. Reset Configuration Write Through the DSI, Timing Diagram Figure 5-2 shows how to program the MSC8113 HRCW to multiple MSC8113 devices through the DSI port. The HRCW can be written separately for each device using a common...
MSC8113 CNFGS RSTCONF PORESET configuration mode. If the value is “01” the MSC8113 acts as a configuration slave. If the value is “00” the MSC8113 acts as a configuration master. Immediately after is deasserted PORESET and the reset operation mode is designated as configuration master or slave, the MSC8113 starts the configuration process by asserting throughout internal power-on reset.
Page 141
HRCW is kept. See Section 5.3, Hard CLKIN Reset, on page 5-8. After configuration, the MSC8113 device halts until the SPLL locks. As described in Chapter 7, Clocks, the SPLL locks according to , which are sampled on deassertion, MODCK[1–2]...
A hard reset sequence is initiated externally when is asserted or internally when the HRESET MSC8113 detects a reason to start the hard reset sequence (a software watch dog timer or a bus monitor timer expires). In both cases, the MSC8113 continuously asserts HRESET SRESET throughout the hard reset sequence.
PORESET RSTCONF Figure 5-4. The MSC8113 can then access the EPROM. The HRCW is assumed to reside in an EPROM connected to of the configuration master. Because the port size of this EPROM is unknown to the configuration master before the HRCWs are read, the configuration master reads the HRCW byte-by-byte only from locations that are independent of port size.
The sequence of reset configuration write through the system bus, which occurs during hard reset, supports a system that uses up to eight MSC8113 devices, each configured differently. It needs no additional glue logic for reset configuration. In a typical multi-MSC8113 system, one MSC8113 device acts as the configuration master and all other MSC8113 devices act as configuration slaves.
Page 145
RSTCONF D[0–31] as its HRCW. Then, the master continues to configure all MSC8113 devices in the system. The configuration master always reads eight HRCWs, regardless of the number of MSC8113 devices in the system. Figure 5-6 shows a multi-device configuration. In this system, the configuration master initially reads its own HRCW.
5.5.4 Multiple MSC8113 Devices in a System With No EPROM In some cases, the configuration master capabilities of the MSC8113 cannot be used. This can happen, for example, if there is no EPROM in the system or if the EPROM is not controlled by an MSC8113.
Page 148
SC140 cores disabled. 9, Extended Core. ISPS Internal Space Port Size MSC8113 acts as a 64-bit slave to Defines the initial value of BCR[ISPS]. Setting external masters access to its internal ISPS enables a 32-bit master to access the space.
Page 149
No DLL bypass. Defines whether the DLL mechanism is disabled. DLL bypass. See Section 7.3, Clock Configuration. Note: The MSC8113 does not support DLL operation. Always write a 1 to this bit to configure the device correctly. MODCK[3–5] MODCK High Order Bits 28–30...
RSR[SWRS], RSR[ESRS], and RSR[EHRS] are all set after a software watchdog reset. All bits are cleared by writing a 1 (writing zero has no effect). RSR is memory-mapped into the MSC8113 SIU register map. Table 5-9. RSR Bit Descriptions...
The boot program, which resides in the internal ROM, initializes the MSC8113 after it completes a reset sequence. The MSC8113 device can boot from an external host through the DSI or the 60x-compatible system ports, execute a user boot program located on an external memory device...
Boot Program 6.1 Boot Basics The boot program initializes the MSC8113 with default values shown in Table 6-2. Table 6-2. Default MSC8113 Initialization Values of the Boot Program Where Discussed Module or Register Initialized UPMC and the GPCM as required to support the MSC8113 Section 12.7, Internal SRAM and IPBus Peripherals...
Booting From an External Memory Device 6.2 Booting From an External Memory Device The MSC8113 device boots from an external memory device on the system bus. The MSC8113 boot program retrieves an address from the external memory and jumps to that address.
System Bus Memory Map View Example, on page 8-4. The external host should poll the Valid bit (V) of the BR10 register. The valid bit is set when the MSC8113 boot code finishes the default initialization and the external host can access the internal resources, including internal memory.
Booting From the TDM Interface 6.4.1 Initializing the TDM Physical Layer The boot master transmits messages to multiple MSC8113 devices on TDM channel 0. Each MSC8113 transmits back on a different TDM channel that equals the MSC8113 CHIP_ID as defined in the DCIR. The MSC8113configures the size and type (T1 or non T1) of the received and transmitted frame by synchronizing to the TDM Clock and Sync signals of the master boot device.
Figure 6-3. 16 bit Receive Frame Non-T1 Configuration For a T1 receive operation, the TDM0RDAT is sampled for eight consecutive clock cycles starting two clocks after each first clock on which the TDM3RSYN is detected high. See Figure 6-4. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
For a non-T1 transmit operation, 8-bit channels are transmitted on the TDM3TDAT signal in consecutive clock cycles starting on the negative edge of the first clock after which the TDM3TSYN is detected high. See Figure 6-5. Each MSC8113 transmits on a channel that equals its chip ID.
Boot Program TDM3TSYN is detected high. See Figure 6-6. Each MSC8113 transmits on a channel that equals its chip ID. One Cycle Sync Delay TDMxTCLK TDMxTSYN FA D0 Dn FA TDMxTDAT Channel N Channel 0 Channel 1 Channel N Channel 0...
Page 159
4 bytes Destination Address of Data Block. The destination address for the data field of the slave MSC8113 internal memory as determined by the MSC8113 memory map (SC140 Core 0). See Figure 8-1, SC140 Core View Memory Map Example, on page 8-3. Addresses 0x01076E00–01076FFF are reserved and cannot be used.
MSC8113 slave devices, but their correctness is not guaranteed. Note: The MSC8113 slave device RN value is initialized to zero at the start of the TDM boot session. When the HCRC field is received with no error and the CRC field is received with error, corrupt data is written to the MSC8113 slave device memory.
Page 161
Send BTAM with RN RN==SN? and SCID with my CHIP-ID RN = RN+1 Send BTAM with RN and SCID with my CHIP-ID End Block flag End TDM boot session Figure 6-7. MSC8113 Logic Layer Algorithm MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 6-11...
Page 162
Sixth Block Data block is not written to device number 2 and 7. DCID = 0xFF DA = 0x02012000 EB=1 Figure 6-8. TDM Block Stream Structure Example from TDM Master Boot Device MSC8113 Reference Manual, Rev. 0 6-12 Freescale Semiconductor...
In a system that boots from a UART device, a UART boot master device writes blocks of code and data into the memories of multiple MSC8113 devices (see Figure 6-8) and according to the memory map shown in Figure 8-6. UART booting occurs in a two-layer protocol: a UART physical layer and a UART logical layer handshake (see Section 6.4.2, TDM Logical Layer...
6.6 Booting from I²C Slave Memory Device In a system that boots from an I C slave memory device, when the MSC8113 boot program finishes its default initialization, it starts to retrieve blocks from an external I C-slave memory device such as a serial EPROM, using the I C SM (see Chapter 24, I²C Software Module) that is...
Page 165
If the CSE bit is set and the first block retrieve fails, a second retrieve is performed. If the second retrieve fails, all cores enter debug-halt mode. Note: For the field size, the most significant byte is at the lower address. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 6-15...
All cores enter debug-halt mode Next Block Addr Prepare Sequential Next Block Address = 0? Next Block Addr Prepare Next Block Address = 0xFFFFFFFF? End I C boot procedure Figure 6-10. I C Boot Procedure Flow MSC8113 Reference Manual, Rev. 0 6-16 Freescale Semiconductor...
Figure 6-11 shows the system connectivity for I C devices. MSC8113 Serial Memory C Slave C Master ID=0x1010000 MSC8113 Serial Memory C Slave C Master ID=0x1010001 MSC8113 C Master Figure 6-11. I C Boot System Example MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 6-17...
Clocks The MSC8113 device has two main clocks, CORES_CLOCK and BUSES_CLOCK, both of which are synchronized and phase aligned. The CORES_CLOCK supplies a timing signal for the extended core, including: SC140 cores M1 and M2 memories Instruction cache ...
CLKIN CLKOUT BUSES_CLOCK of all the MSC8113 devices. Figure 7-1 shows the MSC8113 clock scheme. is generated by an external oscillator and is fed to the SPLL that divides and multiplies its CLKIN frequency according to the PLLRDF, PLLFDF, PLLODF, and the BUSDF factors as configured by the System Clock Mode Status Register SCMSR) (see Section 7.4, Clocks Programming...
(SDRAMs, for example). With this method, the CLKOUT each MSC8113 device connects through a zero-delay buffer to the clock input pin of its dedicated slave devices on the board. Figure 7-3 illustrates a system in which each of three MSC8113 devices connects to a dedicated SDRAM memory device on the board through the zero-delay buffers.
Page 172
CLKOUT MSC8113 device connects directly to the clock input pin of its dedicated slave devices. Figure 7-4 illustrates a system in which each of three MSC8113 devices connects to a dedicated SDRAM memory device on the board. The maximum load on must not exceed 10 pF.
MSC8113 device connects through CLKOUT a zero-delay buffer, to the clock input pins of the shared slave devices on the board. Figure 7-6 illustrates a system in which three MSC8113 devices connect to the one shared SDRAM memory device on the board. Note: Clocks marked with the same number of parallel lines should use an equivalent buffer and route on the board.
Page 174
CLKIN CLKIN connects to the input port of all the MSC8113 devices on the board and all the shared slave CLKIN device clock input ports as shown in Figure 7-7. You must chose one of the clock configuration modes for which the BUSES_CLOCK ratio is 1:1 (modes 0, 7, 15, 19, 21, 23, or 28–31 in...
7.3 Clock Configuration and the MODCK[3–5] bits of the Hard Reset Configuration Word (HRCW), MODCK[1–2] discussed in Section 5.6.1, map the MSC8113 clocks to one of the valid 27 configuration mode options. Each option determines the , BUSES_CLOCK, and CORES_CLOCK frequency CLKIN ratios.
Page 176
F frequency range: 20–133 MHz. F frequency range: 800–2000 MHz. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
SPLL Output Clock Division Factor SPLL PODF = 1 Signal SPLL PODF = 2 DLLDIS Configuration DLL Disable DLL enabled. Signal Note: DLL operation is not supported. DLL disabled. Always write a 1 to this bit. MSC8113 Reference Manual, Rev. 0 7-10 Freescale Semiconductor...
Page 179
Signal 0011 Bus DF = 4 0100 Bus DF = 5 0101 Bus DF = 6 0111 Bus DF = 8 1001 Bus DF = 10 All other combinations are not used. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 7-11...
Memory Map The memory map of the MSC8113 system is composed of the following address spaces: SC140 core internal address space. Each SC140 core can access its M1 memory and EOnCE registers. (see Table 8-2). A boot master accesses the SC140 core 0 internal address space through the I C, TDM, or UART interface.
Page 182
Figure 8-1 shows the SC140 view of the memory map immediately after boot for the case in which the IMMR[ISBSEL] field equals 0. This figure is an example only; the ISBSEL field value is programmable. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 183
9 or 11 as appropriate. Internal accesses outside that range but See Table 8-2. M1 Memory above address 0x01800000 are EOnCE modules controlled by the QBus Bank 3. 0x00000000 Figure 8-1. SC140 Core View Memory Map Example MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 184
Figure 8-3 shows the view of the memory map from a host accessing through the DSI. 0x001FFFFF External Memory Window 0x001F0000 0x001DFFFF System Registers 0x001C0000 0x001BFFFF IPBus 0x00180000 0x0017FFFF M1 and M2 0x00000000 Figure 8-3. Host Accessing through the DSI Memory Map MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 185
Figure 8-4. TDM View Memory Map Figure 8-5 shows the memory map as viewed by the DMA and the Ethernet controllers. 0xFFFFFFFF Bank 11 0x0217FFFF M1 and M2 0x02000000 Figure 8-5. DMA and Ethernet Controller Memory Map MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
EDCA3 reference value A 00EFFE70 EDCA4_REFA EDCA4 reference value A 00EFFE74 EDCA5_REFA EDCA5 reference value A 00EFFE78–00EFFE7F Reserved 00EFFE80 EDCA0_REFB EDCA0 reference value B 00EFFE84 EDCA1_REFB EDCA1 reference value B 00EFFE88 EDCA2_REFB EDCA2 reference value B MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
SC140 core. QBus bank 0 includes the PIC, the LIC, and the EQBS registers. QBus bank 1 includes the MQBus interface through which the SC140 core accesses the M2 memory and the MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 190
LIC Group B Interrupt Status Register 00F0AC70 LICBIESR LIC Group B Interrupt Error Status Register 00F0AC72–00F0FBFF Reserved 00F0FC00 ICCR ICache Control Register 00F0FC02 ICCMR ICache Command Register 00F0FC04–00F0FC0F Reserved 00F0FC10 LRUSR LRU Status Register MSC8113 Reference Manual, Rev. 0 8-10 Freescale Semiconductor...
Each SC140 core accesses the shared M2 memory and the boot ROM through the MQBus, which is mapped on bank 1 of the QBus. The Base Address Register (QBUSBR1) has a reset value of MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
The local bus address space comprises internal devices. The memory controller identifies banks 9–11 for these devices and generates chip selects and other signals for accessing these banks. The following resources reside on the local bus: MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 8-27...
027BF7A0– 02DBF7A0– 02FBF7A0– Reserved 021BFFFF 023BFFFF 025BFFFF 027BFFFF 02DBFFFF 02FBFFFF 8.7 System Bus Address Space The system bus address space includes devices residing on the on-device or off-device system bus, as follows: MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 8-55...
Page 236
Memory Map The MSC8113 system registers are located on the system bus. These registers are mapped within a contiguous block of 128 KB of memory. The base address for this block is programmed as shown in Section 4.2, SIU Programming Model. The SC140 cores and external hosts access these registers through either the system bus or the DSI.
4-6. — Read data not valid. Data stored in the internal memories is accessed by the extended core as big-endian. Bytes within registers can be accessed unless specified otherwise. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 8-79...
Extended Core Each MSC8113 SC140 core is embedded in an extended core system that enhances the power of the SC140 core and provides a simple interface to each SC140 core. The extended core system includes: SC140 core M1 memory (224 KB) ...
The four 24-bit address memory ports include: P (program) 128-bit data read. Xa (data) 64-bit read and write. Xb (data) 64-bit read and write. L (data) 64-bit read and write. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
(see Figure 9-4). This interleaving makes efficient use of the two data buses and minimizes memory contentions. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 265
Module 7 line 15 line 7 line 1017 Module 1 line 9 line 1 line 1016 Module 0 line 8 line 0 Group I/O Xa-Bus Xb-Bus P-Bus L Port Figure 9-4. Memory Interleaving MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Misaligned data. When the address on the data buses (Xa or Xb) is misaligned with the data size, a misaligned data exception occurs and is generated internally. IRQ13 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
IRQ11 9.3 Extended QBus System The EQBS is the SC140 extended core interface to the MSC8113 system through the QBus. The module handles the SC140 core and the instruction cache requests, bringing the data on the QBus. As Figure 9-5 shows, the EQBS consists of a bus switch, a write buffer, a fetch unit, a control unit, and the banks to handle the communication with the slaves and all EQBS registers.
Upon detecting a read from an address held in the write buffer, the write buffer flushes all its contents and only then execute the read. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
“miss” access occurs. The prefetch phase greatly improves cache performance in a system running a program with sequential code because in the next access to the code area, the data is probably already in the cache. The prefetch occurs in two phases: MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 270
The fetch unit can stop an incomplete prefetch access. If a prefetch is executing and a new P access that is a “miss” is waiting on the SC140 core buses, the fetch unit stops the prefetch immediately and puts the new miss on the QBus. MSC8113 Reference Manual, Rev. 0 9-10 Freescale Semiconductor...
This ensures that system register updates are not delayed in the write buffer. Bank 1 can be used to put any slave or interface on the QBus. In the MSC8113 it is used for M2 (shared) memory.
DSP peripherals on the QBus, Icache Zero-wait state mode base0 = 0x00F0 registers and bank registers mask0 = 0xFFFF Bank 1 In the MSC8113 it is used for M2 Acknowledge mode base1 = 0x0100 (shared) memory mask1 = 0xFF80 Note:...
Page 273
Table 9-3. Example Bank Address and Mask Register Values Base Register Mask Register Bank Size Address Range for a Match 0x001F 0xFFFF 64 KB 0x001F0000–0x001FFFFF 0x001C 0xFFFC 256 KB 0x001C0000–0x001FFFFF MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-13...
The master sends a signal to assert that the atomic transaction (read-modify-write) is valid on the bus. The slave asserts a result signal when the atomic operation succeeds. This result signal is duplicated for each bank. MSC8113 Reference Manual, Rev. 0 9-14 Freescale Semiconductor...
Page 276
1 is the immediate area. Size 0 Area Size 1 Area Data Area 1 (reverse) Base 1 Area Data Area 0 Base 0 Area Figure 9-8. Reverse Area Inside an Area MSC8113 Reference Manual, Rev. 0 9-16 Freescale Semiconductor...
The steps in defining this area are as follows: Write the base address in 32-bit representation. 32 MB is written as 00000010000000000000000000000000. Based on the size (256 KB), choose line 3 in the table. The size_bit = 0. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-17...
Page 279
= 0xFF80 The mask value of the bank. with a write to the register. mask2 = 0xFFFF 2. Do not access an external read or write one cycle after writing to the register. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-19...
Page 280
The base address for the area defining the cacheable area. The range below the 16 MB address (0x00000000–0x00FFFFFF) is defined as not cacheable. IFUR Instruction Fetch Unit Configuration Register 0x00F0FF60 — — — — — — — — — — — PFOFF — SIZE Type Reset Boot MSC8113 Reference Manual, Rev. 0 9-20 Freescale Semiconductor...
Page 281
Disable write buffer operation. buffer is disabled, all write execute through the bus switch. — Reserved. Write to zero for future compatibility. 4–5 0x3ff Watchdog Count 6–15 Value for watch dog count. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-21...
Page 282
Indicates whether the size is 256 bytes or not. Size is 256 bytes. BASE Base Address 15–8 See Section 9.3.7, Setting a Data Area, on 24–31 The area base address. page 9-15. MSC8113 Reference Manual, Rev. 0 9-22 Freescale Semiconductor...
Page 283
Contains a different number for each process version. ECVer 0x52 Extended Core Version 8–15 Contains a different number for each extended core version. FLBACR0 FlyBy Address Control Register 0x00F0FFF4 FLBSA[20–5] Type Reset FLBSA[4–0] — Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-23...
PBus XA-Bus XB-Bus Figure 9-9. MSC8113 ICache System The MSC8113 ICache has the following features: 16 KB of memory 16-way associativity 4 indexes, so the ICache has a total of 64 lines. 16 fetch sets for each line. Each fetch set is 16 bytes.
Page 285
Each of the three extended cores in the MSC8113 has its own ICache. Each of these ICache memories optimizes access to its instruction storage area by using a specialized indexing system.
Page 286
If the upper 22 bits of the address match the tag and index in a cache line, but the VALID bit for the fetch set position is clear, code is transferred from memory to the SC140 core and written into the cache. MSC8113 Reference Manual, Rev. 0 9-26 Freescale Semiconductor...
Page 287
Configuration allows a trade-off between efficient use of the system bus and burdening the QBus with transactions that the SC140 core may not need. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-27...
Extended Core 9.4.1 ICache Attributes The diagram in Figure 9-11 gives a logical view of the MSC8113 ICache. Valid Bits Memory ..TAG 0 Line 0 ..TAG 1 Line 1 ..
16 bits of the contents of the resource to which it belongs. To read the ICache status, the SC140 core performs a read from a specific memory address. The contents of MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 290
Reload (way0, index1, tag bits [15–0]) Read tag array status 1: 16 bits, line: way 0, index1, tag bits [15–0] Reload (way0, index1, tag bits [21–16] (padded)) (More tag array status reads) MSC8113 Reference Manual, Rev. 0 9-30 Freescale Semiconductor...
Page 291
ICache is not in Debug mode, the command is discarded. An exception flag in the ICache is raised for a PIC to use, and the interrupt takes effect only in systems with the cache connected to the PIC. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-31...
In the fixed allocation mechanism, the OS reserves a cache space for each task. When a new task resumes operation, it works only with the cache space allocated for it, meaning that each task should change the lower and upper boundaries of the cache space. MSC8113 Reference Manual, Rev. 0 9-32 Freescale Semiconductor...
Through the programming interface, you can set cache modes, send commands to the ICache, and read ICache registers. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-33...
Clear line. Clear all valid bits for a specific tag (line = {way[3–0],index[1–0]}, unlike lines for reads). For breakpoint insertion. Initialize status registers. Perform an initial load to the different cache status registers. MSC8113 Reference Manual, Rev. 0 9-34 Freescale Semiconductor...
(an exception flag is raised). There must be at least one execution set between the time when the debug mode bit is turned on and the time when the first debug MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-35...
Cache in debug mode. — Reserved. Write to zero for future compatibility. Cache Lock Mode Cache not locked. Enables/disables cache locking. Cache locked. On/Off Bit Cache disabled. Enables/disables the iCache. Cache enabled. MSC8113 Reference Manual, Rev. 0 9-36 Freescale Semiconductor...
Page 297
LRU for the specified index and a 1 indicates that the line is the LRU for that index. TASR Tag Array Status Register 0x00F0FC12 TS[15–0] Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 9-37...
9.5 Programmable Interrupt Controller (PIC) The MSC8113 PIC is a peripheral module that serves the signals received from MSC8113 peripherals and GPIOs. The PIC is memory-mapped to the SC140 and is accessed via the SC140 QBus. The PIC includes 32 inputs for signals and...
QBus, PIC, LIC, and MQBus and SQBus controllers are functional. The extended core exits Wait mode when there is an interrupt or a reset or when the MSC8113 device enters Debug mode by either a JTAG DEBUG_REQUEST command or assertion of...
(high priority) waiting for execution, the current request is upgraded to high priority so that the arbitration latency for the program miss access is reduced. In addition, MSC8113 Reference Manual, Rev. 0 10-2 Freescale Semiconductor...
(or eight) wait state accesses are rare. Because there are three SC140 cores in the MSC8113, the MQBus may be occupied and one SC140 core access may require more than six (or eight) wait states. However, an application that carefully considers memory allocation and wisely uses the ICache significantly reduces the miss ratio of all three SC140 cores, reducing the number of miss accesses to M2 memory.
Page 305
It can access the M1 memory of another extended core. Moreover, an SC140 core can access other devices on the system. For example, it can configure the DMA controller of yet another MSC8113 device on the system or directly access the M1 and M2 memories of that device.
Using the global bit described in Section 9.3.9, EQBS Programming Model, on page 9-18, the signal on the system bus is asserted. This signal typically indicates that the MSC8113 device is writing to a cacheable area. The off-device data cache uses this signal to flag a corrupted entry.
A system bus burst write of 32 bytes or less (24 or 16 bytes) to one of the 32 bytes that have the same most significant bits as the reserved address (ignoring the last five bits). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Memory Controller The MSC8113 memory controller serves two purposes: It supports a glueless interface to external memory and peripheral devices on the external system bus. It enables interfacing with the IPBus peripherals and internal memories through the internal local bus.
Page 310
Memory Controller Figure 12-1 shows the MSC8113 dual-bus architecture. MSC8113 External Master System Bus System SC140 Cores Master Interface A[0–31] System Address Bus[0–31] System Address Bus Interface 60x-compatible System Bus D[0–63] System Data Bus [0–63] System Data Bus Interface GPCM...
Each external memory bank can be controlled by an external memory controller or bus slave. The memory controllers functionality minimizes the need for glue logic in MSC8113-based systems. In Figure 12-3, is used with the 16-bit boot EPROM with BR0[MS] defaulting to select the GPCM.
Page 312
Local Bus BR11[MS] General-Purpose Chip-Select Machine Figure 12-2. Memory Controller Machine Selection MSC8113 EPROM Address Address POE/PGPL2 GPCM PWE[0–3]/PBS[0–3] Data Data DRAM Address UPMA CAS[0–3] PGPLx Data Figure 12-3. Simple System Configuration MSC8113 Reference Manual, Rev. 0 12-4 Freescale Semiconductor...
Page 313
( ) can be assigned to either UPMA or UPMB. In the CS[0–7] MSC8113 device, one internal bank on the local bus uses the UPMC to access the internal memories ( CS11 Each UPM is a programmable RAM-based machine. It toggles the memory controller external signals as programmed in RAM when an internal or external master initiates any external read or write access.
Page 314
Figure 12-6 shows a memory controller access in the non 60x-compatible mode and demonstrates the validity period of each group of signals involved in the access, as well as the relationships between the various groups. MSC8113 Reference Manual, Rev. 0 12-6 Freescale Semiconductor...
Page 315
MEMC Controlled Signals Note: The MEMC address is either BADDR and/or external latched address controlled by ALE and/or multiplexed address controlled by PSDMAMUX. Figure 12-7. Timing Diagram for MEMC Access in 60x-Compatible Mode MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-7...
2. Also, using RMW parity on a bank with a 32-bit port size requires that the system bus be placed in strict 60x mode by setting BCR[ETM] to 0. See Section 4.2, SIU Programming Model. MSC8113 Reference Manual, Rev. 0 12-8 Freescale Semiconductor...
The memory controller asserts the transfer error acknowledge signal ( ) (if enabled) in the following cases: An unaligned or burst access is attempted to internal MSC8113 space (registers). Any SC140 core or an external master attempts a burst access to the local bus address space.
64 bits (8 bytes) of data is transferred. Because the MSC8113 device memories can have port sizes smaller than 64 bits, there is a need for a partial data valid indication. The memory controller uses...
Programming Model. 12.1.10 Data Pipelining Multiple-MSC8113 systems that use data checking, such as parity, face a timing problem when synchronous memories, such as SDRAM, are used. Because these devices can output data every cycle and because the data checking requires additional data set-up time, the timing constraints are extremely hard to meet.
(60x-Compatible Mode), on page 12-83. 12.1.12 External Memory Controller Support The MSC8113 device has an option to allocate specific banks (address spaces) to be controlled by an external memory controller or bus slave while retaining all the bank properties: port size, data check, atomic operation, and data pipelining.
To understand the operation of the Memory Controller SDRAM machine, you must be familiar with SDRAM devices protocol and behavior. The MSC8113 device provides an SDRAM interface (machine) only for the system bus. The machine provides the necessary control functions and signals for JEDEC-compliant SDRAM devices.
Memory Controller 12.2.1 Supported SDRAM Configurations The MSC8113 memory controller supports any SDRAM configuration, but all SDRAM devices on the same bus must have the same port size and timing parameters. 12.2.2 SDRAM Power-On Initialization At system reset, initialization software must set up the programmable parameters in the memory controller banks registers (ORx, BRx, PSDMR).
Page 323
0 enables the signal. For either definition, a 1 disables the byte lane and a 0 enables the byte lan The Memory Address (MA[0–11]) signals in this figure are driven by the MSC8113 A[19–28], PSDA10, and A17 signals, respectively.
Burst type must be chosen according to the 60x cache wrap (sequential). Although some SDRAMs provide burst lengths of 1, 2, 4, 8, or a page, the MSC8113 supports only a 4-beat burst for a 64-bit port and an 8-beat burst for a 32-bit port. The MSC8113 does not support burst lengths of 1, 2, and a page for SDRAMs.
The most-significant address bits are the bank select for the SDRAM, thus allowing interleaving only on bank boundaries. Bank-based interleaving is activated by clearing PSDMR[PBI]. See Section 12.2.14.2, SDRAM Configuration Example (Bank-Based Interleaving), on page 12-31. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-17...
BNKSEL 12.2.7 SDRAM Address Multiplexing (SDAM and BSMA) In single MSC8113 mode, the lower bits of the address bus connect to the device address port, and the memory controller multiplexes the row/column and the internal banks select lines, according to PSDMR[SDAM] and PSDMR[BSMA]. Table 12-5 shows how PSDMR[SDAM] settings affect address multiplexing.
Page 327
In this case A[16–18] are driven both on and on A[5–7] BNKSEL[0–2] A[16–18] The SDRAM device inputs BA. In this case, the lines can be connected either to A[16–18] BNKSEL[2–0] MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-19...
PSRT. This represents the time period required between refreshes. The value of PSRT depends on the specific SDRAM devices and the operating frequency of the MSC8113 bus. This value should allow for a potential collision between memory accesses and refresh cycles.
Page 329
Activate to Read/Write Interval. Controlled by PSDMR[ACTTORW], defines the earliest timing for a command after an command. READ WRITE ACTIVATE PSDRAS PSDCAS Col. MA[0–11] PSDDQM Data ACTTORW = 2 ACTIVATE WRITE Command Command Figure 12-11. ACTTORW = 2 (2 Clock Cycles) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-21...
Page 330
SDRAM. It is always PRECHARGE related to the CL parameter. Last Data Out ACTIVATE READ DEACTIVATE LDOTOPRE = 2 PSDRAS PSDCAS Column MA[0–11] PSDDQM Data Figure 12-13. LDOTOPRE = 2 (–2 Clock Cycles) MSC8113 Reference Manual, Rev. 0 12-22 Freescale Semiconductor...
The mode data is the address value during a mode-set cycle. It is driven by the memory controller, in single MSC8113 mode, according to PSDMR[CL]. In 60x-compatible mode, software must drive the correct value on the address lines. Figure 12-28 shows the actual value.
Each device has four internal banks, 12 row address lines, and 10 column address lines For page-based interleaving, the address bus is partitioned as shown in Table 12-7. Table 12-7. 60x Address Bus Partition A[0–5] A[6–17] A[18–19] A[20–29] A[30–31] msb of start address Bank select Column MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-29...
Page 338
PSRT and MPTPR, which should be programmed according to the device refresh requirements. Table 12-10. Register Settings (Page-Based Interleaving) Register Settings Base address EMEMC 11 = 32-bit port size ATOM DECC 010 = SDRAM system bus MSC8113 Reference Manual, Rev. 0 12-30 Freescale Semiconductor...
A[17–28] contain a value of 001 and, because the internal bank selects are multiplexed over A[15–16] PSDMR[BSMA] must contain a value of 010 (only the lower two bank select lines are used). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-31...
Page 340
RFEN LDOTOPRE from device data sheet SDAM from device data sheet BSMA EAMUX SDA10 BUFCMD RFRC from device data sheet from device data sheet PRETOACT from device data sheet MSC8113 Reference Manual, Rev. 0 12-32 Freescale Semiconductor...
12-9. Additional control is available in 60x-compatible mode (system bus only) via the external address latch enable ( signal. Figure 12-30 shows a simple connection between an SRAM ALE) device with a 32-bit port and the MSC8113. In the example, the SRAM connects to the system bus. MSC8113 32-Bit Wide SRAM 128 KB PWE[0–3]...
Simultaneous with the external address One quarter of a clock cycle later One half of a clock cycle later MSC8113 Reference Manual, Rev. 0 12-34 Freescale Semiconductor...
Page 343
See the discussion of the Bus Configuration Register (BCR) in Section 4.2, SIU Programming Model. Figure 12-31 shows a basic connection between the MSC8113 and an external peripheral device. Here, (the strobe output for the memory access) directly connects to the...
Memory Controller 12.3.1.2 Chip-Select and Write Enable Deassertion Timing Figure 12-33 shows a basic connection between the MSC8113 device and a static memory device. Here, directly connects to the of the memory device. The signals connect to the respective signal in the memory device, where each corresponds to a different data byte.
ORx[TRLX] is provided for memory systems that require more relaxed timing between signals. When ORx[TRLX] = 1 and ORx[ACS] ≠ 00, an additional cycle between the address and strobes is inserted by the MSC8113 memory controller. See Figure 12-36 and Figure 12-37. Clock...
When ORx[TRLX] = 1, the number of wait states inserted by the memory controller is defined by 2 × SCY or a maximum of 30 wait states. MSC8113 Reference Manual, Rev. 0 12-38 Freescale Semiconductor...
12-17. See Figure 12-40 through Figure 12-43 for timing examples. Table 12-17. TRLX and EHTR Combinations ORx[TRLX] ORx[EHTR] Number of Hold Time Clock Cycles Clock Address PSDVAL BCTL0 Data Figure 12-40. GPCM Read Followed by Read (ORx[29–30] = 00, Fastest Timing) MSC8113 Reference Manual, Rev. 0 12-40 Freescale Semiconductor...
Page 349
1-cycle hold time allowed Figure 12-41. GPCM Read Followed by Read (ORx[29–30] = 01) Clock Address PSDVAL BCTL0 Data Hold Time Long hold time allowed Figure 12-42. GPCM Read Followed by Write (ORx[29–30] = 01) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-41...
Figure 12-43. GPCM Read Followed by Read (ORx[29–30] = 10) 12.3.2 GPCM Signals: External Access Termination The GPCM supports external access termination using , which the MSC8113 synchronizes PGTA and samples internally. If the sampled signal is asserted during a GPCM data phase (second cycle or later), it is converted to , which terminates the current GPCM access.
Page 351
ORx[SCY]. Assertion of before the defined cycle length will also terminate the access. PGTA Clock Address BCTL0 csnt=1 (and scy!=0) Data PGTA PSDVAL SCY clock cycle Figure 12-45. Internal Termination of GPCM Access MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-43...
Boot chip-select operation allows address decoding for a boot ROM before system initialization. signal is the boot chip-select output; its operation differs from the other external chip-select outputs on system reset. When the MSC8113 internal core begins accessing memory at system reset, is asserted for every address in the boot address range, unless an internal register is accessed.
12.4 User-Programmable Machines (UPMs) If you are familiar with the MPC8xx UPM, you should first read Section 12.4.7, Differences Between MPC8xx UPM and MSC8113 UPM, on page 12-82. Table 12-19 lists the UPM interface signals on the system bus. Table 12-19. UPM Interface Signals...
12-47 shows the start addresses of these patterns in the UPM RAM, according to cycle type. commands (MxMR[OP] = 11), however, can initiate patterns starting at any of the 64 UPM RAM words. MSC8113 Reference Manual, Rev. 0 12-46 Freescale Semiconductor...
8 data acknowledges; an 8-bit device requires 32. See Section 12.1.8, Partial Data Valid Indication (PSDVAL), on page 12-10. The MSC8113 device defines two additional transfer sizes: bursts of 128 bits (16 bytes) and 192 bits (24 bytes). The UPM treats these accesses as back-to-back, single-beat transfers.
PSDVAL Table 12-21). Otherwise, a bus time-out may occur. 12.4.1.4 Exception Requests When the MSC8113 under UPM control initiates an access to a memory device, the external device may assert . The UPM provides a mechanism by which memory control SRESET signals can meet the timing requirements of the device without losing data.
The state of the external signals may change (if specified in the RAM array) at any positive edge , or (there is a propagation delay specified in Section 2, Hardware Specifications, of the MSC8113 Data sheet). However, only the signal corresponding to the currently accessed bank is manipulated by the UPM pattern when it runs. The signal assertion and deassertion timing is also specified for each cycle in the RAM word.
PGPL2 PGPL3 PGPL4 PGPL5 CS[0–7, 11] PGPL0 PGPL1 Note: For details, see the discussion of the byte-select (BS) signals and the general-purpose (PGPL) signals on page 12 Figure 12-51. RAM Array and Signal Generation MSC8113 Reference Manual, Rev. 0 12-50 Freescale Semiconductor...
The final value of the BS lines depends on the The value of the BS lines at the rising values of BRx[PS], TSZ, and A[29–31] for the edge of T2 is one. access. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-51...
Page 360
The value of the PGPL3 line at the rising Defines the state of PGPL3 during phase 3–4. edge of T3 is zero. The value of the PGPL3 line at the rising edge of T3 is one. MSC8113 Reference Manual, Rev. 0 12-52 Freescale Semiconductor...
Page 361
See the discussion of the repeat execution of The current RAM word is executed the current RAM word on page 12-58. twice. The current RAM word is executed three times. The current RAM word is executed four times. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-53...
Page 362
The current RAM word allows a branch at the exception start address (EXS) at a fixed to the exception pattern after the current address in the RAM array. When the MSC8113 cycle if an exception condition is device under UPM control begins accessing a detected.
Page 363
(see TODT bit description) and the next access is to the same bank, the execution of the next UPM pattern is held off for the number of clock cycles specified in MxMR[DSx]. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-55...
Page 364
Similarly, indicates that D[0–7] BS[[1] contains valid data, indicates that contains valid data, and D[8–15] BS[2] D[16–23] BS[3] indicates that contains valid data during a cycle, and so forth. D[24–31] MSC8113 Reference Manual, Rev. 0 12-56 Freescale Semiconductor...
Page 365
A dash (—) denotes a byte-select (BS) is not used. An “A” denotes a byte-select is used. Address state is the calculated address for port size data tenure. The initial value is the address tenure A[29-31]. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-57...
Page 366
— When LOOP and REDO are both set, the loop mechanism works as usual, and the line is repeated according to the REDO function. — LAST and REDO should not both be set. — REDO should not be used within an exception routine. MSC8113 Reference Manual, Rev. 0 12-58 Freescale Semiconductor...
The data is sampled by the internal master on the next rising edge as required by the MSC8113 bus. This feature lets you speed up the memory interface by latching data one-half clock early, which can be useful during burst reads.
(c12 and C) and the WAEN value (‘1’) are frozen until PGPL1 is recognized as deasserted. WAEN is typically set before the line that contains UTA PUPMWAIT = 1. MSC8113 Reference Manual, Rev. 0 12-60 Freescale Semiconductor...
User-Programmable Machines (UPMs) 12.4.6 Interface Examples Connecting the MSC8113 to a DRAM device requires a detailed examination of the timing diagrams representing the possible memory cycles that must be performed when accessing this device. This section presents timing diagrams for various UPM configurations.
Page 372
The RAM array of the UPM can then be written through use of the MxMR[OP] = 01. Figure 12-47 shows the first locations addressed by the UPM, according to the different services required by the DRAM. MSC8113 Reference Manual, Rev. 0 12-64 Freescale Semiconductor...
Page 373
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 RSS+1 RSS+2 Figure 12-57. Single-Beat Read Access to FPM DRAM MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-65...
Page 374
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 WSS+1 WSS+2 Figure 12-58. Single-Beat Write Access to FPM DRAM MSC8113 Reference Manual, Rev. 0 12-66 Freescale Semiconductor...
Page 375
Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 RBS+1 RBS+2 RBS+3 RBS+4 RBS+5 RBS+6 RBS+7 RBS+8 Figure 12-59. Burst Read Access to FPM DRAM (No LOOP) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-67...
Page 376
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 RBS+1 RBS+2 Figure 12-60. Burst Read Access to FPM DRAM (LOOP) MSC8113 Reference Manual, Rev. 0 12-68 Freescale Semiconductor...
Page 377
Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 WBS+1 wBS+2 WBS+3 WBS+4 WBS+5 WBS+6 WBS+7 WBS+8 Figure 12-61. Burst Write Access to FPM DRAM (No LOOP) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-69...
Page 378
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 PTS+1 PTS+2 Figure 12-62. Refresh Cycle (CBR) to FPM DRAM MSC8113 Reference Manual, Rev. 0 12-70 Freescale Semiconductor...
Page 379
Bit 22 redo1 Bit 23 loop Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 Figure 12-63. Exception Cycle MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-71...
Page 380
Select between PGPL4 and Wait = Wait, data sampled at clock negative edge MAMR[GPL_x4DIS] Burst inhibit device ORx[BI] The timing diagram in Figure 12-64 shows how the burst-read access in Figure 12-59 can be reduced. MSC8113 Reference Manual, Rev. 0 12-72 Freescale Semiconductor...
Page 381
Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 RBS+1 RBS+2 RBS+3 RBS+4 Figure 12-64. FPM DRAM Burst Read Access (Data Sampling on Falling Edge of CLKIN) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-73...
RD/WR A[0–9] A[0–9] Figure 12-65. MSC8113/EDO Interface Connection to the System Bus (64-Bit Port Size) Table 12-30 shows the programming of the register field to support the configuration shown in Figure 12-65. The example assumes a frequency of 66 MHz and that the device needs a CLKOUT 1,024-cycle refresh every 10 µs.
Page 383
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 RSS+1 RSS+2 RSS+3 RSS+4 Figure 12-66. Single-Beat Read Access to EDO DRAM MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-75...
Page 384
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 WSS+1 WSS+2 WSS+3 Figure 12-67. Single-Beat Write Access to EDO DRAM MSC8113 Reference Manual, Rev. 0 12-76 Freescale Semiconductor...
Page 385
Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 WSS+1 WSS+2 REDO1 REDO2 REDO3 WSS+3 Figure 12-68. Single-Beat Write to EDO DRAM, REDO Inserts Three Wait States MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-77...
Page 386
Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 RBS+1 RBS+2 RBS+3 RBS+4 RBS+5 RBS+6 RBS+7 RBS+8 RBS+9 RBS+ Figure 12-69. Burst Read Access to EDO DRAM MSC8113 Reference Manual, Rev. 0 12-78 Freescale Semiconductor...
Page 387
Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 WBS+ WBS+ WBS+ WBS+ WBS+ WBS+ WBS+ WBS+ WBS+ Figure 12-70. Burst Write Access to EDO DRAM MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-79...
Page 388
Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 PTS+1 PTS+2 PTS+3 PTS+4 Figure 12-71. Refresh Cycle (CBR) to EDO DRAM MSC8113 Reference Manual, Rev. 0 12-80 Freescale Semiconductor...
Page 389
Bit 23 loop Bit 24 exen Bit 25 amx0 Bit 26 amx1 Bit 27 Bit 28 Bit 29 todt Bit 30 last Bit 31 Figure 12-72. Exception Cycle for EDO DRAM MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-81...
TODT signal. The disable timer control (TODT) and LAST bit in the RAM array word must be set together. Otherwise, TODT is ignored. Refresh timer value is in a separate register. In the MSC8113, the refresh timer value has moved to the system bus Assigned UPM Refresh Timer Register (PURT), which can serve multiple UPMs.
Assume that one of the SC140 cores initiates a system bus read cycle that addresses the DSI of another MSC8113. The programmer cannot predict when the SC140 core can latch valid data because the internal local bus of another MSC8113 may be occupied (by the DMA controller, for example).
Memory Controller 12.6.1 Strict 60x-Compatible External Masters Any 60x-compatible devices that use a 64-bit data bus can access the MSC8113 internal registers and local bus. These devices can also use memory controller services under the following restrictions, which apply only to system bus-assigned memory banks accessed by the external device: ...
) and control signals to the memory devices. In low bus frequencies, the additional cycle which is used for external master access address decoding can be eliminated by setting the BCR[EXDD] bit (see Table 4-3). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-85...
Page 394
Compare Access Figure 12-73. External Master Access (GPCM) The memory controller asserts for each data beat as to indicate data beat termination on PSDVAL write transactions and data valid on read transactions. MSC8113 Reference Manual, Rev. 0 12-86 Freescale Semiconductor...
Page 395
External Master Support (60x-Compatible Mode) Figure 12-74 shows an interconnection in which a 60x-compatible external master and the MSC8113 can share access to a 1MB 64-bit port SDRAM device. Note that the address multiplexer is controlled by , while the address latch is controlled by .
Page 397
External Master Support (60x-Compatible Mode) Figure 12-76 shows an interconnection in which a 60x-compatible external master and the MSC8113 can share access to an external 1 MB 64-bit port device using the UPM memory controller machines. Note that while the address latch controlled by...
Page 398
2 BADDR 0x10 0x18 DATA D1_0 D1_1 D1_2 D1_3 PSDVAL PGPL0 BCTL0 BCTL1 Note: PGPL0 is a general-purpose line using as an indicator for burst accesses. Figure 12-77. 60x-Compatible Mode UPM Access MSC8113 Reference Manual, Rev. 0 12-90 Freescale Semiconductor...
Page 399
External Master Support (60x-Compatible Mode) Figure 12-78 shows an interconnection in which a 60x-compatible external master and the MSC8113 can share access to an external 1 MB 64-bit port device using the GPCM memory controller machines. Note that the address latch controlled by latches A[0–31]...
12.7.1 UPM Programming Example — Internal SRAM The SRAM is accessed via the UPMC on the local bus. The code below is an example of UPM programming. In this example, the notation is based on the following: MSC8113 Reference Manual, Rev. 0 12-92 Freescale Semiconductor...
Data can be transferred between internal memories using DMA Flyby mode. In this mode, the DMA controller, and not the memory controller, effects the transfer. For details on DMA flyby mode, refer to Chapter 16, Direct Memory Access (DMA) Controller. MSC8113 Reference Manual, Rev. 0 12-94 Freescale Semiconductor...
• the PS field has value of BPS (reset) in BR0 and 00 in BR[1–7]; • the EMEMC field has value of EXMC (reset) in BR0 and 0 in BR[1–7]; • the V field has value 1 in BR0 and 0 in BR[1–7]. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-95...
Page 404
BRx[BA] is used with ORx[AM]. Note: After system reset, BR0[BA] is 0b11111110000000000. — Reserved. Write to zero for future compatibility. 17–18 MSC8113 Reference Manual, Rev. 0 12-96 Freescale Semiconductor...
Page 405
AACK, TA, slave) on the system bus. and PSDVAL. Note: After a system reset, the BR0[EMEMC] is set to the value of the EXMC field from the HRCW. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-97...
Page 406
Read-after-write-atomic (RAWA). RAWA. Writes to the address space handled by the Write-after-read-atomic (WARA). memory controller bank cause the MSC8113 to lock Reserved the bus for the exclusive use of the master. The lock is released when the master performs a read operation from this address space.
Page 408
SDRAM device connected to the chip-select line. IBID should be set in 60x-compatible mode if the SDRAM device is not connected to the BNKSEL signals. — — Reserved. Write to zero for future compatibility. 28–31 MSC8113 Reference Manual, Rev. 0 12-100 Freescale Semiconductor...
Page 409
CS is output a quarter of a clock after the Note: After a system reset, OR0[ACS] is 11. address lines. The boot sequence writes 00 to CS is output half a clock after the address OR9[ACS]. lines. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-101...
Page 410
Four idle clock cycles are inserted. Note: After a system reset, the OR0[EHTR] is cleared. The boot sequence clears Eight idle clock cycles are inserted. OR9[EHTR]. — — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 12-102 Freescale Semiconductor...
Page 411
The bank does not support burst accesses. accesses. The UPMx executes burst Note: The boot sequence clears OR11[BI]. accesses as series of single accesses. — — Reserved. Write to zero for future compatibility. 24–28 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-103...
Page 412
Precharge all banks, used in SDRAM data on the low bits of the address initialization. during the access. Activate bank (for debug purpose). Read/write (for debug purpose). MSC8113 Reference Manual, Rev. 0 12-104 Freescale Semiconductor...
Page 413
PSDA10 during an command, when SDRAM is selected, ACTIVATE to control the memory access. Note: See Section 12.2.14.1, SDRAM Configuration Example (Page-Based Interleaving), on page 12-29 for details. For PSDMR[PBI] = 1: MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-105...
Page 414
Note that PSDMR[EAMUX] can also be set in any case of delays on the address lines, such as address buffers. MSC8113 Reference Manual, Rev. 0 12-106 Freescale Semiconductor...
Page 415
Machine A/B/C Mode Registers BSEL RFEN — G0CLx GPL_x4DIS RLFx Type Reset RLFx WLFx TLFx Type Reset Note: The boot sequence sets the MCMR to 0x80011240 (see Section 12.7.1). MxMR configures the UPMs. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-107...
Page 416
Address Line Line lines. The address output is controlled by the contents of the UPMx RAM array. This field is A[16–31] A[8–23] useful when the MSC8113 connects to DRAM A[16–31] A[7–22] devices requiring row and column addresses A[16–31] A[6–21] multiplexed on the same lines. See Section A[16–31]...
Page 417
0010 The loop executes 2 times. in the UPMx executes for a burst- or single-beat write pattern. 1111 The loop executes 15 times. Note: The boot sequence sets MCMR[WLFx] to 0010. 0000 The loop executes 16 times. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-109...
Page 418
Memory Data 0–31 The data to be read from or written into the RAM array when a command is WRITE READ supplied to the UPM. Memory Address Register Type Reset Type Reset MSC8113 Reference Manual, Rev. 0 12-110 Freescale Semiconductor...
Page 419
) and a required refresh rate (RefreshRate) of 15.6 µs, given MPTPR[PTP] = 32, the PURT value should be 10 decimal, which is the next lower integer value. PSRT System Bus Assigned SDRAM Refresh Timer PSRT Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 12-111...
Page 420
Indicates the source of an error that causes assertion of on the local bus. See the discussion of the Local Bus Transfer Error Status and Control Register 1 (L_TESCR1) in Section 4.2, SIU Programming Model. MSC8113 Reference Manual, Rev. 0 12-112 Freescale Semiconductor...
13.1 System Bus Signals This section describes the external signals of the MSC8113 system bus. It describes the individual signals, showing behavior when a signal is asserted and deasserted, when the signal is an input and an output, and the differences in how signals work in external-master or internal-only configurations.
Page 422
Figure 13-1 shows the grouping of the MSC8113 system bus signal configuration, as well as pin numbers. Chapter 3, External Signals describes the MSC8113 external signals in greater detail.
Address Arbitration. Deasserted. Indicates that the MSC8113 device is not requesting the address bus. The MSC8113 may have no bus operation pending. It may be parked, or the ARTRY input may have been asserted on the previous bus clock cycle.
Page 424
Asserted. Indicates that external device is the address bus master. Deasserted. Indicates that the address bus may be available for use by the MSC8113 (see BG). The MSC8113 also tracks the state of ABB on the bus from the TS and AACK inputs. (See section on address arbitration phase.) Timing Comments Assertion.
32 bits. Timing Comments Assertion/Deassertion. Must be valid (driven by other device) on the same cycle that TS is asserted; sampled by the MSC8113 only on this cycle. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
TT[0–4] signals and transfer type encoding. See Section n, Transfer type signals (TT[0–4]). The transfer type signals define the nature of the transfer requested Output: (Read or Write). Table 13-10 describes the MSC8113 action as master, slave, and snooper.. State Meaning Asserted/Deasserted. Specifies the type of transfer in progress.
Page 427
The MSC8113 uses four 32-bit burst transactions for transferring cache blocks. For these transactions, TSIZ[0–3] are encoded as 0b0010, TBST is asserted, and address bits A[27–28] determine which 32...
MSC8113 must retry the preceding address tenure and immediately deassert BR (if asserted). If the associated data tenure has started, the MSC8113 also aborts the data tenure immediately, even if the burst data has been received. If the MSC8113 is not the address bus master, this input...
Deasserted. Indicates that the MSC8113 must hold off its data tenures. Timing Comments Assertion. Occurs any time to indicate that the MSC8113 is free to take data bus mastership. It is not sampled until TS is asserted. Deassertion. Occurs at any time to indicate the MSC8113 cannot assume data bus mastership.
Output The D[0–63] signals have the same meanings in both internal-only mode and external master mode. Note: The MSC8113 device has either a 32-bit or a 64-bit external port for the system bus. Output State Meaning The data bus holds eight byte lanes assigned as shown below.
Page 431
Output The DP[0–7] signals have the same meanings in both internal-only mode and external master mode. Note: The MSC8113 has either a 32-bit or a 64-bit external port for the system bus. Output State Meaning Asserted/Deasserted. Represents odd parity for each of eight bytes of data write transactions.
See Section 13.2.4.5, Port Size Data Bus Transfers and PSDVAL Termination. Deasserted. (During DBB) indicates that, until PSDVAL is asserted, the MSC8113 must continue to drive the data for the current write or must wait to sample the data for reads. Timing Comments Assertion.
Page 433
Section 13.2.4.3, Data Bus Transfers and Normal Termination. Deasserted. (During assertion of DBB) indicates that, until TA is asserted, the MSC8113 must continue to drive the data for the current write or must wait to sample the data for reads.
System Bus 13.2 60x-Compatible Bus Protocols This section describes the general 60x protocol for a 64-bit data bus. In the MSC8113 this protocol is true under the following conditions: The system bus has a 32-bit or 64-bit external data bus port. The internal part of the system bus is a 64-bit data bus.
Page 435
60x-Compatible Bus Protocols MSC8113 Latch and A[0–31] DRAM Mux TT[0–4] TSIZ[0–3] TBST AACK ARTRY Memory Control Signals D[0–63] DP[0–7] Figure 13-2. Single-MSC8113 Bus Mode MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 13-15...
13.2.1.2 60x-Compatible Bus Mode The 60x-compatible bus mode includes one or more potential external masters (for example, ASIC DMA controllers, high-end PowerQUICC II devices, and/or additional MSC81XXs). Figure 13-3 shows how an external processor attaches to the MSC8113. MSC8113 A[0–31] TT[0–4]...
Figure 13-4 shows a single-beat data transfer of up to 256 bits. Notice that the MSC8113 supports port sizes of 8, 16, 32 and 64 bits and requires the additional bus signal,...
Preference among devices is determined at the request level. The MSC8113 device supports 16 levels of bus requests (see Section 4.2.1). When no bus device requests the address bus, the MSC8113 device parks the device selected in the arbiter configuration register on the bus.
These benefits are most fully realized in shared-memory, multiple-master implementations in which bus bandwidth is critical to system performance. External arbitration, as provided by the MSC8113 device, is required in systems with multiple devices sharing the system bus. The MSC8113 uses the signal to control pipelining.
In addition to the external signals, there are internal request and grant signals for the MSC8113 internal devices. Bus accesses are prioritized, with programmable priority. When an MSC8113 internal master needs the system bus, it asserts the internal bus request along with the request level.
The MSC8113 pipelines data bus operations in strict order with the associated address operations. Figure 13-6 shows how address pipelining allows address tenures to overlap the associated data tenures.
TT1 can be interpreted as a read-versus-write indicator for the bus. The MSC8113 can use a reduced mode in which only TT1 is an external signal. This mode is used in configurations with all external masters supporting TT1 only mode. The MSC8113 builds the complete transfer type internally.
Page 443
The basic coherency size of the bus is 32 bytes for the processor. Data transfers that cross an aligned 32-byte boundary must present a new address to the bus at that boundary for proper snoop operation or must operate as non-coherent with respect to the MSC8113. Note: In case of a 60x-compatible bus error or a local bus error, the TC and TT fields are captured in the SIU TESCR1 or L_TESRC1 registers, respectively.
13.2.3.5 Effect of Alignment on Data Transfers Table 13-14 lists the aligned transfers that can occur to and from the MSC8113. These are transfers in which the data is aligned to an address that is an integer multiple of the size of the data.
Page 445
A misaligned memory address is not aligned to the size of the data being transferred. For example, it could be 4 bytes read from an odd byte address. The MSC8113 processor bus interface supports misaligned transfers within a 4-byte (32-bit aligned) boundary, as shown in Table 13-15.
The MSC8113 system bus has either a 32-bit or a 64-bit external data bus port. The internal part of the system bus is a 64-bit data bus. The MSC8113 local bus has a 64-bit internal data bus. The bus requires that the portion of the data bus allocated for a transfer to or from a particular port size be fixed.
Page 448
OPx: These lanes are read or written during that bus transaction. OP0 is the MSB of a 2-byte operand and OP7 is the LSB. — Denotes a byte not required during that read cycle. MSC8113 Reference Manual, Rev. 0 13-28 Freescale Semiconductor...
Page 449
60x-Compatible Bus Protocols Table 13-17 lists data transfer patterns for write cycles for accesses initiated by the MSC8113 device. Table 13-17. Data Bus Contents for Write Cycles Address Transfer Data Bus Pattern Size State TSIZ[0–3] A[29–31] 0–7 8–15 16–23 24–31 32–39...
In single-MSC8113 bus mode, these address and size calculations are internal and do not constrain the system. In 60x-compatible bus mode, the external slave or master must determine the new address and size.
OP1 OP2 OP3 — OP1 OP1 Table 13-20 lists the patterns of the extended data transfer for write cycles when the MSC8113 initiates an access. The 16-byte and 24-byte transfers are always 8-byte aligned and use a maximum 64-bit port size.
ARTRY tenure, the MSC8113 ignores the first data beat. If it is a read operation, the MSC8113 does not forward data internally to the MSC8113 internal storage. This retry mechanism allows the memory system to begin operating in parallel with the bus snoopers, provided external devices do not present data sooner than the bus cycle before all snoop responses can be determined and asserted on the bus.
To maintain the one-level pipeline, is not asserted for a AACK pipelined address tenure until the current data tenure ends. The MSC8113 device also delays asserting until no more address retry conditions can occur. The earliest the MSC8113 can...
AACK ARTRY Figure 13-8. Retry Cycle 13.2.3.12 Pipeline Control The MSC8113 device supports the following two modes: One-level pipeline mode. To maintain the one-level pipeline, is not asserted for a AACK pipelined address tenure until the current data tenure ends. In 60x-compatible bus mode, a two-level pipeline depth can occur (for example, when an external 60x-bus slave does not support one-level pipelining).
System Bus 13.2.4 Data Tenure Operations This section describes the operation of the MSC8113 device during the data bus arbitration, transfer, and termination phases of the data tenure. 13.2.4.1 Data Bus Arbitration The beginning of an address transfer, marked by the assertion of transfer start (...
60x-Compatible Bus Protocols cannot be enabled when the MSC8113 is in 60x-compatible bus mode and a device that uses is connected to the bus. This restriction is necessary because MSC8113 in data streaming mode may leave asserted after the last of a transaction, thus violating the strict bus protocol.
13.2.4.5 Port Size Data Bus Transfers and PSDVAL Termination The MSC8113 device transfers data via data ports of 8, 16, 32 and 64 bits, as shown in Section 13.2.3.3, Address Transfer Attribute Signals, on page 13-22. Single-beat transaction sizes can be 8, 16, 32, 64, 128, and 192 bits;...
Page 459
8-byte sets are transferred in eight beats. CLKOUT ADDR + ATTR AACK PSDVAL D[0–31] Figure 13-10. 128-Bit Extended Transfer to 32-Bit Port Size CLKOUT ADDR + ATTR AACK PSDVAL D[0–31] Figure 13-11. Burst Transfer to 32-Bit Port Size MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 13-39...
System Bus 13.2.4.6 Data Bus Termination by Assertion of TEA Signal If a device initiates an unsupported transaction, the MSC8113 device signals an error by asserting . This occurs because the assertion of is sampled by the device only during the data tenure of the bus transaction.
Direct Slave Interface (DSI) The direct slave interface (DSI) gives an external host direct access to the MSC8113 device and external memory. It provides the following slave interfaces to an external host: Asynchronous interface giving the host single accesses (with no external clock).
Page 462
It can therefore read data that is not up-to-date. To reduce latency for accesses to the MSC8113 internal or external address space, writes by the DSI are done via the write buffer. Write accesses to the DSI registers bypass the write buffer;...
The specific signal used depends on the configured access mode (that is, Asynchronous Dual Strobe mode write, Asynchronous Single Strobe mode read or write, Synchronous Dual Strobe mode write, or Synchronous Single Strobe mode read or write, respectively). For details, see Section 14.3.1 and Section 14.3.2. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 14-3...
14.1.2 DCR[BEM] Bit Access Considerations For 32-bit mode, you must consider the following cases: DCR[BEM] bit is set. When the MSC8113 memory space (Bank 11), external memory, or a register space (Bank 9 or the system registers) is accessed, address bit is decoded.
Page 465
When one of the MSC8113 register spaces is accessed (Bank 9 or the system registers), address bit is decoded. HA29 — A write access to the MSC8113 registers writes the 32 msbs or 32 lsbs, indicated by value. HA29 • If...
Direct Slave Interface (DSI) 14.2 Address Bus One of two DSI main addressing modes is determined during the MSC8113 boot sequence. Both modes allow two address space access Internal and External. The DCR[SLDWA] bit (see page 14-29) defines the addressing mode: ...
Page 467
A[15–28] = Host Address bits HA[15–28] Access to External Memory address space. A[29–31] = See page 14-4 and page 14-5. Access to Internal address space. Figure 14-2. Sliding Window Mode Address Construction MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 14-7...
DCIR[CHIPID] value. This decoding enables the HCID[0–3] host to use one chip select signal to access each of up to sixteen MSC8113 devices. You can write a new value to the DCIR after the reset sequence ends.
Bits shown as x can be 1 or 0. Addresses 29–31 have a value of 0 because bursts should be 64-bit aligned. However, in munged Little-Endian mode, in 32-bit mode, HA29 must be equal to 1, but is interpreted internally as 0. MSC8113 Reference Manual, Rev. 0 14-12...
Drive high. DCR[HTAAD] = 1 and DCR[HTADT] ≠ 00. The DCR[HTADT] value indicates the amount of time to drive . This mode requires a pull-up resistor on MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 14-13...
Page 474
DSI stops driving the signal before it accesses the next device. When the DCR[HTAAD] bit is set and the next access is to the same MSC8113 device, the host must not start a consecutive access before the signal is actively driven high by the previous access.
DSI stops driving the signal before it accesses the next device. When the DCR[HTAAD] bit is set and the next access is to the same MSC8113 device, the host must not start a consecutive access before the signal is actively driven high by the previous access.
DSI stops driving the signal before it accesses the next device. When the DCR[HTAAD] bit is set and the next access is to the same MSC8113, the host must not start consecutive access before the previous access deasserts don’t care valid value don’t care...
DSI stops driving the signal before it accesses the next device. When the DCR[HTAAD] bit is set and the next access is to the same MSC8113, the host must not start consecutive access before the previous access deasserts don’t care...
HCLKIN next rising edge of . The host can start its next access to the same MSC8113 immediately HCLKIN in the next rising edge without deasserting between accesses.
HCLKIN If the next access is not to the same MSC8113, then, to prevent contention on , the host must wait to access the next device until the previous DSI stops driving . There is no error condition to prevent this contention.
1 in the next cycle. It stops being driven on the HCLKIN next rising edge of . The host can start its next access to the same MSC8113 device HCLKIN immediately in the next rising edge without deasserting between accesses.
MSC8113 immediately in the next rising edge without deasserting HCLKIN between accesses. If the next access is not to the same MSC8113, then, to prevent contention on , the host must wait to access the next device until the previous DSI stops driving HCLKIN valid value don’t care...
After the last beat of the access, is driven to logic 1 and stops being driven on the next rising edge of . The host can start its next access to the same MSC8113 immediately HCLKIN in the next rising edge without deasserting between accesses.
After the last beat of the access, is driven to logic 1 and stops being driven on the next rising edge of . The host can start its next access to the same MSC8113 immediately HCLKIN in the next rising edge without deasserting between accesses.
MSC8113 device immediately in the next rising edge without deasserting HCLKIN between accesses. If the next access is not to the same MSC8113, to prevent contention on the host must wait to access the next device until the previous DSI stops driving the signal.
MSC8113 device immediately in the next rising edge without deasserting HCLKIN between accesses. If the next access is not to the same MSC8113, to prevent contention on the host must wait to access the next device until the previous DSI stops driving the signal.
HWBS[0–7] HDBS[0–7] minimum length of time, as defined in the MSC8113 Technical Data sheet in Section 2.7, AC Timings. In Synchronous mode single access, the host must wait one cycle before terminating the access.
Dual Strobe mode immediately after reset. Note: The next access to the DSI must not be performed before the MSC8113 device is out of reset (see Chapter 5, Reset). The following DSI operating modes are configured during reset: ...
14.4.2 DSI Reset During Host Access If the MSC8113 completes a reset sequence during a host access to the DSI, then the DSI operation is undefined. It is therefore advisable that the host abort this access or at least use the MSC8113 to be aware that such a reset occurred.
DCR, the host must allow five internal clock cycles between the end of the write access and any other DSI access. During that time the signals must be HWBS[0–3/7 HDBS[0–3/7] HWBE[0–3/7] HDBE[0–3/7] HRDS HRDE deasserted (held high). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 14-29...
Page 490
11 HTA is driven for 1.5–2.5 internal bus three drive time options are provided. HTADT is clock cycles. valid only for asynchronous accesses. See Section 14.3.3. — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 14-30 Freescale Semiconductor...
Page 491
Used at Sliding Window Mode, the value written in address space. EXTACC represent internal/external access. See Figure Access is to the external address 14-2, Sliding Window Mode Address Construction, on space. page 14-7 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 14-31...
Page 492
DSI configuration registers or perform a read access to the DSI to empty the write FIFO. If a host on the DSI updates these registers, all registers must be written one after the other, without any access to a different memory region in between. MSC8113 Reference Manual, Rev. 0 14-32 Freescale Semiconductor...
Page 493
DSI to empty the write FIFO. If a host on the DSI updates these registers, all the registers must be written one after the other, with no access to a different memory region in between. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 494
(during which time, signal must be deasserted. DSI Disable Register DSISTP DSIDIS — R/W from IPBus. Read-only from host side Type Reset — Type R/W from IPBus. Read-only from host side Reset MSC8113 Reference Manual, Rev. 0 14-34 Freescale Semiconductor...
Chapter 5, Reset. PPCLE Munged Little-Endian mode True Little Endian host. Stores the value of the PPCLE bit in the HRCW. For PowerPC Little Endian host. details, see Chapter 5, Reset. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 14-35...
Page 496
Indicates whether an overflow has occurred. Writing 1 to this Overflow occurred. bit clears it. See Section 14.3.5, Broadcast Accesses, on page 14-26. — Reserved. Write to zero for future compatibility. 1–31 MSC8113 Reference Manual, Rev. 0 14-36 Freescale Semiconductor...
Hardware Semaphores The MSC8113 hardware semaphores (HS) hold eight coded hardware semaphores. A coded hardware semaphore provides a simple way to achieve a “lock” operation via a single write access, eliminating the need for such sophisticated read-modify-write mechanisms as the reservation.
Page 498
A non-zero value ≠ 0 Semaphore is locked with lock code indicates the current lock code. indicated by its current value. It is writable only to zero. MSC8113 Reference Manual, Rev. 0 15-2 Freescale Semiconductor...
Direct Memory Access (DMA) Controller The MSC8113 multi-channel DMA system supports up to sixteen time-multiplexed channels and buffer alignment by hardware. The DMA controller connects to both the system bus and local bus and functions as a bridge between both buses. Transactions run simultaneously on both buses.
Page 500
System Bus Interrupt System External Memory System Channels Interface Parameter FIFO Request Arbiter Channel Group Local Interface Local Bus 8 M1 4 M1 Flyby Memories Counters Memory Figure 16-1. DMA System Diagram MSC8113 Reference Manual, Rev. 0 16-2 Freescale Semiconductor...
The peripheral can deassert its current request and assert a new request if needed. When a peripheral is using the DRACK signal option, it should not assert DONE MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-3...
Figure 16-2 illustrates the timing for a peripheral with a level-triggered request and expiration timer, without the use of the protocol. DRACK MSC8113 Reference Manual, Rev. 0 16-4 Freescale Semiconductor...
Page 503
EXP_TIMER DACK ADDR DATA PSDVAL Expiration timer starts counting when peripheral receives DACK. DMA samples level DREQ as a new request when expiration time ends. Figure 16-2. Level-Triggered Request and Expiration Timer MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-5...
Page 504
The DMA controller synchronizes the DREQ input. To achieve the shortest latency between the DREQ assertion and the request sampling, the DREQ should be asserted at the beginning of the clock. Figure 16-4. Level-Triggered Request, Asynchronous , DRACK Signals DREQ MSC8113 Reference Manual, Rev. 0 16-6 Freescale Semiconductor...
Page 505
DONE signal not later than one cycle after the DACK signal is deasserted. DONE should be asserted for at least one clock. Figure 16-6. Sequential Assertion of DACK and DONE Signals MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-7...
Direct Memory Access (DMA) Controller 16.2 DMA Operating Modes: Transfer Types The MSC8113 DMA controller supports all combinations of data transfers between external memory, internal memories, and external peripherals. Typical transfers are as follows: External memory to or from an external peripheral in normal mode ...
Page 507
Signals: Requestor Interface. Note: DMA channels are coupled in pairs (0 and 1, 2 and 3, up to 14 and 15). Do not use two coupled channels simultanously for flyby or single access transactions. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-9...
Controller Local Bus Local Bus Local Bus (24-Bit Address/ 64-Bit Data) (32-Bit Address/64-Bit Data) Internal Read Channel Memory Write Channel Figure 16-7. External Memory to an External Peripheral on the System Bus MSC8113 Reference Manual, Rev. 0 16-10 Freescale Semiconductor...
Peripheral Bridge Controller Control Memory Controller Local Bus Local Bus Local Bus (24-Bit Address/ 64-Bit Data) (32-Bit Address/64-Bit Data) Internal Memory Read Channel Write Channel Figure 16-8. External Peripheral to Internal Memory MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-11...
Bridge Controller Control Memory Controller Local Bus (24-Bit Address/ Local Bus Local Bus 64-Bit Data) (32-Bit Address/64-Bit Data) Internal Memory Read Channel Write Channel Figure 16-9. External Peripheral to an External Peripheral MSC8113 Reference Manual, Rev. 0 16-12 Freescale Semiconductor...
Memory Bridge Controller Control Memory Controller Local Bus Local Bus Local Bus (24-Bit Address/ 64-Bit Data) (32-Bit Address/64-Bit Data) Internal Memory Read Channel Write Channel Figure 16-10. External Memory to External Memory MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-13...
Peripheral Bridge Controller Control Memory Controller Local Bus Local Bus Local Bus (24-Bit Address/ (32-Bit Address/64-Bit Data) 64-Bit Data) Internal Memory Read Channel Write Channel Figure 16-11. External Memory to Internal Memory MSC8113 Reference Manual, Rev. 0 16-14 Freescale Semiconductor...
Peripheral Bridge Controller Control Memory Controller Local Bus (24-Bit Address/ Local Bus Local Bus 64-Bit Data) (32-Bit Address/64-Bit Data) Internal Memory Read Channel Write Channel Figure 16-12. Internal Memory to Internal Memory MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-15...
Controller Bridge Control Memory Controller Local Bus Local Bus Local Bus (24-Bit Address/ 64-Bit Data) (32-Bit Address/64-Bit Data) Internal Memory Read/Write Channel Figure 16-13. Flyby Transfer From External Peripheral to External Memory MSC8113 Reference Manual, Rev. 0 16-16 Freescale Semiconductor...
Controller Bridge Control Memory Controller Local Bus Local Bus (24-Bit Address/ (32-Bit Address/64-Bit Data) 64-Bit Data) Flyby Memory Memory Counter Read/Write Channel Figure 16-14. Flyby Transfer Between Internal Memories, M2 and M1 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-17...
Buffer Descriptor Attributes Transfer Size field (BD_ATTR[TSZ]) and decrements the Buffer Descriptor Size (DCPRAM[BD_SIZE]), accordingly. The address can be incremented or frozen. When the BD_SIZE reaches zero, the channel does one of the following: MSC8113 Reference Manual, Rev. 0 16-18 Freescale Semiconductor...
Page 517
BD_SIZE[bdptr] == BD_BSIZE[bdptr];/* initial BD_size */ /* Not continuous buffer */ if (CONT[bdptr] == 1){ /* Chained buffer, size and address are determined according to new channel */ if (NBD[bdptr] != bdptr) bdptr=NBD; else Close_buffer, gen_interrupt; MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-19...
Page 518
Make sure that the ISR clears the DSTR as soon as possible. You can read the DCHCR after the interrupt is processed to determine whether another buffer was completed or if the DMA channel is still active. MSC8113 Reference Manual, Rev. 0 16-20 Freescale Semiconductor...
Non-continuous mode: the channel is closed when the size reaches zero Increment address after request is serviced NO_INC Maximum transfer size is one burst Read buffer BD_BSIZE Buffer base size of cyclic buffer — MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-21...
Increment address after request is serviced When the size reaches zero, the next request calls buffer 4 Maximum transfer size is one burst Read buffer BD_BSIZE Buffer base size of cyclic buffer 0x200 MSC8113 Reference Manual, Rev. 0 16-22 Freescale Semiconductor...
Continuous mode. Do not shut down the channel when size reaches zero NO_INC Increment address after request is serviced Next request calls Buffer 0 when size reaches zero Read buffer BD_BSIZE — Buffer base size of cyclic buffer MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-23...
Do not generate interrupt when the buffer ends. The channel generates the interrupt. CONT Non-continuous mode. The channel is closed when the size reaches zero NO_INC Increment address after request is serviced MSC8113 Reference Manual, Rev. 0 16-24 Freescale Semiconductor...
In Figure 16-21, BD 1-BD 4 are chained buffers belonging to the read channel while BD 0 is a simple buffer belonging to the write channel, generating an interrupt at the end of the transfer. MSC8113 Reference Manual, Rev. 0 16-26 Freescale Semiconductor...
Page 525
Non-continuous mode: the channel is closed when the size reaches zero NO_INC Do not increment address after request is serviced Maximum transfer size is two bytes Write buffer BD_BSIZE — Buffer base size of cyclic buffer MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-27...
Page 526
NO_INC Increment address after request is serviced When size reaches zero, next request calls Buffer 1 Maximum transfer size is two bytes Read buffer BD_BSIZE Buffer base size of cyclic buffer MSC8113 Reference Manual, Rev. 0 16-28 Freescale Semiconductor...
? Configure DPCR, SIUMCR, GPIO Registers Configure DCPRAM for each buffer Set DCHCR[ACTV] bit of empty channel (odd DCHCRx) Set DCHCR[ACTV] bit of fill channel (even DCHCRx) Figure 16-22. DMA Configuration Flow MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-29...
The pointer hand indicates the current active channel (the markers on the clock) used by the local bus and the system bus. When the transfer is complete for a selected channel, the clock hand moves on to the next channel. MSC8113 Reference Manual, Rev. 0 16-30 Freescale Semiconductor...
Page 529
If a channel requests service, but the hand already passed it in the current round, it is served during the next round. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-31...
DMA_1 activity to wait due to the pending low priority access by DMA_2. and the ongoing TDM access. Solution: Assign the TDM a lower priority than DMA_2 to prevent the situation in the scenario from occurring. MSC8113 Reference Manual, Rev. 0 16-32 Freescale Semiconductor...
Termination of the destination (write) channel proceeds as follows: The DMA controller ignores any further requests from the peripheral. Tasks in progress — bus data phase, bus address phase, and pending phase — are flushed. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-33...
The channels involved in the transfer must be configured for the given task via the DMA registers. This section describes the DMA registers in detail. DMA Channel Configuration Registers (DCHCR[0–15]), page 16-35 DMA Pin Configuration Register (DPCR), page 16-38 MSC8113 Reference Manual, Rev. 0 16-34 Freescale Semiconductor...
The DMA controller can also modify the BDPTR and ACTV fields. To avoid a conflict with the DMA logic and to avoid overwriting the DMA modifications, use byte access to these fields while the channel is active. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-35...
Page 534
When the DMA channel handles an internal request, the FLY bit must be cleared. — — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 16-36 Freescale Semiconductor...
Page 535
The lowest channel has the highest priority. Note: When working with Round-Robin priority (DPCR[AM] = 1), these bits must be cleared for all channels. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-37...
Page 536
If the DMA access and an external access occur at the same time, the DMA hardware waits one clock until the external transaction terminates. Figure 16-26 depicts the structure of the DCPRAM. MSC8113 Reference Manual, Rev. 0 16-38 Freescale Semiconductor...
Page 537
A 32-bit parameter that describes the attributes of the channel handling this buffer. See Table 16-10. 96–127 BD_BSIZE Buffer base size Holds the base size of the buffer. if used, program BD_SIZE with a value greater than 0. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-39...
Page 538
4-13 and the PPC_ALRL System Bus 10 Arbitrate for bus mastership with DMA high Arbitration-Level Register (PPC_ALRL) on priority request (bus requestor 10). page 4-15. 11 Reserved. — Undefined Reserved. Write to zero for future compatibility. 7–8 MSC8113 Reference Manual, Rev. 0 16-40 Freescale Semiconductor...
Page 539
TC[0–2] value is 110. Indicates the TC code to be associated with the TC[0–2] value is 111. transaction generated by the DMA controller. Refer to Table 13-11Transfer Code Encoding, on page 13>-22. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-41...
If set, a bit associated with a channel indicates that interrupt service is required. A bit is cleared by writing a one to it. Writing zero does not affect a bit value. It is possible to clear several bits at a time. DSTR is cleared at reset. MSC8113 Reference Manual, Rev. 0 16-42 Freescale Semiconductor...
The DCHCR[ACTV] bit is deasserted by the hardware for all channels configured to service the other bus, guaranteeing memory coherency. The registers associated with bus errors are described in the sections that follow. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-43...
Page 542
(DCHCRx) in Section 16.4, DMA Programming Model, on page 16-34. — Reserved. Write to zero for future compatibility. 5–7 Note: Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 16-44 Freescale Semiconductor...
Page 543
PDMTEA holds the system address accessed during a DMA transfer error on the system bus. The LDMTEA holds the system address accessed during a DMA transfer error on the local bus. Both registers are undefined at reset. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 16-45...
Interrupt Processing The MSC8113 interrupt system is optimized for a multi-processing environment and performs the following functions: Maximizes the localization of interrupt handling by each SC140 core using two interrupt controllers: PIC and LIC. Enables global distribution for important interrupt sources to all the SC140 cores.
Page 546
INT_OUT INT_OUT NMI_OUT outputs of the MSC8113 that enable several output signals to connect to the same input signal in the target device. can also be configured to have a full drive for fast deassertion time on INT_OUT a point-to-point connection, by setting the SIUMCR[INTODC] control bit.
Page 547
Group A Group B 3 IRQ, 3 NMI Local Interrupt Controller (LIC) EOnCE IRQ NMIR SC140 Programmable VAB[0–5] Interrupt Controller Core RIPL[0–2] (PIC) VAB_EN Extended Core 0 Figure 17-1. MSC8113 Interrupt Block Diagram MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-3...
Interrupt Processing 17.1 Architecture This section focuses on the three interrupt controllers in the MSC8113 interrupt structure: Global interrupt controller (GIC) Local interrupt controller (LIC) Programmable interrupt controller (PIC) 17.1.1 Global Interrupt Controller The GIC performs the following functions: ...
The SC140 core that services the interrupt may clear this status bit by writing a value of one to it, or it may ignore this bit and work locally on its LIC. The LIC MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Deassert GIC stop request by clearing SCR[GIC_STC] in the IPBus master. Clear all pending interrupts in the GISR by writing 0xFFFFFFFF to the register. Re-enable interrupt sources in GEIER or GCIER as required. MSC8113 Reference Manual, Rev. 0 17-8 Freescale Semiconductor...
LIC. The LIC has the following functions: 64 interrupt input lines divided into two groups of 32 interrupts. In the MSC8113 device, these groups are separated into Group A interrupts and Group B interrupts. All interrupt sources are synchronized, and their polarity is hardwired to the actual source polarity.
Page 554
DMA Status and Interrupt Registers). — Typically, the interrupt mapping is divided among the interrupt sources as DMA, TDM Tx, TDM Rx, and TDM Error, but any other combination is valid, depending on the application. MSC8113 Reference Manual, Rev. 0 17-10 Freescale Semiconductor...
LIC interrupt source is mapped to this PIC input. At the end of this set up, each PIC-mappable input from the LIC has an associated updated 32-bit mask value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-11...
Level mode interrupts should be used in case an interrupt at the LIC input represents a sum of interrupt sources at the peripheral, since this configuration does not enable proper edge detection. MSC8113 Reference Manual, Rev. 0 17-12 Freescale Semiconductor...
The MSC8113 PIC is a peripheral module that serves the signals received from MSC8113 peripherals and I/O lines. The PIC is memory-mapped to the SC140 and is accessed via the SC140 QBus. The PIC includes 32 inputs for signals and...
An IPL[2–0] signal indicating the priority of the An entry in the predefined VAB, determined by the location of the 17.1.5 Interrupt Routing The MSC8113 PIC serves a total of 24 and eight . Each can be configured as edge-triggered or level-triggered and can be assigned a priority in the range 0 through 7, where priority 0 masks the interrupt.
Page 563
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 VBA[31–12] VAB[5–0] Figure 17-5. Interrupt Service Routine Address Construction Table 17-8 summarizes the routing of MSC8113 interrupts. Unless stated otherwise, all signals are level-triggered. For details on signals, refer to the relevant chapters The PIC handles interrupts IRQ[0–23]...
Page 564
Interrupt Processing Table 17-8. MSC8113 Interrupt Routing (Continued) Service Routine VAB[0–5] Signal Description Address (Offset from VBA) Ethernet Ring 2 receive frame event 0x22 IRQ2 0x880 0x23 IRQ3 Ethernet Ring 3 receive frame event 0x8C0 0x24 IRQ4 Ethernet Transmit frame event...
Setting the interrupt base address in the VBA Register Initializing the stack pointer Masking interrupts in the MSC8113 status register Masking, unmasking and programming PIC IR properties in the ELIRx registers Configuring the LIC Configuration register EMx and IMAPx in the LICICR ...
Section 8.7, System Bus Address Space, on page 8-55. The addresses of the GIC registers for accesses through the DSI is presented in Section 8.8, DSI Address Map, on page 8-61. The GIC MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 568
For proper virtual interrupt operation, the LIC must be programmed to edge mode for the virtual interrupt pulse sources. Table 17-9. VIGR Bit Descriptions Name Reset Description Settings — — Reserved. Write to zero for future compatibility. 0–21 MSC8113 Reference Manual, Rev. 0 17-24 Freescale Semiconductor...
Page 569
Write access to VNMIGR with appropriate value to the CORENUM field generates an NMI pulse to the selected core. The generated NMI pulse sets the NMI0 status bit in the selected SC140 PIC IPRB register. See Table 17-8. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-25...
Page 571
Enable interrupt and route the interrupt line to output INT_OUT. IRQ[15–1] Interrupt Request 15–1 Disable interrupt. 16–30 Enable interrupt and route the interrupt line to output INT_OUT. — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-27...
Page 572
Reserved. Write to zero for future compatibility. 9–15 IRQ[15–8] Interrupt Request 15–8 Disable interrupt. 16–23 Enable interrupt and route the interrupt line to the PIC IRQ16. — Reserved. Write to zero for future compatibility. 24–31 MSC8113 Reference Manual, Rev. 0 17-28 Freescale Semiconductor...
LIC Group B Interrupt Error Status Register (LICBIESR), page 17-39. Each LIC resides only in its associated core memory space, and all LIC blocks are seen by their associated SC140 on the same addresses. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-29...
01 Route an enabled interrupt line through IRQOUTA1 into the PIC. 10–11, 31–24. 10 Route an enabled interrupt line through IRQOUTA2 into the PIC. 14–15, 18–19, 11 Route an enabled interrupt line through IRQOUTA3 into the PIC. 22–23, 26–27, 30–31 MSC8113 Reference Manual, Rev. 0 17-30 Freescale Semiconductor...
Page 575
01 Route an enabled interrupt line through IRQOUTA1 into the PIC. 10–11, 23–16. 10 Route an enabled interrupt line through IRQOUTA2 into the PIC. 14–15, 18–19, 11 Route an enabled interrupt line through IRQOUTA3 into the PIC. 22–23, 26–27, 30–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-31...
Page 576
11 Route an enabled interrupt line through IRQOUTA3 into the PIC. 22–23, 26–27, 30–31 LICAICR3 LIC Group A Interrupt Configuration Register 3 IMAP7 IMAP6 IMAP5 IMAP4 Type Reset Boot IMAP3 IMAP2 IMAP1 IMAP0 Type Reset Boot MSC8113 Reference Manual, Rev. 0 17-32 Freescale Semiconductor...
Page 577
LICBISR is set, the interrupt is captured by the corresponding bit in the LICBIESR and the LICSEIRQ global interrupt line is asserted towards the PIC. 11 Reserved. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-33...
Page 578
01 Route an enabled interrupt line through IRQOUTB1 into the PIC. 10–11, 14–15, 23–16. 10 Route an enabled interrupt line through IRQOUTB2 into the PIC. 18–19, 22–23, 26–27, 30–31 11 Route an enabled interrupt line through IRQOUTB3 into the PIC. MSC8113 Reference Manual, Rev. 0 17-34 Freescale Semiconductor...
Page 579
01 Route an enabled interrupt line through IRQOUTB1 into the PIC. 10–11, 15–8. 10 Route an enabled interrupt line through IRQOUTB2 into the PIC. 14–15, 18–19, 11 Route an enabled interrupt line through IRQOUTB3 into the PIC. 22–23, 26–27, 30–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-35...
Page 580
01 Route an enabled interrupt line through IRQOUTB1 into the PIC. 10–11, 10 Route an enabled interrupt line through IRQOUTB2 into the PIC. 14–15, 18–19, 11 Route an enabled interrupt line through IRQOUTB3 into the PIC. 22–23, 26–27, 30–31 MSC8113 Reference Manual, Rev. 0 17-36 Freescale Semiconductor...
(read only) or edge routed by the IMAP field to the appropriate mode. The second edge status bit is constantly PIC interrupt input. cleared, to eliminate a second edge error interrupt. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-37...
PIC input. Note: If a status bit in LICAIESR or LICBIESR is set, it blocks the reassertion of the corresponding status bit in LICAISR or LICBISR in second-edge mode. MSC8113 Reference Manual, Rev. 0 17-38 Freescale Semiconductor...
Page 583
PIC input. IRQ23 Note: If a status bit in LICAIESR or LICBIESR is set, it blocks the reassertion of the corresponding status bit in LICAISR or LICBISR in second-edge mode. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-39...
IPL. A value of zero in these three bits indicates that interrupts are disabled on this input. Table 17-24. Interrupt Priority Level Bits PILxx0 PILxx1 PILxx2 Enabled Value — MSC8113 Reference Manual, Rev. 0 17-40 Freescale Semiconductor...
Page 585
The mode for the 24 programmable inputs can be defined as either edge-triggered or level-triggered. Note: Unless specified otherwise in Table 17-8, MSC8113 Interrupt Routing, on page 17-19, all maskable PIC interrupt sources should be programmed as level-triggered. Table 17-25 shows the settings for the interrupt trigger mode bit.
Page 586
The MSC8113 boot procedure configures ELIRF to the appropriate trigger mode and sets the corresponding signals. The value of ELIRF after boot is 0x0008, which sets (EOnCE IRQ20 interrupt) to edge-triggered mode. For a summary of the routing of MSC8113 interrupts, refer to Table 17-8. MSC8113 Reference Manual, Rev. 0 17-42 Freescale Semiconductor...
PIC Interrupt Pending Register B 16–23 24–31 NMIs IPRA PIC Interrupt Pending Register A IP15 IP14 IP13 IP12 IP11 IP10 Type Reset IPRA reflects the status for IR inputs 0 through 15. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-43...
Page 588
IP22–16 Status of IR input 22–16 9–15 The description and settings are the same as IP23 for inputs 22–16. MSC8113 Reference Manual, Rev. 0 17-44 Freescale Semiconductor...
Page 589
VBA Register. At reset the value of the 20-bit wide VBA Register is set to zero. The offset for each exception vector is predefined. There are 64 possible exception vector locations. The spacing between two exception vectors is 32 words (four full execution sets). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 17-45...
Page 591
This chapter covers aspects of JTAG that are specific to the MSC8113. It includes the items that the standard requires to be defined, with additional information specific to the MSC8113 device. For details on the standard, refer to the IEEE Std.
Give entry to Debug mode. Query identification information (manufacturer, part number and version) from an MSC8113-based device. Force test data onto the outputs of an MSC8113-based device while replacing its BSR in the serial data path with a single-bit register. Note: Precautions must be taken to ensure that the IEEE Std.
Page 593
SHIFT SHIFT changes on the falling edge of TCK. TRST An asynchronous reset (with an internal pull-up resistor) that provides initialization of the TAP controller and other logic required by the standard. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 18-3...
EOnCE modules, you must shift 4 bits to the choose cells. For details, see Section 18.4. The MSC8113 includes a 5-bit instruction register without parity, consisting of a shift register with five parallel outputs. Data is transferred from the shift register to the parallel outputs during controller state.
Page 596
EXTEST Selects the Boundary Scan Register (BSR). EXTEST also asserts internal reset for the MSC8113 system logic to force a predictable internal state while external boundary scan operations are performed. By using the TAP, the register can: • Scan user-defined values into the output buffers •...
Page 597
MSC8113. When the DEBUG_REQUEST instruction is decoded, TDI and TDO connect to the EOnCE registers. In addition, ENABLE_EONCE is active and forced to request Debug mode from the MSC8113, in order to perform system debug functions. Before the DEBUG_REQUEST instruction is selected, the CHOOSE_EONCE instruction should be executed to define which EOnCE is to be selected for DEBUG_REQUEST.
Figure 18-4. JTAG TAP Controller and EOnCE Module Multi-Core Interconnection Each of the three MSC8113 EOnCE modules has an interface to a JTAG port. The interface is active even when a reset signal to the SC140 core is asserted. However, system reset must be deasserted to allow a proper interface with the cores.
JTAG clock. Each EOnCE module includes an EOnCE controller, an event counter (used by the MSC8113 ICache to count hits/misses in cache; see Section 9.4.1), an event detector unit, a synchronizer, an event selector, and a trace unit.
The number of bits in this stream, that is, the number of clocks in this state, is equal to the number of selected SC140 cores in the cascade, which is three. This state is indicated by the signal. For example, for the three SC140 cores on the MSC8113, to activate CHOOSE_CLOCK_DR...
Write/read data into the chosen register via shift-dr or update-dr. The chosen register is written/read. Figure 18-6. Reading and Writing EOnCE Registers Via the JTAG TAP 18.5 Signalling a Debug Request signals connect to each of the MSC8113 EOnCE modules. is an input that signals EE[0–1] a debug request;...
Debugging 18.5.1 EE_CTRL Modifications for the MSC8113 The relevant paragraph from the EOnCE module chapter of SC140 DSP Core Reference Manual is reproduced here with the appropriate amendments. EE_CTRL EE Control Register — EE1DEF EE0DEF Type Reset Boot The modes for are restricted as follows: EE[0–1]...
18.5.2 Event Selector Register Programming There are four event selector registers. The Event Selector Mask Debug Mode (ESEL_DM) register in the EOnCE programs the event selectors for the debug events. The MSC8113 only supports the signals. Also, there is a requirement to block triggering from if only some SC140 cores must enter Debug mode.
To ensure interrupt acceptance, you should implement a double-acknowledge software protocol that communicates between the software agent that asserts the interrupt request and the debug exception handler that runs on the SC140 core. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 18-15...
Immediately following a conditional change-of-flow instruction (such as JF or IFT JMP). 18.6 Tracing in the MSC8113 The trace buffer in each EOnCE module in the MSC8113 is 8 KB. Use of a trace buffer in the MSC8113 requires specific procedures, depending on how you access the trace buffer.
To save power when JTAG is not in use, the MSC8113 should be in the following state: To enter or to remain in the Low-Power Stop mode, the TAP controller must be in the test-logic-reset state.
BSR. The boundary scan bit definitions vary according to the specific chip implementation of the MSC8113 and are described by the BSDL file on the product website. Figure 18-8 through Figure 18-11 show various BSR cell types.
Page 609
From Last Cell Update DR Figure 18-8. Output Signal Cell (O.PIN) To Next Cell Data to Input System Logic Clock DR Shift DR From Last Cell Figure 18-9. Observe-Only Input Signal Cell (I.OBS) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 18-19...
Page 610
The BSDL file on the product website describes the boundary scan serial string. The three MSC8113 cell types described in this file are depicted in Figure 18-8 through Figure 18-10, which describe the cell structure for each type.
It can then be shifted out CAPTURE in the controller state. See Figure 18-13. SHIFT Shift-DR Parallel Input Serial Output Serial Input Clock-DR Figure 18-13. Identification Register Configuration (ID) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 18-21...
Page 613
Indicates whether the SC140 core 0 EOnCE instruction dispatched to it. module has executed the last instruction EOnCE module has not executed the dispatched to it. last instruction dispatched to it. — Reserved. 15–0 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 18-23...
In shared data link mode, the receive and transmit modules share sync, clock, and full duplex data links between the transmit and receive modules. The clock and the sync signals can also be shared between the TDM modules. Note: For details, see Chapter 20, TDM Interface. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 19-1...
19.4 GPIOs The MSC8113 has 32 general-purpose I/O (GPIO) signals. Each signal line in the I/O port is configured either as a GPIO signal or as a dedicated peripheral interface signal. In addition, fifteen of the signal lines can generate interrupts to the global interrupt controller. Each signal is configured as an input or output (with a register for data output that is read or written at any time).
19.7 Direct Slave Interface (DSI) The Direct Slave Interface (DSI) gives an external host direct access to the MSC8113 device. It provides the following slave interfaces to an external host: Asynchronous interface giving the host single accesses (with no external clock).
Stop mode according to the Stop Control Register bits.These modules must not be accessed while they are in Stop mode. There is no Stop for the HS and GPIO modules. The Stop option applies to the different slave modules as follows: MSC8113 Reference Manual, Rev. 0 19-4 Freescale Semiconductor...
Timer B TDM3 Ethernet UART Figure 19-2. Stop Mode for Different IPBus Modules 19.11 IPBus Programming Model Refer to Section 8.5, IPBus Address Space, on page 8-12 for the IPBus base address. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 19-5...
Page 620
DSI is requested to enter Stop mode. UART_STC UART Stop UART is not requested to enter Determines whether the UART module is requested to Stop mode. enter Stop mode. UART is requested to enter Stop mode. MSC8113 Reference Manual, Rev. 0 19-6 Freescale Semiconductor...
Page 621
Determines whether the DSI module is in Stop mode. DSI is in Stop mode. UART_STA UART Stop Ack UART is not in Stop mode. Determines whether the UART module is in Stop mode. UART is in Stop mode. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 19-7...
TDM Interface The MSC8113 Time-Division Multiplexing (TDM) interface enables communication among many devices over a single bus. Traffic is managed according to a time-division multiplexing method in which only one device drives the bus (transmit) for each channel. Each device drives its active transmit channels and samples its active receive channels when its channel is active.
Page 624
The four TDM modules have an I/O matrix that routes the clock and sync signals between the TDM modules and the MSC8113 signal lines. The TDM is configured by all three SC140 cores through the interface to the IPBus (see Figure 20-1). Data is received and transmitted from the TDM modules to the channel buffers through the local bus.
Page 626
A/m Law Data Configuration Registers Conversion IP logic TDM DMA To Local Bus Interface To IPBus Multiplex Notes: X is the TDM number. Receive data flow: Transmit data flow: Figure 20-2. TDM Block Diagram MSC8113 Reference Manual, Rev. 0 20-4 Freescale Semiconductor...
Typical Configurations 20.1 Typical Configurations The TDM connects in various configurations. Figure 20-3 shows two MSC8113 devices that connect point-to-point. Data transmits from the device on the left to the device on the right or vice versa. On-Board Clock Generator...
Figure 20-5 depicts an application in which all the TDM modules share the sync and the clock (see Figure 20-11). Therefore, each TDM module supports one or two active links. In this example, 16 receive link and 16 transmit links connect to two MSC8113 devices. FSYN...
FSYNC (frame sync) specifies that the receiver and transmitter share the same sync. FCLK (frame clock) specifies that the receiver and transmitter share the same clock. Figure 20-11. TDM Module Sharing Modes MSC8113 Reference Manual, Rev. 0 20-10 Freescale Semiconductor...
Page 633
Channel 3 Channel 6 Channel 7 Channel 10 Channel 11 x The TDM number. N The number of channels in a TDM frame. Figure 20-13. Shared Sync and Clock (Two Active Data Links) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-11...
Page 634
Table 20-2 describes the maximum bit rate as a function of these parameters. Factors other than the width of the channel can affect the bit rate, for example, capacity on the data links. MSC8113 Reference Manual, Rev. 0 20-12 Freescale Semiconductor...
Up to 32 transmit bytes of channel 2 are located in four buffers (TNB = 3). Only 8 receive bytes of channel 2 are located in one buffer (RNB = 0). Each buffer contains 8 bytes per channel. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-13...
Page 636
0x1000 (offset from TDMx Receive Local Memory) is 0x44556677, and the data to be read from address 0x1004 (offset from TDMx Receive Local Memory) is 0x00112233. 8 Bytes 0x1000 Figure 20-17. TDMx Local Memory Read Example MSC8113 Reference Manual, Rev. 0 20-14 Freescale Semiconductor...
Therefore, the transmit delay when the transmit sync and transmit data are sampled/driven out at the same clock edge is (TFSD – 1). And when the sync and the data sampled/driven out at different clock edge is (TFSD – 1 + 0.5). MSC8113 Reference Manual, Rev. 0 20-16 Freescale Semiconductor...
Page 639
D3 D0 D1 D2 D3 D0 D1 D2 D3 D0 D1 D2 D3 D0 Channel number Channel 0 Channel 1 Channel 2 Start of the frame data drive 0 bit delay sync sample Figure 20-19. Frame Sync Configurations MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-17...
TDM frame is identified by a frame sync signal that is asserted at the beginning of every frame. The frame sync synchronization is necessary when more than one device drives the bus. Figure 20-22 shows the state diagram of the frame sync synchronization. MSC8113 Reference Manual, Rev. 0 20-18 Freescale Semiconductor...
Page 641
Sync event found not at the expected position Sync event found at Last bit of the frame the expected position PRESYNC Figure 20-22. Frame Sync Synchronization State Diagram MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-19...
The TDMxRIR[RRDO] bit defines how the receive channel data is stored in memory. If TDMxRIR[RRDO] is clear, the first bit of the received channel data is stored as the most significant bit. The TDMxTIR[TRDO] bit selects the transmit data bits order. If MSC8113 Reference Manual, Rev. 0 20-20 Freescale Semiconductor...
A single data transfer from the local bus to TDM local memory transfers at least 64 bits of data. Each channel can store more than 64 bits MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
μ-law channel, the received 14 bits are converted into an 8-bit PCM sample. This channel also occupies 16 bits (14 bits padded with two zeros at the right) per 8 transmit bits, essentially MSC8113 Reference Manual, Rev. 0 20-22 Freescale Semiconductor...
Transmit Channel Data Base Address. TDMxTCPRn[TCDBA] field, page 20-59. TGBA << 16 + TCDBA points to the first byte of transmit data buffer n. The four lsbs of TCDBA must be 0000. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-23...
Page 646
The TDBD can be used to show which data is already read from the buffer so that the buffer can be filled with new data. Note: For A/μ-law channels the RDBD and the TDBD fields should be doubled before use. MSC8113 Reference Manual, Rev. 0 20-24 Freescale Semiconductor...
Page 647
(A/μ law active) RGBA TGBA RGBA TGBA RCDBA 0000 RCPRx TCDBA 0000 TCPRx Receive data buffer i base address Transmit data buffer i base address Figure 20-25. Data Buffer Location in Main Memory MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-25...
The SC140 core can now fill all the transmit buffers from their beginnings to the byte to which the second threshold (TDBST) points. Meanwhile, the TDM keeps reading new data from the buffer. MSC8113 Reference Manual, Rev. 0 20-26 Freescale Semiconductor...
Page 649
If (TDMxRDBFT[RDBFT] == (TDMxRDBS[RDBS] - 0xF)) then TDMxRDBFT[RDBFT] = 0x0 else if (TDMxRDBFT[RDBFT] == (TDMxRDBS[RDBS] - 0x7)) then TDMxRDBFT[RDBFT] = 0x8 else TDMxRDBFT[RDBFT] = TDMxRDBFT[RDBFT] + 0x10 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-27...
Transmit Data Buffer Channel 1 is a transparent channel TDBS RCPR1[RCONV] = 00. Channel k is an A/μ law channel RCPRk[RCONV] = 10. Figure 20-27. Transmit Data Buffer in Independent Data Buffer Mode (TUBM=0) MSC8113 Reference Manual, Rev. 0 20-28 Freescale Semiconductor...
Each TDM module has an adaptation machine that counts the number of bits between frame SYNCs. This module can be used to determine the frame size in bits. MSC8113 boot code uses this module during boot from TDM to determine whether the TDM boot master is a T1 (193 bits) or an E1 (256 bits) interface.
Page 652
Read the value of the ASD field in the TDMxASDR. (See the TDMxASDR TDMx Adaptation Sync Distance Register on page 20-62). Clear the AMS bit by writing a 1 to the AMS bit in the TDMxASR. MSC8113 Reference Manual, Rev. 0 20-30 Freescale Semiconductor...
20.3 TDM Power Saving The MSC8113 TDMs use the stop mode of different clocks to save power. Each TDM has three clock domains: transmit serial, receive serial, and the system clock. The transmit serial clock is not supplied to the TDM module when the transmitter is disabled, that is, the TDMxTCR[TEN] bit and the TDMxTSR[TENS] are both clear.
— Set the Transmit Sync Out (TSO) bit to according to the Transmit Sync signal direction (input or output) used in your system. — Set the Receive Frame Sync Delay field to 0x00 and the Transmit Frame Sync Delay field to 0x01. MSC8113 Reference Manual, Rev. 0 20-32 Freescale Semiconductor...
Program all the configuration registers (their default value is zero). Program all the control registers, except the TDMx Receive Control Register (TDMxRCR) and the TDMx Transmit Control Register (TDMxTCR). Fill the sync data in all the TDM receive local memory. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-33...
TDM signals as a function of the RTSAL field. Note: If the TDM modules share sync and clock signals, then the RFP, TFP,RIR, and TIR registers should be configured the same way for all the TDM modules. MSC8113 Reference Manual, Rev. 0 20-36 Freescale Semiconductor...
Page 659
The x specifies the TDM number of TDMs that share signals. For example if TDM0, TDM1, and TDM2 share signals, then x is equal to 0,1, and 2 and the receive data links are TDM0RDAT, TDM1RDAT, and TDM2RDAT. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-37...
Page 660
TDMx specifies the TDM number and any one of the shared TDM modules. TDMy specifies the TDM number and any one of the shared TDM modules except TDM0. For example, if TDM0 and TDM1 share signals, the unused signals are TDM1TCLK and TDM1TSYN. MSC8113 Reference Manual, Rev. 0 20-38 Freescale Semiconductor...
Page 661
(TDATA_B) (TDATA_A) other TDM modules. Receive and transmit share sync and clock signals. Two active data links. direction Input Input Output Output Inout Input 0110 Reserved 0111 Reserved MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-39...
Page 662
DATA_A sync/ clock/ sync and clock with not used not used other TDM modules. Independent mode. One active data link. direction Input Output Inout Input MSC8113 Reference Manual, Rev. 0 20-40 Freescale Semiconductor...
Page 663
(TDATA_B) (TDATA_A) frame clock with other TDM modules. Receive and transmit share the sync and clock signals. Two active data links. direction Input Input Output Output Inout Input 0110 Reserved 0111 Reserved MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-41...
Page 664
Frame sync specifies that the receiver and transmitter use the same sync. Frame clock specifies that the receiver and transmitter use the same clock. If data link specifies that the direction is inout, the signal is used for receive and transmit. MSC8113 Reference Manual, Rev. 0 20-42 Freescale Semiconductor...
Page 665
The receive data signal is sampled on clock. For details see Section 20.2.4.2. the falling edge of the receive clock. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-43...
Page 666
Data Edge Receive Clocks Note: Receive clocks is the number of receive clocks between the sample of the receive frame sync and the sample of first data bit of the received frame. MSC8113 Reference Manual, Rev. 0 20-44 Freescale Semiconductor...
Page 667
The transmit frame sync signal is driven out clock. For details, see Section 20.2.4.1. on the falling edge of the transmit clock. 22–25 Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-45...
Page 668
Transmit clocks is the number of transmit clocks between the first transmit frame sync sample and the first data bit of the frame that is driven out. The field value is negative because the data is driven out before the transmit frame sync sample. MSC8113 Reference Manual, Rev. 0 20-46 Freescale Semiconductor...
Page 669
The even values are channels. reserved. Table 20-15 describes the RNCF valid value as a function of the RTSAL field (Receive and Transmit Sharing and Active Links). For details, see Section 20.2.4. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-47...
Page 670
0 and 1 are located in the TDMxRCPR0 (See page 20-58). For details, see Section 20.2.6.4. Note: When this bit is set, the TDMxRIR[RRDO] bit should be cleared. MSC8113 Reference Manual, Rev. 0 20-48 Freescale Semiconductor...
Page 671
Table 20-17 describes the TNCF valid value as a function of the TDMxGIR[RTSAL] field (Receive and Transmit Sharing and Active Links). For details, see Section 20.2.4. — Reserved. Write to zero for future compatibility. 16–20 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-49...
Page 672
1 are located in Transmit Channel Parameter 0 (refer to page 20-59). For details, see Section 20.2.6.4. Note: When this bit is set, the TDMxTIR[TRDO] bit should be cleared. MSC8113 Reference Manual, Rev. 0 20-50 Freescale Semiconductor...
Page 673
29–31 must be set to “111”. For details, see Section 20.2.6.1, Data Buffer Size and A/m-law Channels, on page 20-22. Note: The minimum buffer size is 16 bytes. TDMxTDBS TDMx Transmit Data Buffer Size — TDBS Type Reset TDBS Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-51...
Page 674
Determines the global base address of the receiver data buffers. It is added to the channel data buffer address and to the current receive displacement to generate the actual data address. TDMxTGBA TDMx Transmit Global Base Address — Type Reset TGBA Type Reset MSC8113 Reference Manual, Rev. 0 20-52 Freescale Semiconductor...
Adaptation machine learns the transmit sync. Adaptation Machine Enable Adaptation machine is disabled. Determines whether the adaptation machine is Adaptation machine is enabled enabled or disabled. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-53...
Page 676
TDMxTCR controls the activation/deactivation of the TDMx Transmitter. Transmitter activation is valid only when the TENS bit is clear. Table 20-24. TDMxTCR Bit Descriptions Name Reset Description Settings — Reserved. Write to zero for future compatibility. 0–30 MSC8113 Reference Manual, Rev. 0 20-54 Freescale Semiconductor...
Page 677
0x000000 to (RDBS – 7) 8–31 Determines the location of the first threshold in the receive data buffers. The register value has a granularity of 8 bytes; that is, the three LSBits are always clear. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-55...
Page 678
TDM Interface TDMxTDBFT TDMx Transmit Data Buffers First Threshold — TDBFT Type Reset TDBFT Type Reset MSC8113 Reference Manual, Rev. 0 20-56 Freescale Semiconductor...
Page 679
0x000000 to (RDBS – 7) 8–31 Determines the location of the second threshold in the receive data buffers. The register value has a granularity of eight bytes; that is, the three LSBits are always clear. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-57...
Page 680
TDMxRCPRn[RACT] is cleared. The read/write access to TDMxRCPRn registers can done only to 32 bits, write or read of byte or word is not valid. The register reset value is unknown. MSC8113 Reference Manual, Rev. 0 20-58 Freescale Semiconductor...
Page 681
Note: All TDMxTCPRn with an index number (n) less than or equal to the TDMxTFP[TNCF] bit (see page 20-49) should be valid when setting the corresponding TDMxTCR[TEN] bit (see page 20-54). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-59...
Page 682
Receive first threshold interrupt is Enable assertion of the receive first threshold interrupt disabled. when the Receive First threshold Event (RFTE) bit is set Receive first threshold interrupt is (see page 20-65). enabled. MSC8113 Reference Manual, Rev. 0 20-60 Freescale Semiconductor...
Page 683
Transmit Second Threshold Event Enabled Transmit second threshold interrupt is Enable assertion of the transmit second disabled. threshold interrupt when the Transmit second Transmit second threshold interrupt is Threshold Event (TSTE) bit is set. enabled. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-61...
0x7FF The number of bits between the last two sync events is 2048. TDMxRDBDR TDMx Receive Data Buffers Displacement Register — RDBD Type Reset RDBD Type Reset MSC8113 Reference Manual, Rev. 0 20-62 Freescale Semiconductor...
Page 685
Points to the current displacement of the transmit data in the 0x000000 to the Transmit Data transmit data buffers. The value is unified to all the Buffer (TDBS – 7). transparent channels and is doubled for A/μ law channels. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-63...
Page 686
Reset TDMxTNB holds the number of transmit buffers in the TDM transmit local buffer. Table 20-37. TDMxTNB Bit Descriptions Name Reset Description Settings — Reserved. Write to zero for future compatibility. 0–26 MSC8113 Reference Manual, Rev. 0 20-64 Freescale Semiconductor...
Page 687
The first threshold A receive first threshold event pointer is determined by the Receive Data Buffer First has occurred. Threshold field (RDBFT). For details, see Section 20.2.6.3. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-65...
Page 688
A transmit first threshold is empty. The first threshold pointer is determined by the event has occurred. Transmit First Threshold Register (TDMxTFTR). For details, see Section 20.2.6.3. MSC8113 Reference Manual, Rev. 0 20-66 Freescale Semiconductor...
Page 689
Adaptation Sync Distance Register register contains a new value that the (TDMxASDR) loads the new value. SC140 core should read. TDMxRSR TDMx Receive Status Register — Type Reset — RSSS RENS Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-67...
Page 690
The propagation of the enable/disable may The transmit machine is be delayed because of the different clock domains. enabled. Note: If the serial clock is not toggling, this bit may not reflect updated values. MSC8113 Reference Manual, Rev. 0 20-68 Freescale Semiconductor...
Local Bus Transfer Error Status and Control Register (L_TESCR1) indicates whether an error has occurred on the local bus and L_TESCR1[TC] indicates whether the TDM initiated the error access (see page 12-112). The register is undefined at reset. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 20-69...
During transmission, the UART generates an interrupt request when its data register can be written with new character. An SC140 core or external host then writes the character to the data register. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-1...
Page 694
Register Figure 21-2. UART Block Diagram Figure 21-3 shows the full duplex UART system in which the MSC8113 UART transmits and receives simultaneously. A higher-level protocol should handle the full duplex communication to guarantee that no more than one slave UART transmits to the...
Page 695
Chip ID =n2 URXD UART-Rx UTXD UART-Tx Chip ID =n3 URXD UART-Rx UTXD UART-Tx Note: The RC value on the MultiPoint TxD may limit system baud rate. Figure 21-3. Full Duplex Multiple UART System MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-3...
Page 696
Chip ID =n1 Master device UART-Rx UART-Tx Chip ID =n2 UART-Rx UART-Tx Chip ID =n3 UART-Rx UART-Tx Note: The RC value on the MultiPoint UTXD might limit system baud rate. Figure 21-4. Single-Wire Connection MSC8113 Reference Manual, Rev. 0 21-4 Freescale Semiconductor...
Page 697
Stop Bit Note: The address bit identifies the frame as an address character. The address bit is bit 7 (M = 0) or bit 8 (M = 1). See Section 21.2.7, Receiver Wake-Up. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-5...
The UART transmitter accommodates either 8-bit or 9-bit data characters. The state of the M bit in the SCI Control Register (SCICR) determines the length of the data characters. When 9-bit data is transmitted, bit T8 in the SCIDR is the ninth bit (bit 8). MSC8113 Reference Manual, Rev. 0 21-6 Freescale Semiconductor...
(SCIDR), while the shift register is still shifting out the first character. If the TDRE flag is set and no new data or break character transferred to the shift register, the UART sets a flag, transmit complete (TC) and becomes idle. UTXD MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-7...
Page 700
1 stop bit goes into the most significant bit position. Hardware supports odd or even parity. When parity is enabled, the most significant bit (msb) of the data character is the parity bit. MSC8113 Reference Manual, Rev. 0 21-8 Freescale Semiconductor...
SBK bit, the shift register finishes transmitting the last break character and then transmits at least one logic 1. The automatic logic 1 at the end of a break character guarantees the recognition of the start bit of the next frame. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-9...
The SCI receiver can accommodate either 8-bit or 9-bit data characters. The state of the SCICR[M] bit determines the length of data characters. When receiving 9-bit data, bit R8 in the SCIDR is the ninth bit (bit 8). MSC8113 Reference Manual, Rev. 0 21-10 Freescale Semiconductor...
R8 bit in SCIDR if the SCI is in 9-bit data format. Reading RDRF bit at SCISR and then reading new data from SCIDR clears RDRF flag. Repeat step 2 for each subsequent reception. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-11...
To locate the start bit, data sampling logic searches for a logic 0 preceded by three logic 1s. When the falling edge of a possible start bit occurs, the RT clock logic begins to count to 16. MSC8113 Reference Manual, Rev. 0 21-12...
Page 705
NF, is set if not all samples have the same logical value. Table 21-5 summarizes the results of the data bit samples. Table 21-5. Data Bit Recovery RT8, RT9, and RT10 Samples Data Bit Determination Noise Flag MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-13...
Page 706
The noise flag is not set because the noise occurred before the start bit was found. Start Bit URXD Samples RT Clock RT Clock Count Reset RT Counter Figure 21-10. Start Bit Search Example 1 MSC8113 Reference Manual, Rev. 0 21-14 Freescale Semiconductor...
Page 707
Actual Start Bit Perceived Start Bit URXD Samples 0 0 0 0 RT Clock RT Clock Count Reset RT Counter Figure 21-12. Start Bit Search Example 3 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-15...
Page 708
Depending on the timing of the start bit search and on the data, the frame may be missed entirely or it may set the framing error flag. MSC8113 Reference Manual, Rev. 0 21-16...
The FE flag is set at the same time that the RDRF flag is set. FE inhibits further data reception until it is cleared. Clear SCISR[FE] by reading SCISR and then reading the SCIDR. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-17...
As the receiver samples an incoming frame, it resynchronizes the RT clock on any valid falling edge within the frame. Resynchronization within frames corrects a misalignment between transmitter bit times and receiver bit times. MSC8113 Reference Manual, Rev. 0 21-18 Freescale Semiconductor...
163 RT cycles. The maximum percent difference between the receiver count and the transmitter count of a slow 9-bit character with no errors is: ((170 – 163) / 170) × 100 = 4.12% MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-19...
The SCICR[WAKE] bit determines how the SCI is brought out of the standby state to process an incoming message. This wake bit enables either idle line wake-up or address mark wake-up. MSC8113 Reference Manual, Rev. 0 21-20 Freescale Semiconductor...
After reset the UART transmitter and receiver are disabled and are not driven. UTXD URXD For information on initializing the transmitter, refer to Section 21.1.1. For information on initializing the receiver, refer to Section 21.2.1. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-21...
UTXD multiple-transmitter system. Then the signals of nonactive transmitters follow the logic UTXD level of an active one. External pull-up resistors are necessary on open-drain outputs. MSC8113 Reference Manual, Rev. 0 21-22 Freescale Semiconductor...
SCI Control Register (SCICR), on page 21-25. SCI Status Register (SCISR), on page 21-28. SCI Data Register (SCIDR), on page 21-30. SCI Data Direction Register (SCIDDR), on page 21-31. MSC8113 Reference Manual, Rev. 0 21-24 Freescale Semiconductor...
Page 717
The baud-rate register used by the counter to 19-31 determine the baud rate of the SCI. SCICR SCI Control Register 1 — Type Reset LOOP — RSRC WAKE TCIE ILIE Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-25...
Page 718
1s sets the parity bit. With odd parity, an odd number of 1s clears the parity bit and an even number of 1s sets the parity bit. MSC8113 Reference Manual, Rev. 0 21-26 Freescale Semiconductor...
Page 719
The external connection that URXD shares can be configured as a GPIO. Note: The function is described for the case in which the PAR[DD28] and PSOR[SO28] are both set (see Chapter 23, GPIO). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-27...
Page 720
Once the RDRF flag is cleared, after it is set by a break or idle character, a valid frame must set the RDRF flag before another break or idle character can set it again. MSC8113 Reference Manual, Rev. 0 21-28 Freescale Semiconductor...
Page 721
Set when the receiver detects a logic 0 during the RT1 time No reception in progress. period of the start bit search. RAF is cleared when the receiver detects an idle character. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-29...
Page 722
In 8-bit data format, only SCIDR[24–31] needs to be accessed. When transmitting in 9-bit data format, write to SCIDR[16–31] (one access). Otherwise, write first to T8 and then to the low byte (SCIDR[24–31]). MSC8113 Reference Manual, Rev. 0 21-30 Freescale Semiconductor...
Page 723
UTXD is not driven when the transmitter is disabled (TE=0) or when LOOPS=1. — Reserved. Write to zero for future compatibility. 23–31 Note: The setting descriptions assume that the UTXD signal is configured for UART operation. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 21-31...
Page 725
Timers The MSC8113 device contains 32 timers of 16 bits each that serve as frequency dividers, watchdog timers, clock generators, and event counters. Each timer receives input from one of 15 sources: six external input signals, eight timer outputs, or the local bus clock (BUSES_CLOCK).
Page 726
Before you reenable a timer, set the compare value to a relatively high number and allow the counter to advance for at least three input clocks to flush the cache. Then reenable the timer. MSC8113 Reference Manual, Rev. 0 22-2 Freescale Semiconductor...
Page 728
Local Bus Clock Multiplexers Counter TIMERA8_OUT TIMERA9_OUT TIMERA10_OUT TIMERA11_OUT TIMERA12_OUT SIU/ TERAx TIMERA13_OUT PAD/GPIO TIMERA14_OUT Event TIMERA15_OUT Register Interrupt to the PIC/LIC TIERAx Interrupt Enable Register Figure 22-2. Timer x Module Block Diagram MSC8113 Reference Manual, Rev. 0 22-4 Freescale Semiconductor...
Page 729
Section 18.4). The clocks automatically restart when they are required. Each of the three MSC8113 SC140 cores can configure the timer modules. The configuration route is from the QBus via the SQBus to the IPBus to the timer modules. The arbitration of the SQBus occurs on the QBus.
Page 730
TE field: If a timer is configured to receive its input clock from another Timer disable. signal, the signal must be driven before the timer is enabled. Timer enable. MSC8113 Reference Manual, Rev. 0 22-6 Freescale Semiconductor...
Page 731
It also illustrates how to restart the timer by writing 1 to the TCR. The configuration registers are: TGCRA[INTP] = 0, TGCRA[TOG] = 1 TCFRA0[CYC] = 1, TCFRA0[IPOL] = 0 TIER[IE0] = 1 TCMPA0[COMPVAL] = 0x0123 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 22-7...
COMPVAL field. This bit is valid only when (DIR0 = 1). DIR0 Signal Direction TIMER0 is an input. Defines the direction of the TIMER0. TIMER0 is an output. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 22-9...
Page 734
Timer B0 reaches the value of the associated COMPVAL field. This bit is valid only when then TIMER2 is configured as output. — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 22-10 Freescale Semiconductor...
Page 735
IE15 IE14 IE13 IE12 IE11 IE10 Type Reset The MSC8113 device generates an interrupt when both the TERA bit and its corresponding enable bit are set. Table 22-6. TIERA Bit Descriptions Name Reset Description Settings — Reserved. Write to zero for future compatibility.
Page 736
Counter changes at the Defines the polarity of the input clock for Timer Ax. IPOL has no clock rising edge. effect if the bus clock is selected. Counter changes at the clock falling edge. MSC8113 Reference Manual, Rev. 0 22-12 Freescale Semiconductor...
Page 737
TDM1RCLK, is selected as an input clock, the corresponding signal line should be configured by the TDM registers as an input clock via the GPIO, in addition to configuring the GPIO registers (see Chapter 20, TDM Interface and Chapter 23, GPIO). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 22-13...
Page 738
TDM registers as an input clock via the GPIO, in addition to configuring the GPIO registers (see Chapter 20, TDM Interface and Chapter 23, GPIO) MSC8113 Reference Manual, Rev. 0 22-14 Freescale Semiconductor...
Page 739
In Cyclic mode (TCFRBx[CYC] = 1), the counter is cleared and the counting continues. In One-Shot mode (TCFRBx[CYC] = 0), the counter is frozen and its output remains asserted until it is cleared. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 22-15...
Note: Writing a value of 1 to the enable bit causes a one-shot configured timer to count again, regardless of whether its value is 0 or 1. MSC8113 Reference Manual, Rev. 0 22-16 Freescale Semiconductor...
The MSC8113 device has two groups of status registers: Global registers, which hold the compare flags and the Status enable bits. The MSC8113 sets the status flag when an event occurs, and it is cleared by writing a 1 to the associated location.
Page 742
CFn flag, which also clears the associated interrupt. If timer n reaches the TCMPAx value while a 1 is written to the associated CFn flag, the associated CFn flag stays set and is not cleared. MSC8113 Reference Manual, Rev. 0 22-18 Freescale Semiconductor...
Page 743
32 bits, unless the two counters reach their TCMPAx values and stop. When the counter value is read, the maximum value can be TCMPAx – 1. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 22-19...
Page 744
32 bits, unless the two counters reach their TCMPBx values and stop. When the counter value is read, the maximum value can be TCMPBx – 1. MSC8113 Reference Manual, Rev. 0 22-20 Freescale Semiconductor...
GPIO The MSC8113 device has 32 general-purpose I/O (GPIO) ports that are multiplexed as either GPIO ports or dedicated peripheral interface ports. In addition, fifteen of the GPIOs can be configured to serve as Ethernet interface ports, and fifteen of the GPIOs can be configured to generate interrupts to the Global Interrupt Controller (GIC).
Dedicated 2 Port Special Options Registers PDIRx Input Output Port Data Direction Registers PODRx Regular Open drain Port Open-Drain Registers PDATx 0 (data) 1 (data) Port Data Registers Figure 23-1. Port Functional Operation MSC8113 Reference Manual, Rev. 0 23-2 Freescale Semiconductor...
Page 747
Dedicated 2 Port Special Options Registers PDIRx Input Output Port Data Direction Registers PODRx Regular Open drain Port Open-Drain Registers PDATx 0 (data) 1 (data) Port Data Registers Figure 23-2. Port Functional Operation MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 23-3...
PAR and PSOR GPIO or Dedicated functionality according to PAR and PSOR GPIO or Dedicated functionality according to PAR and PSOR GPIO or Dedicated functionality according to PAR and PSOR MSC8113 Reference Manual, Rev. 0 23-4 Freescale Semiconductor...
Page 749
Ethernet controller. Default values are supplied to internal peripheral inputs connected to this GPIO port. Note: PARx of a GPIO port that has Ethernet functionality should be cleared (0). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 23-5...
SIU TMCNT and PIT logic (either when this connection is a GPIO or when it serves the timer blocks). When this connection is programmed as an input to serve the SIU , it maps default TMCLK to the TIMER2 clock input of the timers block. MSC8113 Reference Manual, Rev. 0 23-6 Freescale Semiconductor...
Page 751
GPIO6 default value To IRQ4 IRQ4 Secondary Input IRQ4 Primary Input PAR[DD0] PSOR[SO0] PAR[DD6] PDIR[DR0] PSOR[SO6] PDIR[DR6] Figure 23-4. Using the Default Value to Connect the IRQ4 Secondary to Primary Input Source MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 23-7...
Page 754
PDAT register is still stored in the output register, but it is prevented from reaching the actual pin. When the PDAT register is read, the state of the actual pin is read. MSC8113 Reference Manual, Rev. 0 23-10...
Page 755
Dedicated peripheral can be determined by other bits, such as those in the PSOR. function. When a GPIO port has Ethernet functionality (see Table 23-1), its PAR bit should be set to 0. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 23-11...
Page 756
PSOR or PDIR bit is programmed, an external connection may function for a short period as an unwanted dedicated function and cause unpredictable behavior. Thus, it is recommended that you program the GPIO in the following sequence: PSOR, PODR, PDIR, PAR. MSC8113 Reference Manual, Rev. 0 23-12 Freescale Semiconductor...
This chapter assumes that you are already familiar with the I C bus specification. Note that the MSC8113 GPIO specifications do not fully conform to the I C bus electrical specification. Refer to the MSC8113 Technical Data sheet for details.
Page 758
High Period time for 50 KHz SCL at 500 Mhz core frequency and Core/Bus frequency ratio of 3. Refer to Table 24-4. HALF_LOW_PERIOD 0x00000200 Half time of the Low Period for 50 KHz SCL at 500 Mhz core frequency. Refer to Table 24-4. MSC8113 Reference Manual, Rev. 0 24-2 Freescale Semiconductor...
Global Register Use D4, D5,D6, D7, D8, D14. Local Register Use D0 Timing of Low Period, Bit value extraction. D1 Bit value to set the SDA line. Routine call i2c_sample_gpio Figure 24-2. i2c_txrx_bit Routine MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 24-3...
Page 760
Wait HIGH_PERIOD. Refer to Table 24-4. hperiod_loop Check for SDA to be the same, and for start/stop condition. bsr i2c_sample_gpio GPIO at D2. bmtsts #SCL_SDA_10,d2.l Figure 24-2. i2c_txrx_bit Routine (Continued) MSC8113 Reference Manual, Rev. 0 24-4 Freescale Semiconductor...
D4, D6, D7. Local Register Use Routine call i2c_txrx_bit Signal Diagram Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 ACK Bit Figure 24-3. i2c_txrx_byte Routine MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 24-5...
Page 762
Return if arbitration lost or start/stop condition indication. asr d4,d4 asl d6,d6 Next bit read. tsteq d4 bf byte_loop bmchg #$1,d7.l bsr i2c_txrx_bit asr d6,d6 bmchg #$1,d7.l Figure 24-3. i2c_txrx_byte Routine MSC8113 Reference Manual, Rev. 0 24-6 Freescale Semiconductor...
Transmit slave address and A ift rts Return for any arbitration lost, wrong ACK, or start/stop condition indication. clr d5 Transmit Memory address A to A move.l r3,d0 Figure 24-5. i2c_read_SequentialData Routine MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 24-7...
(MII) that can support various physical implementations. Other protocols developed modifications to this basic interface, including the reduced media-independent interface (RMII) and the serial media-independent interface (SMII). The MSC8113 Ethernet controller supports MII, RMII, and SMII for the 10/100 Ethernet rate. 25.1...
Page 772
Destination address (DA). The first bit of a total of 48 bits identifies the address as an individual address (0) or a group address (1). The second bit indicates whether the address is locally-defined (1) or globally-defined (0). MSC8113 Reference Manual, Rev. 0 25-2 Freescale Semiconductor...
Page 773
FCS last. The bits of each octet are transmitted least-significant bit (lsb) first. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 774
OUI), which is assigned by the IEEE. The last two bytes contain the type value set from the original Ethernet specifications if SNAP OUI = 00-00-00, or they become a SNAP protocol identifier if SNAP OUI is non zero. MSC8113 Reference Manual, Rev. 0 25-4 Freescale Semiconductor...
Media-Independent Interfaces The Ethernet protocol can support a variety of physical interfaces to transfer information. The MSC8113 Ethernet controller supports three interfaces: MII, RMII, and SMII. The major difference between them is the number of signals used for data transfer: ...
0 selects 100 Mbps operation. For 10 Mbps operation, set the frequency by writing a 1 to MIIGSKCFGR[FRCONT]. The SMII reference clock generates both transmit and receive clocks for the MII. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-7...
This configuration causes the SMII MAC transmit outputs to be looped back to the MAC receive inputs. Clearing this bit results in a return to normal operation in SMII SYNC Out mode. MSC8113 Reference Manual, Rev. 0 25-8 Freescale Semiconductor...
The MIIGSK_IMASK and MIIGSK_IEVENT registers are valid only in SMII mode. 25.4.5 Management Interface The management interface (ETHMDIO/ETHMDC) is identical to that defined in IEEE Std. 802.3u™ for all normal operating modes (MII/RMII/SMII). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-9...
Page 781
400 ns or 2.5 MHz, but the device can be configured as fast as 12.5 MHz, if the PHY supports that speed. ETHMDIO Management Data — ETHMDIO is a bidirectional signal to input PHY-supplied status during management read cycles and output control during management write cycles. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-11...
Management Data — Inputs PHY-supplied status during management read cycles and outputs control during management write cycles. 25.6 Ethernet Controller Interfaces The following sections give a detailed functional description of the supported interfaces. MSC8113 Reference Manual, Rev. 0 25-12 Freescale Semiconductor...
Ethernet Controller Interfaces 25.6.1 MII The MSC8113 Ethernet controller MII receive and transmit modules comply with the IEEE Std. 802.3. 25.6.1.1 MII Transmit Flow The Ethernet controller drives the transmit enable ( ) output signal, the ethernet transmit ETHTX_EN ) output data bus, and the ethernet transmit error ( ) output signal on the ETHTXD[3–0]...
Figure 25-6. MII Receive Flow in 100 Mbps Full Duplex Mode with No Error 25.6.2 RMII The MSC8113 Ethernet controller RMII receive and transmit interface complies with the RMII specification defined by the RMII consortium. MSC8113 Reference Manual, Rev. 0...
DA TA DA TA DA TA DA TA DA TA DA TA DA TA DA TA 00 00 00 00 ETHTXD[1–0] Figure 25-8. End Of Frame In RMII Mode 100 MBPS Full Duplex MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-15...
CRS_DV ETHRX_ER ETHRXD[1–0] 4 Bytes Figure 25-10. End Of Receive Frame in RMII Mode 25.6.3 SMII The MSC8113 Ethernet controller SMII receive and transmit interface complies with the Cisco serial MII specification. MSC8113 Reference Manual, Rev. 0 25-16 Freescale Semiconductor...
Ethernet controller is deferring to a carrier, the Ethernet controller simply waits until the end of the carrier event plus the IPG timing before it fulfills the request. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-21...
(called a scan cycle) even though scan cycles are not explicitly defined in the standard. When requested (by setting MIIMCOMR[SCYC]), the MSC8113 performs repetitive read cycles of the PHY status register, for example. This method allows link characteristics to be monitored more efficiently. The different fields in the MII management indicator register (scan, not valid and busy) indicate availability of each read of the scan cycle to the host from MIIMSTATR[PHYS].
CSE cleared, it accepts the frame without any further search. If a subsequent pattern match is found but CSE is set, the search continues. This process continues until the end of frame (EOF) or until the first 256 bytes are received. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-23...
Page 794
CSE = 0? 256 Bytes Received or Reject All? *Address Recognition Match? Receive Frame and Perform any * See address recognition flowchart Action Determined by Discard Frame Match(es) Figure 25-17. Frame Acceptance/Rejection Flowchart MSC8113 Reference Manual, Rev. 0 25-24 Freescale Semiconductor...
The pattern matching capabilities are explained in detail in Section 25.10.2, Receive Frame Processing with Pattern Matching, on page 25-30. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-25...
Page 796
Use Group Use Individual Table Table Hash Match? Broadcast Reject Promiscuous? Receive Frame Back to Pattern Matching Flowchart and Perform Any Discard Frame Action Determined by Match Figure 25-18. Ethernet Address Recognition Flowchart MSC8113 Reference Manual, Rev. 0 25-26 Freescale Semiconductor...
The hash tables cannot be used to reject frames that match a set of selected addresses because unintended addresses can map to the same bit in the hash table. Pattern matching can be used to reject frames with unintended address hits in the hash table. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-27...
BDs in memory. Because of prefetching, a minimum of two BDs per ring are required. This applies to both the transmit and the receive descriptor rings. Software also points the data MSC8113 Reference Manual, Rev. 0 25-28 Freescale Semiconductor...
Page 799
RBASE Register RxBD Table Status and Control Data Length Buffer Pointer Rx Buffer Figure 25-19. Example Memory Structure for an 8-Byte BD Beginning BD pointer W = 1 Figure 25-20. Buffer Descriptor Ring MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-29...
Entries can be set up so that after an initial match occurs, the search for additional patterns continues, but only if the continue search enable (CSE) bit is set in the hit entry. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 802
Pattern matching stops if there is a pattern match with the CSE bit cleared, and the attributes of this entry are used to process the frame. The attributes of the last entry matched are used even when 256 bytes or EOF is reached. MSC8113 Reference Manual, Rev. 0 25-32 Freescale Semiconductor...
Page 803
4-byte patterns that make up a concatenated pattern to point to different locations in the frame. In other words, each concatenated pattern can point its MI field anywhere within the 256 bytes of the frame. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-33...
Page 804
(PATTRBn[PMF] is set), reject all (RCTRL[RA]), short frame received, reject short frame (RCTRL[RSF]), unicast (UC) hit, multicast (MC) hit, broadcast (BC) hit, promiscuous (RCTRL[PROM]), broadcast (BC) reject (RCTRL[BC_REJ]), and pause frame received. MSC8113 Reference Manual, Rev. 0 25-34 Freescale Semiconductor...
Figure 25-23 depicts an example of how to prepare multiple patterns to examine different fields within a frame. Depending on which patterns hit or win (for multiple pattern hits), the frame can be filed to a preselected queue. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-35...
Insert index, which is the number of bytes to jump within the transmit buffer before beginning to insert data Insert length, which is the number of bytes of data that are inserted into the buffer MSC8113 Reference Manual, Rev. 0 25-36 Freescale Semiconductor...
Page 807
Resulting expansion Software must ensure that the data length of the frame’s Type/Length field is correct. Figure 25-24. Insertion by Replacement and Insertion by Expansion MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-37...
Before transmitting flow control frames, poll the Used Entry Count Register in the FIFO. If the value is equal to or greater than the value in the Alarm Register, use the following recommended steps to transmit flow control frames: MSC8113 Reference Manual, Rev. 0 25-38 Freescale Semiconductor...
From Ethernet controller to GIC bit 20 of GCIER RIFGSI Ethernet controller Receive Inter Frame Gap Status From Ethernet controller to all PIC IRQ5 Interrupt (RIFGSI) Note: RIFGSI is used only in SMII mode. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-39...
Page 810
Receive buffer: An RxBD that is not the last one of the frame was updated. Receive frame: A frame was received and the last RxBD of that frame was updated. MSC8113 Reference Manual, Rev. 0 25-40 Freescale Semiconductor...
(RxBD[NO]) error is reported, IEVENT[RXFn] is set, and the alignment error counter increments. The Ethernet controller relies on the statistics collector block to increment the receive alignment error counter (RALN). If there is no CRC error, no error is reported. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-41...
Note: The MAC-to-MAC connection is not defined in the IEEE . Care must be Std. 802.3 taken to ensure that the receive side has enough set-up and hold time. MSC8113 Reference Manual, Rev. 0 25-42 Freescale Semiconductor...
Page 813
MSC8113 Ethernet signals Ethernet MII MAC ETHTX_ER RX_ER ETHTX_EN RX_DV ETHTXD[3–0] RXD[3–0] ETHTX_CLK RX_CLK ETHCOL ETHRXD[3–0] TXD[3–0] ETHRX_ER TX_ER ETHRX_CLK TX_CLK ETHRX_DV TX_EN ETHCRS Figure 25-26. Full Duplex MAC-to-MAC Connection In MII Mode (Transparent) MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-43...
(MAC-to-PHY mode). Before you change the PHY speed via software, you must first clear MACCFG1R[TXEN, RXEN] bits (page 25-84). Select MII, RMII, or SMII mode. MIIGSK Configuration Register (MIIGSK_CFGR) page 25-96. MSC8113 Reference Manual, Rev. 0 25-46 Freescale Semiconductor...
Page 817
For both methods, ensure that the top (first) TxBD in the transmitter ring is the last to have its ready bit set. For example, if the frame is described by three TxBDs, set TxBD[R] in the last TxBD first, then the middle TxBD, perform either method one or MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-47...
Page 818
Set the MACCFG1R[SRESET] bit (page 25-84). Clear the MACCFG1R[SRESET] bit (page 25-84). Write 01 to the MACCFG2R[22–23] bits (page 25-85). Set DMAMR[9] (page 25-61). Set FRXCTRLR[30] (page 25-63). Configure the MIIGSK_CFGR (page 25-96). MSC8113 Reference Manual, Rev. 0 25-48 Freescale Semiconductor...
This section describes the Ethernet controller registers in detail. The discussion is organized around the following register groupings. Refer to Chapter 8, Memory Map for information on the location of the registers. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-49...
Reserved. Write to zero for future compatibility. MSRO MSTAT Register Overflow No MSTAT Register overflow. Generates an interrupt if the count for one of the MSTAT MSTAT Register overflow. registers exceeds the size of the register. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-53...
Page 824
An RxBD from queue 3 with the Interrupt (I) bit in its status Receive buffer. word was updated but was not the last BD of the frame. — Reserved. Write to zero for future compatibility. 20–22 MSC8113 Reference Manual, Rev. 0 25-54 Freescale Semiconductor...
Page 825
IEVENT bit is cleared either by writing a 1 to it, or by writing a 0 to the corresponding IMASK bit. Table 25-20. IMASK Bit Descriptions Reset Description Settings Reserved. Write to zero for future compatibility. RXCEN Receive Control Interrupt Enable RCI disabled. RCI enabled. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-55...
Page 827
32-byte BD format. This bit must be set must be set before the Ethernet controller is enabled. It must not be changed without proper care. — Reserved. Write to zero for future compatibility. 25–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-57...
Page 828
(PTE) represent the extended pause control parameter. The pause time is measured in units of pause_quanta, equal to 512 bit times.The pause time can range from 0 to 65535 pause_quanta or 0 to 33553920 bit times. For details, see Section 25.11, Flow Control, on page 25-38. MSC8113 Reference Manual, Rev. 0 25-58 Freescale Semiconductor...
Page 829
DMA Control Register — Type Reset — — — Type Reset DMACTRL configures the DMA controller. Table 25-24. DMACTRL Bit Descriptions Reset Description Settings — Reserved. Write to zero for future compatibility. 0–26 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-59...
Page 830
“Wait” mode, the Ethernet controller allows two additional to TSTAT[THLT]. reads of a descriptor that is not ready before it enters a halt state. No interrupt is driven. To resume transmission, software must clear TSTAT[THLT]. MSC8113 Reference Manual, Rev. 0 25-60 Freescale Semiconductor...
Page 831
00 Low priority 14–15 Sets the transmit/receive transaction priority. 01 Mid priority 10 Mid priority 11 High priority — Reserved. Always write a 0 to this bit after any reset or configuration. 16–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-61...
Type Reset — — FULL EMPTY — Type Reset FRXSTATR contains the status bits of the Rx FIFO controller. This register is read/write by software. This register is cleared at system reset. MSC8113 Reference Manual, Rev. 0 25-62 Freescale Semiconductor...
Page 833
Always write a 1 to this bit after any reset or reconfiguration. — Reserved. Write to zero for future compatibility. FRXALAR FIFO Receive Alarm Register — Type Reset — FRXALAR Type Reset MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-63...
Page 834
Indicates the value to turn off the alarm state. The alarm turns off if the FIFO Rx Used Entry Count falls to less than or equal to that of the FIFO Receive Alarm Shutoff Register. MSC8113 Reference Manual, Rev. 0 25-64...
Page 835
FIFO falls to a value less than or equal to the value in the FRXPSR, the panic condition ends. This register is read/write by software. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor...
Page 836
Not Full Indicates whether the Tx FIFO is full. Full EMPTY Tx FIFO Empty Not empty. Indicates whether the Tx FIFO is empty. Empty. — Reserved. Write to zero for future compatibility. MSC8113 Reference Manual, Rev. 0 25-66 Freescale Semiconductor...
Page 837
DMA writes to the FIFO. Note: Before configuring the Ethernet controller to half duplex MII mode, write a value of 0x25 to this field to prevent data loss if multiple collisions occur during data transfer. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-67...
Page 838
FIFO becomes greater than or equal to that in the FIFO Tx Starve Shutoff Register (FTXSSR). FTXSSR FIFO Transmit Starve Shutoff Register — Type Reset — FTXSS Type Reset MSC8113 Reference Manual, Rev. 0 25-68 Freescale Semiconductor...
Flow control pause frame transmitter pauses for the duration defined in the received received. pause frame. This bit automatically clears after the pause duration is complete. RFCP is written by Ethernet controller. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-69...
Page 840
DMA function. To restart the transmission function halted. transmission function, you must clear this bit by writing a one to it. — Reserved. Write to zero for future compatibility. 1–31 MSC8113 Reference Manual, Rev. 0 25-70 Freescale Semiconductor...
Page 841
In 32-byte mode (ECNTRL[DBDS] is set), this field must be 32-byte aligned so that bits 27 and 28 are reserved in 32-byte mode. The DMA module writes to CTBPTR internally. — Reserved. Write to zero for future compatibility. 29–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-71...
Page 842
W (wrap) bit in the last BD, you can select how many BDs to allocate for the transmit packets. You must initialize TBASE before enabling the Ethernet controller transmit function. — Reserved. Write to zero for future compatibility. 29-31 MSC8113 Reference Manual, Rev. 0 25-72 Freescale Semiconductor...
Page 843
IEVENT[TXF] is set after this buffer is serviced. Last in Frame The OSTBD is always the last in the frame, so L is always set. This bit is hardwired to a value of 1 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-73...
Page 844
16–31 Data length is the number of octets the Ethernet controller should transmit from the BD data buffer. The Ethernet controller never modifies this value. This bit is written by the user. MSC8113 Reference Manual, Rev. 0 25-74 Freescale Semiconductor...
Page 845
Contains the address of the associated data buffer. There are no alignment requirements for this address. The buffer must reside in memory external to the Ethernet controller. The Ethernet controller never modifies this value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-75...
Page 846
TxBD[DL]. Insertion error occurs for replacement if the index + length is greater than TxBD[DL]. The Ethernet controller never modifies this value. OS32TBDR Out-of-Sequence 32 Byte TxBD Reserved Register — Type Reset — Type Reset MSC8113 Reference Manual, Rev. 0 25-76 Freescale Semiconductor...
Page 847
Contains the number of bytes of data that is inserted into the buffer. If this field holds a value of zero, no insertion occurs, and the values in the Tx insert buffer pointer and the insert index field are considered invalid. The Ethernet controller never modifies this value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-77...
For short frames to be received when RSF=1, a DA MINFLR bytes. hit or a pattern match hit accept needs to occur. When RSF=0, all frames shorter than MINFLR are automatically rejected. MSC8113 Reference Manual, Rev. 0 25-78 Freescale Semiconductor...
Page 849
All Ethernet controller receive A write with a value of 1 re-enables the queue for receiving. activity to RxBD queue 2 is halted. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-79...
Page 850
CRBPTR contains the address of the RxBD that is either being processed or was most recently processed. The DMA module writes to this register internally, and you should never write to it. MSC8113 Reference Manual, Rev. 0 25-80 Freescale Semiconductor...
Page 851
Therefore, user-supplied buffers must be at least as large as the MRBLR0. — To ensure that MRBLR1 and MRBLR0 are multiples of 64, these bits are reserved and should be 26–31 cleared. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-81...
Page 852
MRBLR2. — To ensure that MRBLR2 and MRBLR3 are multiples of 64, these bits are reserved and should be 26–31 cleared. RBPTRn RxBD Pointer 0-3 RBPTRn Type Reset RBPTRn — Type Reset MSC8113 Reference Manual, Rev. 0 25-82 Freescale Semiconductor...
Page 853
Together with setting the wrap (W) bit in the last BD, you can select how many BDs to allocate for the receive packets. — Reserved. Write to zero for future compatibility. 29–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-83...
Reset Tx Function Normal operation. Puts the transmit function block into reset. This block performs Resets the transmit function the frame transmission protocol. block. — Reserved. Write to zero for future compatibility. 16–22 MSC8113 Reference Manual, Rev. 0 25-84 Freescale Semiconductor...
Page 855
This bit is cleared by default. MACCFG2R MAC Configuration 2 Register — Type Reset Boot PREAL — — LENC — PADCRC CRCEN FDUP Type Reset Boot MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-85...
Page 856
PAD/CRC ENABLE is set, CRC ENABLE is ignored. FDUP Full Duplex Half-duplex mode. Selects half-duplex or full-duplex mode. Full-duplex mode. IPGIFGR Inter-Packet Gap/Inter-Frame Gap Register — NBBIPG1 — NBBIPG2 Type Reset MIFGE — BBIPG Type Reset MSC8113 Reference Manual, Rev. 0 25-86 Freescale Semiconductor...
Page 857
ABEB BPNB Type Reset RTXM — Type Reset HAFDUPR controls the carrier-sense multiple access/collision detection (CSMA/CD) logic. Half-duplex is supported for both 10 Mbps and 100 Mbps operation. This register is user-programmable. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-87...
Page 858
Because the collision window starts at the beginning of transmission, the preamble and SFD are included. Its default of 0x37 (55d) corresponds to the count of frame bytes at the end of the window. MSC8113 Reference Manual, Rev. 0 25-88 Freescale Semiconductor...
Page 859
Description — Reserved. Write to zero for future compatibility. 0–21 Excess Deferral Set if the MAC excessively defers a transmission. It clears if read. This bit latches high. — 000000001 Reserved. 23–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-89...
Page 860
Holds the third octet of the station address, which defaults to a value of 0x00. Station Address, Octet 4 24–31 Holds the fourth octet of the station address, which defaults to a value of 0x00. MSC8113 Reference Manual, Rev. 0 25-90 Freescale Semiconductor...
Page 861
Holds the fifth octet of the station address, which defaults to a value of 0x00. Station Address, Octet 6 8–15 Holds the sixth octet of the station address, which defaults to a value of 0x00. — Reserved. Write to zero for future compatibility. 16–31 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-91...
4. 010 BUSES_CLOCK/8 divided by 6. 011 BUSES_CLOCK/8 divided by 8. 100 BUSES_CLOCK/8 divided by 10. 101 BUSES_CLOCK/8 divided by 14. 110 BUSES_CLOCK/8 divided by 20. 111 BUSES_CLOCK/8 divided by 28. MSC8113 Reference Manual, Rev. 0 25-92 Freescale Semiconductor...
Page 863
Causes the MII management to perform a single read cycle. If RCYC is set, an MII management read cycle is performed using the PHY address at MIIMADD[PHYADDR] and the register address (at MIIMADD[RADDR]. The read data is returned in the MIIMSTATR[PHYS] bit. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-93...
Reserved. Write to zero for future compatibility. 0–15 PHYC PHY Control 16–31 Causes an MII management write cycle to be performed using this 16-bit data field, the pre-configured PHY address at MIIMADD[PHYADDR]), and the register address (at MIIMADD[RADDR]). MSC8113 Reference Manual, Rev. 0 25-94 Freescale Semiconductor...
Page 865
BUSY Busy No read or write cycle. Indicates that an MII management block is performing an MII Read or write cycle is in management read or write cycle. progress. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-95...
MII PHY to be looped back to the Ethernet Ethernet controller transmit outputs. controller transmit outputs to the MII PHY. Proper operation is guaranteed only when: • MIIGSK_CFGR[IFMODE] = 00 • MIIGSK_CFGR[LBMODE] = 0 MSC8113 Reference Manual, Rev. 0 25-96 Freescale Semiconductor...
Page 867
Puts all Ethernet controller modules into reset. Internal Reset Note: MIIGSK_GPR is not reset by the Ethernet controller Internal Reset. — Reserved 30-28 Drive Strength Select slow drive Select standard pad drive strength. Select high drive MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-97...
Page 868
For the SMII MAC-to-MAC connection, the Ethernet controller is synchronized on the receive signal, and the receive and transmit operation proceeds according to the SYNC input sync signal, . In this mode, the generation of the transmit output signal is ETHSYNC_IN disabled. MSC8113 Reference Manual, Rev. 0 25-98 Freescale Semiconductor...
Page 869
You can write any value to these bits, but the SMII specification provides recommended status bit definitions. Note: MIIGSK_TIFBR can be programmed only when MIIGSK_ENR[EN] = 0, that is, the Ethernet controller is disabled. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-99...
Page 870
Part of the 10-bit data segments transferred in the inter-packet Forced error. gap between frames. Note: If the TX_EN bit = 1, this is data. If TX_EN = 0, this is a status bit. MSC8113 Reference Manual, Rev. 0 25-100 Freescale Semiconductor...
Page 871
Allows you to read the value of the received inter-frame 100 Mbps. segment bits. RXD0 IFG Receive Segment Data Bit 0 No previous RX error. Allows you to read the value of the received inter-frame RX error previous frame. segment bits. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-101...
Page 872
MIIGSK_IEVENT generates an interrupt if the corresponding bit in the MIIGSK_IMASK register is also set. The bit in MIIGSK_IEVENT is cleared if a 1 is written to that bit position. Writing a 0 has no effect. MSC8113 Reference Manual, Rev. 0 25-102 Freescale Semiconductor...
Page 873
In the interrupt handler, use the following steps: Disable all interrupts by clearing the MIIGSK_IEVENT register. Clear the IEVENT register. Update the MIIGSK_ERIFBR according to the expected value. Enable the desired interrupt in the MIIGSK_IMASK register. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-103...
TR64 Transmit and Receive 64-byte Frame Counter 10–31 Increments for each good or bad frame transmitted and received that is 64 bytes long, inclusive (excluding preamble and SFD but including FCS bytes). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-105...
Page 876
Transmit and Receive 128- to 255-Byte Frame Counter 10–31 Increments for each good or bad frame transmitted and received that is 128 to 255 bytes long, inclusive (excluding preamble and SFD but including FCS bytes). MSC8113 Reference Manual, Rev. 0 25-106 Freescale Semiconductor...
Page 877
Transmit and Receive 512- to 1023-Byte Frame Counter 10–31 Increments for each good or bad frame transmitted and received that is 512 to 1023 bytes long, inclusive (excluding preamble and SFD but including FCS bytes). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-107...
Page 878
Transmit and Receive 1519- to 1522-Byte Frame Counter 10–31 Increments for each good or bad frame transmitted and received that is 1519 to 1522 bytes long, inclusive (excluding Preamble and SFD but including FCS bytes). MSC8113 Reference Manual, Rev. 0 25-108 Freescale Semiconductor...
Page 879
Bits Reset Description — Reserved. Write to zero for future compatibility. 0–9 RPKT Receive Packet Counter 10–31 Increments for each frame received packet (including bad packets, all unicast, broadcast, and multicast packets). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-109...
Page 880
0–9 RMCA Receive Multicast Packet Counter 10–31 Increments for each multicast good frame of lengths 64 to 1518 (non-VLAN) or 1522 (VLAN), excluding broadcast frames. This count does not include range/length errors. MSC8113 Reference Manual, Rev. 0 25-110 Freescale Semiconductor...
Page 881
Table 25-93. RXCF Bit Descriptions Bits Reset Description — Reserved. Write to zero for future compatibility. 0–15 RXCF Receive Control Frame Packet Counter 16–31 Increments for each MAC control frame received (PAUSE and unsupported). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-111...
Page 882
— Reserved. Write to zero for future compatibility. 0–15 RXUO Receive Unknown Opcode Counter 16–31 Increments each time a MAC control frame is received that contains an opcode other than a pause. MSC8113 Reference Manual, Rev. 0 25-112 Freescale Semiconductor...
Page 883
Increments for each frame received in which the 802.3 length field does not match the number of data bytes actually received (46 –1500 bytes). The counter does not increment if the length field is not a valid 802.3 length, such as an ethertype value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-113...
Page 884
Controllern_RXER and an 0xE on Ethernet Controllern_RXD. The event is reported along with the statistics generated on the next received frame. Only one false carrier condition can be detected and logged between frames. MSC8113 Reference Manual, Rev. 0 25-114 Freescale Semiconductor...
Page 885
Increments each time a frame is received that exceeds 1518 (non-VLAN) or 1522 (VLAN) and contains a valid FCS and is otherwise well formed. This count does not include range length errors. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-115...
Page 886
Reserved. Write to zero for future compatibility. 0–15 RJBR Receive Jabber Counter 16-31 Increments for frames received that exceed 1518 (non-VLAN) or 1522 (VLAN) bytes and contain an invalid FCS. This includes alignment errors. MSC8113 Reference Manual, Rev. 0 25-116 Freescale Semiconductor...
Page 887
Increments by the number of bytes that are put on the wire, including fragments of frames involved with collisions. This count does not include preamble/SFD or jam bytes.This counter does not count if the frame is a truncated frame MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-117...
Page 888
Table 25-107. TMCA Bit Descriptions Bits Reset Description — Reserved. Write to zero for future compatibility. 0–9 TMCA Transmit Multicast Packet Counter 10–31 Increments for each valid multicast frame transmitted, excluding broadcast frames. MSC8113 Reference Manual, Rev. 0 25-118 Freescale Semiconductor...
Page 889
Table 25-109. TXPF Bit Descriptions Bits Reset Description — Reserved. Write to zero for future compatibility. 0–15 TXPF Transmit Pause Frame Packet Counter 16–31 Increments each time a valid pause MAC control frame is transmitted. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-119...
Page 890
— Reserved. Write to zero for future compatibility. 0–19 TEDF Transmit Excessive Deferral Packet Counter 20–31 Increments for aborted frames that were deferred for an excessive period of time (3036 byte times). MSC8113 Reference Manual, Rev. 0 25-120 Freescale Semiconductor...
Page 891
Reserved. Write to zero for future compatibility. 0–19 TMCL Transmit Multiple Collision Packet Counter 20–31 Increments for each frame that experienced 2–15 collisions, including any late collisions, during transmission as defined by the HAFDUPR[RTXM] field. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-121...
Page 892
Bits Reset Description — Reserved. Write to zero for future compatibility. 0–19 TXCL Transmit Excessive Collision Packet Counter 20–31 Increments for each frame that experiences 16 collisions during transmission and is aborted. MSC8113 Reference Manual, Rev. 0 25-122 Freescale Semiconductor...
Page 893
Table 25-117. TJBR Bit Descriptions Bits Reset Description — Reserved. Write to zero for future compatibility. 0–19 TJBR Transmit Jabber Frame Counter 20–31 Increments for each oversized transmitted frame with an incorrect FCS value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-123...
Page 894
— Reserved. Write to zero for future compatibility. 0–19 TXCF2 Transmit Control Frame Counter 0–31 Increments for every transmit frame with a valid size and a type field signifying a control frame. MSC8113 Reference Manual, Rev. 0 25-124 Freescale Semiconductor...
Page 895
Bits Reset Description — Reserved. Write to zero for future compatibility. 0–19 TDFR Transmit Undersize Frame Counter 20–31 Increments for every frame less than 64 bytes long with a correct FCS value. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-125...
A hash entry usually represents a set of addresses. A hash table hit occurs if the DA CRC result points to an enabled hash entry. You should further filter the address. For details, see Section 25.9.3, Hash Table Algorithm, on page 25-27. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-131...
Page 902
256 entries. You can enable a hash entry by setting the appropriate bit. A hash table hit occurs if the DA CRC result points to an enabled hash entry. MSC8113 Reference Manual, Rev. 0 25-132...
Reset PMASKn is a set of user-programmable registers (bytes 0, 1, 2, 3) to mask a pattern match associated with the PMDn registers. Data is masked on a bit-by-bit basis, thus allowing MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-133...
Page 904
If a pattern match reject occurs, 256-byte maximum. CSE is ignored (the frame is rejected and searching is discontinued). MSC8113 Reference Manual, Rev. 0 25-134 Freescale Semiconductor...
Page 905
Specifies which field is used to determine where determine where the frame is filed. the frame is filled. If a match occurs, the PATTRB[QC] field is used to determine where the frame is filed. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-135...
Page 906
DATTR. You must ensure that this override does not happen inadvertently. For a snoop enable bit, for example, the PATTRBn[RBDSEN] and PATTRBn[RDSEN] should match the corresponding DATTR fields unless you want to file to the default queue with a different snoop MSC8113 Reference Manual, Rev. 0 25-136 Freescale Semiconductor...
Page 908
Hardware updates this bit after transmitting a frame frame did not have a collision before it (TxBD[L] is set. was sent but it was sent late because of deferring. If HAFDUP[EXCESS_DEFER]=0, this frame was aborted and not sent. MSC8113 Reference Manual, Rev. 0 25-138 Freescale Semiconductor...
Page 909
There are no alignment requirements for this address. TxBD 32-Byte Transmit Data Buffer Descriptor Offset + PADCRC HFE/LC 0x00 Offset + Data Length (DL) 0x02 Offset + Reserved 0x04 Offset + 0x06 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-139...
Page 910
The 32-byte TxBD is an extended version of the 8-byte TxBD. It supports insertion of data on a per-buffer descriptor basis, either insertion with replacement or insertion with expansion. Software programs the right TYPE/LENGTH field in the BD to take into account any inserted data. MSC8113 Reference Manual, Rev. 0 25-140 Freescale Semiconductor...
Page 911
Hardware updates this bit after transmitting a frame this frame did not have a collision (TxBD[L] is set. before it was sent but it was sent late because of deferring. If HAFDUP[EXCESS_DEFER]=0, this frame was aborted and not sent. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-141...
Page 912
TXDBPT Transmit Data Buffer Pointer 0–31 Contains the address of the associated data buffer. There are no alignment requirements for this address. +0x12 — Reserved. Write to zero for future compatibility. 0–31 MSC8113 Reference Manual, Rev. 0 25-142 Freescale Semiconductor...
Page 913
Tx insert buffer pointer and the Insert Index field are considered invalid. The Ethernet controller never modifies this value. +0x28 — Reserved. Write to zero for future compatibility. 0–15 + 0x30 — Reserved. Write to zero for future compatibility. 0–15 MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-143...
Page 914
The buffer is not the last in a Specifies whether this buffer is the last one in the receive frame. frame. This bit is written by the Ethernet controller. The buffer is the last in a frame. MSC8113 Reference Manual, Rev. 0 25-144 Freescale Semiconductor...
Page 915
Receive frame truncated. discarded and the other error bits must be ignored because they may be incorrect. This bit is written by the Ethernet controller and is valid only if L is set. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-145...
Page 917
+ 0x00 Broadcast Normal operation. Broadcast mode. This bit is written by Ethernet Broadcast mode. controller and is valid only if L is set. L is set if the DA is broadcast (FF-FF-FF-FF-FF-FF). MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-147...
Page 918
Points to the first location of the associated data buffer and must be 64-byte aligned. The buffer must + 0x10 0–31 reside in memory external to the Ethernet controller. This field is written by the user. MSC8113 Reference Manual, Rev. 0 25-148 Freescale Semiconductor...
Page 919
Rx buffer pointer points, regardless of the L bit value. With the exception of the last BD (L is set), the data length and the byte count are always the same.This field is written by the Ethernet controller. MSC8113 Reference Manual, Rev. 0 Freescale Semiconductor 25-149...
MSC8113 registers. A.1 Register Addressing Register addressing is complex because of the flexible addressing model offered in the MSC8113 device. SC140 DSP core and extended core registers are shown on programming sheets with fixed addresses based on the default QBus bank configurations after reset and booting. While the QBus base addresses can be reconfigured, this is not recommended.
Page 922
Programming Reference A.2 Interrupts For information on the MSC8113 interrupt controllers, refer to Chapter 17, Interrupt Processing. The following tables are a summary of interrupt sources for each of the controllers. Table A-1. GIC INT_OUT Sources Source Description — Reserved —...
For details on the instruction set of the SC140 core, see the SC140 DSP Core Reference Manual, which is available at the web site listed on the back cover of this manual. Table A-7. Guide to MSC8113 Programming Sheets Module Programming Sheet...
Page 929
Programming Sheets Table A-7. Guide to MSC8113 Programming Sheets (Continued) Module Programming Sheet Type Page System Bus Configuration Register (BCR) page A-24 Interface Unit System Bus Arbiter Configuration Register (PPC_ACR) page A-25 (SIU) System Bus Arbitration-Level Registers (PPC_ALRH/PPC_ALRL) page A-26...
Need help?
Do you have a question about the MSC8113 and is the answer not in the manual?
Questions and answers