MT7621 ProgrammingGuide Preliminary Platform
MT7621 ProgrammingGuide Preliminary Platform
NL
US L
EO
cn IA
m. NT
.co IDE
MT7621
ccn NF
PROGRAMMING
ase O
GUIDE
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
MT7621 Overview
US L
EO
The MT7621 SoC includes a high performance 880 MHz MIPS1004Kc CPU core and high speed
USB3.0/PCIe/SDXC interfaces, which is designed to enable a multitude of high performance, cost-effective IEEE
cn IA
802.11n/ac applications with a MediaTek (Ralink) WiFi client card.
m. NT
EJTAG 16-Bit DDR2/DDR3 To CPU
INTC interrupts
.co IDE
32/32 KB I/D- SPI SPI
Cache per Core OCP_IF
(880 MHz) OCP Bridge Arbiter NFI NAND
UARTLx3 UART
PBUS
RBUS GPIO
GPIO
/LED
I2C I2C
ccn NF PBUS
There are several masters (MIPS 1004KEc, USB, PCI Express, SDXC, FE) in the MT7621 SoC on a high
performance, low latency Rbus, (Ralink Bus). In addition, the MT7621 SoC supports lower speed peripherals
such as UART Lite, GPIO, NFI and SPI via a low speed peripheral bus (Pbus). The DDR2/DDR3 controller is the
only bus slave on the Rbus. It includes an Advanced Memory Scheduler to arbitrate the requests from bus
xia E
Y
NL
Table of Contents
US L
EO
MT7621 OVERVIEW 2
cn IA
FUNCTIONAL BLOCK DIAGRAM 2
TABLE OF CONTENTS 3
1. MIPS 1004KC PROCESSOR 5
m. NT
1.1 FEATURES 5
1.2 MEMORY MAP SUMMARY 7
1.3 INTERUPT TABLE SUMMARY 9
2. REGISTERS 11
.co IDE
2.1 NOMENCLATURE 11
2.2 SYSTEM CONTROL 12
2.2.1 FEATURES 12
2.2.2 BLOCK DIAGRAM 12
2.2.3 REGISTERS 13
2.3 TIMER 41
ccn NF
2.3.1 FEATURES 41
2.3.2 BLOCK DIAGRAM 42
2.3.3 REGISTERS 43
2.4 SYSTEM TICK COUNTER 48
ase O
2.4.1 REGISTERS 48
2.5 UART LITE 50
@ KC
2.5.1 FEATURES 50
2.5.2 REGISTERS 51
2.6 PROGRAMMABLE I/O 65
2.6.1 FEATURES 65
2.6.2 BLOCK DIAGRAM 65
2.6.3 GPIO PIN MAPPING 65
xia E
2.6.4 REGISTERS 67
2
2.7 I C CONTROLLER 79
ny AT
2.7.1 FEATURES 79
2.7.2 LIST OF REGISTERS 80
2.8 NAND FLASH INTERFACE 87
2.8.1 FEATURES 87
To DI
2.8.2 REGISTERS 88
2.8.3 PROGRAMMING GUIDE 106
2.9 NFI ECC CONTROLLER 115
R E
Y
NL
2.11.1 FEATURES 154
US L
2.11.2 BLOCK DIAGRAM 154
EO
2.11.3 PERIPHERAL CHANNEL CONNECTION 155
cn IA
2.11.4 REGISTERS 156
2.12 SPI CONTROLLER 202
2.12.1 FEATURES 202
2.12.2 BLOCK DIAGRAM 202
m. NT
2.12.3 REGISTERS 203
2.13 I2S CONTROLLER 213
2.13.1 FEATURES 213
2.13.2 BLOCK DIAGRAM 213
.co IDE
2.13.3 REGISTERS 215
2.14 SPDIF TX 220
2.14.1 REGISTERS 221
2.15 MEMORY CONTROLLER 235
2.15.1 FEATURES 235
ccn NF
2.15.2 REGISTERS 236
2.16 RBUS MATRIX AND QOS ARBITER 319
2.16.1 FEATURES 319
2.16.2 BLOCK DIAGRAM 319
ase O
Y
NL
US L
1. MIPS 1004Kc Processor
EO
1.1 Features
cn IA
8-9-stage pipeline
32-bit Address Paths
64-bit Data Paths to Caches
MIPS32 Enhanced Architecture (Release 2) Features
m. NT
– Standardized Instruction Set Architecture
– Vectored interrupts and support for an external interrupt controller
– Programmable exception vector base
– Atomic interrupt enable/disable
–
.co IDE
Bit field manipulation instructions
MIPS16e Application Specific Extension
– 16 bit encodings of 32-bit instructions to improve code density
– Special PC-relative instructions for efficient loading of addresses and constants
– Data type conversion instructions (ZEB, SEB, ZEH, SEH)
– Compact jumps (JRC, JALRC)
– Stack frame set-up and tear down “macro” instructions (SAVE and RESTORE)
ccn NF
MIPS MT Application Specific Extension (ASE)
– Support for 2 Virtual Processing Elements (VPEs) per CORE
– One Thread Context (TC) per VPE
Programmable L1 Cache Sizes
ase O
– Up to 9 non-blocking loads
– Data cache supports coherent and non-coherent Write-back with write-allocation
– 32-byte cache line size, doubleword sectored - suitable for standard single-port SRAM
– Cache line locking support
– Non-blocking prefetches
– Duplicate tag array in D-cache allows coherence requests to access the cache in parallel with normal
xia E
load/store traffic
Standard Memory Management Unit
–
ny AT
– Simple Byte enable mode allows easier bridging to other bus standards
– Extensions for management of front side L2 cache
–
M
Intervention port supports memory coherency for use in a 1004K Coherent Processing System
Multiply-Divide Unit
– Maximum issue rate of one 32x32 multiply per clock
– Early-in divide control. Minimum 11, maximum 34 clock latency on divide
Power Control
– No minimum frequency
– Support for software-controlled clock divider
– Support for extensive use of fine-grain clock gating
FO
Y
NL
EJTAG Debug Support
US L
– Start, stop, and single stepping control
EO
– Software breakpoints via the SDBBP instruction
– Optional hardware breakpoints on virtual addresses; 0, 2, or 4 instruction and 0,1, or 2 data
cn IA
breakpoints per VPE
SOC-it L2 Cache Controller
– 7-stage pipeline. (Optional 8th stage for pipelined memory arrays.)
– 32-bit address paths, 256-bit internal data paths
m. NT
– 8-way set associativity
– Cache size: 256KB
– Line Size: 32 bytes (4 doublewords)
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
Y
NL
US L
1.2 Memory Map Summary
EO
cn IA
Start End Size Description
0 1BFFFFFF 448M DRAM Direct Map
1C000000 1DFFFFFF 32M <<Reserved>>
m. NT
1E000000 1E0000FF 256 SYSCTL
1E000100 1E0001FF 256 TIMER
1E000200 1E0002FF 256 INTCTL
1E000300 1E0003FF 256 Flash Controller (NOR/SRAM/SDRAM)
1E000400 1E0004FF 256 Rbus Matrix CTRL
.co IDE
1E000500 1E0005FF 256 MIPS CNT
1E000600 1E0006FF 256 GPIO
1E000700 1E0007FF 256 S/PDIF
1E000800 1E0008FF 256 DMA_CFG_ARB
1E000900 1E0009FF 256 I2C
ccn NF
1E000A00 1E000AFF 256 I2S
1E000B00 1E000BFF 256 SPI CSR
1E000C00 1E000CFF 256 UARTLITE 1
1E000D00 1E000DFF 256 UARTLITE 2
ase O
Y
NL
1E250000 1E7FFFFF 5824K <<Reserved>>
US L
1E800000 1EBFFFFF 4M PCIE Direct Access for iNIC
EO
1EC00000 1FBBFFFF 16128K <<Reserved>>
cn IA
1FBC0000 1FBDFFFF 128 CM_GIC
1FBE0000 1FBEFFFF 64K <<Reserved>>
1FBF0000 1FBF7FFF 32K CM_CPC
m. NT
1FBF8000 1FBFFFFF 32K CM_GCR
1FC00000 1FFFFFFF 4M ROM/SPI FLASH Direct Access
20000000 23FFFFFF 64M DRAM Re-Map
24000000 5FFFFFFF 960M <<Reserved>>
.co IDE
60000000 6FFFFFFF 256M PCIE Direct Access
70000000 7FFFFFFF 256M <<Reserved>>
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
1.3 Interupt Table Summary
EO
MIPS1004Kc
cn IA
GIC Pin5 GIC
GIC GIC
m. NT
(Local) Pin4 (Local)
All the system GIC GIC
(Local) Pin3 (Local)
interrupts are n GIC GIC
(Local) Pin2 (Local)
connected to VPE0
here. (Shared) (Local) Pin1
(GIC INT0~63)
Pin0
.co IDE
SI_FDCInt, SI_PCInt, SI_TimerInt, SI_SWInt[1:0]
Y
NL
US L
EO
cn IA
m. NT
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
Y
NL
US L
2. Registers
EO
cn IA
2.1 Nomenclature
The following nomenclature is used for register types:
RO Read Only
m. NT
WO Write Only
RW Read or Write
RC Read Clear
W1C Write One Clear
- Reserved bit
.co IDE
X Undefined binary value
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.2 System Control
EO
2.2.1 Features
cn IA
Provides read-only chip revision registers
Provides a window to access boot-strapping signals
Supports memory remapping configurations
m. NT
Supports software reset to each platform building block
Provides registers to determine GPIO and other peripheral pin muxing schemes
Provides some power-on-reset only test registers for software programmers
Combines miscellaneous registers (such as clock skew control, status register, memo registers, etc)
.co IDE
2.2.2 Block Diagram
Memory Remapping
CPU Rbus Wrapper
ccn NF
Boot Strapping Signals
GPIO Pin Muxing Scheme
Pin Muxing Block
System Control
Registers Per Block S/W Reset
Platform Blocks
ase O
To/From MIPS
PalmBus Interface
xia E
Y
NL
US L
2.2.3 Registers
EO
SYSCTL Changes LOG
cn IA
Revision Date Author Change Log
0.1 2012/7/11 James Hu Initialization
m. NT
Module name: SYSCTL Base address: (+1E000000h)
Address Name Widt Register Function
h
.co IDE
1E000000 CHIPID0_3 32 CHIP ID ASCII Character 0-3
1E000004 CHIPID4_7 32 CHIP ID ASCII Character 4-7
1E00000C CHIP_REV_ID 32 Chip Revision Identification
1E000010 SYSCFG 32 System Configuration Register
1E000014 SYSCFG1 32 System Configuration Register 1
ccn NF
1E000018 TESTSTAT 32 Firmware Test Status
1E00001C TESTSTAT2 32 Firmware Test Status 2
1E000020 BOOT_SRAM_BA 32 Boot from SRAM base Address
SE
ase O
1E000024 BOOT_RELEASE 32 Release CPU's reset to let CPU boot in boot from SRAM mode
1E00002C CLKCFG0 32 Clock Configuration Register 0
@ KC
_CFG
1E000058 PAD_RGMII2_MDI 32 PAD configuration of RGMII2 and MDIO RST groups
O_CFG
1E00005C PAD_SDXC_SPI_C 32 PAD configuration of SDXC and SPI RST groups
R E
FG
1E000060 GPIO_MODE 32 GPIO purpose selection
M
Y
NL
1E000080 CPU_CPE_CNT0 32 CPU CPE counter 0
US L
1E000084 CPU_CPE_CNT1 32 CPU CPE counter 1
EO
1E000088 CPU_CFG 32 CPU configuration
cn IA
1E00008C CPU_MEM_CFG 32 CPU memory delay, power down and sleep control
1E000090 FMTR_CFG0 32 Frequency meter configuration 0
1E000094 FMTR_CNT_MAX 32 Frequency meter count maximum
m. NT
1E000098 FMTR_CNT_MIN 32 Frequency meter count minimum
1E00009C FMTR_CNT_VAL 32 Frequency meter counter value
.co IDE
1E000000 CHIPID0_3 CHIP ID ASCII Character 0-3 3637544
D
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CHIP_ID3 CHIP_ID2
Type RO RO
Reset 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name CHIP_ID1 CHIP_ID0
Type RO RO
Reset 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 1
2
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ny AT
Reset 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 0
Y
NL
Name DU
PK
US L
MM
G_I
EO
Y_I
D
D
cn IA
Type RO RO
Reset 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name VER_ID ECO_ID
Type RO RO
m. NT
Reset 0 0 0 1 0 0 0 1
.co IDE
0: Reserved
16 PKG_ID Package ID
1: A
0: N
11:8 VER_ID Chip Version ID
3:0 ECO_ID Chip ECO ID
ccn NF
1E000010 SYSCFG System Configuration Register 0000000
0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TEST_CODE BS_SHADOW[9:4]
@ KC
Type RW RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DR
OC DR
AM
XTAL_MODE_SE P_R AM
BS_SHADOW[3:0] _FR CHIP_MODE
L ATI _TY
OM
O PE
_EE
xia E
Type RO RO RO RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Y
NL
0: DDR3
US L
3:0 CHIP_MODE A vector to set chip function/test/debug modes in non-test/debug operation.
EO
For more information see the Bootstrapping Pins Description in the datasheet for this
chip.
cn IA
1E000014 SYSCFG1 System Configuration Register 1 0000C10
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PCI
CP
U_
E_R
GE2_MOD GE1_MOD CT
C_
E E RL_
MO
UTI
DE
F
Type RW RW RW RW
ccn NF
Reset 1 1 0 0 1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TESTSTAT[31:16]
Type
M
RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TESTSTAT[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
NOTE: This register is reset only by a power-on reset.
US L
EO
cn IA
1E00001C TESTSTAT2 Firmware Test Status 2 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TESTSTAT2[31:16]
m. NT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TESTSTAT2[15:0]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name BOOTSRAMBASE[31:16]
Type RW
Reset 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name BOOTSRAMBASE[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31:0 BOOTSRAMBASE Boot from SRAM base address (Test mode only)
Addr_tuned =
bootsram[31:0] | oc_maddr[15:0]
ny AT
1E000024 BOOT_RELEA Release CPU's reset to let CPU boot in boot from 0000000
SE SRAM mode 0
To DI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name BO
OT_
M
RE
LE
AS
E
Type RW
Reset 0
Y
NL
0 BOOT_RELEASE Release CPU's command to access DRAM or CR.
US L
1: Release CPU command
EO
0: Block CPU command
cn IA
1E000028 RESERVED_C Reserved CR1 0000000
R 0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED_CR1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name RESERVED_CR1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit(s) Name
ccn NF Description
Name RE
MP
PCI FCL
LL_
CPU_CLK_ E_C K_F
OSC_1US_DIV CF REFCLK_FDIV
@ KC
SEL LK_ FR
G_
SEL AC[
SEL
4:4]
Type RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PE
RI_
xia E
TRGMII_C
REFCLK_FFRAC[3:0] REFCLK0_RATE CL
LK_SEL
K_S
EL
ny AT
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0
0: 500MHz
29:24 OSC_1US_DIV Oscillator 1 usec Divider
Sets the maximum for the reference clock counter for either a 20 MHz or 40 MHz
M
external XTAL input. The count increments each 1usec (indicating 1 MHz), up to the
maximum, before resetting to zero. This counts the frequency of an external XTAL.
This count is used to output a 32 KHz frequency to the REFCLK0 pin.
0: Automatically generates a 1 usec system tick regardless of whether XTAL frequency
is 20 MHz or 40 MHz.
39: Default value for an external 40 MHz XTAL.
19: Default value for an external 20 MHz XTAL.
Others: Manual mode for tick generation.
23 MPLL_CFG_SEL MEMPLL parameter configuration selection
FO
Y
NL
1: from CR configuration
0: follow XTAL frequncy boot strapping
US L
EO
22:18 REFCLK_FDIV Internal Clock Frequency Divider
The frequency divider used to generate the Fraction-N clock frequency.
cn IA
Valid values range from 1 to 31.
Fraction-N clock frequency = (INT_CLK_FFRAC/INT_CLK_FDIV)*PLL_FREQ
17 PCIE_CLK_SEL PCIe clock selection.
1: from GPLL 125MHz
m. NT
0: from PCIe PHY
16:12 REFCLK_FFRAC Internal Clock Fraction-N Frequency
A parameter used in conjunction with INT_CLK_FDIV to generate the Fraction-N clock
frequency.
Valid values range from 0 to 31.
Fraction-N clock Frequency = (INT_CLK_FFRAC/INT_CLK_FDIV)*PLL_FREQ
.co IDE
11:9 REFCLK0_RATE Output clock rate of reference Clock 0
7: CPU clock/8
6: Reserved
5: Internal Fraction-N_CLK/2
4: Internal Fraction-N_CLK/4
3: Reserved
2: 25 MHz
ccn NF 1: 12.5 MHz
0: Xtal clock(20/25/40 MHz by boot strap)
6:5 TRGMII_CLK_SEL TRGMII Tx clock selection
2: APLL
1: DDR PLL to DRAMC
ase O
0: 250MHz
4 PERI_CLK_SEL Peripheral Clock Source Select
1: XTAL input
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CR
SH PCI PCI PCI ET UA UA UA
YPT SPI I2S I2C
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name NA GD PC TIM
SP HS
PIO MC INT DIF FE_ DM
ND MA M_ ER_
_CL _CL _CL TX_ CL A_
_CL _CL CL CL
K_E K_E K_E CL K_E CL
R E
Reset 1 1 1 1 1 1 1 1 1 1
Y
NL
0: Clock Disable
US L
26 PCIE2_CLK_EN PCIE2 clock control
EO
1: Clock Enable
0: Clock Disable
cn IA
25 PCIE1_CLK_EN PCIE1 clock control
1: Clock Enable
0: Clock Disable
24 PCIE0_CLK_EN PCIE0 clock control
m. NT
1: Clock Enable
0: Clock Disable
23 ETH_CLK_EN ETH clock control
1: Clock Enable
0: Clock Disable
.co IDE
21 UART3_CLK_EN UART3 clock control
1: Clock Enable
0: Clock Disable
20 UART2_CLK_EN UART2 clock control
1: Clock Enable
0: Clock Disable
19
ccn NF
UART1_CLK_EN UART1 clock control
1: Clock Enable
0: Clock Disable
18 SPI_CLK_EN SPI clock control
1: Clock Enable
ase O
0: Clock Disable
17 I2S_CLK_EN I2S clock control
1: Clock Enable
@ KC
0: Clock Disable
16 I2C_CLK_EN I2C clock control
1: Clock Enable
0: Clock Disable
15 NAND_CLK_EN NAND clock control
1: Clock Enable
0: Clock Disable
xia E
0: Clock Disable
13 PIO_CLK_EN PIO clock control
1: Clock Enable
0: Clock Disable
11 PCM_CLK_EN PCM clock control
To DI
1: Clock Enable
0: Clock Disable
10 MC_CLK_EN MC clock control
1: Clock Enable
R E
0: Clock Disable
9 INT_CLK_EN INT clock control
M
1: Clock Enable
0: Clock Disable
8 TIMER_CLK_EN TIMER clock control
1: Clock Enable
0: Clock Disable
7 SPDIFTX_CLK_EN SPDIFTX clock control
1: Clock Enable
0: Clock Disable
6 FE_CLK_EN FE clock control
FO
Y
NL
1: Clock Enable
0: Clock Disable
US L
EO
5 HSDMA_CLK_EN HSDMA clock control
1: Clock Enable
cn IA
0: Clock Disable
m. NT
1E000034 RSTCTL Reset Control Register 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name AU
CR
SD X_S PCI PCI PCI ET UA UA UA
PP YPT SPI I2S I2C
.co IDE
XC_ TC E2_ E1_ E0_ H_ RT3 RT2 RT1
E_R O_ _RS _RS _RS
RS K_ RS RS RS RS _RS _RS _RS
ST RS T T T
T RS T T T T T T T
T
T
Type RW RW RW RW RW RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SP HS
ccn NF
GD PC TIM
NFI PIO MC INT DIF FE_ DM MC SY
MA M_ ER_
_RS _RS _RS _RS TX_ RS A_ M_ S_R
_RS RS RS
T T T T RS T RS RST ST
T T T
T T
Type RW RW RW RW RW RW RW RW RW RW RW
W1
C
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
0: Reset Deassert
28 AUX_STCK_RST AUX system tick counter clock control
1: Reset Assert
0: Reset Deassert
26 PCIE2_RST PCIE2 reset control
To DI
1: Reset Assert
0: Reset Deassert
25 PCIE1_RST PCIE1 reset control
1: Reset Assert
R E
0: Reset Deassert
24 PCIE0_RST PCIE0 reset control
M
1: Reset Assert
0: Reset Deassert
23 ETH_RST ETH reset control
1: Reset Assert
0: Reset Deassert
21 UART3_RST UART3 reset control
1: Reset Assert
0: Reset Deassert
20 UART2_RST UART2 reset control
FO
Y
NL
1: Reset Assert
0: Reset Deassert
US L
EO
19 UART1_RST UART1 reset control
1: Reset Assert
cn IA
0: Reset Deassert
18 SPI_RST SPI reset control
1: Reset Assert
0: Reset Deassert
m. NT
17 I2S_RST I2S reset control
1: Reset Assert
0: Reset Deassert
16 I2C_RST I2C reset control
1: Reset Assert
.co IDE
0: Reset Deassert
15 NFI_RST NFI reset control
1: Reset Assert
0: Reset Deassert
14 GDMA_RST GDMA reset control
1: Reset Assert
0: Reset Deassert
ccn NF
13 PIO_RST PIO reset control
1: Reset Assert
0: Reset Deassert
11 PCM_RST PCM reset control
ase O
1: Reset Assert
0: Reset Deassert
10 MC_RST MC reset control
@ KC
1: Reset Assert
0: Reset Deassert
9 INT_RST INT reset control
1: Reset Assert
0: Reset Deassert
8 TIMER_RST TIMER reset control
1: Reset Assert
xia E
0: Reset Deassert
7 SPDIFTX_RST SPDIFTX reset control
ny AT
1: Reset Assert
0: Reset Deassert
6 FE_RST FE reset control
1: Reset Assert
0: Reset Deassert
To DI
1: Reset Assert
0: Reset Deassert
0 SYS_RST Whole System Reset Control
M
Y
NL
Name WD
WD
US L
T2S
T2R
EO
YS
ST WDTRSTPD
RS
O_
cn IA
T_E
EN
N
Type RW RW RW
Reset 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name SW WD
SYS RS
RST T
Type W1 W1
C C
Reset 0 0
.co IDE
Bit(s) Name Description
31 WDT2SYSRST_EN WDT reset apply to System Reset
Enables watchdog timeout to trigger a system reset.
1: Enable
0: Disable
30
ccn NF
WDT2RSTO_EN WDT reset apply to watch dog reset pin out.
1: Enable
0: Disable
29:16 WDTRSTPD Watchdog Reset Output Low Period
Controls the WDT reset output low period. For example:
ase O
pin.
(unit: 1 usec)
2 SWSYSRST Software System Reset
Indicates when software has reset the chip by writing to the RSTSYS bit in RSTCTL.
NOTE: This register is reset only by a power on reset.
0: Has no effect.
1: Clears this bit.
xia E
Name MISR_GOLDEN[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name MISR_GOLDEN[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E000040 MISR_RESUL ROM BIST MISR Result Value 0000000
T 0
cn IA
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name MISR_RESULT[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name MISR_RESULT[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:0 MISR_RESULT ROM BIST result
Type RO RO
Reset 0 0 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
3: 1:3
12:8 CUR_CPU_FDIV Current divider number of CPU frequency
4:0 CUR_CPU_FFRAC Current fraction number of CPU frequency.
To DI
Name UA UA
UA
UA
UART1_R UART1_E4 RT1
UART1_TDSEL RT1 RT1 RT1
DSEL _E2 _S
M
Y
NL
Reset 0 0 1 0 1 0 0 1 1 0 0 0
US L
EO
Bit(s) Name Description
cn IA
29:28 UART1_RDSEL RX duty select
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
0: For 3.3V
m. NT
27:24 UART1_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
.co IDE
21:20 UART1_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
1: 4mA
0: 2mA
19 UART1_PU 75K pull-up resistor control.
1: Enable
ccn NF 0: Disable
18 UART1_PD 75K pull-down resistor control.
1: Enable
0: Disable
17 UART1_SMT RX input buffer schmit trigger hysteresis control enable.
ase O
1: Enable
0: Disable
16 UART1_SR Output Slew Rate Control.
@ KC
1: Slower slew.
0: No slew rate controlled.
13:12 GPIO0_RDSEL RX duty select
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
0: For 3.3V
xia E
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
5:4 GPIO0_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
To DI
1: 4mA
0: 2mA
3 GPIO0_PU 75K pull-up resistor control.
1: Enable
R E
0: Disable
2 GPIO0_PD 75K pull-down resistor control.
M
1: Enable
0: Disable
1 GPIO0_SMT RX input buffer schmit trigger hysteresis control enable.
1: Enable
0: Disable
0 GPIO0_SR Output Slew Rate Control.
1: Slower slew.
0: No slew rate controlled.
FO
Y
NL
US L
EO
1E00004C PAD_UART3_I PAD configuration of UART3 and I2C groups 0A140A1
cn IA
2C_CFG 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name UA UA
UA
UA
UART3_R UART3_E4 RT3
m. NT
UART3_TDSEL RT3 RT3 RT3
DSEL _E2 _S
_PU _PD _SR
MT
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 1 0 1 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name I2C
.co IDE
I2C_RDSE I2C I2C I2C
I2C_TDSEL I2C_E4_E2 _S
L _PU _PD _SR
MT
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 1 0 0 0 0
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
@ KC
0: For 1.8V
21:20 UART3_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
1: 4mA
0: 2mA
19 UART3_PU 75K pull-up resistor control.
xia E
1: Enable
0: Disable
ny AT
0: Disable
16 UART3_SR Output Slew Rate Control.
1: Slower slew.
0: No slew rate controlled.
R E
3: For 1.8V
0: For 3.3V
11:8 I2C_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
5:4 I2C_E4_E2 TX Driving Strength Control.
3: 8mA
FO
Y
NL
2: 6mA
1: 4mA
US L
EO
0: 2mA
3 I2C_PU 75K pull-up resistor control.
cn IA
1: Enable
0: Disable
2 I2C_PD 75K pull-down resistor control.
1: Enable
m. NT
0: Disable
1 I2C_SMT RX input buffer schmit trigger hysteresis control enable.
1: Enable
0: Disable
0 I2C_SR Output Slew Rate Control.
.co IDE
1: Slower slew.
0: No slew rate controlled.
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 1 0 1 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name UA UA
UA
UA
UART2_R UART2_E4 RT2
UART2_TDSEL RT2 RT2 RT2
DSEL _E2 _S
_PU _PD _SR
MT
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 1 0 1 0 0
xia E
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
0: For 3.3V
27:24 JTAG_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
To DI
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
21:20 JTAG_E4_E2 TX Driving Strength Control.
R E
3: 8mA
2: 6mA
1: 4mA
M
0: 2mA
19 JTAG_PU 75K pull-up resistor control.
1: Enable
0: Disable
18 JTAG_PD 75K pull-down resistor control.
1: Enable
0: Disable
17 JTAG_SMT RX input buffer schmit trigger hysteresis control enable.
FO
Y
NL
1: Enable
0: Disable
US L
EO
16 JTAG_SR Output Slew Rate Control.
1: Slower slew.
cn IA
0: No slew rate controlled.
13:12 UART2_RDSEL RX duty select
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
m. NT
3: For 1.8V
0: For 3.3V
11:8 UART2_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
.co IDE
0: For 1.8V
5:4 UART2_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
1: 4mA
0: 2mA
3 UART2_PU 75K pull-up resistor control.
ccn NF
1: Enable
0: Disable
2 UART2_PD 75K pull-down resistor control.
1: Enable
0: Disable
ase O
0: Disable
0 UART2_SR Output Slew Rate Control.
1: Slower slew.
0: No slew rate controlled.
xia E
1E000054 PAD_PERST_ PAD configuration of PICe RST and WDT RST groups 0A180A1
WDT_CFG 8
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name PE PE PE PE
PERST_R PERST_E4 RS RS RS RS
PERST_TDSEL
DSEL _E2 T_P T_P T_S T_S
U D MT R
Type RW RW RW RW RW RW RW
To DI
Reset 0 0 1 0 1 0 0 1 1 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name WDT_RDS WDT_E4_E
WD WD WD WD
WDT_TDSEL T_P T_P T_S T_S
EL 2
R E
U D MT R
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 1 1 0 0 0
M
Y
NL
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
US L
EO
10: For3.3V
0: For 1.8V
cn IA
21:20 PERST_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
1: 4mA
0: 2mA
m. NT
19 PERST_PU 75K pull-up resistor control.
1: Enable
0: Disable
18 PERST_PD 75K pull-down resistor control.
1: Enable
.co IDE
0: Disable
17 PERST_SMT RX input buffer schmit trigger hysteresis control enable.
1: Enable
0: Disable
16 PERST_SR Output Slew Rate Control.
1: Slower slew.
ccn NF 0: No slew rate controlled.
13:12 WDT_RDSEL RX duty select
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
0: For 3.3V
ase O
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
5:4 WDT_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
1: 4mA
0: 2mA
xia E
0: Disable
2 WDT_PD 75K pull-down resistor control.
1: Enable
0: Disable
1 WDT_SMT RX input buffer schmit trigger hysteresis control enable.
To DI
1: Enable
0: Disable
0 WDT_SR Output Slew Rate Control.
1: Slower slew.
R E
1E000058 PAD_RGMII2_ PAD configuration of RGMII2 and MDIO RST groups 0A210A2
MDIO_CFG 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG
RG RG RG
RGMII2_R RGMII2_E4 MII2
RGMII2_TDSEL MII2 MII2 MII2
DSEL _E2 _S
_PU _PD _SR
MT
FO
Y
NL
Type RW RW RW RW RW RW RW
Reset
US L
0 0 1 0 1 0 1 0 0 0 0 1
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name MDI MDI
MDI
MDI
cn IA
MDIO_RDS MDIO_E4_ O_
MDIO_TDSEL O_ O_ O_
EL E2 SM
PU PD SR
T
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 1 0 0 0 0 1
m. NT
Bit(s) Name Description
29:28 RGMII2_RDSEL RX duty select
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
.co IDE
3: For 1.8V
0: For 3.3V
27:24 RGMII2_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
ccn NF
21:20 RGMII2_E4_E2 TX Driving Strength Control. (CID)
3: 16mA
2: 12mA
1: 8mA
0: 4mA
ase O
2: 6mA
1: 4mA
0: 2mA
3 MDIO_PU 75K pull-up resistor control.
1: Enable
0: Disable
2 MDIO_PD 75K pull-down resistor control.
1: Enable
0: Disable
FO
Y
NL
1 MDIO_SMT RX input buffer schmit trigger hysteresis control enable.
US L
1: Enable
EO
0: Disable
0 MDIO_SR Output Slew Rate Control.
cn IA
1: Slower slew.
0: No slew rate controlled.
m. NT
1E00005C PAD_SDXC_S PAD configuration of SDXC and SPI RST groups 0A210A1
PI_CFG 8
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SD
.co IDE
SD SD SD
SDXC_RD SDXC_E4_ XC_
SDXC_TDSEL XC_ XC_ XC_
SEL E2 SM
PU PD SR
T
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 1 0 0 0 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SPI
SPI_RDSE SPI SPI SPI
ccn NF SPI_TDSEL SPI_E4_E2 _S
L _PU _PD _SR
MT
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 1 1 0 0 0
ase O
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
0: For 3.3V
27:24 SDXC_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
xia E
0: For 1.8V
21:20 SDXC_E4_E2 TX Driving Strength Control.
3: 8mA
ny AT
2: 6mA
1: 4mA
0: 2mA
19 SDXC_PU 75K pull-up resistor control.
1: Enable
To DI
0: Disable
18 SDXC_PD 75K pull-down resistor control.
1: Enable
0: Disable
R E
Y
NL
11:8 SPI_TDSEL TX duty select
US L
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
EO
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
cn IA
0: For 1.8V
5:4 SPI_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
m. NT
1: 4mA
0: 2mA
3 SPI_PU 75K pull-up resistor control.
1: Enable
0: Disable
2 SPI_PD 75K pull-down resistor control.
.co IDE
1: Enable
0: Disable
1 SPI_SMT RX input buffer schmit trigger hysteresis control enable.
1: Enable
0: Disable
0 SPI_SR Output Slew Rate Control.
ccn NF
1: Slower slew.
0: No slew rate controlled.
ase O
Name ES
WIN
SDXC_MO
T_ SPI_MODE
DE
MO
DE
Type RW RW RW
Reset 0 0 1 0 0
xia E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG RG UA
JTA I2C
MII2 MII1 RT1
ny AT
2: NAND
1: GPIO
0: SDXC
17:16 SPI_MODE SPI GPIO mode
3: NAND
2: NAND
1: GPIO
0: SPI
15 RGMII2_MODE RGMII2 GPIO mode
FO
Y
NL
1: GPIO
0: RGMII2
US L
EO
14 RGMII1_MODE RGMII1 GPIO mode
1: GPIO
cn IA
0: RGMII1
13:12 MDIO_MODE MDC/MDIO GPIO mode
3: GPIO
2: GPIO
m. NT
1: GPIO
0: MDIO
11:10 PERST_MODE PCIe reset GPIO mode
3: Reference clock
2: Reference clock
1: GPIO
.co IDE
0: PCIe reset
9:8 WDT_MODE Watch dog timeout GPIO mode
3: Reference clock
2: Reference clock
1: GPIO
0: Watch dog
7 JTAG_MODE JTAG GPIO mode
ccn NF
1: GPIO
0: JTAG
6:5 UART2_MODE UART2 GPIO mode
3: GPIO
2: PCM
ase O
1: GPIO
0: UART2
4:3 UART3_MODE UART3 GPIO mode
@ KC
3: SPDIF
2: I2S
1: GPIO
0: UART3
2 I2C_MODE I2C GPIO mode
1: GPIO
0: I2C
xia E
0: UART1
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name MEMO1[31:16]
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name MEMO1[15:0]
M
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E00006C MEMO2 Memory2 0000000
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name MEMO2[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name MEMO2[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:0 MEMO2 Memory2
1E000070 PAD_BOPT_E PAD configuration of Bonding OPT and ESW INT 0A000A0
SWINT_CFG groups 0
Bit 31
ccn NF
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name BO
BO BO BO
BOPT_RD BOPT_E4_ PT_
BOPT_TDSEL PT_ PT_ PT_
SEL E2 SM
PU PD SR
T
Type RW RW RW RW RW RW RW
ase O
Reset 0 0 1 0 1 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name ES
@ KC
ES ES ES
ESW_RDS ESW_E4_E W_
ESW_TDSEL W_ W_ W_
EL 2 SM
PU PD SR
T
Type RW RW RW RW RW RW RW
Reset 0 0 1 0 1 0 0 0 0 0 0 0
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
0: For 3.3V
27:24 BOPT_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
To DI
10: For3.3V
0: For 1.8V
21:20 BOPT_E4_E2 TX Driving Strength Control.
3: 8mA
R E
2: 6mA
1: 4mA
0: 2mA
M
Y
NL
0: Disable
US L
16 BOPT_SR Output Slew Rate Control.
EO
1: Slower slew.
0: No slew rate controlled.
cn IA
13:12 ESW_RDSEL RX duty select
RDSEL[0]: Level shifter duty high when asserted (high pulse width adjustment)
RDSEL[1]: Level shifter duty low when asserted (low pulse width adjustment)
3: For 1.8V
m. NT
0: For 3.3V
11:8 ESW_TDSEL TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
10: For3.3V
0: For 1.8V
.co IDE
5:4 ESW_E4_E2 TX Driving Strength Control.
3: 8mA
2: 6mA
1: 4mA
0: 2mA
3 ESW_PU 75K pull-up resistor control.
ccn NF 1: Enable
0: Disable
2 ESW_PD 75K pull-down resistor control.
1: Enable
0: Disable
ase O
CFG 5
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ny AT
MII1
RGMII1_DRVP RGMII1_DRVN RGMII1_RTT I1_ MII1
_PD
PD _SR
B
Type RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 1
R E
Y
NL
19:16 RGMII1_TDSEL TX duty select
US L
TDSEL[1:0]: Output level shifter duty high when asserted (high pulse width adjustment)
EO
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse width adjustment)
15:12 RGMII1_DRVP GDDR3/DDR2 Pull-Up Driving Strength Control.
cn IA
00000: weakest. 11111: strongest.
Default(Typical):
GDDR3/POD18:DRVP[3:0]=[0100] (90 Ohm)
DDR2/SSTL18: DRVP[3:0]=[1110] (40 Ohm)
m. NT
DDR3/SSTL15: DRVP[3:0]=[1111] (40 Ohm)
3: Strongest.
0: Weakest.
11:8 RGMII1_DRVN GDDR3/DDR2 Pull-Down Driving Strength Control.
00000: weakest. 11111: strongest.
Default(Typical):
.co IDE
GDDR3/POD18:DRVN[3:0]=[1110] (40 Ohm)
DDR2/SSTL18: DRVN[3:0]=[1110] (40 Ohm)
DDR3/SSTL15: DRVN[3:0]=[1111] (40 Ohm)
3: Strongest.
0: Weakest.
6:4 RGMII1_RTT GDDR3(POD18)/DDR2(SSTL18) On-Die-Termination.
*Suggest to turn-off RTT[2:0] when not in read mode for power saving.
ccn NF GDDR3(POD18)
1.Comply to JESD8-19(POD18) for ODT pull-up 60/120/240 ohm requirement
2.Comply to GDDR3-SDRAM requirement
DDR2(SSTL18)
Follow JESD79-2B EMRS(1) Programming for Address Field [A6,A2]
ase O
GDDR3 mode:
RTT[2:0]=[110], GDDR3 ODT pull-up 60ohm (or [100])
@ KC
DDR2 mode:
RTT[2:0]=[000], ODT disable,Default for DDR/LVTTL mode.
RTT[2:0]=[001], DDR2 ODT 75ohm
RTT[2:0]=[010], DDR2 ODT 150ohm
xia E
DDR3 mode:
RTT[2:0]=[000], ODT disable,Default for DDR/LVTTL mode.
RTT[2:0]=[001], DDR2 ODT 60ohm
RTT[2:0]=[010], DDR2 ODT 120ohm
RTT[2:0]=[100], DDR2 ODT 40ohm
2 RGMII1_PDB 75K pull-down resistor control. Low activiate.
To DI
0: Disable
0 RGMII1_SR Output Slew Rate Control. High asserted.
1: Slower slew.
0: No slew rate controlled.
Y
NL
EL0 0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name CPE_ROSC_SEL0[31:16]
Type RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CPE_ROSC_SEL0[15:0]
Type RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
1E00007C CPE_ROSC_S 0000000
EL1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CPE_ROSC_SEL1[31:16]
ccn NF
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CPE_ROSC_SEL1[15:0]
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CPU_DFD_CNT0[31:16]
ny AT
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CPU_DFD_CNT0[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Type RO
Reset
US L
0 0 0 0 0 0 0 0
EO
Bit(s) Name Description
cn IA
7:0 CPU_DFD_CNT1 CPU DFD counter value bit 39 ~ 32
m. NT
1E000088 CPU_CFG CPU configuration 55AA002
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name MBIST_BKGND
Type
.co IDE
RW
Reset 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG
SI_
_R
IT_ SY
CM_DFT_T W_
TOI NC
ARGET SW
TU TX_
_TG
ccn NF EN
R
Type RW RW RW RW
Reset 1 0 0 0 1
2: IOCU
0: Memory
2 RG_RW_SW_TGR SW trigger DFD counter to start
1: Enable
0: Disable
1 IT_TOITU CM arbitraction
1: DRAM access priority - favor CPU cores, but RRB between two cores
xia E
0: DRAM access priority - CPU core and IOCU master port RRB
0 SI_SYNCTX_EN Bus support OCP SYNC command or not
ny AT
1: Enable
0: Disable
1E00008C CPU_MEM_CF CPU memory delay, power down and sleep control 0000000
To DI
G A
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CP
R E
E_R
CPE_ROS
OS CPE_ROSC_OUT
C_SEL2
C_E
M
N
Type RW RW RO
Reset 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CP
CP
U_
U_
RA CPU_L2_D CPU_L1_D
RA
M_ EL_SEL EL_SEL
M_
SLE
PD
EP
FO
Y
NL
Type RW RW RW RW
Reset
US L
0 0 1 0 1 0
EO
Bit(s) Name Description
cn IA
31 CPE_ROSC_EN CPE ROSC enable
1: Enable
0: Disable
30:29 CPE_ROSC_SEL2 CPE ROSC cell selection bit 65 ~ 64
m. NT
27:24 CPE_ROSC_OUT CPE ROSC output
15 CPU_RAM_PD CPU RAM power down enable
1: Enable
0: Disable
.co IDE
14 CPU_RAM_SLEEP CPU RAM sleep enable
1: Enable
0: Disable
3:2 CPU_L2_DEL_SEL CPU L2 cache RAM delay selection
1:0 CPU_L1_DEL_SEL
ccn NF CPU L1 cache RAM delay selection
Name FMTR_CNT_LMT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name FM
FM
TR_
FMTR_CK TR_
FMTR_CK_SEL CN
_DIV RS
T_E
T
N
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 1
xia E
2: GMPLL clock
1: APLL clock
0: XTAL clock
M
Y
NL
0 FMTR_CNT_EN Freq. meter counter enable
US L
1: Enable
EO
0: Disable
cn IA
1E000094 FMTR_CNT_M Frequency meter count maximum 0000000
AX 0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name FMTR_CNT_MAX[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name FMTR_CNT_MAX[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name FMTR_CNT_MAX[31:16]
Type RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name FMTR_CNT_MAX[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name FMTR_CNT_VAL[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Name FMTR_CNT_VAL[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
US L
2.3 Timer
EO
2.3.1 Features
cn IA
Independent 1usec tick pre-scale for each timer.
Independent interrupts for each timer.
Two general-purpose timers and a watchdog timer. Watchdog timer resets system on time-out.
m. NT
Timer Modes
Periodic
In periodic mode, the timer counts down to zero from the limited value. An interrupt is generated when
the count is zero. After reaching zero, the limited value is reloaded into the timer and the timer counts
.co IDE
down again. A limited value of zero disables the timer.
Timeout
In timeout mode, the timer counts down to zero from the limited value. An interrupt is generated when
the count is zero. In this mode, the ENABLE bit is reset when the timer reaches zero, stopping the
counter.
Watchdog
ccn NF
In watchdog mode, the timer counts down to zero from the limited value. If the load value is not reloaded
or the timer is not disabled before the count is zero, the chip will be reset. When this occurs, every
register in the chip is reset except the watchdog reset status bit WDRST in the RSTSTAT register in the
ase O
system control block; it remains set to alert firmware of the timeout event when it re-executes its
bootstrap.
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.3.2 Block Diagram
EO
Timer 0
cn IA
Limited Value Prescale
m. NT
Counter Mode Control
Timer 0 Interrupt
Timer 1 Interrupt
Watchdog Timer (Timer 1)
Interrupt
Control
.co IDE
Limited Value Prescale
Timer 2
ccn NF Watchdog Timeout
Limited Value Prescale
APBus Signals
Y
NL
US L
2.3.3 Registers
EO
cn IA
Address Name Widt Register Function
h
1E000100 TGLB_REG 32 RISC Global Control Register
m. NT
1E000110 T0CTL_REG 32 RISC Timer 0 Control Register
1E000114 T0LMT_REG 32 RISC Timer 0 Limit Register
1E000118 T0_REG 32 RISC Timer 0 Register
1E000120 WDTCTL_REG 32 Watch Dog Timer Control Register
1E000124 WDTLMT_REG 32 Watch Dog Timer Limit Register
.co IDE
1E000128 WDT_REG 32 Watch Dog Timer Register
1E000130 T1CTL_REG 32 RISC Timer 1 Control Register
1E000134 T1LMT_REG 32 RISC Timer 1 Limit Register
1E000138 ccn NF T1_REG 32 RISC Timer 1 Register
Name RESV1[20:5]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name WD WD
T1R T0R T1I T0I
RESV1[4:0] TR RESV0 TIN
ST ST NT NT
ST T
Type RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Name T0E T0A
RESV2 RESV1 RESV0
N L
cn IA
Type RW RW RW RW DC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
31:16 T0PRES Timer 0 count down tick pre-scale. Unit is 1u second.
15:8 RESV2 Reserved
7 T0EN Timer 0 count down enable
6:5 RESV1 Reserved
.co IDE
4 T0AL Timer 0 auto load enable
1: Enable
0: Disable
3:0 RESV0 Reserved
ccn NF
1E000114 T0LMT_REG RISC Timer 0 Limit Register 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESV0
Type
ase O
RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name T0LMT
@ KC
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
When T0AL is set to 1, T0LMT will be loaded into timer 0 when timer 0 is enabled or
when count down to 0.
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESV0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name T0
Type RW
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E000120 WDTCTL_RE Watch Dog Timer Control Register 0000000
US L
EO
G 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name WDTPRES
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name WD
WD
RESV2 TE RESV1 RESV0
TAL
N
Type RW RW RW RW DC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:16 WDTPRES Watch dog timer count down tick pre-scale. Unit is 1u second.
15:8 RESV2 Reserved
7 WDTEN Watch dog timer count down enable
6:5 RESV1 Reserved
4
ccn NF
WDTAL Watch dog timer auto load enable
1: Enable
0: Disable
3:0 RESV0 Reserved
ase O
G 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESV0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
xia E
Name WDTLMT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESV0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name WDT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
Bit(s) Name Description
US L
31:16 RESV0 Reserved
EO
15:0 WDT watch dog timer.
cn IA
1E000130 T1CTL_REG RISC Timer 1 Control Register 0000000
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name T1PRES
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name T1E T1A
RESV2 RESV1 RESV0
N L
Type RW RW RW RW DC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Name T1LMT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Name T1
US L
Type RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:16 RESV0 Reserved
15:0 T1 RISC down-count timer 1
m. NT
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.4 System Tick Counter
EO
2.4.1 Registers
cn IA
Address Name Width Register Function
m. NT
1E000500 STCK_CNT_CFG 32 MIPS Configuration
1E000504 CMP_CNT 32 MIPS Compare
Sets the cutoff point for the free run counter (MIPS counter). If the free run
counter equals the compare counter, then the timer circuit generates an interrupt.
The interrupt remains active until the compare counter is written again.
.co IDE
1E000508 CNT 32 MIPS Counter
The MIPS counter (free run counter) increases by 1 every 20 us (50 KHz). The
counter continues to count until it reaches the value loaded into CMP_CNT.
Name RESV[13:0]
EXT_ST CNT_E
K_EN N
Type RW RW RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0: Disable
1: Enable
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESV
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CMP_CNT
M
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E000508 CNT MIPS Counter 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name RESV
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:16 RESV
15:0 CNT MIPS Counter
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.5 UART Lite
EO
2.5.1 Features
cn IA
2-pin UART
16550-compatible register set, except for Divisor Latch register
5-8 data bits
m. NT
1-2 stop bits (1 or 2 stop bits are supported with 5 data bits)
Even, odd, stick or no parity
All standard baud rates up to 345600 b/s
16-byte receive buffer
16-byte transmit buffer
.co IDE
Receive buffer threshold interrupt
Transmit buffer threshold interrupt
False start bit detection in asynchronous mode
Internal diagnostic capabilities
Break simulation
ccn NF
Loop-back control for communications link fault isolation
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.5.2 Registers
EO
n = 1; for uart1 only.
cn IA
UARTn+0000h RX Buffer Register UARTn_RBR
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RBR[7:0]
m. NT
Type RO
RBR RX Buffer Register. Read-only register. The received data can be read by accessing this register.
Modified when LCR[7] = 0.
.co IDE
UARTn+0000h TX Holding Register UARTn_THR
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name THR[7:0]
Type WO
THR TX Holding Register. Write-only register. The data to be transmitted is written to this register, and
ccn NF
then sent to the PC via serial communication.
Modified when LCR[7] = 0.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CTSI RTSI XOFFI X EDSSI ELSI ETBEI ERBFI
Type R/W
@ KC
Reset 0
IER By storing a ‘1’ to a specific bit position, the interrupt associated with that bit is enabled. Otherwise,
the interrupt is disabled.
IER[3:0] are modified when LCR[7] = 0.
xia E
Note: This interrupt is only enabled when hardware flow control is enabled.
0 Unmask an interrupt that is generated when a rising edge is detected on the CTS modem control
line.
1 Mask an interrupt that is generated when a rising edge is detected on the CTS modem control line.
To DI
RTSI Masks an interrupt that is generated when a rising edge is detected on the RTS modem control line.
Note: This interrupt is only enabled when hardware flow control is enabled.
0 Unmask an interrupt that is generated when a rising edge is detected on the RTS modem control
R E
line.
1 Mask an interrupt that is generated when a rising edge is detected on the RTS modem control line.
M
Y
NL
1 An interrupt is generated if DDCD, TERI, DDSR or DCTS (MSR[4:1]) becomes set.
US L
ELSI When set ("1"), an interrupt is generated if BI, FE, PE or OE (LSR[4:1]) becomes set.
EO
0 No interrupt is generated if BI, FE, PE or OE (LSR[4:1]) becomes set.
cn IA
1 An interrupt is generated if BI, FE, PE or OE (LSR[4:1]) becomes set.
ETBEI When set ("1"), an interrupt is generated if the TX Holding Register is empty or the contents of the TX
FIFO
m. NT
have been reduced to its Trigger Level.
0 No interrupt is generated if the TX Holding Register is empty or the contents of the TX FIFO have
been reduced to its Trigger Level.
1 An interrupt is generated if the TX Holding Register is empty or the contents of the TX FIFO have
.co IDE
been reduced to its Trigger Level
ERBFI When set ("1"), an interrupt is generated if the RX Buffer contains data.
0 No interrupt is generated if the RX Buffer contains data.
1 An interrupt is generated if the RX Buffer contains data.
ccn NF
UARTn+0008h Interrupt Identification Register UARTn_IIR
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name FIFOE ID4 ID3 ID2 ID1 ID0 NINT
Type RO
Reset 0 0 0 0 0 0 0 1
ase O
IIR Identify if there are pending interrupts; ID4 and ID3 are presented only when EFR[4] = 1.
@ KC
The following table gives the IIR[5:0] codes associated with the possible interrupts:
IIR[5:0] Priority Interrupt Source
Level
000001 - No interrupt pending
000110 1 Line Status Interrupt BI, FE, PE or OE set in LSR
xia E
Line Status Interrupt: A RX Line Status Interrupt (IIR[5:0`] == 000110b) is generated if ELSI (IER[2]) is set and
any of BI, FE, PE or OE (LSR[4:1]) becomes set. The interrupt is cleared by reading the Line Status Register.
M
RX Data Received Interrupt: A RX Received interrupt (IER[5:0] == 000100b) is generated if EFRBI (IER[0]) is set
and either RX Data is placed in the RX Buffer Register or the RX Trigger Level is reached. The interrupt is
cleared by reading the RX Buffer Register or the RX FIFO (if enabled).
RX Data Timeout Interrupt:
When virtual FIFO mode is disabled, RX Data Timeout Interrupt is generated if all of the following apply:
1. FIFO contains at least one character;
FO
Y
NL
2. The most recent character was received longer than four character periods ago (including all start, parity
US L
and stop bits);
EO
cn IA
3. The most recent CPU read of the FIFO was longer than four character periods ago.
The timeout timer is restarted on receipt of a new byte from the RX Shift Register, or on a CPU read from the
RX FIFO.
m. NT
The RX Data Timeout Interrupt is enabled by setting EFRBI (IER[0]) to 1, and is cleared by reading RX FIFO.
When virtual FIFO mode is enabled, RX Data Timeout Interrupt is generated if all of the following apply:
1. FIFO is empty;
2. The most recent character was received longer than four character periods ago (including all start, parity
.co IDE
and stop bits);
3. The most recent CPU read of the FIFO was longer than four character periods ago.
The timeout timer is restarted on receipt of a new byte from the RX Shift Register.
RX Holding Register Empty Interrupt: A TX Holding Register Empty Interrupt (IIR[5:0] = 000010b) is generated if
ccn NF
ETRBI (IER[1]) is set and either the TX Holding Register or, if FIFOs are enabled, the TX FIFO becomes empty.
The interrupt is cleared by writing to the TX Holding Register or TX FIFO if FIFO enabled.
Modem Status Change Interrupt: A Modem Status Change Interrupt (IIR[5:0] = 000000b) is generated if EDSSI
(IER[3]) is set and either DDCD, TERI, DDSR or DCTS (MSR[3:0]) becomes set. The interrupt is cleared by
reading the Modem Status Register.
ase O
Software Flow Control Interrupt: A Software Flow Control Interrupt (IIR[5:0] = 010000b) is generated if
Software Flow Control is enabled and XOFFI (IER[5]) becomes set, indicating that an XOFF character has been
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RFTL1 RFTL0 TFTL1 TFTL0 DMA1 CLRT CLRR FIFOE
Type WO
FCR FCR is used to control the trigger levels of the FIFOs, or flush the FIFOs.
To DI
1 6
2 12
3 RXTRIG
FCR[5:4] TX FIFO trigger threshold
0 1
1 4
FO
Y
NL
2 8
US L
3 14 (FIFOSIZE - 2)
EO
DMA1 This bit determines the DMA mode, which the TXRDY and RXRDY pins support. TXRDY and
cn IA
RXRDY act to support single-byte transfers between the UART and memory (DMA mode 0) or
multiple byte transfers (DMA mode1). Note that this bit has no effect unless the FIFOE bit is set as
well
m. NT
0 The device operates in DMA Mode 0.
1 The device operates in DMA Mode 1.
TXRDY – mode0: Goes active (low) when the TX FIFO or the TX Holding Register is empty.
Becomes inactive when a byte is written to the Transmit channel.
.co IDE
TXRDY – mode1: Goes active (low) when there are no characters in the TX FIFO. Becomes inactive
when the TX FIFO is full.
RXRDY – mode0: Becomes active (low) when at least one character is in the RX FIFO or the RX
Buffer Register is full. Becomes inactive when there are no more characters in the RX FIFO or
RX Buffer register.
ccn NF
RXRDY – mode1: Becomes active (low) when the RX FIFO Trigger Level is reached or an RX FIFO
Character Timeout occurs. Goes inactive when the RX FIFO is empty.
CLRT Clear Transmit FIFO. This bit is self-clearing.
0 Leave TX FIFO intact.
ase O
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DLAB SB SP EPS PEN STB WLS1 WLS0
Type R/W
Reset 0 0 0 0 0 0 0 0
To DI
0 The RX and TX Registers are read/written at Address 0 and the IER register is read/written at
Address 4.
M
1 The Divisor Latch LS is read/written at Address 0 and the Divisor Latch MS is read/written at
Address 4.
SB Set Break
0 No effect
1 SOUT signal is forced into the “0” state.
SP Stick Parity
FO
Y
NL
0 No effect.
US L
1 The Parity bit is forced into a defined state, depending on the states of EPS and PEN:
EO
If EPS=1 & PEN=1, the Parity bit is set and checked = 0.
cn IA
If EPS=0 & PEN=1, the Parity bit is set and checked = 1.
EPS Even Parity Select
0 When EPS=0, an odd number of ones is sent and checked.
m. NT
1 When EPS=1, an even number of ones is sent and checked.
PEN Parity Enable
0 The Parity is neither transmitted nor checked.
1 The Parity is transmitted and checked.
.co IDE
STB Number of STOP bits
0 One STOP bit is always added.
1 Two STOP bits are added after each character is sent; unless the character length is 5 when 1 STOP
bit is added.
WLS1, 0 Word Length Select.
ccn NF
0 5 bits
1 6 bits
2 7 bits
3 8 bits
ase O
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XOFF
DCM_
Name STATU X OUT2 OUT1 RTS DTR
EN
S
Type R/W
Reset 0 0 0 0 0 0 0
xia E
OUT2 Controls the state of the output NOUT2, even in loop mode.
M
0 NOUT2=1.
1 NOUT2=0.
OUT1 Controls the state of the output NOUT1, even in loop mode.
0 NOUT1=1.
1 NOUT1=0.
RTS Controls the state of the output NRTS, even in loop mode.
0 NRTS=1.
FO
Y
NL
1 NRTS=0.
US L
DTR Control the state of the output NDTR, even in loop mode.
EO
0 NDTR=1.
cn IA
1 NDTR=0.
m. NT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FIFOE
Name TEMT THRE BI FE PE OE DR
RR
Type R/W
Reset 0 1 1 0 0 0 0 0
.co IDE
LSR Line Status Register.
Modified when LCR[7] = 0.
FIFOERR RX FIFO Error Indicator.
0 No PE, FE, BI set in the RX FIFO.
1 Set to 1 when there is at least one PE, FE or BI in the RX FIFO.
ccn NF
TEMT TX Holding Register (or TX FIFO) and the TX Shift Register are empty.
0 Empty conditions below are not met.
1 If FIFOs are enabled, the bit is set whenever the TX FIFO and the TX Shift Register are empty. If
ase O
FIFOs are disabled, the bit is set whenever TX Holding Register and TX Shift Register are empty.
THRE Indicates if there is room for TX Holding Register or TX FIFO is reduced to its Trigger Level.
0 Reset whenever the contents of the TX FIFO are more than its Trigger Level (FIFOs are
@ KC
1 If the FIFOs are disabled, this bit is set if the received data did not have a valid STOP bit. If the
FIFOs are enabled, the state of this bit is revealed when the byte it refers to is the next to be read.
M
PE Parity Error
0 Reset by the CPU reading this register
1 If the FIFOs are disabled, this bit is set if the received data did not have a valid parity bit. If the
FIFOs are enabled, the state of this bit is revealed when the referred byte is the next to be read.
OE Overrun Error.
0 Reset by the CPU reading this register.
FO
Y
NL
1 If the FIFOs are disabled, this bit is set if the RX Buffer was not read by the CPU before new data
US L
from the RX Shift Register overwrote the previous contents.
EO
If the FIFOs are enabled, an overrun error occurs when the RX FIFO is full and the RX Shift
cn IA
Register becomes full. OE is set as soon as this happens. The character in the Shift Register is
then overwritten, but not transferred to the FIFO.
DR Data Ready.
m. NT
0 Cleared by the CPU reading the RX Buffer or by reading all the FIFO bytes.
1 Set by the RX Buffer becoming full or by a byte being transferred into the FIFO.
.co IDE
UARTn+0018h Modem Status Register UARTn_MSR
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DCD RI DSR CTS DDCD TERI DDSR DCTS
Type R/W R/W R/W R/W R/W R/W R/W R/W
Reset Input Input Input Input 0 0 0 0
ccn NF
Note: After a reset, D4-D7 are inputs. A modem status interrupt can be cleared by writing ‘0’ or set by writing
‘1’ to this register. D0-D3 can be written to.
Modified when LCR[7] = 0.
MSR Modem Status Register
ase O
When Loop = "1", this value is equal to the OUT2 bit in the Modem Control Register.
RI Ring Indicator.
When Loop = "0", this value is the complement of the NRI input signal.
When Loop = "1", this value is equal to the OUT1 bit in the Modem Control Register.
DSR Data Set Ready
xia E
When Loop = "0", this value is the complement of the NDSR input signal.
When Loop = "1", this value is equal to the DTR bit in the Modem Control Register.
ny AT
0 The state of DCD has not changed since the Modem Status Register was last read
1 Set if the state of DCD has changed since the Modem Status Register was last read.
TERI Trailing Edge Ring Indicator
R E
0 The NRI input does not change since this register was last read.
1 Set if the NRI input changes from “0” to “1” since this register was last read.
M
Y
NL
UARTn+001Ch Scratch Register UARTn_SCR
US L
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name SCR[7:0]
Type R/W
m. NT
Modified when LCR[7] = 0.
.co IDE
Type R/W
Reset 1
Note: DLL & DLM can only be updated if DLAB is set (“1”).. Note too that division by 1 generates a BAUD signal
ase O
52 MHz. The effective clock enable generated is 16 x the required baud rate.
BAUD 13MHz 26MHz 52MHz
110 7386 14773 29545
300 2708 5417 10833
1200 677 1354 2708
xia E
57600 14 28 56
115200 6 14 28
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AUTO AUTO ENABLE
Name D5 SW FLOW CONT[3:0]
CTS RTS -E
Type R/W R/W R/W R/W R/W
Reset 0 0 0 0 0
Y
NL
Auto CTS Enables hardware transmission flow control
US L
0 Disabled.
EO
1 Enabled.
cn IA
Auto RTS Enables hardware reception flow control
0 Disabled.
1 Enabled.
m. NT
Enable-E Enable enhancement features.
0 Disabled.
1 Enabled.
CONT[3:0] Software flow control bits.
.co IDE
00xx No TX Flow Control
10xx Transmit XON1/XOFF1 as flow control bytes
01xx Transmit XON2/XOFF2 as flow control bytes
11xx Transmit XON1 & XON2 and XOFF1 & XOFF2 as flow control words
xx00 No RX Flow Control
ccn NF
xx10 Receive XON1/XOFF1 as flow control bytes
xx01 Receive XON2/XOFF2 as flow control bytes
xx11 Receive XON1 & XON2 and XOFF1 & XOFF2 as flow control words
ase O
Name XON1[7:0]
Type R/W
Reset 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Name XON2[7:0]
Type R/W
Reset 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name XOFF1[7:0]
Type R/W
R E
Reset 0
M
*Note: XON1, XON2, XOFF1, XOFF2 are valid only when LCR=BFh.
FO
Y
NL
US L
EO
UARTn+0024h HIGH SPEED UART UARTn_HIGHSPEED
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SPEED [1:0]
Type R/W
Reset 0
m. NT
SPEED UART sample counter base
0 based on 16*baud_pulse, baud_rate = system clock frequency/16/{DLH, DLL}
1 based on 8*baud_pulse, baud_rate = system clock frequency/8/{DLH, DLL}
.co IDE
2 based on 4*baud_pulse, baud_rate = system clock frequency/4/{DLH, DLL}
3 based on sampe_count * baud_pulse, baud_rate = system clock frequency / sampe_count
When HIGHSPEED=3, the value (A * B) means ({DLM, DLL} * SAMPLE_COUNT).
When the Baudrate is more than 115200, it will be more accurate if we set HIGHSPEED=3.
The table below shows the divisor needed to generate a given baud rate from CLK inputs of 13M Hz based on
different HIGHSPEED value.
ccn NF
BAUD HIGHSPEED = 0 HIGHSPEED = 1 HIGHSPEED = 2 HIGHSPEED = 3
110 7386 14773 29545 7386 * 16
300 2708 7386 14773 2708 * 16
ase O
57600 14 21 42 8 * 28
115200 7 14 21 4 * 28
ny AT
230400 * 7 14 2 * 28
460800 * * 7 1 * 28
921600 * * * 1 * 14
To DI
Table 3 Divisor needed to generate a given baud rate from 13MHz based on different HIGHSPEED value
The table below shows the divisor needed to generate a given baud rate from CLK inputs of 26 MHz based on
R E
Y
NL
9600 169 339 667 85 * 32
US L
EO
19200 85 169 339 18 * 75
38400 42 85 169 26 * 26
cn IA
57600 28 42 85 16 * 28
115200 14 28 42 8 * 28
m. NT
230400 7 14 28 4 * 28
460800 * 7 14 2 * 28
921600 * * 7 1 * 28
.co IDE
Table 4 Divisor needed to generate a given baud rate from 26 MHz based on different HIGHSPEED value
The table below shows the divisor needed to generate a given baud rate from CLK inputs of 52MHz based on
different HIGHSPEED value.
BAUD HIGHSPEED = 0 HIGHSPEED = 1 HIGHSPEED = 2 HIGHSPEED = 3
110 29545 59091 118182 14773 * 32
ccn NF
300 10833 29545 59091 5417 * 32
1200 2708 10833 29545 1354 * 32
2400 1354 2708 10833 667 * 32
ase O
230400 14 28 56 8 * 28
ny AT
460800 7 14 28 4 * 28
921600 * 7 14 2 * 28
Table 5 Divisor needed to generate a given baud rate from 52 MHz based on different HIGHSPEED value
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SAMPLECOUNT [7:0]
M
Type R/W
Reset 0
When HIGHSPEED=3, the sample_count is the threshold value for UART sample counter (sample_num).
Count from 0 to sample_count.
FO
Y
NL
UARTn+002Ch SAMPLE_POINT UARTn_SAMPLE_POINT
US L
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name SAMPLEPOINT [7:0]
Type R/W
Reset Ffh
m. NT
e.g. system clock = 13MHz, 921600 = 13000000 / 14
sample_count = 14 and sample point = 7 (sample the central point to decrease the inaccuracy)
The SAMPLE_POINT is usually (SAMPLE_COUNT/2).
.co IDE
UARTn+0034h Rate Fix Address UARTn_RATEFIX_AD
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RXTE_FIX
Type R/W
Reset
ccn NF 0
rate_fix When you set "rate_fix"(34H[0]), you can transmit and receive data only if
the input f16m_en is enable.
ase O
@ KC
GUARD_CNT Guard interval count value. Guard interval = (1/(system clock / div_step / div )) *
GUARD_CNT.
ny AT
Reset FFh
M
ESCAPE_DAT Escape character added before software flow control data and escape character, i.e. if tx data is
xon (31h), with esc_en =1, uart transmits data as esc + CEh (~xon).
Y
NL
Reset 0
US L
EO
ESC_EN Add escape character in transmitter and remove escape character in receiver by UART.
0 Do not deal with the escape character.
cn IA
1 Add escape character in transmitter and remove escape character in receiver.
m. NT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SELLP_EN
Type R/W
Reset 0
.co IDE
SLEEP_EN For sleep mode issue
0 Do not deal with sleep mode indicate signal
1 To activate hardware flow control or software control according to software initial setting when
chip enters sleep mode. Releasing hardware flow when chip wakes up; but for software control,
uart sends xon when awaken and when FIFO does not reach threshold level.
ccn NF
UARTn+004Ch Virtual FIFO enable register UARTn_VFIFO_EN
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name VFIFO_EN
ase O
Type R/W
Reset 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Name RXTRIG[3:0]
Type R/W
Reset 0
Name FRACDIV_L
Type R/W
M
Reset 0 0 0 0 0 0 0 0
FRACDIV_L Add sampling count (+1) from state data7 to state data0, in order to contribute fractional
divisor.
FO
Y
NL
UARTn+0058h Fractional Divider MSB Address UARTn_FRACDIV_M
US L
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name FRACDIV_M
Type R/W
Reset 0 0
FRACDIV_M Add sampling count in state stop and state parity, in order to contribute fractional divisor.
m. NT
FRACDIV_L / FRACDIV_L Add one sampling period to each symbol, in order to increase the baud rate
accuracy.
.co IDE
bit_extend register = FRACDIV_L[7:0]
FRACDIV_M[1:0]
ccn NF
Start d0 d1 d2 d3 d4 d5 d6 d7 Parity Stop
n n + L[0] n + L[1] n + L[2] n + L[3] n + L[4] n + L[5] n + L[6] n + L[7] n + M[0] n + M[1]
ase O
m
@ KC
Type RO RO
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TX_PU_EN TX_OE_EN
Type R/W R/W
R E
Reset 0 0
TX_OE_EN Enable UART_TX_OE switching function. TX_OE is to control UART_TX output enable.
M
TX_PU_EN Enable UART_TX_PU switching function. TX_PU is to control UART_TX pull up enable.
FO
Y
NL
US L
2.6 Programmable I/O
EO
2.6.1 Features
cn IA
Parameterized numbers of independent inputs, outputs, and inouts
Independent polarity controls for each pin
Independently masked edge detect interrupt on any input transition
m. NT
2.6.2 Block Diagram
.co IDE
x96
gpio_reg cfg_data[95:0] gpio_control gpio_out[95:0]
PBus signals
Configuration
gpio_in[95:0]
ccn NF Registers
gpio_interrupt
gpio_int I/O PAD
ase O
i2c_psel[0]
PAD_I2C_SCLK i2c_sclk (I/O) gpio (I/O) 4
PAD_RTS3_N rts3_n (O) gpio (I/O) i2s_sdo (O) spdif_tx (O) 2 5
PAD_CTS3_N cts3_n (I) gpio (I/O) i2s_clk (I/O) gpio (I/O) 6
uart3_psel[1:0]
PAD_TXD3 txd3 (O) gpio (I/O) i2s_ws (I/O) gpio (I/O) 7
To DI
Y
NL
PAD_MDIO mdio (I/O) gpio (I/O) gpio (I/O) 20
mdio_psel[1:0]
US L
PAD_MDC 21
EO
mdc (O) gpio (I/O) ref_clk0_out (O) 6
PAD_G1_TXD0 g1_txd[0] (I/O) gpio (I/O) 49
cn IA
PAD_G1_TXD1 g1_txd[1] (I/O) gpio (I/O) 50
PAD_G1_TXD2 g1_txd[2] (I/O) gpio (I/O) 51
PAD_G1_TXD3 g1_txd[3] (I/O) gpio (I/O) 52
m. NT
PAD_G1_TXEN g1_txen (I/O) gpio (I/O) 53
PAD_G1_TXC g1_txc (I/O) gpio (I/O) 54
rgmii1_psel[0]
PAD_G1_RXD0 g1_rxd[0] (I/O) gpio (I/O) 55
PAD_G1_RXD1 g1_rxd[1] (I/O) gpio (I/O) 56
.co IDE
PAD_G1_RXD2 g1_rxd[2] (I/O) gpio (I/O) 57
PAD_G1_RXD3 g1_rxd[3] (I/O) gpio (I/O) 58
PAD_G1_RXDV g1_rxdv (I/O) gpio (I/O) 59
PAD_G1_RXC g1_rxc (I/O) gpio (I/O) 60
PAD_G2_TXD0 g2_txd[0] (I/O) gpio (I/O) 22
ccn NF
PAD_G2_TXD1 g2_txd[1] (I/O) gpio (I/O) 23
PAD_G2_TXD2 g2_txd[2] (I/O) gpio (I/O) 24
PAD_G2_TXD3 g2_txd[3] (I/O) gpio (I/O) 25
PAD_G2_TXEN 26
ase O
Y
NL
US L
EO
2.6.4 Registers
Module name: GPIO Base address: (+1E000600h)
cn IA
Address Name Width Register Function
1E000600 GPIO_CTRL_0 32 GPIO0 to GPIO31 direction control register
m. NT
These direction control registers are used to select the data direction of the GPIO
pin.
The value driven onto the GPIO pins, are controlled by the GPIO_POL_x, and
GPIO_DATA_x registers.
1E000604 GPIO_CTRL_1 32 GPIO32 to GPIO63 direction control register
These direction control registers are used to select the data direction of the GPIO
.co IDE
pin.
The value driven onto the GPIO pins, are controlled by the GPIO_POL_x, and
GPIO_DATA_x registers.
1E000608 GPIO_CTRL_2 32 GPIO64 to GPIO95 direction control register
These direction control registers are used to select the data direction of the GPIO
pin.
The value driven onto the GPIO pins, are controlled by the GPIO_POL_x, and
ccn NF GPIO_DATA_x registers.
1E000610 GPIO_POL_0 32 GPIO0 to GPIO31 polarity control register
These polarity control registers are used to control the polarity of the data is
driven on or read from the GPIO pin.
1E000614 GPIO_POL_1 32 GPIO32 to GPIO63 polarity control register
ase O
These polarity control registers are used to control the polarity of the data is
driven on or read from the GPIO pin.
1E000618 GPIO_POL_2 32 GPIO64 to GPIO95 polarity control register
@ KC
These polarity control registers are used to control the polarity of the data is
driven on or read from the GPIO pin.
1E000620 GPIO_DATA_0 32 GPIO0 to GPIO31 data register
These data registers store current GPIO data value for GPIO input mode, or output
driven value for GPIO output mode.
Bit position stand for correspondent GPIO pin.
xia E
Y
NL
These registers are used to enable the condition of rising edge triggered interrupt.
US L
1E000654 GINT_REDGE_1 32 GPIO32 to GPIO63 rising edge interrupt enable register
EO
These registers are used to enable the condition of rising edge triggered interrupt.
cn IA
1E000658 GINT_REDGE_2 32 GPIO64 to GPIO95 rising edge interrupt enable register
These registers are used to enable the condition of rising edge triggered interrupt.
1E000660 GINT_FEDGE_0 32 GPIO0 to GPIO31 falling edge interrupt enable register
These registers are used to enable the condition of falling edge triggered interrupt.
m. NT
1E000664 GINT_FEDGE_1 32 GPIO32 to GPIO63 falling edge interrupt enable register
These registers are used to enable the condition for falling edge triggered
interrupt.
1E000668 GINT_FEDGE_2 32 GPIO64 to GPIO95 falling edge interrupt enable register
These registers are used to enable the condition of falling edge triggered interrupt.
.co IDE
1E000670 GINT_HLVL_0 32 GPIO0 to GPIO31 high level interrupt enable register
These registers are used to enable the condition of high level triggered interrupt.
The bit in this register and the corresponded bit in GINT_LLVL_0 cannot be set to 1
at the same time.
1E000674 GINT_HLVL_1 32 GPIO32 to GPIO63 high level interrupt enable register
These registers are used to enable the condition of high level triggered interrupt.
The bit in this register and the corresponded bit in GINT_LLVL_1 cannot be set to 1
ccn NF
at the same time.
1E000678 GINT_HLVL_2 32 GPIO64 to GPIO95 high level interrupt enable register
These registers are used to enable the condition of high level triggered interrupt.
The bit in this register and the corresponded bit in GINT_LLVL_2 cannot be set to 1
at the same time.
ase O
These registers are used to enable the condition of low level triggered interrupt.
The bit in this register and the corresponded bit in GINT_HLVL_2 cannot be set to 1
at the same time.
ny AT
Y
NL
US L
EO
1E000600 GPIO_CTRL_0 GPIO0 to GPIO31 direction control register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name GPIOCTRL0[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name GPIOCTRL0[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:0 GPIOCTRL0 GPIO Pin Direction
0: GPIO input mode
1: GPIO output mode
Name GPIOCTRL1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Name GPIOCTRL2[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIOCTRL2[15:0]
Type RW
To DI
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Name GPIOPOL0[15:0]
Type
US L
RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:0 GPIOPOL0 GPIO Data Polarity
0: Data is non-inverted
m. NT
1: Data is inverted
.co IDE
Name GPIOPOL1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIOPOL1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
31:0 GPIOPOL1 GPIO Data Polarity
0: Data is non-inverted
1: Data is inverted
ase O
@ KC
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Name GPIODATA0[31:16]
Type RW
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIODATA0[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E000624 GPIO_DATA_1 GPIO32 to GPIO63 data register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name GPIODATA1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name GPIODATA1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:0 GPIODATA1 GPIO Data
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Name GPIODSET0[31:16]
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIODSET0[15:0]
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
US L
Bit(s) Name Description
EO
31:0 GPIODSET1 GPIO Data Set
cn IA
1: Set the GPIO_DATA_1 register
0: No effect
m. NT
1E000638 GPIO_DSET_2 GPIO64 to GPIO95 data set register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GPIODSET2[31:16]
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIODSET2[15:0]
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIODCLR0[15:0]
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GPIODCLR1[31:16]
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIODCLR1[15:0]
M
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E000648 GPIO_DCLR_2 GPIO64 to GPIO95 data clear register 00000000
US L
EO
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GPIODCLR2[31:16]
cn IA
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GPIODCLR2[15:0]
Type
m. NT
WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
1: Clear the GPIO_DATA_2 register
0: No effect
1E000650 GINT_REDGE_0 GPIO0 to GPIO31 rising edge interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ccn NF
Name GINTREDGE0[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTREDGE0[15:0]
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
1E000654 GINT_REDGE_1 GPIO32 to GPIO63 rising edge interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ny AT
Name GINTREDGE1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTREDGE1[15:0]
Type RW
To DI
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1E000658 GINT_REDGE_2 GPIO64 to GPIO95 rising edge interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTREDGE2[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FO
Y
NL
Name GINTREDGE2[15:0]
Type
US L
RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:0 GINTREDGE2 GPIO Rising Edge Interrupt Enable
1: Enable rising edge triggered
m. NT
0: Disable rising edge triggered
1E000660 GINT_FEDGE_0 GPIO0 to GPIO31 falling edge interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
.co IDE
Name GINTFEDGE0[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTFEDGE0[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
31:0 GINTFEDGE0 GPIO Falling Edge Interrupt Enable
1: Enable falling edge triggered
0: Disable falling edge triggered
ase O
@ KC
1E000664 GINT_FEDGE_1 GPIO32 to GPIO63 falling edge interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTFEDGE1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTFEDGE1[15:0]
xia E
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
1E000668 GINT_FEDGE_2 GPIO64 to GPIO95 falling edge interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R E
Name GINTFEDGE2[31:16]
Type RW
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTFEDGE2[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1: Enable falling edge triggered
0: Disable falling edge triggered
US L
EO
cn IA
1E000670 GINT_HLVL_0 GPIO0 to GPIO31 high level interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTHLVL0[31:16]
Type RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTHLVL0[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:0 GINTHLVL0 GPIO High Level Interrupt Enable
1: Enable high level triggered
ccn NF 0: Disable high level triggered
1E000674 GINT_HLVL_1 GPIO32 to GPIO63 high level interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTHLVL1[31:16]
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTHLVL1[15:0]
@ KC
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1E000678 GINT_HLVL_2 GPIO64 to GPIO95 high level interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTHLVL2[31:16]
Type RW
Reset
To DI
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTHLVL2[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
1E000680 GINT_LLVL_0 GPIO0 to GPIO31 low level interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTLLVL0[31:16]
FO
Y
NL
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTLLVL0[15:0]
cn IA
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
31:0 GINTLLVL0 GPIO Low Level Interrupt Enable
1: Enable low level triggered
0: Disable low level triggered
.co IDE
1E000684 GINT_LLVL_1 GPIO32 to GPIO63 low level interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTLLVL1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
ccn NF GINTLLVL1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1E000688 GINT_LLVL_2 GPIO64 to GPIO95 low level interrupt enable register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTLLVL2[31:16]
Type RW
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
ny AT
GINTLLVL2[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTSTAT0[31:16]
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTSTAT0[15:0]
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
Bit(s) Name Description
US L
31:0 GINTSTAT0 GPIO Interrupt Status
EO
1: Interrupt is detected
0: Interrupt is not detected
cn IA
1E000694 GINT_STAT_1 GPIO32 to GPIO63 interrupt status register 00000000
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTSTAT1[31:16]
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTSTAT1[15:0]
.co IDE
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTSTAT2[31:16]
Type W1C
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTSTAT2[15:0]
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTEDGE0[15:0]
Type W1C
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
US L
Name GINTEDGE1[31:16]
EO
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTEDGE1[15:0]
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:0 GINTEDGE1 GPIO Interrupt Edge Status
1: Rising edge
0: Falling edge
.co IDE
1E0006A8 GINT_EDGE_2 GPIO64 to GPIO95 edge status register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name GINTEDGE2[31:16]
Type W1C
Reset
ccn NF
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name GINTEDGE2[15:0]
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
1: Rising edge
0: Falling edge
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2
2.7 I C Controller
EO
2.7.1 Features
cn IA
2
Programmable I C bus clock rate
2
Supports the Synchronous Inter-Integrated Circuits (I C) serial protocol
Bi-directional data transfer
m. NT
Programmable address width up to 8 bits
Sequential byte read or write capability
Device address and data address can be transmitted for device, page and address selection
Supports Standard mode and Fast mode
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.7.2 List of Registers
EO
cn IA
Address Name Widt Register Function
h
1E000908 SM0CFG0 32 SERIAL INTERFACE MASTER 0 CONFIG 0 REGISTER
m. NT
1E000910 SM0DOUT 32 SERIAL INTERFACE MASTER 0 DATAOUT REGISTER
1E000914 SM0DIN 32 SERIAL INTERFACE MASTER 0 DATAIN REGISTER
1E000918 SM0ST 32 SERIAL INTERFACE MASTER 0 STATUS REGISTER
1E00091C SM0AUTO 32 SERIAL INTERFACE MASTER 0 AUTO-MODE REGISTER
1E000920 SM0CFG1 32 SERIAL INTERFACE MASTER 0 CONFIG 1 REGISTER
.co IDE
1E000928 SM0CFG2 32 SERIAL INTERFACE MASTER 0 CONFIG 2 REGISTER
1E000940 SM0CTL0 32 Serial interface master 0 control 0 register
1E000944 SM0CTL1 32 Serial interface master 0 control 1 register
1E000950 SM0D0 32 Serial interface master 0 data 0 register
1E000954 SM0D1 32 Serial interface master 0 data 1 register
ccn NF
1E00095C PINTEN 32 Peripheral interrupt enable register
1E000960 PINTST 32 Peripheral interrupt status register
1E000964 PINTCL 32 Peripheral interrupt clear register
ase O
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[24:9]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[23:8]
M
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV0[7:0] SM0_DATAOUT
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
31:8 RSV0 Reserved
US L
7:0 SM0_DATAOUT Data out register for auto mode
EO
cn IA
1E000914 SM0DIN SERIAL INTERFACE MASTER 0 DATAIN REGISTER 0000000
0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[23:8]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV0[7:0] SM0_DATAIN
.co IDE
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[28:13]
@ KC
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SM
SM
0_
0_R SM
WD
DA 0_B
RSV0[12:0] AT
TA_ US
A_E
xia E
RD Y
MP
Y
TY
Type RO RW RW RW
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Y
NL
TA
US L
RT_
EO
RW
Type RO RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
0 SM0_START_RW Written with 1 to start a read transaction, and 0 to start a write transaction. This
bit is only valid at auto mode.
.co IDE
1E000920 SM0CFG1 SERIAL INTERFACE MASTER 0 CONFIG 1 REGISTER 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[25:10]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name RSV0[9:0] SM0_BYTECNT
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[30:15]
Type RO
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SM
0_I
S_A
RSV0[14:0] UT
To DI
OM
OD
E
Type RO RW
Reset
R E
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
US L
Name SM
EO
0_O RS SM0_VSY
SM0_CLK_DIV
DR V0 NC_MODE
cn IA
AIN
Type RW RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SM SM SM SM
m. NT
SM
0_ SM 0_S 0_S 0_S
0_C SM
RS WAI 0_D CL_ DA CL_
SM0_DEG_CNT S_S 0_E
V1 T_L EG ST _ST ST
TAT N
EV _EN AT AT RE
US
EL E E CH
Type RW RO RW RW RO RO RO RW RW
.co IDE
Reset 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Name SM
RS
RSV2 SM0_PGLEN SM0_MODE RSV0 0_T
V1
cn IA
RI
Type RO RW RO RW RO RW
Reset 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:24 RSV3 Reserved
23:16 SM0_ACK Acknowledge bits
ACK[7:0] is acknowledge of 8 bytes of data
15:11 RSV2 Reserved
.co IDE
10:8 SM0_PGLEN Page length
Page length of sequential read/write. The maximum is 8 bytes. Set 0 as 1 byte.
7 RSV1 Reserved
6:4 SM0_MODE SIF master mode
001: Start
010: Write data
ccn NF 011: Stop
100: Read data with no ack for final byte
101: Read data with ack
3:1 RSV0 Reserved
0 SM0_TRI Trigger serial interface
ase O
Type RW RW
Reset x x x x x x x x x x x x x x x x
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Y
NL
Name SM0_DATA5 SM0_DATA4
US L
Type RW RW
EO
Reset x x x x x x x x x x x x x x x x
cn IA
Bit(s) Name Description
31:24 SM0_DATA7 Serial interface data byte 7
23:16 SM0_DATA6 Serial interface data byte 6
m. NT
15:8 SM0_DATA5 Serial interface data byte 5
7:0 SM0_DATA4 Serial interface data byte 4
.co IDE
1E00095C PINTEN Peripheral interrupt enable register 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[30:15]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name SM
0_I
RSV0[14:0]
NT_
EN
Type RO RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ny AT
Name RSV0[30:15]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SM
0_I
To DI
RSV0[14:0]
NT_
ST
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Y
NL
Name RSV0[30:15]
US L
Type RO
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name SM
0_I
RSV0[14:0]
NT_
CL
Type RO RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
0 SM0_INT_CL Serial interface master 0 interrupt clear
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.8 NAND Flash Interface
EO
2.8.1 Features
cn IA
ECC (BCH code) acceleration capable of 4/6/8 error correction. (with ECC engine)
m. NT
Programmable FDM data size and protected FDM data size.
.co IDE
Latch sensitive interrupt to indicate ready state for read, program, erase operation.
Programmable wait states, command/address setup and hold time, read enable hold time, and
write enable recovery time.
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.8.2 Registers
EO
cn IA
Address Name Width Register Function
1E003000 NFI_CNFG 16 NFI Configuration
The register controls the NFI functions.
For all enable fields, Setting to be logic-1 represents enabled, while 0 represents
m. NT
disabled.
1E003004 NFI_PAGEFMT 16 NFI Page Format Control Register
This register manages the page format of the device. It includes the bus width
selection, the page size, the associated address format, and the spare format.
1E003008 NFI_CON 16 NFI Operation Control Register
.co IDE
This is recommended to reset the state machine, data FIFO and flush the data
FIFO before starting a new command
1E00300C NFI_ACCCON 32 NAND Flash Access Timing Control register
This is the timing access control register for the NAND FLASH interface. In order
to accommodate operations for different system clock frequency ranges from
13MHz to 61.44MHz, wait states and setup/hold time margin can be configured
in this register.
ccn NF
1E003010 NFI_INTR_EN 16 NFI Interrupt Enable Register
This register controls the activity for the interrupt sources. These enable should
be turned on only while SW expects the corresponding interrupt will occur.
1E003014 NFI_INTR 16 NFI Interrupt Status Register
ase O
The register indicates the status of all the interrupt sources. Read this register will
clear all interrupts.
1E003020 NFI_CMD 16 NFI Command register
@ KC
This is the command input register. The user should write this register to issue a
command. Please refer to device datasheet for the command set. Before write
the command, please check out the settings for register NFI_CON.
1E003030 NFI_ADDRNOB 16 NFI Address Length Register
This register represents the number of bytes corresponding to current command.
The each valid number of bytes ranges from 0 to 4. The address format depends
on what device to be used and what commands to be applied. The NFI core is
xia E
made transparent to those different situations except that the user has to define
the number of bytes.
The user should write the target address to the address register NFI_COLADDR
ny AT
field ADDR0, the second byte in the field ADDR1, and so on.
1E003040 NFI_STRDATA 16 NFI Data Transfer Start Trigger Register
M
Y
NL
This is the read port of the data FIFO. It supports word access. The least
significant byte DR0 is the first byte read from the device, then DR1, and so on.
US L
EO
1E003058 NFI_PIO_DIRDY 16 PIO_mode Data Ready Register
This register indicates the data is ready for input
cn IA
1E003060 NFI_STA 32 NFI Status
This register represents the NFI core control status including command mode,
address mode, data program and read mode. The user should poll this register for
the end of those operations.
m. NT
1E003064 NFI_FIFOSTA 16 NFI FIFO Status
The register represents the status of the data FIFO. The FIFO top and bottom
pointer of read & write will be reset when issue "command" to NAND Flash
1E003068 NFI_LOCKSTA 16 NFI Lock Status
This register represents the lock status for each lock range.
.co IDE
If any access_lockxx happens, the nfi core will automatic issue a reset (0xFF)
command to NAND device.
1E003070 NFI_ADDRCNTR 16 NFI Page Address Counter Register
The register represents the current read/write address with respect to initial
address input. It counts in unit of byte. In page read and page program operation,
the address should be the same as that in the state machine in the target device.
1E003080 NFI_STRADDR 32 NFI AHB Start Address Register
ccn NF
The register represents the start address for DMA to access EMI. These memory
from the start address is used to put read data from NAND or write data to NAND
in DMA mode
1E003084 NFI_BYTELEN 16 NFI DMA Byte Length Register
The register represents the current transfer length for DMA to access EMI.
ase O
FDM0_0, the second byte in the field FDM0_1, and so on. It will be reset to 0xFF
when issue NFI_Reset.
ny AT
command. The each valid number of bytes ranges from 0 to 4. The address
format depends on what device to be used and what commands to be applied.
The NFI core will force these setting during some command operation(8X or 6X).
These setting can only be set once after reset chip.
1E003110 NFI_LOCK00ADD 32 NFI Row Start Address for Lock Set00 Register
This defines the 4 bytes of the row start address field to be locked range for the
device.
These setting can only be set once after reset chip.
1E003114 NFI_LOCK00FMT 32 NFI Row Address Format for Lock Set00 Register
FO
Y
NL
This defines the 4 bytes format of the row address field to be locked range for the
device.
US L
EO
These setting can only be set once after reset chip.
The MSB unused range must be set to 0 for LOCKxxFMT.
cn IA
1E003190 NFI_FIFODATA0 32 NFI FIFO Content Data 0
This register represents the content data 0 of fifo.
1E003194 NFI_FIFODATA1 32 NFI FIFO Content Data 1
This register represents the content data 1 of fifo.
m. NT
1E003198 NFI_FIFODATA2 32 NFI FIFO Content Data 2
This register represents the content data 2 of fifo.
1E00319C NFI_FIFODATA3 32 NFI FIFO Content Data 3
This register represents the content data 3 of fifo.
.co IDE
1E003200 NFI_MCON 16 NFI LCD Monitor Control Register
1E003204 NFI_TOTALCNT 32 NFI LCD Monitor Total Cycle Count
1E003208 NFI_RQCNT 32 NFI LCD Monitor Request Cycle Count
1E00320C NFI_ACCNT 32 NFI LCD Monitor Access Cycle Count
1E003210 NFI_MASTERSTA 16 NFI Master Status
The four indicator represents MASTER status in the BUS access. There are three
ccn NF channels for AHB master. The MSB(Bit 2) to LSB(bit0) repesent ECC, Auto-
Correction and NFI channel respectively. Each bit represents the channel is active
or inactive. 0 is inactive, 1 is active. After NFI reset, the NFI_MASTERSTA should
be checked to guarantee the master is stopped.
For example:
ase O
Others: Reserved
9 AUTO_FMT_EN Automatic HW ECC encode or decode enable.
If enabled, the ECC parity from HW ECC engine and FDM data from Register are written
automatically to the spare area. If disable, the spare data all comes from PIO register, like
DATAR, DATAW, (PIO Mode) or the memory(DMA Mode) as main area data.
8 HW_ECC_EN This field is used to enable encoding or decoding operation of HW ECC engine. If the bit is
enabled, the data is transferring to ECC engine for encoding and decoding. The ECC Engine
should be configured as nfi encoding mode, otherwise the NFI will hang.
6 BYTE_RW Enable byte access. The valid bytes read from NFI_DATAR and NFI_DATAW is only DR0 and
FO
Y
NL
DW0 if BYTE_RW is enabled.
US L
2 DMA_BURST_EN
EO
1 READ_MODE This field is used to control the activity of read or write transfer.
0: write operation of DMA or PIO.
cn IA
1: read operation of DMA or PIO.
0 DMA_MODE This field is used to control the Operation mode.
0: PIO mode. All data (include read or write) move by MCU through APB access.
1: DMA mode. All data (include read or write) move by HW automation through AHB bus.
m. NT
1E003004 NFI_PAGEFMT NFI Page Format Control Register 0000
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Mne FDM_ECC_NUM FDM_NUM SPARE_SIZE DBY PAGE_SIZE
TE_E
N
Type R/W R/W R/W R/W R/W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
0: The page size is 512 bytes (including 512 bytes data area and (spare_size*1) bytes spare
area).
1: The page size is 2k bytes (including 2048 bytes data area and (spare_size*4) bytes spare
area).
2: The page size is 4k bytes (including 4096 bytes data area and (spare_size*8) bytes spare
area).
3: Reserved.
xia E
ny AT
15:12 SEC_NUM The field represents the sector number to be retrieved from the device or DMA Master. The
valid number ranges from 1 to 8.
M
9 BWR Burst write mode. Setting to be logic-1 enables the data burst write operation.
8 BRD Burst read mode. Setting this field to be logic-1 enables the data read operation. The NFI
core will issue read cycles to retrieve data from the device when the data FIFO is not full or
the device is not in the busy state. The NFI core supports consecutive page reading.
7:5 NOB The field represents the number of bytes to be retrieved from the device in single mode, and
the number of bytes per APB transaction in both single and burst mode. If device is 16-bit IO,
the read bytes number will double
0: Read 8 bytes from the device. (16 byte for 16-bit IO)
1: Read 1 byte from the device. (2 byte for 16-bit IO)
FO
Y
NL
2: Read 2 bytes from the device. (4 byte for 16-bit IO)
3: Read 3 bytes from the device. (6 byte for 16-bit IO)
US L
EO
4: Read 4 bytes from the device. (8 byte for 16-bit IO)
5: Read 5 byte from the device. (10 byte for 16-bit IO)
6: Read 6 bytes from the device. (12 byte for 16-bit IO)
cn IA
7: Read 7 bytes from the device. (14 byte for 16-bit IO)
4 SRD Setting to be logic-1 initializes the one-shot data read operation. It's mainly used for read ID
and read status command, which requires no more than 4 read cycles to retrieve data from
the device. It used when FIFO is empty or after reset nficore
m. NT
1 NFI_RST Reset the state machine, data FIFO (0x0000) and FDM data (0xffff)
0 FIFO_FLUSH Flush the data FIFO.
.co IDE
1E00300C NFI_ACCCON NAND Flash Access Timing Control register NA
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne POECS PRECS C2R
Type R/W R/W R/W
Reset F F F F 0F 0F 0F 0F 0F 0F 3F 3F 3F 3F 3F 3F
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne W2R
ccn NF WH WST RLT
Type R/W R/W R/W R/W
Reset F F F F F F F F F F F F F F F F
31:28 POECS The field represents the minimum required time for CS post-pulling down after the access to
device.
Minimum required time = PRECS[1:0] + PRECS[2]*8 + PRECS[3]*64 (T)
@ KC
27:22 PRECS The field represents the minimum required time for CS pre-pulling down before any access to
device.
Minimum required time = PRECS[1:0] + PRECS[3:2]*8 + PRECS[5:4]*128 (T)
21:16 C2R The field represents the minimum required time from NCEB low to NREB low. It's in unit of
2T.
Minimum required time = C2R[5:0]*2 + 1 (T)
xia E
15:12 W2R The field represents the minimum required time from NWEB high to NREB low. It's in unit of
2T. So the actual time ranges from 0T to 30T in step of 2T.
Minimum required time = W2R[3:0]*2 + 1 (T)
ny AT
The field specifies the wait states to be inserted to meet the requirement of the pulse width of
the NWEB signal.
00b: No wait state.
01b: 1T wait state.
10b: 2T wait state.
R E
The field specifies how many wait states to be inserted to meet the requirement of the read
access time for the device.
00b: No wait state.
01b: 1T wait state.
10b: 2T wait state.
11b: 3T wait state.
FO
Y
NL
1E003010 NFI_INTR_EN NFI Interrupt Enable Register 0000
US L
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne AHB ACC BUS ERA RESE WR_ RD_
cn IA
_DO ESS_ Y_R SE_ T_D DON DON
NE_ LOC ETU DON ONE E_E E_E
EN K_E RN_ E_E _EN N N
N EN N
Type R/W R/W R/W R/W R/W R/W R/W
m. NT
Reset 0 0 0 0 0 0 0
.co IDE
5 ACCESS_LOCK_EN
4 BUSY_RETURN_EN The busy return interrupt enable.
3 ERASE_DONE_EN The erase completion interrupt enable.
2 RESET_DONE_EN The reset completion interrupt enable.
1 WR_DONE_EN The single page write completion interrupt enable.
0 RD_DONE_EN The single page read completion interrupt enable.
ccn NF
1E003014 NFI_INTR NFI Interrupt Status Register 0000
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ase O
K RN E
Type RC RC RC RC RC RC RC
Reset 0 0 0 0 0 0 0
5 ACCESS_LOCK
4 BUSY_RETURN Indicates that the device state returns from busy by inspecting the R/B# pin.
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne CMD
Type R/W
M
Reset 0 0 0 0 0 0 0 0
Y
NL
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
US L
Mne ROW_ADDR_NOB COL_ADDR_NOB
EO
Type R/W R/W
Reset 0 0 0 0 0 0
cn IA
Bit(s) Name Description
6:4 ROW_ADDR_NOB Number of bytes for the row address
2:0 COL_ADDR_NOB Number of bytes for the column address
m. NT
1E003034 NFI_COLADDR NFI Column Address Register 00000000
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne COL_ADDR3 COL_ADDR2
Type R/W R/W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne COL_ADDR1 COL_ADDR0
Type R/W R/W
Reset 0
ccn NF
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W R/W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Y
NL
Bit(s) Name Description
US L
0 STR_DATA This signal triggers the data transfer for read or write. It only takes effect as custom
EO
operation mode
cn IA
1E003044 NFI_CNRNB NFI Check NAND Ready/Busy Register 0000
m. NT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne CB2R_TIME STR
_CN
RNB
Type R/W WO
Reset 0 0 0 0 0
.co IDE
Bit(s) Name Description
7:4 CB2R_TIME This time-out registers for polling the NAND busy/ready signal. The unit is 16T clock cycles.
The clock rate is 61.44MHz in normal mode. It will be slow down after enable HW DCM
mode.
0 STR_CNRNB This signal triggers NFI to poll the status the NAND busy/ready signal after CB2R_TIME*16
cycles. This function is used to avoid the fail function of "BUSY2READY" status or
ccn NF
"BUSY_RETURN" interrupt when NAND is operating at very low frequency( <7MHz ). If NAND
is operating in lower frequency, the sampling for the event, NAND busy/ready signal from
low to high, may be failed and NFI will be hanged in busy state. This signal is a time-out
register to check the NAND status. The results will be report to "BUSY2READY" status and
"BUSY_RETURN" interrupt.
ase O
@ KC
Type WO WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Y
NL
Bit(s) Name Description
US L
31:24 DR3 Read data byte 3.
EO
23:16 DR2 Read data byte 2.
cn IA
15:8 DR1 Read data byte 1.
7:0 DR0 Read data byte 0.
m. NT
1E003058 NFI_PIO_DIRDY PIO_mode Data Ready Register 0000
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne PIO_
DI_R
.co IDE
DY
Type RO
Reset 0
Type RO RO RO RO RO RO RO RO
Reset 1 0 0 0 0 0 0 0
ny AT
Y
NL
0001b: reset. Reset command to ready
0010b: read busy.
US L
EO
0011b: read data.
0100b: program busy
0101b: program data. Input data command to program command
cn IA
1000b: erase busy. Erase command to ready
1001b: erase data. Erase command 1 to erase command 2
1111b: custom mode
1110b: custom mode for data access
Others: Reserved
m. NT
12 READ_EMPTY Empty page indication during read operation, include all data, FDM and parity for all sectors
9 BUSY2READY It's read-only. This signal indicates NAND from busy to ready state and it will be reset after
nfi_reset or write command/address.
8 BUSY Synchronized busy signal from the NAND flash. It's read-only. This signal is sampled from NFI
.co IDE
4 ACCESS_LOCK The access range is locked for erase or program .
3 DATAW The NFI core is in data write mode.
2 DATAR The NFI core is in data read mode.
1 ADDR The NFI core is in address mode.
0 CMD The NFI core is in command mode.
ccn NF
1E003064 NFI_FIFOSTA NFI FIFO Status 4040
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne
ase O
Reset 0 1 0 0 0 0 0 0 1 0 0 0 0 0
4:0 RD_REMAIN Data FIFO remaining byte number in burst read mode.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC ACC
ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_ ESS_
LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC
R E
K15 K14 K13 K12 K11 K10 K09 K08 K07 K06 K05 K04 K03 K02 K01 K00
Type RO RO RO RO RO RO RO RO RO RO RO RO RO RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
10 ACCESS_LOCK10 The access command violates the locking range 10
US L
9 ACCESS_LOCK09 The access command violates the locking range 9
EO
8 ACCESS_LOCK08 The access command violates the locking range 8
cn IA
7 ACCESS_LOCK07 The access command violates the locking range 7
6 ACCESS_LOCK06 The access command violates the locking range 6
5 ACCESS_LOCK05 The access command violates the locking range 5
4 ACCESS_LOCK04 The access command violates the locking range 4
m. NT
3 ACCESS_LOCK03 The access command violates the locking range 3
2 ACCESS_LOCK02 The access command violates the locking range 2
1 ACCESS_LOCK01 The access command violates the locking range 1
0 ACCESS_LOCK00 The access command violates the locking range 0
.co IDE
1E003070 NFI_ADDRCNTR NFI Page Address Counter Register 0000
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne SEC_CNTR SEC_ADDR
Type RO
ccn NF RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9:0 SEC_ADDR The address count of 512 main data and spare data for each sector.
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne STR_ADDR[15:0]
Type R/W
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
If start address of any sector data is not 4-byte aligned, the transfer will be automatically split
into byte and word transaction by NFI DMA. Non 4-byte aligned data will be transferred in
single-byte transaction. Non 16-byte aligned data will be transferred in single-word
transaction. 16-byte aligned data will be transferred by 4 word incrementing bust if the
NFI_CNFG->DMA_BURST_EN is enabled.
R E
M
Y
NL
15:12 BUS_SEC_CNTR The sector count.
US L
9:0 BUS_SEC_ADDR The address count of 512 main data and spare data for each sector.
EO
cn IA
1E003090 NFI_CSEL NFI device select register 0000
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Mne CSEL
Type R/W
Reset 0
.co IDE
0 CSEL Chip select. The value defaults to 0.
0: Device 1 is selected.
1: Device 2 is selected.
7:4 BRSTN Maximum Burst Number for NAND read and writes. The unit is number of byte (8bits I/O) or
double byte (16bits I/O)
2 L2NW Enable 1T latency for the arbitration from LCD to NAND write operation, this is used to
prevent bus contention between chip, NAND flash and LCD device.
1 L2NR Enable 1T latency for the arbitration from LCD to NAND read operation, this is used to
prevent bus contention between chip, NAND flash and LCD device.
0 NLD_PD data bus pull down when no use.
xia E
0: disable.
1: enable.
ny AT
Y
NL
US L
EO
1E0030A4 NFI_FDM0M NFI Most FDM Data for Sector 0 Register NA
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Mne FDM0_7 FDM0_6
Type R/W R/W
Reset ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Mne FDM0_5 FDM0_4
Type R/W R/W
Reset ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
.co IDE
31:24 FDM0_7 The 3-th FDM byte data for sector 0.
23:16 FDM0_6 The 2-th FDM byte data for sector 0.
15:8 FDM0_5 The 1-th FDM byte data for sector 0.
7:0 FDM0_4 The 0-th FDM byte data for sector 0.
ccn NF
1E003100 NFI_LOCK NFI Lock Enable Register 0000
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne LOC
K_O
ase O
N
Type R/W
1
@ KC
Reset 0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC LOC
R E
K07 K07 K06 K06 K05 K05 K04 K04 K03 K03 K02 K02 K01 K01 K00 K00
_CS _EN _CS _EN _CS _EN _CS _EN _CS _EN _CS _EN _CS _EN _CS _EN
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
M
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
turned on.
US L
0: Disable Lock Range check for set 15.
EO
1: Enable Lock Range check for set 15.
29 LOCK14_CS Indicate the lock checking process of lock set.n for CS0 or CS1
cn IA
0: Lock range check of set 14 for CS0.
1: Lock range check of set 14 for CS1.
28 LOCK14_EN Enable the lock checking process of lock set 14. Before it takes effect, the LOCK_ON must be
turned on.
m. NT
0: Disable Lock Range check for set 14.
1: Enable Lock Range check for set 14.
27 LOCK13_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 13 for CS0.
1: Lock range check of set 13 for CS1.
.co IDE
26 LOCK13_EN Enable the lock checking process of lock set 13. Before it takes effect, the LOCK_ON must be
turned on.
0: Disable Lock Range check for set 13.
1: Enable Lock Range check for set 13.
25 LOCK12_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 12 for CS0.
1: Lock range check of set 12 for CS1.
ccn NF
24 LOCK12_EN Enable the lock checking process of lock set 12. Before it takes effect, the LOCK_ON must be
turned on.
0: Disable Lock Range check for set 12.
1: Enable Lock Range check for set 12.
23 LOCK11_CS Indicate the lock checking process of lock set.n for CS0 or CS1
ase O
turned on.
0: Disable Lock Range check for set 11.
1: Enable Lock Range check for set 11.
21 LOCK10_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 10 for CS0.
1: Lock range check of set 10 for CS1.
xia E
20 LOCK10_EN Enable the lock checking process of lock set 10. Before it takes effect, the LOCK_ON must be
turned on.
0: Disable Lock Range check for set 10.
ny AT
turned on.
0: Disable Lock Range check for set 9.
1: Enable Lock Range check for set 9.
17 LOCK08_CS Indicate the lock checking process of lock set.n for CS0 or CS1
R E
turned on.
0: Disable Lock Range check for set 8.
1: Enable Lock Range check for set 8.
15 LOCK07_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 7 for CS0.
1: Lock range check of set 7 for CS1.
14 LOCK07_EN Enable the lock checking process of lock set 7. Before it takes effect, the LOCK_ON must be
turned on.
FO
Y
NL
0: Disable Lock Range check for set 7.
1: Enable Lock Range check for set 7.
US L
EO
13 LOCK06_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 6 for CS0.
cn IA
1: Lock range check of set 6 for CS1.
12 LOCK06_EN Enable the lock checking process of lock set 6. Before it takes effect, the LOCK_ON must be
turned on.
0: Disable Lock Range check for set 6.
m. NT
1: Enable Lock Range check for set 6.
11 LOCK05_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 5 for CS0.
1: Lock range check of set 5 for CS1.
10 LOCK05_EN Enable the lock checking process of lock set 5. Before it takes effect, the LOCK_ON must be
.co IDE
turned on.
0: Disable Lock Range check for set 5.
1: Enable Lock Range check for set 5.
9 LOCK04_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 4 for CS0.
1: Lock range check of set 4 for CS1.
8 LOCK04_EN Enable the lock checking process of lock set 4. Before it takes effect, the LOCK_ON must be
ccn NF
turned on.
0: Disable Lock Range check for set 4.
1: Enable Lock Range check for set 4.
7 LOCK03_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 3 for CS0.
ase O
3 LOCK01_CS Indicate the lock checking process of lock set.n for CS0 or CS1
0: Lock range check of set 1 for CS0.
1: Lock range check of set 1 for CS1.
2 LOCK01_EN Enable the lock checking process of lock set 1. Before it takes effect, the LOCK_ON must be
turned on.
To DI
0 LOCK00_EN Enable the lock checking process of lock set 0. Before it takes effect, the LOCK_ON must be
turned on.
M
Y
NL
Type R/W1 R/W1 R/W1 R/W1
Reset 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
14:12 PROG_RADD_NOB Number of bytes for the row address for program operation (command is 8'h8X)
10:8 PROG_CADD_NOB Number of bytes for the column address for program operation (command is 8'h8X)
6:4 ERASE_RADD_NOB Number of bytes for the row address for erase operation (command is 8'h6X)
m. NT
2:0 ERASE_CADD_NOB Number of bytes for the column address for erase operation (command is 8'h6X)
1E003110 NFI_LOCK00ADD NFI Row Start Address for Lock Set00 Register 00000000
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne LOCK00_ROW3 LOCK00_ROW2
Type R/W1 R/W1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne LOCK00_ROW1 LOCK00_ROW0
Type R/W1 R/W1
ccn NF
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23:16 LOCK00_ROW2 The 2-th row start address byte to be locked for lock set 0.
15:8 LOCK00_ROW1 The 1-th row start address byte to be locked for lock set 0.
7:0 LOCK00_ROW0 The 0-th row start address byte to be locked for lock set 0.
@ KC
1E003114 NFI_LOCK00FMT NFI Row Address Format for Lock Set00 Register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne LOCK00_FMT3 LOCK00_FMT2
xia E
31:24 LOCK00_FMT3 The 3-th row address format byte to be locked for lock set 0.
23:16 LOCK00_FMT2 The 2-th row address format byte to be locked for lock set 0.
15:8 LOCK00_FMT1 The 1-th row address format byte to be locked for lock set 0.
R E
7:0 LOCK00_FMT0 The 0-th row address format byte to be locked for lock set 0.
M
Y
NL
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
31:0 FIFO_DATA0
m. NT
1E003194 NFI_FIFODATA1 NFI FIFO Content Data 1 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne FIFO_DATA1[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne FIFO_DATA1[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne FIFO_DATA2[31:16]
Type RO
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne FIFO_DATA2[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
FIFO_DATA3[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne FIFO_DATA3[15:0]
R E
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
Mne BMC BMS
US L
LR TR
EO
Type WO R/W
Reset 0 0
cn IA
Bit(s) Name Description
1 BMCLR Clear NFI-LCD bandwidth monitor register counter
0 BMSTR Enable NFI-LCD bandwidth monitor
m. NT
0: disable.
1: enable.
.co IDE
1E003204 NFI_TOTALCNT NFI LCD Monitor Total Cycle Count 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne NFI_TOTALCNT[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne NFI_TOTALCNT[15:0]
ccn NF
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31:0 NFI_TOTALCNT The total clock cycle count during enabling NFI-LCD bandwidth monitor
@ KC
Mne NFI_RQCNT[15:0]
Type RO
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mne NFI_ACCNT[31:16]
Type RO
Reset
M
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne NFI_ACCNT[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E003210 NFI_MASTERSTA NFI Master Status 0000
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne MAS_ADDR MAS_RD MAS_WR MAS_RDDLY
Type RO RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
11:9 MAS_ADDR MAS_is in the Address phase of AHB protocol. In this phase, Bus gots the address data from
Master.
000b: There is no MAS in the Address phase of AHB protocol.
.co IDE
001b: NFI is in the Address pahse of AHB protocol.
010b: Auto-Correction is in the Address pahse of AHB protocol.
100b: ECC is in the Address pahse of AHB protocol.
8:6 MAS_RD MAS_is in the Read DATA phase of AHB protocol. In this phase, Bus returns the read data.
5:3 MAS_WR MAS_is in the Write DATA phase of AHB protocol. In this phase, Bus receives the write data.
2:0 MAS_RDDLY MAS is in the Read DATA delay phase of AHB protocol. In this phase, NFI and ECC got the
read back data
ccn NF
2.8.3 Programming Guide
ase O
This section lists the program sequences for the NAND flash operations.
NAND Device Reset
Programming Sequence Memo
@ KC
The NFI reset to reset all register and force NFI master be early
*NFI_CON = 0x3
terminated
while ( *NFI_MASTERSTA != 0 ) ; Wait for master finish the last transaction
The second NFI reset is to ensure any status register affected
*NFI_CON = 0x3
by NFI master is reset to normal status
To DI
Read ID
Programming Sequence Memo
R E
NFI Configuration
*NFI_CON = 0x3; //Reset NFI before any command. (NFI_state back to IDLE)
M
*NFI_CNFG = 0x2042; //Single word PIO read. (set 0x2000 for single byte PIO read).
Write Command and Address to NAND Device
(NFI_state from IDLE state jump to READDATA state)
*NFI_CMD = 0x90;
(Issue command when SW write this APB address)
*NFI_COLADDR = col_addr ; //column address
*NFI_ROWADDR = row_addr ; //row address
*NFI_ADDRNOB = addres_byte_num; //column and row number of bytes.
FO
Y
NL
(Issue address when the SW write this APB address).
US L
while ( *NFI_STA & 0xF != 0 ) ; //wait for writing the address to NAND
EO
Trigger the start to read register and NFI start to read status or ID from NAND Device
cn IA
//set number of read command of single read.
*NFI_CON = 0x0090 If this is x8 NF device, this means read 4*(byte) data.
If this is x16 NF device, this means read 4 * (2byte) data.
Read Data from NFI by using PIO Mode
m. NT
for (int i = 0 ; i < number of byte ; i++ ) { //PIO mode to read out read id.
while (*NFI_PIO_RDY == 0); //if the pio_rdy is not 1, keep polling.
pio_rdy = *NFI_PIO_RDY; //if the pio_rdy is equal to 1, data is available for read out.
read_id[i] = *NFI_DATAR; //The read out data from NFI_DATAR can be byte or word
.co IDE
} //It depends on the setting of BYTE_RW in NFI_CNFG
Read Status
Programming Sequence Memo
Configuration
ccn NF
*NFI_CON = 0x3; //Reset NFI before any command. (NFI_state back to IDLE)
*NFI_CNFG = 0x2042; //Single word PIO read. (set 0x2000 for single byte PIO read).
Write Command to NAND Device
(NFI_state from IDLE state jump to READDATA state)
*NFI_CMD = 0x70;
(Issue command when SW write this APB address)
ase O
pio_rdy = *NFI_PIO_RDY; //if the pio_rdy is equal to 1, data is available for read out.
read_status[i] = *NFI_DATAR; //The read out data from NFI_DATAR can be byte or word
ny AT
Block Erase
Programming Sequence Memo
Configuration
To DI
*NFI_CON = 0x3; //Reset NFI before any command. (NFI state back to IDLE)
*NFI_INTR_EN = 0x8 ; //Enable erase complete interrupt
//erase operation. (NFI_state from IDLE state jump to
*NFI_CNFG = 0x4000;
R E
ERASEDATA state)
Write Command and Address to NAND Device
M
Y
NL
//erase second command. (NFI state from ERASEDATA state
*NFI_CMD = 0xD0;
US L
jump to ERASEBUSY state)
EO
*NFI_CNRNB = 0xf1
cn IA
nd
After 2 Command 0xD0, Waiting for Erase Done Interrupt
//After Nand flash from busy to ready will issue the IRQ.
Wait for interrupt ……
(NFI_state back to IDLE)
m. NT
Page Program ( Using DMA Mode )
Configure Memo
ECC Engine Configuration
//if hw_ecc_en is needed, set ECC configuration.
.co IDE
if (hw_ecc_en) {
(reference NFIECC Functional spec)
while ( *NFIECC_ENCIDLE == 0 ); //Polling IDLE signal until Encoder is available.
//Configure Encoder parameter in NFI mode.
//The setting must be referred to NFIECC document
*NFIECC_ENCCNFG = 0x10400010; //The encode size depends on the FDMECC setting
//0x10400010 means ENC_MS = 520 (512+8), the setting is
ccn NF
used for hwecc_en = 1, FDM_ECC_NUM = 8
*NFIECC_DECCON = 0x0 ; //make sure Decoder is close.
*NFIECC_ENCCON = 0x1 ; //enable Encoder.
}
ase O
NFI Configuration
*NFI_CON = 0x3; //Reset NFI before any command. (NFI state back to IDLE)
@ KC
*NFI_PAGEFMT = 0x8800; //Set device format according to NF device and fdm number.
*NFI_ACCCON = 0x41_0112; //Set device access control according to NF device.
if ( custom_mode ) {
*NFI_CNFG = (0x6001 | auto_fmt_en
| hw_ecc_en | nfi_dma_burst )
} else {
xia E
}
*NFI_CON = 0x4000; //Set the length of Burst write
if (auto_fmt_en) {
*NFI_FDMxx = FDM_value //set FDM value
To DI
}
Write Command and Address to NAND Device
// write first command.
*NFI_CMD = 0x80; (Issue command when SW write this APB address)
R E
Y
NL
must be set after setting the length of burst write in NFI_CON
US L
and before burst write strobe.
EO
Trigger the BWR register and NFI start to write the data into NAND device
cn IA
*NFI_CON = *NFI_CON | 0x0200; //Set Burst write strobe.
if ( custom_mode ) *NFI_STRDATA = 1; //strobe to transfer data
//After Nand flash finishing transferring data from ahb bus into
wait for ahb done interrupt
NFI FIFO, AHB_DONE interrupt will be issued
m. NT
//polling when nf_tsf_num is not equal to expted transfer data
while (*NFI_ADDRCNTR != expected_nfi_tsf_num); number. This action is to guarantee all the data in NFI FIFO has
been written into NAND device.
// write second command.
.co IDE
*NFI_CMD = 0x10; (Issue command when SW write this APB address)
NFI_state from PROGDATA jumps to PROGBUSY.
*NFI_CNRNB = 0xf1
//After Nand flash from busy to ready will issue ready_return
Waiting for wr_done interrupt IRQ, also the write_done IRQ.
NFI state from PROGBUSY jumps to IDLE.
ccn NF
Page Program ( Using PIO Mode )
Configure Memo
ECC Engine Configuration
ase O
}
NFI Configuration
ny AT
*NFI_CON = 0x3; //Reset NFI before any command. (NFI state back to IDLE)
*NFI_PAGEFMT = 0x8800; //Set device format according to NF device and fdm number.
*NFI_ACCCON = 0x41_0112; //Set device access control according to NF device.
if ( custom_mode ) {
*NFI_CNFG = (0x6000 | auto_fmt_en
To DI
| hw_ecc_en )
} else {
*NFI_CNFG = (0x3000 | auto_fmt_en
//Setting NFI configuration according your usage.
R E
| hw_ecc_en )
}
M
Y
NL
(Issue command when SW write this APB address)
US L
NFI_state from IDLE state jumps to PROGDATA state.
EO
*NFI_COLADDR = col_addr ; //column address
cn IA
*NFI_ROWADDR = row_addr ; //row address
//column and row number of bytes.
*NFI_ADDRNOB = addres_byte_num;
(Issue address when the SW write this APB address).
while ( *NFI_STA & 0xF != 0 ) ; //wait for writing the address to NAND
m. NT
*NFI_STRADDR = 0x1000_0000 //Write Data start address
Setting Interrupt,
//Set ahb_done and wr_done interrupt. Ahb_done interrupt
*NFI_INTR_EN = 0x0042; must be set after setting the length of burst write in NFI_CON
.co IDE
and before burst write strobe.
Trigger the BWR register and NFI start to write the data into NAND device
*NFI_CON = *NFI_CON | 0x0200; //Set Burst write strobe.
Read Data by using PIO Mode
//PIO mode.
// if (~autofmt_en ) transfer size = sec_num*(512+spare_size)
ccn NF
// if ( autofmt_en ) transfer size = sec_num*(512+(spare_size-
for ( int i = 0; i < sec_num *(512+spare_size) ; i++ ) {
fdm_num) )
// The parity data in spare area must be read from NFIECC
register by MCU in PIO mode.
ase O
*NFI_DATAW = nfi_data[i]; //if the pio_rdy is equal to 1, data is available for write in.
}
nd
Check end condition and write 2 command to NAND device
//polling when nf_tsf_num is not equal to expted transfer data
while (*NFI_ADDRCNTR != expected_nfi_tsf_num); number. This action is to guarantee all the data in NFI FIFO has
been written into NAND device.
xia E
if (hw_ecc_en) {
(reference NFIECC Functional spec)
dec_idle = *NFIECC_DECIDLE ; //Polling IDLE signal until Decoder is available.
while (dec_idle==0) ;
dec_idle = *NFIECC_DECIDLE ;
*NFIECC_DECCNFG = 0x90743010; //Configure Decoder parameter in NFI mode.
*NFIECC_ENCCON = 0x0 ; //make sure Encoder is close.
*NFIECC_DECCON = 0x1 ; //enable Decoder.
FO
Y
NL
}
US L
NFI Configuration
EO
*NFI_CON = 0x3; //Reset NFI before any command. (NFI state back to IDLE)
cn IA
*NFI_PAGEFMT = 0x8800; //Set device format according to NF device and fdm number.
*NFI_ACCCON = 0x41_0112; //Set device access control according to NF device.
if ( custom_mode ) {
*NFI_CNFG= (0x3003 | auto_fmt_en | hw_ecc_en |
m. NT
nfi_dma_burst )
} else {
*NFI_CNFG= (0x1003 | auto_fmt_en | hw_ecc_en |
//Setting NFI configuration according your usage.
nfi_dma_burst )
.co IDE
}
*NFI_INTR_EN = 0x0010; //Set busy_return interrupt
*NFI_STRADDR = 0x1000_0000 //Read Data start address
*NFI_CON = 0x4000; //Set length of Burst read
Write Command and Address to NAND Device
// read first command.
ccn NF
*NFI_CMD = 0x00; (Issue command when SW write this APB address)
NFI_state from IDLE state jumps to READBUSY state.
*NFI_COLADDR = col_addr ; //column address
*NFI_ROWADDR = row_addr ; //row address
ase O
while (*NFI_STA &0xf !== 0) ; //polling when programming state is not equal to 0.
// read second command.
*NFI_CMD = 0x30;
(Issue command when SW write this APB address)
*NFI_CNRNB = 0xf1
//After Nand flash from busy to ready will issue ready_return
Wait for ready_return interrupt IRQ.
xia E
be 0x41;
//if hw_ecc_en is needed, set ECC configuration.
if (hw_ecc_en)
M
Y
NL
Configure Memo
US L
ECC Engine Configuration
EO
//if hw_ecc_en is needed, set ECC configuration.
if (hw_ecc_en) {
cn IA
(reference NFIECC Functional spec)
dec_idle = *NFIECC_DECIDLE ; //Polling IDLE signal until Decoder is available.
while (dec_idle==0) ;
dec_idle = *NFIECC_DECIDLE ;
m. NT
*NFIECC_DECCNFG = 0x90743010; //Configure Decoder parameter in NFI mode.
*NFIECC_ENCCON = 0x0 ; //make sure Encoder is close.
*NFIECC_DECCON = 0x1 ; //enable Decoder.
}
.co IDE
NFI Configuration
*NFI_CON = 0x3; //Reset NFI before any command. (NFI state back to IDLE)
*NFI_PAGEFMT = 0x8800; //Set device format according to NF device and fdm number.
*NFI_ACCCON = 0x41_0112; //Set device access control according to NF device.
if ( custom_mode ) {
*NFI_CNFG= (0x6003 | auto_fmt_en | hw_ecc_en |
ccn NF
nfi_dma_burst )
} else {
*NFI_CNFG= (0x1003 | auto_fmt_en | hw_ecc_en |
//Setting NFI configuration according your usage.
nfi_dma_burst )
ase O
}
*NFI_INTR_EN = 0x0010; //Set busy_return interrupt
@ KC
Y
NL
//After NFI has read out all data from Nand Flash then issue
while (nfi_irq_b==0x1);
US L
read_done IRQ.
EO
nfi_irq_sta = *NFI_INTR; //read read_done IRQ. nfi_irq_sta should be 0x01;
cn IA
//Polling bytelen; nf_tsf_num should be equal to expected
nfi_tsf_num = *NFI_BYTELEN;
transfer data number. (make sure the FDM data is all read out)
//polling when nf_tsf_num is not equal to expted transfer data
while (nfi_tsf_num !== expected_nfi_tsf_num)
number.
m. NT
nfi_tsf_num = *NFI_BYTELEN;
dec_done = *NFIECC_DECDONE ; //Polling ECC Decoder Done signal.
while (dec_done !==0xf) ; //Because the sec_num is 4; according to sec_num;
dec_done = *NFIECC_DECDONE;
.co IDE
endif
Configure Memo
This reference pseudo code is for TOSHIBA NAND device
st
Write 1 Page to NAND Device
Write command to NAND (0x80)
st
Write address to NAND (The 1 address) Ex: NFI_ROWADDR = 0x100
xia E
nd
Write 2 Page to NAND Device
Reset NFI
Write command to NAND (0x80)
R E
nd
Write address to NAND ( The 2 address ) Ex: NFI_ROWADDR = 0x20100
//Please refer to the reference code of page program with
Program A page of data by using Custom Mode
M
custom_mode enabled
Set Interrupt Reg (0x10) //Set busy to ready interrupt
Write_command(0x11)
// Set hardware time-out for detecting the busy to ready of
Set NFI CNRNB for waiting B2R Event
NAND Flash event
Wait for B2R interrupt
rd
Write 3 Page to NAND Device
FO
Y
NL
Reset NFI
US L
Write command to NAND (0x80)
EO
rd
Write address to NAND ( The 3 address ) Ex: NFI_ROWADDR = 0x101
cn IA
//Please refer to the reference code of page program with
Program A page of data by using Custom Mode
custom_mode enabled
Set Interrupt Reg (0x10) //Set busy to ready interrupt
Write_command(0x11)
m. NT
// Set hardware time-out for detecting the busy to ready of
Set NFI CNRNB for waiting B2R Event
NAND Flash event
Wait for B2R interrupt
th
Write 4 Page to NAND Device
.co IDE
Reset NFI
Write command to NAND (0x80)
th
Write address to NAND ( The 4 address ) Ex: NFI_ROWADDR = 0x20101
//Please refer to the reference code of page program with
Program A page of data by using Custom Mode
custom_mode enabled
Set Interrupt Reg (0x10) //Set busy to ready interrupt
ccn NF
Write_command(0x11)
// Set hardware time-out for detecting the busy to ready of
Set NFI CNRNB for waiting B2R Event
NAND Flash event
Wait for B2R interrupt
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.9 NFI ECC Controller
EO
2.9.1 Features
cn IA
ECC (BCH code) acceleration is capable of 4 bits correction in one full or shorten ECC coded block
size which is less than 8192 (<8192bits)
m. NT
Support data input in 8 bits in NFI mode and 32 bits in DMA / PIO mode and works in 122.88MHz.
Support encoder and decoder work separately in DMA and PIO mode and automatic error
correction.
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
2.9.2 Registers
US L
EO
cn IA
Address Name Width Register Function
1E003800 NFIECC_ENCCON 16 NFIECC Encoder Control Register
This register is for Encoder control.
1E003804 NFIECC_ENCCNFG 32 NFIECC Configure Register
m. NT
This register is for NFIECC encoder configuration.
1E003808 NFIECC_ENCDIADDR 32 NFIECC Encoder DI Memory Address Register
The register indicates the data start address of input data to the Encoder AHB
mode.
1E00380C NFIECC_ENCIDLE 16 NFIECC Encoder Idle Status Register
.co IDE
This register is for NFIECC Encoder idle status.
1E003810 NFIECC_ENCPAR0 32 NFIECC Parity0 Register
The register indicates the highest order of parity bits
1E003814 NFIECC_ENCPAR1 32 NFIECC Parity1 Register
The register indicates the parity bits
32
1E003818
ccn NF
NFIECC_ENCPAR2 NFIECC Parity2 Register
The register indicates the parity bits
1E00381C NFIECC_ENCPAR3 32 NFIECC Parity3 Register
The register indicates the parity bits
1E003820 NFIECC_ENCPAR4 32 NFIECC Parity4 Register
ase O
mode.
1E00390C NFIECC_DECIDLE 16 NFIECC Decoder Idle Status Register
This register indicates the Decoder Idle status.
M
Y
NL
The register indicates the error location of the decoding result
US L
1E003920 NFIECC_DECEL1 32 NFIECC Decoder Error Location1 Register
EO
The register indicates the error location of the decoding result.
cn IA
1E003924 NFIECC_DECEL2 32 NFIECC Decoder Error Location2 Register
The register indicates the error location of the decoding result.
1E003928 NFIECC_DECEL3 32 NFIECC Decoder Error Location3 Register
The register indicates the error location of the decoding result.
m. NT
1E00392C NFIECC_DECEL4 32 NFIECC Decoder Error Location4 Register
The register indicates the error location of the decoding result.
1E003930 NFIECC_DECEL5 32 NFIECC Decoder Error Location5 Register
The register indicates the error location of the decoding result.
1E003934 NFIECC_DECIRQEN 16 NFIECC Decoder IRQ enable Register
.co IDE
This register is for software programmer to enable NFIECC IRQ signals (ignore in
NFI mode)
1E003938 NFIECC_DECIRQSTA 16 NFIECC Decoder IRQ status Register
This register is for software programmer tracking NFIECC IRQ status. (ignore in
NFI mode)
1E00393C NFIECC_FDMADDR 32 NFIECC FDM Register Address
ccn NF
The register indicates the address of FDM data in NFI module.
1E003940 NFIECC_DECFSM 32 NFIECC Decoder FSM
The register indicates the finite state machine status of decoder.
1E003944 NFIECC_SYNSTA 32 NFIECC Syndrome Status Register
ase O
N
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Mne ENC
_EN
Type R/W
Reset 0
0 ENC_EN indicates the enable in NFI mode and start to work in AHB mode. In AHB mode, parity bits is
remained in the PAR0~PAR4 register field until the ENC_EN is deasserted to 0.
0: means disable the Encode block.
1: means enable the Encode block. In AHB mode, the Encoder starts to fetch data when the
R E
register changes from 0 to 1. In NFI mode, the register enables the Encode block, and then the
Encoder module waits start signal and data from NFI.
M
Y
NL
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
US L
Mne ENC ENC_MODE ENC_TNUM
EO
_BU
RST
cn IA
_EN
Type R/W R/W R/W
R/W
Reset 0 0 0 0 0 0
m. NT
Bit(s) Name Description
28:16 ENC_MS indicates the total bit size of message block including main data and control(FDM) data in the
NFI mode. The spare_ECC_num parameter in old version has been merged into the message
block_size parameter. If the block_size is equal to zero, the NFIECC do nothing.
The acceptable coded block size, which includes data and parity bits size, is 1~8191bits.
.co IDE
Different ENC_TNUM results in different parity bits, and also results in different maximum
message block size.
8 ENC_BURST_EN indicates the burst enalbe.
0: means DMA mode uses single read.
1: means DMA mode uses burst read.
5:4 ENC_MODE indicates the data source from access through AHB bus or from NFI.
00b: means source data from access through Bus. (DMA mode)
ccn NF
01b: means source data from NFI module. (NFI mode)
10b: means source data is written by MCU. (PIO mode)
11b: reserved mode.
2:0 ENC_TNUM indicates the correct capability in one block size. (Remove)
0: means the NFIECC is capable of correct 4 bits in one block size.
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne ENC_DIADDR[29:14]
Type R/W
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC_DIADDR[13:0]
Type R/W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC
_IDL
E
Type R
Reset 0
Y
NL
0 ENC_IDLE indicates the Encode block in idle state and ready for new message block.
US L
0: means the Encode block is under working.
EO
1: means the Encode block is in Idle state and available for new message block.
cn IA
1E003810 NFIECC_ENCPAR NFIECC Parity0 Register 00000000
0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne ENC_PAR0[31:16]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Mne ENC_PAR0[15:0]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne ENC_PAR1[31:16]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC_PAR1[15:0]
xia E
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Mne ENC_PAR2[31:16]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC_PAR2[15:0]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E00381C NFIECC_ENCPAR NFIECC Parity3 Register 00000000
3
cn IA
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne ENC_PAR3[31:16]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC_PAR3[15:0]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:0 ENC_PAR3 indicates the parity bits and the bit 0 is the highest order of parity bit.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC_PAR4[15:0]
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Mne COUNT_MS
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne COUNT_PS ENC_FSM
To DI
Type R R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
EN
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Mne ENC
_IR
cn IA
QEN
Type R/W
Reset 0
m. NT
Bit(s) Name Description
0 ENC_IRQEN Encoder IRQ mask: triggered when Encoder operation is completed.
0: Disable
1: Enable
.co IDE
1E00382C NFIECC_ENCIRQ NFIECC Encoder IRQ status Register 0000
STA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ENC
ccn NF _IR
QST
A
Type RC
Reset 0
ase O
0: No interrupt is generated.
1: An interrupt is pending and waiting for service. Active when Encoder processing is done.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne PIO_
ny AT
DI_R
DY
Type R
Reset 0
To DI
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
31:0 PIO_DI indicates the PIO mode data input.
m. NT
N
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC
_EN
Type R/W
.co IDE
Reset 0
G
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne DEC DEC_CS
_EM
PTY
_EN
Type R/W R/W
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_CON DEC DEC_MODE DEC_TNUM
ny AT
_BU
RST
_EN
Type R/W R/W R/W R/W
R/W
Reset 1 1 0 0 0 0 0 0
To DI
28:16 DEC_CS indicates the total bit size of coded block including protected data and parity bits. The
acceptable coded block size is 1~8191bits. If the coded block size is equal to zero, the
decoder does nothing. The detail figure shows in Figure 2.
13:12 DEC_CON indicates the bypass configuration in decoding processor.
0: is reserved
1: means only active syndrome calculator for error detecting purpose. ECC reports DONE and
FER status after syndrome calculator is done.
2: means error-correction module is bypassed for being aware of error location purpose. ECC
reports DONE, FER, EL and ERRNUM status after Chien search is done.
FO
Y
NL
3: means the ECC processor decoded data and auto-correction error data. The data address is
signaled by DEC_DIADDR register in AHB mode and NFI_DIADDR in NFI mode. ECC reports
US L
EO
DONE, FER, EL and ERRNUM status after error-correction is done.
8 DEC_BURST_EN indicates the burst enalbe.
cn IA
0: means DMA mode uses single read.
1: means DMA mode uses burst read.
5:4 DEC_MODE indicates the data source from access AHB bus or from NFI.
00b: means source data from access through Bus. (DMA mode)
m. NT
01b: means source data from NFI module. (NFI mode)
10b: means source data is written by MCU. (PIO mode)
11b: Reserved mode.
2:0 DEC_TNUM indicates the correct capability in one block size.
0: means the Decoder is capable of correct 4 bits in one block size.
1: means the Decoder is capable of correct 6 bits in one block size.
.co IDE
2: means the Decoder is capable of correct 8 bits in one block size.
3: means the NFIECC is capable of correct 10 bits in one block size.
4: means the NFIECC is capable of correct 12 bits in one block size.
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_DIADDR[13:0]
Type R/W
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Reset 0
0 DEC_IDLE indicates the Decode block is in idle state and ready for new coded block.
0: means the Decode block is under working.
1: means the Decode block is in idle state and available for new coded block.
M
Y
NL
US L
Bit(s) Name Description
EO
7 FER7 indicates the error found or not in the coded block. The FER numbered by NFI sector number
cn IA
in NFI mode, otherwise, in AHB mode, always use the FER0. The signal reset when DEC_EN is
deasserted in both NFI and AHB mode.
0: means there is no error detected in the coded block.
1: means there is(are) error(s) detected in the coded block.
6 FER6 indicates the error found or not in the coded block. The FER numbered by NFI sector number
m. NT
in NFI mode, otherwise, in AHB mode, always use the FER0. The signal reset when DEC_EN is
deasserted in both NFI and AHB mode.
0: means there is no error detected in the coded block.
1: means there is(are) error(s) detected in the coded block.
5 FER5 indicates the error found or not in the coded block. The FER numbered by NFI sector number
.co IDE
in NFI mode, otherwise, in AHB mode, always use the FER0. The signal reset when DEC_EN is
deasserted in both NFI and AHB mode.
0: means there is no error detected in the coded block.
1: means there is(are) error(s) detected in the coded block.
4 FER4 indicates the error found or not in the coded block. The FER numbered by NFI sector number
in NFI mode, otherwise, in AHB mode, always use the FER0. The signal reset when DEC_EN is
deasserted in both NFI and AHB mode.
ccn NF 0: means there is no error detected in the coded block.
1: means there is(are) error(s) detected in the coded block.
3 FER3 indicates the error found or not in the coded block. The FER numbered by NFI sector number
in NFI mode, otherwise, in AHB mode, always use the FER0. The signal reset when DEC_EN is
deasserted in both NFI and AHB mode.
0: means there is no error detected in the coded block.
ase O
in NFI mode, otherwise, in AHB mode, always use the FER0. The signal reset when DEC_EN is
deasserted in both NFI and AHB mode.
0: means there is no error detected in the coded block.
1: means there is(are) error(s) detected in the coded block.
To DI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne ERRNUM7 ERRNUM6 ERRNUM5 ERRNUM4
Type R R R R
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne ERRNUM3 ERRNUM2 ERRNUM1 ERRNUM0
Type R R R R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
uncorrectable.
US L
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
EO
capability, ECC only can partially detect the situation.
27:24 ERRNUM6 indicates the error numbers of coded block in one start signal. 4'hf means the error is
cn IA
uncorrectable.
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
capability, ECC only can partially detect the situation.
23:20 ERRNUM5 indicates the error numbers of coded block in one start signal. 4'hf means the error is
m. NT
uncorrectable.
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
capability, ECC only can partially detect the situation.
19:16 ERRNUM4 indicates the error numbers of coded block in one start signal. 4'hf means the error is
uncorrectable.
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
.co IDE
capability, ECC only can partially detect the situation.
15:12 ERRNUM3 indicates the error numbers of coded block in one start signal. 4'hf means the error is
uncorrectable.
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
capability, ECC only can partially detect the situation.
11:8 ERRNUM2 indicates the error numbers of coded block in one start signal. 4'hf means the error is
ccn NF uncorrectable.
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
capability, ECC only can partially detect the situation.
7:4 ERRNUM1 indicates the error numbers of coded block in one start signal. 4'hf means the error is
uncorrectable.
ase O
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
capability, ECC only can partially detect the situation.
3:0 ERRNUM0 indicates the error numbers of coded block in one start signal. 4'hf means the error is
uncorrectable.
@ KC
But ECC only can partially detect uncorrectable error. If the error number exceeds the error
capability, ECC only can partially detect the situation.
NE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
in the Table 7.
6 DONE6 indicates the Decoding procedure is done.
M
Y
NL
4 DONE4 indicates the Decoding procedure is done.
US L
0: means the Decode block is under working.
EO
1: means the Decode block is finished. For different DEC_CON and EMPTY_EN in
NFIECC_DECCNFG register, decoder done has different meaning. Detail of the definitions show
cn IA
in the Table 7.
3 DONE3 indicates the Decoding procedure is done.
0: means the Decode block is under working.
1: means the Decode block is finished. For different DEC_CON and EMPTY_EN in
m. NT
NFIECC_DECCNFG register, decoder done has different meaning. Detail of the definitions show
in the Table 7.
2 DONE2 indicates the Decoding procedure is done.
0: means the Decode block is under working.
1: means the Decode block is finished. For different DEC_CON and EMPTY_EN in
NFIECC_DECCNFG register, decoder done has different meaning. Detail of the definitions show
.co IDE
in the Table 7.
1 DONE1 indicates the Decoding procedure is done.
0: means the Decode block is under working.
1: means the Decode block is finished. For different DEC_CON and EMPTY_EN in
NFIECC_DECCNFG register, decoder done has different meaning. Detail of the definitions show
in the Table 7.
0 DONE0 indicates the Decoding procedure is done.
ccn NF
0: means the Decode block is under working.
1: means the Decode block is finished. For different DEC_CON and EMPTY_EN in
NFIECC_DECCNFG register, decoder done has different meaning. Detail of the definitions show
in the Table 7.
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne DEC_EL10
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_EL01
Type R
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne DEC_EL3
Type
M
R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_EL2
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
12:0 DEC_EL2 indicates the error location 2 of the decoding result.
US L
EO
cn IA
1E003924 NFIECC_DECEL2 NFIECC Decoder Error Location2 Register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne DEC_EL5
Type R
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_EL4
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
28:16 DEC_EL5 indicates the error location 5 of the decoding result.
12:0 DEC_EL4 indicates the error location 4 of the decoding result.
ccn NF
1E003928 NFIECC_DECEL3 NFIECC Decoder Error Location3 Register 00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne DEC_EL7
Type R
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_EL6
@ KC
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_EL8
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Y
NL
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_EL10
cn IA
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
28:16 DEC_EL11 indicates the error location 11 of the decoding result.
12:0 DEC_EL10 indicates the error location 10 of the decoding result.
.co IDE
1E003934 NFIECC_DECIRQ NFIECC Decoder IRQ enable Register 0000
EN
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC
_IR
QEN
Type R/W
ccn NF
Reset 0
0: Disable
1: Enable
@ KC
_IR
QST
A
ny AT
Type RC
Reset 0
0: No interrupt is generated.
1: An interrupt is pending and waiting for service. Active when Decoder processing is done.
R E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne FDM_ADDR[31:16]
Type R/W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne FDM_ADDR[15:0]
Type R/W
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
31:0 FDM_ADDR indicates the APB register address of FDM data in NFI module.
cn IA
1E003940 NFIECC_DECFSM NFIECC Decoder FSM 00000000
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mne AUTOC_FSM CHIEN_FSM
Type R/W R
Reset 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne BMA_FSM SYN_FSM
.co IDE
Type R/W R
Reset 0 0 0 0 0 0 0 0 0 0 0
5'd1: BUSY
5'd2: DONE
12:8 BMA_FSM indicates the status of BMA stage.
@ KC
5'd0: IDLE
5'd1: BUSY
5'd2: DONE
5:0 SYN_FSM indicates the status of syndrome stage.
6'd0: IDLE
6'd1: WAITIN
6'd2: BUSY
xia E
6'd4: DONE
ny AT
Type 0 R RR
Reset R R R 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne NFI_ SYN_COUNT_CS
R E
STR
_SET
Type R R
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
13:0 SYN_COUNT_CS indicates the remaining un-processing coded block bits.
US L
EO
cn IA
1E003948 NFIECC_NFIDIDE NFIECC NFI input dataNFI input data Register NA
CNFIDI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Mne NFI_DINFI_DI[31:16]
Type 0
Reset RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne NFI_DINFI_DI[15:0]
Type 0
.co IDE
Reset RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR RR
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mne DEC_SYN1
@ KC
Type R
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
while (NFI_STR==0x1) ; //NFI_STR is happened in NFI address phase. NFI_STR is from NFI.
0 = *NFIECC_ENCIDLE ; //It indicates the start is triggered and Encoder is in busy state.
//Wait all message data from NFI. After all data has input IDLE will be
while (*NFIECC_ENCIDLE==0x1) ;
asserted.
parity = {*NFIECC_PAR0,*NFIECC_PAR1,
*NFIECC_PAR2, *NFIECC_PAR3, //If parity is necessary, Read out parity from APB register after IDLE=1.
*NFIECC_PAR4}
FO
Y
NL
US L
Encoding in DMA mode
EO
Configure Memo
cn IA
while (*NFIECC_ENCIDLE==1) ; //polling IDLE signal until Encoder is available.
*NFIECC_ENCCNFG = 0x10400010; //configure Encoder parameter in NFI mode.
*NFIECC_ENCIRQEN = 0x1; //If IRQ is required when Encoder is done.
*NFIECC_ENCDIADDR= 0x10000000; //Configure Data start address.
m. NT
*NFIECC_ENCCON = 0x1 ; //Encoder starts fetching data from ENCDIADDR.
0 = *NFIECC_ENCIDLE ; //It indicates the start is triggered and Encoder is in busy state.
while (*NFIECC_ENCIDLE==0x1) ; //After all data has fetched and encoded, IDLE will be asserted.
parity = {*NFIECC_PAR0,*NFIECC_PAR1,
// Read out parity from APB register after IDLE=1 and must append parity
.co IDE
*NFIECC_PAR2, *NFIECC_PAR3,
bits behind the original data for decoding.
*NFIECC_PAR4}
//After all data has been written in PIO_DI and encoder has been done, IDLE
while (*NFIECC_ENCIDLE==0x1) ;
will be asserted.
parity = {*NFIECC_PAR0,*NFIECC_PAR1,
// Read out parity from APB register after IDLE=1 and must append parity
*NFIECC_PAR2, *NFIECC_PAR3,
bits behind the original data for decoding.
*NFIECC_PAR4}
xia E
number + parity error number) is bigger than the error_limit, ECC might decode error.
Configure Memo
*NFIECC_DECCNFG = 0x90743010; //configure Decoder parameter in NFI mode.
R E
Y
NL
while (*NFIECC_DECDONE==0xff) //Decoder and correction processor is done.
US L
Additional Usage for detecting error number or uncorrectable error (execute after Done)
EO
while (*NFIECC_DECFSM==0x0) //All Hardware is done
cn IA
ERR_SEC = *NFIECC_FER //Read Error status
for i = 0 : (SEC_NUM-1)
if (ERR_SEC[i] == 1) //If the sector has error
ERR_NUM = *NFIECC_DECENUM //Read Error number
m. NT
end if
//Read Error Location to check if location exceeds coded data size. If error
for i = 0 : (ERR_NUM-1)
location exceeds coded data size, it is an uncorrected decoding sector.
ErrorLocation[i] = *NFIECC_EL0+2i;
.co IDE
end for
end for
*NFIECC_DECCON = 0x0 //Disable Decoder.
//Read Error Location to check if location exceeds coded data size. If error
for i = 0 : (ERR_NUM-1)
location exceeds coded data size, it is an uncorrected decoding sector.
ErrorLocation[i] = *NFIECC_EL0+2i;
end for
end for
To DI
Configure Memo
while (*NFIECC_DECIDLE==1) ; //polling IDLE signal until Decoder is available.
M
Y
NL
while (*NFIECC_DECFSM==0x0) //All Hardware is done
US L
ERR_SEC = *NFIECC_FER //Read Error status
EO
for i = 0 : (SEC_NUM-1) //In PIO mode only support SEC_NUM=1
cn IA
if (ERR_SEC[i] == 1) //If the sector has error
ERR_NUM = *NFIECC_DECENUM //Read Error number
end if
//Read Error Location to check if location exceeds coded data size. If error
m. NT
for i = 0 : (ERR_NUM-1)
location exceeds coded data size, it is an uncorrected decoding sector.
ErrorLocation[i] = *NFIECC_EL0+2i;
end for
end for
.co IDE
*NFIECC_DECCON = 0x0 //Disable Decoder.
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.10 PCM Controller
EO
2.10.1 Features
cn IA
Two clock sources are reserved for PCM circuit. (From internal clock generator, INT_PCM_CLK and
EXT_PCM_CLK)
PCM module can drive a clock out (with fraction-N dividor) to an external codec.
m. NT
Up to 4 channels PCM are available. 4 to 128 slots are configurable.
Each channel supports a-law (8-bit)/u-law (8-bit)/raw-PCM (8-bit and 16-bit) transfer.
Hardware converter of a-law<->raw-16 and u-law <-> raw-16 are implemented in design.
Support long (8 cycle)/short (1 cycle)/configurable (intervals are configurable, use to emulate I S
2
interface) FSYNC.
.co IDE
DATA & FSYNC can be driven and sampled by either rising/falling of clock.
Last bit of DTX can be configured as tri-stated on falling edge.
Beginning of each slot is configurable by 10-bit registers on each channel.
32-byte FIFO are available for each channel
PCM interface can emulate I2S interface (only 16-bit data-width supported ).
ccn NF
MSB/LSB order is configurable.
Supports both a-law/u-law (8-bits) linear PCM(16-bit) and linear PCM(16-bit) a-law/u-law (8-bit)
APBBUS
@ KC
PCM Control
APBBUS LTF
Status Register
xia E
a/ulaw a/ulaw
SYS clock domain
R E
PCM IF/I2S IF
Y
NL
Two clock domains are partitioned in this design. PCM converter (u-law < = > raw-16-bit and A-law < = > raw
US L
16-bit) are implemented in PCM. The threshold of FIFO is configurable. When the threshold is reached, PCM (a)
EO
triggers the DMA interface to notify external DMA engine to transfer data, and (b) triggers an interrupt to the
cn IA
host.
The interrupt sources include:
The threshold is reached.
FIFO is under-run or over-run.
m. NT
A fault is detected at the DMA interface.
The A-law and u-law converter is implemented based on the ITU-G.711 A-law and u-law table. In this design,
both A-law/u-law(8-bit) linear PCM (16-bit) and linear PCM (16-bit) A-law/u-law (8-bit) are supported.
.co IDE
The PCM controller latches the data from DRX at the indicated time slot and then writes it to FIFO. If FIFO
is full, the data is lost.
When the Rx-FIFO reaches the threshold, two actions may be taken:
When DMA_ENA=1, DMA_REQ is asserted to request a burst transfer. It rechecks the FIFO threshold
after DMA_END is asserted by GDMA. (GDMA should be configured before channel is enabled.)
Assert the interrupt source to notify the host. The host can check RFIFO_AVAIL information then get
ccn NF
back the data from FIFO.
The data flow from the PCM controller to codec (Tx-flow) is shown below. After GDMA is configured, software
should configure and enable the PCM channel. The empty FIFO should behave as follows.
ase O
When DMA_ENA=1, DMA_REQ is triggered to request a burst transfer. It then re-checks the FIFO
threshold after DMA_END is asserted by GDMA (a burst is completed).
@ KC
The Interrupt source is asserted to notify HOST. HOST writes the data to Tx-FIFO. After that, HOST
rechecks TFIFO_EMPTY information, and then writes more data if available.
NOTE: When DMA_ENA=1, the burst size of GDMA should be less than the threshold value.
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.10.3 List of Registers
EO
PCM Changes LOG
cn IA
Revision Date Author Change Log
0.1 2012/10/8 Paddy Wu Initialization
m. NT
Module name: PCM Base address: (+1E002000h)
Address Name Widt Register Function
h
.co IDE
1E002000 GLB_CFG 32 Global Config
1E002004 PCM_CFG 32 PCM configuration
1E002008 INT_STATUS 32 Interrupt status
1E00200C INT_EN 32 Interrupt enable
1E002010 CHA0_FF_STATU 32 Channel A0(represents channel 0) FIFO status
S
ccn NF
1E002014 CHB0_FF_STATU 32 Channel B0(represents channel 1) FIFO status
S
1E002020 CHA0_CFG 32 Channel A0(represents channel 0) Config
1E002024 CHB0_CFG 32 Channel B0(represents channel 1) Config
ase O
Y
NL
EN N N K_E
US L
N
EO
Type RW RW RW RW RO RW RO RW
Reset 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV2 CH_EN
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31 PCM_EN PCM Enable
When disabled, all FSM of PCM are cleared to their default value.
0: disable
1: enable
.co IDE
30 DMA_EN DMA Enable
0: Disable the DMA interface, transfer data using software.
1: Enable the DMA interface, transfer data using DMA.
0: disable
1: enable
29 LBK_EN loopback enable, loopback path is shown as (Asyn-TXFIFO ->DTX -> DRX->Asyn-
ccn NF RXFIFO)
0: disable
1: enable
28 EXT_LBK_EN loopback enable, loopback path is shown as (Ext-Codec->DRX->DTX->Ext-
Codec)
0: disable
ase O
1: enable
27:23 RSV0 Reserved
@ KC
19 RSV1 Reserved
18:16 TFF_THRES TXFIFO Threshold
When the threshold is reached, the host/DMA is notified to fill FIFO.
ny AT
0: disable
1: enable
R E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CL EXT LO FSY
DT
RS KO _FS NG NC
RSV1 X_T RSV2[20:13]
V0 UT_ YN _SY _P
RI
EN C NC OL
Type RO RW RO RW RW RW RW RO
Reset 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FO
Y
NL
Name RSV2[12:0] SLOT_MODE
US L
Type RO RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31 RSV0 Reserved
30 CLKOUT_EN PCM Clock Out Enable
m. NT
0: A PCM clock is provided from the external Codec/OSC.
1: A PCM clock is provided from the internal dividor.
NOTE: Normally, the register should be asserted to 1. Also, it should be asserted after
configuring the divider and enabling the divider clock.
0: EXT_CLK
1: INT_DIV
.co IDE
29:28 RSV1 Reserved
27 EXT_FSYNC FSYNC is provided externally
0: FSYNC is generated by internal circuit.
1: FSYNC is provided externally
26 LONG_SYNC FSYNC Mode
0: Short FSYNC
1: Long FSYNC
ccn NF
25 FSYNC_POL FSYNC Polarity
0: FSYNC is low active
1: FSYNC is high active
24 DTX_TRI DTX Tri-State
ase O
Tristates DTX when the clock signal on the last bit is has a falling edge.
0: Non- tristate DTX
1: Tristate DTX
@ KC
Other: Reserved.
NOTE: When using the external clock, the frequency clock should be equal to
PCM_clock out. Otherwise, the PCM_CLKin should be 8.192 MHz.
ny AT
0: _4_SLOT
1: _8_SLOT
2: _16_SLOT
3: _32_SLOT
4: _64_SLOT
5: _128_SLOT
To DI
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
M
Name RSV0[23:8]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
CH CH CH
CH CH CH
CH
T_D R_ R_ R_
T_O T_U T_T R_T
RSV0[7:0] MA DM OV UN
VR NR HR HR
_FA A_F RU RU
UN UN ES ES
ULT AU N N
FO
Y
NL
LT
US L
Type RO
W1 W1 W1 W1 W1 W1 W1 W1
EO
C C C C C C C C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:8 RSV0 Reserved
7 CHT_DMA_FAULT Channel Tx DMA Fault Interrupt, Asserts when a fault has been detected in a CH-
m. NT
Tx DMA signal.
6 CHT_OVRUN Channel Tx FIFO Overrun Interrupt, Asserts when the CH-Tx FIFO is overrun.
5 CHT_UNRUN Channel Tx FIFO Underrun Interrupt, Asserts when the CH-Tx FIFO is underrun.
4 CHT_THRES Channel Tx Threshold Interrupt, Asserts when the CH-Tx FIFO is lower than the
defined threshold.
.co IDE
3 CHR_DMA_FAULT Channel Rx DMA Fault Interrupt, Asserts when a fault is detected in a CH-Rx
DMA signal.
2 CHR_OVRUN Channel Rx Overrun Interrupt, Asserts when the CH-Rx FIFO is overrun.
1 CHR_UNRUN Channel Rx Underrun Interrupt, Asserts when the CH-Rx FIFO is underrun.
0 CHR_THRES Channel Rx Threshold Interrupt, Asserts when the CH-Rx FIFO is lower than the
defined threshold.
ccn NF
1E00200C INT_EN Interrupt enable 0000000
0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[23:8]
@ KC
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name INT INT INT INT INT INT INT INT
RSV0[7:0] 7_E 6_E 5_E 4_E 3_E 2_E 1_E 0_E
N N N N N N N N
Type RO RW RW RW RW RW RW RW RW
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E002010 CHA0_FF_ST Channel A0(represents channel 0) FIFO status 0010000
US L
EO
ATUS 8
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name CH CH
CH CH CH CH CH CH
TX_ RX_
TX_ TX_ TX_ RX_ RX_ RX_
DM DM
RSV0 OV UN TH OV UN TH
A_F A_F
RU RU RE RU RU RE
AU AU
m. NT
N N S N N S
LT LT
Type W1 W1 W1 W1 W1 W1 W1 W1
RO
C C C C C C C C
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name RSV1 CHRFF_AVCNT CHTFF_EPCNT
Type RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
ATUS 8
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH CH
CH CH CH CH CH CH
TX_ RX_
TX_ TX_ TX_ RX_ RX_ RX_
R E
DM DM
RSV0 OV UN TH OV UN TH
A_F A_F
RU RU RE RU RU RE
AU AU
N N S N N S
M
LT LT
Type W1 W1 W1 W1 W1 W1 W1 W1
RO
C C C C C C C C
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV1 CHRFF_AVCNT CHTFF_EPCNT
Type RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
FO
Y
NL
Bit(s) Name Description
US L
31:24 RSV0 Reserved
EO
23 CHTX_DMA_FAULT Tx DMA Fault Detected Interrupt,Asserts when a fault is detected in a Channel B0
cn IA
Tx DMA signal.
22 CHTX_OVRUN Tx Overrun Interrupt,Asserts when the Channel B0 Tx FIFO is overrun.
21 CHTX_UNRUN Tx FIFO Underrun Interrupt,Asserts when the Channel B0 Tx FIFO is underrun.
20 CHTX_THRES Tx FIFO Below Threshold Interrupt,Asserts when the Channel B0 FIFO is lower
m. NT
than the defined threshold.
19 CHRX_DMA_FAULT Rx DMA Fault Detected Interrupt,Asserts when a fault is detected in a Channel B0
Rx DMA signal.
18 CHRX_OVRUN Rx FIFO Overrun Interrupt,Asserts when the Channel B0 Rx FIFO is overrun.
17 CHRX_UNRUN Rx FIFO Underrun Interrupt,Asserts when the Channel B0 Rx FIFO is underrun.
.co IDE
16 CHRX_THRES Rx FIFO Below Threshold Interrupt,Asserts when the Channel B0 FIFO is lower
than the defined threshold.
15:8 RSV1 Reserved
7:4 CHRFF_AVCNT Channel B0 RXFIFO Available Space Count,Counts the available space for reads
in channel B0 RXFIFO.(unit: word)
3:0 CHTFF_EPCNT Channel B0 TXFIFO Available Space Count,Counts the available space for writes
ccn NF in channel B0 TXFIFO.(unit: word)
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0 CMP_MODE
@ KC
RSV1[16:6]
Type RO RW RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV1[5:0] TS_START
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
xia E
100: Enable HW converter, raw data(16-bit) ? U-law mode (8-bit) (PCM bus in
compressed format)
101: Enable HW converter, u-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw, 16-
bit format)
110: Enable HW converter, raw data (16-bit) ? A-law mode (8-bit) (PCM bus in
R E
compressed format)
111: Enable HW converter, A-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw,
16-bit format)
M
0: DIS_CONV16
2: DIS_CONV8
4: EN_ULW2R
5: EN_R2ULW
6: EN_ALW2R
7: EN_R2ALW
26:10 RSV1 Reserved
9:0 TS_START Timeslot starting location
(unit: clock cycles)
FO
Y
NL
US L
EO
1E002024 CHB0_CFG Channel B0(represents channel 1) Config 0000000
cn IA
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0 CMP_MODE RSV1[16:6]
Type RO RW RO
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV1[5:0] TS_START
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
.co IDE
Bit(s) Name Description
31:30 RSV0 Reserved
29:27 CMP_MODE Compression Mode
Sets the conversion method for the hardware converter to compress raw data.
000: Disable HW converter, linear raw data (16-bit)
010: Disable HW converter, linear raw data (8-bit), A-law or u-law (8-bit)
ccn NF
011: Reserved
100: Enable HW converter, raw data(16-bit) ? U-law mode (8-bit) (PCM bus in
compressed format)
101: Enable HW converter, u-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw, 16-
bit format)
110: Enable HW converter, raw data (16-bit) ? A-law mode (8-bit) (PCM bus in
ase O
compressed format)
111: Enable HW converter, A-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw,
16-bit format)
@ KC
0: DIS_CONV16
2: DIS_CONV8
4: EN_ULW2R
5: EN_R2ULW
6: EN_ALW2R
7: EN_R2ALW
26:10 RSV1 Reserved
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CF PO PO
PO PO
G_F S_C S_D
S_C S_D
SY AP_ RV_ RSV0 RSV1[11:6]
AP_ RV_
NC FSY FSY
R E
DT DT
_EN NC NC
Type RW RW RW RW RW RO RO
Reset 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV1[5:0] FSYNC_INTV
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
negative or positive edge of the PCM clock. NOTE: This configuration should be
0 if DTX_TRI=1.
US L
EO
29 POS_DRV_DT Positive Edge Drive Data, Sets the PCM controller to drive data on the negative or
positive edge of the PCM clock.
cn IA
28 POS_CAP_FSYNC Positive Edge Capture FSYNC, Sets the PCM controller to capture FSYNC on the
positive or negative edge of the PCM clock.
27 POS_DRV_FSYNC Positive Edge Driver FSYNC, Sets the PCM controller to drive FSYNC on the
negative or positive edge of the PCM clock.
m. NT
26:22 RSV0 Reserved
21:10 RSV1 Reserved
9:0 FSYNC_INTV Interval when FSYNC may be configured.
(unit: clock cycles)
.co IDE
1E002034 CHA0_CFG2 Channel A0(represents channel 0) Config 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[27:12]
ccn NF
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH CH
_RX _TX CH
RS
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0: Normal operation
1: Clear this bit
1 RSV1 Reserved
0 CH_LSB Enable CH A0 Tx in LSB order.
To DI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[27:12]
M
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH CH
_RX _TX CH
RS
RSV0[11:0] FF_ FF_ _LS
V1
CL CL B
R R
Type RO RW RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
31:4 RSV0 Reserved
cn IA
3 CH_RXFF_CLR Channel B0 Rx FIFO Clear
0: Normal operation
1: Clear this bit
2 CH_TXFF_CLR Channel B0 Tx FIFO Clear
m. NT
0: Normal operation
1: Clear this bit
1 RSV1 Reserved
0 CH_LSB Enable CH B0 Tx in LSB order.
.co IDE
1E002040 IP_INFO IP version info 0000040
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0
Type
ccn NF RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name MAX_CH VER
Type RO RO
Reset 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SPARE_REG
To DI
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
N
US L
Type RW RO
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name RSV0[7:0] DIVCOMP
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31 CLK_EN Clock Enable
Enables setting of the PCM interface clock based on DIVCOMP and DIVINT
parameters.
30:8 RSV0 Reserved
.co IDE
7:0 DIVCOMP A parameter in an equation which determines FREQOUT. See DIVINT.
TX
D_ EN_ EN EN EN
D_
CL CL N_ P_ RS PD_
RSV0 GL RSV1 RSV2
R_ R_ GL GL V3 GL
T_S
GL GL T_S T_S T_S
T
T T T T T
R E
Type RW RW RO RW RO RW RO RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TX CH
D_ EN_
DIG DIG
RSV4 TXD_DLYVAL RSV5 CHEN_DLYVAL
DL DL
Y_E Y_E
N N
Type RW RO RW RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
FO
Y
NL
Bit(s) Name Description
US L
31 TXD_CLR_GLT TXD Clear Glitch Flag
EO
Clears the glitch detected flag for TXD.
0: No effect.
cn IA
1: Clear the flag.
30 CHEN_CLR_GLT Channel Enable (CHEN) Clear Glitch Flag
Clears the glitch detected flag for CHEN.
0: No effect .
m. NT
1: Clear the flag.
29:27 RSV0 Reserved
26 TXD_GLT_ST TXD Glitch Status
Indicates if a glitch is detected in a TXD signal. It can be cleared by bit[31].
0: Not detected.
.co IDE
1: Detected
25:23 RSV1 Reserved
22 CHENN_GLT_ST CHEN Negative Glitch Status
Indicates if a glitch is detected in a CHEN signal. It can be cleared by bit[30] (negedge
sample).
0: Not detected.
1: Detected
ccn NF
21:19 RSV2 Reserved
18 CHENP_GLT_ST CHEN Positive Glitch Status
Indicates if a glitch is detected in a CHEN signal. It can be cleared by bit[30] (posedge
sample).
0: Not detected.
ase O
1: Detected
17 RSV3 Reserved
@ KC
0: Disable
1: Enable
14:13 RSV4 Reserved
ny AT
Y
NL
Period is 1/240 MHz = 4.1667 ns in MT7620.
US L
EO
cn IA
1E002080 CH0_FIFO Channel 0 FIFO access point 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH0_FIFO[31:16]
m. NT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH0_FIFO[15:0]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name CH1_FIFO[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH2_FIFO[15:0]
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
Name CH3_FIFO[31:16]
US L
Type RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name CH3_FIFO[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:0 CH3_FIFO Channel 3 FIFO access point
.co IDE
1E002110 CHA0_FF_ST Channel A1(represents channel 3) FIFO status 0010000
ATUS 8
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH
CH CH CH
CH
CH CH CH
TX_ RX_
TX_ TX_ TX_ RX_ RX_ RX_
DM DM
RSV0 OV UN TH OV UN TH
A_F A_F
ccn NF RU RU RE RU RU RE
AU AU
N N S N N S
LT LT
Type W1 W1 W1 W1 W1 W1 W1 W1
RO
C C C C C C C C
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ase O
7:4 CHRFF_AVCNT Channel A1 RXFIFO Available Space Count,Counts the available space for reads
in channel A1 RXFIFO.(unit: word)
3:0 CHTFF_EPCNT Channel A1 TXFIFO Available Space Count,Counts the available space for writes
M
Y
NL
TX_ TX_ TX_ TX_ RX_ RX_ RX_ RX_
US L
DM OV UN TH DM OV UN TH
EO
A_F RU RU RE A_F RU RU RE
AU N N S AU N N S
cn IA
LT LT
Type RO
W1 W1 W1 W1 W1 W1 W1 W1
C C C C C C C C
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name RSV1 CHRFF_AVCNT CHTFF_EPCNT
Type RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
.co IDE
31:24 RSV0 Reserved
23 CHTX_DMA_FAULT Tx DMA Fault Detected Interrupt,Asserts when a fault is detected in a Channel B1
Tx DMA signal.
22 CHTX_OVRUN Tx Overrun Interrupt,Asserts when the Channel B0 Tx FIFO is overrun.
21 CHTX_UNRUN Tx FIFO Underrun Interrupt,Asserts when the Channel B1 Tx FIFO is underrun.
20 CHTX_THRES Tx FIFO Below Threshold Interrupt,Asserts when the Channel B1 FIFO is lower
ccn NF than the defined threshold.
19 CHRX_DMA_FAULT Rx DMA Fault Detected Interrupt,Asserts when a fault is detected in a Channel B1
Rx DMA signal.
18 CHRX_OVRUN Rx FIFO Overrun Interrupt,Asserts when the Channel B1 Rx FIFO is overrun.
17 CHRX_UNRUN Rx FIFO Underrun Interrupt,Asserts when the Channel B1 Rx FIFO is underrun.
ase O
16 CHRX_THRES Rx FIFO Below Threshold Interrupt,Asserts when the Channel B1 FIFO is lower
than the defined threshold.
@ KC
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0 CMP_MODE RSV1[16:6]
Type RO RW RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV1[5:0] TS_START
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
R E
Y
NL
110: Enable HW converter, raw data (16-bit) ? A-law mode (8-bit) (PCM bus in
compressed format)
US L
EO
111: Enable HW converter, A-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw,
16-bit format)
0: DIS_CONV16
cn IA
2: DIS_CONV8
4: EN_ULW2R
5: EN_R2ULW
6: EN_ALW2R
7: EN_R2ALW
m. NT
26:10 RSV1 Reserved
9:0 TS_START Timeslot starting location
(unit: clock cycles)
.co IDE
1E002124 CHB1_CFG Channel B1(represents channel 1) Config 0000000
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0 CMP_MODE RSV1[16:6]
Type RO RW RO
ccn NF
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RSV1[5:0] TS_START
Type RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
ase O
compressed format)
101: Enable HW converter, u-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw, 16-
bit format)
ny AT
110: Enable HW converter, raw data (16-bit) ? A-law mode (8-bit) (PCM bus in
compressed format)
111: Enable HW converter, A-law mode (8-bit) ? raw data (16-bit) (PCM bus in raw,
16-bit format)
0: DIS_CONV16
2: DIS_CONV8
4: EN_ULW2R
To DI
5: EN_R2ULW
6: EN_ALW2R
7: EN_R2ALW
26:10 RSV1 Reserved
R E
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Name CH CH
_RX _TX CH
RS
cn IA
RSV0[11:0] FF_ FF_ _LS
V1
CL CL B
R R
Type RO RW RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:4 RSV0 Reserved
3 CH_RXFF_CLR Channel A1 Rx FIFO Clear
.co IDE
0: Normal operation
1: Clear this bit
2 CH_TXFF_CLR Channel A1 Tx FIFO Clear
0: Normal operation
1: Clear this bit
1 RSV1 Reserved
0 CH_LSB Enable CH A1 Tx in LSB order.
ccn NF
1E002138 CHB1_CFG2 Channel B1(represents channel 4) Config 0000000
0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RSV0[27:12]
@ KC
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH CH
_RX _TX CH
RS
RSV0[11:0] FF_ FF_ _LS
V1
CL CL B
R R
xia E
Type RO RW RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
1 RSV1 Reserved
0 CH_LSB Enable CH B1 Tx in LSB order.
FOM
Y
NL
US L
2.10.4 PCM Configuration
EO
PCM Initialization Flow
1. Set PCM_CFG
cn IA
2. Set CH0/1_CFG
3. Write PCM data to FIFO CH0/1_FIFO
4. Set GLB_CFG to enable the PCM and channel.
m. NT
5. Set dividor clock
6. Enable clock
7. Monitor FF_STATUS to receive/transmit the other PCM data.
.co IDE
Below are some examples of PCM configuration.
Case 1:
CFG_FSYNC Register: CFG_FSYNC_EN = 0 (PS: fsync is always driven at SLOT_CNT=1)
CH0_CFG Register: TS_START=1
ccn NF
CH1_CFG Register: TS_START=9
PCM_CFG Register: LONG_FSYNC=1’b0, FSYNC_POL=1’b1, DRX_TRI=1’b0, SLOT_MODE=3’b0
ase O
@ KC
xia E
Case 2:
ny AT
Y
NL
US L
EO
Case 3:
cn IA
CFG_FSYNC Register: CFG_FSYNC_EN = 1, START_LOC=0x1A, interval=2
CH0_CFG Register: TS_START=1 (disable)
CH1_CFG Register: TS_START=0x1A
PCM_CFG Register: LONG_FSYNC=1’b0, FSYNC_POL=1’b0 (LOW active), DRX_TRI=1’b0, SLOT_MODE=3’b0,
m. NT
RAW16-bits
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.11 Generic DMA Controller
EO
2.11.1 Features
cn IA
Supports 16 DMA channels
Supports 32 bit address.
Maximum 65535 byte transfer
m. NT
Programmable DMA burst size (1, 2, 4, 8, 16 double word burst)
Supports memory to memory, memory to peripheral, peripheral to memory, peripheral to peripheral
transfers.
Supports continuous mode.
Supports division of target transfer count into 1 to 256 segments
.co IDE
Support for combining different channels into a chain.
Programmable hardware channel priority.
Interrupts for each channel.
DMA
Interface
xia E
Arbiter
ny AT
Interrupt
Interface Ch0 APBbus
To DI
Interrupt Interface
Controller ABbus (Slave)
Mux
Slave
R E
Ch"n"
M
Y
NL
2.11.3 Peripheral Channel Connection
US L
EO
Channel number Peripheral
0 Reserved
cn IA
1 Reserved
2 I2S Controller (TXDMA)
3 I2S Controller (RXDMA)
m. NT
4 PCM Controller (RDMA, channel-0)
5 PCM Controller (RDMA, channel-1)
6 PCM Controller (TDMA, channel-0)
.co IDE
7 PCM Controller (TDMA, channel-1)
8 PCM Controller (RDMA, channel-2)
9 PCM Controller (RDMA, channel-3)
10 PCM Controller (TDMA, channel-2)
11 PCM Controller (TDMA, channel-3)
ccn NF
12 SPI Controller (RXDMA)
13 SPI Controller (TXDMA)
8 to 15 Reserved
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.11.4 Registers
EO
GDMA Changes LOG
cn IA
Revision Date Author Change Log
0.1 2012/10/15 Mark Wang Initialization
m. NT
Module name: GDMA Base address: (+1E002800h)
Address Name Widt Register Function
h
.co IDE
1E002800 GDMA_SA_0 32 Source Address of GDMA Channel 0
1E002804 GDMA_DA_0 32 Destination Address of GDMA Channel 0
1E002808 GDMA_CT0_0 32 Control Register 0 of GDMA Channel 0
1E00280C GDMA_CT1_0 32 Control Register 1 of GDMA Channel 0
1E002810 GDMA_SA_1 32 Source Address of GDMA Channel 1
1E002814 GDMA_DA_1 32 Destination Address of GDMA Channel 1
ccn NF
1E002818 GDMA_CT0_1 32 Control Register 0 of GDMA Channel 1
1E00281C GDMA_CT1_1 32 Control Register 1 of GDMA Channel 1
1E002820 GDMA_SA_2 32 Source Address of GDMA Channel 2
1E002824 GDMA_DA_2 32 Destination Address of GDMA Channel 2
ase O
Y
NL
1E00288C GDMA_CT1_8 32 Control Register 1 of GDMA Channel 8
US L
1E002890 GDMA_SA_9 32 Source Address of GDMA Channel 9
EO
1E002894 GDMA_DA_9 32 Destination Address of GDMA Channel 9
cn IA
1E002898 GDMA_CT0_9 32 Control Register 0 of GDMA Channel 9
1E00289C GDMA_CT1_9 32 Control Register 1 of GDMA Channel 9
1E0028A0 GDMA_SA_10 32 Source Address of GDMA Channel 10
m. NT
1E0028A4 GDMA_DA_10 32 Destination Address of GDMA Channel 10
1E0028A8 GDMA_CT0_10 32 Control Register 0 of GDMA Channel 10
1E0028AC GDMA_CT1_10 32 Control Register 1 of GDMA Channel 10
1E0028B0 GDMA_SA_11 32 Source Address of GDMA Channel 11
1E0028B4 GDMA_DA_11 32 Destination Address of GDMA Channel 11
.co IDE
1E0028B8 GDMA_CT0_11 32 Control Register 0 of GDMA Channel 11
1E0028BC GDMA_CT1_11 32 Control Register 1 of GDMA Channel 11
1E0028C0 GDMA_SA_12 32 Source Address of GDMA Channel 12
1E0028C4 GDMA_DA_12 32 Destination Address of GDMA Channel 12
1E0028C8 GDMA_CT0_12 32 Control Register 0 of GDMA Channel 12
ccn NF
1E0028CC GDMA_CT1_12 32 Control Register 1 of GDMA Channel 12
1E0028D0 GDMA_SA_13 32 Source Address of GDMA Channel 13
1E0028D4 GDMA_DA_13 32 Destination Address of GDMA Channel 13
1E0028D8 GDMA_CT0_13 32 Control Register 0 of GDMA Channel 13
ase O
Y
NL
1E002A4C GDMA_PERI_ADD 32 Peripheral Region 3 End Address
US L
R_END_3
EO
cn IA
1E002800 GDMA_SA_0 Source Address of GDMA Channel 0 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
.co IDE
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO SE
R E
DE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
M
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
US L
7 SOURCE_ADDR_MO Sets the source address mode
EO
DE 0: Incremental mode
1: Fix mode
cn IA
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
m. NT
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
.co IDE
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
1: Enable
1
ccn NF
CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
ase O
request is asserted.
0: Hardware mode
1: Software mode
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
To DI
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
R E
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
32: The source of the transfer is memory (always ready)
US L
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
EO
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
cn IA
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
m. NT
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
.co IDE
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
0: Channel 0
1: Channel 1
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
ccn NF this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
ase O
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
@ KC
by HW/SW.
0: Channel is not masked
1: Channel is masked
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ny AT
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
To DI
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Name DEST_ADDR[15:0]
US L
Type RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:0 DEST_ADDR Destination address
m. NT
1E002818 GDMA_CT0_1 Control Register 0 of GDMA Channel 1 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
.co IDE
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO
DE
SE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
ccn NF CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
0: Incremental mode
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
ny AT
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
To DI
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
R E
0: Disable
1: Enable
M
Y
NL
US L
EO
1E00281C GDMA_CT1_1 Control Register 1 of GDMA Channel 1 0000000
cn IA
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
.co IDE
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
25:22 NUM_SEGMENT the number of segments=2N, where N is the value of this field. Valid values for
this field are N=0 to 8. The segment size=(TARGET_BYTE_CNT/2N). It the
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
ase O
{(TARGET_BYTE_CNT/2N) + 1}.
21:16 SOURCE_DMA_REQ Selects the source DMA request
0: DMA_REQ0
@ KC
1: DMA_REQ1
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
xia E
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
To DI
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
M
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
FO
Y
NL
by HW/SW.
US L
0: Channel is not masked
EO
1: Channel is masked
cn IA
1E002820 GDMA_SA_2 Source Address of GDMA Channel 2 0000000
0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEST_ADDR[31:16]
Type RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Name SO
DE
SE
UR GM
ST_ SW
CE_ EN
M
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
31:16 TARGET_BYTE_CNT The number of bytes to be transferred
US L
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
EO
7 SOURCE_ADDR_MO Sets the source address mode
cn IA
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
m. NT
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
.co IDE
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
ccn NF 1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
1: Enable
ase O
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
@ KC
0: Hardware mode
1: Software mode
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
ny AT
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
RE HE CH
To DI
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
R E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
1: DMA_REQ1
2: DMA_REQ2
US L
EO
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
cn IA
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
m. NT
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
.co IDE
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
0: Channel 0
1: Channel 1
n: Channel n
2
ccn NF
COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
ase O
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
1: Channel is masked
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
To DI
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Name DEST_ADDR[15:0]
Type RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
1E002838 GDMA_CT0_3 Control Register 0 of GDMA Channel 3 0000000
0
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO
DE
SE
UR GM
ccn NF ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
ase O
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
ny AT
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
To DI
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
R E
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
M
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
FO
Y
NL
0: Hardware mode
1: Software mode
US L
EO
cn IA
1E00283C GDMA_CT1_3 Control Register 1 of GDMA Channel 3 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
.co IDE
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO
ccn NF
RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
R E
0: Channel 0
1: Channel 1
n: Channel n
M
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
FO
Y
NL
1: Enable
US L
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
EO
by HW/SW.
0: Channel is not masked
cn IA
1: Channel is masked
m. NT
1E002840 GDMA_SA_4 Source Address of GDMA Channel 4 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO SE
M
DE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
31:16 TARGET_BYTE_CNT The number of bytes to be transferred
cn IA
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
7 SOURCE_ADDR_MO Sets the source address mode
DE 0: Incremental mode
1: Fix mode
m. NT
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
.co IDE
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
ccn NF
T_EN segment is done.
0: Disable
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
ase O
0: Disable
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
@ KC
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
0: Hardware mode
1: Software mode
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
To DI
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
R E
DE_ AIL
ED INT K
EN _IN
_EN
T_E
M
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
21:16 SOURCE_DMA_REQ Selects the source DMA request
US L
0: DMA_REQ0
EO
1: DMA_REQ1
2: DMA_REQ2
cn IA
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
m. NT
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
.co IDE
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
0: Channel 0
ccn NF 1: Channel 1
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
ase O
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
@ KC
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
1: Channel is masked
xia E
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Name DEST_ADDR[31:16]
US L
Type RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:0 DEST_ADDR Destination address
.co IDE
1E002858 GDMA_CT0_5 Control Register 0 of GDMA Channel 5 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name SO SE
DE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
ase O
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
R E
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
M
Y
NL
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
US L
EO
0: Hardware mode
1: Software mode
cn IA
1E00285C GDMA_CT1_5 Control Register 1 of GDMA Channel 5 0000000
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
ccn NF T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
ny AT
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
R E
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
M
0: Channel 0
1: Channel 1
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
FO
Y
NL
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
US L
0: Disable
EO
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
cn IA
by HW/SW.
0: Channel is not masked
1: Channel is masked
m. NT
1E002860 GDMA_SA_6 Source Address of GDMA Channel 6 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
.co IDE
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
31:0 SOURCE_ADDR Souce address
ase O
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
xia E
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO
DE
SE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
FO
Y
NL
Type RO RW RW RW RW RW RW
Reset
US L
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit(s) Name Description
cn IA
31:16 TARGET_BYTE_CNT The number of bytes to be transferred
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
7 SOURCE_ADDR_MO Sets the source address mode
m. NT
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
.co IDE
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
ccn NF
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
1: Enable
ase O
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
0: Hardware mode
1: Software mode
xia E
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
R E
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
M
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
{(TARGET_BYTE_CNT/2N) + 1}.
US L
EO
21:16 SOURCE_DMA_REQ Selects the source DMA request
0: DMA_REQ0
cn IA
1: DMA_REQ1
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
m. NT
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
.co IDE
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
ccn NF channel itself.
0: Channel 0
1: Channel 1
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
ase O
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
@ KC
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
xia E
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name DEST_ADDR[31:16]
Type RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
1E002878 GDMA_CT0_7 Control Register 0 of GDMA Channel 7 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
ccn NF
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO
DE
SE
UR GM
ST_ SW
ase O
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
@ KC
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
To DI
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
R E
3: 8 DWs
4: 16 DWs
5: Undefined
M
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
FO
Y
NL
1: Enable
US L
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
EO
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
cn IA
0: Hardware mode
1: Software mode
m. NT
1E00287C GDMA_CT1_7 Control Register 1 of GDMA Channel 7 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
.co IDE
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV
ccn NF NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
Reset
ase O
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25:22 NUM_SEGMENT the number of segments=2N, where N is the value of this field. Valid values for
this field are N=0 to 8. The segment size=(TARGET_BYTE_CNT/2N). It the
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
{(TARGET_BYTE_CNT/2N) + 1}.
21:16 SOURCE_DMA_REQ Selects the source DMA request
0: DMA_REQ0
1: DMA_REQ1
xia E
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
ny AT
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8 DEST_DMA_REQ Selects the destination DMA request
To DI
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
R E
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
M
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
0: Channel 0
1: Channel 1
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
FO
Y
NL
1: Enable
US L
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
EO
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
cn IA
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
m. NT
1: Channel is masked
.co IDE
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
ccn NF
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
ny AT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
M
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO DE SE
SW
UR ST_ GM
_M
CE_ AD EN CH
CURR_SEGMENT BURST_SIZE OD
AD DR T_D _EN
E_E
DR _M ON
N
_M OD E_I
FO
Y
NL
OD E NT_
US L
E EN
EO
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:16 TARGET_BYTE_CNT The number of bytes to be transferred
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
m. NT
7 SOURCE_ADDR_MO Sets the source address mode
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
.co IDE
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
ccn NF
5: Undefined
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
ase O
0: Disable
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
@ KC
1: Software mode
ny AT
_U
CO
CO NM
RE HE CH
NT_ AS
M
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
25:22 NUM_SEGMENT the number of segments=2N, where N is the value of this field. Valid values for
US L
this field are N=0 to 8. The segment size=(TARGET_BYTE_CNT/2N). It the
EO
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
{(TARGET_BYTE_CNT/2N) + 1}.
cn IA
21:16 SOURCE_DMA_REQ Selects the source DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
m. NT
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
.co IDE
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
ccn NF CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
0: Channel 0
1: Channel 1
n: Channel n
ase O
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
@ KC
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
1: Enable
xia E
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
ny AT
1: Channel is masked
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
M
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E002894 GDMA_DA_9 Destination Address of GDMA Channel 9 0000000
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:0 DEST_ADDR Destination address
SO SE
DE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
@ KC
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
0: Incremental mode
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
R E
1: 2 DWs
2: 4 DWs
3: 8 DWs
M
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
FO
Y
NL
bytes transfferred reaches the TARGET_BYTE_CNT
US L
0: Disable
EO
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
cn IA
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
0: Hardware mode
1: Software mode
m. NT
1E00289C GDMA_CT1_9 Control Register 1 of GDMA Channel 9 0000000
0
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
ccn NF
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
ase O
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
ny AT
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
M
Y
NL
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
US L
0: Disable
EO
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
cn IA
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
m. NT
by HW/SW.
0: Channel is not masked
1: Channel is masked
.co IDE
1E0028A0 GDMA_SA_10 Source Address of GDMA Channel 10 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO DE SE SW
UR ST_ GM CH _M
CURR_SEGMENT BURST_SIZE
CE_ AD EN _EN OD
AD DR T_D E_E
FO
Y
NL
DR _M ON N
US L
_M OD E_I
EO
OD E NT_
E EN
cn IA
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
31:16 TARGET_BYTE_CNT The number of bytes to be transferred
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
7 SOURCE_ADDR_MO Sets the source address mode
DE 0: Incremental mode
1: Fix mode
.co IDE
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
ccn NF
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
ase O
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
1: Enable
@ KC
request is asserted.
0: Hardware mode
1: Software mode
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
M
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
25:22 NUM_SEGMENT the number of segments=2N, where N is the value of this field. Valid values for
cn IA
this field are N=0 to 8. The segment size=(TARGET_BYTE_CNT/2N). It the
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
{(TARGET_BYTE_CNT/2N) + 1}.
21:16 SOURCE_DMA_REQ Selects the source DMA request
0: DMA_REQ0
m. NT
1: DMA_REQ1
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
.co IDE
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
ccn NF
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
ase O
0: Channel 0
1: Channel 1
n: Channel n
@ KC
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
xia E
0: Disable
1: Enable
ny AT
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
1: Channel is masked
To DI
Name SOURCE_ADDR[31:16]
Type RW
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E0028B4 GDMA_DA_11 Destination Address of GDMA Channel 11 0000000
cn IA
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEST_ADDR[31:16]
Type RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:0 DEST_ADDR Destination address
1E0028B8
ccn NF
GDMA_CT0_1 Control Register 0 of GDMA Channel 11 0000000
1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO SE
DE
@ KC
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
Type RO RW RW RW RW RW RW
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
R E
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
M
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
FO
Y
NL
1: Enable
US L
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
EO
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
cn IA
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
m. NT
0: Hardware mode
1: Software mode
.co IDE
1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ase O
ED INT K
EN _IN
_EN
T_E
N
@ KC
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
{(TARGET_BYTE_CNT/2N) + 1}.
21:16 SOURCE_DMA_REQ Selects the source DMA request
ny AT
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
To DI
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
M
Y
NL
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
US L
the last write to destination to avoid data coherent problem. Note: DO NOT set
EO
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
cn IA
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
m. NT
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
1: Channel is masked
.co IDE
1E0028C0 GDMA_SA_12 Source Address of GDMA Channel 12 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
ccn NF
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEST_ADDR[31:16]
ny AT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
CE_ AD EN OD
US L
AD DR T_D E_E
EO
DR _M ON N
_M OD E_I
cn IA
OD E NT_
E EN
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:16 TARGET_BYTE_CNT The number of bytes to be transferred
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
7 SOURCE_ADDR_MO Sets the source address mode
.co IDE
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
ccn NF
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
ase O
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
@ KC
0: Disable
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
1: Enable
xia E
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
ny AT
0: Hardware mode
1: Software mode
To DI
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
M
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
FO
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
25:22 NUM_SEGMENT the number of segments=2N, where N is the value of this field. Valid values for
this field are N=0 to 8. The segment size=(TARGET_BYTE_CNT/2N). It the
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
{(TARGET_BYTE_CNT/2N) + 1}.
21:16 SOURCE_DMA_REQ Selects the source DMA request
m. NT
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
.co IDE
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8 DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
1: DMA_REQ1
ccn NF 2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
ase O
channel itself.
0: Channel 0
1: Channel 1
@ KC
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
xia E
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
1: Channel is masked
To DI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
M
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
31:0 SOURCE_ADDR Souce address
US L
EO
cn IA
1E0028D4 GDMA_DA_13 Destination Address of GDMA Channel 13 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name SO
DE
SE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
xia E
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
R E
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
M
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
FO
Y
NL
T_EN segment is done.
US L
0: Disable
EO
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
cn IA
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
m. NT
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
0: Hardware mode
1: Software mode
.co IDE
1E0028DC GDMA_CT1_1 Control Register 1 of GDMA Channel 13 0000000
3 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0
ccn NF0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
_U
CO
CO NM
RE HE CH
NT_ AS
ase O
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
@ KC
T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
R E
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
transferred reaches the TARGET_BYTE_CNT, the hardware will clear the
CH_MASK field of the NEXT_CH2UNMASK channel. If the hardware does not
need to clear CH_MASK field of any channel, this field should be set to the
channel itself.
0: Channel 0
FO
Y
NL
1: Channel 1
n: Channel n
US L
EO
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
cn IA
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
m. NT
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
by HW/SW.
0: Channel is not masked
.co IDE
1: Channel is masked
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
To DI
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
US L
Name SO SE
DE
EO
UR GM
ST_ SW
CE_ EN
AD _M
cn IA
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
_M E_E
_M E_I
OD N
OD NT_
E
E EN
m. NT
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
15:8 CURR_SEGMENT Indicates the current segment (0 to 255)
7 SOURCE_ADDR_MO Sets the source address mode
DE 0: Incremental mode
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
ccn NF 1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
ase O
4: 16 DWs
5: Undefined
6: Undefined
@ KC
7: Undefined
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
T_EN segment is done.
0: Disable
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
xia E
0: Disable
1: Enable
ny AT
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
0: Hardware mode
1: Software mode
To DI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
M
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CO
CH
CO _U
RE HE CH
NT_ NM
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK AS
RV NT_ AS
DE_ K_F
ED INT K
EN AIL
_EN
_IN
FO
Y
NL
T_E
US L
N
EO
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
25:22 NUM_SEGMENT the number of segments=2N, where N is the value of this field. Valid values for
this field are N=0 to 8. The segment size=(TARGET_BYTE_CNT/2N). It the
m. NT
TARGET_BYTE_CNT is not a multiple of 2N, the segment size =
{(TARGET_BYTE_CNT/2N) + 1}.
21:16 SOURCE_DMA_REQ Selects the source DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
.co IDE
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
clear the CH_EN.
0: Continuous mode is disabled
1: Continuous mode is enabled
13:8
ccn NF
DEST_DMA_REQ Selects the destination DMA request
0: DMA_REQ0
1: DMA_REQ1
2: DMA_REQ2
32: The destination of the transfer is memory (always ready)
7:3 NEXT_CH2UNMASK Selects the channel to clear the CH_MASK bit. When the number of bytes
ase O
channel itself.
0: Channel 0
1: Channel 1
n: Channel n
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
xia E
0: Disable
1: Enable
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SOURCE_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SOURCE_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
31:0 SOURCE_ADDR Souce address
cn IA
1E0028F4 GDMA_DA_15 Destination Address of GDMA Channel 15 0000000
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEST_ADDR[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEST_ADDR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TARGET_BYTE_CNT
@ KC
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SO SE
DE
UR GM
ST_ SW
CE_ EN
AD _M
AD T_D CH
CURR_SEGMENT DR BURST_SIZE OD
DR ON _EN
xia E
_M E_E
_M E_I
OD N
OD NT_
E
E EN
ny AT
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1: Fix mode
6 DEST_ADDR_MODE Sets the destination address mode
0: Incremental mode
M
1: Fix mode
5:3 BURST_SIZE Sets the number of double words in each burst transaction
0: 1 DW
1: 2 DWs
2: 4 DWs
3: 8 DWs
4: 16 DWs
5: Undefined
6: Undefined
FO
Y
NL
7: Undefined
US L
2 SEGMENT_DONE_IN Enable the segment done interrupt. This interrupt asserts after transfer of each
EO
T_EN segment is done.
0: Disable
cn IA
1: Enable
1 CH_EN If CONT_MODE_EN=0, this bit is de-asserted by hardware after the number of
bytes transfferred reaches the TARGET_BYTE_CNT
0: Disable
m. NT
1: Enable
0 SW_MODE_EN Software mode enable. If software mode enable is set, the data transfer starts
when the CH_EN bit is set. Otherwise, the data transfer starts when the DMA
request is asserted.
0: Hardware mode
1: Software mode
.co IDE
1E0028FC GDMA_CT1_1 Control Register 1 of GDMA Channel 15 0000000
5 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ccn NF
Name RESERVED NUM_SEGMENT SOURCE_DMA_REQ
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH
ase O
_U
CO
CO NM
RE HE CH
NT_ AS
SE RE _M
MO DEST_DMA_REQ NEXT_CH2UNMASK K_F
@ KC
RV NT_ AS
DE_ AIL
ED INT K
EN _IN
_EN
T_E
N
Type RO RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
2: DMA_REQ2
32: The source of the transfer is memory (always ready)
14 CONT_MODE_EN If CONT_MODE_EN=1, HW will NOT clear CH_EN after the number of bytes
transferred reachs TARGET_BYTE_CNT. Otherwise, HW will clear CH_EN will
R E
Y
NL
channel itself.
US L
0: Channel 0
EO
1: Channel 1
n: Channel n
cn IA
2 COHERENT_INT_EN If COHERENT_INT_EN is set, GDMA will issue a dummy read to destination after
the last write to destination to avoid data coherent problem. Note: DO NOT set
this field if the destination is not MEM. (may corrupt data, if destination is a FIFO)
0: Disable
1: Enable
m. NT
1 CH_UNMASK_FAIL_I If this field is set, an interrupt will be assert when HW detect the CH_MASK field
NT_EN of NEXT_CH2UNMASK channel is 1'b0 while trying to clear it.
0: Disable
1: Enable
0 CH_MASK When this field is set, the transfer of this channel is gated untill this field is clear
.co IDE
by HW/SW.
0: Channel is not masked
1: Channel is masked
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name UNMASK_FAIL_INTSTS[15:0]
Type
@ KC
W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type W1C
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name SEGMENT_DONE_INTSTS[15:0]
Type W1C
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
US L
Name RESERVED[26:11]
EO
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name AR
TOTAL_C B_
RESERVED[10:0] IP_VER
H_NUM MO
DE
m. NT
Type RO RO RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
.co IDE
0: 8 channels
1: 16 channels
2: 32 channels
3: Undefined
2:1 IP_VER GDMA core version
0 ARB_MODE Arbitration mode selection
ccn NF 0: channel 0 has highest priority and others are round-robin
1: All channel are round-robin
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name PERI_ADDR_START_0[31:16]
Type RW
Reset 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_START_0[15:0]
Type RW
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Name PERI_ADDR_END_0[31:16]
Type RW
Reset 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_END_0[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E002A38 GDMA_PERI_ Peripheral Region 1 Starting Address 1C00000
cn IA
ADDR_START 0
_1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name PERI_ADDR_START_1[31:16]
m. NT
Type RW
Reset 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_START_1[15:0]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name PERI_ADDR_END_1[31:16]
Type RW
Reset 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_END_1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31:0 PERI_ADDR_END_1 GDMA request will direct to peripheral bus if the request address >=
PERI_ADDR_START_x & < PERI_ADDR_END_x
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name PERI_ADDR_START_2[31:16]
Type RW
Reset 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_START_2[15:0]
Type RW
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E002A44 GDMA_PERI_ Peripheral Region 2 End Address 7000000
US L
EO
ADDR_END_2 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name PERI_ADDR_END_2[31:16]
Type RW
Reset 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name PERI_ADDR_END_2[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:0 PERI_ADDR_END_2 GDMA request will direct to peripheral bus if the request address >=
PERI_ADDR_START_x & < PERI_ADDR_END_x
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_START_3[15:0]
Type RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Reset 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PERI_ADDR_END_3[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
31:0 PERI_ADDR_END_3 GDMA request will direct to peripheral bus if the request address >=
PERI_ADDR_START_x & < PERI_ADDR_END_x
FO
Y
NL
US L
2.12 SPI Controller
EO
2.12.1 Features
cn IA
Supports up to 2 SPI master operations
Programmable clock polarity
Programmable interface clock rate
m. NT
Programmable bit ordering
Firmware-controlled SPI enable
Programmable payload (address + data) length
Supports 1/2/4 multi-IO SPI flash memory
Supports command/user mode operation
.co IDE
Supports SPI direct access
Extends the addressable range from 24 bits to 32 bits for memory size larger than 128 Mb.
Controller
@ KC
CPU SO/SIO1
CPU Interface SERDES
from PalmBus Interface WP/SIO2
Controller
xia E
ny AT
Y
NL
US L
2.12.3 Registers
EO
SPI Changes LOG
cn IA
Revision Date Author Change Log
0.1 2012/8/29 Lancelot Initialization
0.2 2012/11/6 Lancelot 1. Remove 0x38 SW_RST 2. Add CS_POLAR at 0x38
m. NT
0.3 2012/11/23 Lancelot Fix default value
.co IDE
Address Name Widt Register Function
h
1E000B00 SPI_TRANS 32 SPI transaction control/status register
1E000B04 SPI_OP_ADDR 32 SPI opcode/address register
1E000B08 SPI_DIDO_0 32 SPI DI/DO data #0 register
1E000B0C SPI_DIDO_1 32 SPI DI/DO data #1 register
ccn NF
1E000B10 SPI_DIDO_2 32 SPI DI/DO data #2 register
1E000B14 SPI_DIDO_3 32 SPI DI/DO data #3 register
1E000B18 SPI_DIDO_4 32 SPI DI/DO data #4 register
1E000B1C SPI_DIDO_5 32 SPI DI/DO data #5 register
ase O
Name spi
_m
spi_addr_s ast
spi_addr_ext Reserved0 Reserved1
ize er_
bus
R E
y
Type RW RO RW RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
M
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name spi
_m
ast
Reserved2 miso_byte_cnt mosi_byte_cnt
er_
star
t
Type RO WO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
FO
Y
NL
US L
Bit(s) Name Description
EO
31:24 spi_addr_ext SPI address extention
cn IA
Address extenstion for 32-bit SPI address size. Usually this field specifies the first byte
of the address phase to transmit to SPI device when more_buf_mode = 0 and
spi_addr_size = 3. And spi_addr[31:24], spi_addr[23:16], and spi_addr[15:0] are
respectively the second, third and fourth byte of the address phase
20:19 spi_addr_size SPI address size.
m. NT
0: reserved.
1: spi_addr[15:0] of SPI DI data register are valid (16-bit size).
2: spi_addr[23:0] of SPI DI data register are valid (24-bit size).
3: {spi_addr_ext[7:0], spi_addr[23:0]} of SPI DI data register are valid
(32-bit size)
Note: The spi_addr_size is valid only when more_buf_mode = 0.
.co IDE
16 spi_master_busy Transaction busy indication (Read-only). Writes to this bit are ignored.
0: No SPI transaction is ongoing. Software may start a new SPI transaction by writing
to the SPI transaction start bit within this register.
1: An SPI transaction presently is underway. Software must not try to start a new SPI
transaction. Software may not alter the value of any field of the SPI master control
registers.
8 spi_master_start SPI transaction start. Only writes to this field are meaningful, reads always return
ccn NF
0.
Writes:
0: No effect
1: Starts SPI transaction.
7:4 miso_byte_cnt SPI MISO (rx) byte count.
ase O
Determines the number of bytes received from the SPI device from the SPI
opcode/address register and the SPI DI/DO data #0 register. Values of 0 ~ 8 are valid,
other values are illegal.
@ KC
(conditional).
ny AT
spi_addr[23:8]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name spi_addr[7:0] spi_opcode
R E
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
spi_addr[23:16] is the 3rd byte of the address phase and spi_addr[15:8] is the 4th byte
of the address phase
US L
EO
Note: For SPI read transaction and more_buf_mode = 0
Field [15:8] is also used to store the 6-th byte of data read phase.
Field [23:16] is also used to store the 7-th byte of data read phase.
cn IA
Field [31:24] is also used to store the 8-th byte of data read phase.
7:0 spi_opcode SPI opcode. Usually this field specifies the 8-bits opcode (instruction) to transmit
to the SPI device as the first byte of a SPI transaction when more_buf_mode = 0.
Note: For SPI read transaction and more_buf_mode = 0, this byte is also used to store
m. NT
the 5-th byte of data read phase according to the rx byte count miso_byte_cnt.
.co IDE
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name d3_byte d2_byte
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
ccn NF
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name d3_byte d2_byte
ny AT
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Type RW RW
Reset
US L
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
cn IA
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
31:24 d3_byte The 4th data byte of data read/write phase.
23:16 d2_byte The 3th data byte of data read/write phase.
15:8 d1_byte The 2nd data byte of data read/write phase.
7:0 d0_byte The 1st data byte of data read/write phase.
.co IDE
1E000B14 SPI_DIDO_3 SPI DI/DO data #3 register 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name d3_byte d2_byte
ccn NF
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
Type RW RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name d3_byte d2_byte
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Y
NL
0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name d3_byte d2_byte
Type RW RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
Type RW RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
15:8 d1_byte The 2nd data byte of data read/write phase.
7:0 d0_byte The 1st data byte of data read/write phase.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name d1_byte d0_byte
Type RW RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name d3_byte d2_byte
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E000B28 SPI_MASTER SPI master mode register 000D888
cn IA
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name clk_
rs_slave_sel mo rs_clk_sel
m. NT
de
Type RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name full spi spi
mor
bidi lsb e_b
.co IDE
_du int_ _st _pr cph cpo serial_mod
cs_dsel_cnt r_m _fir uf_
ple en art_ efet a l e
ode st mo
x sel ch
de
Type RW RW RW RW RW RW RW RW RW RW RW
Reset 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
28 clk_mode This register is used to specify that period of SCLK HIGH is longer or period of
SCLK LOW is longer when clock divisor(clk_sel) is odd.
0: period of SCLK LOW is longer.
@ KC
AHB clock
10 full_duplex Full duplex or half duplex mode.
0: half duplex mode.
1: full duplex mode.
Full duplex timing diagram
Note: The full_duplex is valid only when more_buf_mode = 1. The transmission is
To DI
Y
NL
1: bi-direction mode (only MOSI pin is used). SPI host controller must operate in half
duplex mode if bidir_mode = 1.
US L
EO
Note: The bidir_mode is valid only when more_buf_mode = 1.
5 cpha (CPHA, clock phase). Initial SPI clock phase for SPI transaction.
cn IA
There are four SPI modes used to latch data. These SPI modes latch data in one of
four ways, and are defined by the logic state combinations of the CLK Polarity (CPOL)
in relation to the CLK Phase (CPHA). The valid logic combinations identify and
determine the SPI modes supported by the SPI device.
m. NT
SPI mode
.co IDE
a rising edge.
At CPOL=1 the base value of the clock is one (inversion of CPOL=0)
For CPHA=0 (mode 2), data is read on clock's falling edge and data is changed on a
rising edge.
For CPHA=1 (mode 3), data is read on clock's rising edge and data is changed on a
falling edge.
4 cpol cpol (CPOL, clock polarity). Initial SPI clock polarity for SPI transaction.
3
ccn NF
lsb_first 0: MSB(most significant bit) is transferred first for SPI transaction.
1: LSB(least significant bit) is transferred first for SPI transaction.
2 more_buf_mode Select 2 words buffer or 8 words buffer for SPI transaction.
0: SPI transfer data buffer size is only 2 words. In this mode, SPI DI/DO data #0
register and SPI opcode/address register are the data buffer for SPI transaction. And,
ase O
SPI master follows mosi_byte_cnt and miso_byte_cnt to complete the transmission and
reception, respectively. This kind of transaction must operate in half duplex mode.
1: SPI transfer data buffer size is 8 words. In this mode, SPI opcode/address register
are the data buffer for SPI transaction and follows cmd_bit_cnt to complete the
@ KC
transaction. SPI DI/DO data #0~#7 register are the data buffer for SPI transaction and
follows do_bit_cnt and di_bit_cnt to complete the transmission and reception,
respectively. In half duplex mode, transmitted data are loaded from SPI
opcode/address register and SPI DI/DO data #0~#7 registers. And, the received data
will overwrite the SPI DI/DO data #0~#7 registers. In full duplex mode, SPI DI/DO data
#0~#3 registers are used for transmission and SPI DI/DO #4~#7 registers are used for
receipt.
xia E
1:0 serial_mode This mode is designed for Winbond SPI flash W25Q80/16/32 and
W25X10/20/40/80/16/32/64 series.
0: standard serial.
ny AT
1: dual serial.
2: quad serial.
3: reserved.
Note: The serial_mode is valid only when more_buf_mode = 0. The transaction mode is
always as standard serial when more_buf_mode = 1.
To DI
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name Reserved0 cmd_bit_cnt Reserved1 miso_bit_cnt[8:4]
M
Type RO RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name miso_bit_cnt[3:0] Reserved2 mosi_bit_cnt
Type RW RO RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
29:24 cmd_bit_cnt SPI command phase MOSI (tx) bit count. Determines the number of command
US L
bits transmitted from the SPI opcode/address register to the SPI device. Values
EO
of 0 ~ 32 are valid, but other values are illegal.
Note: The cmd_bit_cnt is valid only when more_buf_mode = 1 and the SPI
cn IA
opcode/address register is treated as a command register.
20:12 miso_bit_cnt SPI data phase MISO (rx) bit count. Determines the number of bits received from
the SPI device into the SPI DI/DO data #0~#7 register. Values of 0 ~ 256 are valid,
but other values are illegal. Maximum value is 256 for half duplex mode and 128
for full duplex mode. Please note that do_bit_cnt must be equal to di_bit_cnt in
m. NT
full duplex mode.
Note: The miso_bit_cnt is valid only when more_buf_mode = 1.
8:0 mosi_bit_cnt SPI data phase MOSI (tx) bit count. Determines the number of data bits
transmitted from the SPI DI/DO data #0~#7 register to the SPI device. Values of 0
~ 256 are valid, but other values are illegal. Maximum value is 256 for half duplex
.co IDE
mode and 128 for full duplex mode.
Note: The mosi_bit_cnt is valid only when more_buf_mode = 1.
Type RO RO RO RW RW RO RW
Reset 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
12 fs_busy Transaction busy indication (Read-only) in flash space. Writes to this bit are
ignored.
0: No SPI flash space access is ongoing. Software may change the configuration
related to flash space.
1: SPI flash space access presently is underway. Software may not alter the
configuration related to flash space.
To DI
If the change of the fs_addr_size is needed, the sequence below must be followed.
Otherwise, the new fs_addr_size configuration will not be updated to the internal spimc
logic .
Step 1: Set new fs_addr_size.
Step 2: Transmit mode change command (ex. En4B or Ex4B of
MX25L25635E)
Note: 1. The value fs_addr_size is not valid in Register Space.
2. The Spimc now only supports 3-Byte mode (24 bits) and 4-Byte
mode (25 or 26 bits) switch.
FO
Y
NL
7:4 fs_di_ph_byc Determines the number of data bytes transmitted from the SPI master controller
US L
to the SPI device for SPI Flash Space Read operation. This field is similar to
EO
mosi_byte_cnt in STCSR but is used for setting of flash space access control
path.
cn IA
Note: this field should
(if fs_addr_size_r = 2, 24-bit fs_addr_size)
= 4 (OP + ADDR) if fast_spi_sel = 0 (0x03)
= 5 (OP + ADDR + dummy) if fast_spi_sel = 1 (0x0b)
= 5 (OP + ADDR + dummy) if fast_spi_sel = 2 (0x3b)
m. NT
= 5 (OP + ADDR + M7-0) if fast_spi_sel = 3 (0xbb)
= 5 (OP + ADDR + dummy) if fast_spi_sel = 4 (0x6b)
= 7 (OP + ADDR + M7-0 + dummy) if fast_spi_sel = 5 (0xeb)
= 5 (OP + ADDR + M7-0) if fast_spi_sel = 6 (0xe3)
.co IDE
= 5 (OP + ADDR) if fast_spi_sel = 0 (0x03)
= 6 (OP + ADDR + dummy) if fast_spi_sel = 1 (0x0b)
= 6 (OP + ADDR + dummy) if fast_spi_sel = 2 (0x3b)
= 6 (OP + ADDR + M7-0) if fast_spi_sel = 3 (0xbb)
= 6 (OP + ADDR + dummy) if fast_spi_sel = 4 (0x6b)
= 8 (OP + ADDR + M7-0 + dummy) if fast_spi_sel = 5 (0xeb)
= 6 (OP + ADDR + M7-0) if fast_spi_sel = 6 (0xe3)
2:0 fast_spi_sel Select SPI flash read instruction for Flash Space
ccn NF
0: standard read data instruction (0x03).
1: standard fast read data instruction (0x0b).
2: fast read dual output instruction defined in Winbond W25Qxx series SPI flash
(0x03b).
3: fast read dual I/O instruction defined in Winbond W25Qxx series SPI flash (0xbb).
4: fast read quad output instruction defined in Winbond W25Qxx series SPI flash
ase O
(0x6b).
5: fast read quad I/O instruction defined in Winbond W25Qxx series SPI flash (0xeb).
6: burst read quad I/O instruction defined in Winbond W25Qxx series SPI flash (0xe3).
@ KC
Note: serial_mode and more_buf_mode are don't care for this flash space access
control path.
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name Reserved0[25:10]
ny AT
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name spi_flash_ spi
Reserved0[9:0] Reserved1
mode _ok
Type RO RO RO RC
To DI
Reset 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0
Y
NL
AR 0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name Reserved[23:8]
Type RO
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name Reserved[7:0] cs_polar
Type RO RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
set cs_polar[n]=1'b1 for cs[n] high active
Name Res
erv
fs_slave_sel fs_clk_sel
ed[
0:0]
@ KC
Type RO RW RW
Reset 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0
Y
NL
US L
2.13 I2S Controller
EO
2.13.1 Features
cn IA
I2S transmitter/receiver, which can be configured as master or slave.
Supports 16-bit data, sampling rates of 8 kHz, 16 kHz, 22.05 kHz, 44.1 kHz, and 48 kHz
Support stereo audio data transfer.
m. NT
32-byte FIFO are available for data transmission.
Supports GDMA access
Supports 12 Mhz bit clock from external source (when in slave mode)
.co IDE
2
The I S transmitter block diagram is shown as below.
RBUS
CPU SDRAM
ccn NF
RBUS
I2S Design RBUS
ase O
CSR
Async interface
SD
Parallel-
@ KC
PBUS RBUS
WS to-serial FIFO GDMA
Control
converter PBUS
SCLK
xia E
2
Figure 2-7 I S Transmitter Block Diagram
ny AT
2
The I S interface consists of two separate cores, a transmitter and a receiver. Both can operate in either master
or slave mode. The transmitter is only shown here in master or slave mode.
To DI
2 2
I S Signal Timing For I S Data Format
R E
M
FO
Y
NL
US L
EO
cn IA
m. NT
.co IDE
Figure 2-8 I2S Transmit/Receive
Serial data is transmitted in 2’s complement with the MSB first. The transmitter always sends the MSB of the
next word one clock period after the WS changes. Serial data sent by the transmitter may be synchronized
ccn NF
with either the trailing (HIGH-to-LOW) or the leading (LOW-to-HIGH) edge of the clock signal. However, the
serial data must be latched into the receiver on the leading edge of the serial clock signal, and so there are
some restrictions when transmitting data that is synchronized with the leading edge.
WS = 0; channel 1 (left)
WS = 1; channel 2 (right)
WS may change either on a trailing or leading edge of the serial clock, but it doesn’t need to be symmetrical. In
@ KC
the slave, this signal is latched on the leading edge of the clock signal. The WS line changes one clock period
before the MSB is transmitted. This allows the slave transmitter to derive synchronous timing of the serial data
that will be set up for transmission. Furthermore, it enables the receiver to store the previous word and clear
the input for the next Word.
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.13.3 Registers
EO
cn IA
Address Name Width Register Function
1E000A00 I2S_CFG 32 I2S Configuration
I2S Tx/Rx Configuration Register
m. NT
1E000A04 INT_STATUS 32 Interrupt Status
I2S Interrupt Status
1E000A08 INT_EN 32 Interrupt Enable
I2S Interrupt Enable Control Register
1E000A0C FF_STATUS 32 FIFO Status
.co IDE
I2S Tx/Rx FIFO Status
1E000A10 TX_FIFO_WREG 32 Transmit FIFO Write to Register
Tx Write Data Buffer
1E000A14 RX_FIFO_RREG 32 Receive FIFO Read Register
DRAM PAD CONTROL 3
1E000A18 I2S_CFG1 32 I2S Configuration 1
ccn NF
I2S Loopback Test Control Register
1E000A20 DIVCOMP_CFG 32 Integer Part of the Dividor Register 1
Integer Part of the Dividor Register
1E000A28 DIVINT_CFG 32 Integer Part of the Dividor Register 2
ase O
A_E E_
_EN SW EN EN
N MO
AP
DE
ny AT
Type RW RW RW RW RW RW
Reset 0 0 0 0 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RX_FF_THRES TX_FF_THRES
Type RW RW
Reset 1 0 0 1 0 0
To DI
0: Disable
1: Enable
M
Y
NL
1: Enable
US L
20 RX_EN Receiver on/off control
EO
0: Disable
1: Enable
cn IA
16 SLAVE_MODE Sets master or slave mode.
0: Master: using internal clock
1: Slave: using external clock
14:12 RX_FF_THRES Rx FIFO Threshold
m. NT
When the threshold is reached, the host/DMA is notified to fill FIFO.
2<RX_FF_THRES<6
(unit: word)
6:4 TX_FF_THRES Tx FIFO Threshold
When the threshold is reached, the host/DMA is notified to fill FIFO.
.co IDE
2<TX_FF_THRES<6
(unit: word)
Name RX_
RX_ RX_ RX_
TX_
TX_ TX_ TX_
DM DM
OV UN TH OV UN TH
A_F A_F
RU RU RE RU RU RE
@ KC
AU AU
N N S N N S
LT LT
Type RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0
Y
NL
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
US L
Name
EO
Type
Reset
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RX_ RX_ RX_ RX_ TX_ TX_ TX_ TX_
INT INT INT INT INT INT INT INT
3_E 2_E 1_E 0_E 3_E 2_E 1_E 0_E
N N N N N N N N
m. NT
Type RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0
.co IDE
Enables the Rx DMA Fault Detected Interrupt. This interrupt asserts when a fault is
detected in Rx DMA signals.
6 RX_INT2_EN INT_STATUS[6] Enable
Enables the Rx Overrun Interrupt. This interrupt asserts when the Rx FIFO is overrun.
5 RX_INT1_EN INT_STATUS[5] Enable
Enables the Rx Underrun Interrupt. This interrupt asserts when the Rx FIFO is
ccn NF underrun.
4 RX_INT0_EN INT_STATUS[4] Enable
Enables the Rx FIFO Below Threshold Interrupt. This interrupt asserts when the Rx
FIFO is lower than the defined threshold.
3 TX_INT3_EN INT_STATUS[3] Enable
ase O
Enables the Tx DMA Fault Detected Interrupt. This interrupt asserts when a fault is
detected in Tx DMA signals.
2 TX_INT2_EN INT_STATUS[2] Enable
@ KC
Enables the Tx FIFO Overrun Interrupt. This interrupt asserts when the Tx FIFO is
overrun.
1 TX_INT1_EN INT_STATUS[1] Enable
Enables the Tx FIFO Underrun Interrupt. This interrupt asserts when the Tx FIFO is
underrun.
0 TX_INT0_EN INT_STATUS[0] Enable
xia E
Enables the Tx FIFO Below Threshold Interrupt. This interrupt asserts when the FIFO is
lower than the defined threshold.
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Y
NL
(unit: word)
US L
EO
cn IA
1E000A10 TX_FIFO_WR Transmit FIFO Write to Register 0000000
EG 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TX_FIFO_WDATA[31:16]
m. NT
Type WO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TX_FIFO_WDATA[15:0]
Type WO
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name RX_FIFO_RDATA[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RX_FIFO_RDATA[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name EXT
LB
_LB
K_E
K_E
N
N
R E
Type RW RW
Reset 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
M
Name
Type
Reset
Y
NL
ASYNC_TXFIFIO -> Tx -> Rx -> ASYNC_RXFIFIO
US L
30 EXT_LBK_EN Enables external loopback.
EO
0: Normal mode
1: Enables external loop back.
cn IA
External A/D -> Rx -> Tx -> External D/A
m. NT
1E000A20 DIVCOMP_CF Integer Part of the Dividor Register 1 0000000
G 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CL
K_E
.co IDE
N
Type RW
Reset 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DIVCOMP
Type RW
Reset 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
31 CLK_EN Enables setting of the I2S clock based on DIVCOMP and DIVINT parameters.
0: Disable
1: Enable
ase O
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
ny AT
DIVINT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
2.14 SPDIF TX
EO
cn IA
m. NT
.co IDE
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
2.14.1 Registers
US L
SPDIFTX Changes LOG
EO
cn IA
Revision Date Author Change Log
1.0 20120825 Jiechao Wei Initial Revision by RegisterMap_v1p4
1.1 20120919 Jiechao Wei Update for final RISC(PBUS) interface
1.2 20121009 Jiechao Wei Update default value
m. NT
1.3 20121216 Jiechao Wei Update for DRAM ping-pong structure
.co IDE
Address Name Widt Register Function
h
1E000700 IEC_CTRL 32 IEC CONTROL REGISTER
1E000704 IEC_BUF0_BS_SB 32 IEC BITSTREAM BUFFER START BLOCK
LK
1E000708
ccn NF
IEC_BUF0_BS_EB 32 IEC BITSTREAM BUFFER END BLOCK
LK
1E00070C IEC_BUF0_NSADR 32 IEC NEXT BURST START ADDRESS
1E000710 IEC_BUF0_NEXT_ 32 IEC USER DATA NEXT START ADDRESS
UADR
ase O
PACK
1E00071C IEC_BUF0_CH_CF 32 IEC CHANNEL CONFIGURATION TRIGGER
G_TRIG
1E000720 IEC_BUF0_CH_CF 32 IEC CHANNEL CONFIGURATION 0
G0
1E000724 IEC_BUF0_CH_CF 32 IEC CHANNEL CONFIGURATION 1
xia E
G1
1E000728 IEC_BUF0_CH_CF 32 IEC CHANNEL CONFIGURATION 2
G2
ny AT
Y
NL
LK
US L
1E00075C IEC_BUF1_NSADR 32 IEC NEXT BURST START ADDRESS
EO
1E000760 IEC_BUF1_NEXT_ 32 IEC USER DATA NEXT START ADDRESS
UADR
cn IA
1E000764 IEC_BUF1_INTR_N 32 IEC INTERRUPT SIZE
SNUM
1E000768 IEC_BUF1_PCPD_ 32 IEC NEXT BURST LENGTH
PACK
m. NT
1E00076C IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION TRIGGER
G_TRIG
1E000770 IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 0
G0
.co IDE
1E000774 IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 1
G1
1E000778 IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 2
G2
1E00077C IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 3
G3
1E000780 IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 4
ccn NF
G4
1E000784 IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 5
G5
1E000788 IEC_BUF1_CH_CF 32 IEC CHANNEL CONFIGURATION 6
G6
ase O
@ KC
EN BL
E
Type RW RW
ny AT
Reset 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name INT
DB
MU BY RA
MU
UD DA DA
DB UF_ RA TE_
R_S TE_ TE_ W_ AT TA_ TA_
UF_ DIS DOWN_SAMPLE W_ SA
TAT SP SW SW A_E FM SR
SEL AB 24 MP
To DI
US DF AP AP N T C
LE LE
Type W1
RO RW RW RW RW RW RW RW RW RW RW
C
Reset 0 0 0 0 0 0 1 0 0 0 0 0 0 0
R E
Y
NL
12 DBUF_SEL IEC958 DRAM ping-pong buffer indicator
US L
0: buffer0 is going
EO
1: buffer1 is going
11 DBUF_DISABLE IEC958 DRAM ping-pong buffer disable
cn IA
0: enable
1: disable
10:8 DOWN_SAMPLE IEC958 down sample control
0: no down sample (recommended for MT7621)
m. NT
1: 2x down sample
3: 4x down sample
7 MUTE_SPDF mute IEC output SPDF signal
0: normal
1: mute output SPDF signal
.co IDE
6 BYTE_SWAP IEC dram word data bytes switch mode
5 RAW_SWAP IEC 24bit raw data bytes switch mode
4 RAW_24 IEC raw data 24bit mode
3 MUTE_SAMPLE mute IEC output sample data
0: normal
1: mute output sample data
ccn NF
2 UDATA_EN user data enable
0: all user data are zero
1: load user data from DRAM (IEC_NEXT_UADR)
1 DATA_FMT output data format selection
0: PCM data
ase O
1: encoded data
0 DATA_SRC data source selection
0: cooked data (from PCM receiver or transmitter output)
@ KC
1: raw data (from DRAM 61937 encoded audio data or 60958 plain PCM data)
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name BS_SBLK[27:16]
Type
ny AT
RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name BS_SBLK[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
27:0 BS_EBLK IEC958 bitstream buffer end block (double word size)
m. NT
ADR 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name NSADR[29:16]
Type RW
Reset
.co IDE
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name NSADR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
XT_UADR 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
@ KC
Name NUSADR[29:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name NUSADR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
29:0 NUSADR next start address for next user data, LSB 2 bits are ignored and considered zero
(byte size)
TR_NSNUM 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name INTR_SIZE
R E
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
M
Name NSNUM
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E000718 IEC_BUF0_PC IEC NEXT BURST LENGTH 0000000
PD_PACK 0
cn IA
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name NB_LEN
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name BURST_INFO
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:16 NB_LEN number of bits for next burst(Pd package)
15:0 BURST_INFO burst information for IEC(Pc package)
1E00071C
ccn NF
IEC_BUF0_CH IEC CHANNEL CONFIGURATION TRIGGER 0000000
_CFG_TRIG 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH
_CF
CH2_NUM
ase O
G_T
RIG
Type RW RW
Reset 0
@ KC
0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
31 CH_CFG_TRIG channel status update trigger, write 1'b1 to trigger and read busy state or not
23:20 CH2_NUM channel 2 (W) channel number
ny AT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH_CFG0_ CLK_ACC
SAM_FREQ CH1_NUM SRC_NUM
RESERVE URACY
Type RW RW RW RW RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CO
M
CP_ DIG
NS
CATEGORY MODE ADD_INFO RIG ITA
UM
HT L
ER
Type RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
29:28 CLK_ACCURACY clock accuracy
US L
27:24 SAM_FREQ sampling frequency
EO
23:20 CH1_NUM channel 1 (B & M) channel number
cn IA
19:16 SRC_NUM source number
15:8 CATEGORY category code
7:6 MODE channel status mode 0
5:3 ADD_INFO additional information
m. NT
2 CP_RIGHT copyright information
1 DIGITAL digital (bit 1 of channel status)
0: linear PCM samples
1: other purpose
.co IDE
0 CONSUMER bit 0 of channel status
0: consumer use of channel status block
1: professional use of channel status block
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH_CFG1_RESERVE[5:0] CGMS_A ORIGINAL_FS WORD_LEN
Type RW RW RW RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name CH_CFG2_RESERVE[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Name CH_CFG2_RESERVE[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
_CFG3 0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name CH_CFG3_RESERVE[31:16]
Type RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH_CFG3_RESERVE[15:0]
Type RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
1E000730 IEC_BUF0_CH IEC CHANNEL CONFIGURATION 4 0000000
_CFG4 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH_CFG4_RESERVE[31:16]
ccn NF
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH_CFG4_RESERVE[15:0]
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH_CFG5_RESERVE[31:16]
ny AT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH_CFG5_RESERVE[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Type RW
Reset
US L
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit(s) Name Description
cn IA
31:0 CH_CFG6_RESERVE channel status reserve bits
m. NT
1E00073C IEC_ACLK_DI IEC AUDIO MASTER CLOCK DIVIDER 0018241
V F
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name MAS_DIV
Type
.co IDE
RW
Reset 0 0 0 1 1 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name IEC_DIV BIT_DIV LRC_DIV
Type RW RW RW
Reset 0
ccn NF 1 0 0 1 0 0 1 1 1 1 1
4:0 LRC_DIV audio lrck divider by audio bit clock (default 1xfs)
@ KC
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name APLL_CFG0[15:0]
ny AT
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
G1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
M
Name APLL_CFG1[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name APLL_CFG1[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
31:0 APLL_CFG1 audio pll configuration register 1 (Need MT7621 update)
US L
EO
cn IA
1E000748 IEC_APLL_CF IEC AUDIO PLL CONFIGURATION 2 0000000
G2 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name APLL_CFG2[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name APLL_CFG2[15:0]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name APLL_CFG3[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name APLL_DEBUG
Type RO
R E
Reset 0 0 0 0 0 0 0 0
M
Y
NL
Name BS_SBLK[28:16]
US L
Type RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name BS_SBLK[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
28:0 BS_SBLK IEC958 bitstream buffer start block (double word size)
.co IDE
1E000758 IEC_BUF1_BS IEC BITSTREAM BUFFER END BLOCK 0000000
_EBLK 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name BS_EBLK[28:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name BS_EBLK[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28:0 BS_EBLK IEC958 bitstream buffer end block (double word size)
@ KC
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Name NSADR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30:0 NSADR next start address for next burst raw data (byte size)
R E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name NUSADR[30:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name NUSADR[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
Bit(s) Name Description
US L
30:0 NUSADR next start address for next user data, LSB 2 bits are ignored and considered zero
EO
(byte size)
cn IA
1E000764 IEC_BUF1_IN IEC INTERRUPT SIZE 0000000
TR_NSNUM 0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name INTR_SIZE
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name NSNUM
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
PD_PACK 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
@ KC
Name NB_LEN
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name BURST_INFO
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
_CF
CH2_NUM
G_T
RIG
M
Type RW RW
Reset 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
Y
NL
31 CH_CFG_TRIG channel status update trigger, write 1'b1 to trigger and read busy state or not
US L
23:20 CH2_NUM channel 2 (W) channel number
EO
cn IA
1E000770 IEC_BUF1_CH IEC CHANNEL CONFIGURATION 0 0000000
_CFG0 0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH_CFG0_ CLK_ACC
SAM_FREQ CH1_NUM SRC_NUM
RESERVE URACY
Type RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name CP_ DIG
CO
NS
CATEGORY MODE ADD_INFO RIG ITA
UM
HT L
ER
Type RW RW RW RW RW RW
Reset 0 0
ccn NF 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1: other purpose
0 CONSUMER bit 0 of channel status
0: consumer use of channel status block
ny AT
_CFG1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH_CFG1_RESERVE[21:6]
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
M
Y
NL
3:0 WORD_LEN word length
US L
EO
cn IA
1E000778 IEC_BUF1_CH IEC CHANNEL CONFIGURATION 2 0000000
_CFG2 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name CH_CFG2_RESERVE[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH_CFG2_RESERVE[15:0]
Type RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name CH_CFG3_RESERVE[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CH_CFG4_RESERVE[15:0]
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
Name CH_CFG5_RESERVE[31:16]
US L
Type RW
EO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name CH_CFG5_RESERVE[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:0 CH_CFG5_RESERVE channel status reserve bits
.co IDE
1E000788 IEC_BUF1_CH IEC CHANNEL CONFIGURATION 6 0000000
_CFG6 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CH_CFG6_RESERVE[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name CH_CFG6_RESERVE[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
2.15 Memory Controller
EO
2.15.1 Features
cn IA
1 SDRAM/DDR2 (16 b) chip selection
128 MB (SDRAM)/128 MB (DDR1)/256 MB (DDR2) per chip selection
SDRAM transaction overlapping by early active and hidden pre-charge
m. NT
User SDRAM Init commands
4 banks per SDRAM chip select
SDRAM burst length: 4 (fixed)
DDR2 burst length: 4/8 (programmable)
Wrap-4 transfer
.co IDE
Bank-Raw-Column and Raw-Bank-Column address mapping
ccn NF
ase O
@ KC
xia E
ny AT
To DI
R E
M
FO
Y
NL
US L
2.15.2 Registers
EO
cn IA
Address Name Widt Register Function
h
1E005000 ACTIM0 32 DRAM AC TIMING SETTING 0
DRAM AC TIMING SETTING 0
m. NT
1E005004 CONF1 32 DRAM CONFIGURATION 1
DRAM CONFIGURATION 1
1E005008 CONF2 32 DRAM CONFIGURATION 2
DRAM CONFIGURATION 2
.co IDE
1E00500C PADCTL1 32 DRAM PAD CONTROL 1
DRAM PAD CONTROL 1
1E005010 PADCTL2 32 DRAM PAD CONTROL 2
DRAM PAD CONTROL 2
1E005014 PADCTL3 32 DRAM PAD CONTROL 3
DRAM PAD CONTROL 3
ccn NF
1E005018 DELDLY1 32 DQS INPUT DELAY CHAIN SETTING 1
DQS INPUT DELAY CHAIN SETTING 1
1E005020 DIFDLY1 32 DQS INPUT DELAY CHAIN OFFSET SETTING 1
DQS INPUT DELAY CHAIN OFFSET SETTING 1
ase O
ZQCS setting
1E005088 MRS 32 MRS value setting
MRS value setting
1E00508C CLK1DELAY 32 Clock 1 output delay CONTROL
R E
IO misc control
1E005094 DQSIEN 32 DQS INPUT RANGE FINE TUNER
DQS INPUT RANGE FINE TUNER
1E0050B8 DRVCTL0 32 PAD DRIVING CONTROL SETTING 0
PAD DRIVING CONTROL SETTING 0
1E0050BC DRVCTL1 32 PAD DRIVING CONTROL SETTING 1
PAD DRIVING CONTROL SETTING 1
FO
Y
NL
1E0050C0 DLLSEL 32 DLL SELECTION SETTING
US L
DLL SELECTION SETTING
EO
1E0050CC TDSEL0 32 IO OUTPUT DUTY CONTROL 0
cn IA
IO OUTPUT DUTY CONTROL 0
1E0050D0 TDSEL1 32 IO OUTPUT DUTY CONTROL 1
IO OUTPUT DUTY CONTROL 1
1E0050D8 MCKDLY 32 MEMORY CLOCK DELAY CHAIN SETTING
m. NT
MEMORY CLOCK DELAY CHAIN SETTING
1E0050DC DQSCTL0 32 DQS INPUT RANGE CONTROL 0
DQS INPUT RANGE CONTROL 0
1E0050E0 DQSCTL1 32 DQS INPUT RANGE CONTROL 1
DQS INPUT RANGE CONTROL 1
.co IDE
1E0050E4 PADCTL4 32 PAD CONTROL 1
PAD CONTROL 4
1E0050E8 PADCTL5 32 PAD CONTROL 2
PAD CONTROL 5
1E0050EC PADCTL6 32 PAD CONTROL 3
ccn NF PAD CONTROL 6
1E0050F0 PHYCTL1 32 DDR PHY CONTROL 1
DDR PHY CONTROL 1
1E0050F4 GDDR3CTL1 32 GDDR3 CONTROL 1
GDDR3 CONTROL 1
ase O
Y
NL
1E0051AC CMDDLY1 32 Command Delay CTL1
US L
Command Delay CTL1
EO
1E0051B0 CMDDLY2 32 Command Delay CTL2
cn IA
Command Delay CTL2
1E0051B4 CMDDLY3 32 Command Delay CTL3
Command Delay CTL3
1E0051B8 CMDDLY4 32 Command Delay CTL4
m. NT
Command Delay CTL4
1E0051BC CMDDLY5 32 Command Delay CTL5
Command Delay CTL5
1E0051C0 DQSCAL0 32 DQS CAL CONTROL 0
DQS CAL CONTROL 0
.co IDE
1E0051D8 DMMonitor 32 Monitor parameter
Monitor parameter
1E0051DC DRAMC_PD_CTRL 32 PD mode parameter
PD mode parameter
1E0051E0 LPDDR2 32 LPDDR2 setting
ccn NF LPDDR2 setting
1E0051E4 SPCMD 32 Special command mode
Special command mode
1E0051E8 ACTIM1 32 DRAM AC TIMING SETTING 1
DRAM AC TIMING SETTING 1
ase O
Y
NL
1E005224 DQIDLY6 32 DQ input DELAY6 CHAIN setting
US L
DQ input DELAY6 CHAIN setting
EO
1E005228 DQIDLY7 32 DQ input DELAY7 CHAIN setting
cn IA
DQ input DELAY7 CHAIN setting
1E00522C DQIDLY8 32 DQ input DELAY8 CHAIN setting
DQ input DELAY8 CHAIN setting
1E005280 R2R_page_hit_cou 32 R2R_page_hit_counter
m. NT
nter R2R_page_hit_counter
1E005284 R2R_page_miss_c 32 R2R_page_miss_counter
ounter R2R_page_miss_counter
1E005288 R2R_interbank_co 32 R2R_interbank_counter
unter R2R_interbank_counter
.co IDE
1E00528C R2W_page_hit_co 32 R2W_page_hit_counter
unter R2W_page_hit_counter
1E005290 R2W_page_miss_ 32 R2W_page_miss_counter
counter R2W_page_miss_counter
1E005294 R2W_interbank_co 32 R2W_interbank_counter
unter
ccn NF R2W_interbank_counter
1E005298 W2R_page_hit_co 32 W2R_page_hit_counter
unter W2R_page_hit_counter
1E00529C W2R_page_miss_ 32 W2R_page_miss_counter
counter W2R_page_miss_counter
ase O
Y
NL
DQ INPUT CALIBRATION per bit 27-24
US L
1E0052DC DQ_CAL_MAX_7 32 DQ INPUT CALIBRATION per bit 31-28
EO
DQ INPUT CALIBRATION per bit 31-28
cn IA
1E0052E0 DQS_CAL_MIN_0 32 DQS INPUT CALIBRATION per bit 3-0
DQS INPUT CALIBRATION per bit 3-0
1E0052E4 DQS_CAL_MIN_1 32 DQS INPUT CALIBRATION per bit 7-4
DQS INPUT CALIBRATION per bit 7-4
m. NT
1E0052E8 DQS_CAL_MIN_2 32 DQS INPUT CALIBRATION per bit 11-8
DQS INPUT CALIBRATION per bit 11-8
1E0052EC DQS_CAL_MIN_3 32 DQS INPUT CALIBRATION per bit 15-12
DQS INPUT CALIBRATION per bit 15-12
1E0052F0 DQS_CAL_MIN_4 32 DQS INPUT CALIBRATION per bit 19-16
.co IDE
DQS INPUT CALIBRATION per bit 19-16
1E0052F4 DQS_CAL_MIN_5 32 DQS INPUT CALIBRATION per bit 23-20
DQS INPUT CALIBRATION per bit 23-20
1E0052F8 DQS_CAL_MIN_6 32 DQS INPUT CALIBRATION per bit 27-34
DQS INPUT CALIBRATION per bit 27-24
1E0052FC
ccn NF
DQS_CAL_MIN_7 32 DQS INPUT CALIBRATION per bit 31-28
DQS INPUT CALIBRATION per bit 31-28
1E005300 DQS_CAL_MAX_0 32 DQS INPUT CALIBRATION per bit 3-0
DQS INPUT CALIBRATION per bit 3-0
1E005304 DQS_CAL_MAX_1 32 DQS INPUT CALIBRATION per bit 7-4
ase O
Y
NL
DQS RING COUNTER 1
US L
1E005394 STBEN2 32 DQS RING COUNTER 2
EO
DQS RING COUNTER 2
cn IA
1E005398 STBEN3 32 DQS RING COUNTER 3
DQS RING COUNTER 3
1E0053A0 DQSDLY0 32 DQS INPUT DELAY SETTING 0
DQS INPUT DELAY SETTING 0
m. NT
1E0053B8 SPCMDRESP 32 SPECIAL COMMAND RESPONSE
SPECIAL COMMAND RESPONSE
1E0053BC IORGCNT 32 IO RING COUNTER
IO RING COUNTER
1E0053C0 DQSGNWCNT0 32 DQS GATING WINODW COUNTER 0
.co IDE
DQS GATING WINODW COUNTER 0
1E0053C4 DQSGNWCNT1 32 DQS GATING WINODW COUNTER 1
DQS GATING WINODW COUNTER 1
1E0053C8 DQSGNWCNT2 32 DQS GATING WINODW COUNTER 2
DQS GATING WINODW COUNTER 2
1E0053CC
ccn NF
DQSGNWCNT3 32 DQS GATING WINODW COUNTER 3
DQS GATING WINODW COUNTER 3
1E0053D0 DQSGNWCNT4 32 DQS GATING WINODW COUNTER 4
DQS GATING WINODW COUNTER 4
1E0053D4 DQSGNWCNT5 32 DQS GATING WINODW COUNTER 5
ase O
Y
NL
MEMPLL REGISTER SETTING 9
US L
1E005628 MEMPLL10 32 MEMPLL REGISTER SETTING 10
EO
MEMPLL REGISTER SETTING 10
cn IA
1E00562C MEMPLL11 32 MEMPLL REGISTER SETTING 11
MEMPLL REGISTER SETTING 11
1E005630 MEMPLL12 32 MEMPLL REGISTER SETTING 12
MEMPLL REGISTER SETTING 12
m. NT
1E005634 MEMPLL13 32 MEMPLL REGISTER SETTING 13
MEMPLL REGISTER SETTING 13
1E005638 MEMPLL14 32 MEMPLL REGISTER SETTING 14
MEMPLL REGISTER SETTING 14
1E005640 MEMPLL_DIVIDER 32 MEMPLL DIVIDER REGISTER CONTROL
.co IDE
MEMPLL DIVIDER REGISTER CONTROL
1E005644 VREF 32 VREF setting
VREF setting
ccn NF
1E005000 ACTIM0 DRAM AC TIMING SETTING 0 2256015
4
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TRCD TRP TFAW TWR
Type RW RW RW RW
ase O
Reset 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CL2
@ KC
Y
NL
(WL + BL/2 + 1 + tWTR) = (3 + TWTR) DRAMC clock cycles under LPDDR2/DDR3
Note that TWTR value must be less or equal to 3 under LPDDR1,
US L
EO
and less or equal to 'ha under other memories
7:4 TRC tRC Timing setting
cn IA
tRC = (8 + TRC) DRAMC clock cycles
Note: 0x1e8[0] is added for TRC[4]
3:0 TRAS tRAS Timing setting
tRAS = (8 + TRAS) DRAMC clock cycles
m. NT
1E005004 CONF1 DRAM CONFIGURATION 1 0000000
0
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SEL DY CL ST STR RD AU
TES
FR NC KDI TCMD RV_ V_E LO TOI
TLP
EF LK S FRZ N OP NIT
Type RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name CK CM PA
DM
FW FR2 64B
EO DH BL4 MATYPE TRRD GDI
2R W ITE
N LD S
N
Type RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0
ase O
24 CLKDIS
22:20 TCMD Test command
ny AT
TCMD[2]: RAS_
TCMD[1]: CAS_
TCMD[0]: WE_
19 STRV_FRZ
18 STRV_EN
To DI
17 RDLOOP
16 AUTOINIT
15 CKEON CKE function enabling
R E
0: turnaround time is 0T
1: turnaround time is 1T
12 FR2W
11 CMDHLD
10 BL4 When FDIV2 (0x7c[0]) = 0, 1 for DRAM burst length 4, 0 for burst length 8
When FDIV2 (0x7c[0]) = 1, 1 for DRAM burst length 8, 0 is reserved
When FDIV2 (0x7c[0]) = 1, set 0x00[15] = 1 for burst length 4
FO
Y
NL
9:8 MATYPE DRAM column address width
US L
00: 8 bits
EO
01: 9 bits
10: 10 bits
cn IA
11: 11 bits
7:6 TRRD tRRD Timing setting
tRRD = (1 + TRRD) DRAMC clock cycles
Note: 0x1e8[3] is added for TRRD[2]
m. NT
3 PAGDIS Page mode disabling
0: disable page mode, every transaction is page-miss
1: enable page mode, page will keep opening after accessing
0 DM64BITEN DDR:
When FDIV2 (0x7c[0]) = 0, 1 for 64bit DRAM, 0 for 32bit DRAM
.co IDE
When FDIV2 (0x7c[0]) = 1, 1 for 32bit DRAM, 0 for 16bit DRAM
SDR:
0 for 64bit DRAM
1 for 128bit DRAM
W
Type RW RW RW RW
Reset 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name REFCNT
Type RW
Reset 0 0 0 0 0 0 0 0
Y
NL
Name
US L
Type
EO
Reset
cn IA
Bit(s) Name Description
31:28 CS1DLY CS1 signal output delay
The larger value means larger delay, 1 step = 20ps
m. NT
27:24 CLK0DLY DRAM clock 0 signal output delay
The larger value means larger delay, 1 step = 20ps
.co IDE
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name DQM3DLY DQM2DLY DQM1DLY DQM0DLY
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS3ODLY DQS2ODLY DQS1ODLY DQS0ODLY
Type RW RW RW RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
The larger value means larger delay, 1 step = 20ps
US L
EO
cn IA
1E005018 DELDLY1 DQS INPUT DELAY CHAIN SETTING 1 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DEL3DLY DEL2DLY
m. NT
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEL1DLY DEL0DLY
Type RW RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DIF1DLY DIF0DLY
Type
ny AT
RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
FRZ QS KS
US L
EL2
EO
Type RW RW RW
Reset 0 0 0
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
m. NT
Bit(s) Name Description
30 DLLFRZ Auto-calibration value update when refresh cycle
0: disable
1: enable
.co IDE
28 MDQS Manual mode for DQS input delay setting
0: auto setting DQS input delay by DLL
1: manual setting DQS input delay by register
21 WCKSEL2 Enable MIO_CK_DIV2 clocks input for MACRO_COM1 (data byte 2, 3)
0: disable
ccn NF 1: enable
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name TESTM_PAT0
Type RW
Reset 0 1 0 1 0 1 0 1
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
TEST2_BASE_28to5[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
1E005040 TEST2_2 TEST AGENT 2 CONFIGURATION 2 0001000
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name TEST2_PAT1 TEST2_OFF_28to5[23:16]
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name TEST2_OFF_28to5[15:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:24 TEST2_PAT1 Test-pattern 1 for test agent 2
23:0 TEST2_OFF_28to5 Test offset address for test agent 2
EN N
Type RW RW RW RW RW
Reset 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
Name DQ MA DQ TES DQ
MA DQ
PE SU NU DL TA PST SIC
NU SIC
RBI PD DQ YA DQSICALSTP UD WR AL TESTCNT
DLL AL
T MO SU UT PA 2 UP
FRZ EN
DE PD O T D
Type RW RW RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Used only for DDR3, DDR3 support refresh pull-in function, please refer DDR3 spec for
detail
0: Disable advnaced precharge function
1: Enable advanced precharge function
29:24 DMPGTIM Advanced precharge function timer, use with AVDPREEN
R E
Y
NL
1: enable DQS input delay adjust, new value will be updated during refresh period
US L
12 MANUDLLFRZ Manual freeze DLL counter
EO
0: DLL counter will be updated by hardware
1: DLL counter will be freezed for software reading
cn IA
11 DQDLYAUTO DQ delay auto-update during calibration
0: No update
1: Update
10:8 DQSICALSTP HW calibration step (=DQSICALSTP*2)
m. NT
7 TESTAUDPAT Select audio pattern as test pattern of test agent2
0: ISI pattern
1: audio pattern
6 PSTWR2
.co IDE
5 DQSICALUPD Update DQS input delay setting to calibrated value
0: disable update
1: enable update
4 DQSICALEN HW calibration enable
0: disable HW calibration
1: enable HW calibration
3:0 TESTCNT Test loop number of test agent2
ccn NF
loop number = 2^(TESTCNT)
D
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
@ KC
Name TZQCS
Type RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TES TES TES
TA TA T2D
UD UD TESTAUDINIT ISS TESTAUDINC
MO BITI CR
xia E
DE NV AM
Type RW RW RW RW RW
Reset 0 0 1 0 0 0 1 0 0 1 1 0 1
ny AT
0: No bit inversion
1: Bit inversion
M
Y
NL
1E00507C DDR2CTL DDR2 CONTROL REGISTER 0000000
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name RO FIX
EO
DT WLAT RO RODT TWODT
DT
E DT
Type RW RW RW RW RW RW
Reset
m. NT
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name ER WO RO
DD
FDI
TR2W TRTP DATLAT R2E
OT EN EN V2
N
Type RW RW RW RW RW RW RW RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Fix the ODT signal value (to control the PAD termination) as always enabled
0: Not fix on ODT
1: Fix on ODT
@ KC
others: Reserved
15:12 TR2W Read to write interval time = (TR2W[3:0] + 3) DRAMC clock cycles
ny AT
Y
NL
1 DDR2EN DDR2 enabling
US L
0: disable DDR2 function
EO
1: enable DDR2 function
0 FDIV2 Half frequency mode
cn IA
0: DRAMC clock cycle = DRAM clock cycle
1: DRAMC clock cycle = 2 * DRAM clock cycle
m. NT
1E005084 ZQCS ZQCS setting 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
.co IDE
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name ZQCSAD ZQCSOP
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
15:8 ZQCSAD
7:0 ZQCSOP
ase O
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name OC
DA MRSOP
DJ
Type RW RW
Reset 0 0 0 0 0 0 0 0 0
xia E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name MRSBA MRSMA
ny AT
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
OL
US L
EN1
EO
Type RW
Reset 0
cn IA
Bit(s) Name Description
31:24 OCDPAT
19:16 CLK1DLY DRAM clock 1 signal output delay
m. NT
The larger value means larger delay, 1 step = 20ps
1 FIFOLEN1 Read FIFO length in DDRPHY
0: 8-level
1: 4-level
.co IDE
1E005090 IOCTL IO CONTROL 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name SIO
ccn NF
EN
Type RW
Reset 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
ase O
Type
Reset
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS3IEN DQS2IEN
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
To DI
Y
NL
1E0050B8 DRVCTL0 PAD DRIVING CONTROL SETTING 0 AA22AA
US L
EO
22
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name DQ DQ
SR SR
DQSDRVP DQSDRVN DSODTP DSODTN
TTB TTB
PJ NJ
Type RW RW RW RW RW RW
m. NT
Reset 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ
DQ
RTT
DQDRVP DQDRVN RTT DQODTP DQODTN
BN
BPJ
.co IDE
J
Type RW RW RW RW RW RW
Reset 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0
15:12 DQDRVP DQ P driving control, refer IBIST model for driving strength
11:8 DQDRVN DQ N driving control, refer IBIST model for driving strength
@ KC
00
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CL CL
KR KR
CLKDRVP CLKDRVN CKODTP CKODTN
TTB TTB
PJ NJ
To DI
Type RW RW RW RW RW RW
Reset 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CMDDRVP CMDDRVN
R E
Type RW RW
Reset 1 0 1 0 1 0 1 0
M
Y
NL
18:16 CKODTN CLK ODT N driving control, refer IBIST model for driving strength
US L
15:12 CMDDRVP CMD P driving control, refer IBIST model for driving strength
EO
11:8 CMDDRVN CMD N driving control, refer IBIST model for driving strength
cn IA
1E0050C0 DLLSEL DLL SELECTION SETTING 0000000
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CM CM
CM CM
DLLCNTS AUTOKMO PD PD
DLL67SEL DLL45SEL DLL23SEL DLL01SEL PE PC
EL DE RV RV
N AL
NE PE
.co IDE
Type RW RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CM
CM
OD
CMPDRVP CMPDRVN OD CMPODTP CMPODTN
TN
TPE
E
Type
ccn NF RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0: disable
1: enable
18 CMPCAL Connect to CMP pad CALP
17 CMPDRVNE Connect to CMP pad DRVNE
16 CMPDRVPE Connect to CMP pad DRVPE
To DI
Y
NL
Type RW RW
Reset
US L
0 0 0 0 0 0 0 0
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CMDTDSEL CLKTDSEL
cn IA
Type RW RW
Reset 0 0 0 0 0 0 0 0
m. NT
27:24 DQS3TDSEL DQS3 output duty control
19:16 DQS2TDSEL DQS2 output duty control
11:8 CMDTDSEL Command output duty control
3:0 CLKTDSEL DRAM clock output duty control
.co IDE
1E0050D0 TDSEL1 IO OUTPUT DUTY CONTROL 1 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS1TDSEL DQS0TDSEL
ccn NF
Type RW RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQB3TDSEL DQB2TDSEL DQB1TDSEL DQB0TDSEL
Type RW RW RW RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name _16
OD
BIT
PINMUX TR DISDQIEN
FUL
EN
L
Type RW RW RW RW
R E
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name FIXDQIEN
M
Type RW
Reset 0 0 0 0
Y
NL
11: Reserve
US L
28 _16BITFULL DRAM bus is 16-bit and FDIV2 = 0
EO
22 ODTREN Write ODT turn on when reading
cn IA
0: disable
1: enable
19:16 DISDQIEN Disable DQ input enable
0: DQ input enable when necessary
1: DQ input disable
m. NT
15:12 FIXDQIEN DQ input enable fixed mode
0: DQ input enable when necessary
1: Keep DQ input always on
.co IDE
1E0050DC DQSCTL0 DQS INPUT RANGE CONTROL 0 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS1CTL[11:4]
Type RW
Reset
ccn NF 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1CTL[3:0] DQS0CTL
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ
SIE
NM DQSINCTL DQS3CTL[11:4]
OD
E
To DI
Type RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS3CTL[3:0] DQS2CTL
Type RW RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
Unit: 1/2 DRAM clock cycle
US L
11:0 DQS2CTL DQS2 input range control, 1hot encoding
EO
Unit: 1/2 DRAM clock cycle
cn IA
1E0050E4 PADCTL4 PAD CONTROL 1 0000000
0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CLKPADCTL CMDPADCTL DQSPADCTL DQPADCTL
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name DD ZQ BC DA
CK CK GD
EFI EFI DR
DQSRTT DQRTT R3E CS 4OT TLA
XO XO 3RS
N EN F T3
FF N T
Type RW RW RW RW RW RW RW RW RW
Reset 0
ccn NF 0 0 0 0 0 0 0 0 0 0 0 0
1: enable
4 DATLAT3 Read data latch timing control bit 3
3 CKEFIXOFF CKE always off
0: CKE hardware control
1: CKE always off
To DI
0: reset disable
1: reset enable
M
Y
NL
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
US L
Name DQS1RDSEL DQS0RDSEL
EO
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
29:24 DQS3RDSEL DQS 3 RDSEL (duty cycle control)
Unit: 50ps
m. NT
21:16 DQS2RDSEL DQS 2 RDSEL (duty cycle control)
Unit: 50ps
13:8 DQS1RDSEL DQS 1 RDSEL (duty cycle control)
Unit: 50ps
.co IDE
5:0 DQS0RDSEL DQS 0 RDSEL (duty cycle control)
Unit: 50ps
Name DQ
PH
FIX
4B DQ
YR
MU SIE
ST
M
X N
Type RW RW RW
Reset 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
Y
NL
31 DQ4BMUX DQ 4-bit multiplex for DDR3
US L
0: Disable
EO
1: Enable
28 PHYRST PHY reset enable
cn IA
0: disable
1: enable
24 FIXDQSIEN DQS input enable always on
0: Hardware control
m. NT
1: always on
.co IDE
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name PH RD
_8B
YS AT
KE
YN RS
N
CM T
Type RW RW RW
ccn NF
Reset 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
ase O
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DR
AM LBT
R E
OE EST
N
Type RW RW
M
Reset 0 0
Y
NL
1: enable
US L
EO
cn IA
1E0050FC MISCTL0 MISC CONTROL 0 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RE RE PB
m. NT
AS
FP_ FA_ C_ MO
YN INT
TXP AR AR AR DE1
CE LBT
B_E B_E B_E 8V
N
N N N
Type RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name WD WD WD WD WD WD WD WD
WD DR
AT AT AT AT AT AT AT AT INTREF_S
ATI VR
M
KE KE KE KE KE KE KE KE EL
TLV EF
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
Type RW RW RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DR AU
DE TO
LS DRDELSWSEL CA AUTOKCNT
WE LD
N RV
FO
Y
NL
Type RW RW RW RW
Reset
US L
0 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit(s) Name Description
cn IA
31 WDATKEY7 Data encryption key bit 7
30 WDATKEY6 Data encryption key bit 6
28 WDATITLV Data scramble enable
m. NT
0: disable
1: enable
27 WDATKEY5 Data encryption key bit 5
26 WDATKEY4 Data encryption key bit 4
24 DRVREF Driving change only when refresh cycle
.co IDE
0: disable, change will be apply directly
1: enable, change will be apply during refresh
23 WDATKEY3 Data encryption key bit 3
22 WDATKEY2 Data encryption key bit 2
19 WDATKEY1 Data encryption key bit 1
18 WDATKEY0 Data encryption key bit 0
ccn NF
17:16 INTREF_SEL Calibration I/O PAD VREF selection
00: 0.5*VDDQ
01: 0.6*VDDQ
10: 0.7*VDDQ
11: 0.8*VDDQ
ase O
11:9 DRDELSWSEL Timing control of DQS input delay switching for different ranks
Unit: DRAMC clock
8 AUTOCALDRV OCD calibration
0: calibration disable
1: calibration enable
7:0 AUTOKCNT Auto calibration counter
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name LBWDATA0[31:16]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Name LBWDATA0[15:0]
Type RW
Reset
M
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name LBWDATA1[31:16]
Type RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name LBWDATA1[15:0]
Type RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
1E00510C LBWDAT2 LOOP BACK DATA 2 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name LBWDATA2[31:16]
ccn NF
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name LBWDATA2[15:0]
Type RW
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RKSIZE XRTW2W XRTW2R
ny AT
Type RW RW RW
Reset 0 1 1 0 1 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name PB
MR RK
RE
XRTR2W XRTR2R S2R SW RKMODE
FE
K AP
To DI
N
Type RW RW RW RW RW RW
Reset 0 0 1 0 0 1 0 0 0 0 0 0
R E
001: ADDR[30]
010: ADDR[29]
011: ADDR[28]
100: ADDR[27]
101: ADDR[26]
110: ADDR[25]
111: ADDR[24]
19:18 XRTW2W cross rank timing W2W
Unit: DRAM controller clock
FO
Y
NL
17:16 XRTW2R cross rank timing W2R
US L
Unit: DRAM controller clock
EO
14:12 XRTR2W cross rank timing R2W; note that XRTR2W = 6/7 have the same setting
cn IA
Unit: DRAM controller clock
10:8 XRTR2R cross rank timing R2R
Unit: DRAM controller clock
7 PBREFEN Per-bank refresh enable for LPDDR2
m. NT
0: disable
1: enable
4 MRS2RK MRS commands are sent to 2 ranks simulataneously
0: disable
1: enable
.co IDE
3 RKSWAP swap CS<->CS1
0: disable
1: enable
2:0 RKMODE Multi-rank mode support
Set to non-zero for multi-rank
ccn NF
1E005114 CKPHDET CLOCK PHASE DETECTION SETTING 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ase O
Name CK
PH
CN
TE
@ KC
N
Type RW
Reset 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CKPHCHKCYC
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
M
Name BY BY
PA PA
NE DM
SS_ SS_
WD YP
DM DM
QS AD
PA PA
G_ _RX
D_ D_
SEL SEL
CO CO
M1 M0
Type RW RW RW RW
Reset 1 0 0 0
FO
Y
NL
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
US L
Name DQSG_CO DQSG_CO
EO
DQSG_FINE_DLY_COM1 DQSG_FINE_DLY_COM0 ARSE_DL ARSE_DL
Y_COM1 Y_COM0
cn IA
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
31 NEWDQSG_SEL DQS gating control method
0: old
1: new
18 BYPASS_DMPAD_CO Bypass dummy PAD for DQS2/3 gating signal
M1 0: not bypass
.co IDE
1: bypass
17 BYPASS_DMPAD_CO Bypass dummy PAD for DQS0/1 gating signal
M0 0: not bypass
1: bypass
16 DMYPAD_RXSEL Select O/O1 pin of dummy PAD for gating signal input
0: O pin
1: O1 pin
ccn NF
15:12 DQSG_FINE_DLY_CO Fine tune delay setting for DQS2/3 gating signal before dummy PAD
M1 Unit: 20ps
11:8 DQSG_FINE_DLY_CO Fine tune delay setting for DQS1/0 gating signal before dummy PAD
M0 Unit: 20ps
ase O
5:4 DQSG_COARSE_DLY Coarse tune delay setting for DQS2/3 gating signal before dummy PAD
_COM1 Unit: 0.25/0.5T of DRAMC clock under 2X/1X mode
1:0 DQSG_COARSE_DLY Coarse tune delay setting for DQS0/1 gating signal before dummy PAD
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CL CL
ny AT
K1E K0E
N N
Type RW RW
Reset 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
To DI
Type
Reset
Y
NL
0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name DQSIPRE1DLY DQSIPOS1DLY
Type RW RW
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQSIPRE0DLY DQSIPOS0DLY
Type RW RW
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
14:8 DQSIPRE0DLY DQS PRE delay control for DQS0
6:0 DQSIPOS0DLY DQS POS delay control for DQS0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQSIPRE2DLY DQSIPOS2DLY
Type RW RW
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
Name MAXPENDCNT
Type RW
M
Reset 0 0 0 0 0 0 0 0
Y
NL
0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name RA3DLY RA2DLY
Type RW RW
cn IA
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RA1DLY RA0DLY
Type RW RW
m. NT
Reset 0 0 0 0 0 0 0 0
.co IDE
19:16 RA2DLY RA output delay chain setting for bit2
Unit: 20ps
11:8 RA1DLY RA output delay chain setting for bit1
Unit: 20ps
3:0 RA0DLY RA output delay chain setting for bit0
Unit: 20ps
ccn NF
1E0051AC CMDDLY1 Command Delay CTL1 0000000
0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RA7DLY RA6DLY
@ KC
Type RW RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RA5DLY RA4DLY
Type RW RW
Reset 0 0 0 0 0 0 0 0
xia E
Unit: 20ps
19:16 RA6DLY RA output delay chain setting for bit6
Unit: 20ps
11:8 RA5DLY RA output delay chain setting for bit5
Unit: 20ps
To DI
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RA11DLY RA10DLY
Type RW RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RA9DLY RA8DLY
Type RW RW
Reset 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
27:24 RA11DLY RA output delay chain setting for bit11
cn IA
Unit: 20ps
19:16 RA10DLY RA output delay chain setting for bit10
Unit: 20ps
11:8 RA9DLY RA output delay chain setting for bit9
m. NT
Unit: 20ps
3:0 RA8DLY RA output delay chain setting for bit8
Unit: 20ps
.co IDE
1E0051B4 CMDDLY3 Command Delay CTL3 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name BA2DLY BA1DLY
Type RW RW
Reset
ccn NF 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name BA0DLY RA12DLY
Type RW RW
Reset 0 0 0 0 0 0 0 0
ase O
Unit: 20ps
19:16 BA1DLY BA output delay chain setting for bit1
Unit: 20ps
11:8 BA0DLY BA output delay chain setting for bit0
Unit: 20ps
3:0 RA12DLY RA output delay chain setting for bit12
xia E
Unit: 20ps
ny AT
Name CS CS
MO MO
CKEDLY CSDLY
NS NE
M
EL N
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Unit: 20ps
US L
12:8 CKEDLY CKE output delay chain setting
EO
Unit: 20ps
cn IA
6 CSMONSEL DQSIEN monitor through CS select (only for 6517)
5 CSMONEN DQSIEN monitor through CS enable (only for 6517)
4:0 CSDLY CS output delay chain setting
Unit: 20ps
m. NT
1E0051BC CMDDLY5 Command Delay CTL5 0000000
0
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CS CS
XM XM
OTDLY RA13DLY
ON ON
SEL EN
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15
ccn NF
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name WEDLY
Type RW
Reset 0 0 0 0 0
ase O
BC
RA14DLY
AL
EN
Type RW RW
Reset 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ
DQ
M
SIE
SIE
NH
DQSIENHLMT NLL DQSIENLLMT
LM
MT
TE
EN
N
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
31 STBCALEN DQS strobe calibration enable
US L
0: disable
EO
1: enable
28:24 RA14DLY RA output delay chain setting for bit14
cn IA
Unit: 20ps
15 DQSIENHLMTEN DQS strobe calibration high-limit enable
0: disable
1: enable
m. NT
14:8 DQSIENHLMT DQS strobe calibration high-limit value
7 DQSIENLLMTEN DQS strobe calibration low-limit enable
0: disable
1: enable
.co IDE
6:0 DQSIENLLMT DQS strobe calibration low-limit value
DSMONSEL ON AU TR_
EN_ SE_ EN
SW SW
Type RW RW RW RW
@ KC
Reset 10b' 10b' 10b' 10b' 10b' 10b' 10b' 10b' 10b' 10b'
000 000 000 000 000 000 000 000 000 000
000 000 000 000 000 000 000 000 000 000 0 0 0
000 000 000 000 000 000 000 000 000 000
0 0 0 0 0 0 0 0 0 0
3 BUSMONEN_SW Bus monitor enable. Can't use with BUSMONEN_HW at the same time.
0: disable
1: enable
2 MONPAUSE_SW Pause Bus monitor Counter. Can't use with MONPAUSE_HW at the same time.
0: disable
To DI
1: enable
0 JMTR_EN Jitter meter enable
0: disable
1: enable
R E
M
Y
NL
F
US L
Type RW RW RW RW
EO
Reset 0 0 0 0 1 1 0 0 0 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name TXREFCNT DCMDLYREF
Type RW RW
Reset 0 0 1 0 1 0 0 0 1 0 0
m. NT
Bit(s) Name Description
26 MIOCKCTRLOFF dram clk gating parameter
1 : always no gating
0 : controlled by dramc
25 DCMEN DRAMC non-freerun clock gating function
.co IDE
0: disable
1: enable
24 REFFRERUN Using FREE-RUN CLK to count reflesh period
23:16 REFCNT_FR_CLK Refresh period = (REFCNT_FR_CLK) DRAMC FREE-RUN clock cycles
Setting the value according to DRAM spec and DRAMC FREE-RUN frequency
15:8 TXREFCNT tXSR
ccn NF 258T/3T~258T for DDR3/LPDDR2
6:4 DCMDLYREF Number of delay cycles to wake up DCM by the refresh command, which is
counted by the FREE-RUN clock
Note that this value can't be set to 3'b000!
ase O
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name AD SEL
DD
LP WD
FA DD DD DD DD DD DD DD
DD
RD O1 DD AT RB
RA ST RC RO RC RC RR RC RW
EC AS R2E RG A[2:
14 OE S1 DT KE S AS AS E
EN O N O 2]
Type RW RW RW RW RW RW RW RW RW RW RW RW RW RW
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Name DDRBA[1:
DDRA
0]
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29 DDRA14 DDR mode for A[14] pin (LPDDR2 DDR command rate)
0: disable
1: enable
28 LPDDR2EN LPDDR2 enable
0: disable
1: enable
27 WDATRGO Enable register output data by DRAMC
0: disable
FO
Y
NL
1: enable
US L
26 FASTOE Fast IO output enable
EO
0: disable
1: enable
cn IA
24 DDRCS1 DDR mode for CS1 pin (LPDDR2 DDR command rate)
0: disable
1: enable
22 DDRODT DDR mode for ODT pin (LPDDR2 DDR command rate)
m. NT
0: disable
1: enable
21 DDRCKE DDR mode for CKE pin (LPDDR2 DDR command rate)
0: disable
1: enable
.co IDE
20 DDRCS DDR mode for CS pin (LPDDR2 DDR command rate)
0: disable
1: enable
19 DDRRAS DDR mode for RAS pin (LPDDR2 DDR command rate)
0: disable
1: enable
18
ccn NF
DDRCAS DDR mode for CAS pin (LPDDR2 DDR command rate)
0: disable
1: enable
17 DDRWE DDR mode for WE pin (LPDDR2 DDR command rate)
0: disable
ase O
1: enable
16:14 DDRBA DDR mode for BA[2:0] pin (LPDDR2 DDR command rate)
0: disable
@ KC
1: enable
13:0 DDRA DDR mode for A[13:0] pin (LPDDR2 DDR command rate)
0: disable
1: enable
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name PADRG_RDSEL ZQCSCNT
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
To DI
Name DQ DQ
CM SG SG TC ZQ AR PR MR MR
PP CN CN MD CE EFE EA RE WE
D TR TE EN N N EN N N
ST N
R E
Type RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0
M
Y
NL
5 TCMDEN Test command enable
US L
0: disable
EO
1: enable
4 ZQCEN ZQ calibration enable
cn IA
0: disable
1: enable
3 AREFEN Auto Refresh command enable
0: disable
m. NT
1: enable
2 PREAEN Precharge all command enable
0: disable
1: enable
1 MRREN Mode register read command enable
.co IDE
0: disable
1: enable
0 MRWEN Mode register write command enable
0: disable
ccn NF 1: enable
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TR TFA TR
RD W_ C_
TRFCPB TRFC_BIT7_4
_BI BIT BIT
T2 4 4
Type RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Y
NL
Type RW
Reset
US L
0
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RW RW RW RW
DU
cn IA
CS2 AL
AG LLA HP OF
RA RWOFOWNUM SC
EE TE RIE OE
NK HE
N N N N
N
Type RW RW RW RW RW RW RW
m. NT
Reset 0 0 0 0 0 0 0 0 0
.co IDE
1: disable the power saving function
12 CS2RANK CS0 is also applied to CS1
0: disable
1: enable
10 RWAGEEN Support EMI read/write aging tag
0: Not support
ccn NF 1: Support
9 RWLLATEN Support EMI read/write low-latency
0: Not support
1: Support
8 RWHPRIEN Support EMI read/write high-priority
ase O
0: Not support
1: Support
7:5 RWOFOWNUM Coniinous write transactions allowed
@ KC
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name AC
R E
DE
TRC_DERATE TRCD_DERATE RA
TEE
M
N
Type RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0
Y
NL
tRPAB = TRP_DERATE + TRPAB_DERATE
US L
23:20 TRP_DERATE tRP de-rate timing setting
EO
tRP = (1 + TRP_DERATE) DRAMC clock cycles
cn IA
19:16 TRAS_DERATE tRAS de-rate timing setting
tRAS = (8 + TRAS_DERATE) DRAMC clock cycles
12:8 TRC_DERATE tRC de-rate timing setting
tRC = (8 + TRC_DERATE) DRAMC clock cycles
m. NT
7:4 TRCD_DERATE tRCD de-rate timing setting
tRCD = (1 + TRCD_DERATE) DRAMC clock cycles
0 ACDERATEEN Enable LPDDR2 AC timing de-rating control, effective when REFRESH_RATE >=
6
0: disable
.co IDE
1: enable
Type RW RW
Reset 0 0 0 0 1 0 0 0 0 0
@ KC
12:8 RR_BIT1_SEL Refresh rate data bit 1 selection from 32-bit input read data
00000: select bit 0
ny AT
Y
NL
Type RW
Reset
US L
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit(s) Name Description
cn IA
31:0 WPATCMP Write data pattern to be compared for interrupting write commands
m. NT
1E0051FC WPATCMP_C WRITE PATTERN COMPARE CONTROL 0000000
TL 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name WP
.co IDE
AT_
WPAT_BL
ST
KCYC
CL
R
Type RW RW
Reset 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name WPAT_INVEN WPAT_CMPEN
ccn NF
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15:8 WPAT_INVEN Inversion control for 8 sets of 32-bit write compare data WPATCMP
7:0 WPAT_CMPEN Enable write data compare sequence
bit 0: PAT0, PAT1, PAT2, PAT3, PAT4, PAT5, PAT6, PAT7
bit 1: PAT7, PAT0, PAT1, PAT2, PAT3, PAT4, PAT5, PAT6
bit 2: PAT6, PAT7, PAT0, PAT1, PAT2, PAT3, PAT4, PAT5
.
bit7: PAT1, PAT2, PAT3, PAT4, PAT5, PAT6, PAT7, PAT0
xia E
ny AT
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ3DLY DQ2DLY DQ1DLY DQ0DLY
Type RW RW RW RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
19:16 DQ4DLY DQ output delay chain setting for bit4
US L
Unit: 20ps
EO
15:12 DQ3DLY DQ output delay chain setting for bit3
cn IA
Unit: 20ps
11:8 DQ2DLY DQ output delay chain setting for bit2
Unit: 20ps
7:4 DQ1DLY DQ output delay chain setting for bit1
m. NT
Unit: 20ps
3:0 DQ0DLY DQ output delay chain setting for bit0
Unit: 20ps
.co IDE
1E005204 DQODLY2 DQ output DELAY2 CHAIN setting 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ15DLY DQ14DLY DQ13DLY DQ12DLY
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ11DLY DQ10DLY DQ9DLY DQ8DLY
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
Unit: 20ps
27:24 DQ14DLY DQ output delay chain setting for bit14
Unit: 20ps
23:20 DQ13DLY DQ output delay chain setting for bit13
Unit: 20ps
19:16 DQ12DLY DQ output delay chain setting for bit12
xia E
Unit: 20ps
15:12 DQ11DLY DQ output delay chain setting for bit11
ny AT
Unit: 20ps
11:8 DQ10DLY DQ output delay chain setting for bit10
Unit: 20ps
7:4 DQ9DLY DQ output delay chain setting for bit9
Unit: 20ps
To DI
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ23DLY DQ22DLY DQ21DLY DQ20DLY
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ19DLY DQ18DLY DQ17DLY DQ16DLY
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
31:28 DQ23DLY DQ output delay chain setting for bit23
cn IA
Unit: 20ps
27:24 DQ22DLY DQ output delay chain setting for bit22
Unit: 20ps
23:20 DQ21DLY DQ output delay chain setting for bit21
m. NT
Unit: 20ps
19:16 DQ20DLY DQ output delay chain setting for bit20
Unit: 20ps
15:12 DQ19DLY DQ output delay chain setting for bit19
Unit: 20ps
.co IDE
11:8 DQ18DLY DQ output delay chain setting for bit18
Unit: 20ps
7:4 DQ17DLY DQ output delay chain setting for bit17
Unit: 20ps
3:0 DQ16DLY DQ output delay chain setting for bit16
Unit: 20ps
ccn NF
1E00520C DQODLY4 DQ output DELAY4 CHAIN setting 0000000
0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ31DLY DQ30DLY DQ29DLY DQ28DLY
@ KC
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ27DLY DQ26DLY DQ25DLY DQ24DLY
Type RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Unit: 20ps
27:24 DQ30DLY DQ output delay chain setting for bit30
Unit: 20ps
23:20 DQ29DLY DQ output delay chain setting for bit29
Unit: 20ps
To DI
Unit: 20ps
11:8 DQ26DLY DQ output delay chain setting for bit26
Unit: 20ps
M
Y
NL
1E005210 DQIDLY1 DQ input DELAY1 CHAIN setting 0000000
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name DQ3DEL DQ2DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name DQ1DEL DQ0DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
.co IDE
27:24 DQ3DEL DQ input delay chain setting for bit3
Unit: 20ps
19:16 DQ2DEL DQ input delay chain setting for bit2
Unit: 20ps
11:8 DQ1DEL DQ input delay chain setting for bit1
Unit: 20ps
ccn NF
3:0 DQ0DEL DQ input delay chain setting for bit0
Unit: 20ps
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ7DEL DQ6DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ5DEL DQ4DEL
Type RW RW
Reset
xia E
0 0 0 0 0 0 0 0
Y
NL
Type RW RW
Reset
US L
0 0 0 0 0 0 0 0
EO
Bit(s) Name Description
cn IA
27:24 DQ11DEL DQ input delay chain setting for bit11
Unit: 20ps
19:16 DQ10DEL DQ input delay chain setting for bit10
m. NT
Unit: 20ps
11:8 DQ9DEL DQ input delay chain setting for bit9
Unit: 20ps
3:0 DQ8DEL DQ input delay chain setting for bit8
Unit: 20ps
.co IDE
1E00521C DQIDLY4 DQ input DELAY4 CHAIN setting 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
ccn NF DQ15DEL DQ14DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ13DEL DQ12DEL
Type RW RW
ase O
Reset 0 0 0 0 0 0 0 0
@ KC
Unit: 20ps
3:0 DQ12DEL DQ input delay chain setting for bit12
ny AT
Unit: 20ps
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ19DEL DQ18DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ17DEL DQ16DEL
M
Type RW RW
Reset 0 0 0 0 0 0 0 0
Y
NL
11:8 DQ17DEL DQ input delay chain setting for bit17
US L
Unit: 20ps
EO
3:0 DQ16DEL DQ input delay chain setting for bit16
cn IA
Unit: 20ps
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ23DEL DQ22DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ21DEL DQ20DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
Unit: 20ps
3:0 DQ20DEL DQ input delay chain setting for bit20
@ KC
Unit: 20ps
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ27DEL DQ26DEL
Type RW RW
ny AT
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ25DEL DQ24DEL
Type RW RW
Reset 0 0 0 0 0 0 0 0
To DI
Y
NL
0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name DQ31DEL DQ30DEL
Type RW RW
cn IA
Reset 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ29DEL DQ28DEL
Type RW RW
m. NT
Reset 0 0 0 0 0 0 0 0
.co IDE
19:16 DQ30DEL DQ input delay chain setting for bit30
Unit: 20ps
11:8 DQ29DEL DQ input delay chain setting for bit29
Unit: 20ps
3:0 DQ28DEL DQ input delay chain setting for bit28
Unit: 20ps
ccn NF
1E005280 R2R_page_hit R2R_page_hit_counter 0000000
_counter 0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name R2R_page_hit_counter[31:16]
@ KC
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name R2R_page_hit_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name R2R_page_miss_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name R2R_page_miss_counter[15:0]
Type RO
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E005288 R2R_interban R2R_interbank_counter 0000000
US L
EO
k_counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name R2R_interbank_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name R2R_interbank_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:0 R2R_interbank_counte R2R_interbank_counter
r
Name R2W_page_hit_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@ KC
ss_counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name R2W_page_miss_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name R2W_page_miss_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
ter
Y
NL
Type RO
Reset
US L
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name R2W_interbank_counter[15:0]
cn IA
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
31:0 R2W_interbank_counte R2W_interbank_counter
r
.co IDE
1E005298 W2R_page_hi W2R_page_hit_counter 0000000
t_counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name W2R_page_hit_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ccn NF
Name W2R_page_hit_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
W2R_page_miss_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name W2R_page_miss_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
k_counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name W2R_interbank_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name W2R_interbank_counter[15:0]
Type RO
FO
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
31:0 W2R_interbank_counte W2R_interbank_counter
r
m. NT
1E0052A4 W2W_page_hi W2W_page_hit_counter 0000000
t_counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name W2W_page_hit_counter[31:16]
Type
.co IDE
RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name W2W_page_hit_counter[15:0]
Type RO
Reset 0 0
ccn NF 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name W2W_page_miss_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name W2W_page_miss_counter[15:0]
Type
xia E
RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Name W2W_interbank_counter[31:16]
Type RO
M
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name W2W_interbank_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E0052B0 dramc_idle_c dramc_idle_counter 0000000
cn IA
ounter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name dramc_idle_counter[31:16]
Type RO
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name dramc_idle_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:0 dramc_idle_counter dramc_idle_counter
1E0052B4
ccn NF
freerun_26m_ freerun_26m_counter 0000000
counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name freerun_26m_counter[31:16]
Type RO
ase O
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name freerun_26m_counter[15:0]
@ KC
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
counter 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name refresh_pop_counter[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name refresh_pop_counter[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R E
Y
NL
TR_
US L
DO
EO
NE
Type RO RO
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name ZEROS_CNT
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31 JMTR_DONE Jitter meter result is updated.
0: not ready
1: update result.
.co IDE
30:16 ONES_CNT ones counter result
14:0 ZEROS_CNT zeros counter result
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ0_1_DLY_MAX DQ0_0_DLY_MAX
Type RO RO
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ0_7_DLY_MAX DQ0_6_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R E
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
US L
EO
1E0052C8 DQ_CAL_MA DQ INPUT CALIBRATION per bit 11-8 0000000
cn IA
X_2 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ1_3_DLY_MAX DQ1_2_DLY_MAX
Type RO RO
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ1_1_DLY_MAX DQ1_0_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit(s) Name Description
31:24 DQ1_3_DLY_MAX DQ bit11 input maximum delay
23:16 DQ1_2_DLY_MAX DQ bit10 input maximum delay
15:8 DQ1_1_DLY_MAX DQ bit9 input maximum delay
7:0 DQ1_0_DLY_MAX DQ bit8 input maximum delay
ccn NF
1E0052CC DQ_CAL_MA DQ INPUT CALIBRATION per bit 15-12 0000000
X_3 0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ1_7_DLY_MAX DQ1_6_DLY_MAX
@ KC
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ1_5_DLY_MAX DQ1_4_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ2_1_DLY_MAX DQ2_0_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
23:16 DQ2_2_DLY_MAX DQ bit18 input maximum delay
US L
15:8 DQ2_1_DLY_MAX DQ bit17 input maximum delay
EO
7:0 DQ2_0_DLY_MAX DQ bit16 input maximum delay
cn IA
1E0052D4 DQ_CAL_MA DQ INPUT CALIBRATION per bit 23-20 0000000
m. NT
X_5 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ2_7_DLY_MAX DQ2_6_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ2_5_DLY_MAX DQ2_4_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
X_6 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ3_3_DLY_MAX DQ3_2_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
xia E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ3_7_DLY_MAX DQ3_6_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ3_5_DLY_MAX DQ3_4_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FO
Y
NL
US L
Bit(s) Name Description
EO
31:24 DQ3_7_DLY_MAX DQ bit31 input maximum delay
cn IA
23:16 DQ3_6_DLY_MAX DQ bit30 input maximum delay
15:8 DQ3_5_DLY_MAX DQ bit29 input maximum delay
7:0 DQ3_4_DLY_MAX DQ bit28 input maximum delay
m. NT
1E0052E0 DQS_CAL_MI DQS INPUT CALIBRATION per bit 3-0 0000000
N_0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
.co IDE
Name DQS0_3_DLY_MIN DQS0_2_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS0_1_DLY_MIN DQS0_0_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
31:24 DQS0_3_DLY_MIN DQS bit3 input minimum delay
23:16 DQS0_2_DLY_MIN DQS bit2 input minimum delay
ase O
DQS0_7_DLY_MIN DQS0_6_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS0_5_DLY_MIN DQS0_4_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
US L
Name DQS1_1_DLY_MIN DQS1_0_DLY_MIN
EO
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
31:24 DQS1_3_DLY_MIN DQS bit11 input minimum delay
23:16 DQS1_2_DLY_MIN DQS bit10 input minimum delay
m. NT
15:8 DQS1_1_DLY_MIN DQS bit9 input minimum delay
7:0 DQS1_0_DLY_MIN DQS bit8 input minimum delay
.co IDE
1E0052EC DQS_CAL_MI DQS INPUT CALIBRATION per bit 15-12 0000000
N_3 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS1_7_DLY_MIN DQS1_6_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1_5_DLY_MIN DQS1_4_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS2_3_DLY_MIN DQS2_2_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS2_1_DLY_MIN DQS2_0_DLY_MIN
To DI
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
US L
Name DQS2_7_DLY_MIN DQS2_6_DLY_MIN
EO
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cn IA
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS2_5_DLY_MIN DQS2_4_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
Bit(s) Name Description
31:24 DQS2_7_DLY_MIN DQS bit23 input minimum delay
23:16 DQS2_6_DLY_MIN DQS bit22 input minimum delay
15:8 DQS2_5_DLY_MIN DQS bit21 input minimum delay
.co IDE
7:0 DQS2_4_DLY_MIN DQS bit20 input minimum delay
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS3_5_DLY_MIN DQS3_4_DLY_MIN
R E
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
1E005300 DQS_CAL_M DQS INPUT CALIBRATION per bit 3-0 0000000
US L
EO
AX_0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name DQS0_3_DLY_MAX DQS0_2_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
m. NT
Name DQS0_1_DLY_MAX DQS0_0_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
31:24 DQS0_3_DLY_MAX DQS bit3 input maximum delay
23:16 DQS0_2_DLY_MAX DQS bit2 input maximum delay
15:8 DQS0_1_DLY_MAX DQS bit1 input maximum delay
7:0 DQS0_0_DLY_MAX DQS bit0 input maximum delay
ccn NF
1E005304 DQS_CAL_M DQS INPUT CALIBRATION per bit 7-4 0000000
AX_1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS0_7_DLY_MAX DQS0_6_DLY_MAX
ase O
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
@ KC
AX_2 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS1_3_DLY_MAX DQS1_2_DLY_MAX
Type RO RO
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1_1_DLY_MAX DQS1_0_DLY_MAX
M
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
7:0 DQS1_0_DLY_MAX DQS bit8 input maximum delay
US L
EO
cn IA
1E00530C DQS_CAL_M DQS INPUT CALIBRATION per bit 15-12 0000000
AX_3 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name DQS1_7_DLY_MAX DQS1_6_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1_5_DLY_MAX DQS1_4_DLY_MAX
Type RO RO
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
AX_4 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS2_7_DLY_MAX DQS2_6_DLY_MAX
M
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS2_5_DLY_MAX DQS2_4_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
31:24 DQS2_7_DLY_MAX DQS bit23 input maximum delay
US L
23:16 DQS2_6_DLY_MAX DQS bit22 input maximum delay
EO
15:8 DQS2_5_DLY_MAX DQS bit21 input maximum delay
cn IA
7:0 DQS2_4_DLY_MAX DQS bit20 input maximum delay
m. NT
1E005318 DQS_CAL_M DQS INPUT CALIBRATION per bit 27-34 0000000
AX_6 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS3_3_DLY_MAX DQS3_2_DLY_MAX
Type RO RO
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS3_1_DLY_MAX DQS3_0_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS3_5_DLY_MAX DQS3_4_DLY_MAX
Type RO RO
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQ3_DLY_MAX DQ2_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQ1_DLY_MAX DQ0_DLY_MAX
Type RO RO
FO
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
EO
Bit(s) Name Description
cn IA
30:24 DQ3_DLY_MAX DQ byte3 input maximum delay
22:16 DQ2_DLY_MAX DQ byte2 input maximum delay
14:8 DQ1_DLY_MAX DQ byte1 input maximum delay
6:0 DQ0_DLY_MAX DQ byte0 input maximum delay
m. NT
1E005354 DQICAL1 DQS INPUT CALIBRATION 1 0000000
0
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS3_DLY_MIN DQS2_DLY_MIN
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1_DLY_MIN DQS0_DLY_MIN
Type RO RO
ccn NF
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1_DLY_MAX DQS0_DLY_MAX
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Name DQS1_DLY_AVG DQS0_DLY_AVG
Type RO RO
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
m. NT
22:16 DQS2_DLY_AVG DQS2 input delay average
14:8 DQS1_DLY_AVG DQS1 input delay average
6:0 DQS0_DLY_AVG DQS0 input delay average
.co IDE
1E005370 CMP_ERR CMP ERROR 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CMP_ERR[31:16]
Type RO
ccn NF
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CMP_ERR[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name DQS3IENDLY DQS2IENDLY
Type RO RO
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DQS1IENDLY DQS0IENDLY
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
Y
NL
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
US L
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EO
Name STBEN0[15:0]
Type RO
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
m. NT
1E005390 STBEN1 DQS RING COUNTER 1 0000000
3
.co IDE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name STBEN1[31:16]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name STBEN1[15:0]
Type RO
ccn NF
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name STBEN2[15:0]
Type RO
ny AT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name STBEN3[31:16]
M
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name STBEN3[15:0]
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
Y
NL
31:0 STBEN3 DQS3 ring counter
US L
EO
cn IA
1E0053A0 DQSDLY0 DQS INPUT DELAY SETTING 0 0F0F0F0
F
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
m. NT
Name DEL3DLY DEL2DLY
Type RO RO
Reset 0 0 0 1 1 1 1 0 0 0 1 1 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DEL1DLY DEL0DLY
Type RO RO
.co IDE
Reset 0 0 0 1 1 1 1 0 0 0 1 1 1 1
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
@ KC
Name SR
EF_
ST
AT
E
Type RO
Reset 0
xia E
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name TC ZQ AR PR MR MR
MD C_ EF_ EA_ R_ W_
ny AT
_RE RE RE RE RE RE
REFRESH_RATE
SP SP SP SP SP SP
ON ON ON ON ON ON
SE SE SE SE SE SE
Type RO RO RO RO RO RO RO
Reset 0 1 1 0 0 0 0 0 0
To DI
1: enter
10:8 REFRESH_RATE Refresh rate reading from LPDDR2
M
001: 4 x tREFI
010: 2 x tREFI
011: 1 x tREFI
101: 0.25 x tREFI
110: 2.25 x tREFI
Others: Refer to LPDDR2 spec.
5 TCMD_RESPONSE TCMD command response
4 ZQC_RESPONSE ZQC command response
3 AREF_RESPONSE AREF command response
FO
Y
NL
2 PREA_RESPONSE PREA command response
US L
1 MRR_RESPONSE MRR command response
EO
0 MRW_RESPONSE MRW command response
cn IA
1E0053BC IORGCNT IO RING COUNTER 0000000
m. NT
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name IO_RING_COUNTER
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name IO_RING_COUNTER_K
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name dqs1r_gating_counter dqs1f_gating_counter
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name dqs0r_gating_counter dqs0f_gating_counter
Type RO RO
xia E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
M
Y
NL
Bit(s) Name Description
US L
31:24 dqs3r_gating_counter rsing dqs gating counter for group 3
EO
23:16 dqs3f_gating_counter falling dqs gating counter for group 3
cn IA
15:8 dqs2r_gating_counter rsing dqs gating counter for group 2
7:0 dqs2f_gating_counter falling dqs gating counter for group 2
m. NT
1E0053C8 DQSGNWCNT DQS GATING WINODW COUNTER 2 0000000
2 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name dqs0r_pre_gating_counter dqs0f_pre_gating_counter
.co IDE
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name dqs0r_pos_gating_counter dqs0f_pos_gating_counter
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit(s) Name Description
31:24 dqs0r_pre_gating_cou rsing pre dqs gating counter for group 0
nter
23:16 dqs0f_pre_gating_coun falling pre dqs gating counter for group 0
ase O
ter
15:8 dqs0r_pos_gating_cou rsing pos dqs gating counter for group 0
nter
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name dqs1r_pre_gating_counter dqs1f_pre_gating_counter
ny AT
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name dqs1r_pos_gating_counter dqs1f_pos_gating_counter
Type RO RO
Reset
To DI
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
nter
23:16 dqs1f_pre_gating_coun falling pre dqs gating counter for group 1
ter
M
Y
NL
4 0
US L
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EO
Name dqs2r_pre_gating_counter dqs2f_pre_gating_counter
Type RO RO
cn IA
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name dqs2r_pos_gating_counter dqs2f_pos_gating_counter
Type RO RO
m. NT
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
.co IDE
23:16 dqs2f_pre_gating_coun falling pre dqs gating counter for group 2
ter
15:8 dqs2r_pos_gating_cou rsing pos dqs gating counter for group 2
nter
7:0 dqs2f_pos_gating_cou falling pos dqs gating counter for group 2
nter
ccn NF
1E0053D4 DQSGNWCNT DQS GATING WINODW COUNTER 5 0000000
5 0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name dqs3r_pre_gating_counter dqs3f_pre_gating_counter
Type RO RO
@ KC
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name dqs3r_pos_gating_counter dqs3f_pos_gating_counter
Type RO RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
nter
R E
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name sa sa sa sa
mpl mpl mpl mpl
CMPCNT e_o e_o e_o e_o
ut1 ut1 ut1 ut1
_D _D _D _D
FO
Y
NL
QS QS QS QS
US L
3 2 1 0
EO
Type RO RO RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0
cn IA
Bit(s) Name Description
9:4 CMPCNT CMP counter value
3 sample_out1_DQS3 Sampled value for DQS3
m. NT
0: late
1: early
2 sample_out1_DQS2 Sampled value for DQS2
0: late
1: early
.co IDE
1 sample_out1_DQS1 Sampled value for DQS1
0: late
1: early
0 sample_out1_DQS0 Sampled value for DQS0
0: late
1: early
ccn NF
1E0053DC DLLCNT0 DLL STATUS 0 0000000
0
ase O
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name CM
PO
@ KC
T
Type RO
Reset 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name
Type
Reset
xia E
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
R E
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name CKPHCHKCNT
M
Type RO
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y
NL
1E0053FC TESTRPT TEST AGENT STATUS 0000000
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name CA
LI_ LB_ DLE
DO CM _CN
NE_ P_F T_O
MO AIL K
m. NT
N
Type RO RO RO
Reset 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name DM DM
.co IDE
_C _C
MP MP WPAT_HIT_CNT
_ER _CP
R T
Type RO RO RO
Reset 0 0 0 0 0 0 0 0 0 0
Name RG RG
RG RG RG
RG _M _M
_M RG RG _M _M
_M EM EM
ny AT
RG_MEMP EM _M _M EM EM
EM PLL PLL
LL_FBDIV PLL EM EM PLL RG_MEMPLL_DIVEN PLL
PLL _LV _M
2 _A PLL PLL _F _M
_B RO ON
CC _LF _BP ME ON
R DE CK
EN N EN
N EN
Type RW RW RW RW RW RW RW RW RW RW
To DI
Reset 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG RG
_M _M
RG_MEMP RG_MEMP RG_MEMP
EM EM
R E
Type RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
Y
NL
29 RG_MEMPLL_ACCEN Fast Slew Enable
US L
1'b0: Disable
EO
1'b1: Enable
28 RG_MEMPLL_LF Frequency Band Control
cn IA
always set 1
27 RG_MEMPLL_BR Resistance adjustment for Bandwidth
1'b0: BW = Fref/10
1'b1: BW = Fref/20
m. NT
26 RG_MEMPLL_BP Capacitance adjustment for Bandiwdth
1'b0: When RG_APLL_BR=1'b0
1'b1: When RG_APLL_BR=1'b1
25 RG_MEMPLL_FMEN PLL REF/FB monitor clock enable
1'b0: disable
.co IDE
1'b1: enable
24 RG_MEMPLL_LVROD REGV12 LVR overdrive enable
EN 1'b0: disable
1'b1: enable
23:18 RG_MEMPLL_DIVEN Time domain cap multiplication ratio
3'd0: x1
ccn NF 3'd1: x2
3'd6: x64
17 RG_MEMPLL_MONCK Monitor clock enable
EN 1'b0: Disable
1'b1: Enable
ase O
7'd127: /128
0 RG_MEMPLL_PWD Power Down
M
1'b0: Power On
1'b1: Power Down
(toggle from 1->0 to initialize)
Y
NL
Name RG_DMSS_PCW_NCPO[22:7]
US L
Type RW
EO
Reset 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cn IA
Name RG
_D
RG
MS
_M
S_P
RG_MEMP EM
CW
m. NT
RG_DMSS_PCW_NCPO[6:0] LL_RST_D PLL
_N
LY _V
CP
OD
O_
EN
CH
G
Type RW RW RW RW
.co IDE
Reset 0 0 0 0 0 0 0 0 0 0 1
1'b0: Disable
1'b1: Enable
@ KC
RG _D
_D _D _D
_D MS
MS MS MS
MS S_
RG_DMSS_SSC_DELTA1 S_S S_S RG_DMSS_PI_C S_P
ny AT
S_S MO
SC_ SC_ I_R
SC_ NC
PHI TRI ST_
EN K_E
NI _EN SEL
N
Type RW RW RW RW RW RW RW
Reset 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0
To DI
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG
_D
RG RG RG RG
RG MS RG RG
_D _D _D _M
_D S_F _D _D
R E
MS MS MS EM
MS IFO MS MS
S_P S_P S_N PLL RG_DMSS_PCW_NCPO
S_H _ST S_R S_P
I_P RE CP _D
F_E AR ST WD
M
L_E DIV O_ DS
N T_ B B
N 2 EN EN
MA
N
Type RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
Y
NL
23 RG_DMSS_SSC_PHI FNPLL SSC initial spreading direction
US L
NI 1'b0: Upward
EO
1'b1: Downward
22 RG_DMSS_SSC_TRI_ DDS SSC modulation type
cn IA
EN 1'b0: Square wave
1'b1: Triangular wave
21 RG_DMSS_SSC_EN DDS SSC enable
1'b0: Disable
m. NT
1'b1: Enable
20 RG_DMSS_MONCK_E DDS monitor clock enable
N 1'b0: Disable
1'b1: Enable
19:17 RG_DMSS_PI_C DMSS PI cap select
.co IDE
0: 165f
1: 150f
2: 135f
3: 120f
4: 105f
5: 90f
6: 75f
7: 60f
ccn NF
16 RG_DMSS_PI_RST_S DDS PI reset selection
EL 0:analog reset
1:digital reset
15 RG_DMSS_PI_PL_EN DDS PI pull low function enable bar
ase O
1'b0: Enable
1'b1: Disable
14 RG_DMSS_HF_EN DDS high frequency mode enable
@ KC
1'b1: Enable
11 RG_DMSS_NCPO_EN DDS NCPO enable
ny AT
1'b0: Disable
1'b1: Enable
10 RG_DMSS_RSTB DDS NCPO reset bar
1'b0: Reset
1'b1: Enable
To DI
PO
Y
NL
Type RW RW
Reset
US L
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
EO
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG_DMSS_SSC_DELTA[7:0] RG_DMSS_SSC_DELTA1
cn IA
Type RW RW
Reset 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
m. NT
31:24 RG_DMSS_SSC_PRD DDS SSC modulation period
23:8 RG_DMSS_SSC_DEL DDS SSC disturbance amplitude
TA
7:0 RG_DMSS_SSC_DEL DDS SSC first spread disturbance amplitude
TA1
.co IDE
1E005610 MEMPLL4 MEMPLL REGISTER SETTING 4 000D080
1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
ccn NF RG
_M
EM
RG_DMSS_REV PLL RG_MEMPLL_DIV
_DI
V_E
ase O
N
Type RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
@ KC
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG RG RG
RG RG
_D _D _D
_D _D
MS MS MS
RG_DMSS_FRAC MS MS
S_L S_P S_C RG_DMSS_SSC_PRD
_MUTE S_S S_L
VR OS LK_
EL_ PF_
OD TDI PH_
EXT EN
EN V2 INV
xia E
Type RW RW RW RW RW RW RW
Reset 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
ny AT
RG_MEMPLL_DIV[6]=1: /1
RG_MEMPLL_DIV[5:0]: /(N+2)
15 RG_DMSS_LVRODEN REGV12 LVR overdrive enable
1'b0: disable
R E
1'b1: enable
14:12 RG_DMSS_FRAC_MU REV
TE
M
Y
NL
1: inverter
US L
8 RG_DMSS_LPF_EN DMSS regualtor low pass filter enable
EO
0: disable
1: enable
cn IA
7:0 RG_DMSS_SSC_PRD DDS SSC modulation period
m. NT
1E005614 MEMPLL5 MEMPLL REGISTER SETTING 5 5000801
3
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG RG
RG RG
RG
RG RG RG _M _M
.co IDE
_M _M _M
_M _M _M EM EM
RG_MEMP EM EM EM
EM EM EM PLL PLL
LL2_FBDI PLL PLL RG_MEMPLL2_DIVEN PLL
PLL PLL PLL 2_L 2_M
V2 2_A 2_F 2_M
2_L 2_B 2_B VR ON
CC ME ON
F R P OD CK
EN N EN
EN EN
Type RW RW RW RW RW RW RW RW RW RW
Reset 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
ccn NF
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG
_M
RG RG
EM
_M _M
PLL RG_MEMP RG_MEMP RG_MEMP
EM EM
ase O
N
Type RW RW RW RW RW RW RW
Reset 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1
2 2'b00: VCO/1
2'b01: VCO/2
2'b11: VCO/4
ny AT
Y
NL
3'd6: x64
US L
17 RG_MEMPLL2_MONC Monitor clock enable
EO
KEN 1'b0: Disable
1'b1: Enable
cn IA
16 RG_MEMPLL2_MONE Control voltage monitor enable
N 1'b0: Disable
1'b1: Enable
15 RG_MEMPLL2_EXFB Mux For Feeback clock
m. NT
DIV_EN 1'b0: VCO loop
2'b1:outer loop
14 RG_MEMPLL2_RST PLL reset control
1'b0: reset disable
1'b1: reset enable
.co IDE
13:12 RG_MEMPLL2_POSDI Post-divider ratio for single-phase output
V 2'b00: VCO/1
2'b01: VCO/2
2'b11: VCO/4
11:10 RG_MEMPLL2_PREDI not use
V
9:8 RG_MEMPLL2_CKCT Fast Slew Time Control
ccn NF
RL 2'b00: 2^9 * Tin
2'b01: 2^8 * Tin
2'b10: 2^7 * Tin
2'b11: 2^6 * Tin
7:1 RG_MEMPLL2_FBDIV Feedback divide ratio
ase O
7'd0: /1
7'd1: /2
7'd127: /128
@ KC
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG_MEMPLL2_REV
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
To DI
Name RG
RG RG
_M
_M _M RG
EM
EM EM _M
PLL
RG_MEMP PLL RG_MEMP PLL RG_MEMP EM
2_L
R E
K_S ON EN
DE
EL _EN
N
Type RW RW RW RW RW RW RW RW
Reset 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
Y
NL
DIV 2'b00: /1
2'b01: /2
US L
EO
2'b10: forbidden
2'b11: /4
cn IA
12 RG_MEMPLL2_FB_M Mux For Feeback clock
CK_SEL 1'b0: internal loop
2'b1:outer loop
11 RG_MEMPLL2_LDO_L REGV12 LVR overdrive enable
m. NT
VRODEN 1'b0: disable
1'b1: enable
10:9 RG_MEMPLL2_M4PDI Multi-phase divider ratio for 4-phase output
V 2'b00: VCO/2
2'b01: VCO/4
2'b10: VCO/8
.co IDE
8 RG_MEMPLL2_M8PDI
VMON_EN
7:3 RG_MEMPLL2_SEL_
MON
2:1 RG_MEMPLL2_RST_ ICO reset signal
DLY 2'b00: reset delay min
ccn NF 2'b11: reset delay max
0 RG_MEMPLL2_VODE CHP OverDrive Enable
N 1'b0: Disable
1'b1: Enable
ase O
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG
_M
EM
RG_MEMPLL3_FBDIV RG_MEMPLL2_DL_REV
PLL
3_P
xia E
WD
Type RW RW RW
Reset 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0
ny AT
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG_MEMPLL2_FB_DL RG_MEMPLL2_REF_DL
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
To DI
7'd127: /128
24 RG_MEMPLL3_PWD Power Down
M
1'b0: Power On
1'b1: Power Down
(toggle from 1->0 to initialize)
23:16 RG_MEMPLL2_DL_R REV reg
EV
15:8 RG_MEMPLL2_FB_DL MEMPLL2 skew adjust between reference clock and feedback clock
7:0 RG_MEMPLL2_REF_ MEMPLL2 skew adjust between reference clock and feedback clock
DL
FO
Y
NL
US L
EO
1E005620 MEMPLL8 MEMPLL REGISTER SETTING 8 0150008
cn IA
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG RG RG
RG
RG RG RG _M
m. NT
_M _M _M
_M _M _M EM
RG_MEMP EM RG_MEMP EM EM
EM EM EM PLL
RG_MEMPLL3_SEL_MON LL3_RST_ PLL LL3_FBDI PLL PLL
PLL PLL PLL 3_L
DLY 3_V V2 3_A 3_F
3_L 3_B 3_B VR
OD CC ME
F R P OD
EN EN N
EN
.co IDE
Type RW RW RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG
RG
RG _M
_M RG
_M EM
EM _M
EM PLL RG_MEMP RG_MEMP RG_MEMP
PLL EM
RG_MEMPLL3_DIVEN PLL 3_E LL3_POSD LL3_PRED LL3_CKCT
ccn NF 3_M PLL
3_M XF IV IV RL
ON 3_R
ON BDI
CK ST
EN V_E
EN
N
Type RW RW RW RW RW RW RW RW
ase O
Reset 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
31:27 RG_MEMPLL3_SEL_
MON
26:25 RG_MEMPLL3_RST_ ICO reset signal
DLY 2'b00: reset delay min
2'b11: reset delay max
24 RG_MEMPLL3_VODE CHP OverDrive Enable
xia E
N 1'b0: Disable
1'b1: Enable
23:22 RG_MEMPLL3_FBDIV Feedback clock select
ny AT
2 2'b00: VCO/1
2'b01: VCO/2
2'b11: VCO/4
21 RG_MEMPLL3_ACCE Fast Slew Enable
N 1'b0: Disable
To DI
1'b1: Enable
20 RG_MEMPLL3_LF Frequency Band Control
always set 1
19 RG_MEMPLL3_BR Resistance adjustment for Bandwidth
R E
1'b0: BW = Fref/10
1'b1: BW = Fref/20
M
Y
NL
15:10 RG_MEMPLL3_DIVEN Time domain cap multiplication ratio
US L
3'd0: x1
EO
3'd1: x2
3'd6: x64
cn IA
9 RG_MEMPLL3_MONC Monitor clock enable
KEN 1'b0: Disable
1'b1: Enable
8 RG_MEMPLL3_MONE Control voltage monitor enable
m. NT
N 1'b0: Disable
1'b1: Enable
7 RG_MEMPLL3_EXFB Mux For Feeback clock
DIV_EN 1'b0: VCO loop
2'b1:outer loop
.co IDE
6 RG_MEMPLL3_RST PLL reset control
1'b0: reset disable
1'b1: reset enable
5:4 RG_MEMPLL3_POSDI Post-divider ratio for single-phase output
V 2'b00: VCO/1
2'b01: VCO/2
2'b11: VCO/4
ccn NF
3:2 RG_MEMPLL3_PREDI not use
V
1:0 RG_MEMPLL3_CKCT Fast Slew Time Control
RL 2'b00: 2^9 * Tin
2'b01: 2^8 * Tin
ase O
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ny AT
Name RG
RG RG
_M
_M _M
EM
EM EM
PLL
RG_MEMP PLL RG_MEMP PLL
3_L
RG_MEMPLL3_REV[7:0] LL3_TEST 3_F LL3_M4PD 3_M
DO
To DI
_DIV B_ IV 8PD
_LV
MC IVM
RO
K_S ON
DE
EL _EN
N
Type RW RW RW RW RW RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
M
Y
NL
2'b11: /4
US L
4 RG_MEMPLL3_FB_M Mux For Feeback clock
EO
CK_SEL 1'b0: internal loop
2'b1:outer loop
cn IA
3 RG_MEMPLL3_LDO_L REGV12 LVR overdrive enable
VRODEN 1'b0: disable
1'b1: enable
2:1 RG_MEMPLL3_M4PDI Multi-phase divider ratio for 4-phase output
m. NT
V 2'b00: VCO/2
2'b01: VCO/4
2'b10: VCO/8
0 RG_MEMPLL3_M8PDI
VMON_EN
.co IDE
1E005628 MEMPLL10 MEMPLL REGISTER SETTING 10 8013000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG
ccn NF
_M
RG RG
EM
_M _M
PLL RG_MEMP RG_MEMP RG_MEMP
EM EM
4_E LL4_POSD LL4_PRED LL4_CKCT RG_MEMPLL4_FBDIV
PLL PLL
XF IV IV RL
4_R 4_P
ase O
BDI
ST WD
V_E
N
Type RW RW RW RW RW RW RW
@ KC
Reset 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG_MEMPLL3_DL_REV RG_MEMPLL3_FB_DL
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
xia E
2'b1:outer loop
30 RG_MEMPLL4_RST PLL reset control
1'b0: reset disable
1'b1: reset enable
29:28 RG_MEMPLL4_POSDI Post-divider ratio for single-phase output
To DI
V 2'b00: VCO/1
2'b01: VCO/2
2'b11: VCO/4
27:26 RG_MEMPLL4_PREDI not use
R E
V
25:24 RG_MEMPLL4_CKCT Fast Slew Time Control
M
Y
NL
1'b0: Power On
1'b1: Power Down
US L
EO
(toggle from 1->0 to initialize)
15:8 RG_MEMPLL3_DL_R REV reg
cn IA
EV
7:0 RG_MEMPLL3_FB_DL MEMPLL3 skew adjust between reference clock and feedback clock
m. NT
1E00562C MEMPLL11 MEMPLL REGISTER SETTING 11 1001500
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG
.co IDE
RG RG
_M
_M _M RG
EM
EM EM _M
PLL
RG_MEMP PLL RG_MEMP PLL RG_MEMP EM
4_L
LL4_TEST 4_F LL4_M4PD 4_M RG_MEMPLL4_SEL_MON LL4_RST_ PLL
DO
_DIV B_ IV 8PD DLY 4_V
_LV
MC IVM OD
RO
K_S ON EN
DE
ccn NF EL _EN
N
Type RW RW RW RW RW RW RW RW
Reset 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG RG
RG RG RG
ase O
RG RG RG _M _M
_M _M _M
_M _M _M EM EM
RG_MEMP EM EM EM
EM EM EM PLL PLL
LL4_FBDI PLL PLL RG_MEMPLL4_DIVEN PLL
PLL PLL PLL 4_L 4_M
@ KC
2'b01: /2
2'b10: forbidden
2'b11: /4
28 RG_MEMPLL4_FB_M Mux For Feeback clock
CK_SEL 1'b0: internal loop
2'b1:outer loop
To DI
V 2'b00: VCO/2
2'b01: VCO/4
M
2'b10: VCO/8
24 RG_MEMPLL4_M8PDI
VMON_EN
23:19 RG_MEMPLL4_SEL_
MON
18:17 RG_MEMPLL4_RST_ ICO reset signal
DLY 2'b00: reset delay min
2'b11: reset delay max
FO
Y
NL
16 RG_MEMPLL4_VODE CHP OverDrive Enable
US L
N 1'b0: Disable
EO
1'b1: Enable
15:14 RG_MEMPLL4_FBDIV Feedback clock select
cn IA
2 2'b00: VCO/1
2'b01: VCO/2
2'b11: VCO/4
13 RG_MEMPLL4_ACCE Fast Slew Enable
m. NT
N 1'b0: Disable
1'b1: Enable
12 RG_MEMPLL4_LF Frequency Band Control
always set 1
11 RG_MEMPLL4_BR Resistance adjustment for Bandwidth
.co IDE
1'b0: BW = Fref/10
1'b1: BW = Fref/20
10 RG_MEMPLL4_BP Capacitance adjustment for Bandiwdth
1'b0: When RG_APLL_BR=1'b0
1'b1: When RG_APLL_BR=1'b1
9 RG_MEMPLL4_FMEN PLL REF/FB monitor clock enable
ccn NF 1'b0: disable
1'b1: enable
8 RG_MEMPLL4_LVRO REGV12 LVR overdrive enable
DEN 1'b0: disable
1'b1: enable
ase O
3'd6: x64
1 RG_MEMPLL4_MONC Monitor clock enable
KEN 1'b0: Disable
1'b1: Enable
0 RG_MEMPLL4_MONE Control voltage monitor enable
N 1'b0: Disable
1'b1: Enable
xia E
ny AT
Type RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG_MEMPLL4_REV
Type RW
R E
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M
Y
NL
1E005634 MEMPLL13 MEMPLL REGISTER SETTING 13 02005B0
US L
EO
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cn IA
Name RG
_M
EM
RG_MEMP RG_MEMP
PLL RG_MEMPLL_CK
LL_TEST_ LL_REFM RG_MEMPLL_MONSEL
_C MON_AMPADJ
m. NT
DIV ON
KM
ON
_PD
Type RW RW RW RW RW
Reset 0 0 0 0 1 0 0 0 0 0 0 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
.co IDE
Name RG
RG
_M RG RG
_M RG
EM _M _M
EM _M
PLL EM EM
PLL EM
RG_MEMPLL_RE _RE PLL PLL
_LD PLL RG_MEMPLL4_DL_REV
FCK_SEL FC _BI _BI
O_L _SE
K_ AS_ AS_
VR L_C
ccn NF MO RS PW
OD K
NE T D
EN
N
Type RW RW RW RW RW RW RW
Reset 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0
ase O
DIV 2'b00: /1
2'b01: /2
2'b10: forbidden
2'b11: /4
27:26 RG_MEMPLL_REFMO Monitor clock for testmode
N 2'b01 Refernece clock
25 RG_MEMPLL_CKMON
xia E
_PD
24:22 RG_MEMPLL_CKMON
ny AT
_AMPADJ
21:17 RG_MEMPLL_MONSE
L
15 RG_MEMPLL_LDO_L REGV12 LVR overdrive enable
VRODEN 1'b0: disable
1'b1: enable
To DI
Y
NL
1'b1: Power Down
US L
7:0 RG_MEMPLL4_DL_R REV reg
EO
EV
cn IA
1E005638 MEMPLL14 MEMPLL REGISTER SETTING 14 0000000
0
m. NT
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name RG_MEMP
LL_TOP_R
EV[15:14]
Type RW
.co IDE
Reset 0 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name RG_MEMPLL_TOP_REV[13:0]
Type RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name R_D
R_ R_
M1 R_ R_
DM DM
xia E
PLL DM DM
PLL ALL
_SY BY BY
2CL CL
NC_ P_P P_P
K_E K_E
ny AT
MO LL3 LL4
N N
DE
Type RW RW RW RW RW
Reset 0 0 0 1 1
0: disable
1: enable
M
Y
NL
1: bypass
US L
EO
cn IA
1E005644 VREF VREF setting 0000000
0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Name
m. NT
Type
Reset
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name EN_ EN_
INTREF1_ INTREF1_ INTREF1_ INT INTREF0_ INTREF0_ INTREF0_ INT
.co IDE
REFN REFP DS RE REFN REFP DS RE
F1 F0
Type RW RW RW RW RW RW RW RW
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5:4 INTREF0_REFP Fine tune Vref to higher level Control for internal VREF 0
00: weakest
11: strongest to higher level
ny AT
0 : disable
R E
M
FO
Y
NL
US L
2.16 RBUS Matrix and QoS Arbiter
EO
2.16.1 Features
cn IA
8 channel QoS Arbiter
Configurable Bandwidth and Duedate for each agent
QoS classifier can be programmed for RR, BW RR, Fixed Priority and QoS Arb
m. NT
2.16.2 Block Diagram
.co IDE
N requestors (N=8) Req#0 Req#1 Req#2 Req#7
QoS types
M first
LCgd LSg ... LCg BEy stage arbiters
arbiter arbiter arbiter arbiter (N ports/arbiter)
1 second
xia E
Y
NL
2.16.3 Registers of QoS Control
US L
DMA_CFG_ARB Changes LOG
EO
cn IA
Revision Date Author Change Log
0.1 2012/10/5 Lancelot Initialization
0.2 2012/10/22 Lancelot Modify DMA debug message
m. NT
Module name: DMA_CFG_ARB Base address: (+1E000800h)
Address Name Widt Register Function
h
.co IDE
1E000800 DMA_ARB_CFG 32 DMA 8 to 1 arbiter setting
1E000804 DMA_AG_BW 32 DMA Channel BW/QoS_Type/DueDate Setting
1E000808 DMA_AG_MAP 32 DMA channel (AG) mapping
1E00080C DMA_ROUTE 32 DMA Routing
1E000810 DMA_DBG 32 DMA Debug
ccn NF
1E000814 DMA_STATE 32 DMA Debug State
1E000818 DMA_BW 32 DMA Bandwidth
1E00081C DMA_LAT 32 DMA Latency
1E000820 R2P_MONITOR 32 Rbus to Pbus monitor
ase O
pt_ _en
n
en
Type RW RW RW RW
ny AT
Reset 1 0 0 1 1 1 1 1 0 1 0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name cls_priority[15:0]
Type RW