Quark x1000 Datasheet
Quark x1000 Datasheet
Quark x1000 Datasheet
Datasheet
August 2015
herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed
herein.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel product specifications and
roadmaps.
The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications.
Current characterized errata are available on request.
Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting:
http://www.intel.com/design/literature.htm
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more
at http://www.intel.com/ or from the OEM or retailer.
No computer system can be absolutely secure.
Intel, Quark, and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2015, Intel Corporation. All rights reserved.
Contents
Figures
1 Block Diagram ......................................................................................................... 38
2 Intel® Quark™ SoC X1000 PCI View............................................................................ 43
3 Signals In Default System Pin List .............................................................................. 46
4 Intel® Quark™ SoC X1000 Package Dimensions............................................................ 59
5 PCI Express Transmitter Eye...................................................................................... 76
6 PCI Express Receiver Eye .......................................................................................... 76
7 USB Rise and Fall Time ............................................................................................. 78
8 USB Jitter................................................................................................................79
9 USB EOP Width ........................................................................................................79
10 SPI Interface Timing .................................................................................................81
11 SDIO Interface Timing ..............................................................................................82
12 Measurement Points for Differential Clocks...................................................................84
13 Physical Address Space - Low DRAM & MMIO................................................................92
14 Physical Address Space - MMIO ..................................................................................93
15 Physical Address Space - DOS DRAM...........................................................................94
16 Physical Address Space - SMM Range ..........................................................................95
17 Bus 0 PCI Devices and Functions ................................................................................98
18 Message Bus with PCI Space ......................................................................................99
19 SoC Platform Clocking ............................................................................................. 102
20 RTC Power Well Timing Diagrams ............................................................................. 115
21 Power Up Sequence ................................................................................................ 117
22 Power-Up Sequence without G2/G3........................................................................... 118
23 eSRAM 4KB Page Mapping ....................................................................................... 128
24 eSRAM 512KB Page Mapping.................................................................................... 129
25 Intel® Quark™ SoC X1000 Host Bridge Register Map ................................................... 132
26 Register Map.......................................................................................................... 236
27 PCI Express Register Map ........................................................................................ 264
28 Ethernet Register Map............................................................................................. 311
29 Transmit Descriptor Fields ....................................................................................... 422
30 Transmit Descriptor Fetch (Read) ............................................................................. 423
31 Receive Descriptor Fields ......................................................................................... 427
32 USB Register Map................................................................................................... 437
33 SD Memory Card Bus Topology................................................................................. 593
34 SDIO Card Bus Topology ......................................................................................... 593
35 eMMC Interface ...................................................................................................... 594
36 SDIO/SD/eMMC Register Map................................................................................... 596
37 UART Data Transfer Flow ......................................................................................... 664
38 HSUART Register Map ............................................................................................. 668
39 Data Transfer on the I2C* Bus.................................................................................. 733
40 START and STOP Conditions..................................................................................... 733
41 7-Bit Address Format .............................................................................................. 734
42 10-bit Address Format ............................................................................................ 734
43 Master Transmitter Protocol ..................................................................................... 735
44 Master Receiver Protocol ......................................................................................... 736
45 START Byte Transfer ............................................................................................... 736
46 I2C*/GPIO Register Map.......................................................................................... 739
47 Generic SPI Waveform ............................................................................................ 788
48 SPI Register Map .................................................................................................... 791
49 Legacy Bridge Register Map ..................................................................................... 817
50 Legacy GPIO Register Map ....................................................................................... 846
51 Legacy SPI Register Map ......................................................................................... 857
52 8254 Timers Register Map ....................................................................................... 876
53 HPET Register Map ................................................................................................. 883
54 RTC Register Map ................................................................................................... 894
55 8259 Register Map.................................................................................................. 906
56 Detailed I/O APIC Block Diagram .............................................................................. 918
57 MSI Address and Data............................................................................................. 919
58 I/O APIC Register Map ............................................................................................ 920
59 Watchdog Timer Register Map .................................................................................. 927
Tables
1 Industry Specifications.............................................................................................. 37
2 Component Identification .......................................................................................... 42
3 Intel® Quark™ SoC X1000 Device ID .......................................................................... 44
4 I/O Power Well Definitions......................................................................................... 47
5 Buffer Type Definitions ............................................................................................. 47
6 Default Buffer State Definitions .................................................................................. 47
7 System Memory Signals............................................................................................ 48
8 PCI Express* 2.0 Signals........................................................................................... 48
9 Ethernet Interface Signals ......................................................................................... 49
10 USB 2.0 Interface Signals ......................................................................................... 49
11 Integrated Clock Interface Signals.............................................................................. 50
12 SD/SDIO/MMC Signals .............................................................................................. 50
13 High Speed UART Signals .......................................................................................... 51
14 I2C* Signals ............................................................................................................ 51
15 Legacy SPI Signals ................................................................................................... 52
16 SPI Signals ............................................................................................................. 52
17 Real Time Clock (RTC) Interface Signals...................................................................... 53
18 Power Management Interface Signals.......................................................................... 53
19 JTAG and Debug Interface Signals .............................................................................. 54
20 Legacy Interface Signals ........................................................................................... 54
21 General Purpose I/O Signals ..................................................................................... 54
22 Power and Ground Pins ............................................................................................. 55
23 Hardware Straps ...................................................................................................... 57
24 Alphabetical Ball Listing ............................................................................................ 60
25 Alphabetical Signal Listing ......................................................................................... 64
26 Intel® Quark™ SoC X1000 Absolute Maximum Voltage Ratings ....................................... 69
27 Power Supply Rail Ranges ......................................................................................... 70
28 Maximum Supply Current: ICC Max ............................................................................ 71
30 Configurable IO (CFIO) Bi-directional Signal Groupings ................................................. 72
31 CFIO DC Characteristics ............................................................................................ 73
32 CFIO AC Characteristics ............................................................................................ 73
33 RTC DC Characteristics ............................................................................................. 74
34 PCI Express* 2.0 Differential Signal DC Characteristics ................................................. 74
35 PCI Express* 2.0 Interface Timings ............................................................................ 75
36 USB 2.0 Differential Signal DC Characteristics .............................................................. 77
37 USB 2.0 Interface Timings......................................................................................... 77
38 Legacy SPI Interface Timings (20 MHz) ....................................................................... 79
39 SPI0/1 Interface Timings (25 MHz)............................................................................. 80
40 SDIO Timing ........................................................................................................... 81
41 Reference Clocks AC Characteristics ........................................................................... 82
42 Fixed I/O Register Access Method Example (NSC Register) ............................................ 85
43 Fixed Memory Mapped Register Access Method Example (IDX Register)........................... 85
44 Referenced I/O Register Access Method Example (PM1S Register) .................................. 86
45 Memory Mapped Register Access Method Example (ESD Register) .................................. 86
46 PCI Register Access Method Example (PCI_DEVICE_VENDOR Register)............................ 86
47 PCI CONFIG_ADDRESS Register (I/O PORT CF8h) Mapping ............................................ 87
48 PCI Configuration Memory Bar Mapping....................................................................... 87
49 MCR Description ...................................................................................................... 88
50 MCRX Description..................................................................................................... 88
51 Register Access Types and Definitions......................................................................... 89
52 Fixed Memory Ranges in the Legacy Bridge ................................................................. 95
53 Fixed I/O Ranges in the Legacy Bridge ........................................................................ 96
54 Movable I/O Ranges Decoded by PCI Devices on the I/O Fabric ...................................... 96
55 PCI Devices and Functions......................................................................................... 97
56 Message Types.........................................................................................................99
57 Intel® Quark™ SoC X1000 Clock Inputs ..................................................................... 103
58 Intel® Quark™ SoC X1000 Clock Outputs ................................................................... 103
59 Power Management ................................................................................................ 105
60 General Power States for System.............................................................................. 107
61 ACPI PM State Transition Rules................................................................................. 107
62 Processor Core/ States Support ................................................................................ 108
63 Main Memory States ............................................................................................... 108
64 PCIe* States.......................................................................................................... 108
65 G, S and C State Combinations................................................................................. 109
66 RTC Power Well Timing Parameters ........................................................................... 115
67 S4/S5 to S0 Timing Parameters................................................................................ 119
68 Intel® Quark™ SoC X1000 S3 Wake Events ................................................................ 121
69 SoC Reset Events ................................................................................................... 121
70 Thermal Sensor Signals ........................................................................................... 123
71 Summary of PCI Configuration Registers—0/0/0 ......................................................... 132
72 Summary of I/O Registers—PMBA............................................................................. 138
73 Summary of Message Bus Registers—0x00 ................................................................ 140
74 Summary of Message Bus Registers—0x03 ................................................................ 145
75 Summary of Message Bus Registers—0x04 ................................................................ 174
76 Summary of Message Bus Registers—0x05 ................................................................ 180
77 Summary of Message Bus Registers—0x05 ................................................................ 228
78 Summary of Message Bus Registers—0x31 ................................................................ 229
79 Memory Signals...................................................................................................... 233
80 Supported DDR3 DRAM Devices................................................................................ 235
81 Supported DDR3 Memory Configurations ................................................................... 235
82 Summary of Message Bus Registers—0x01 ................................................................ 236
83 PCI Express* 2.0 Signals ......................................................................................... 261
84 Possible Interrupts Generated From Events/Packets .................................................... 262
85 Summary of PCI Configuration Registers—0/23/0 ....................................................... 264
86 10/100 Ethernet Interface Signals ............................................................................ 309
87 Summary of PCI Configuration Registers—0/20/6 ....................................................... 311
88 Summary of Memory Mapped I/O Registers—BAR0 ..................................................... 327
89 Transmit Descriptor Word 0 (TDES0)......................................................................... 423
90 Transmit Descriptor Word 1 (TDES1)......................................................................... 426
91 Transmit Descriptor 2 (TDES2) ................................................................................. 426
92 Transmit Descriptor 3 (TDES3) ................................................................................. 426
93 Transmit Descriptor 6 (TDES6) ................................................................................. 426
94 Transmit Descriptor 7 (TDES7) ................................................................................. 427
95 Receive Descriptor Fields (RDES0) ............................................................................ 428
96 Receive Descriptor Fields 1 (RDES1) ......................................................................... 429
97 Receive Descriptor Fields 2 (RDES2) ......................................................................... 430
98 Receive Descriptor Fields 3 (RDES3) ......................................................................... 430
99 Receive Descriptor Fields 4 (RDES4) ......................................................................... 431
100 Receive Descriptor Fields 6 (RDES6) ......................................................................... 433
101 Receive Descriptor Fields 7 (RDES7) ......................................................................... 433
102 Signals.................................................................................................................. 435
103 Summary of PCI Configuration Registers—0/20/2 ....................................................... 437
104 Summary of PCI Configuration Registers—0/20/3 ....................................................... 453
105 Summary of PCI Configuration Registers—0/20/4 ....................................................... 471
106 Summary of Memory Mapped I/O Registers—BAR0 ..................................................... 486
107 Summary of Memory Mapped I/O Registers—BAR0 ..................................................... 549
108 Summary of Memory Mapped I/O Registers—BAR0 ..................................................... 569
109 SDIO/SD/eMMC Interface Signals ............................................................................. 591
110 SDIO/SD/eMMC Features......................................................................................... 592
Revision History
1.0 Introduction
Note: Throughout this document, SoC is used as a general term and refers to all Intel®
Quark™ SoC X1000 SKUs, unless specifically noted otherwise.
All PCI buses, devices and functions in this manual are abbreviated using the following
nomenclature; Bus:Device:Function. This manual abbreviates buses as Bn, devices as
Dn and functions as Fn. For example, Device 31 Function 0 is abbreviated as D31:F0,
Bus 1 Device 8 Function 0 is abbreviated as B1:D8:F0. Generally, the bus number is not
used, and can be considered to be Bus 0.
http://www.intel.com/content/www/us/en/
IA-PC HPET (High Precision Event Timers) Specification,
software-developers/software-developers-
Revision 1.0a
hpet-spec-1-0a.html
To enable secure applications, the SoC secure SKUs feature an on-die Boot ROM that is
used to establish a hardware Root of Trust (RoT). The immutable code located within
the Boot ROM is used to initiate an iterative firmware authentication process ensuring
only trusted code is executed when taking the platform out of reset.
To facilitate low-cost platforms with sensitive Bill of Material (BOM) requirements, all
SoC clocks can be generated from a single crystal oscillator while all the required SoC
voltage levels can be derived from a single commercial off-the-shelf (COTS) voltage
regulator. In addition, the SoC provides an ECC-protected DRAM solution using only
standard x8 DDR3 devices.
The SoC also features a 512 Kbyte on-die embedded SRAM (eSRAM) that can be
configured to overlay regions of DRAM to provide low latency access to critical portions
of system memory. For robustness, the contents of this on-die eSRAM are also ECC
protected.
CPU Core
Clock
eSRAM
JTAG Host Bridge
DDR3
Memory
Controller
UART
HPET
GPIO
SDIO
APIC
ROM
PMC
8254
8259
RTC
SPI
SPI
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
• Two I2C speeds supported: Standard (100 Kbit/s) and Fast (400 Kbit/s) data rates
• Fully asynchronous I2C clock signal
• Master I2C operation
1.2.16 Package
The SoC is packaged in a Flip-Chip Ball Grid Array (FCBGA) package with 393 solder
balls with 0.593 mm ball pitch. The package dimensions are 15mm x 15mm.
Notes:
1. The Vendor ID corresponds to bits 15-0 of the Vendor ID Register located at offset 00-01h in the PCI
configuration space of the device.
2. The Device ID corresponds to bits 15-0 of the Device ID Register located at offset 02-03h in the PCI
configuration space of the device.
3. The Revision ID corresponds to bits 7-0 of the Revision ID Register located at offset 08h in the PCI
configuration space of the device.
The SoC incorporates a variety of PCI functions as listed in Table 3. All devices reside
on PCI Bus 0 as shown in Figure 2.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem)
RP0 F:0
PCIe*
D:23
SPI0 F:0 RP0 F:1
IO Fabric
D:21
SPI1 F:1
GPIO
Legacy Bridge
RTC
D:31,F:0
8254
SDIO/eMMC F:0 8259
HPET
HSUART0 F:1
IO APIC
IO Fabric D:20
§§
Many interfaces contain physical pins. These groups of pins make up the physical
interfaces. This chapter summarizes the physical interfaces.
DDR3_DQ[15:0]
DDR3_DQS[1:0] CPU
DDR3_DQSB[1:0] Core
DDR3_DM[1:0]
DDR3_MA[15:0]
DDR3_BS[2:0]
DDR3_RASB
DDR3_CASB
DDR3_WEB IVCCRTCEXT
DDR3_CSB[1:0] DDR3
Interface RTCX1
DDR3_ODT[1:0] Legacy
Components RTCX2
DDR3_CKE[1:0]
DDR3_CK[1:0] RTCRST_B
DDR3_CKB[1:0] THERM_B
DDR3_VREF SMI_B
DDR3_ODTPU/DQPU/CMDPU
DDR3_IDRAM_PWROK
DDR3_ISYSPWRGOOD
DDR3_DRAMRSTB
LSPI_SS_B
MAC[0/1]_TXEN LSPI_SCK
MAC[0/1]_TXDATA[1:0] Legacy Bridge LSPI_MISO
MAC[0/1]_RXDV Ethernet LSPI_MOSI
MAC[0/1]_RXDATA[1:0] RMII
MAC[0/1]_MDC Interface
MAC[0/1]_MDIO
RMII_REF_CLK RESET_BTN_B
PWR_BTN_B
PCIE_PETP[1:0]
WAKE_B
PCIE_PETN[1:0]
PCIE_PERP[1:0] GPE_B
PCIE_PERN[1:0] PCI Express* 2.0 S5_PG
PCIE_REFCLKN Interface S3_3V3_EN
PCIE_REFCLKP Power S3_1V5_EN
PCIE_IRCOMP Management
S3_PG
PCIE_RBIAS Controller
Interface S0_3V3_EN
S0_1V5_EN
SD_DATA[7:0]
S0_1V0_EN
SD_CMD
SD_CLK S0_1P0_PG
SD/MMC
SD_WP Interface S0_PG
SD_CD_B ODRAM_PWROK
SD_LED
SD_PWR OSYSPWRGOOD
USBD_DP SIU0_DCD_B
USBD_DN SIU0_DSR_B
USBH[1:0]_DP
Universal Serial SIU0_DTR_B
USBH[1:0]_DN
Bus 2.0 HSUART SIU0_RI_B
USBH[1:0]_OC_B
Interface Interface SIU[0/1]_CTS_B
IUSBCOMP
OUSBCOMP SIU[0/1]_RTS_B
USBH[1:0]_PWR_EN SIU[0/1]_RXD
SIU[0/1]_TXD
FLEX_CLK[2:0]
CKSYS25OUT
RMII_REF_CLK_OUT
REF[0/1]_OUTCLK_P
REF[0/1]_OUTCLK_N SPI[0/1]_SS_B
OSC_COMP Internal Clocking
SPI SPI[0/1]_SCK
XTAL_IN Interface SPI[0/1]_MISO
XTAL_OUT
SPI[0/1]_MOSI
RTC_EXT_CLK_EN
I2C* I2C_CLK
PRDY_B Interface I2C_DATA
PREQ_B
TCK
TDI JTAG Port
TDO GPIO GPIO_SUS[5:0]
Interface GPIO[9:0]
TMS
TRST_B
CORE Core I/O, and everything else uses the CORE power well.
SUS Devices outside of memory that must remain on in the S3 state use the SUS power well.
RTC Devices that must be on in the S4/S5 state use the RTC power well.
CMOS[Voltage] CMOS buffer type. [Voltage] can be of the following types: 1.05, 1.5, 1.8, and 3.3.
Open drain CMOS buffer type [Voltage] can be of the following types: 1.05, 1.5, 1.8 and
CMOS[Voltage]_OD
3.3.
Analog pins that do not have specific digital requirements. Often used for circuit
Analog
calibration or monitoring.
The SoC places this output in a high-impedance state. For inputs, external drivers are not
High-Z
expected.
The state of the input (driven or tristated) does not affect the SoC. For outputs, it is
Do Not Care
assumed that the output buffer is in a high-impedance state.
This signal is pulled high by a pull-up resistor (internal or external — internal value
Pull-up
specified in “Term” column).
This signal is pulled low by a pull-down resistor (internal or external — internal value
Pull-down
specified in “Term” column).
The power plane for this signal is powered down. The SoC does not drive outputs, and
Off
inputs should not be driven to the SoC. (VSS on output)
VOL/VOH(S3
DDR3_DRAMRSTB O - 1.5V CMOS-15 Off VOH VOL
Exit)
Running/ Running/
PCIE_REFCLKP I - 1.05V PCIe Off Off
Unknown Unknown
Running/ Running/
PCIE_REFCLKN I - 1.05V PCIe Off Off
Unknown Unknown
Running/
RMII_REF_CLK I - 3.3V CMOS3.3 Off Off Running
Unknown
Running/ Running/
USB_CLK96P I - 1.05V USB Off Off
Unknown Unknown
Running/ Running/
USB_CLK96N I - 1.05V USB Off Off
Unknown Unknown
Running/ Running/
HPLL_REFCLK_P I - 1.05V CMOS1.05 Off Off
Unknown Unknown
Running/ Running/
HPLL_REFCLK_N I - 1.05V CMOS1.05 Off Off
Unknown Unknown
Running/ Running/
PAD_BYPASS_CLK I - 1.05V CMOS1.05 Off Off
Unknown Unknown
See Chapter 18.0, “High Speed UART” for more details of the HSUART interface signals.
Unknown/ Unknown/
CLK14 I - 3.3V CMOS3.3 Off Off
Running Running
OVOUT_1P0_S5 Unused output from internal LDO. Leave this pin No Connect
VCC1P0_S0 Standard 1.0V Rail for HPLL (Host PLL) and USB Logic
VNN Default 1.0V Standard Cell Rail including Core and Uncore Logic
VSS Ground
0V -
VSSA_USB USB Low-Noise Ground
0b = FFF0_0000h
MAC1_TXDATA[0] 0b
1b = FFD0_0000h
§§
The Intel® Quark™ SoC X1000 package comes in a 373 ball, 15mm x 15mm FCBGA based on a
0.593 mm pitch.
AR24 DDR3_MA[0]
AR27 DDR3_RASB
AR29 DDR3_MA[13]
AR35 RESERVED
AT2 RESERVED
AT3 DDR3_DQ[8]
VSS AD6
§§
VSS AD8
VSS AD16
VSS AD18
VSS AD20
VSS AD35
VSS AE26
VSS AF13
VSS AF20
VSS AF22
VSS AF24
VSS AG1
VSS AG3
VSS AH11
VSS AH17
VSS AJ35
VSS AK15
VSS AK29
VSS AL6
VSS AL23
VSS AM1
VSS AM4
VSS AM7
VSS AM32
VSS AN9
VSS AN13
VSS AN27
VSS AP2
VSS AP18
This chapter contains the DC and AC characteristics for Intel® Quark™ SoC X1000. AC
timing diagrams are included.
Although the SoC contains protective circuitry to resist damage from Electrostatic
Discharge (ESD), precautions should always be taken to avoid high static voltages or
electric fields.
Table 26. Intel® Quark™ SoC X1000 Absolute Maximum Voltage Ratings (Sheet 1 of 2)
Minimum Maximum
Parameter
Limits Limits
Temperature
Supplies
Signals
Table 26. Intel® Quark™ SoC X1000 Absolute Maximum Voltage Ratings (Sheet 2 of 2)
Minimum Maximum
Parameter
Limits Limits
VCC3P3_S5 S5 3.3V rail Standby LDO input 3.20 3.30 3.40 +/-3%
VCC3P3_S3 S3 3.3V rail Standby LDO input 3.20 3.30 3.40 +/-3%
VCC3P3_S0 S0 3.3V rail Standby LDO input 3.20 3.30 3.40 +/-3%
VCC3P3_A S0 3.3V rail Standby LDO input 3.20 3.30 3.40 +/-3%
VCC1P0_S3 Standard 1.0V rail for S3 logic 0.95 1.00 1.05 +/-5%
VCC1P0_S5 Standard 1.0V rail for S5 logic 0.95 1.00 1.05 +/-5%
VCCPLLDDR_1P0 DDR IO digital PLL high voltage 0.95 1.00 1.05 +/-5%
VCCADLLDDR_1P0 DDR IO digital isolated quiet supply 0.95 1.00 1.05 +/-5%
VCCACLKDDR_1P0 DDR IO digital clock isolated quiet supply 0.95 1.00 1.05 +/-5%
VCCDDR_1P5 DDR IO analog thick gate supply 1.42 1.50 1.57 +/-5%
VCCAUSB_1P8_S3 USB 1.8V analog supply - suspend rail 1.71 1.80 1.89 +/-5%
VCC3P3_USB_S3 USB 3.3V supply - suspend rail 3.13 3.30 3.46 +/-5%
Active in S0-
only; can in
Standard 1.0V rail for HPLL (host PLL) and
VCC1P0_S0 0.95 1.00 1.05 general be
USB logic
connected to
VNN
VCCAICLKDBUFF_1P0 ICLK differential output buffer supply 0.95 1.00 1.05 +/-5%
VCCAICLKSFR_1P5 ICLK SFR (for oscillator, IPLL) 1.42 1.50 1.57 +/-5%
VCCAICLKSE_3P3 ICLK single ended output buffer supply 3.13 3.30 3.46 +/-5%
VCC3P3_A 3.3 5
VCC1P0_S3 1.0 70
VCC1P0_S5 1.0 40
VCCPLLDDR_1P0 1.0 25
VCCACLKDDR_1P0 1.0 15
VCCSFRPLLDDR_1P5 1.5 35
VCCCLKDDR_1P5 1.5 90
VCC1P8_S0 1.8 50
VCC1P8_S5 1.8 15
VCCRTC_3P3 3.3 3
VCCAUSB_1P8_S3 1.8 20
VCC3P3_USB_S3 3.3 40
VSSA_USB 0.0 20
VCCAA_1P8 1.8 10
VCCFSOC_1P05 1.05 40
VCCAICLKCB_1P0 1.0 40
VCCAICLKSSC1_1P0 1.0 15
VCCAICLKDBUFF_1P0 1.0 30
VCCDICLKDIG_1P0 1.0 15
VCCAICLKSFR_1P5 1.5 40
VCCAICLKSE_3P3 3.3 15
VCCAUSB_1P8 1.8 20
SD_LED, SD_PWR_B
SDIO MAC0_TXDATA[1], MAC0_TXDATA[0], MAC0_RXDV,
S0 CFIO Group 4 VCCCFIO_4_3P3 MAC0_RXDATA[1], MAC0_RXDATA[0], MAC1_TXDATA[1],
Ethernet MAC
MAC1_TXDATA[0], MAC1_RXDV, MAC1_RXDATA[1],
MAC1_RXDATA[0]
Notes:
1. The VOH specification does not apply to open-collector or open-drain drivers. Signals of this type must have an external
pull-up resistor, and that’s what determines the high-output voltage level. Refer to Chapter 2 for details on signal types.
2. Input characteristics apply when a signal is configured as Input or to signals that are only Inputs. Output characteristics
apply when a signal is configured as an Output or to signals that are only Outputs. Refer to Chapter 2 for details on
signal types.
Output 0.10*VCC -
TRISE Output Rise Time 0.88 5.28 ns
0.90*VCC
0.90*VCC -
TFALL Output Fall Time 0.88 5.28 ns
0.10*VCC
Associated Signals:
PCIE_PERN[1], PCIE_PERP[1],
PCIE_PETN[1], PCIE_PETP[1],
PCIE_PERN[0], PCIE_PERP[0],
PCIE_PETN[0], PCIE_PETP[0]
Related Supply (VCC):
VCCAPCIE_1P0
Notes:
1. PCI Express mVdiff p-p = 2*|PETP[x] – PETN[x]|; PCI Express mVdiff p-p = 2*|PERP[x] – PERN[x]|
Notes:
1. Specified at the measurement point into a timing and voltage compliance test load and measured over any 250
consecutive TX UIs. (Also refer to the Transmitter compliance eye diagram)
2. A TTX-EYE = 0.70 UI provides for a total sum of deterministic and random jitter budget of TTXJITTER-MAX = 0.30 UI for the
Transmitter collected over any 250 consecutive TX UIs. The TTXEYE-MEDIAN-to-MAX-JITTER specification ensures a jitter
distribution in which the median and the maximum deviation from the median is less than half of the total TX jitter
budget collected over any 250 consecutive TX UIs. It should be noted that the median is not the same as the mean. The
jitter median describes the point in time where the number of jitter points on either side is approximately equal as
opposed to the averaged time value.
3. Specified at the measurement point and measured over any 250 consecutive UIs. The test load documented in the PCI
Express* specification 2.0 should be used as the RX device when taking measurements (also refer to the Receiver
compliance eye diagram). If the clocks to the RX and TX are not derived from the same reference clock, the TX UI
recovered from 3500 consecutive UI must be used as a reference for the eye diagram.
4. A TRX-EYE = 0.40 UI provides for a total sum of 0.60 UI deterministic and random jitter budget for the Transmitter and
interconnect collected any 250 consecutive UIs. The TRX-EYE-MEDIAN-to--MAX-JITTER specification ensures a jitter
distribution in which the median and the maximum deviation from the median is less than half of the total 0.6 UI jitter
budget collected over any 250 consecutive TX UIs. It should be noted that the median is not the same as the mean. The
jitter median describes the point in time where the number of jitter points on either side is approximately equal as
opposed to the averaged time value. If the clocks to the RX and TX are not derived from the same reference clock, the
TX UI recovered from 3500 consecutive UI must be used as the reference for the eye diagram.
5. Nominal Unit Interval is 400 ps for 2.5 GT/s.
6. Intel® Quark™ SoC X1000 supports PCI Gen 1 timing only: 2.5 GT/s
VTS-Diff = 0mV
D+/D- Crossing point
VRS-Diffp-p-Min>175mV
.4 UI =TRX-EYE min
Associated Signals:
USBD_DP, USBD_DN,
USBH1_DP, USBH1_DN,
USBH0_DP, USBH0_DN,
USBH(1:0)_OC_B, USBH(1:0)_PWR_EN
Related Supply (VCC):
VCCUSBSUS_3P3
VHSCM HS Data Signaling Common Mode Voltage Range -50 500 mV N/A 4
Notes:
1. VDI = | USBHx_DP – USBHx_DN |
2. Includes VDI range
3. Applies to Low-Speed/Full-Speed USB
4. Applies to High-Speed USB 2.0
1, 6
t108 USBHx_DP, USBHx_DN - Driver Rise Time 75 300 ns CL = 200 pF 8
CL = 600 pF
1,6
t109 USBHx_DP, USBHx_DN Driver Fall Time 75 300 ns CL = 200 pF 8
CL = 600 pF
Notes:
1. Driver output resistance under steady state drive is specified at 28 at minimum and 43 at maximum.
2. Timing difference between the differential data signals.
3. Measured at crossover point of differential data signals.
4. Measured at 50% swing point of data signals.
5. Measured from last crossover point to 50% swing point of data line at leading edge of EOP.
6. Measured from 10% to 90% of the data signal.
7. Full-speed Data Rate has minimum of 11.97 Mb/s and maximum of 12.03 Mb/s.
8. Low-speed Data Rate has a minimum of 1.48 Mb/s and a maximum of 1.52 Mb/s.
CL
tR tF
T period
Crossover
Points
Differential
Data Lines
Jitter
Consecutive
Transitions
Paired
Transitions
Tperiod
Data
Crossover
Differential Level
Data Lines
EOP
Width
Notes:
1. All input signals have a slope of 1.0ns measured between 20% and 80% VCC values.
2. All output signals are loaded with 20pF.
3. Measurements are made at 50% VCC levels.
Note:
1. All input signals have a slope of 1.0ns measured between 20%and 80% VCC values
2. All output signals are loaded with 20pF
3. Measurements are made at 50% VCC levels
4. Driving edge and capturing edge of SPI0/1_SCK are determined by SPI Control Register 1
settings SSCR1.SPH and SSCR1.SPO; Figure 10 shows SPI_SCK rising edge as the driving
edge and SPI_SCK falling edge as the capturing edge by way of example
TCH TCL
SPI_SCK
TCDDV
SPI_MOSI
TSSCF TCLSH
SPI_SS_B
TDSCC TCCDH
SPI_MISO
Note:
1. All input signals have a slope of 1.0ns measured between 20%and 80% VCC values
2. All output signals are loaded with 20pF
3. Measurements are made at 50% VCC levels
TCL TCH
SD_CLK
TCFDV
SD_DATA[7:0]
SD_CMD
(outputs)
TDSCR TCRDH
SD_DATA[7:0]
SD_CMD
(inputs)
Associated Signals:
REF0_OUTCLK_P, REF0_OUTCLK_N,
REF1_OUTCLK_P, REF1_OUTCLK_N
Related Supply:
VCCAICLKDBUFF_1P0
Note:
1. Measurement taken from a single-ended waveform on a component test board
2. Measurement taken from a differential waveform on a component test board
3. Slew rate measured through VSWING voltage measured at differential zero
4. VCROSS is defined as the voltage where CLK_P = CLK_N
5. Only applies to differential rising edge (CLK_P rising, CLK_N falling)
6. The maximum voltage including over-shoot
7. The minimum voltage including under-shoot
8. The total variation of all VCROSS measurements in any particular system
9. Matching applies to rising edge rate for CLK_P and falling edge rate for CLK_N; It is measured using a
±75mV window centered on the average cross point where CLK_P rising meets CLK_N falling. The
median cross point is used to calculate the voltage thresholds the oscilloscope is to use for the edge
rate calculations
10. Average measurement
11. Instantaneous measurement
Clock
V min = -0.30V V min = -0.30V
Clock#
Clock
Clock# Clock#
Vcross median
+75mV
i se
T
fa
Tr
Vcross median Vcross median
ll
Vcross median -75mV
Clock Clock
0.0V
Clock-Clock#
Rise Fall
Edge Edge
Rate Rate
Vih_min = +150 mV
0.0V
Vil_max = -150 mV
Clock-Clock#
§§
Table 42. Fixed I/O Register Access Method Example (NSC Register)
Type: I/O Register
NSC: 61h
(Size: 8 bits)
Table 43. Fixed Memory Mapped Register Access Method Example (IDX Register)
Type: Memory Mapped I/O Register
IDX: FEC00000h
(Size: 32 bits)
Register_Snapshot = IOREAD([IO_BAR]+Register_Offset)
Base address registers are often located in the PCI configuration space and are
programmable by the BIOS/OS. Other base address register types may include fixed
memory registers, fixed I/O registers or message bus registers.
Table 44. Referenced I/O Register Access Method Example (PM1S Register)
Type: I/O Register
PM1S: [PM1BLK] + 0h
(Size: 16 bits)
Register_Snapshot = MEMREAD([Mem_BAR]+Register_Offset)
Base address registers are often located in the PCI configuration space and are
programmable by the BIOS/OS. Other common base address register types include
fixed memory registers and I/O registers that point to MMIO register blocks.
Table 45. Memory Mapped Register Access Method Example (ESD Register)
Type: Memory Mapped I/O Register
ESD: [RCBA] + 4h
(Size: 32 bits)
Each PCI function (see Section 6.3, “PCI Configuration Space” on page 97) has a
standard PCI header consisting of 256 bytes for the I/O access scheme (CAM), or 4096
bytes for the enhanced memory access method (ECAM). Invalid read accesses return
binary strings of 1s.
These two registers are both 32-bit registers in I/O space. Using this indirect access
mode, software uses CONFIG_ADDRESS (CF8h) as an index register, indicating which
configuration space register to access, and CONFIG_DATA (CFCh) acts as a window to
Reserved 30:24
IOWRITE(0xCF8, MyCfgAddr)
Register_Snapshot = IOREAD(0xCFC)
Note: ECAM accesses are only possible when HECREG.EC_ENABLE (bit 0) is set.
Register_Snapshot = MEMREAD(MyCfgAddr)
This indirect access mode is similar to PCI CAM. Software uses the MCR/MCRX as an
index register, indicating which message bus space register to access (MCRX only when
required), and MDR as the data register. Writes to the MCR trigger message bus
transactions.
Writes to MCRX and MDR are captured. Writes to MCR generates an internal ‘message
bus’ transaction with the opcode and target (port, offset, byte enable) specified in the
MCR and the captured MCRX. When a write opcode is specified in MCR, the data that
was captured by MDR is used for the write. When a data read opcode is specified in
MCR, the data is available in the MDR register after the MCR write completes (non-
posted). The format of MCR and MCRX are shown in Table 49 and Table 50.
Port 23:16
Offset/Register 15:08
Offset/Register Extension. This is used for messages sent to end points that require more
31:08
than 8 bits for the offset/register. These bits are a direct extension of MCR[15:8].
Most message bus registers are located in the Host Bridge. The default opcode
messages for those registers are as follows:
• Message ‘Read Register’ Opcode: 10h
• Message ‘Write Register’ Opcode: 11h
MyMCR[7:4] = 0xf
A register bit with this attribute can be read and written. However, a
RW/C Read/Write Clear write of 1 clears (sets to 0) the corresponding bit and a write of 0
has no effect.
A register bit with this attribute can be written only once after power
RW/O Read/Write-Once
up. After the first write, the bit becomes read only.
A register bit with the attribute can be read at any time but writes
may only occur if the associated lock bit is set to unlock. If the
RW/L Read/Write Lockable
associated lock bit is set to lock, this register bit becomes RO unless
otherwise indicated.
§§
The Intel® Quark™ SoC X1000 supports four different address spaces:
• Physical Address Space Mappings (Memory Space)
• I/O Address Space
• PCI Configuration Space
• Message Bus Space
The CPU core can only directly access memory space through memory reads and writes
and I/O space through the IN and OUT I/O port instructions. PCI configuration space is
indirectly accessed through I/O or memory space, and the Message Bus space is
accessed through PCI configuration space. See Chapter 5.0, “Register Access Methods”
for details.
This chapter describes how the memory, I/O, PCI, and Message Bus spaces are mapped
to interfaces in the SoC.
Note: See Chapter 12.0, “Host Bridge” for registers specified in the chapter.
The CPU core can access the full physical address space, while downstream devices can
only access SoC DRAM, and the CPU core’s local APIC. Peer to peer transactions are not
supported.
Most devices map their registers and memory to the physical address space. This
chapter summarizes the possible mappings.
The HMBOUND register is used to create these memory regions, as shown in Figure 13.
4 Gbyte
MMIO
HMBOUND
1 Mbyte
DOS DRAM DOS DRAM
6.1.1.1 MMIO
The MMIO mappings are shown in Figure 14.
Figure 14. Physical Address Space - MMIO
4 Gbyte
- 1 (FFFFFFFFh)
Boot Vector
- 128 Kbyte (FFFE0000h)
- 17 Mbyte (FEEFFFFFh)
MMIO
Local APIC
- 18 Mbyte (FEE0 0000h)
HMBOUND
Low DRAM
PCI ECAM
HECREG
1 Mbyte
DOS DRAM
Physical Address
Space
By default, CPU core reads targeting the Boot Vector range (FFFFFFFFh-FFFE0000h)
are sent to the Legacy Bridge, and write accesses target DRAM. For secure SKU’s, reads
targeting the Boot Vector are decoded and routed to a Secure Root of Trust Boot ROM.
For non-secure SKU’s, reads targeting this region are routed to a boot SPI flash device
connected to the Legacy Bridge.
Upstream writes from the I/O fabric to the Local APIC range (FEE00000h-FEEFFFFFh)
are sent to the CPU core’s APIC.
Accesses in the 256 Mbyte PCI ECAM range starting at HECREG generate enhanced
PCI configuration register accesses when enabled (HECREG.EC_ENABLE). Unlike
traditional memory writes, writes to this range are non-posted when enabled. See
Chapter 5.0, “Register Access Methods” for more details.
All other downstream accesses in the MMIO range are decoded based on PCI resource
allocations. The subtractive agent (for unclaimed accesses) is the I/O Fabric. The I/O
Fabric returns an UNSUPPORTED REQUEST for unclaimed accesses.
4 Gbyte
MMIO
HMBOUND
F Segment 64 Kbyte (F0000h to F FFFFh)
Low DRAM
1 Mbyte
DOS DRAM
Physical Address
Space
CPU core accesses to the 128 Kbyte VGA/CSEG range (A0000h-BFFFFh) can target
DRAM or the MMIO space depending on the setting of HMISC2.ABSEG_IN_DRAM. When
targeting MMIO space, requests are sent to the PCIe* port if legacy VGA is enabled in
the PCIe controller.
L o w o r H ig h
D R A M in P h y s ic a l
Space
H S M M C T L .S M M _ E N D
SM M Range
H S M M C T L .S M M _ S T A R T
SMI handlers running on a CPU core execute out of SMRAM. To protect this memory
from non-CPU core access, the SMM Range (HSMMCTL.SMM_START -
HSMMCTL.SMM_END) may be programmed anywhere in low DRAM space (1 Mbyte
aligned). This range only allows accesses from the CPU core while in SMM.
Fixed MMIO is claimed by the Legacy Bridge. The default regions are listed below.
Movable ranges are not shown. See the register maps of all Legacy Bridge components
for details.
PCI devices may also claim memory resources in MMIO space. For details see each
device’s interface chapter.
Warning: Variable memory ranges should not be set to conflict with other memory ranges. There
may be unpredictable results if the configuration software allows conflicts to occur.
Hardware does not check for conflicts.
RTC 70h-73h
Warning: The variable I/O ranges should not be set to conflict with other I/O ranges. There may
be unpredictable results if the configuration software allows conflicts to occur. Hardware
does not check for conflicts.
Table 54. Movable I/O Ranges Decoded by PCI Devices on the I/O Fabric
Device Size (bytes) Target
0 0 Host Bridge
0 SDIO / eMMC
1 HS-UART 0
3 USB EHCI
20 I/O Fabric
4 USB OHCI
5 HS-UART 1
0 SPI 0
2 I2C* / GPIO
0 Root Port 0
23 PCI Express*
1 Root Port 1
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem)
RP0 F:0
PCIe*
D:23
SPI0 F:0 RP0 F:1
IO Fabric
D:21
SPI1 F:1
GPIO
Legacy Bridge
RTC
D:31,F:0
8254
SDIO/eMMC F:0 8259
IO APIC
IO Fabric D:20
CPU
Core
Host
Bridge Message Bus Space
B:0,D:0,F0
Port: 0x00 Port: 0x01 Port: 0x03 Port: 0x04 Port: 0x05
Remote
Memory Memory Host Memory
Management
Arbiter Controller Bridge Unit Manager
§§
7.0 Clocking
The SoC has a variable frequency, multiple clock domain, and multiple power plane
clocking system. This clock architecture achieves a low power clocking solution that
supports the various clocking requirements of the different IPs on the SoC. This is
achieved by using an Integrated Clock module (iClock) that supplies the clocks to the
entire platform.
Platform
Clocks
Ethernet
RMII_REF_CLK_OUT PHY
(RMII)
RMII_REF_CLK
RTC_X1/X2
RTC Reference
(optional)
LSPI_SCK SPI Flash
FLEX0_CLK
FLEX1_CLK External Device(s)
FLEX2_CLK
The reference clocks required for the various interface PLLs (e.g., USB/PCIe*) and the
processor are internally generated by the Integrated Clocking unit.
XTAL_IN
Main 25 MHz 25 MHz reference for the iCLK PLL
XTAL_OUT
FLEX0_CLK 33 MHz
Flex Clocks FLEX1_CLK 33 MHz Output clock for External devices
FLEX2_CLK 48 MHz
§§
O
S3_3V3_EN S3 Domain 3.3v platform rail enable. Active HIGH.
PwrMgmt
O
S3_1V5_EN S3 Domain 1.5v platform rail enable. Active HIGH.
PwrMgmt
I
S3_PG S3 Power Good
PwrMgmt
I
S0_1P0_PG S0 Domain 1.0V Power Good
PwrMgmt
O
S0_3V3_EN S0 Domain 3.3v platform rail enable. Active HIGH.
PwrMgmt
O
S0_1V5_EN S0 Domain 1.5v platform rail enable. Active HIGH.
PwrMgmt
O
S0_1V0_EN S0 Domain 1.0v platform rail enable. Active HIGH.
PwrMgmt
O
ODRAM_PWROK DRAM Power Okay: Active HIGH.
PwrMgmt
O
OSYSPWRGOOD System Power Good: S0 power is good. Active HIGH
PwrMgmt
IO
VNNSENSE VNN sense voltage for IMVP
PwrMgmt
IO
VSSSENSE VSS sense voltage for IMVP
PwrMgmt
8.3.1.1 S0 - Full On
This is the normal operating state of the processor. In S0, the core processor transitions
in and out of the various processor C-States.
Note: This is a software based state that is the same as S5 to hardware. On S4 entry, the
system saves the entire contents of data off to NVRAM. On S4 resume, the system
restores the entire contents of memory after performing the a typical S5-S0 boot.
Key features:
• No activity is allowed.
• All power wells are disabled, except for the suspend and RTC well.
FULL ON: CPU operating. Individual devices may be shut down to save power. The
G0/S0/C0
different CPU operating levels are defined by Cx states.
Suspend-To-Disk (STD): The context of the system is maintained on the disk. All
G1/S4
power is shut down except power for the logic to resume.
Soft-Off: System context is not maintained. All power is shut down except power for
G2/S5 the logic to restart. A full boot is required to restart. A full boot is required when
waking.
Mechanical OFF. System content is not maintained. All power shutdown except for
the RTC. No “Wake” events are possible, because the system does not have any
power. This state occurs if the user removes the batteries, turns off a mechanical
G3
switch, or if the system power supply is at a level that is insufficient to power the
“waking” logic. When system power returns, transition depends on the state just prior
to the entry to G3.
Table 61 shows the transition rules among the various states. Note that transitions
among the various states may appear to temporarily transition through intermediate
states. These intermediate transitions and states are not listed in the table.
C1 AutoHALT state
Precharge Powerdown CKE de-asserted (not self-refresh) with all banks closed.
Active Powerdown CKE de-asserted (not self-refresh) with at least one bank active.
L0s First Active Power Management low power state – Low exit latency
G0 S0 C0 Full On On Full On
G0 S0 C1 Auto-Halt On Auto-Halt
Transition to processor core power states higher than C1 are triggered by initiating a
P_LVLx (P_LVL2) I/O read.
The Cx state ends due to a break event. Based on the break event, the processor
returns the system to C0. The following are examples of such break events:
• Any unmasked interrupt goes active
• Any internal event that will cause an NMI or SMI_B
• CPU Pending Break Event (PBE_B)
• MSI
An interrupt or a reset is required to exit the C2 state and return to the C0 state.
At reset, all rows must be assumed to be populated, until it can be proven that they are
not populated. This is due to the fact that when CKE is tri-stated the memory module is
not guaranteed to maintain data integrity.
CKE signals remain LOW (while any reset is active) until the BIOS writes to a
configuration register. Using this method, CKE is guaranteed to remain inactive for
much longer than the specified 200 micro-seconds after power and clocks to SDRAM
devices are stable.
If one of the above conditions change prior to the SR Entry command being sent to the
DRAM the process is terminated.
When Dynamic SR is enabled the Memory Controller exits SR mode when one of the
following is true:
1. Requests are pending and the Internal Request Status is normal or urgent
2. A SR exit request from the DDRIO
If dynamic power-down is enabled, all ranks are powered up before doing a refresh
cycle and all ranks are powered down at the end of refresh.
§§
The SoC sleep states are described in Chapter 8.0, “Power Management”.
Once in state S0 the SoC can be put to sleep, i.e., transitioned to sleep states S3 or S4/
S5, through appropriate settings of the Legacy Bridge ACPI registers PM1C.SLPTYPE
and PM1C.SLPEN.
A wake event is defined as a transition from state S3 to state S0. The chip can be
woken up via a number of mechanisms including specific register settings, or by
asserting specific SoC pins. A watchdog function in the Legacy Bridge can also trigger a
wake event.
In auto power button mode, if the SoC is placed in sleep state S4/S5, the system can
only be woken by the removal and reapplication of AC power. It does not resume from
S4, rather it is a new start with context loss. Since PWR_BTN_B is low it will power up
and transition directly back to S0 as described in the power up sequence.
There are two classes of reset associated with Intel® Quark™ SoC X1000:
• A cold reset means transitioning from S0 to S4/S5 and back to S0 again,
independent of the PWR_BTN_B value. This can only be initiated from state S0
through the register RSTC.COLD_RST. All registers except those driven by the RTC
supply are effectively reset.
• A warm reset resets CPU and peripheral blocks without the removal of the power
supplies. This can be initiated via a write to the register RSTC.WARM_RST or by
asserting the SoC pin, RESET_BTN_B (active low). It can occur only in state S0 and
after reset the SoC remains in state S0. RTC well and suspend well registers are left
unaffected.
Catastrophic shutdown can be carried out by holding PWR_BTN_B low for at least
3s. This results in a direct return to the S4/S5 state. It can also be initiated by software
under specific error conditions. See the Intel® Quark™ SoC X1000 UEFI Firmware
Writer’s Guide (Document # 330236) for more information.
Initial
State G3
Power Up
VCCRTC_3P3
RTCRST_B t1 [ext]
t2
32kHz Oscillator [int] Oscillator Start-Up Clock Valid
VCCRTC_3P3 to RTCRST_B
t1 9 N/A ms 1
deassertion
Notes:
1. This delay is typically created from an RC circuit.
2. The oscillator startup times are component and design specific. A crystal oscillator can take as long as
2 s to reach a large enough voltage swing. Whereas, a silicon oscillator can have startups times
<10 ms.
t7 – debounce time
X1000 Input – PW R_BTN
RC Delay – EN_3P3
RC Delay – EN_1P0
S5 Rails
RC Delay – EN_1P5
t8
VCC3P3_S5 (t1)
VCC1P0_S5 (t2)
VCC1P5_S5 (t3)
t4
X1000 Vout – OVOUT_1P8_S5
t6
X1000 Input – S5_PGOOD
t9
X1000 Output – S3_1V5_EN
t10
`
VCC3P3_S3
S3 Rails
t12
VCC1P5_S3
t13
X1000 Vout – OVOUT_1P0_S3
t14
X1000 Vout – OVOUT_1P8_S3
t16
X1000 Input – S3_PGOOD
t18
X1000 Out – S0_1V0_EN
t19
G
1P0_P
VCC3P3_S0
S0_
t21
VCC1P0_S0
after
S0 Rails
t27
erted
VCC1P5_S0
EN ass
t22
X1000 Vout – OVOUT_1P8_S0
5_
S0_1V
t23
X1000 Vout – OVOUT_1P05_S0
t25
X1000 Input – S0_1P0_PG
t28
X1000 Input – S0_PG
In these cases, the relative timing between RTC and suspend wells becomes important.
The key point is that, as well as a minimum time, there is a maximum time by which
RTCRST_B must be deasserted. It must happen before an internal reset associated with
the suspend well is deasserted. This is shown in Figure 22.
Apply AC Power
t0
VCCRTC_3P3
[ext]
t1min
RTCRST_B
t1max
t0'
VCC3P3_S5
[ext]
Notes:
1. This delay is typically created from an RC circuit.
2. The oscillator startup times are component and design specific. A crystal oscillator can take as long as
2 s to reach a large enough voltage swing. Whereas, a silicon oscillator can have startups times
<10 ms.
3. System transitions automatically through S4/S5 to S0. See Section 9.2.4 for S0 power on sequence.
t1 ext VCC3P3_S5
Platform related and are specific to the
t2 ext VCC1P0_S5
voltage regulator selected.
t3 ext VCC1P5_S5
Must hold
PWR_BTN_B
PWR_BTN_B low for at
t7 int debounce 2.5 - ms least this
time time for
falling edge
to take effect
With respect
S3_3V3_EN to
t8 int N/A N/A N/A
(Delay) PWR_BTN_B
event
auto power
S3_3V3_EN button mode:
t8’ int N/A N/A N/A
(Delay) With respect
to S5_PG
Offset from
S3_3V3_EN
S3_1V5_EN due to SoC
t9 int 90 1800 s
(Delay) rail
sequencing
requirements
VCC3P3_S3
t10 ext (Switch
Delay)
Platform delays based on component delays.
VCC1P5_S3
t12 ext (Switch
Delay)
OVOUT_1P8_
t13 int
S3 (Delay)
Track the VCC3P3_S3 with negligible delay.
OVOUT_1P0_
t14 int
S3 (Delay)
S0_3V3_EN
t17 int N/A N/A N/A
(Delay)
Offset from
S3_3V3_EN
S0_1V0_EN due to SoC
t18 int N/A N/A N/A
(Delay) rail
sequencing
requirements
VCC3P3_S0
t19 ext (Switch
Delay)
Platform delays based on component delays.
VCC1P0_S0
t21 ext (Switch
Delay)
OVOUT_1P8_
t22 int
S0 (Delay)
Track the VCC3P3_S0 with negligible delay.
OVOUT_1P05
t23 int
_S0 (Delay)
Assertion of
t25 ext N/A N/A N/A
S0_1P0_PG
S0_1V5_EN
t26 int N/A N/A N/A
(Delay)
VCC1P5_S0
t27 ext Platform delays based on component delays.
(Delay)
1 - Must be asserted after internal power good assertions from respective [S5/S3/S0] LDO regulators
Set both GPE0S.EGPE and GPE0E.EGPE Generates SCI/SMI via General Purpose
External GPE_B (pin)
in Legacy Bridge Event Register in Legacy Bridge
Warm Reset (External) RESET_BTN_B pin asserted (low) for at least 2.5ms
The Watchdog Timer in the Legacy Bridge can be enabled to generate a cold reset in
the event of a timeout event. This is indistinguishable from a cold reset due to
RSTC.COLD_RST being set.
The Watchdog Timer in the Legacy Bridge can be enabled to generate a warm reset in
the event of a timeout event. This is indistinguishable from a warm reset due to
RSTC.WARM_RST being set.
§§
10.1 Overview
The Intel® Quark™ SoC X1000 thermal management feature helps in managing the
overall thermal profile of the system to prevent overheating and system breakdown.
The architecture implements various proven methods of maintaining maximum
performance while remaining within the thermal specification.
I/O
TS_TDA (Reference current – thermal diode anode) max voltage 0.7
Analog
I/O
TS_TDC (Reference current – thermal diode cathode) max voltage 0.7
Analog
I/O
TS_IREF_N (Reference current) max voltage 0.7
Analog
§§
Note: The processor core provides an integrated Local APIC but does not support the
IA32_APIC_BASE MSR. As a result, the Local APIC is always globally enabled and the
Local APIC base address is fixed at FEE00000h. Attempting to access the
IA32_APIC_BASE MSR causes a general protection fault.
See the Intel® Quark™ SoC X1000 Core Hardware Reference Manual (Order #329678)
for more information.
§§
The Host Bridge is a central hub that routes transactions to and from the Intel® Quark™
SoC X1000’s CPU core, DRAM controller, and other functional blocks. In general, it
handles:
• CPU Core Interface: Requests for CPU Core-initiated memory and I/O read and
write operations and processor-initiated message-signaled interrupt transactions
• Device MMIO and PCI configuration access routing
• Buffering and memory arbitration
• PCI Config and MMIO accesses to host device (0/0/0)
The eSRAM is a volatile memory and functionality is provided to flush eSRAM pages to
DRAM as part of entry to an S3 system state. Sections of DRAM overlaid by eSRAM are
inaccessible to all system agents.
12.1.1 Initialization
Immediately on coming out of a warm or cold reset, the Host Bridge initializes eSRAM
data to 0. While this is taking place the register fields ESRAMPGCTRLx.INIT_IN_PROG
(where x=0-127) and ESRAMPGCTRL_BLOCK.BLOCK_INIT_IN_PROG are 1. Software
may map and enable eSRAM pages during this time, but accesses to an eSRAM 4KB
page will not complete until the page has completed initialization.
12.1.2 Configuration
Once an eSRAM page (4KB page or 512KB block page) is enabled (see Section 12.1.2.1
and Section 12.1.2.2), it may only be flushed or disabled as part of an entry to an S3
system state. In order to re-configure an eSRAM page, the Host Bridge must be warm
or cold reset.
To map and enable 4KB page x, the following steps should be followed:
• Set ESRAMPGCTRLx.PG_SYSTEM_ADDRESS_4K to the required address value
• Set ESRAMPGCTRLx.ENABLE_PG to 1
Software must be careful not to map different eSRAM pages to the same system
address. There is no hardware protection against this.
4 Gbyte
MMIO
HMBOUND
2*4KB unused
Low DRAM
2*4KB unused
10*4KB unused
1 Mbyte
DOS DRAM 1*4KB unused
To map and enable the 512KB block page, the following steps should be followed
4 Gbyte
MMIO
HMBOUND
Low DRAM
512KB unused
1 Mbyte
DOS DRAM
eSRAM page configuration may be explicitly locked on a per page basis with the
ESRAMPGCTRLx. PAGE_CSR_LOCK and ESRAMPGCTRL_BLOCK.
BLOCK_PAGE_CSR_LOCK fields. Locked eSRAM pages may still be flushed to DRAM.
The ESRAMCERR register provides debug information on the most recent single bit ECC
error. Software may configure a threshold number of correctable ECC errors with the
ESRAMCTRL.ECC_THRESH field. If the ECC_THRESH_SB_MSG_EN field is set to 1, and
the threshold number of correctable ECC errors is reached, the Memory Manager will
send an interrupt to the Remote Management Unit with the opcode 0xD8.
The ESRAMSDROME register can be used to decode where in the eSRAM data word the
most recent ECC error occurred.
There are 8 general IMRs available. The general IMRs allow any location of system
memory- with a 1KB granularity, to have software controlled access rights. The upper
and lower boundaries of a general IMR are set via the IMRxL.IMRL and IMRxH.IMRH
register fields (where x=one of the 8 IMRs). Read access rights are controlled via the
IMRxRM registers, write access rights are controlled via the IMRx.WM register fields.
General IMRs may be overlapping. In this case, in order be allowed access a particular
region in memory, an agent will need to have access rights to all the IMRs which
contain that region.
The HMBOUND IMR prevents access by non host agents to any region of memory above
HMBOUND. HMBOUND is software configured in the HMBOUND register.
The SMM IMR prevents access by non host agents to any region of memory contained
within the SMM region. The SMM region access rights are configured in the HSMMCTL
register.
Until HMBOUND is configured and locked, any General IMR region that is programmed
will only be applied if the General IMR’s register set is not locked. This allows software
to configure a General IMR region and test it without locking it’s register set. Once a
General IMR register set is locked, however, HMBOUND is required to be configured and
locked or the security mechanism will deny all accesses to that General IMR region.
Until HMBOUND is configured and locked, the SMM IMR region that is programmed will
only be applied if the SMM IMR’s register set is not locked. This allows software to
configure the SMM IMR region and test it without locking it’s register set. Once the
SMM IMR register set is locked, however, HMBOUND is required to be configured and
locked or the security mechanism will deny all accesses to the SMM IMR region.
Remote Management Unit message bus registers - SPI DMA Count Register
(P_CFG_60), SPI DMA Destination Register (P_CFG_61) and SPI DMA Source Register
(P_CFG_62) are used to control DMA transfers. These registers are managed by the
Remote Management Unit firmware.
The SPI DMA Count Register (P_CFG_60) should be programmed after the SPI DMA
Source Register (P_CFG_62) and the SPI DMA Destination Register (P_CFG_61) as
writing to the SPI DMA Count Register (P_CFG_60) will trigger the start of the DMA
transfer.
See Option Register 1(P_CFG_72) bit [0] for details on how to disable DMA
functionality.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem)
RP0 F:0
PCIe*
D:23
SPI0 F:0 RP0 F:1
IO Fabric
D:21
SPI1 F:1
I2C*/GPIO F:2
Legacy Bridge
D:31, F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
D4h D7h “Message Data Register (MDR) (SB_DATA_REG)—Offset D4h” on page 136 00000000h
Access Method
Type: PCI Configuration Register PCI_DEVICE_VENDOR: [B:0, D:0, F:0] + 0h
(Size: 32 bits)
Default: 09588086h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
VENDOR_ID
DEVICE_ID
0958h
31: 16 Device ID (DEVICE_ID): PCI Device ID
RO
8086h
15: 0 Vendor ID (VENDOR_ID): PCI Vendor ID for Intel
RO
Default: 00000007h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
STATUS
COMMAND
0000h
31: 16 Status (STATUS): Hardwired to 0.
RO
0007h
15: 0 Command (COMMAND): Hardwired to 0.
RO
Access Method
Type: PCI Configuration Register PCI_CLASS_REVISION: [B:0, D:0, F:0] + 8h
(Size: 32 bits)
Default: 06000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLASS_CODE
REVISION_ID
Bit Default &
Description
Range Access
060000h
31: 8 Class Code (CLASS_CODE): PCI Class Code for Chipset.
RO
00h
7: 0 Revision ID (REVISION_ID): PCI Revision ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LATENCY
CACHE_LINE_SIZE
BIST
HEADER
00h
31: 24 BIST (BIST): PCI BIST Field
RO
00h
23: 16 Header Type (HEADER): PCI Header Type Field
RO
00h
15: 8 Latency Timer (LATENCY): PCI Latency Timer Field
RO
00h
7: 0 Cache Line Size (CACHE_LINE_SIZE): PCI Cache Line Size Field
RO
Access Method
Type: PCI Configuration Register PCI_SUBSYSTEM: [B:0, D:0, F:0] + 2Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SUBSYSTEM_VENDOR_ID
SUBSYSTEM_ID
0000h
31: 16 Subsystem Vendor ID (SUBSYSTEM_VENDOR_ID): PCI Subsystem Vendor ID
RO
0000h
15: 0 Subsystem ID (SUBSYSTEM_ID): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SB_ADDR
SB_OPCODE
SB_PORT
SB_BE
RSV
Bit Default &
Description
Range Access
00h
31: 24 OpCode (SB_OPCODE): The operation to be performed on the target port.
WO
00h
23: 16 Port (SB_PORT): The device or unit to be targeted by the message bus transaction.
WO
00h Offset/Register (SB_ADDR): Bits 7:0 of the private register offset to be targeted by
15: 8 the message bus transaction. This field applies only to register read and write
WO operations.
0h Byte Enable (SB_BE): The byte enables to be used by the triggered transaction. This
7: 4
WO field applies only to register read and write operations.
0h
3: 0 Reserved (RSV): Reserved.
WO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SB_DATA
0h Data (SB_DATA): Used as the place to store the data when the operation triggered is
31: 0 a read semantic, or the place to get the data if the triggered operation is a data write
RW semantic.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
SB_ADDR_EXTN
Bit Default &
Description
Range Access
00h
7: 0 Reserved (RSV): Reserved.
RO
Access Method
Type: PCI Configuration Register PCI_MANUFACTURER: [B:0, D:0, F:0] + F8h
(Size: 32 bits)
Default: 00000FB1h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1
RSV
MANUFACTURER_ID
00h
31: 24 Reserved (RSV): Reserved.
RO
000FB1h
23: 0 Manufacturer ID (MANUFACTURER_ID): Manufacturer ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
P_CNT_RSV2
P_CNT_RSV1
THROTL_EN
THROTL_DUTY_CYCLE
Bit Default &
Description
Range Access
0b
31:5 Reserved (P_CNT_RSV2): Reserved.
RO
0b Throttle Enable (THROTL_EN): When set and the processor is in C0, it enables
4 software-controlled STPCLK# throttling. The duty cycle is selected via
RW THROTL_DUTY_CYCLE. It remains in effect on each re-entry to C0 as long as enabled.
Throttle Duty Cycle (THROTL_DUTY_CYCLE): This field determines the duty cycle of
throttling (percentage of time STPCLK# is asserted) when throttling is enabled.
000b : 50% (Default)
001b : 87.5%
000b 010b : 75%
3:1
RW 011b : 62.5%
100b : 50%
101b : 37.5%
110b : 35%
111b : 12.5%
0b
0 Reserved (P_CNT_RSV1): Reserved.
RO
Access Method
Type: I/O Register P_LVL2: [PMBA] + 4h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
GO_TO_C2
P_LVL2_RSV
Bit Default &
Description
Range Access
0b
31:8 Reserved (P_LVL2_RSV): Reserved.
RW
00h Go to C2 (GO_TO_C2): Reads to this register return all zeroes, writes have no effect.
7:0
RO Reads to this register generate a C2 request.
Access Method
Type: I/O Register P_C6C: [PMBA] + Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
P_C6C_RSV
LAST_CSTATE
RESIDENCY_COUNT
0b
31 Reserved (P_C6C_RSV): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Reserved
DMA_DISABLE
Bit Default &
Field Name (ID): Description
Range Access
0
31:1 Reserved (RSVD): Reserved.
RO
0 DMA_DISABLE: Remote Management Unit DMA disable. Once set RMU DMA
0
RW functionality is disabled until system reset
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EC_BASE
RSV
EC_ENABLE
Bit Default &
Description
Range Access
0b
27:1 Reserved (RSV): Reserved.
RO
0b
0 Enable (EC_ENABLE): Enables Enhanced Configuration operation
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
STATUS1_RAISED_VALUE
STATUS0_RAISED_VALUE
STATUS1_DEFAULT_VALUE
STATUS0_DEFAULT_VALUE
RSV2
RSV1
0b
31:12 RSV2: Reserved
RO
0b Encodings as follows:
11:10
RW 2'b00 = Casual - Channel is requesting low priority, will be serviced only if convenient.
2'b01 = Reserved.
2'b10 = Normal - Channel is requesting normal priority for servicing.
2'b11 = Urgent - Channel is requesting high priority for servicing.
0b Encodings as follows:
9:8
RW 2'b00 = Casual - Channel is requesting low priority, will be serviced only if convenient.
2'b01 = Reserved.
2'b10 = Normal - Channel is requesting normal priority for servicing.
2'b11 = Urgent - Channel is requesting high priority for servicing.
0b
7:4 RSV1: Reserved
RO
0b Encodings as follows:
3:2
RW 2'b00 = Casual - Channel is requesting low priority, will be serviced only if convenient.
2'b01 = Reserved.
2'b10 = Normal - Channel is requesting normal priority for servicing.
2'b11 = Urgent - Channel is requesting high priority for servicing.
0b Encodings as follows:
1:0
RW 2'b00 = Casual - Channel is requesting low priority, will be serviced only if convenient.
2'b01 = Reserved.
2'b10 = Normal - Channel is requesting normal priority for servicing.
2'b11 = Urgent - Channel is requesting high priority for servicing.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SUB_CHAN_MATCH_LOCK
SUB_CHAN3_MRQID_ENABLE
SUB_CHAN2_MRQID_ENABLE
SUB_CHAN1_MRQID_ENABLE
RSV4
RSV3
RSV2
RSV1
0b
31:7 Reserved (RSV4): Reserved.
RO
0b
6 Reserved (RSV3): Reserved.
RO
0b
4 Reserved (RSV2): Reserved.
RO
0b
2 Reserved (RSV1): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RSV1
SUB_CHAN1_MRQID
0b
31:23 Reserved (RSV2): Reserved.
RO
0b
22:16 Reserved (RSV1): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RSV1
SUB_CHAN2_MRQID
Bit Default &
Description
Range Access
0b
31:23 Reserved (RSV2): Reserved.
RO
0b
22:16 Reserved (RSV1): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RSV1
SUB_CHAN3_MRQID
0b
31:23 Reserved (RSV2): Reserved.
RO
0b
22:16 Reserved (RSV1): Reserved.
RO
4h “Host System Management Mode Controls (HSMMCTL)—Offset 4h” on page 147 00060006h
Ch “Host Bridge Write Flush Control (HWFLUSH)—Offset Ch” on page 149 00010000h
42h “MTRR Fixed 64KB Range 0x00000 (MTRR_FIX64K_00000)—Offset 42h” on page 151 00000000h
43h “MTRR Fixed 64KB Range 0x40000 (MTRR_FIX64K_40000)—Offset 43h” on page 152 00000000h
44h “MTRR Fixed 16KB Range 0x80000 (MTRR_FIX16K_80000)—Offset 44h” on page 152 00000000h
45h “MTRR Fixed 16KB Range 0x90000 (MTRR_FIX16K_90000)—Offset 45h” on page 153 00000000h
46h “MTRR Fixed 16KB Range 0xA0000 (MTRR_FIX16K_A0000)—Offset 46h” on page 154 00000000h
47h “MTRR Fixed 16KB Range 0xB0000 (MTRR_FIX16K_B0000)—Offset 47h” on page 154 00000000h
48h “MTRR Fixed 4KB Range 0xC0000 (MTRR_FIX4K_C0000)—Offset 48h” on page 155 00000000h
49h “MTRR Fixed 4KB Range 0xC4000 (MTRR_FIX4K_C4000)—Offset 49h” on page 155 00000000h
4Ah “MTRR Fixed 4KB Range 0xC8000 (MTRR_FIX4K_C8000)—Offset 4Ah” on page 156 00000000h
4Bh “MTRR Fixed 4KB Range 0xCC000 (MTRR_FIX4K_CC000)—Offset 4Bh” on page 156 00000000h
4Ch “MTRR Fixed 4KB Range 0xD0000 (MTRR_FIX4K_D0000)—Offset 4Ch” on page 157 00000000h
4Dh “MTRR Fixed 4KB Range 0xD40000 (MTRR_FIX4K_D4000)—Offset 4Dh” on page 158 00000000h
4Eh “MTRR Fixed 4KB Range 0xD8000 (MTRR_FIX4K_D8000)—Offset 4Eh” on page 158 00000000h
4Fh “MTRR Fixed 4KB Range 0xDC000 (MTRR_FIX4K_DC000)—Offset 4Fh” on page 159 00000000h
50h “MTRR Fixed 4KB Range 0xE0000 (MTRR_FIX4K_E0000)—Offset 50h” on page 159 00000000h
51h “MTRR Fixed 4KB Range 0xE4000 (MTRR_FIX4K_E4000)—Offset 51h” on page 160 00000000h
52h “MTRR Fixed 4KB Range 0xE8000 (MTRR_FIX4K_E8000)—Offset 52h” on page 160 00000000h
53h “MTRR Fixed 4KB Range 0xEC000 (MTRR_FIX4K_EC000)—Offset 53h” on page 161 00000000h
54h “MTRR Fixed 4KB Range 0xF0000 (MTRR_FIX4K_F0000)—Offset 54h” on page 161 00000000h
55h “MTRR Fixed 4KB Range 0xF4000 (MTRR_FIX4K_F4000)—Offset 55h” on page 162 00000000h
56h “MTRR Fixed 4KB Range 0xF8000 (MTRR_FIX4K_F8000)—Offset 56h” on page 163 00000000h
57h “MTRR Fixed 4KB Range 0xFC000 (MTRR_FIX4K_FC000)—Offset 57h” on page 163 00000000h
58h “System Management Range Physical Base (MTRR_SMRR_PHYSBASE)—Offset 58h” on page 164 00000000h
59h “System Management Range Physical Mask (MTRR_SMRR_PHYSMASK)—Offset 59h” on page 164 00000000h
5Ah “MTRR Variable Range Physical Base 0 (MTRR_VAR_PHYSBASE0)—Offset 5Ah” on page 165 00000000h
5Bh “MTRR Variable Range Physical Mask 0 (MTRR_VAR_PHYSMASK0)—Offset 5Bh” on page 165 00000000h
5Ch “MTRR Variable Range Physical Base 1 (MTRR_VAR_PHYSBASE1)—Offset 5Ch” on page 166 00000000h
5Dh “MTRR Variable Range Physical Mask 1 (MTRR_VAR_PHYSMASK1)—Offset 5Dh” on page 167 00000000h
5Eh “MTRR Variable Range Physical Base 2 (MTRR_VAR_PHYSBASE2)—Offset 5Eh” on page 167 00000000h
5Fh “MTRR Variable Range Physical Mask 2 (MTRR_VAR_PHYSMASK2)—Offset 5Fh” on page 168 00000000h
60h “MTRR Variable Range Physical Base 3 (MTRR_VAR_PHYSBASE3)—Offset 60h” on page 168 00000000h
61h “MTRR Variable Range Physical Mask 3 (MTRR_VAR_PHYSMASK3)—Offset 61h” on page 169 00000000h
62h “MTRR Variable Range Physical Base 4 (MTRR_VAR_PHYSBASE4)—Offset 62h” on page 169 00000000h
63h “MTRR Variable Range Physical Mask 4 (MTRR_VAR_PHYSMASK4)—Offset 63h” on page 170 00000000h
64h “MTRR Variable Range Physical Base 5 (MTRR_VAR_PHYSBASE5)—Offset 64h” on page 171 00000000h
65h “MTRR Variable Range Physical Mask 5 (MTRR_VAR_PHYSMASK5)—Offset 65h” on page 171 00000000h
66h “MTRR Variable Range Physical Base 6 (MTRR_VAR_PHYSBASE6)—Offset 66h” on page 172 00000000h
67h “MTRR Variable Range Physical Mask 6 (MTRR_VAR_PHYSMASK6)—Offset 67h” on page 172 00000000h
68h “MTRR Variable Range Physical Base 7 (MTRR_VAR_PHYSBASE7)—Offset 68h” on page 173 00000000h
69h “MTRR Variable Range Physical Mask 7 (MTRR_VAR_PHYSMASK7)—Offset 69h” on page 173 00000000h
Op Codes:
10h - Read, 11h - Write
Default: 00170001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
PBE_STATUS
RSVD
FSEG_RD_DRAM
RSV43
RSV05
ESEG_RD_DRAM
OR_PM
RSV04
ABSEG_IN_DRAM
RSV03
0h
31:23 Reserved (RSV43): Reserved.
RO
0b PBE Status (PBE_STATUS): Reflects the value of the Pending Break Event pin from
22
RO the processor
0b
21 Reserved (RSV05): Reserved.
RO
OR PM Signals from Legacy Bridge (OR_PM): When set, the Host Bridge will OR the
power management signals driven by the Legacy Bridge with the internal values
generated by the Remote Management Unit. This field specifies, on a signal-by-signal
basis, whether a given bit should be driven via a message from the Remote
10111b Management Unit or via a direct pin from the Legacy Bridge.
20:16
RW [20] Reserved
[19] SMI
[18] NMI
[17] INIT
[16] INTR
0000h
15:5 Reserved (RSV04): Reserved.
RO
0b A and B Segment in DRAM (ABSEG_IN_DRAM): When this bit is set, memory reads
4
RW and writes targeting A-segment or B-segment are routed to DRAM
0b
3 Reserved (RSV03): Reserved.
RO
0b Read F Segment from DRAM (FSEG_RD_DRAM): When this bit is set, memory
2
RW reads targeting F-segment are routed to DRAM
0b Read E Segment from DRAM (ESEG_RD_DRAM): When this bit is set, memory
1
RW reads targeting E-segment are routed to DRAM
1b
0 Reserved (RSVD): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00060006h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
NON_HOST_SMM_WR_OPEN
NON_HOST_SMM_RD_OPEN
RSV42
RSV07
SMM_START
RSV06
SMM_WR_OPEN
SMM_END
SMM_RD_OPEN
Bit Default & SMM_LOCK
Description
Range Access
000h SMM Upper Bound (SMM_END): These bits are compared with bits [31:20] of the
31:20 incoming address to determine the upper 1MB aligned value of the protected SMM
RW/L range.
0b
19 Reserved (RSV42): Reserved.
RO
0b
16 Reserved (RSV07): Reserved.
RO
000h SMM Lower Bound (SMM_START): These bits are compared with bits [31:20] of the
15:4 incoming address to determine the lower 1MB aligned value of the protected SMM
RW/L range.
0b
3 Reserved (RSV06): Reserved.
RO
1b SMM Writes Open (SMM_WR_OPEN): Allow non-SMM writes to SMM space. This bit
2 allows processor writes to the SMM space defined by the SMM Start and SMM End fields
RW/L even when the processor is not in SMM mode
1b SMM Reads Open (SMM_RD_OPEN): Allow non-SMM reads to SMM space. This bit
1 allows processor reads to the SMM space defined by the SMM Start and SMM End fields
RW/L even when the processor is not in SMM mode
0b SMM Locked (SMM_LOCK): When set, this bit locks this register and prevents write
0
RW/O access until the system is reset
Op Codes:
10h - Read, 11h - Write
Default: 40000000h
31 28 24 20 16 12 8 4 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IO_DISABLE
RSV10
HMBOUND_LOCK
HMBOUND
Host IO Boundary (HMBOUND): This register field is compared with the bits [31:12]
of incoming memory accesses to determine if the transaction should be routed to
40000h Memory space or MMIO space. If address bits[31:12] are greater than or equal to the
31:12
RW/L Host IO Boundary then the transaction is routed to MMIO space.
This allows the Host IO Boundary to be set to a 4KB aligned boundary. By default, the
Host IO Boundary is set at 1GB.
000h
11:2 Reserved (RSV10): Reserved.
RO
0b Host IO Disable (IO_DISABLE): When this bit is set, all accesses will be sent to
1 memory regardless of the address with the exception of accesses to the A, B, E and F
RW/L Segments. Access to the segments is controlled by HMISC2
0b HMBOUND Lock (HMBOUND_LOCK): When this bit is set, the HMBOUND register is
0
RW/O locked and can no longer be modified until Host Bridge is reset
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV11
EC_BASE
EC_ENABLE
Bit Default &
Description
Range Access
0000b Extended Configuration Space Base Address (EC_BASE): This field describes the
31:28 upper 4-bits of the 32-bit address range used to access the memory-mapped
RW configuration space. This field must not be set to 0xF
000000h
27:1 Reserved (RSV11): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00008000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
RSV
SMI
0b
31: 13 Reserved: Reserved.
RO
0b SMI Pin Value (SMI): Reflects the value of the SMI pin set via message 0x70. Pin
12 value can also be set by writes to this register field.
RW/SE
0b
11: 0 Reserved: Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00010000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV18
RSV17
ALL_FLUSHED
HWM
Bit Default &
Description
Range Access
0000h
31:17 Reserved (RSV18): Reserved.
RO
1b All Entries Flushed (ALL_FLUSHED): Indicates all dirty entries have been flushed
16
RO from the Host Bridge to the Memory Manager
00h
15:8 Reserved (RSV17): Reserved.
RO
00h High Water Mark (HWM): High Water Mark for Dirty Entries within the Host Bridge.
7:0 When this threshold is exceeded, entries are flushed from the Host Bridge to the
RW Memory Manager. Valid values are 0x00, 0x01 and 0x02
Op Codes:
10h - Read, 11h - Write
Default: 00000908h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0
WC
RSV21
RSV20
SMRR
FIX
VCNT
00000h
31:12 Reserved (RSV21): Reserved.
RO
0b
9 Reserved (RSV20): Reserved.
RO
1b Fixed Range Registers Supported (FIX): Indicates fixed range registers are
8
RO supported if set
08h Variable Range Registers Count (VCNT): Indicates the number of variable range
7:0
RO registers implemented in the Host Bridge
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV23
RSV22
E
FE
DEF_TYPE
Bit Default &
Description
Range Access
00000h
31:12 Reserved (RSV23): Reserved.
RO
MTRR Enable (E): MTRRs are enabled when set and are disabled when clear and the
0b UC memory type is applied to all of physical memory. When this flag is set, the FE flag
11 can disable the fixed range MTRRs. When the flag is clear, the FE flag has no affect.
RW When the E flag is set, the type specified in the default memory type field is used for
areas of memory not already mapped by either a fixed or variable MTRR.
Fixed MTRR Enable (FE): Fixed range MTRRs are enabled when set and are disabled
0b when clear. When the fixed range MTRRs are enabled, they take priority over the
10 variable range MTRRs when overlaps in ranges occur. If the fixed range MTRRs are
RW disabled, the variable range MTRRs can still be used and can map the range ordinarily
covered by the fixed range MTRRs.
00b
9:8 Reserved (RSV22): Reserved.
RO
00h Default Memory Type (DEF_TYPE): Indicates the default memory type used for
7:0 memory address ranges that do not have a memory type specified for them by an
RW MTRR. Default value is UC (Uncached)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX64K_30000
FIX64K_20000
FIX64K_10000
FIX64K_00000
Bit Default &
Description
Range Access
00h Fixed 64KB Range 0x30000 (FIX64K_30000): Maps the 64KB range from 0x30000
31:24
RW to 0x3FFFF
00h Fixed 64KB Range 0x20000 (FIX64K_20000): Maps the 64KB range from 0x20000
23:16
RW to 0x2FFFF
00h Fixed 64KB Range 0x10000 (FIX64K_10000): Maps the 64KB range from 0x10000
15:8
RW to 0x1FFFF
00h Fixed 64KB Range 0x00000 (FIX64K_00000): Maps the 64KB range from 0x00000
7:0
RW to 0x0FFFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX64K_70000
FIX64K_60000
FIX64K_50000
FIX64K_40000
00h Fixed 64KB Range 0x70000 (FIX64K_70000): Maps the 64KB range from 0x70000
31:24
RW to 0x7FFFF
00h Fixed 64KB Range 0x60000 (FIX64K_60000): Maps the 64KB range from 0x60000
23:16
RW to 0x6FFFF
00h Fixed 64KB Range 0x50000 (FIX64K_50000): Maps the 64KB range from 0x50000
15:8
RW to 0x5FFFF
00h Fixed 64KB Range 0x40000 (FIX64K_40000): Maps the 64KB range from 0x40000
7:0
RW to 0x4FFFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX16K_8C000
FIX16K_88000
FIX16K_84000
FIX16K_80000
Bit Default &
Description
Range Access
00h Fixed 16KB Range 0x8C000 (FIX16K_8C000): Maps the 16KB range from 0x8C000
31:24
RW to 0x8FFFF
00h Fixed 16KB Range 0x88000 (FIX16K_88000): Maps the 16KB range from 0x88000
23:16
RW to 0x8BFFF
00h Fixed 16KB Range 0x84000 (FIX16K_84000): Maps the 16KB range from 0x84000
15:8
RW to 0x87FFF
00h Fixed 16KB Range 0x80000 (FIX16K_80000): Maps the 16KB range from 0x80000
7:0
RW to 0x83FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX16K_9C000
FIX16K_98000
FIX16K_94000
FIX16K_90000
00h Fixed 16KB Range 0x9C000 (FIX16K_9C000): Maps the 16KB range from 0x9C000
31:24
RW to 0x9FFFF
00h Fixed 16KB Range 0x98000 (FIX16K_98000): Maps the 16KB range from 0x98000
23:16
RW to 0x9BFFF
00h Fixed 16KB Range 0x94000 (FIX16K_94000): Maps the 16KB range from 0x94000
15:8
RW to 0x97FFF
00h Fixed 16KB Range 0x90000 (FIX16K_90000): Maps the 16KB range from 0x90000
7:0
RW to 0x93FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX16K_A8000
FIX16K_A4000
FIX16K_A0000
FIX16K_AC000
00h Fixed 16KB Range 0xAC000 (FIX16K_AC000): Maps the 16KB range from 0xAC000
31:24
RW to 0xAFFFF
00h Fixed 16KB Range 0xA8000 (FIX16K_A8000): Maps the 16KB range from 0xA8000
23:16
RW to 0xABFFF
00h Fixed 16KB Range 0xA4000 (FIX16K_A4000): Maps the 16KB range from 0xA4000
15:8
RW to 0xA7FFF
00h Fixed 16KB Range 0xA0000 (FIX16K_A0000): Maps the 16KB range from 0xA0000
7:0
RW to 0xA3FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX16K_BC000
FIX16K_B8000
FIX16K_B4000
FIX16K_B0000
00h Fixed 16KB Range 0xBC000 (FIX16K_BC000): Maps the 16KB range from 0xBC000
31:24
RW to 0xBFFFF
00h Fixed 16KB Range 0xB8000 (FIX16K_B8000): Maps the 16KB range from 0xB8000
23:16
RW to 0xBBFFF
00h Fixed 16KB Range 0xB4000 (FIX16K_B4000): Maps the 16KB range from 0xB4000
15:8
RW to 0xB7FFF
00h Fixed 16KB Range 0xB0000 (FIX16K_B0000): Maps the 16KB range from 0xB0000
7:0
RW to 0xB3FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_C3000
FIX4K_C2000
FIX4K_C1000
FIX4K_C0000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xC3000 (FIX4K_C3000): Maps the 4KB range from 0xC3000 to
31:24
RW 0xC3FFF
00h Fixed 4KB Range 0xC2000 (FIX4K_C2000): Maps the 4KB range from 0xC2000 to
23:16
RW 0xC2FFF
00h Fixed 4KB Range 0xC1000 (FIX4K_C1000): Maps the 4KB range from 0xC1000 to
15:8
RW 0xC1FFF
00h Fixed 4KB Range 0xC0000 (FIX4K_C0000): Maps the 4KB range from 0xC0000 to
7:0
RW 0xC0FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_C7000
FIX4K_C6000
FIX4K_C5000
FIX4K_C4000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xC7000 (FIX4K_C7000): Maps the 4KB range from 0xC7000 to
31:24
RW 0xC7FFF
00h Fixed 4KB Range 0xC6000 (FIX4K_C6000): Maps the 4KB range from 0xC6000 to
23:16
RW 0xC6FFF
00h Fixed 4KB Range 0xC5000 (FIX4K_C5000): Maps the 4KB range from 0xC5000 to
15:8
RW 0xC5FFF
00h Fixed 4KB Range 0xC4000 (FIX4K_C4000): Maps the 4KB range from 0xC4000 to
7:0
RW 0xC4FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_CB000
FIX4K_CA000
FIX4K_C9000
FIX4K_C8000
00h Fixed 4KB Range 0xCB000 (FIX4K_CB000): Maps the 4KB range from 0xCB000 to
31:24
RW 0xCBFFF
00h Fixed 4KB Range 0xCA000 (FIX4K_CA000): Maps the 4KB range from 0xCA000 to
23:16
RW 0xCAFFF
00h Fixed 4KB Range 0xC9000 (FIX4K_C9000): Maps the 4KB range from 0xC9000 to
15:8
RW 0xC9FFF
00h Fixed 4KB Range 0xC8000 (FIX4K_C8000): Maps the 4KB range from 0xC8000 to
7:0
RW 0xC8FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_CF000
FIX4K_CD000
FIX4K_CE000
FIX4K_CC000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xCF000 (FIX4K_CF000): Maps the 4KB range from 0xCF000 to
31:24
RW 0xCFFFF
00h Fixed 4KB Range 0xCE000 (FIX4K_CE000): Maps the 4KB range from 0xCE000 to
23:16
RW 0xCEFFF
00h Fixed 4KB Range 0xCD000 (FIX4K_CD000): Maps the 4KB range from 0xCD000 to
15:8
RW 0xCDFFF
00h Fixed 4KB Range 0xCC000 (FIX4K_CC000): Maps the 4KB range from 0xCC000 to
7:0
RW 0xCCFFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_D3000
FIX4K_D2000
FIX4K_D1000
FIX4K_D0000
00h Fixed 4KB Range 0xD3000 (FIX4K_D3000): Maps the 4KB range from 0xD3000 to
31:24
RW 0xD3FFF
00h Fixed 4KB Range 0xD2000 (FIX4K_D2000): Maps the 4KB range from 0xD2000 to
23:16
RW 0xD2FFF
00h Fixed 4KB Range 0xD1000 (FIX4K_D1000): Maps the 4KB range from 0xD1000 to
15:8
RW 0xD1FFF
00h Fixed 4KB Range 0xD0000 (FIX4K_D0000): Maps the 4KB range from 0xD0000 to
7:0
RW 0xD0FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_D7000
FIX4K_D6000
FIX4K_D5000
FIX4K_D4000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xD7000 (FIX4K_D7000): Maps the 4KB range from 0xD7000 to
31:24
RW 0xD7FFF
00h Fixed 4KB Range 0xD6000 (FIX4K_D6000): Maps the 4KB range from 0xD6000 to
23:16
RW 0xD6FFF
00h Fixed 4KB Range 0xD5000 (FIX4K_D5000): Maps the 4KB range from 0xD5000 to
15:8
RW 0xD5FFF
00h Fixed 4KB Range 0xD4000 (FIX4K_D4000): Maps the 4KB range from 0xD4000 to
7:0
RW 0xD4FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_DB000
FIX4K_DA000
FIX4K_D9000
FIX4K_D8000
00h Fixed 4KB Range 0xDB000 (FIX4K_DB000): Maps the 4KB range from 0xDB000 to
31:24
RW 0xDBFFF
00h Fixed 4KB Range 0xDA000 (FIX4K_DA000): Maps the 4KB range from 0xDA000 to
23:16
RW 0xDAFFF
00h Fixed 4KB Range 0xD9000 (FIX4K_D9000): Maps the 4KB range from 0xD9000 to
15:8
RW 0xD9FFF
00h Fixed 4KB Range 0xD8000 (FIX4K_D8000): Maps the 4KB range from 0xD8000 to
7:0
RW 0xD8FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_DF000
FIX4K_DC000
FIX4K_DD000
FIX4K_DE000
00h Fixed 4KB Range 0xDF000 (FIX4K_DF000): Maps the 4KB range from 0xDF000 to
31:24
RW 0xDFFFF
00h Fixed 4KB Range 0xDE000 (FIX4K_DE000): Maps the 4KB range from 0xDE000 to
23:16
RW 0xDEFFF
00h Fixed 4KB Range 0xDD000 (FIX4K_DD000): Maps the 4KB range from 0xDD000 to
15:8
RW 0xDDFFF
00h Fixed 4KB Range 0xDC000 (FIX4K_DC000): Maps the 4KB range from 0xDC000 to
7:0
RW 0xDCFFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_E3000
FIX4K_E2000
FIX4K_E1000
FIX4K_E0000
00h Fixed 4KB Range 0xE3000 (FIX4K_E3000): Maps the 4KB range from 0xE3000 to
31:24
RW 0xE3FFF
00h Fixed 4KB Range 0xE2000 (FIX4K_E2000): Maps the 4KB range from 0xE2000 to
23:16
RW 0xE2FFF
00h Fixed 4KB Range 0xE1000 (FIX4K_E1000): Maps the 4KB range from 0xE1000 to
15:8
RW 0xE1FFF
00h Fixed 4KB Range 0xE0000 (FIX4K_E0000): Maps the 4KB range from 0xE0000 to
7:0
RW 0xE0FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_E7000
FIX4K_E6000
FIX4K_E5000
FIX4K_E4000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xE7000 (FIX4K_E7000): Maps the 4KB range from 0xE7000 to
31:24
RW 0xE7FFF
00h Fixed 4KB Range 0xE6000 (FIX4K_E6000): Maps the 4KB range from 0xE6000 to
23:16
RW 0xE6FFF
00h Fixed 4KB Range 0xE5000 (FIX4K_E5000): Maps the 4KB range from 0xE5000 to
15:8
RW 0xE5FFF
00h Fixed 4KB Range 0xE4000 (FIX4K_E4000): Maps the 4KB range from 0xE4000 to
7:0
RW 0xE4FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_EB000
FIX4K_EA000
FIX4K_E9000
FIX4K_E8000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xEB000 (FIX4K_EB000): Maps the 4KB range from 0xEB000 to
31:24
RW 0xEBFFF
00h Fixed 4KB Range 0xEA000 (FIX4K_EA000): Maps the 4KB range from 0xEA000 to
23:16
RW 0xEAFFF
00h Fixed 4KB Range 0xE9000 (FIX4K_E9000): Maps the 4KB range from 0xE9000 to
15:8
RW 0xE9FFF
00h Fixed 4KB Range 0xE8000 (FIX4K_E8000): Maps the 4KB range from 0xE8000 to
7:0
RW 0xE8FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_EE000
FIX4K_ED000
FIX4K_EF000
FIX4K_EC000
00h Fixed 4KB Range 0xEF000 (FIX4K_EF000): Maps the 4KB range from 0xEF000 to
31:24
RW 0xEFFFF
00h Fixed 4KB Range 0xEE000 (FIX4K_EE000): Maps the 4KB range from 0xEE000 to
23:16
RW 0xEEFFF
00h Fixed 4KB Range 0xED000 (FIX4K_ED000): Maps the 4KB range from 0xED000 to
15:8
RW 0xEDFFF
00h Fixed 4KB Range 0xEC000 (FIX4K_EC000): Maps the 4KB range from 0xEC000 to
7:0
RW 0xECFFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0FIX4K_F3000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_F2000
FIX4K_F1000
FIX4K_F0000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xF3000 (FIX4K_F3000): Maps the 4KB range from 0xF3000 to
31:24
RW 0xF3FFF
00h Fixed 4KB Range 0xF2000 (FIX4K_F2000): Maps the 4KB range from 0xF2000 to
23:16
RW 0xF2FFF
00h Fixed 4KB Range 0xF1000 (FIX4K_F1000): Maps the 4KB range from 0xF1000 to
15:8
RW 0xF1FFF
00h Fixed 4KB Range 0xF0000 (FIX4K_F0000): Maps the 4KB range from 0xF0000 to
7:0
RW 0xF0FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_F7000
FIX4K_F6000
FIX4K_F5000
FIX4K_F4000
00h Fixed 4KB Range 0xF7000 (FIX4K_F7000): Maps the 4KB range from 0xF7000 to
31:24
RW 0xF7FFF
00h Fixed 4KB Range 0xF6000 (FIX4K_F6000): Maps the 4KB range from 0xF6000 to
23:16
RW 0xF6FFF
00h Fixed 4KB Range 0xF5000 (FIX4K_F5000): Maps the 4KB range from 0xF5000 to
15:8
RW 0xF5FFF
00h Fixed 4KB Range 0xF4000 (FIX4K_F4000): Maps the 4KB range from 0xF4000 to
7:0
RW 0xF4FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_FB000
FIX4K_FA000
FIX4K_F9000
FIX4K_F8000
Bit Default &
Description
Range Access
00h Fixed 4KB Range 0xFB000 (FIX4K_FB000): Maps the 4KB range from 0xFB000 to
31:24
RW 0xFBFFF
00h Fixed 4KB Range 0xFA000 (FIX4K_FA000): Maps the 4KB range from 0xFA000 to
23:16
RW 0xFAFFF
00h Fixed 4KB Range 0xF9000 (FIX4K_F9000): Maps the 4KB range from 0xF9000 to
15:8
RW 0xF9FFF
00h Fixed 4KB Range 0xF8000 (FIX4K_F8000): Maps the 4KB range from 0xF8000 to
7:0
RW 0xF8FFF
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIX4K_FF000
FIX4K_FE000
FIX4K_FD000
FIX4K_FC000
00h Fixed 4KB Range 0xFF000 (FIX4K_FF000): Maps the 4KB range from 0xFF000 to
31:24
RW 0xFFFFF
00h Fixed 4KB Range 0xFE000 (FIX4K_FE000): Maps the 4KB range from 0xFE000 to
23:16
RW 0xFEFFF
00h Fixed 4KB Range 0xFD000 (FIX4K_FD000): Maps the 4KB range from 0xFD000 to
15:8
RW 0xFDFFF
00h Fixed 4KB Range 0xFC000 (FIX4K_FC000): Maps the 4KB range from 0xFC000 to
7:0
RW 0xFCFFF
Access Method
Type: Message Bus Register MTRR_SMRR_PHYSBASE: [Port: 0x03] + 58h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SMRR_PHYSBASE
RSV24
SMRR_TYPE
Bit Default &
Description
Range Access
00000h SMRR Physical Base (SMRR_PHYSBASE): Specifies the base address for the System
31:12 Management Range. This 20 bit value is extended by 12 bits at the low end to form the
RW base address
0000b
11:8 Reserved (RSV24): Reserved.
RO
00h SMRR Type (SMRR_TYPE): Specifies the memory type for System Management
7:0
RW Range
Access Method
Type: Message Bus Register MTRR_SMRR_PHYSMASK: [Port: 0x03] + 59h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SMRR_PHYSMASK
SMRR_VALID
RSV25
Bit Default &
Description
Range Access
00000h SMRR Physical Mask (SMRR_PHYSMASK): Specifies a mask value for the System
31:12 Management Range. The mask determines the range of the region begin mapped. The
RW mask value is extended by 12 bits at the low end to form the mask value.
0b SMRR Valid (SMRR_VALID): Enables the register pair for the System Management
11
RW Range when set and disables the register pair when clear.
0000h
10:0 Reserved (RSV25): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE0
RSV26
VAR_TYPE0
00000h Physical Base (VAR_PHYSBASE0): Specifies the base address for Variable Range 0.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV26): Reserved.
RO
00h
7:0 Type (VAR_TYPE0): Specifies the memory type for Variable Range 0
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK0
VAR_VALID0
RSV27
Bit Default &
Description
Range Access
00000h Physical Mask (VAR_PHYSMASK0): Specifies a mask value for Variable Range 0. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID0): Enables the register pair for Variable Range 0 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV27): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE1
RSV28
VAR_TYPE1
00000h Physical Base (VAR_PHYSBASE1): Specifies the base address for Variable Range 1.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV28): Reserved.
RO
00h
7:0 Type (VAR_TYPE1): Specifies the memory type for Variable Range 1
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK1
VAR_VALID1
RSV29
Bit Default &
Description
Range Access
00000h Physical Mask (VAR_PHYSMASK1): Specifies a mask value for Variable Range 1. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID1): Enables the register pair for Variable Range 1 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV29): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE2
RSV30
VAR_TYPE2
00000h Physical Base (VAR_PHYSBASE2): Specifies the base address for Variable Range 2.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV30): Reserved.
RO
00h
7:0 Type (VAR_TYPE2): Specifies the memory type for Variable Range 2
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK2
VAR_VALID2
RSV31
Bit Default &
Description
Range Access
00000h Physical Mask (VAR_PHYSMASK2): Specifies a mask value for Variable Range 2. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID2): Enables the register pair for Variable Range 2 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV31): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE3
RSV32
VAR_TYPE3
Bit Default &
Description
Range Access
00000h Physical Base (VAR_PHYSBASE3): Specifies the base address for Variable Range 3.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV32): Reserved.
RO
00h
7:0 Type (VAR_TYPE3): Specifies the memory type for Variable Range 3
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_VALID3
VAR_PHYSMASK3
RSV33
00000h Physical Mask (VAR_PHYSMASK3): Specifies a mask value for Variable Range 3. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID3): Enables the register pair for Variable Range 3 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV33): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE4
RSV34
VAR_TYPE4
Bit Default &
Description
Range Access
00000h Physical Base (VAR_PHYSBASE4): Specifies the base address for Variable Range 4.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV34): Reserved.
RO
00h
7:0 Type (VAR_TYPE4): Specifies the memory type for Variable Range 4
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK4
VAR_VALID4
RSV35
00000h Physical Mask (VAR_PHYSMASK4): Specifies a mask value for Variable Range 4. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID4): Enables the register pair for Variable Range 4 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV35): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE5
RSV36
VAR_TYPE5
Bit Default &
Description
Range Access
00000h Physical Base (VAR_PHYSBASE5): Specifies the base address for Variable Range 5.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV36): Reserved.
RO
00h
7:0 Type (VAR_TYPE5): Specifies the memory type for Variable Range 5
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK5
VAR_VALID5
RSV37
00000h Physical Mask (VAR_PHYSMASK5): Specifies a mask value for Variable Range 5. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID5): Enables the register pair for Variable Range 5 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV37): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE6
RSV38
VAR_TYPE6
Bit Default &
Description
Range Access
00000h Physical Base (VAR_PHYSBASE6): Specifies the base address for Variable Range 6.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV38): Reserved.
RO
00h
7:0 Type (VAR_TYPE6): Specifies the memory type for Variable Range 6
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK6
VAR_VALID6
RSV39
Bit Default &
Description
Range Access
00000h Physical Mask (VAR_PHYSMASK6): Specifies a mask value for Variable Range 6. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID6): Enables the register pair for Variable Range 6 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV39): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSBASE7
RSV40
VAR_TYPE7
00000h Physical Base (VAR_PHYSBASE7): Specifies the base address for Variable Range 7.
31:12
RW This 20 bit value is extended by 12 bits at the low end to form the base address
0000b
11:8 Reserved (RSV40): Reserved.
RO
00h
7:0 Type (VAR_TYPE7): Specifies the memory type for Variable Range 7
RW
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAR_PHYSMASK7
VAR_VALID7
RSV41
Bit Default &
Description
Range Access
00000h Physical Mask (VAR_PHYSMASK7): Specifies a mask value for Variable Range 7. The
31:12 mask determines the range of the region begin mapped. The mask value is extended by
RW 12 bits at the low end to form the mask value.
0b Valid (VAR_VALID7): Enables the register pair for Variable Range 7 when set and
11
RW disables the register pair when clear.
0000h
10:0 Reserved (RSV41): Reserved.
RO
60h “SPI DMA Count Register (P_CFG_60)—Offset 60h” on page 174 00000000h
61h “SPI DMA Destination Register (P_CFG_61)—Offset 61h” on page 175 00000000h
62h “SPI DMA Source Register (P_CFG_62)—Offset 62h” on page 175 00000000h
70h “Processor Register Block (P_BLK) Base Address (P_CFG_70)—Offset 70h” on page 176 00000000h
B0h “Thermal Sensor Mode Register (P_CFG_B0)—Offset B0h” on page 178 00000000h
B1h “Thermal Sensor Temperature Register (P_CFG_B1)—Offset B1h” on page 178 00000000h
B2h “Thermal Sensor Programmable Trip Point Register (P_CFG_B2)—Offset B2h” on page 179 FFFFFFFFh
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CFG_SPI_DMA_CNT
Bit Default &
Field Name (ID): Description
Range Access
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CFG_SPI_DMA_DST
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CFG_SPI_DMA_SRC
Bit Default &
Field Name (ID): Description
Range Access
00000000h SPI DMA Source (CFG_SPI_DMA_SRC): 32-bit Source Address of data in Legacy
31:0
RW SPI.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
P_BLK_IO_EN
CFG_70_RSV
P_BLK_IO_BAR
0b Enable (P_BLK_IO_EN): When set to “1”, decode of the IO range pointed to by the
31
RW Base Address is enabled.
0b
30:16 Reserved (CFG_70_RSV): Reserved.
RO
0b Base Address (P_BLK_IO_BAR): IO Base Address for the Processor Register Block
15:0
RW (P_BLK) decode range.
Op Codes:
10h - Read, 11h - Write
Default: 00000009h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
LOCK_THRM_CTRL_REGS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:16 Reserved (RSVD): Reserved.
RO
0b
15:9 Reserved (RSVD): Reserved.
RO
0b
8 Reserved (RSVD): Reserved.
RO
0b
7 Reserved (RSVD): Reserved.
RO
0b
6 Reserved (RSVD): Reserved.
RO
0b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
0b
2 Reserved (RSVD): Reserved.
RO
0b
1 Reserved (RSVD): Reserved.
RO
1b
0 Reserved (RSVD): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00040000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DBL_ECC_BIT_ERR
RSVD
RSVD
Bit Default &
Field Name (ID): Description
Range Access
0b
31:20 Reserved (RSVD): Reserved.
RO
Double ECC Bit Error (DBL_ECC_BIT_ERR): Double ECC bit error handling selection:
01b 00b: Do nothing
19:18 01b: Catastrophic Shutdown
RW 10b: Warm Reset
11b: Send SERR
0b
17:0 Reserved (RSVD): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CFG_B0_RSV2
CFG_B0_RSV1
THRM_SNSR_EN
0b
31:16 Reserved (CFG_B0_RSV2): Reserved.
RO
0b
15 Thermal Sensor Enable (THRM_SNSR_EN): Setting to 1 Enables Thermal Sensor
RW/L
0b
14:0 Reserved (CFG_B0_RSV1): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CFG_B1_RSV2
CFG_B1_RSV1
THRM_SENSR_REL_TEMP
THRM_SENSR_TEMP
Bit Default &
Field Name (ID): Description
Range Access
0b
31:24 Reserved (CFG_B1_RSV2): Reserved.
RO
0b
15:8 Reserved (CFG_B1_RSV1): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
HOT_TRIP_CLEAR_THOLD
CAT_TRIP_CLEAR_THOLD
CAT_TRIP_SET_THOLD
HOT_TRIP_SET_THOLD
Bit Default &
Field Name (ID): Description
Range Access
FFh Hot Clear Trip Point Threshold (HOT_TRIP_CLEAR_THOLD): Sets the target value
31:24
RW/L for the hot trip clear point
FFh Hot Set Trip Point Threshold (HOT_TRIP_SET_THOLD): Sets the target value for
15:8
RW/L the hot trip set point
FFh Catastrophic Set Trip Point Threshold (CAT_TRIP_SET_THOLD): Sets the target
7:0
RW/L value for the catastrophic trip set point
19h “Isolated Memory Region Violation Control (BIMRVCTL)—Offset 19h” on page 183 00000000h
40h “Isolated Memory Region 0 Low Address (IMR0L)—Offset 40h” on page 186 00000000h
41h “Isolated Memory Region 0 High Address (IMR0H)—Offset 41h” on page 186 00000000h
42h “Isolated Memory Region 0 Read Mask (IMR0RM)—Offset 42h” on page 187 BFFFFFFFh
43h “Isolated Memory Region 0 Write Mask (IMR0WM)—Offset 43h” on page 189 FFFFFFFFh
44h “Isolated Memory Region 1 Low Address (IMR1L)—Offset 44h” on page 190 00000000h
45h “Isolated Memory Region 1 High Address (IMR1H)—Offset 45h” on page 191 00000000h
46h “Isolated Memory Region 1 Read Mask (IMR1RM)—Offset 46h” on page 191 BFFFFFFFh
47h “Isolated Memory Region 1 Write Mask (IMR1WM)—Offset 47h” on page 193 FFFFFFFFh
48h “Isolated Memory Region 2 Low Address (IMR2L)—Offset 48h” on page 195 00000000h
49h “Isolated Memory Region 2 High Address (IMR2H)—Offset 49h” on page 196 00000000h
4Ah “Isolated Memory Region 2 Read Mask (IMR2RM)—Offset 4Ah” on page 196 BFFFFFFFh
4Bh “Isolated Memory Region 2 Write Mask (IMR2WM)—Offset 4Bh” on page 198 FFFFFFFFh
4Ch “Isolated Memory Region 3 Low Address (IMR3L)—Offset 4Ch” on page 200 00000000h
4Dh “Isolated Memory Region 3 High Address (IMR3H)—Offset 4Dh” on page 200 00000000h
4Eh “Isolated Memory Region 3 Read Mask (IMR3RM)—Offset 4Eh” on page 201 BFFFFFFFh
4Fh “Isolated Memory Region 3 Write Mask (IMR3WM)—Offset 4Fh” on page 203 FFFFFFFFh
50h “Isolated Memory Region 4 Low Address (IMR4L)—Offset 50h” on page 204 00000000h
51h “Isolated Memory Region 4 High Address (IMR4H)—Offset 51h” on page 205 00000000h
52h “Isolated Memory Region 4 Read Mask (IMR4RM)—Offset 52h” on page 205 BFFFFFFFh
53h “Isolated Memory Region 4 Write Mask (IMR4WM)—Offset 53h” on page 207 FFFFFFFFh
54h “Isolated Memory Region 5 Low Address (IMR5L)—Offset 54h” on page 209 00000000h
55h “Isolated Memory Region 5 High Address (IMR5H)—Offset 55h” on page 210 00000000h
56h “Isolated Memory Region 5 Read Mask (IMR5RM)—Offset 56h” on page 210 BFFFFFFFh
57h “Isolated Memory Region 5 Write Mask (IMR5WM)—Offset 57h” on page 212 FFFFFFFFh
58h “Isolated Memory Region 6 Low Address (IMR6L)—Offset 58h” on page 214 00000000h
59h “Isolated Memory Region 6 High Address (IMR6H)—Offset 59h” on page 214 00000000h
5Ah “Isolated Memory Region 6 Read Mask (IMR6RM)—Offset 5Ah” on page 215 BFFFFFFFh
5Bh “Isolated Memory Region 6 Write Mask (IMR6WM)—Offset 5Bh” on page 217 FFFFFFFFh
5Ch “Isolated Memory Region 7 Low Address (IMR7L)—Offset 5Ch” on page 218 00000000h
5Dh “Isolated Memory Region 7 High Address (IMR7H)—Offset 5Dh” on page 219 00000000h
5Eh “Isolated Memory Region 7 Read Mask (IMR7RM)—Offset 5Eh” on page 219 BFFFFFFFh
5Fh “Isolated Memory Region 7 Write Mask (IMR7WM)—Offset 5Fh” on page 221 FFFFFFFFh
82h “eSRAM Block Page Control (ESRAMPGCTRL_BLOCK)—Offset 82h” on page 224 850000FFh
88h “eSRAM ECC Error Syndrome (ESRAMSDROME)—Offset 88h” on page 227 00000000h
Op Codes:
10h - Read, 11h - Write
Default: 00000800h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
MissValidEntries
RSV2
RSV1
RSV0
0000h
31:13 Reserved (RSV2): Reserved.
RO
0b
12 Reserved (RSVD): Reserved.
RO
1b
11 Reserved (RSVD): Reserved.
RO
0b
10 Reserved (RSVD): Reserved.
RO
0b
9 Reserved (RSV1): Reserved.
RO
0b Miss Valid Entries (MissValidEntries): This mode causes reads to clean valid
8 Memory Manager buffer entries that have zero reference counts so that they look like
RW misses instead of hits. It is mostly present for test purposes,
0b
7 Reserved (RSVD): Reserved.
RO
0h
6:5 Reserved (RSV0): Reserved.
RO
0b
4 Reserved (RSVD): Reserved.
RO
0b
3 Reserved (RSVD): Reserved.
RO
0b
2 Reserved (RSVD): Reserved.
RO
0b
1 Reserved (RSVD): Reserved.
RO
0b
0 Reserved (RSVD): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 0C070408h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
dram_dirty_hwm
RSV0
esram_dirty_lwm
esram_dirty_hwm
DRAMAllEntriesFlushed
dram_dirty_lwm
DRAMAllEntriesIdle
ESRAMAllEntriesIdle
ESRAMAllEntriesFlushed
0h
31:28 Reserved (RSV0): Reserved.
RO
1b eSRAM All Entries Idle (ESRAMAllEntriesIdle): All entries in the Memory Manager
27 eCACHE tag store have 0 reference counts and are unlocked, indicating that there are
RO no transactions in progress in this cache
00h eSRAM Low Water Mark (esram_dirty_lwm): Low Water Mark for Dirty Entries
25:22
RW retained by eCACHE in the Memory Manager
01h eSRAM High Water Mark (esram_dirty_hwm): High Water Mark for Dirty Entries
21:18
RW retained by eCACHE in the Memory Manager
1b DRAM All Entries Idle (DRAMAllEntriesIdle): All entries in the Memory Manager
17 DCACHE entries have 0 reference counts and are unlocked, indicating that the Memory
RO Manager has no DRAM transactions in progress
04h DRAM Low Water Mark (dram_dirty_lwm): Low water mark for dirty entries
15:8
RW retained by the Memory Manager
08h DRAM High Water Mark (dram_dirty_hwm): High water mark for dirty entries
7:0
RW retained by the Memory Manager
Access Method
Type: Message Bus Register BIMRVCTL: [Port: 0x05] + 19h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RSV1
RSV0
EnableIMRInt
IMRViolationRegion
IMRViolationAgent
IMRViolationSubAgent
0b
30 Reserved (RSV2): Reserved.
RO
0h
15:12 Reserved (RSV1): Reserved.
RO
IMR Violation Agent (IMRViolationAgent): This 4-bit value indicates which agent
caused the last IMR violation if the IMR interrupt is enabled:
0000b : CPU
0001b : Host Bridge Arbiter VC0
0h 0010b : Host Bridge Arbiter VC1
11:8 0011b : Reserved
RO 0100b : Reserved
0101b : Reserved
0110b : Reserved
0111b : eSRAM Flush/Init
1000b : Remote Management Unit
00h
7:3 Reserved (RSV0): Reserved.
RO
IMR Violation Sub Agent (IMRViolationSubAgent): This 3-bit value indicates which
sub-agent caused the last IMR violation, if the IMR interrupt is enabled
0h 000b : Host Bridge Arbiter Sub-Channel 0 (Anonymous)
2:0
RO 001b : Host Bridge Arbiter Sub-Channel 1
010b : Host Bridge Arbiter Sub-Channel 2
100b : Host Bridge Arbiter Sub-Channel 3
Op Codes:
10h - Read, 11h - Write
Default: 4F08C20Ch
31 28 24 20 16 12 8 4 0
0 1 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0
EnDCACHEPartFill
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
0b
31 Reserved (RSVD): Reserved.
RO
1b
30 Reserved (RSVD): Reserved.
RO
0b
29 Reserved (RSVD): Reserved.
RO
0h
28 Reserved (RSVD): Reserved.
RO
Fh
27:24 Reserved (RSVD): Reserved.
RO
0h
23:20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
0b
18 Reserved (RSVD): Reserved.
RO
0b
17 Reserved (RSVD): Reserved.
RO
0b
16 Reserved (RSVD): Reserved.
RO
1b
15 Reserved (RSVD): Reserved.
RO
1b
14 Reserved (RSVD): Reserved.
RO
0h
13 Reserved (RSVD): Reserved.
RO
0h
12 Reserved (RSVD): Reserved.
RO
2h
11:8 Reserved (RSVD): Reserved.
RO
0h
7:4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
0b
1 Reserved (RSVD): Reserved.
RO
0b
0 Reserved (RSVD): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
IMRL
RSV0
IMR_LOCK
0b IMR Lock (IMR_LOCK): Setting this bit to “1” locks the IMRX registers, preventing
31
RW/O further updates.
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMRH
RSV1
RSV0
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
RSVD
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CPU_SNOOP
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMRL
IMR_LOCK
RSV1
RSV0
Bit Default &
Description
Range Access
0b IMR Lock (IMR_LOCK): Setting this bit to “1” locks the IMRX registers, preventing
31
RW/O further updates.
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRH
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
PUNIT
ESRAM_FLUSH_INIT
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_0
CPU0
Bit Default &
Description
Range Access
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_SNOOP
CPU_0
CPU0
ESRAM_FLUSH_INIT
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMR_LOCK
RSV1
IMRL
RSV0
0b
31 IMR Lock (IMR_LOCK): This bit locks the IMRX registers, preventing further updates
RW/O
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRH
Bit Default &
Description
Range Access
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
RSVD
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ESRAM_FLUSH_INIT
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_SNOOP
CPU_0
CPU0
Bit Default &
Description
Range Access
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRL
IMR_LOCK
0b
31 IMR Lock (IMR_LOCK): This bit locks the IMRX registers, preventing further updates
RW/O
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMRH
RSV1
RSV0
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
RSVD
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CPU_SNOOP
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMRL
IMR_LOCK
RSV1
RSV0
Bit Default &
Description
Range Access
0b
31 IMR Lock (IMR_LOCK): This bit locks the IMRX registers, preventing further updates
RW/O
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRH
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
PUNIT
ESRAM_FLUSH_INIT
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_0
CPU0
Bit Default &
Description
Range Access
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_SNOOP
CPU_0
CPU0
ESRAM_FLUSH_INIT
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMR_LOCK
RSV1
IMRL
RSV0
0b
31 IMR Lock (IMR_LOCK): This bit locks the IMRX registers, preventing further updates
RW/O
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRH
Bit Default &
Description
Range Access
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
RSVD
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ESRAM_FLUSH_INIT
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_SNOOP
CPU_0
CPU0
Bit Default &
Description
Range Access
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRL
IMR_LOCK
0b
31 IMR Lock (IMR_LOCK): This bit locks the IMRX registers, preventing further updates
RW/O
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMRH
RSV1
RSV0
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
RSVD
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CPU_SNOOP
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
ESRAM_FLUSH_INIT
CPU_0
CPU0
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMRL
IMR_LOCK
RSV1
RSV0
Bit Default &
Description
Range Access
0b
31 IMR Lock (IMR_LOCK): This bit locks the IMRX registers, preventing further updates
RW/O
00h
30:24 Reserved (RSV1): Reserved.
RO
000000h IMR Low Address (IMRL): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the lower 1KB aligned value of the protected range
00h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
IMRH
00h
31:24 Reserved (RSV1): Reserved.
RO
000000h IMR High Address (IMRH): These bits are compared with bits 31:10 of the incoming
23:2
RW/L address to determine the upper 1KB aligned value of the protected range
0h
1:0 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: BFFFFFFFh
31 28 24 20 16 12 8 4 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
PUNIT
ESRAM_FLUSH_INIT
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_0
CPU0
Bit Default &
Description
Range Access
0b
30 Reserved (RSVD): Reserved.
RO
1b Remote Management Unit (PUNIT): Remote Management Unit Read Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Read Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Read Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Op Codes:
10h - Read, 11h - Write
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
VC1_SAI_ID3
VC1_SAI_ID2
VC1_SAI_ID1
VC1_SAI_ID0
VC0_SAI_ID3
VC0_SAI_ID2
VC0_SAI_ID1
VC0_SAI_ID0
CPU_SNOOP
CPU_0
CPU0
ESRAM_FLUSH_INIT
PUNIT
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
1b CPU Snoop (CPU_SNOOP): Dirty CPU Snoop Response Write Allowed to memory
30 delineated by IMRxL and IMRxH. Clean snoop responses are always allowed and does
RW/L not cause an IMR violation
1b Remote Management Unit (PUNIT): Remote Management Unit Write Access Allowed
29
RW/L to memory delineated by IMRxL and IMRxH
1b
28 Reserved (RSVD): Reserved.
RO
1b
27 Reserved (RSVD): Reserved.
RO
1b
26 Reserved (RSVD): Reserved.
RO
1b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
1b
23 Reserved (RSVD): Reserved.
RO
1b
22 Reserved (RSVD): Reserved.
RO
1b
21 Reserved (RSVD): Reserved.
RO
1b
20 Reserved (RSVD): Reserved.
RO
1b
19 Reserved (RSVD): Reserved.
RO
1b
18 Reserved (RSVD): Reserved.
RO
1b
17 Reserved (RSVD): Reserved.
RO
1b
16 Reserved (RSVD): Reserved.
RO
1b Host Bridge Arbiter VC1 Sub-Channel 3 (VC1_SAI_ID3): Host Bridge Arbiter VC1
15
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 2 (VC1_SAI_ID2): Host Bridge Arbiter VC1
14
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 1 (VC1_SAI_ID1): Host Bridge Arbiter VC1
13
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC1 Sub-Channel 0 (VC1_SAI_ID0): Host Bridge Arbiter VC1
12
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 3 (VC0_SAI_ID3): Host Bridge Arbiter VC0
11
RW/L Sub-Channel 3 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 2 (VC0_SAI_ID2): Host Bridge Arbiter VC0
10
RW/L Sub-Channel 2 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 1 (VC0_SAI_ID1): Host Bridge Arbiter VC0
9
RW/L Sub-Channel 1 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b Host Bridge Arbiter VC0 Sub-Channel 0 (VC0_SAI_ID0): Host Bridge Arbiter VC0
8
RW/L Sub-Channel 0 Write Accesses Allowed to memory delineated by IMRxL and IMRxH.
1b
7 Reserved (RSVD): Reserved.
RO
1b
6 Reserved (RSVD): Reserved.
RO
1b
5 Reserved (RSVD): Reserved.
RO
1b
4 Reserved (RSVD): Reserved.
RO
1b
3 Reserved (RSVD): Reserved.
RO
1b
2 Reserved (RSVD): Reserved.
RO
CPU (CPU_0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
1
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
CPU (CPU0): CPU Write Access Allowed to memory region delineated by IMRxL and
1b IMRxH.
0
RW/L Note: Bit[0] and bit [1] of the IMR Read Mask register must always be programmed to
the same value
Access Method
Type: Message Bus Register ESRAMCTRL: [Port: 0x05] + 81h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 047F3F91h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1
eSRAM_AVAILABLE
eSRAM_ENABLE_ALL
RSVD
eSRAM_SIZE
RSVD
eSRAM_GLOBAL_CSR_LOCK
SECDED_ENABLE
RSV2
ECC_THRESH
ECC_THRESH_SB_MSG_EN
RSV1
RSV0
0h
31:27 Reserved (RSV2): Reserved.
RO
2h
26:25 Reserved (RSVD): Reserved.
RO
07Fh
24:16 eSRAM Size (eSRAM_SIZE): eSRAM size in 4k pages ( 0 means 1)
RO
ECC Threshold (ECC_THRESH): Total correctable ECC threshold until the eSRAM
Correctable Error Threshold Reached message (opcode 0xD8) is sent to Remote
Management Unit. Valid values are 0x1-0xFF. 0x0 may be used as a test mode to send
3Fh the message immediately without waiting for occurrence of any correctable ECC errors.
15:8 Once the message has been sent in this way, ESRAMCERR.
RW/L CORRECTABLE_ERR_CNT_RST must be written with 1, before another message can be
generated using this test mode. Note that the test mode generation of an eSRAM
Correctable Error Threshold Reached message is not dependent on the value of
ESRAMCTRL.SECDED_ENABLE.
0h
6 Reserved (RSV1): Reserved.
RO
0h
5 Reserved (RSV0): Reserved.
RO
eSRAM Enable All Ranges (eSRAM_ENABLE_ALL): Used during the early BIOS
stage to enable eSRAM mapping into the system address space. Forces all eSRAM pages
0h
3 which are not already enabled, and are unlocked to be ECC initialized and enabled, and
RW/C stays 0x1 until all such pages have been initialized.
NOTE: This is a locking field, locks on ESRAM_GLOBAL_CSR_LOCK.
0h
1 Reserved (RSVD): Reserved.
RO
1h SECDED Enable (SECDED_ENABLE): SECDED ECC enable for the eSRAM memory
0
RW/L array.
Access Method
Type: Message Bus Register ESRAMPGCTRL_BLOCK: [Port: 0x05] + 82h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 850000FFh
31 28 24 20 16 12 8 4 0
1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
BLOCK_PG_SYSTEM_ADDRESS_16MB
BLOCK_FLUSH_PG_ENABLE
RSVD
BLOCK_PG_BUSY
BLOCK_ENABLE_PG
BLOCK_DISABLE_PG
BLOCK_PAGE_CSR_LOCK
RSV1
RSV0
BLOCK_INIT_IN_PROG
0h
30 Reserved (RSVD): Reserved.
RO
Block Disable Page (BLOCK_DISABLE_PG): When written with 0x1 disables block
0h page decoding by eSRAM. This bit stays 0x1 until the block page has been disabled and
29 ECC initialized. Note that this is a locking field, which locks on
RW/C BLOCK_PAGE_CSR_LOCK=1 and ESRAMCTRL.eSRAM_GLOBAL_CSR_LOCK. This field
should only be used by BIOS code.
Block Enable Page (BLOCK_ENABLE_PG): When written with 0x1 enables block
0h page mapping of the eSRAM. When the block page is enabled, address mapping for all
28 pages will be controlled by the block page address, instead of the 4KB page address
RW/C fields. Cleared when the page flush/disable completes. Note that this is a locking field,
locks on BLOCK_PAGE_CSR_LOCK=1 and ESRAMCTRL.eSRAM_GLOBAL_CSR_LOCK.
0h
25 Reserved (RSV1): Reserved.
RO
Block Page Busy (BLOCK_PG_BUSY): Reads 0x1 when the block page is enabled and
1h stays 0x1 until the block page has been flushed (if flush was to be performed) and
24
RO/V reinitialized following disable. It also stays high until the ECC initialization completes
after the reset.
0000h
23:8 Reserved (RSV0): Reserved.
RO
Access Method
Type: Message Bus Register ESRAMCERR: [Port: 0x05] + 83h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
CORRECTABLE_ERR_PG_NUM
CORRECTABLE_ERR_CNT
CORRECTABLE_ERR_PG_DW_OFFSET
CORRECTABLE_ERR_CNT_RST
0h
31:26 Reserved (RSV1): Reserved.
RO
0h
16 Reserved (RSV0): Reserved.
RO
Access Method
Type: Message Bus Register ESRAMUERR: [Port: 0x05] + 84h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
UNCORRECTABLE_ERR_PG_DW_OFFSET
UNCORRECTABLE_ERR_OCCURED
RSV0
UNCORRECTABLE_ERR_OCCURED_FLUSH
UNCORRECTABLE_ERR_PG_NUM
Bit Default &
Description
Range Access
0000h
31:18 Reserved (RSV0): Reserved.
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SYNDROME
Syndrome (SYNDROME): Syndrome for the last ECC (SECDED) error. For single bit
errors, can be used to decode which bit of the eSRAM read data or ECC code was
0h incorrect. Bits [7:0] relate to esram_ecc_out[7:0] and esram_data_out[63:0], Bits
31:0
RO/P [15:8] relate to esram_ecc_out[15:8] and esram_data_out[127:64], Bits [23:16] relate
to esram_ecc_out[23:16] and esram_data_out[191:128], Bits [31:24] relate to
esram_ecc_out[31:24] and esram_data_out[255:192].
0h + [0- “eSRAM Page Control Register[0-127] (ESRAMPGCTRL[0-127])—Offset 0h, Count 128, Stride 4h” on
850FFFFFh
127]*4h page 228
Access Method
Type: Message Bus Register Offset[0-127]: [Port: 0x05] + 0h + [0-127]*4h
(Size: 32 bits)
Op Codes:
12h - Read, 13h - Write
Default: 850FFFFFh
31 28 24 20 16 12 8 4 0
1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
DISABLE_PG
INIT_IN_PROG
FLUSH_PG
ENABLE_PG
PG_SYSTEM_ADDRESS_4K
RSV1
RSV0
PAGE_CSR_LOCK
PG_BUSY
FLUSH_PG_ENABLE
Flush Page (FLUSH_PG): Initiates flushing the page to DRAM, the page has to have a
0h DRAM overlay and can't be mapped on top of physical memory. After being set, reads as
30 0x1 until the page has been flushed to DRAM. Note that while the page is being flushed,
RW/C the eSRAM will block accesses to the page stalling any other requestor trying to access
it.
Disable Page (DISABLE_PG): When written with 0x1 disables page decoding by
0h eSRAM. When set in the same cycle as Flush Page, the flushing takes place prior to
29
RW/C disabling and reinitializing. This bit stays 0x1 until the page has been flushed, disabled
and ECC initialized. Note that this is a locking field, locks on PAGE_CSR_LOCK.
Enable Page (ENABLE_PG): When written with 0x1 enables page decoding by eSRAM.
0h Same effect will be achieved on all eSRAM page CSRs when the ESRAMCTRL.
28
RW/C eSRAM_Enable_All is set. Cleared when the page flush/disable completes. Note that this
is a locking field, locks on PAGE_CSR_LOCK.
0h
25 Reserved (RSV1): Reserved.
RO
1h Page Busy (PG_BUSY): Reads 0x1 when the page is enabled and stays 0x1 until the
24 page has been flushed (if flush was to be performed) and reinitialized following disable.
RO/V It also stays high until the ECC initialization completes after the reset.
0h
23:20 Reserved (RSV0): Reserved.
RO
Op Codes:
06h - Read, 07h - Write
Default: 00057801h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1
ts_itsrst
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Field Name (ID): Description
Range Access
0h
31:25 Reserved (RSVD): Reserved.
RO
0h
24:23 Reserved (RSVD): Reserved.
RO
AFh
22:11 Reserved (RSVD): Reserved.
RO
0h
10:8 Reserved (RSVD): Reserved.
RO
0h
7 Reserved (RSVD): Reserved.
RO
0h
6:5 Reserved (RSVD): Reserved.
RO
0h
4:3 Reserved (RSVD): Reserved.
RO
0h
2:1 Reserved (RSVD): Reserved.
RO
1h
0 Thermal Sensor Reset (ts_itsrst): Resets all Thermal Sensor registers.
RW
Op Codes:
06h - Read, 07h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
STICKY_W1_STRATCH
Bit Default &
Field Name (ID): Description
Range Access
Op Codes:
06h - Read, 07h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
STRICKY_RW_STRATCH
Op Codes:
06h - Read, 07h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NONSTICKY_W1_STRATCH
Bit Default &
Field Name (ID): Description
Range Access
§§
The system memory controller supports DDR3 protocol with one 16-bit wide data
channel and up to 2 ranks of memory, allowing for population of up to 2Gbyte of
system memory using 1, 2 or 4 Gbit standard DDR3 devices. It is capable of data rates
up to 800 MT/s.
O Bank Select: These signals define which banks are selected within
DDR3_BS[2:0]
DDR3 each DRAM rank.
I/O
DDR3_DQ[15:0] Bidirectional Data Lines
DDR3
O ODT signal (One per rank) going to DRAM in order to turn ON the
DDR3_ODT[1:0]
DDR3 DRAM ODT during Write.
I
DDR3_ISYSPWRGOOD Asynchronous This signal indicates the status of the DRAM Core power supply.
CMOS
13.2 Features
Note: x8 means that each DRAM component has 8 data lines. Standard 1Gbit, 2Gbit, and
4Gbit technologies and addressing are supported for x8 devices.
The algorithm used allows for on-the-fly correction of single bit errors and detection of
double bit errors.
A separate bank is used for ECC data storage to avoid the page-miss (row pre-charge)
time penalty on ECC and next data fetch that would have been introduced in majority
of cases if the ECC was interleaved across banks. The ECC bank can be configured to
always issue RD/WR with Auto Precharge or dynamic page close policy similar to other
data banks. Since the configuration is on a per bank basis, the ECC bank is not required
to have the same policy as other banks.
When ECC is enabled, the Address Map field in the DRAM Rank Population (DRP)—
Offset 0h register MUST be set to 2. In a two ranks system, the size of both ranks can
be the same or different. Therefore, each rank can have different DRAM device width
and density, and thus different rank size. Setting the address map to 2 applies to both
ranks.
CPU
Core
Host
Bridge Message Bus Space
B:0,D:0,F0
Port: 0x00 Port: 0x01 Port: 0x02 Port: 0x04 Port: 0x05
60h “DRAM ECC Control Register (DECCCTRL)—Offset 60h” on page 253 00000000h
62h “DRAM ECC Single Bit Error Count (DECCSBECNT)—Offset 62h” on page 254 00000000h
68h “DRAM Single Bit ECC Error Captured Address (DECCSBECA)—Offset 68h” on page 255 00000000h
69h “DRAM Single Bit ECC Error Captured Syndrome (DECCSBECS)—Offset 69h” on page 256 00000000h
6Ah “DRAM Double Bit ECC Error Captured Address (DECCDBECA)—Offset 6Ah” on page 256 00000000h
6Bh “DRAM Double Bit ECC Error Captured Syndrome (DECCDBECS)—Offset 6Bh” on page 257 00000000h
70h “Memory Controller Fuse Status (DFUSESTAT)—Offset 70h” on page 257 00000000h
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ADDRMAP
PRI64BSPLITEN
MODE32
DIMMDDEN1
DIMMDWID1
DIMMDDEN0
DIMMDWID0
Rsvd_4
Rsvd_3
Rsvd_1
Rsvd_0
RKEN1
RKEN0
0h
31 Rsvd_4: Reserved
RO
0000h
29:16 Rsvd_3: Reserved
RO
Address Map Select (ADDRMAP): See Address Mapping section for full description.
0 Map 0
0h 1 Map 1
15:14
RW/P/L 2 Map 2
Note: The address map select should be set the same for both the Memory Controller
and the Memory Manager.
0h 64B Split Enable (PRI64BSPLITEN): Setting this bit to '1' enables logic to split 64B
13
RW PRI transactions to two 32B transactions. This bit must be set if ECC mode is enabled.
Rank 1 Device Density (DIMMDDEN1): This sets the density of the DRAM devices
populated in Rank 1.
0h 00 1Gbit
12:11
RW/P/L 01 2Gbit
10 4Gbit
11 Reserved
Rank 1 Device Width (DIMMDWID1): Indicates the width of the DRAM devices
populated in Rank 1.
0h 00 x8
10:9
RW/P/L 01 Future Support
10 Reserved
11 Reserved
0h
8 Rsvd_1: Reserved
RO
Rank 0 Device Density (DIMMDDEN0): This sets the density of the DRAM devices
populated in Rank 0.
0h 00 1Gbit
7:6
RW/P/L 01 2Gbit
10 4Gbit
11 Reserved
Rank 0 Device Width (DIMMDWID0): Indicates the width of the DRAM devices
populated in Rank 0.
0h 00 x8
5:4
RW/P/L 01 Future Support
10 Reserved
11 Reserved
0h
3:2 Rsvd_0: Reserved
RO
0h Rank Enable 1 (RKEN1): Should be set to 1 when device has 2 ranks to enable the
1
RW/P/L use of second rank. Otherwise, must be set to 0.
0h Rank Enable 0 (RKEN0): Should be set to 1 when Rank 0 is populated to enable the
0
RW/P/L use of this rank. Otherwise, must be set to 0.
Op Codes:
10h - Read, 11h - Write
Default: 43001110h
31 28 24 20 16 12 8 4 0
0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0
tRP
Rsvd_13
Rsvd_12
tXSDLL
Rsvd_9
Rsvd_8
Rsvd_5
tCL
CKEDLY
PMEDLY
tZQoper
Rsvd_11
Rsvd_10
tZQCS
tXS
tRCD
DFREQ
Clock Valid To Self-Refresh Exit Delay (CKEDLY): Additional delay between CK/CKB
4h start and SRX command. This delay is needed for clock to stabilize to meet JEDEC
31:28 requirements. Delay is CKEDLY multiples of 256 DRAM Clocks.
RW 0ns to 9,600ns (DDR3-800)
0ns to 7,200ns (Future DDR3-1066)
0h
27:26 Rsvd_13: Reserved
RO
Power Mode Entry Delay (PMEDLY): The delay, in DRAM clocks, between SR Entry
command and Power-Mode message to DDRIO.
3h 0h - 6 DRAM Clocks.
25:24
RW 1h - 8 DRAM Clocks.
2h - 10 DRAM Clocks.
3h - 12 DRAM Clocks.
0h
23 Rsvd_12: Reserved
RO
ZQCal Long Delay (tZQoper): The delay, in DRAM clocks, between ZQC-Long
command to any command.
Note: ZQCL command during DRAM Init flow requires longer latency which is controlled
be BIOS.
0h 0h - 256 DRAM Clocks.
22 1h - 384 DRAM Clocks.
RW Note: This field defines the ZQ Calibration Long delay during normal operation. It is not
the same as tZQinit, which uses the same ZQCL command but the delay is longer.
tZQinit applies only during power-on initialization of the DRAM devices, and tZQoper
applies during normal operation. BIOS executes the DRAM initialization sequence, so it
has to ensure tZQinit is met, and not the Memory Controller.
0h
21 Rsvd_11: Reserved
RO
ZQCal Short Delay (tZQCS): The delay, in DRAM clocks, between a ZQC-Short
0h command to any command.
20
RW 0h - 64 DRAM Clocks.
1h - 96 DRAM Clocks.
0h
19 Rsvd_10: Reserved
RO
Self-Refresh Exit To DLL Delay (tXSDLL): The delay, in DRAM clocks, between SRX
0h command to any command requiring locked DLL. Only ZQCL can be sent before tXSDLL
18 is done.
RW 0h - tXS + 256 DRAM Clocks.
1h - tXS + 384 DRAM Clocks.
0h
17 Rsvd_9: Reserved
RO
Self-Refresh Exit Delay (tXS): The delay, in DRAM clocks, between SRX command to
0h command not requiring locked DLL. The Memory Controller can send a ZQCL command
16 after tXS. JEDEC defines MAX(5CK, tRFC(min)+10ns) so both values take safety margin.
RW 0h - 256 DRAM Clocks.
1h - 384 DRAM Clocks.
0h
15 Rsvd_8: Reserved
RO
CAS Latency (tCL): Specifies the delay, in DRAM clocks, between the issue of a RD
command and the return of valid data on the DQ bus.
0h - 5 DRAM Clocks (DDR3-800)
1h - 6 DRAM Clocks (DDR3-800)
1h 2h - Reserved
14:12
RW 3h - Reserved
4h - Reserved
5h - Reserved
6h - Reserved
7h - Reserved
Activate (RAS) to CAS Delay (tRCD): Specifies the delay, in DRAM clocks, between
an ACT command and a RD/WR command to the same bank.
0h - 5 DRAM Clocks (DDR3-800)
1h - 6 DRAM Clocks (DDR3-800
1h 2h - Reserved
11:8
RW 3h - Reserved
4h - Reserved
5h - Reserved
6h - Reserved
7h - Reserved
Precharge to Activate Delay (tRP): Specifies the delay, in DRAM clocks, between a
PRE command and an ACT command to the same bank.
0h - 5 DRAM Clocks (DDR3-800)
1h - 6 DRAM Clocks (DDR3-800
1h 2h - Reserved
7:4
RW 3h - Reserved
4h - Reserved
5h - Reserved
6h - Reserved
7h - Reserved
0h
3:2 Rsvd_5: Reserved
RO
DRAM Frequency (DFREQ): Specifies the DDR3 frequency used by the Memory
Controller for computing proper cycle to cycle timings. Note this configuration has no
impact on the actual DRAM clock.
0h 0h - DDR3-800
1:0
RW 1h - Reserved
2h - Reserved
3h - Reserved
Note: This configuration has no impact on the actual DRAM clock frequency.
Op Codes:
10h - Read, 11h - Write
Default: 02690320h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0
Rsvd_18
Rsvd_17
Rsvd_16
Rsvd_15
Rsvd_14
tWCL
tRRD
tRAS
tCCD
tCMD
tRTP
tFAW
tWTP
0h
31 Rsvd_18: Reserved
RO
Read to Precharge Delay (tRTP): The minimal delay between RD command and PRE
command to same bank.
0h 001 - 4 DRAM Clocks (DDR3-800)
30:28
RW 010 - 5 DRAM Clocks)
011 - 6 DRAM Clocks
100 - 7 DRAM Clocks
0h
27:26 Rsvd_17: Reserved
RO
Row Activation to Row Activation Delay (tRRD): The minimal time interval
between 2 ACT commands to any bank in the same DRAM device. Limits peak current
profile.
2h 00 - 4 DRAM Clocks (1KB page DDR3-800), (2KB page DDR3-800)
25:24 01 - 5 DRAM Clocks
RW 10 - 6 DRAM Clocks
11 - 7 DRAM Clocks
Note: This timing parameter applies to both Ranks, so set it based on the rank with the
large tRRD value.
Row Activation Period (tRAS): The minimal delay, in DRAM clocks, between ACT
command and PRE command to same bank. At least equal to tRCD + tCWL + tCCD +
tWR 0h -14 DRAM Clocks.
1h -15 DRAM Clocks (DDR3-800)
2h -16 DRAM Clocks.
3h -17 DRAM Clocks.
6h 4h -18 DRAM Clocks.
23:20
RW 5h -19 DRAM Clocks.
6h -20 DRAM Clocks
7h -21 DRAM Clocks.
8h -22 DRAM Clocks.
9h -23 DRAM Clocks.
Ah -24 DRAM Clocks
Others - Reserved
0h
15:14 Rsvd_16: Reserved
RO
CAS to CAS delay (tCCD): The minimum delay, in DRAM clocks, between 2 RD/WR
commands.
0h 0h - 4 DRAM Clocks. Functional mode. (DDR3-800).
13:12
RW 1h - 12 DRAM Clocks. DFX stretch mode (x2).
2h - 18 DRAM Clocks. DFX stretch mode (x4).
3h - Reserved
Write To Prechange Delay (tWTP): The minimum delay, in DRAM clocks, between a
WR command and a PRE command to the same bank. Value should be computed as 4 +
tWCL + tWR.
1h - 15 DRAM Clocks DDR3-800).
2h - 16 DRAM Clocks.
3h - 17 DRAM Clocks.
3h 4h - 18 DRAM Clocks
11:8
RW 5h - 19 DRAM Clocks.
6h - 20 DRAM Clocks.
7h - 21 DRAM Clocks
8h - 22 DRAM Clocks.
Others - Reserved
Note: This is not a JEDEC timing parameter. It is derived from other JEDEC timing
parameters.
0h
7:6 Rsvd_15: Reserved
RO
Command Transport Duration (tCMD): The time period, in DRAM clocks, that a
command occupies the DRAM command bus. 1N is the DDR3 basic requirement. 2N and
2h 3N are extended modes for board signal-integrity.
5:4 0h - 1 DRAM Clock (1N).
RW 1h - 2 DRAM Clocks (2N).
2h - 3 DRAM Clocks (3N).
Note: This is a board design timing parameter and not part of JEDEC spec.
0h
3 Rsvd_14: Reserved
RO
CAS Write Latency (tWCL): The delay, in DRAM clocks, between the internal write
command and the availability of the first bit of DRAM input data.
0h 0h - 5 DRAM Clocks (DDR3-800)
2:0
RW 1h - 6 DRAM Clocks
2h - 7 DRAM Clocks
3h - 8 DRAM Clocks
Op Codes:
10h - Read, 11h - Write
Default: 00040504h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0
Rsvd4_DTR2
tRWDR
Rsvd2_DTR2
tWWDR
Rsvd0_DTR2
tRRDR
Bit Default &
Field Name (ID): Description
Range Access
0h
31:20 Rsvd4_DTR2: Reserved
RO
00h
15:11 Rsvd2_DTR2: Reserved
RO
00h
7:3 Rsvd0_DTR2: Reserved
RO
Op Codes:
10h - Read, 11h - Write
Default: 06406205h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1
PWDDLY
tXP
Rsvd4_DTR3
Rsvd3_DTR3
tWRSR
Rsvd2_DTR3
tRWSR
Rsvd0_DTR3
tWRDR
Bit Default &
Field Name (ID): Description
Range Access
0h
31:28 Rsvd4_DTR3: Reserved
RO
CKR to Command Delay (tXP): Delay from CKE asserted high to any DRAM command
1h 0h - 2 DRAM Clocks (DDR3-800 2N).
23:22 1h - 3 DRAM Clocks (DDR3-800 1N).
RW 2h - 4 DRAM Clocks (Future DDR3-1066 1N).
3h - 5 DRAM Clocks.
0h
21:17 Rsvd3_DTR3: Reserved
RO
Write to Read Command Delay (tWRSR): Write to Read same rank command delay.
Should be set to 4 + tWCL + tWTR
2h - 13 DRAM Clocks (DDR3-800).
3h - 14 DRAM Clocks.
4h - 15 DRAM Clocks.
3h 5h - 16 DRAM Clocks.
16:13
RW 6h - 17 DRAM Clocks.
7h - 18 DRAM Clocks.
8h - 19 DRAM Clocks.
9h - 20 DRAM Clocks.
Others - Reserved
Note: This is a board design timing parameter and not part of JEDEC spec.
0h
12 Rsvd2_DTR3: Reserved
RO
Read to Write Command Delay (tRWSR): Read to Write same rank command delay.
Should be set to tCL - tWCL + 6 + board delay if needed.
0h - 6 DRAM Clocks.
1h - 7 DRAM Clocks.
2h 2h - 8 DRAM Clocks.
11:8
RW 3h - 9 DRAM Clocks.
4h - 10 DRAM Clocks.
5h - 11 DRAM Clocks.
Others - Reserved
Note: This is a board design timing parameter and not part of JEDEC spec.
0h
7:3 Rsvd0_DTR3: Reserved
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000022h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0
TRGSTRDIS
Rsvd_23
Rsvd_22
ODTDIS
WRODTSTRT
RDODTDIS
WRODTSTOP
0h
31:17 Rsvr_24 (RDODTDIS): Reserved
RW
Disable Write ODT Stretching (TRGSTRDIS): Write target rank is not stretched.
When set, stretched ODT as defined above is not applied to the write target rank and
0h ODT command is asserted for 6 DRAM clocks. Should not be used when ODT is pulled-in.
16
RW Note: This bit should be set to 0 for normal operation.
Note: This bit should not be set to 1 when ODT is configured to assert earlier than the
Write command.
0h
15 ODT Disable (ODTDIS): 0 - ODT is enabled. 1 - ODT is disabled
RW
0h
14:7 Rsvd_23: Reserved
RO
0h
3:2 Rsvd_22: Reserved
RO
Op Codes:
10h - Read, 11h - Write
Default: 03000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DISPWRDN
PREAPWDEN
Rsvd_31
Rsvd27
DYNSREN
Rsvd_30
PCLSWKOK
Rsvd_29
Rsvd_28
ENPHYCLKGATE
CLKGTDIS
RSVD
PCLSTO
SREDLY
REUTCLKGTDIS
0h
31:30 Rsvd_31: Reserved
RO
0h Enable PHY Clock Gate Disable During SR (ENPHYCLKGATE): When set to 1, the
29 Memory Controller will turn off the 1x and 2x clock trees to the DDRIO PHY during Self
RW Refresh. The Memory Controller will re-enable the clocks upon Self Refresh exit.
MTE Clock Gate Disable (REUTCLKGTDIS): 0h MTE clock is gated when DCO.PMICTL
0h is set to 0.
28
RW 1h MTE clock is ungated, overriding the DCO.PMICTL config bit.
Note: The DCO.CPGCLOCK bit overrides this bit.
0h
27:26 Rsvd27: Reserved
RO
Disable Power Down (DISPWRDN): Setting this bit to 1 will block CKE high-)low
transitions. May be used by BIOS during init flow and should be set to 0 for functional
1h mode.
25
RW 0 - The Memory Controller dynamically controls the CKE pins to place the DRAM device
in power down mode.
1 - The Memory Controller constantly drives the CKE pins high.
Clock Gating Disabled (CLKGTDIS): Setting this bit to 0 allows a large number of
internal Memory Controller clocks to be gated when there is no activity in order to save
1h power. When set to 1, internal clock-gating is disabled.
24
RW 0 - Enable.
1 - Disable.
Note: This bit should be set to 0 for normal operation.
0h
22 Rsvd_30: Reserved
RO
Close All Pages before Power-Down (PREAPWDEN): Send Precharge All Command
0h to a Rank before PD-Enter. Setting this bit to 1 will allow sending a PREA command
21 before PDE command.
RW 0 - Disable.
1 - Enable.
Wake Allowed for Page Close Timeout (PCLSWKOK): Setting this bit to 1 indicates
the Memory Controller can send DRAM devices a PD-Exit command in order to close
single bank if the page timer expired. Note this bit applies only to cases where at least
0h one other bank in the same rank is open but not timed-out. If all banks in the rank
20
RW timed-out, a PD-Exit command will be sent regardless of this bit. Must be set to 0 during
init/training mode.
0 - Disable.
1 - Enable.
0h
19 Rsvd_29: Reserved
RO
Page Close Timeout Period (PCLSTO): Specifies the time frame, in ns, from last
access to a DRAM page until that page may be scheduled for closing (by sending a PRE
command).
0h - Disable page close timer (init/training).
0h 1h - Immediate page close.
18:16 2h - 30-60 ns to page close.
RW 3h - 60-120 ns to page close.
4h - 120-240 ns to page close.
5h - 240-480 ns to page close.
6h - 480-960 ns to page close.
7h - 1-2 s to page close.
0h
15:13 Rsvd_28: Reserved
RO
0h
12:8 Reserved (RSVD): Reserved.
RO
0h Self-Refresh Entry delay (SREDLY): The delay, in core-clocks, between PRI idle (no
7:0 pending requests and PRI status is less than 2) and SR Entry when the Memory
RW Controller is in Dynamic SR mode.
Op Codes:
10h - Read, 11h - Write
Default: 00012CA7h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1
REFSKWDIS
REFCNTMAX
REFWMPNC
REFWMLO
Rsvd_36
REFDBTCLR
Rsvd_35
Rsvd_34
tREFI
REFWMHI
Bit Default &
Field Name (ID): Description
Range Access
0h
31:22 Rsvd_36: Reserved
RO
Clear Refresh Debit before Self Refresh Entry (REFDBTCLR): To ensure that the
Memory Controller sends enough REF commands to the DRAM, it calculates tREFI period
with 2% less than the JEDEC tREFI value. So instead of tREFI equaling 7.8us, it's 7.6us,
which means over 1000 x tREFI interval, the Memory Controller would have sent 20 REF
0h commands more than required by the JEDEC spec. When this bit is set to 1 and if the
21 Memory Controller was awake for at least 1000 x tREFI period and then enters Self
RW Refresh, the Memory Controller clears the refresh counter and enters Self Refresh
without having to send the accumulated REF commands, since it has already issued 20
more REF commands than required by JEDEC.
0h - Disabled.
1h - Enabled.
0h
19:18 Rsvd_35: Reserved
RO
Refresh Max tREFI Interval (REFCNTMAX): The maximum interval between ant two
REF commands per rank. JEDEC allows a maximum of 9 x tREFI intervals.
1h 0h - 6 x tREFI.
17:16 1h - 7 x tREFI.
RW 2h - 8 x tREFI.
3h - Reserved.
Should not be changed after initial setting.
0h
15 Rsvd_34: Reserved
RO
Refresh Period (tREFI): Specifies the average time between sending REF commands
to DRAM. The Memory Controller will guarantee that the average time is met, but
maintains a certain degree of flexibility in the exact REF scheduling in order to increase
2h overall performance.
14:12
RW 0h - Refresh disabled
1h - Reserved for pre-silicon simulation.
2h - 3.9 s (Extended Temperature Range, 85-95 C)
3h - 7.8 s (Normal Temperature Range, 0-85 C)
Refresh Panic Watermark (REFWMPNC): When the refresh debit counter, per rank,
is greater than this value, the Memory Controller will send a REF command even if there
are some pending requests and regardless of the PRI status level. See DDR3 spec for
Refresh Postponing/Pulling-In flexibility. May be changed to functional value after init
sequence. Value should be greater than, or equal, to REFWMHI.
0-6h - Reserved
Ch 7h - Postpone 2 REF commands.
11:8
RW 8h - Postpone 3 REF commands.
9h - Postpone 4 REF commands.
Ah - Postpone 5 REF commands.
Bh - Postpone 6 REF commands.
Ch - Postpone 7 REF commands.
Dh - Postpone 8 REF commands.
E-Fh - Reserved.
Refresh High Watermark (REFWMHI): When the refresh debit counter, per rank, is
greater than this value, the Memory Controller will send a REF command even if there
are some pending requests to the rank but not if the PRI status is equal to 3. See DDR3
spec for Refresh Postponing/Pulling-In flexibility. May be changed to functional value
after init sequence. Value should be greater than, or equal, to REFWMLO.
0-6h - Reserved
Ah 7h - Postpone 2 REF commands.
7:4
RW 8h - Postpone 3 REF commands.
9h - Postpone 4 REF commands.
Ah - Postpone 5 REF commands.
Bh - Postpone 6 REF commands.
Ch - Postpone 7 REF commands.
Dh - Postpone 8 REF commands.
E-Fh - Reserved.
Refresh Low Watermark (REFWMLO): When the refresh debit counter, per rank, is
greater than this value, the Memory Controller will send a REF command only if there
are no pending requests to the rank and the PRI status is less than 3. See DDR3 spec for
Refresh Postponing/Pulling-In flexibility. May be changed to functional value after init
sequence.
0-6h - Reserved
7h 7h - Postpone 2 REF commands.
3:0
RW 8h - Postpone 3 REF commands.
9h - Postpone 4 REF commands.
Ah - Postpone 5 REF commands.
Bh - Postpone 6 REF commands.
Ch - Postpone 7 REF commands.
Dh - Postpone 8 REF commands.
E-Fh - Reserved.
Op Codes:
10h - Read, 11h - Write
Default: 00071108h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0
IPREQMAX
NEWBYPDIS
OOOST3DIS
OOODIS
OOOAGETRH
Rsvd_40
Rsvd_39
Rsvd_38
Rsvd_37
Bit Default &
Field Name (ID): Description
Range Access
0h
31:19 Rsvd_40: Reserved
RO
0h
15:13 Rsvd_39: Reserved
RO
Disable New Request Bypass (NEWBYPDIS): Setting this bit to 0 will allow a new
1h request to bypass the normal Memory Controller internal arbiter when there are no
12 pending commands.
RW 0h - Enable New Request Bypass.
1h - Disable New Request Bypass.
0h
11:10 Rsvd_38: Reserved
RO
0h
7:5 Rsvd_37: Reserved
RO
Op Codes:
10h - Read, 11h - Write
Default: 00001300h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0
SRXZQCL
ZQCINT
Rsvd_43
Rsvd_42
Rsvd_41
Bit Default &
Field Name (ID): Description
Range Access
0h
31:14 Rsvd_43: Reserved
RO
0h
11 Rsvd_42: Reserved
RO
ZQ Calibration Short Interval (ZQCINT): The time interval, in ms, between ZQCS
commands to a DRAM device. ZQCS commands are sent to a single DRAM device and
commands are distributed and non-overlapping in the interval.
0h - Disabled.
3h 1h - 62s (for pre-silicon simulation only)
10:8
RW/P 2h - 31ms.
3h - 63ms.
4h - 126ms.
5-7h - Reserved.
May be changed on-the-fly in response to thermal events.
0h
7:0 Rsvd_41: Reserved
RO
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ODTVAL
CKEVAL
COLDWAKE
ODTMODE
CKEMODE
Rsvd1_DRMC
Rsvd0_DRMC
Rsvd_46
Rsvd_45
Rsvd_44
0h
31:17 Rsvd_46: Reserved
RO
0h Cold Wake (COLDWAKE): BIOS should set this bit to 1 before sending WAKE
16 command to Memory Controller after Cold Reset. For S3 Exit, or any other mode in
RW which the DRAM is in SR, this bit must be set to 0.
0h
15:13 Rsvd_45: Reserved
RO
0h ODT Control Mode (ODTMODE): 0 - Memory Controller auto controls the ODT pins
12 based on DRAM Write transactions.
RW 1 - The value of ODTVAL above directly controls the ODT pins.
0h
11:10 Rsvd1_DRMC: Reserved
RO
0h ODT Control Value (ODTVAL): When ODTMODE is set to 1, ODT pins to DRAM are
9:8
RW overridden by ODTVAL. Used only during init flow by BIOS.
0h
7:5 Rsvd_44: Reserved
RO
0h CKE Control Mode (CKEMODE): 0 - Memory Controller auto controls the CKE pins
4 based on Power-Down and Self Refresh entry and exit
RW . 1 - The value of CKEVAL directly controls the CKE pins
0h
3:2 Rsvd0_DRMC: Reserved
RO
0h CKE Control Value (CKEVAL): When CKEMODE is set to 1, CKE pins to DRAM are
1:0
RW overridden by CKEVAL. Used only during init flow by BIOS.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DISR
Rsvd_48
Rsvd_47
WRO
0h
31:9 Rsvd_48: Reserved
RO
0h Warm Reset Occurred (WRO): The Remote Management Unit writes a 1 to this bit to
8 indicate to BIOS a warm reset has just occurred. Can write a 0 to clear it. This is also
RW/P cleared when powergood = 0. This bit will not clear with reset
0h
7:1 Rsvd_47: Reserved
RO
DRAM In Self-Refresh Status (DISR): The Memory Controller sets this bit to a 1
after it has placed the DRAM devices in Self Refresh mode. The Memory Controller clears
0h this bit when it brings the DRAM devices out of Self Refresh mode. Writing a 1 to this bit,
0 when the COLDWAKE bit is set to 0, will also clear it. This will not clear with system
RW/P reset, but will clear when powergood = 0.
0 - DRAM not guaranteed to be in Self-Refresh.
1 - DRAM in Self-Refresh
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IC
DIOIC
PMICTL
PMIDIS
Rsvd_50
Rsvd_49
CPGCLOCK
DRPLOCK
Bit Default &
Field Name (ID): Description
Range Access
Disable PRI interface (PMIDIS): When this bit is set to 1, the Memory Controller will
not respond to requests from either the Memory Manager or the MTE.
0h Note: This bit should be set to 1, when issuing DRAM Read and Write commands
29 through message 68h. It prevents the Memory Controller trying to pull data from the
RW Memory Manager or the MTE for Writes through message 68h, and also prevents the
Memory Manager and the MTE from taking read data returned from Reads through
message 68h.
0h
27:9 Rsvd_50: Reserved
RO
0h MTE Lock (CPGCLOCK): After this bit is set to 1, the MTE is clock gated and locked and
8 cannot be used. CPGCLOCK can be set only once, and will only reset when powergood =
RW/P/L 0.
0h
7:1 Rsvd_49: Reserved
RO
DRP Register Lock (DRPLOCK): Write a 1 to this bit to lock the DRP and DTRC
0h registers, and to disable the ability to issues the DRAM Read and Write commands
0
RW/P/L through message 68h. Once locked, the DRP and DTRC registers cannot be written
again. Once set to 1, this bit can only be cleared when powergood = 0.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAL
Bit Default &
Field Name (ID): Description
Range Access
0h General Purpose Scratchpad (VAL): May be used for BIOS for data storage. Value is
31:0
RW/P preserved in warm-reset.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VAL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0h General Purpose Scratchpad (VAL): May be used for BIOS for data storage. Value is
31:0
RW/P preserved in warm-reset.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Rsvd_58
Rsvd_57
CLRSBECNT
DBEEN
SBEEN
RSVD
ENCBGEN
RSVD
SYNSEL
RSVD
0h
31:19 Rsvd_58: Reserved
RO
0h
18 Reserved (RSVD): Reserved.
RO
0h Enable Generation of ECC Check Bits (ENCBGEN): 0 - Disable check bit generation.
17
RW 1 - Enable check bit generation.
0b
16 Rsvd_57: Reserved
RO
00h
15:8 Reserved (RSVD): Reserved.
RO
00h Clear Single Bit Error Count (CLRSBECNT): Clear ECC Single Bit Error Count:
7 0 - allow single bit error count to increment.
RW 1 - clear single bit error count.
Syndrome Select (SYNSEL): ECC Syndrome Bits Select for Observation: The
Syndrome Bits are generated from read data returned from DRAM and used to detect
ECC errors. Each 64 bits of read data is used to generate 8 Syndrome Bits. SYNSEL
00h selects which set of Syndrome Bits to mux to the DECCSTAT register for observation.
6:5
RW 00 - Selects Syndrome Bits from read data [63:0].
01 - Selects Syndrome Bits from read data [127:64].
10 - Selects Syndrome Bits from read data [191:128].
11 - Selects Syndrome Bits from read data [255:192].
000h
4:2 Reserved (RSVD): Reserved.
RO
0h Single Bit Enable (SBEEN): Enable Single Bit Error Detect and Correct
0 0: disable single bit error detect and correct.
RW 1: enable single bit error detect and correct.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Rsvd_59
ECCSYN
0h
31:8 Rsvd_59: Reserved
RO
0h ECC Syndrome Bits (ECCSYN): This is the 8 ECC Syndrome Bits selected for
7:0
RO observation. Selection is made through the DECCCTRL register.
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ECCSBECNT
Bit Default &
Field Name (ID): Description
Range Access
0h ECC Single Bit Error Count (ECCSBECNT): Write a 1 to the CLRSBECNT bit in the
31:0
RO DECCCTRL register to clear this register.
Access Method
Type: Message Bus Register Offset: [Port: 0x01] + 68h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SBE_ROW
RSVD
SBE_VLD
SBE_COL
SBE_RANK
SBE_BANK
0h
31 Reserved (RSVD): Reserved.
RO
0h Single Bit ECC Error Valid (SBE_VLD): 0 - No Single Bit ECC Error was detected.
30
RO/P 1 - A Single Bit ECC Error was detected.
0h Captured Rank Address (SBE_RANK): Captured rank address of a read with a Single
29
RO/P Bit ECC Error
0h Captured Bank Address (SBE_BANK): Captured bank address of a read with a Single
28:26
RO/P Bit ECC Error
0h Captured Row Address (SBE_ROW): Captured row address of a read with a Single
25:10
RO/P Bit ECC Error
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SBE_SDROME
Access Method
Type: Message Bus Register Offset: [Port: 0x01] + 6Ah
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DBE_VLD
DBE_ROW
DBE_COL
RSVD
DBE_RANK
DBE_BANK
0h
31 Reserved (RSVD): Reserved.
RO
0h Double Bit ECC Error Valid (DBE_VLD): 0 - No Double Bit ECC Error was detected.
30
RO/P 1 - A Double Bit ECC Error was detected.
0h Captured Row Address (DBE_ROW): Captured row address of a read with a Double
25:10
RO/P Bit ECC Error
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DBE_SDROME
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FUSESTAT
0h Fuse Status (FUSESTAT): Memory Controller fuse bits are captured in this register.
31:0 [0] ECC Disable
RO [31:1] Reserved
Access Method
Type: Message Bus Register Offset: [Port: 0x01] + 80h
(Size: 32 bits)
Op Codes:
10h - Read, 11h - Write
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Rsvd_71
SCRMSEED
Bit Default &
Field Name (ID): Description
Range Access
0h
31:18 Rsvd_71: Reserved
RO
0h Scrambler Seed (SCRMSEED): Holds 18 bit scrambler seed value used to feed into
17:0
RW/P LFSR array matrix.
§§
There are two lanes and two PCI Express* root ports, each supporting the PCI Express*
Base Specification, Rev. 2.0 at a maximum 2.5 GT/s signaling rate.
IO Note: Please check the Platform Design Guide for connection details
PCIE_IRCOMP
Analog for this COMP pin.
I Note: Please check the Platform Design Guide for connection details
PCIE_RBIAS
Analog for this BIAS pin.
14.2 Features
• Conforms to PCI Express* Base Specification, Rev. 2.0
• 2.5 GT/s operation per root port (limited for power saving)
• Virtual Channel support for VC0
• x1 widths
• Supports 2 x1 Root port configurations
• Interrupts and Events
— Legacy (INTx) and MSI Interrupts
— General Purpose Events
There are two interrupt types a root port receives from an end point device: INTx
(legacy), and MSI. MSIs are automatically passed upstream by the root port, just as
other memory writes would be. INTx messages are delivered to the Legacy Bridge’s
interrupt decoding and routing logic by the root port.
Events and interrupts that are handled by the root port are shown in Table 84, with the
possible interrupts they can deliver to the interrupt decoder/router.
INTx Packet X X
PM_PME Packet X X
ERR_CORR Packet X
ERR_NONFATAL Packet X
ERR_FATAL Packet X
VDM Packet X
Note: Table 84 lists the possible interrupts and events generated based on packets received,
or events generated in the root port. Configuration is performed by the software to
enable the different interrupts as applicable.
Presence detection occurs when a PCI Express* device is plugged in and power is
supplied. The physical layer detects the presence of the device, and the root port sets
the SLCTL_SLSTS.PDS and SLCTL_SLSTS.PDC bits.
When a device is removed and detected by the physical layer, the root port clears the
SLCTL_SLSTS.PDS bit, and sets the SLCTL_SLSTS.PDC bit.
Interrupts can be generated by the root port when a hot plug event occurs. A hot plug
event is defined as the transition of the SLCTL_SLSTS.PDC bit from 0 to 1. Software
can set the SLCTL_SLSTS.PDE and SLTCTL_SLSTS.HPE bits to allow hot plug events to
generate an interrupt.
14.3 References
PCI Express* Base Specification, Rev. 2.0
See Chapter 5.0, “Register Access Methods” for details on accessing different register
types.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0
PCI PCI Express*
ECAM PCI Bridge
(Mem)
Headers
PCIe*
D:23
RP0 F:0
D:23,F:0-1
SPI0 F:0 RP0 F:1
IO Fabric
D:21
SPI1 F:1
I2C*/GPIOF:2
Legacy Bridge
D:31, F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
18h 1Bh “Secondary Latency Timer (BNUM_SLT)—Offset 18h” on page 269 00000000h
20h 23h “Memory Base and Limit (MBL)—Offset 20h” on page 270 00000000h
24h 27h “Prefetchable Memory Base and Limit (PMBL)—Offset 24h” on page 271 00010001h
28h 2Bh “Prefetchable Memory Base Upper 32 Bits (PMBU32)—Offset 28h” on page 271 00000000h
2Ch 2Fh “Prefetchable Memory Limit Upper 32 Bits (PMLU32)—Offset 2Ch” on page 272 00000000h
34h 37h “Capabilities List Pointer (CAPP)—Offset 34h” on page 272 00000040h
40h 43h “PCI Express Capabilities (CLIST_XCAP)—Offset 40h” on page 274 00428010h
80h 83h “Message Signaled Interrupt Message Control (MID_MC)—Offset 80h” on page 289 00009005h
84h 87h “Message Signaled Interrupt Message Address (MA)—Offset 84h” on page 289 00000000h
88h 8Bh “Message Signaled Interrupt Message Data (MD)—Offset 88h” on page 290 00000000h
90h 93h “Subsystem Vendor Capability (SVCAP)—Offset 90h” on page 290 0000A00Dh
94h 97h “Subsystem Vendor IDs (SVID)—Offset 94h” on page 291 00000000h
A0h A3h “PCI Power Management Capabilities (PMCAP_PMC)—Offset A0h” on page 291 C8020001h
A4h A7h “PCI Power Management Control And Status (PMCS)—Offset A4h” on page 292 00000000h
D4h D7h “Miscellaneous Port Configuration 2 (MPC2)—Offset D4h” on page 294 00000000h
D8h DBh “Miscellaneous Port Configuration (MPC)—Offset D8h” on page 295 01110000h
DCh DFh “SMI / SCI Status (SMSCS)—Offset DCh” on page 296 00000000h
F4h F7h “Message Bus Control (PHYCTL_PHYCTL2_IOSFSBCTL)—Offset F4h” on page 297 000C3043h
100h 103h “Advanced Error Reporting Capability Header (AECH)—Offset 100h” on page 298 00000000h
104h 107h “Uncorrectable Error Status (UES)—Offset 104h” on page 299 00000000h
108h 10Bh “Uncorrectable Error Mask (UEM)—Offset 108h” on page 300 00000000h
10Ch 10Fh “Uncorrectable Error Severity (UEV)—Offset 10Ch” on page 301 00060011h
110h 113h “Correctable Error Status (CES)—Offset 110h” on page 302 00000000h
114h 117h “Correctable Error Mask (CEM)—Offset 114h” on page 303 00002000h
118h 11Bh “Advanced Error Capabilities and Control (AECC)—Offset 118h” on page 304 00000000h
12Ch 12Fh “Root Error Command (REC)—Offset 12Ch” on page 306 00000000h
130h 133h “Root Error Status (RES)—Offset 130h” on page 306 00000000h
134h 137h “Error Source Identification (ESID)—Offset 134h” on page 307 00000000h
Default: 11C38086h
31 28 24 20 16 12 8 4 0
0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
DID
VID
Bit Default &
Field Name (ID): Description
Range Access
11C3h
31:16 Device Identification (DID): PCI Device ID
RO/V
8086h
15:0 Vendor Identification (VID): PCI Vendor ID
RO
Default: 00100000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VGA_PSE
DPE
SSE
RMA
RTA
STA
PDTS
PFBC
IS
FBE
SEE
PERE
MWIE
SCE
BME
MSE
IOSE
RSVD_1
PC66
RSVD_2
WCC
DPD
CLIST
RSVD
ID
0b DPE Detected Parity Error (DPE): Set when the root port receives a command or
31
RWC data from the backbone with a parity error. This is set even if PCMD.PERE is not set.
0b Signaled System Error (SSE): Set when the root port signals a system error to the
30
RWC internal SERR# logic.
0b Received Master Abort (RMA): Set when the root port receives a completion with
29
RWC unsupported request status from the backbone.
0b Received Target Abort (RTA): Set when the root port receives a completion with
28
RWC completer abort from the backbone.
0b Signaled Target Abort (STA): Set whenever the root port forwards a target abort
27
RWC received from the downstream device onto the backbone.
00b
26:25 Primary DEVSEL# Timing Status (PDTS): Reserved per PCI-Express spec.
RO
0b Master Data Parity Error Detected (DPD): Set when the root port receives a
24
RWC completion with a data parity error on the backbone and PCMD.PERE is set.
0b
23 Primary Fast Back to Back Capable (PFBC): Reserved per PCI-Express spec.
RO
0b
22 Reserved (RSVD_1): Reserved.
RO
0b
21 Primary 66 MHz Capable (PC66): Reserved per PCI-Express spec.
RO
1b
20 Capabilities List (CLIST): Indicates the presence of a capabilities list.
RO
0b Interrupt Status (IS): Indicates status of hot plug and power management interrupts
19 on the root port that result in INTx# message generation. This bit is not set if MSI is
RO/V enabled. If MSI is not enabled, this bit is set regardless of the state of CMD.ID.
000b
18:16 Reserved (RSVD_2): Reserved.
RO
00h
15:11 Reserved (RSVD): Reserved.
RO
Interrupt Disable (ID): This disables pin-based INTx# interrupts on enabled hot plug
and power management events. This bit has no effect on MSI operation. When set,
0b internal INTx# messages will not be generated. When cleared, internal INTx# messages
10 are generated if there is an interrupt for hot plug or power management and MSI is not
RW/RO enabled. This bit does not affect interrupt forwarding from devices connected to the root
port. Assert_INTx and Deassert_INTx messages will still be forwarded to the internal
interrupt controllers if this bit is set.
0b
9 Fast Back to Back Enable (FBE): Reserved per PCI-Express spec.
RO
0b SERR# Enable (SEE): When set, enables the root port to generate an SERR# message
8
RW when PSTS.SSE is set.
0b
7 Wait Cycle Control (WCC): Reserved per PCI-Express spec.
RO
0b Parity Error Response Enable (PERE): Indicates that the device is capable of
6
RW reporting parity errors as a master on the backbone.
0b
5 VGA Palette Snoop (VGA_PSE): Reserved per PCI-Express spec.
RO
0b
4 Memory Write and Invalidate Enable (MWIE): Reserved per PCI-Express spec.
RO
0b
3 Special Cycle Enable (SCE): Reserved per PCI-Express and PCI bridge spec.
RO
Bus Master Enable (BME): When set, allows the root port to forward Memory and I/O
Read/Write cycles onto the backbone from a PCI-Express device. When this bit is 0b,
0b Memory and I/O requests received at a Root Port must be handled as Unsupported
2
RW Requests (UR). This bit does not affect forwarding of Completions in either the Upstream
or Downstream direction. The forwarding of Requests other than Memory or I/O
requests is not controlled by this bit.
0b Memory Space Enable (MSE): When set, memory cycles within the range specified by
1 the memory base and limit registers can be forwarded to the PCI-Express device. When
RW cleared, these memory cycles are master aborted on the backbone.
0b I/O Space Enable (IOSE): When set, I/O cycles within the range specified by the I/O
0 base and limit registers can be forwarded to the PCI-Express device. When cleared,
RW these cycles are master aborted on the backbone.
Default: 06040000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RID
BCC
SCC
PI
06h
31:24 Base Class Code (BCC): Indicates the device is a bridge device.
RO
04h
23:16 Sub-Class Code (SCC): The default indicates the device is a PCI-to-PCI bridge.
RO/V
00h
15:8 Programming Interface (PI): This is a read only register.
RO/V
00h
7:0 Revision ID (RID): Indicates the revision of the bridge.
RO/V
Default: 00810000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MFD
CT
RSVD
LS
HTYPE
RSVD0
0b
31:24 RSVD0: Reserved
RO
1b
23 Multi-function Device (MFD): This bit is '1' to indicate a multi-function device.
RO
01h Header Type (HTYPE): The default mode identifies the header layout of the
22:16
RO/V configuration space, which is a PCI-to-PCI bridge.
00h
15:11 Latency Count (CT): Reserved per PCI-Express spec.
RO
000b
10:8 Reserved (RSVD): Reserved.
RO
00h
7:0 Line Size (LS): This is read/write but contains no functionality, per PCI-Express spec.
RW
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 18h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SBBN
SCBN
PBN
SLT
00h Secondary Latency Timer (SLT): This register is RO and returns 0. This register does
31:24
RW/RO not affect the behavior of any HW logic.
00h Subordinate Bus Number (SBBN): Indicates the highest PCI bus number below the
23:16
RW bridge.
00h
15:8 Secondary Bus Number (SCBN): Indicates the bus number the port.
RW
00h
7:0 Primary Bus Number (PBN): Indicates the bus number of the backbone.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DPE
RSE
RMA
RTA
STA
SDTS
DPD
RSVD
IOLA
IOBA
IOBC
SFBC
SC66
RSVD_1
IOLC
Bit Default &
Field Name (ID): Description
Range Access
0b
31 Detected Parity Error (DPE): Set when the port receives a poisoned TLP.
RWC
0b Received System Error (RSE): Set when the port receives an ERR_FATAL or
30
RWC ERR_NONFATAL message from the device.
0b Received Master Abort (RMA): Set when the port receives a completion with
29
RWC Unsupported Request status from the device.
0b Received Target Abort (RTA): Set when the port receives a completion with
28
RWC Completion Abort status from the device.
0b Signaled Target Abort (STA): Set when the port generates a completion with
27
RWC Completion Abort status to the device.
00b
26:25 Secondary DEVSEL# Timing Status (SDTS): Reserved per PCI-Express spec.
RO/V
Data Parity Error Detected (DPD): Set when the BCTRL.PERE, and either of the
0b following two conditions occurs:
24
RWC Port receives completion marked poisoned.
Port poisons a write request to the secondary side.
0b
23 Secondary Fast Back to Back Capable (SFBC): Reserved per PCI-Express spec.
RO/V
0b
22 Reserved (RSVD): Reserved.
RO
0b
21 Secondary 66 MHz Capable (SC66): Reserved per PCI Express spec.
RO
00h
20:16 Reserved (RSVD_1): Reserved.
RO
0h I/O Address Limit (IOLA): I/O Base bits corresponding to address lines 15:12 for
15:12
RW 4KB alignment. Bits 11:0 are assumed to be padded to FFFh.
0h I/O Limit Address Capability (IOLC): Indicates that the bridge does not support 32-
11:8
RO bit I/O addressing.
0h I/O Base Address (IOBA): I/O Base bits corresponding to address lines 15:12 for
7:4
RW 4KB alignment. Bits 11:0 are assumed to be padded to 000h.
0h I/O Base Address Capability (IOBC): Indicates that the bridge does not support 32-
3:0
RO bit I/O addressing.
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 20h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ML
RSVD
MB
RSVD_1
Bit Default &
Field Name (ID): Description
Range Access
000h Memory Limit (ML): These bits are compared with bits 31:20 of the incoming address
31:20
RW to determine the upper 1MB aligned value of the range.
0h
19:16 Reserved (RSVD): Reserved.
RO
000h Memory Base (MB): These bits are compared with bits 31:20 of the incoming address
15:4
RW to determine the lower 1MB aligned value of the range.
0h
3:0 Reserved (RSVD_1): Reserved.
RO
Access Method
Type: PCI Configuration Register
(Size: 32 bits) Offset: [B:0, D:23, F:0] + 24h
Default: 00010001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
PML
I64L
PMB
000h Prefetchable Memory Limit (PML): These bits are compared with bits 31:20 of the
31:20
RW incoming address to determine the upper 1MB aligned value of the range.
1h
19:16 64-bit Indicator (I64L): Indicates support for 64-bit addressing.
RO
000h Prefetchable Memory Base (PMB): These bits are compared with bits 31:20 of the
15:4
RW incoming address to determine the lower 1MB aligned value of the range.
1h
3:0 64-bit Indicator (I64B): Indicates support for 64-bit addressing.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PMBU
Bit Default &
Field Name (ID): Description
Range Access
00000000h Prefetchable Memory Base Upper Portion (PMBU): Upper 32-bits of the
31:0
RW prefetchable address base.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PMLU
00000000h Prefetchable Memory Limit Upper Portion (PMLU): Upper 32-bits of the
31:0
RW prefetchable address limit.
Default: 00000040h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
RSVD1
PTR
0000000h
31:8 Reserved (RSVD1): Reserved
RO
Capabilities Pointer (PTR): Indicates that the pointer for the first entry in the
capabilities list.
BIOS can determine which capabilities will be exposed by including or removing them
from the capability linked list.
As this register is RWO, BIOS must write a value to this register, even if it is to re-write
the default value.
40h Capability Linked List (Default Settings)
7:0 Offset Capability Next Pointer
RWO 40h PCI Express 80h
80h Message Signaled Interrupt (MSI) 90h
90h Subsystem Vendor A0h
A0h PCI Power Management 00h
Extended PCIe Capability Linked List
Offset Capability Next Pointer
100h Advanced Error Reporting 000h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
DTSE
SDT
DTS
PDT
FBE
VE
IE
SE
PERE
ILINE
SBR
MAM
V16
IPIN
0h
31:28 Reserved (RSVD): Reserved.
RO
0b
27 Discard Timer SERR# Enable (DTSE): Reserved per PCI-Express spec.
RO/RW
0b
26 Discard Timer Status (DTS): Reserved per PCI-Express spec.
RO
0b
25 Secondary Discard Timer (SDT): Reserved per PCI-Express spec.
RO/RW
0b
24 Primary Discard Timer (PDT): Reserved per PCI-Express spec.
RO/RW
0b
23 Fast Back to Back Enable (FBE): Reserved per Express spec.
RO
0b
22 Secondary Bus Reset (SBR): Triggers a Hot Reset on the PCI-Express port.
RW
0b
21 Master Abort Mode (MAM): Reserved per PCI-Express spec.
RO/RW
VGA 16-Bit Decode (V16): When set, indicates that the I/O aliases of the VGA range
0b (see BCTRL.VE definition below), are not enabled, and only the base I/O ranges can be
20 decoded.
RW 0: Execute 10-bit address decode on VGA I/O accesses.
1: Execute 16-bit address decode on VGA I/O accesses.
VGA Enable (VE): When set, the following ranges will be claimed off the backbone by
0b the root port:
19 Memory ranges A0000h-BFFFFh
RW I/O ranges 3B0h-3BBh and 3C0h-3DFh, and all aliases of bits 15:10 in any combination
of 1's
ISA Enable (IE): This bit only applies to I/O addresses that are enabled by the I/O
0b Base and I/O Limit registers and are in the first 64KB of PCI I/O space. If this bit is set,
18
RW the root port will block any forwarding from the backbone to the device of I/O
transactions addressing the last 768 bytes in each 1KB block (offsets 100h to 3FFh).
0b SERR# Enable (SE): When set, ERR_COR, ERR_NONFATAL, and ERR_FATAL messages
17
RW received are forwarded to the backbone. When cleared, they are not.
0b Parity Error Response Enable (PERE): When set, poisoned write TLPs and
16
RW completions indicating poisoned TLPs will set the SSTS.DPD.
Interrupt Pin (IPIN): Indicates the interrupt pin driven by the root port. At reset, this
register takes on the following values, which reflect the reset state of the D28IP register
in chipset config space:
Port Bits(15:12) Bits(11:08)
1 0h D28IP.P1IP
00h 2 0h D28IP.P2IP
15:8 3 0h D28IP.P3IP
RO/V 4 0h D28IP.P4IP
5 0h D28IP.P5IP
6 0h D28IP.P6IP
7 0h D28IP.P7IP
8 0h D28IP.P8IP
The value that is programmed into D28IP is always reflected in this register.
00h Interrupt Line (ILINE): Software written value to indicate which interrupt line
7:0
RW (vector) the interrupt is connected to. No hardware action is taken on this register.
Default: 00428010h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
CV
RSVD_1
IMN
SI
RSVD
DT
NEXT
CID
0b
31 Reserved (RSVD): Reserved.
RO
0b Reserved (RSVD_1): This register at one time was for TCS Routing but that was later
30
RO removed from the PCIe 2.0 spec.
00h Interrupt Message Number (IMN): The PCH does not have multiple MSI interrupt
29:25
RO numbers.
0b Slot Implemented (SI): Indicates whether the root port is connected to a slot. Slot
24 support is platform specific. BIOS programs this field, and it is maintained until a
RWO platform reset.
4h
23:20 Device / Port Type (DT): Indicates this is a PCI-Express root port.
RO
2h Capability Version (CV): Version 2.0 indicates devices compliant to the PCI Express
19:16
RO 2.0 specification which incorporates the Register Expansion ECN.
10h
7:0 Capability ID (CID): Indicates this is a PCI Express capability.
RO
Default: 00008000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD_1
RSVD_2
RSVD_3
RSVD_4
RBER
E1AL
E0AL
RSVD
CSPS
CSPV
ETFS
PFS
MPS
FLRC
000b
31:29 Reserved (RSVD): Reserved.
RO
0b
28 Function Level Reset Capable (FLRC): Not supported in Root Ports.
RO
00b
27:26 Captured Slot Power Limit Scale (CSPS): Not supported.
RO
00h
25:18 Captured Slot Power Limit Value (CSPV): Not supported.
RO
00b
17:16 Reserved (RSVD_1): Reserved.
RO
1b Role Based Error Reporting (RBER): Indicates that this device implements the
15
RO functionality defined in the Error Reporting ECN as required by the PCI Express 1.1 spec.
0b Reserved (RSVD_2): On previous version of the specification this was Power Indicator
14
RO Present (PIP).
000b
11:9 Endpoint L1 Acceptable Latency (E1AL): Reserved for Root port.
RO
000b
8:6 Endpoint L0 Acceptable Latency (E0AL): Reserved for Root port.
RO
Extended Tag Field Supported (ETFS): The PCH root port never needs to initiate a
0b transaction as a Requester with the Extended Tag bits being set. This bit does not affect
5
RO the root port's ability to forward requests as a bridge as the root port always supports
forwarding requests with extended tags.
00b
4:3 Phantom Functions Supported (PFS): No phantom functions supported.
RO
000b Max Payload Size Supported (MPS): Indicates the maximum payload size supported
2:0
RO is 128B.
Default: 00100000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TDP
RSVD_1
APD
URD
FED
NFED
CED
RSVD
MRRS
ENS
APME
PFE
ETFE
MPS
ERO
URE
FEE
NFE
CEE
Bit Default &
Field Name (ID): Description
Range Access
000h
31:22 Reserved (RSVD_1): Reserved.
RO
0b Transactions Pending (TDP): This bit has no meaning for the root port since it never
21
RO initiates a non-posted request with its own RequesterID.
1b
20 AUX Power Detected (APD): The root port contains AUX power for wakeup.
RO
0b Fatal Error Detected (FED): Indicates a fatal error was detected. Set when a fatal
18
RWC error occurred from a data link protocol error, buffer overflow, or malformed TLP.
0b Non-Fatal Error Detected (NFED): Indicates a non-fatal error was detected. Set
17 when received a non-fatal error occurred from a poisoned TLP, unexpected completions,
RWC unsupported requests, completer abort, or completer timeout.
0b Correctable Error Detected (CED): Indicates a correctable error was detected. Set
16 when received an internal correctable error from receiver errors / framing errors, TLP
RWC CRC error, DLLP CRC error, replay number rollover, or replay timeout.
0b
15 Reserved (RSVD): Reserved.
RO
000b
14:12 Max Read Request Size (MRRS): Hardwired to 0
RO
0b Enable No Snoop (ENS): Not supported. The root port will never issue non-snoop
11
RO requests.
0b Aux Power PM Enable (APME): Must be RW for OS testing. The OS will set this bit to
10 '1' if the device connected has detected aux power. It has no effect on the root port
RW/P otherwise. This registers is in the resume well.
0b
9 Phantom Functions Enable (PFE): Not supported.
RO
0b
8 Extended Tag Field Enable (ETFE): Not supported.
RO
000b
7:5 Max Payload Size (MPS): The root port only supports 128B payloads.
RO
0b
4 Enable Relaxed Ordering (ERO): Not supported.
RO
0b Fatal Error Reporting Enable (FEE): Enables signaling of ERR_FATAL to the Root
2 Control register due to internally detected errors or error messages received across the
RW link. Other bits also control the full scope of related error reporting.
Default: 00110C01h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
RSVD
APMS
SLS
PN
RSVD_1
LARC
SDERC
CPM
EL1
EL0
MLW
Port Number (PN): Indicates the port number for the root port. This value is different
for each implemented port:
Port # Value of PN field
1 01h
00h 2 02h
31:24 3 03h
RO/V 4 04h
5 05h
6 06h
7 07h
8 08h
00b
23:22 Reserved (RSVD): Reserved.
RO
0b Reserved (RSVD_1): This port does not support Link Bandwidth Notification
21
RO Capability.
1b Link Active Reporting Capable (LARC): This port supports the optional capability of
20
RO reporting the DL_Active state of the Data Link Control and Management State Machine.
0b Surprise Down Error Reporting Capable (SDERC): Set to '0' to indicate the PCH
19
RO does not support Surprise Down Error Reporting.
0b Clock Power Management (CPM): '0' Indicates that PCH root ports do not support
18
RO the CLKREQ# mechanism.
L0s Exit Latency (EL0): Indicates an exit latency based upon common-clock
000b configuration:
14:12 LCAP.CCC Value
RO/V 0 MPC.UCEL
1 MPC.CCEL
Active State Link PM Support (APMS): Indicates the level of active state power
management on this link:
11b Bits Definition
11:10 00 (Reserved)
RWO 01 L0s Entry supported
10 Reserved
11 Both L0s and L1 supported
Maximum Link Width (MLW): For the root ports, several values can be taken, based
upon the value of the chipset configuration register field RPC.PC1 for ports 1-4 and
RPC.PC2 for ports 5-6:
Port # Value of PN field
RPC.PC1 00 01 10 11
1 01h 02h 02h 04h
000000b 2 01h 01h 01h 01h
9:4 3 01h 01h 02h 01h
RO/V 4 01h 01h 01h 01h
Port # Value of PN field
RPC.PC2 00 01 10 11
5 01h 02h 02h 04h
6 01h 01h 01h 01h
7 01h 01h 02h 01h
8 01h 01h 01h 01h
1h Supported Link Speeds (SLS): Indicates the supported link speeds of the Root Port.
3:0 0001b 2.5 GT/s Link speed supported
RO/V 0010b 5.0 GT/s and 2.5GT/s Link speeds supported
Default: 10010000h
31 28 24 20 16 12 8 4 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LABIE
LBMIE
SCC
RCBC
NLW
CCC
ECPM
ASPM
RL
RSVD_1
LBMS
LA
LT
RSVD_2
LABS
CLS
RSVD
HAWD
ES
LD
Bit Default &
Field Name (ID): Description
Range Access
Link Autonomous Bandwidth Status (LABS): This bit is Set by hardware to indicate
that hardware has autonomously changed Link speed or width, without the Port
0b transitioning through DL_Down status, for reasons other than to attempt to correct
31 unreliable Link operation.
RWC This bit must be set if the Physical Layer reports a speed or width change was initiated
by the Downstream component that was indicated as an autonomous change.
The default value of this bit is 0b.
Link Bandwidth Management Status (LBMS): This bit is Set by hardware to indicate
that either of the following has occurred without the Port transitioning through DL_Down
status:
* A Link retraining has completed following a write of 1b to the Retrain Link bit
0b Note: This bit is Set following any write of 1b to the Retrain Link bit, including when the
30 Link is in the process of retraining for some other reason.
RWC * Hardware has changed Link speed or width to attempt to correct unreliable Link
operation, either through an LTSSM timeout or a higher level process
This bit must be set if the Physical Layer reports a speed or width change was initiated
by the Downstream component that was not indicated as an autonomous change.
The default value of this bit is 0b.
0b Link Active (LA): Set to 1b when the Data Link Control and Management State
29
RO/V Machine is in the DL_Active state, 0b otherwise.
1b Slot Clock Configuration (SCC): PCH uses the same reference clock as on the
28
RO platform and does not generate its own clock.
0b Link Training (LT): The root port sets this bit whenever link training is occurring, or
27 that 1b was written to the Retrain Link bit but Link training has not yet begun. It clears
RO/V the bit upon completion of link training.
0b Reserved (RSVD_2): Previously this was defined as Link Training Error (LTE) but
26 support for this bit was removed from subsequent versions of the PCI Express
RO specification.
Negotiated Link Width (NLW): For the root ports, this register could take on several
values:
Port # Value of PN field
RPC.PC1 00 01 10 11
1 01h 02h 02h 04h
2 01h 01h 01h 01h
000000b 3 01h 01h 02h 01h
25:20 4 01h 01h 01h 01h
RO/V Port # Value of PN field
RPC.PC2 00 01 10 11
5 01h 02h 02h 04h
6 01h 01h 01h 01h
7 01h 01h 02h 01h
8 01h 01h 01h 01h
The value of this register is undefined if the link has not successfully trained.
0h
15:12 Reserved (RSVD): Reserved.
RO
0b Link Autonomous Bandwidth Interrupt Enable (LABIE): When Set, this bit enables
11 the generation of an interrupt to indicate that the Link Autonomous Bandwidth Status
RW bit has been Set.
Link Bandwidth Management Interrupt Enable (LBMIE): When Set, this bit
enables the generation of an interrupt to indicate that the Link Bandwidth Management
0b Status bit has been Set. This bit is not applicable and is reserved for Endpoints, PCI
10
RW Express-to-PCI/PCI-X bridges, and Upstream Ports of Switches. Functions that do not
implement the Link Bandwidth Notification Capability must hardwire this bit to 0b.
Default value of this bit is 0b.
0b Hardware Autonomous Width Disable (HAWD): When Set, this bit disables
9 hardware from changing the Link width for reasons other than attempting to correct
RW unreliable Link operation by reducing Link width. Default value of this bit is 0b.
0b Enable Clock Power Management (ECPM): Reserved. Not supported on PCH Root
8
RO Ports.
0b Extended Synch (ES): When set, forces extended transmission of FTS ordered sets in
7
RW FTS and extra TS2 at exit from L1 prior to entering L0.
0b Common Clock Configuration (CCC): When set, indicates that the PCH and device
6
RW are operating with a distributed common reference clock.
Retrain Link (RL): When set, the root port will train its downstream link. This bit
always returns '0' when read. Software uses LSTS.LT and LSTS.LTE to check the status
0b of training. It is permitted to write 1b to this bit while simultaneously writing modified
5 values to other fields in this register. If the LTSSM is not already in Recovery or
WO Configuration, the resulting Link training must use the modified values. If the LTSSM is
already in Recovery or Configuration, the modified values are not required to affect the
Link training that's already in progress.
0b Link Disable (LD): When set, the root port will disable the link by directing the LTSSM
4
RW to the Disabled state.
0b
2 Reserved (RSVD_1): Reserved.
RO
Active State Link PM Control (ASPM): Indicates whether the root port should enter
L0s or L1 or both.
Bits Definition
00b 00 Disabled
1:0 01 L0s Entry Enabled
RW 10 L1 Entry Enabled
11 L0s and L1 Entry Enabled
The value of this register is used unless the Root Port ASPM Control Override Enable
register is set, in which case the Root Port ASPM Control Override value is used.
Default: 00040060h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
NCCS
SLS
SLV__54_14_8
SLV__54_7_7
HPS
PSN__54_31_24
PSN__54_23_19
EMIP
HPC
PIP
AIP
MSP
PCP
ABP
Bit Default &
Field Name (ID): Description
Range Access
00h Physical Slot Number (PSN__54_31_24): This is a value that is unique to the slot
31:24
RWO number. BIOS sets this field and it remains set until a platform reset.
00h Physical Slot Number (PSN__54_23_19): This is a value that is unique to the slot
23:19
RWO number. BIOS sets this field and it remains set until a platform reset.
1b No Command Completed Support (NCCS): Set to '1' as this port does not implement
18 a Hot Plug controller and can handle back-2-back writes to all fields of the slot control
RO register without delay between successive writes.
00b Slot Power Limit Scale (SLS): Specifies the scale used for the slot power limit value.
16:15
RWO BIOS sets this field and it remains set until a platform reset.
Slot Power Limit Value (SLV__54_14_8): Specifies the upper limit (in conjunction
00h with SLS value), on the upper limit on power supplied by the slot. The two values
14:8
RWO together indicate the amount of power in watts allowed for the slot. BIOS sets this field
and it remains set until a platform reset.
Slot Power Limit Value (SLV__54_7_7): Specifies the upper limit (in conjunction
0b with SLS value), on the upper limit on power supplied by the slot. The two values
7
RWO together indicate the amount of power in watts allowed for the slot. BIOS sets this field
and it remains set until a platform reset.
1b
6 Hot Plug Capable (HPC): When set, Indicates that hot plug is supported.
RWO
1b Hot Plug Surprise (HPS): When set, indicates the device may be removed from the
5
RWO slot without prior notification.
0b Power Indicator Present (PIP): Indicates that a power indicator LED is not present
4
RO for this slot.
0b Attention Indicator Present (AIP): Indicates that an attention indicator LED is not
3
RO present for this slot.
0b
2 MRL Sensor Present (MSP): Indicates that an MRL sensor is not present.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PDS
PFD
RSVD
PFE
ABE
DLLSC
EMIS
MS
DLLSCE
HPE
CCE
PDE
MSE
RSVD_1
CC
PDC
MSC
ABP
EMIC
PCC
PIC
AIC
Bit Default &
Field Name (ID): Description
Range Access
00h
31:25 Reserved (RSVD_1): Reserved.
RO
Data Link Layer State Changed (DLLSC): This bit is set when the value reported in
0b Data Link Layer Link Active field of the Link Status register is changed. In response to a
24 Data Link Layer State Changed event, software must read Data Link Layer Link Active
RWC field of the Link Status register to determine if the link is active before initiating
configuration cycles to the hot plugged device.
0b Electromechanical Interlock Status (EMIS): Reserved as this port does not support
23
RO and electromechanical interlock.
0b Presence Detect State (PDS): If XCAP.SI is set (indicating that this root port spawns
22 a slot), then this bit indicates whether a device is connected ('1') or empty ('0'). If
RO/V XCAP.SI is cleared, this bit is a '1'.
0b
21 MRL Sensor State (MS): Reserved as the MRL sensor is not implemented.
RO
0b Command Completed (CC): This register is RO as this port does not implement a Hot
20
RO Plug Controller.
0b Presence Detect Changed (PDC): This bit is set by the root port when the PD bit
19
RWC changes state.
0b
18 MRL Sensor Changed (MSC): Reserved as the MRL sensor is not implemented.
RO
0b
17 Power Fault Detected (PFD): Reserved as a power controller is not implemented.
RO
0b Attention Button Pressed (ABP): This register is RO as this port does not implement
16
RO an attention button.
000b
15:13 Reserved (RSVD): Reserved.
RO
0b Data Link Layer State Changed Enable (DLLSCE): When set, this field enables
12
RW generation of a hot plug interrupt when the Data Link Layer Link Active field is changed.
0b
10 Power Controller Control (PCC): This bit has no meaning for module based hot plug.
RO
00b Power Indicator Control (PIC): This register is RO as this port does not implement a
9:8
RO Hot Plug Controller.
00b Attention Indicator Control (AIC): This register is RO as this port does not
7:6
RO implement a Hot Plug Controller.
0b Hot Plug Interrupt Enable (HPE): When set, enables generation of a hot plug
5
RW interrupt on enabled hot plug events.
0b Command Completed Interrupt Enable (CCE): This register is RO as this port does
4
RO not implement a Hot Plug Controller.
0b Presence Detect Changed Enable (PDE): When set, enables the generation of a hot
3
RW plug interrupt or wake message when the presence detect logic changes state.
0b MRL Sensor Changed Enable (MSE): This register is RO as this port does not
2
RO implement a Hot Plug Controller.
0b Power Fault Detected Enable (PFE): This register is RO as this port does not
1
RO implement a Hot Plug Controller.
0b Attention Button Pressed Enable (ABE): This register is RO as this port does not
0
RO implement a Hot Plug Controller.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
PIE
SFE
SNE
SCE
RSVD1
00000h
31:16 Reserved (RSVD1): Reserved
RO
000h
15:4 Reserved (RSVD): Reserved.
RO
0b PME Interrupt Enable (PIE): When set, enables interrupt generation when RSTS.PS
3 is in a set state (either due to a '0' to '1' transition, or due to this bit being set with
RW RSTS.PS already set).
0b System Error on Fatal Error Enable (SFE): When set, an SERR# will be generated if
2 a fatal error is reported by any of the devices in the hierarchy of this root port, including
RW fatal errors in this root port. This register is not dependent on CMD.SEE being set.
System Error on Non-Fatal Error Enable (SNE): When set, an SERR# will be
0b generated if a non-fatal error is reported by any of the devices in the hierarchy of this
1
RW root port, including non-fatal errors in this root port. This register is not dependent on
CMD.SEE being set.
System Error on Correctable Error Enable (SCE): When set, an SERR# will be
0b generated if a correctable error is reported by any of the devices in the hierarchy of this
0
RW root port, including correctable errors in this root port. This register is not dependent on
CMD.SEE being set.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
PS
RID
PP
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:18 Reserved (RSVD): Reserved.
RO
PME Pending (PP): Indicates another PME is pending when the PME status bit is set.
0b When the original PME is cleared by software, it will be set again, the requestor ID will
17
RO/V be updated, and this bit will be cleared. PCH root ports have a one deep PME pending
queue.
0b PME Status (PS): Indicates that PME was asserted by the requestor ID in RID.
16
RWC Subsequent PMEs are kept pending until this bit is cleared.
PME Requestor ID (RID): Indicates the PCI requestor ID of the last PME requestor.
0000h Valid only when PS is set. PCH root ports are capable of storing the requester ID for two
15:0
RO/V PM_PME messages, with one active (this register) and a one deep pending queue.
Subsequent PM_PME messages will be dropped.
Default: 00000016h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
RSVD_1
RSVD
LTRMS
CTDS
CTRS
Bit Default &
Field Name (ID): Description
Range Access
00000h
31:12 Reserved (RSVD): Reserved.
RO
LTR Mechanism Supported (LTRMS): A value of 1b indicates support for the optional
0b Latency Tolerance Reporting (LTR) mechanism capability.
11
RWO BIOS must write to this register with either a '1' or a '0' to enable/disable the root port
from declaring support for the LTR capability.
00h
10:5 Reserved (RSVD_1): Reserved.
RO
Completion Timeout Ranges Supported (CTRS): This field indicates device support
for the optional Completion Timeout programmability mechanism. This mechanism
allows system software to modify the Completion Timeout value.
This field is applicable only to Root Ports, Endpoints that issue requests on their own
behalf, and PCI Express to PCI/PCI-X Bridges that take ownership of requests issued on
PCI Express.
For all other devices this field is reserved and must be hardwired to 0000b.
Four time value ranges are defined:
Range A: 50us to 10ms
Range B: 10ms to 250ms
6h Range C: 250ms to 4s
3:0
RO Range D: 4s to 64s
Bits are set according to the table below to show timeout value ranges supported.
0000b Completion Timeout programming not supported.
0001b Range A
0010b Range B
0011b Ranges A and B
0110b Ranges B and C
0111b Ranges A, B and C
1110b Ranges B, C and D
1111b Ranges A, B, C and D
All other values are reserved.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD_2
LTREN
RSVD_1
RSVD
CTD
CTV
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:16 Reserved (RSVD_2): Reserved.
RO
00h
15:11 Reserved (RSVD): Reserved.
RO
0b LTR Mechanism Enable (LTREN): When Set to 1b, this bit enables the Latency
10
RW Tolerance Reporting (LTR) mechanism.
00h
9:5 Reserved (RSVD_1): Reserved.
RO
Completion Timeout Disable (CTD): When set to 1b, this bit disables the Completion
Timeout mechanism.
This field is required for all devices that support the Completion Timeout Disable
Capability.
0b Software is permitted to set or clear this bit at any time. When set, the Completion
4 Timeout detection mechanism is disabled.
RW If there are outstanding requests when the bit is cleared, it is permitted but not required
for hardware to apply the completion timeout mechanism to the outstanding requests. If
this is done, it is permitted to base the start time for each request on either the time
this bit was cleared or the time each request was issued.
Only the value from Port 1 (for ports 1-4) or Port 5 (for ports 5-8) is used.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
00000000h
31:0 Reserved (RSVD): Reserved.
RO
Default: 00000001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
CDL
RSVD
CD
CSOS
SD
HASD
TLS
RSVD_1
EMC
TM
EC
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:17 Reserved (RSVD_1): Reserved.
RO
Current De-emphasis Level (CDL): When the Link is operating at 5 GT/s speed, this
bit reflects the level of de-emphasis.
0b Encodings:
16
RO/V 1b -3.5 dB
0b -6 dB
The value in this bit is undefined when the Link is operating at 2.5 GT/s speed.
000b
15:13 Reserved (RSVD): Reserved.
RO
0b Compliance SOS (CSOS): When set to 1b, the LTSSM is required to send SKP Ordered
11 Sets periodically in between the (modified) compliance patterns.
RW/P The default value of this bit is 0b.
Enter Modified Compliance (EMC): When this bit is set to 1b, the device transmits
Modified Compliance Pattern if the LTSSM enters Polling.Compliance substate.
0b Default value of this bit is 0b.
10
RW/P This register is intended for debug, compliance testing purposes only. System firmware
and software is allowed to modify this register only during debug or compliance testing.
In all other cases, the system must ensure that this register is set to the default value.
Transmit Margin (TM): This field controls the value of the nondeemphasized voltage
level at the Transmitter pins. This field is reset to 000b on entry to the LTSSM
Polling.Configuration substate (see PCI Express Chapter 4 for details of how the
Transmitter voltage level is determined in various states).
Encodings:
000b Normal operating range
001b 800-1200 mV for full swing and 400-700 mV for half-swing
010b-(n-1) Values must be monotonic with a non-zero slope. The value of n must be
greater than 3 and less than 7. At least two of these must be below the normal
000b operating range of n : 200-400 mV for full-swing and 100-200 mV for half-swing
9:7
RW/P n-111b reserved
For a Multi-Function device associated with an Upstream Port, the field in Function 0 is
of type RWS, and only Function 0 controls the component's Link behavior. In all other
Functions of that device, this field is of type RsvdP.
Default value of this field is 000b.
Components that support only the 2.5 GT/s speed are permitted to hardwire this bit to
000b.
This register is intended for debug, compliance testing purposes only. System firmware
and software is allowed to modify this register only during debug or compliance testing.
In all other cases, the system must ensure that this register is set to the default value.
Selectable De-emphasis (SD): When the Link is operating at 5.0 GT/s speed, this bit
selects the level of de-emphasis for an Upstream component.
0b Encodings:
6
RW/P 1b -3.5 dB
0b -6 dB
When the Link is operating at 2.5 GT/s speed, the setting of this bit has no effect.
1h Target Link Speed (TLS): This field sets an upper limit on Link operational speed by
3:0
RW/F/P restricting the values advertised by the upstream component in its training sequences.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
00000000h
31:0 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD_1
RSVD
0000h
31:16 Reserved (RSVD_1): Reserved.
RO
0000h
15:0 Reserved (RSVD): Reserved.
RO
Default: 00009005h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
MME
MSIE
MMC
C64
RSVD
NEXT
CID
Bit Default &
Field Name (ID): Description
Range Access
00h
31:24 Reserved (RSVD): Reserved.
RO
0b
23 64-Bit Address Capable (C64): Capable of generating a 32-bit message only.
RO
000b Multiple Message Enable (MME): These bits are RW for software compatibility, but
22:20
RW only one message is ever sent by the root port.
000b
19:17 Multiple Message Capable (MMC): Only one message is required.
RO
0b MSI Enable (MSIE): If set, MSI is enabled and traditional interrupt pins are not used
16 to generate interrupts. CMD.BME must be set for an MSI to be generated. If CMD.BME is
RW cleared, and this bit is set, no interrupts (not even pin based) are generated.
Next Pointer (NEXT): Indicates the location of the next capability in the list.
The default value of this register is 90h which points to the Subsystem Vendor capability
90h structure.
15:8 BIOS can determine which capabilities will be exposed by including or removing them
RWO from the capability linked list.
As this register is RWO, BIOS must write a value to this register, even if it is to re-write
the default value.
05h
7:0 Capability ID (CID): Capabilities ID indicates MSI.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ADDR
RSVD
00000000h Address (ADDR): Lower 32 bits of the system specified message address, always DW
31:2
RW aligned.
00b
1:0 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DATA
RSVD1
00000h
31:16 Reserved (RSVD1): Reserved
RO
0000h Data (DATA): This 16-bit field is programmed by system software if MSI is enabled. Its
15:0 content is driven onto the lower word (PCI AD[15:0]) during the data phase of the MSI
RW memory write transaction.
Default: 0000A00Dh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1
RSVD1
NEXT
CID
00000h
31:16 Reserved (RSVD1): Reserved
RO
Next Capability (NEXT): Indicates the location of the next capability in the list.
The default value of this register is A0h which points to the PCI Power Management
A0h capability structure.
15:8 BIOS can determine which capabilities will be exposed by including or removing them
RWO from the capability linked list.
As this register is RWO, BIOS must write a value to this register, even if it is to re-write
the default value.
0Dh Capability Identifier (CID): Value of 0Dh indicates this is a PCI bridge subsystem
7:0
RO vendor capability.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SID
SVID
Bit Default &
Field Name (ID): Description
Range Access
0000h Subsystem Identifier (SID): Indicates the subsystem as identified by the vendor.
31:16 This field is write once and is locked down until a bridge reset occurs (not the PCI bus
RWO reset).
0000h Subsystem Vendor Identifier (SVID): Indicates the manufacturer of the subsystem.
15:0 This field is write once and is locked down until a bridge reset occurs (not the PCI bus
RWO reset).
Default: C8020001h
31 28 24 20 16 12 8 4 0
1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
PMES
D2S
D1S
VS
AC
DSI
PMEC
RSVD
NEXT
CID
PME Support (PMES): Indicates PME# is supported for states D0, D3HOT and
11001b D3COLD. The root port does not generate PME#, but reporting that it does is necessary
31:27
RO for legacy Microsoft operating systems to enable PME# in devices connected behind this
root port.
0b
26 D2 Support (D2S): The D2 state is not supported.
RO
0b
25 D1 Support (D1S): The D1 state is not supported.
RO
000b Aux Current (AC): Reports 375mA maximum suspend well current required when in
24:22
RO the D3COLD state.
0b
20 Reserved (RSVD): Reserved.
RO
0b
19 PME Clock (PMEC): Indicates that PCI clock is not required to generate PME#.
RO
010b Version (VS): Indicates support for Revision 1.1 of the PCI Power Management
18:16
RO Specification.
00h
15:8 Next Capability (NEXT): Indicates this is the last item in the list.
RO
01h Capability Identifier (CID): Value of 01h indicates this is a PCI power management
7:0
RO capability.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BPCE
DTA
B23S
PMES
PMEE
PS
DSC
DSEL
RSVD_1
RSVD
00h
31:24 Data (DTA): Reserved
RO
0b
23 Bus Power / Clock Control Enable (BPCE): Reserved per PCI Express specification.
RO
0b
22 B2/B3 Support (B23S): Reserved per PCI Express specification.
RO
00h
21:16 Reserved (RSVD): Reserved.
RO
0b
15 PME Status (PMES): Indicates a PME was received on the downstream link.
RO
00b
14:13 Data Scale (DSC): Reserved
RO
0h
12:9 Data Select (DSEL): Reserved
RO
PME Enable (PMEE): Indicates PME is enabled. The root port takes no action on this
0b bit, but it must be RW for legacy Microsoft operating systems to enable PME# on devices
8 connected to this root port. This register resides in the resume well and is not reset on a
RW/W resume from S3/S4/S5.
The reset for this register is RSMRST# which is not asserted during a Warm Reset.
00h
7:2 Reserved (RSVD_1): Reserved.
RO
Power State (PS): This field is used both to determine the current power state of the
root port and to set a new power state. The values are:
00 D0 state
00b 11 D3HOT state
1:0 When in the D3HOT state, the controller's configuration space is available, but the I/O
RW and memory spaces are not. Type 1 configuration cycles are also not accepted.
Interrupts are not required to be blocked as software will disable interrupts prior to
placing the port into D3HOT.
If software attempts to write a '10' or '01' to these bits, the write will be ignored.
Default: 01000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
RSVD
RSVD
UPSD
UNSD
RSVD
RSVD
RSVD
UNRS
UPRS
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
Bit Default &
Field Name (ID): Description
Range Access
0b
31 Reserved (RSVD): Reserved.
RO
0b
30 Reserved (RSVD): Reserved.
RO
00h
29:25 Reserved (RSVD): Reserved.
RO
Upstream Posted Split Disable (UPSD): When '0', upstream posted memory
requests will be split on boundaries defined by the UPRS bit in this register.
1b When '1', upstream posted memory requests will not be split and will be presented to
24 the backbone as received from the link.
RW This register has no effect on posted messages which are never split.
00h
22:18 Reserved (RSVD): Reserved.
RO
0b
17 Reserved (RSVD): Reserved.
RO
0b
16 Reserved (RSVD): Reserved.
RO
Upstream Non-Posted Request Size (UNRS): Sets the size for splitting upstream
memory read requests. Requests will be split on naturally aligned addresses.
0b When '0', requests are split at 128 byte boundaries.
15 When '1', requests are split at 64 byte boundaries. This field is only used if the UNSD bit
RW is '0'.
Upstream Posted Request Size (UPRS): Sets the size for splitting upstream memory
write requests. Requests will be split on naturally aligned addresses.
When '0', requests are split at 128 byte boundaries.
0b When '1', requests are split at 64 byte boundaries. This field is only used if the UPSD bit
14
RW is '0'.
This register has no effect on posted messages which are never split.
00b
13:12 Reserved (RSVD): Reserved.
RO
0b
11 Reserved (RSVD): Reserved.
RO
0b
10 Reserved (RSVD): Reserved.
RO
0b
9 Reserved (RSVD): Reserved.
RO
0b
8 Reserved (RSVD): Reserved.
RO
00h
7:0 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IPF
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
00000h
31:12 Reserved (RSVD): Reserved.
RO
Packet Fast Transmit Mode (IPF): When set, the PCIe transmit block will move the
packet header from the Tx buffer to the retry buffer without waiting for the
0b corresponding data to be available.
11 When cleared, the packet transfer to the retry buffer will not occur until the Tx buffer
RW has the entire data phase available.
0b
10 Reserved (RSVD): Reserved.
RO
0b
9 Reserved (RSVD): Reserved.
RO
0b
8 Reserved (RSVD): Reserved.
RO
0b
7 Reserved (RSVD): Reserved.
RO
00b
6:5 Reserved (RSVD): Reserved.
RO
0b
4 Reserved (RSVD): Reserved.
RO
00b
3:2 Reserved (RSVD): Reserved.
RO
0b
1 Reserved (RSVD): Reserved.
RO
0b
0 Reserved (RSVD): Reserved.
RO
Default: 01110000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
UCEL
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
CCEL
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
PMCE
HPCE
HPME
PMME
0b Power Management SCI Enable (PMCE): Enables the root port to generate SCI
31
RW whenever a power management event is detected.
0b Hot Plug SCI Enable (HPCE): Enables the root port to generate SCI whenever a hot
30
RW plug event is detected.
0b
29 Reserved (RSVD): Reserved.
RO
0b
28 Reserved (RSVD): Reserved.
RO
0b
27 Reserved (RSVD): Reserved.
RO
0b
26 Reserved (RSVD): Reserved.
RO
0b
25 Reserved (RSVD): Reserved.
RO
1b
24 Reserved (RSVD): Reserved.
RO
0b
23 Reserved (RSVD): Reserved.
RO
0b
22 Reserved (RSVD): Reserved.
RO
0b
21 Reserved (RSVD): Reserved.
RO
100b Unique Clock Exit Latency (UCEL): This value represents the L0s Exit Latency for
20:18 unique-clock configurations (LCAP.CCC = '0'). It defaults to 512ns to less than 1us, but
RW may be overridden by BIOS.
010b Common Clock Exit Latency (CCEL): This value represents the L0s Exit Latency for
17:15 common-clock configurations (LCAP.CCC = '1'). It defaults to 128ns to less than 256ns,
RW but may be overridden by BIOS.
0b
14 Reserved (RSVD): Reserved.
RO
0b
13 Reserved (RSVD): Reserved.
RO
0b
12 Reserved (RSVD): Reserved.
RO
0h
11:8 Reserved (RSVD): Reserved.
RO
0b
7 Reserved (RSVD): Reserved.
RO
000b
6:4 Reserved (RSVD): Reserved.
RO
0b
3 Reserved (RSVD): Reserved.
RO
0b
2 Reserved (RSVD): Reserved.
RO
0b Hot Plug SMI Enable (HPME): Enables the root port to generate SMI whenever a hot
1
RW plug event is detected.
0b Power Management SMI Enable (PMME): Enables the root port to generate SMI
0
RW whenever a power management event is detected.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
RSVD
RSVD
PMCS
PMMS
HPCS
HPLAS
HPPDM
Bit Default &
Field Name (ID): Description
Range Access
0b Power Management SCI Status (PMCS): This bit is set if the root port PME control
31 logic needs to generate an interrupt, and this interrupt has been routed to generate an
RWC SCI.
0b Hot Plug SCI Status (HPCS): This bit is set if the hot plug controller needs to
30
RWC generate an interrupt, and has this interrupt been routed to generate an SCI.
0000000h
29:5 Reserved (RSVD): Reserved.
RO
0b Hot Plug Link Active State Changed SMI Status (HPLAS): This bit is set when
4 SLSTS.LASC transitions from '0' to '1', and MPC.HPME is set. When this bit is set, an
RWC SMI# will be generated.
0b
3 Reserved (RSVD): Reserved.
RO
0b
2 Reserved (RSVD): Reserved.
RO
0b Hot Plug Presence Detect SMI Status (HPPDM): This bit is set when SLSTS.PDC
1 transitions from '0' to '1', and MPC.HPME is set. When this bit is set, an SMI# will be
RWC generated.
0b Power Management SMI Status (PMMS): This bit is set when RSTS.PS transitions
0
RWC from '0' to '1', and MPC.PMME is set.
Default: 000C3043h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1
RSVD0
SBIC
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
RSVD
0b
31:24 RSVD0: Reserved
RO
0h
23:20 Reserved (RSVD): Reserved.
RO
11b
19:18 Reserved (RSVD): Reserved.
RO
Message Bus Idle Counter (SBIC): This register provides configuration flexibility to
00b govern when the Message Bus interface transitions to IDLE.
17:16
RW BIOS must program this field to 11b to prevent transitions to IDLE on the Message Bus
interface.
00b
15:14 Reserved (RSVD): Reserved.
RO
11b
13:12 Reserved (RSVD): Reserved.
RO
000b
11:9 Reserved (RSVD): Reserved.
RO
0b
8 Reserved (RSVD): Reserved.
RO
0b
7 Reserved (RSVD): Reserved.
RO
10b
6:5 Reserved (RSVD): Reserved.
RO
0b
4 Reserved (RSVD): Reserved.
RO
00b
3:2 Reserved (RSVD): Reserved.
RO
11b
1:0 Reserved (RSVD): Reserved.
RO
Access Method
Type: PCI Configuration Register
(Size: 32 bits) Offset: [B:0, D:23, F:0] + 100h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CID
NCO
CV
000h
31:20 Next Capability Offset (NCO): Set to 000h as this is the last capability in the list.
RWO
0h Capability Version (CV): For systems that support AER, BIOS should write a 1h to this
19:16
RWO register else it should write 0
0000h Capability ID (CID): For systems that support AER, BIOS should write a 0001h to this
15:0
RWO register else it should write 0
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 104h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
UC
RSVD_1
RSVD_2
RSVD
AVS
MT
URE
EE
RO
CA
CT
PT
SDE
FCPE
DLPE
TE
Bit Default &
Field Name (ID): Description
Range Access
000h
31:22 Reserved (RSVD): Reserved.
RO
0b
21 ACS Violation Status (AVS): Reserved. Access Control Services are not supported.
RO
0b
19 ECRC Error Status (EE): ECRC is not supported.
RO
0b
18 Malformed TLP Status (MT): Indicates a malformed TLP was received.
RWC/P
0b
17 Receiver Overflow Status (RO): Indicates a receiver overflow occurred.
RWC/P
0b
15 Completer Abort Status (CA): Indicates a completer abort was received.
RWC/P
0b Completion Timeout Status (CT): Indicates a completion timed out. This is signaled if
14 Completion Timeout is enabled and a completion fails to return within the amount of
RWC/P time specified by the Completion Timeout Value.
0b
13 Flow Control Protocol Error Status (FCPE): Not supported.
RO
0b
12 Poisoned TLP Status (PT): Indicates a poisoned TLP was received.
RWC/P
00h
11:6 Reserved (RSVD_1): Reserved.
RO
0b
5 Surprise Down Error Status (SDE): Surprise Down is not supported.
RO
0b Data Link Protocol Error Status (DLPE): Indicates a data link protocol error
4
RWC/P occurred.
000b
3:1 Reserved (RSVD_2): Reserved.
RO
0b
0 Training Error Status (TE): Not supported.
RO
Access Method
Type: PCI Configuration Register
(Size: 32 bits) Offset: [B:0, D:23, F:0] + 108h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
AVS
MT
URE
EE
RO
CT
FCPE
PT
SDE
DLPE
TE
UC
CM
RSVD_1
RSVD_2
Bit Default &
Field Name (ID): Description
Range Access
000h
31:22 Reserved (RSVD): Reserved.
RO
0b
21 ACS Violation Status (AVS): Reserved. Access Control Services are not supported.
RO
0b
20 Unsupported Request Error Mask (URE): Mask for uncorrectable errors.
RW/P
0b
19 ECRC Error Mask (EE): ECRC is not supported.
RO
0b
18 Malformed TLP Mask (MT): Mask for malformed TLPs.
RW/P
0b
17 Receiver Overflow Mask (RO): Mask for receiver overflows.
RW/P
0b
16 Unexpected Completion Mask (UC): Mask for unexpected completions.
RW/P
0b
15 Completer Abort Mask (CM): Mask for completer abort.
RW/P
0b
14 Completion Timeout Mask (CT): Mask for completion timeouts.
RW/P
0b
13 Flow Control Protocol Error Mask (FCPE): Not supported.
RO
0b
12 Poisoned TLP Mask (PT): Mask for poisoned TLPs.
RW/P
00h
11:6 Reserved (RSVD_1): Reserved.
RO
0b
5 Surprise Down Error Mask (SDE): Surprise Down is not supported.
RO
0b
4 Data Link Protocol Error Mask (DLPE): Mask for data link protocol errors.
RW/P
000b
3:1 Reserved (RSVD_2): Reserved.
RO
0b
0 Training Error Mask (TE): Not supported.
RO
Access Method
Type: PCI Configuration Register
(Size: 32 bits) Offset: [B:0, D:23, F:0] + 10Ch
Default: 00060011h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
AVS
MT
URE
SDE
EE
RO
CA
CT
FCPE
PT
DLPE
TE
UC
RSVD_1
RSVD_2
RSVD
000h
31:22 Reserved (RSVD): Reserved.
RO
0b
21 ACS Violation Severity (AVS): Reserved. Access Control Services are not supported.
RO
0b
19 ECRC Error Severity (EE): ECRC is not supported.
RO
1b
18 Malformed TLP Severity (MT): Severity for malformed TLP reception.
RW/P
1b
17 Receiver Overflow Severity (RO): Severity for receiver overflow occurrences.
RW/P
0b
15 Completer Abort Severity (CA): Severity for completer abort.
RW/P
0b
14 Completion Timeout Severity (CT): Severity for completion timeout.
RW/P
0b
13 Flow Control Protocol Error Severity (FCPE): Not supported.
RO
0b
12 Poisoned TLP Severity (PT): Severity for poisoned TLP reception.
RW/P
00h
11:6 Reserved (RSVD_1): Reserved.
RO
0b
5 Surprise Down Error Severity (SDE): Surprise Down is not supported.
RO
1b
4 Data Link Protocol Error Severity (DLPE): Severity for data link protocol errors.
RW/P
000b
3:1 Reserved (RSVD_2): Reserved.
RO
1b Training Error Severity (TE): TE not supported. This bit is left as RO='1' for ease of
0
RO implementation.
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 110h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD_1
RSVD_2
RSVD
RNR
ANFES
RTT
BD
BT
RE
00000h
31:14 Reserved (RSVD): Reserved.
RO
0b Advisory Non-Fatal Error Status (ANFES): When set, indicates that a Advisory Non-
13
RWC/P Fatal Error occurred.
0b
12 Replay Timer Timeout Status (RTT): Indicates the replay timer timed out.
RWC/P
000b
11:9 Reserved (RSVD_1): Reserved.
RO
0b
8 Replay Number Rollover Status (RNR): Indicates the replay number rolled over.
RWC/P
0b
7 Bad DLLP Status (BD): Indicates a bad DLLP was received.
RWC/P
0b
6 Bad TLP Status (BT): Indicates a bad TLP was received.
RWC/P
00h
5:1 Reserved (RSVD_2): Reserved.
RO
0b
0 Receiver Error Status (RE): Indicates a receiver error occurred.
RWC/P
Access Method
Type: PCI Configuration Register
(Size: 32 bits) Offset: [B:0, D:23, F:0] + 114h
Default: 00002000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
RTT
BD
BT
RE
ANFEM
RSVD_1
RSVD_2
RNR
Bit Default &
Field Name (ID): Description
Range Access
00000h
31:14 Reserved (RSVD): Reserved.
RO
Advisory Non-Fatal Error Mask (ANFEM): When set, masks Advisory Non-Fatal
1b errors from (a) signaling ERR_COR to the device control register and (b) updating the
13 Uncorrectable Error Status register.
RW/P This register is set by default to enable compatibility with software that does not
comprehend Role-Based Error Reporting.
0b
12 Replay Timer Timeout Mask (RTT): Mask for replay timer timeout.
RW/P
000b
11:9 Reserved (RSVD_1): Reserved.
RO
0b
8 Replay Number Rollover Mask (RNR): Mask for replay number rollover.
RW/P
0b
7 Bad DLLP Mask (BD): Mask for bad DLLP reception.
RW/P
0b
6 Bad TLP Mask (BT): Mask for bad TLP reception.
RW/P
00h
5:1 Reserved (RSVD_2): Reserved.
RO
0b
0 Receiver Error Mask (RE): Mask for receiver errors.
RW/P
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 118h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
ECE
EGE
ECC
EGC
FEP
Bit Default &
Field Name (ID): Description
Range Access
000000h
31:9 Reserved (RSVD): Reserved.
RO
0b
8 ECRC Check Enable (ECE): ECRC is not supported.
RO
0b
7 ECRC Check Capable (ECC): ECRC is not supported.
RO
0b
6 ECRC Generation Enable (EGE): ECRC is not supported.
RO
0b
5 ECRC Generation Capable (EGC): ECRC is not supported.
RO
00000b First Error Pointer (FEP): Identifies the bit position of the first error reported in the
4:0
RO/V/P Uncorrectable Error Status Register.
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 11Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DW1
00000000h
31:0 4th DWord of TLP (DW1): Byte12 and Byte13 and Byte14 and Byte15
RO/V/P
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 120h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DW2
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 3rd DWord of TLP (DW2): Byte8 and Byte9 and Byte10 and Byte11
RO/V/P
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 124h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DW2
00000000h
31:0 2nd DWord of TLP (DW2): Byte4 and Byte5 and Byte6 and Byte7
RO/V/P
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 128h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DW1
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 1st DWord of TLP (DW1): Byte0 and Byte1 and Byte2 and Byte3
RO/V/P
Access Method
Type: PCI Configuration Register
(Size: 32 bits) Offset: [B:0, D:23, F:0] + 12Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
FERE
NERE
CERE
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:3 Reserved (RSVD): Reserved.
RO
0b Fatal Error Reporting Enable (FERE): When set, the root port will generate an
2
RW interrupt when a fatal error is reported by the attached device.
0b Non-fatal Error Reporting Enable (NERE): When set, the root port will generate an
1
RW interrupt when a non-fatal error is reported by the attached device.
0b Correctable Error Reporting Enable (CERE): When set, the root port will generate
0
RW an interrupt when a correctable error is reported by the attached device.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0
AEMN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
NFEMR
FUF
FEMR
MENR
ENR
MCR
CR
Bit Default &
Field Name (ID): Description
Range Access
00h Advanced Error Interrupt Message Number (AEMN): Reserved. There is only one
31:27
RO error interrupt allocated.
00000h
26:7 Reserved (RSVD): Reserved.
RO
0b Fatal Error Message Received (FEMR): Set when one or more Fatal Uncorrectable
6
RWC/P Error Messages have been received.
0b Non-Fatal Error Messages Received (NFEMR): Set when one or more Non-Fatal
5
RWC/P Uncorrectable error messages have been received.
0b First Uncorrectable Fatal (FUF): Set when the first Uncorrectable Error message
4
RWC/P received is for a fatal error.
0b
0 ERR_COR Received (CR): Set when a correctable error message is received.
RWC/P
Access Method
Type: PCI Configuration Register Offset: [B:0, D:23, F:0] + 134h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EFNFSID
ECSID
0000h ERR_COR Source Identification (ECSID): Loaded with the Requester ID indicated in
15:0
RO/V/P the received ERR_COR Message with the ERR_COR Received register is not already set.
§§
The Intel® Quark™ SoC X1000 provides two 10/100 Mbps Ethernet controllers. Each
controller includes a MAC but not a PHY. The integrated controller is compatible with an
industry standard, RMII based Ethernet PHY.
15.2 Features:
• 10 and 100 Mbps data transfer rates with RMII interface to communicate with an
external Fast Ethernet PHY
• Compliant with RMII specification version 1.2 from RMII consortium
• Full-duplex operation:
— IEEE* 802.3x flow control automatic transmission of zero-quanta pause frame
on flow control input de-assertion
— Optional forwarding of received pause control frames to the user application
• Half-duplex operation:
— CSMA/CD Protocol support
• Preamble and start-of-frame data (SFD) insertion in transmit path
• Preamble and SFD deletion in the receive path
15.3 References
• IEEE 802.3TM Ethernet: http://standards.ieee.org/about/get/802/802.3.html
• Alert Standard Format Specification, Version 1.03: http://www.dmtf.org/standards/
asf
PCI Space
CPU
Core
Memory
Host Bridge Ethernet Space
D:0,F:0 PCI Header
PCI
D:20,F:6, F7
CAM
(I/O)
Bus 0
PCI MBAR
ECAM
(Mem)
RP0 F:0
PCIe*
D:23
Mem
D:21
SPI1 F:1
Registers
I2C*/GPIOF:2
Legacy Bridge
D:31, F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 317 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 317 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 318 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 319 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 320 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 321 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 321 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 322 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 323 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 324 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 326 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 326 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 0937h
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1
value
Bit Default &
Description
Range Access
0937h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
IntrDis
RSVD
RSVD
MasEn
MEMen
RSVD
SERREn
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
FastB2B
hasCapList
IntrStatus
SigSysErr
RcdMasAb
RSVD
DEVSEL
RSVD
RSVD
capable_66Mhz
RSVD0
RSVD1
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 02000010h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
rev_id
classCode
subClassCode
progIntf
Bit Default &
Description
Range Access
02h Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
00h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
00h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
BIST_capable
comp_code
start_bist
RSVD
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD
prefetchable
memType
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
AddrDecodeEn
ROM_base_addr
Bit Default &
Description
Range Access
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
value
RSVD0
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
03h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
PME_support
D2_support
D1_support
aux_curr
RSVD
PME_clock
version
DSI
Bit Default &
Description
Range Access
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
PME_status
no_soft_reset
Data_select
PME_en
RSVD
RSVD
Data_scale
power_state
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
Bit Default &
Description
Range Access
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
perVecMskCap
bit64Cap
multiMsgCap
MSIEnable
RSVD0
multiMsgEn
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD0
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
RSVD0
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
8h Bh “Hash Table High Register (Register 2) (GMAC_REG_2)—Offset 8h” on page 336 00000000h
Ch Fh “Hash Table Low Register (Register 3) (GMAC_REG_3)—Offset Ch” on page 336 00000000h
10h 13h “GMII Address Register (Register 4) (GMAC_REG_4)—Offset 10h” on page 337 00000000h
14h 17h “GMII Data Register (Register 5) (GMAC_REG_5)—Offset 14h” on page 338 00000000h
18h 1Bh “Flow Control Register (Register 6) (GMAC_REG_6)—Offset 18h” on page 339 00000000h
1Ch 1Fh “VLAN Tag Register (Register 7) (GMAC_REG_7)—Offset 1Ch” on page 340 00000000h
20h 23h “Version Register (Register 8) (GMAC_REG_8)—Offset 20h” on page 341 00001037h
24h 27h “Debug Register (Register 9) (GMAC_REG_9)—Offset 24h” on page 342 00000000h
38h 3Bh “Interrupt Register (Register 14) (GMAC_REG_14)—Offset 38h” on page 343 00000000h
3Ch 3Fh “Interrupt Mask Register (Register 15) (GMAC_REG_15)—Offset 3Ch” on page 344 00000000h
40h 43h “MAC Address0 High Register (Register 16) (GMAC_REG_16)—Offset 40h” on page 345 8000FFFFh
44h 47h “MAC Address0 Low Register (Register 17) (GMAC_REG_17)—Offset 44h” on page 345 FFFFFFFFh
100h 103h “MMC Control Register (Register 64) (GMAC_REG_64)—Offset 100h” on page 346 00000000h
104h 107h “MMC Receive Interrupt Register (MMC_INTR_RX)—Offset 104h” on page 347 00000000h
108h 10Bh “MMC Transmit Interrupt Register (MMC_INTR_TX)—Offset 108h” on page 349 00000000h
“MMC Transmit 128 to 255 Octet Good Bad Frame Counter Register
12Ch 12Fh 00000000h
(TX128TO255OCTETS_GB)—Offset 12Ch” on page 358
“MMC Transmit 256 to 511 Octet Good Bad Frame Counter Register
130h 133h 00000000h
(TX256TO511OCTETS_GB)—Offset 130h” on page 358
“MMC Transmit 512 to 1023 Octet Good Bad Frame Counter Register
134h 137h 00000000h
(TX512TO1023OCTETS_GB)—Offset 134h” on page 358
“MMC Transmit 1024 to Maximum Octet Good Bad Frame Counter Register
138h 13Bh 00000000h
(TX1024TOMAXOCTETS_GB)—Offset 138h” on page 359
“MMC Receive 128 to 255 Octet Good Bad Frame Counter Register
1B4h 1B7h 00000000h
(RX128TO255OCTETS_GB)—Offset 1B4h” on page 372
“MMC Receive 256 to 511 Octet Good Bad Frame Counter Register
1B8h 1BBh 00000000h
(RX256TO511OCTETS_GB)—Offset 1B8h” on page 373
“MMC Receive 512 to 1023 Octet Good Bad Frame Counter Register
1BCh 1BFh 00000000h
(RX512TO1023OCTETS_GB)—Offset 1BCh” on page 373
“MMC Receive 1024 to Maximum Octet Good Bad Frame Counter Register
1C0h 1C3h 00000000h
(RX1024TOMAXOCTETS_GB)—Offset 1C0h” on page 374
1E0h 1E3h “MMC Receive Error Frame Counter Register (RXRCVERROR)—Offset 1E0h” on page 377 00000000h
1000h 1003h “Bus Mode Register (Register 0) (DMA_REG_0)—Offset 1000h” on page 404 00020101h
1004h 1007h “Transmit Poll Demand Register (Register 1) (DMA_REG_1)—Offset 1004h” on page 406 00000000h
1008h 100Bh “Receive Poll Demand Register (Register 2) (DMA_REG_2)—Offset 1008h” on page 406 00000000h
1014h 1017h “Status Register (Register 5) (DMA_REG_5)—Offset 1014h” on page 408 00000000h
1018h 101Bh “Operation Mode Register (Register 6) (DMA_REG_6)—Offset 1018h” on page 411 00000000h
101Ch 101Fh “Interrupt Enable Register (Register 7) (DMA_REG_7)—Offset 101Ch” on page 414 00000000h
102Ch 102Fh “AHB Status Register (Register 11) (DMA_REG_11)—Offset 102Ch” on page 416 00000000h
1058h 105Bh “HW Feature Register (Register 22) (DMA_REG_22)—Offset 1058h” on page 419 4B0F3915h
Access Method
Default: 00008000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV3
SARC
RSV1
IFG
RSV0
DC
LM
DM
IPC
DR
BL
PRELEN
PE2K
WD
JD
BE
JE
DCRS
FES
DO
LUD
ACS
TE
RE
Bit Default &
Field Name (ID): Description
Range Access
0b
31 Reserved (RSV3): Reserved.
RO
Source Address Insertion or Replacement Control (SARC): This field controls the
source address insertion or replacement for all transmitted frames.
When Bit 30 is set to 0, the MAC replaces the content of the MAC Address 0 registers
(registers 16 and 17) in the SA field of all transmitted frames based on the values of Bits
[29:28]:
000b - 2b0x: SA insertion is controlled by the internal signal from the MTL layer.
30:28 - 2b10: if Bit 30 is set to 0, the MAC inserts the content of the MAC Address 0 registers
RW (registers 16 and 17) in the SA field of all transmitted frames.
- 2b11: if Bit 30 is set to 0, the MAC replaces the content of the MAC Address 0 registers
(registers 16 and 17) in the SA field of all transmitted frames.
NOTE:Changes to this field take effect only on the start of a frame. If you write this
register field when a frame is being transmitted, only the subsequent frame can use the
updated value, that is, the current frame does not use the updated value.
IEEE 802.3as support for 2K packets Enable (PE2K): When set, the MAC considers
all frames, with up to 2,000 bytes length, as normal packets. When Bit 20 (Jumbo
0b Enable) is not set, the MAC considers all received frames of size more than 2K bytes as
27 Giant frames. When this bit is reset and Bit 20 (Jumbo Enable) is not set, the MAC
RW considers all received frames of size more than 1,518 bytes (1,522 bytes for tagged) as
Giant frames. When Bit 20 (Jumbo Enable) is set, setting this bit has no effect on Giant
Frame status.
000b
26:24 Reserved (RSV1): Reserved.
RO
Watchdog Disable (WD): When this bit is set, the MAC disables the watchdog timer
0b on the receiver. The MAC can receive frames of up to 16,384 bytes.
23 When this bit is reset, the MAC does not allow more than 2,048 bytes (10,240 if JE is set
RW high) of the frame being received. The MAC cuts off any bytes received after 2,048
bytes.
Jabber Disable (JD): When this bit is set, the MAC disables the jabber timer on the
0b transmitter. The MAC can transfer frames of up to 16,384 bytes. When this bit is reset,
22
RW the MAC cuts off the transmitter if the application sends out more than 2,048 bytes of
data (10,240 if JE is set high) during transmission.
0b
21 Reserved (BE): Reserved.
RW
0b Jumbo Frame Enable (JE): When this bit is set, the MAC allows Jumbo frames of
20 9,018 bytes (9,022 bytes for VLAN tagged frames) without reporting a giant frame error
RW in the receive frame status.
Inter-Frame Gap (IFG): These bits control the minimum IFG between frames during
transmission.
000: 96 bit times
000b 001: 88 bit times
19:17
RW 010: 80 bit times
111: 40 bit times
In the half-duplex mode, the minimum IFG can be configured only for 64 bit times (IFG
= 100). Lower values are not considered.
Disable Carrier Sense During Transmission (DCRS): When set high, this bit makes
0b the MAC transmitter ignore the MII CRS signal during frame transmission in the half-
16 duplex mode. This request results in no errors generated because of Loss of Carrier or
RW No Carrier during such transmission. When this bit is low, the MAC transmitter
generates such errors because of Carrier Sense and can even abort the transmissions.
0b RMII Speed (FES): This bit selects the speed in the RMII interface:
14 0: 10 Mbps
RW 1: 100 Mbps
Disable Receive Own (DO): When this bit is set, the MAC disables the reception of
0b frames when the gmii_txen_o is asserted in the half-duplex mode. When this bit is
13
RW reset, the MAC receives all packets that are given by the PHY while transmitting.
This bit is not applicable if the MAC is operating in the full-duplex mode.
0b Loopback Mode (LM): When this bit is set, the MAC operates in the loopback mode at
12
RW MII.
0b Duplex Mode (DM): When this bit is set, the MAC operates in the full-duplex mode
11
RW where it can transmit and receive simultaneously.
Checksum Offload (IPC): When this bit is set, the MAC calculates the 16-bit ones
complement of the ones complement sum of all received Ethernet frame payloads. It
also checks whether the IPv4 Header checksum (assumed to be bytes 2526 or 2930
(VLAN-tagged) of the received Ethernet frame) is correct for the received frame and
gives the status in the receive status word. The MAC also appends the 16-bit checksum
0b calculated for the IP header datagram payload (bytes after the IPv4 header) and
10 appends it to the Ethernet frame transferred to the application (when Type 2 COE is
RW deselected).
When this bit is reset, this function is disabled.
As Type 2 COE (Checksum Offload Engine) is supported, this bit, when set, enables the
IPv4 header checksum checking and IPv4 or IPv6 TCP, UDP, or ICMP payload checksum
checking. When this bit is reset, the COE function in the receiver is disabled and the
corresponding PCE and IP HCE status bits are always cleared.
Disable Retry (DR): When this bit is set, the MAC attempts only one transmission.
When a collision occurs on the MII interface, the MAC ignores the current frame
0b transmission and reports a Frame Abort with excessive collision error in the transmit
9
RW frame status.
When this bit is reset, the MAC attempts retries based on the settings of the BL field
(Bits [6:5]). This bit is applicable only in the half-duplex mode.
0b
8 Reserved (LUD): Reserved.
RO
Automatic Pad or CRC Stripping (ACS): When this bit is set, the MAC strips the Pad
or FCS (Frame Check Sequence) field on the incoming frames only if the value of the
0b length field is less than 1,536 bytes. All received frames with length field greater than or
7
RW equal to 1,536 bytes are passed to the application without stripping the Pad or FCS field.
When this bit is reset, the MAC passes all incoming frames, without modifying them, to
the Host.
Back-Off Limit (BL): The Back-Off limit determines the random integer number (r) of
slot time delays (512 bit times for 10/100 Mbps) for which the MAC waits before
rescheduling a transmission attempt during retries after a collision. This bit is applicable
only in the half-duplex mode.
00b 00: k = min (n, 10)
6:5
RW 01: k = min (n, 8)
10: k = min (n, 4)
11: k = min (n, 1)
where n = retransmission attempt. The random integer r takes the value in the range 0
(= r ( kth power of 2
Deferral Check (DC): When this bit is set, the deferral check function is enabled in the
MAC. The MAC issues a Frame Abort status, along with the excessive deferral error bit
set in the transmit frame status, when the transmit state machine is deferred for more
than 24,288 bit times in the 10 or 100 Mbps mode. If the Jumbo frame mode is enabled
0b in the 10 or 100 Mbps mode, the threshold for deferral is 155,680 bits times. Deferral
4 begins when the transmitter is ready to transmit, but is prevented because of an active
RW carrier sense signal (CRS) on MII. Defer time is not cumulative. When the transmitter
defers for 10,000 bit times, it transmits, collides, backs off, and then defers again after
completion of back-off. The deferral timer resets to 0 and restarts.
When this bit is reset, the deferral check function is disabled and the MAC defers until
the CRS signal goes inactive. This bit is applicable only in the half-duplex mode.
Transmitter Enable (TE): When this bit is set, the transmit state machine of the MAC
0b is enabled for transmission on the MII. When this bit is reset, the MAC transmit state
3
RW machine is disabled after the completion of the transmission of the current frame, and
does not transmit any further frames.
Receiver Enable (RE): When this bit is set, the receiver state machine of the MAC is
0b enabled for receiving frames from the MII. When this bit is reset, the MAC receive state
2
RW machine is disabled after the completion of the reception of the current frame, and does
not receive any further frames from the MII.
Preamble Length for Transmit Frames (PRELEN): These bits control the number of
preamble bytes that are added to the beginning of every Transmit frame. The preamble
00b reduction occurs only when the MAC is operating in the full-duplex mode.
1:0 2'b00: 7 bytes of preamble
RW 2'b01: 5 byte of preamble
2'b10: 3 bytes of preamble
2'b11: reserved
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 4h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RA
VTFE
RSV1
RSV0
SAF
SAIF
DBF
HMC
HUC
HPF
PCF
PM
DAIF
PR
Receive All (RA): When this bit is set, the MAC Receiver module passes all received
frames, irrespective of whether they pass the address filter or not, to the Application.
0b The result of the SA or DA filtering is updated (pass or fail) in the corresponding bits in
31
RW the Receive Status Word.
When this bit is reset, the Receiver module passes only those frames to the Application
that pass the SA or DA address filter.
0b
30:17 Reserved (RSV1): Reserved.
RO
VLAN Tag Filter Enable (VTFE): When set, this bit enables the MAC to drop VLAN
0b tagged frames that do not match the VLAN Tag comparison.
16
RW When reset, the MAC forwards all frames irrespective of the match status of the VLAN
Tag.
00000b
15:11 Reserved (RSV0): Reserved.
RO
Hash or Perfect Filter (HPF): When this bit is set, it configures the address filter to
0b pass a frame if it matches either the perfect filtering or the hash filtering as set by the
10 HMC or HUC bits.
RW When this bit is low and the HUC or HMC bit is set, the frame is passed only if it matches
the Hash filter.
Source Address Filter Enable (SAF): When this bit is set, the MAC compares the SA
field of the received frames with the values programmed in the enabled SA registers. If
0b the comparison matches, then the SA Match bit of RxStatus Word is set high. When this
9
RW bit is set high and the SA filter fails, the MAC drops the frame.
When this bit is reset, the MAC forwards the received frame to the application and with
the updated SA Match bit of the RxStatus depending on the SA address comparison.
SA Inverse Filtering (SAIF): When this bit is set, the Address Check block operates in
0b inverse filtering mode for the SA address comparison. The frames whose SA matches
8 the SA registers are marked as failing the SA Address filter.
RW When this bit is reset, frames whose SA does not match the SA registers are marked as
failing the SA Address filter.
Pass Control Frames (PCF): These bits control the forwarding of all control frames
(including unicast and multicast PAUSE frames).
00: MAC filters all control frames from reaching the application.
01: MAC forwards all control frames except PAUSE control frames to application even if
they fail the Address filter.
10: MAC forwards all control frames to application even if they fail the Address Filter.
11: MAC forwards control frames that pass the Address Filter.
The following conditions should be true for the PAUSE control frames processing:
Condition 1: The MAC is in the full-duplex mode and flow control is enabled by setting
Bit 2 (RFE) of Register 6 (Flow Control Register) to 1.
00b Condition 2: The destination address (DA) of the received frame matches the special
7:6
RW multicast address or the MAC Address 0 when Bit 3 (UP) of the Register 6 (Flow Control
Register) is set.
Condition 3: The Type field of the received frame is 0x8808 and the OPCODE field is
0x0001.
NOTE:
This field should be set to 01 only when the Condition 1 is true, that is, the MAC is
programmed to operate in the full-duplex mode and the RFE bit is enabled. Otherwise,
the PAUSE frame filtering may be inconsistent. When Condition 1 is false, the PAUSE
frames are considered as generic control frames. Therefore, to pass all control frames
(including PAUSE control frames) when the full-duplex mode and flow control is not
enabled, you should set the PCF field to 10 or 11 (as required by the application).
0b Disable Broadcast Frames (DBF): When this bit is set, the AFM module filters all
5 incoming broadcast frames. In addition, it overrides all other filter settings.
RW When this bit is reset, the AFM module passes all received broadcast frames.
0b Pass All Multicast (PM): When set, this bit indicates that all received frames with a
4 multicast destination address (first bit in the destination address field is '1') are passed.
RW When reset, filtering of multicast frame depends on HMC bit.
DA Inverse Filtering (DAIF): When this bit is set, the Address Check block operates
0b in inverse filtering mode for the DA address comparison for both unicast and multicast
3
RW frames.
When reset, normal filtering of frames is performed.
Hash Multicast (HMC): When set, MAC performs destination address filtering of
0b received multicast frames according to the hash table.
2
RW When reset, the MAC performs a perfect destination address filtering for multicast
frames, that is, it compares the DA field with the values programmed in DA registers.
Hash Unicast (HUC): When set, MAC performs destination address filtering of unicast
0b frames according to the hash table.
1
RW When reset, the MAC performs a perfect destination address filtering for unicast frames,
that is, it compares the DA field with the values programmed in DA registers.
0b Promiscuous Mode (PR): When this bit is set, the Address Filter module passes all
0 incoming frames regardless of its destination or source address. The SA or DA Filter Fails
RW status bits of the Receive Status Word are always cleared when PR is set.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
HTH
00000000h
31:0 Hash Table High (HTH): This field contains the upper 32 bits of the Hash table.
RW
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
HTL
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Hash Table Low (HTL): This field contains the lower 32 bits of the Hash table.
RW
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 10h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PA
RSV0
GR
CR
GW
GB
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:16 Reserved (RSV0): Reserved.
RO
00000b Physical Layer Address (PA): This field indicates which of the 32 possible PHY
15:11
RW devices are being accessed.
00000b GMII Register (GR): These bits select the desired GMII register in the selected PHY
10:6
RW device.
CSR Clock Range (CR): The CSR Clock Range selection determines the frequency of
the serial management clock (MDC) according to the system clock (clk_csr_i) frequency
used in your design, which is 133MHz. When Bit[5] = 0 allowed values are:
- 0001: The frequency of the clk_csr_i clock is 100-150 MHz and the MDC clock is
clk_csr_i/62.
- 0010: The frequency of the clk_csr_i clock is 20-35 MHz and the MDC clock is
clk_csr_i/16.
- 0011: The frequency of the clk_csr_i clock is 35-60 MHz and the MDC clock is
clk_csr_i/26.
- 0100: The frequency of the clk_csr_i clock is 150-250 MHz and the MDC clock is
clk_csr_i/102.
- 0100: The frequency of the clk_csr_i clock is 250-300 MHz and the MDC clock is
0000b clk_csr_i/124.
5:2 - 0110 and 0111: Reserved
RW Based on a system clock of 133MHz, the CR value that ensures the MDC clock is
approximately between the frequency range 1.0 MHz - 2.5 MHz is 0010
When Bit 5 is set, you can achieve MDC clock of frequency higher than the IEEE 802.3
specified frequency limit of 2.5 MHz and program a clock divider of lower value.
Program the following values only if the interfacing chips support faster MDC clocks:
- 1000: clk_csr_i/4
- 1001: clk_csr_i/6
- 1010: clk_csr_i/8
- 1011: clk_csr_i/10
- 1100: clk_csr_i/12
- 1101: clk_csr_i/14
- 1110: clk_csr_i/16
- 1111: clk_csr_i/18
0b GMII Write (GW): When set, this bit indicates to the PHY that this is a Write operation
1 using the GMII Data register. If this bit is not set, it indicates that this is a Read
RW operation, that is, placing the data in the GMII Data register.
GMII Busy (GB): This bit should read logic 0 before writing to Register 4 and Register
5. During a PHY register access, the software sets this bit to 1'b1 to indicate that a Read
or Write access is in progress.
The Register 5 is invalid until this bit is cleared by the MAC. Therefore, Register 5 (GMII
0b Data) should be kept valid until the MAC clears this bit during a PHY Write operation.
0 Similarly for a read operation, the contents of Register 5 are not valid until this bit is
RW cleared.
The subsequent read or write operation should happen only after the previous operation
is complete. Because there is no acknowledgment from the PHY to MAC after a read or
write operation is completed, there is no change in the functionality of this bit even
when the PHY is not present.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 14h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
GD
RSV0
0000h
31:16 Reserved (RSV0): Reserved.
RO
0000h GMII Data (GD): This field contains the 16-bit data value read from the PHY after a
15:0 Management Read operation or the 16-bit data value to be written to the PHY before a
RW Management Write operation.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 18h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0RSV1 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
PT
DZPQ
PLT
RFE
TFE
FCB_BPA
UP
Bit Default &
Field Name (ID): Description
Range Access
Pause Time (PT): This field holds the value to be used in the Pause Time field in the
0000h transmit control frame. If the Pause Time bits is configured to be double-synchronized to
31:16
RW the MII clock domain, then consecutive writes to this register should be performed only
after at least four clock cycles in the destination clock domain.
00h
15:8 Reserved (RSV1): Reserved.
RO
Disable Zero-Quanta Pause (DZPQ): When this bit is set, it disables the automatic
0b generation of the Zero-Quanta Pause Control frames on the de-assertion of the flow-
7
RW control signal from the FIFO layer. When this bit is reset, normal operation with
automatic Zero-Quanta Pause Control frame generation is enabled.
0b
6 Reserved (RSV0): Reserved.
RO
Pause Low Threshold (PLT): This field configures the threshold of the PAUSE timer at
which the flow-control signal from the FIFO layer is checked for automatic
retransmission of PAUSE Frame.
The threshold values should be always less than the Pause Time configured in
Bits[31:16]. For example, if PT = 100H (256 slot-times), and PLT = 01, then a second
PAUSE frame is automatically transmitted if the flow-control signal from the FIFO layer
00b is asserted at 228 (256 - 28) slot times after the first PAUSE frame is transmitted.
5:4
RW The following list provides the threshold values for different values:
00: The threshold is Pause time minus 4 slot times (PT - 4 slot times).
01: The threshold is Pause time minus 28 slot times (PT - 28 slot times).
10: The threshold is Pause time minus 144 slot times (PT - 144 slot times).
11: The threshold is Pause time minus 256 slot times (PT - 256 slot times).
The slot time is defined as the time taken to transmit 512 bits (64 bytes) on the MII
interface.
Unicast Pause Frame Detect (UP): When this bit is set, then in addition to the
0b detecting Pause frames with the unique multicast address, the MAC detects the Pause
3 frames with the station's unicast address specified in the MAC Address0 High Register
RW and MAC Address0 Low Register. When this bit is reset, the MAC detects only a Pause
frame with the unique multicast address specified in the 802.3x standard.
0b Receive Flow Control Enable (RFE): When this bit is set, the MAC decodes the
2 received Pause frame and disables its transmitter for a specified (Pause) time. When this
RW bit is reset, the decode function of the Pause frame is disabled.
Transmit Flow Control Enable (TFE): In the full-duplex mode, when this bit is set,
the MAC enables the flow control operation to transmit Pause frames. When this bit is
0b reset, the flow control operation in the MAC is disabled, and the MAC does not transmit
1
RW any Pause frames.
In half-duplex mode, when this bit is set, the MAC enables the back-pressure operation.
When this bit is reset, the back-pressure feature is disabled.
Flow Control Busy or Backpressure Activate (FCB_BPA): This bit initiates a Pause
Control frame in the full-duplex mode and activates the backpressure function in the
half-duplex mode if the TFE bit is set.
In the full-duplex mode, this bit should be read as 1'b0 before writing to the Flow
Control register. To initiate a Pause control frame, the Application must set this bit to
1'b1. During a transfer of the Control Frame, this bit continues to be set to signify that a
0b frame transmission is in progress. After the completion of Pause control frame
0 transmission, the MAC resets this bit to 1'b0. The Flow Control register should not be
RW written to until this bit is cleared.
In the half-duplex mode, when this bit is set (and TFE is set), then backpressure is
asserted by the MAC. During backpressure, when the MAC receives a new frame, the
transmitter starts sending a JAM pattern resulting in a collision. This control register bit
is logically ORed with the flow-control signal from the FIFO layer for the backpressure
function. When the MAC is configured for the full-duplex mode, the BPA is automatically
disabled.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ESVL
VL
ETV
RSV0
VTHM
VTIM
Bit Default &
Field Name (ID): Description
Range Access
000h
31:20 Reserved (RSV0): Reserved.
RO
VLAN Tag Hash Table Match Enable (VTHM): When set, the most significant four
bits of the VLAN tags CRC are used to index the content of Register 354 (VLAN Hash
0b Table Register). A value of 1 in the VLAN Hash Table register, corresponding to the
19 index, indicates that the frame matched the VLAN hash table. When Bit 16 (ETV) is set,
RW the CRC of the 12-bit VLAN Identifier (VID) is used for comparison whereas when ETV is
reset, the CRC of the 16-bit VLAN tag is used for comparison.
When reset, the VLAN Hash Match operation is not performed.
0b Enable S-VLAN (ESVL): When this bit is set, the MAC transmitter and receiver also
18
RW consider the S-VLAN (Type = 0x88A8) frames as valid VLAN tagged frames.
VLAN Tag Inverse Match Enable (VTIM): When set, this bit enables the VLAN Tag
0b inverse matching. The frames that do not have matching VLAN Tag are marked as
17 matched.
RW When reset, this bit enables the VLAN Tag perfect matching. The frames with matched
VLAN Tag are marked as matched.
Enable 12-Bit VLAN Tag Comparison (ETV): When this bit is set, a 12-bit VLAN
identifier is used for comparing and filtering instead of the complete 16-bit VLAN tag.
0b Bits [11:0] of VLAN tag are compared with the corresponding field in the received VLAN-
16 tagged frame. Similarly, when enabled, only 12 bits of the VLAN tag in the received
RW frame are used for hash-based VLAN filtering.
When this bit is reset, all 16 bits of the 15th and 16th bytes of the received VLAN frame
are used for comparison and VLAN hash filtering.
VLAN Tag Identifier for Receive Frames (VL): This field contains the 802.1Q VLAN
tag to identify the VLAN frames and is compared to the 15th and 16th bytes of the
frames being received for VLAN frames. The following list describes the bits of this field:
Bits [15:13]: User Priority
0000h Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI)
15:0
RW Bits[11:0]: VLAN tag's VLAN Identifier (VID) field
When the ETV bit is set, only the VID (Bits[11:0]) is used for comparison. If VL
(VL[11:0] if ETV is set) is all zeros, the MAC does not check the fifteenth and 16th bytes
for VLAN tag comparison, and declares all frames with a Type field value of 0x8100 or
0x88a8 as VLAN frames.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 20h
(Size: 32 bits)
Default: 00001037h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 1
USERVER
SNPSVER
RSV0
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:16 RSV0: Reserved
RO
10h
15:8 User-defined Version (1.0) (USERVER): Reserved.
RO
37h
7:0 Synopsys-defined Version (3.7) (SNPSVER): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 24h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV4
RSV3
RSV2
RSV1
RSV0
TWCSTS
TXPAUSED
RPESTS
TXFSTS
TRCSTS
TFCSTS
TPESTS
RXFSTS
RRCSTS
RWCSTS
RFCFCSTS
Bit Default &
Field Name (ID): Description
Range Access
0000000b
31:25 Reserved (RSV4): Reserved.
RO
0b MTL Tx FIFO Not Empty Status (TXFSTS): When high, this bit indicates that the MTL
24
RO Tx FIFO is not empty and some data is left for transmission.
0b
23 Reserved (RSV3): Reserved.
RO
0b MTL Tx FIFO Write Controller Active Status (TWCSTS): When high, this bit
22 indicates that the MTL Tx FIFO Write Controller is active and transferring data to the Tx
RO FIFO.
MTL Tx FIFO Read Controller Status (TRCSTS): This field indicates the state of the
Tx FIFO Read Controller:
00b 00: IDLE state
21:20
RO 01: READ state (transferring data to MAC transmitter)
10: Waiting for TxStatus from MAC transmitter
11: Writing the received TxStatus or flushing the Tx FIFO
0b MAC transmitter in PAUSE (TXPAUSED): When high, this bit indicates that the MAC
19 transmitter is in the PAUSE condition (in the full-duplex only mode) and hence does not
RO schedule any frame for transmission.
MAC Transmit Frame Controller Status (TFCSTS): This field indicates the state of
the MAC Transmit Frame Controller module:
00b 00: IDLE state
18:17
RO 01: Waiting for Status of previous frame or IFG or backoff period to be over
10: Generating and transmitting a PAUSE control frame (in the full-duplex mode)
11: Transferring input frame for transmission
0b MAC MII Transmit Protocol Engine Status (TPESTS): When high, this bit indicates
16 that the MAC MII transmit protocol engine is actively transmitting data and is not in the
RO IDLE state.
000000b
15:10 Reserved (RSV2): Reserved.
RO
MTL Rx FIFO Fill-level Status (RXFSTS): This field gives the status of the fill-level of
the Rx FIFO:
00b 00: Rx FIFO Empty
9:8
RO 01: Rx FIFO fill level is below the flow-control deactivate threshold
10: Rx FIFO fill level is above the flow-control activate threshold
11: Rx FIFO Full
0b
7 Reserved (RSV1): Reserved.
RO
MTL Rx FIFO Read Controller State (RRCSTS): This field gives the state of the Rx
FIFO read Controller:
00b 00: IDLE state
6:5
RO 01: Reading frame data
10: Reading frame status (or timestamp)
11: Flushing the frame data and status
0b MTL Rx FIFO Write Controller Active Status (RWCSTS): When high, this bit
4 indicates that the MTL Rx FIFO Write Controller is active and is transferring a received
RO frame to the FIFO.
0b
3 Reserved (RSV0): Reserved.
RO
00b MAC Receive Frame Controller FIFO Status (RFCFCSTS): When high, this field
2:1 indicates the active state of the small FIFO Read and Write controllers of the MAC
RO Receive Frame Controller Module.
0b MAC MII Receive Protocol Engine Status (RPESTS): When high, this bit indicates
0
RO that the MAC MII receive protocol engine is actively receiving data and not in IDLE state.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 38h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSIS
MMCRXIPIS
MMCIS
MMCTXIS
MMCRXIS
RSV4
RSV2
RSV0
Bit Default &
Field Name (ID): Description
Range Access
000000h
31:10 Reserved (RSV4): Reserved.
RO
0b
8 Reserved (RSV2): Reserved.
RO
0b MMC Receive Checksum Offload Interrupt Status (MMCRXIPIS): This bit is set
7 high when an interrupt is generated in the MMC Receive Checksum Offload Interrupt
RO Register. This bit is cleared when all the bits in this interrupt register are cleared.
0b MMC Transmit Interrupt Status (MMCTXIS): This bit is set high when an interrupt is
6 generated in the MMC Transmit Interrupt Register. This bit is cleared when all the bits in
RO this interrupt register are cleared.
0b MMC Receive Interrupt Status (MMCRXIS): This bit is set high when an interrupt is
5 generated in the MMC Receive Interrupt Register. This bit is cleared when all the bits in
RO this interrupt register are cleared.
0b MMC Interrupt Status (MMCIS): This bit is set high when any of the Bits [7:5] is set
4
RO high and cleared only when all of these bits are low.
0000b
3:0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 3Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV3
TSIM
RSV0
000000h
31:10 Reserved (RSV3): Reserved.
RO
Timestamp Interrupt Mask (TSIM): When set, this bit disables the assertion of the
0b interrupt signal because of the setting of Timestamp Interrupt Status bit in Register 14
9
RW (Interrupt Status Register). This bit is valid only when IEEE1588 timestamping is
enabled. In all other modes, this bit is reserved.
0b
8:0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 40h
(Size: 32 bits)
Default: 8000FFFFh
31 28 24 20 16 12 8 4 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ADDRHI
RSV0
AE
1b
31 Address Enable (AE): This bit is always set to 1.
RO
0000h
30:16 Reserved (RSV0): Reserved.
RO
ffffh MAC Address0 High (ADDRHI): This field contains the upper 16 bits (47:32) of the
15:0 first 6-byte MAC address. The MAC uses this field for filtering the received frames and
RW inserting the MAC address in the Transmit Flow Control (PAUSE) Frames.
Access Method
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ADDRLO
Bit Default &
Field Name (ID): Description
Range Access
ffffffffh MAC Address0 Low (ADDRLO): This field contains the lower 32 bits of the first 6-byte
31:0 MAC address. This is used by the MAC for filtering the received frames and inserting the
RW MAC address in the Transmit Flow Control (PAUSE) Frames.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 100h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNTPRST
CNTRST
UCDBC
RSV1
RSV0
CNTSTOPRO
CNTPRSTLVL
CNTFREEZ
RSTONRD
000000h
31:9 Reserved (RSV1): Reserved.
RO
Update MMC Counters for Dropped Broadcast Frames (UCDBC): When set, this
0b bit enables MAC to update all the related MMC Counters for Broadcast frames dropped
8
RW due to setting of DBF bit (Disable Broadcast Frames) of MAC Filter Register at offset
0x0004. When reset, MMC Counters are not updated for dropped Broadcast frames.
00b
7:6 Reserved (RSV0): Reserved.
RO
Full-Half Preset (CNTPRSTLVL): When low and bit 4 is set, all MMC counters get
preset to almost-half value. All octet counters get preset to 0x7FFF_F800 (half -
2KBytes) and all frame-counters gets preset to 0x7FFF_FFF0 (half - 16). When this bit is
0b high and bit 4 is set, all MMC counters get preset to almost-full value. All octet counters
5
RW get preset to 0xFFFF_F800 (full - 2KBytes) and all frame-counters gets preset to
0xFFFF_FFF0 (full - 16). For 16-bit counters, the almost-half preset values are 0x7800
and 0x7FF0 for the respective octet and frame counters. Similarly, the almost-full preset
values for the 16-bit counters are 0xF800 and 0xFFF0.
Counters Preset (CNTPRST): When this bit is set, all counters are initialized or preset
0b to almost full or almost half according to bit 5. This bit is cleared automatically after 1
4
RW clock cycle. This bit, along with bit 5, is useful for debugging and testing the assertion of
interrupts because of MMC counter becoming half-full or full.
MMC Counter Freeze (CNTFREEZ): When this bit is set, it freezes all MMC counters to
0b their current value. Until this bit is reset to 0, no MMC counter is updated because of any
3
RW transmitted or received frame. If any MMC counter is read with the Reset on Read bit
set, then that counter is also cleared in this mode
0b Reset on Read (RSTONRD): When this bit is set, the MMC counters are reset to zero
2 after Read (self-clearing after reset). The counters are cleared when the least significant
RW byte lane (bits[7:0]) is read.
0b Counters Stop Rollover (CNTSTOPRO): When this bit is set, after reaching
1
RW maximum value, the counter does not roll over to zero.
0b Counters Reset (CNTRST): When this bit is set, all counters are reset. This bit is
0
RW cleared automatically after one clock cycle.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 104h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
RX512T1023OCTGBFIS
RX256T511OCTGBFIS
RX128T255OCTGBFIS
RXCTRLFIS
RXRCVERRFIS
RXWDOGFIS
RXVLANGBFIS
RXPAUSFIS
RX65T127OCTGBFIS
RXALGNERFIS
RXFOVFIS
RXORANGEFIS
RXUCGFIS
RX1024TMAXOCTGBFIS
RX64OCTGBFIS
RXJABERFIS
RXMCGFIS
RXGBFRMIS
RXLENERFIS
RXOSIZEGFIS
RXUSIZEGFIS
RXRUNTFIS
RXCRCERFIS
RXBCGFIS
RXGOCTIS
RXGBOCTIS
000000b
31:26 Reserved (RSV0): Reserved.
RO
0b MMC Receive Control Frame Counter Interrupt Status (RXCTRLFIS): This bit is
25 set when the rxctrlframes_g counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive Error Frame Counter Interrupt Status (RXRCVERRFIS): This bit is
24 set when the rxrcverror counter reaches half of the maximum value or the maximum
RO value.
0b MMC Receive VLAN Good Bad Frame Counter Interrupt Status (RXVLANGBFIS):
22 This bit is set when the rxvlanframes_gb counter reaches half of the maximum value or
RO the maximum value.
0b MMC Receive FIFO Overflow Frame Counter Interrupt Status (RXFOVFIS): This
21 bit is set when the rxfifooverflow counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive Pause Frame Counter Interrupt Status (RXPAUSFIS): This bit is set
20 when the rxpauseframes counter reaches half of the maximum value or the maximum
RO value.
0b MMC Receive Length Error Frame Counter Interrupt Status (RXLENERFIS): This
18 bit is set when the rxlengtherror counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive Unicast Good Frame Counter Interrupt Status (RXUCGFIS): This
17 bit is set when the rxunicastframes_g counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive 1024 to Maximum Octet Good Bad Frame Counter Interrupt
16 Status (RX1024TMAXOCTGBFIS): This bit is set when the rx1024tomaxoctets_gb
RO counter reaches half of the maximum value or the maximum value.
0b MMC Receive 512 to 1023 Octet Good Bad Frame Counter Interrupt Status
15 (RX512T1023OCTGBFIS): This bit is set when the rx512to1023octets_gb counter
RO reaches half of the maximum value or the maximum value.
0b MMC Receive 256 to 511 Octet Good Bad Frame Counter Interrupt Status
14 (RX256T511OCTGBFIS): This bit is set when the rx256to511octets_gb counter
RO reaches half of the maximum value or the maximum value.
0b MMC Receive 128 to 255 Octet Good Bad Frame Counter Interrupt Status
13 (RX128T255OCTGBFIS): This bit is set when the rx128to255octets_gb counter
RO reaches half of the maximum value or the maximum value.
0b MMC Receive 65 to 127 Octet Good Bad Frame Counter Interrupt Status
12 (RX65T127OCTGBFIS): This bit is set when the rx65to127octets_gb counter reaches
RO half of the maximum value or the maximum value.
0b MMC Receive Jabber Error Frame Counter Interrupt Status (RXJABERFIS): This
8 bit is set when the rxjabbererror counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive Runt Frame Counter Interrupt Status (RXRUNTFIS): This bit is set
7 when the rxrunterror counter reaches half of the maximum value or the maximum
RO value.
0b MMC Receive CRC Error Frame Counter Interrupt Status (RXCRCERFIS): This bit
5 is set when the rxcrcerror counter reaches half of the maximum value or the maximum
RO value.
0b MMC Receive Multicast Good Frame Counter Interrupt Status (RXMCGFIS): This
4 bit is set when the rxmulticastframes_g counter reaches half of the maximum value or
RO the maximum value.
0b MMC Receive Broadcast Good Frame Counter Interrupt Status (RXBCGFIS): This
3 bit is set when the rxbroadcastframes_g counter reaches half of the maximum value or
RO the maximum value.
0b MMC Receive Good Octet Counter Interrupt Status (RXGOCTIS): This bit is set
2 when the rxoctetcount_g counter reaches half of the maximum value or the maximum
RO value.
0b MMC Receive Good Bad Octet Counter Interrupt Status (RXGBOCTIS): This bit is
1 set when the rxoctetcount_gb counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive Good Bad Frame Counter Interrupt Status (RXGBFRMIS): This bit
0 is set when the rxframecount_gb counter reaches half of the maximum value or the
RO maximum value.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 108h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TXGBFRMIS
TXOSIZEGFIS
TXPAUSFIS
TXEXDEFFIS
TXGFRMIS
TXVLANGFIS
TXCARERFIS
TXEXCOLFIS
TXLATCOLFIS
TXDEFFIS
TXSCOLGFIS
TXUFLOWERFIS
TXBCGBFIS
TXMCGBFIS
TXUCGBFIS
TXGOCTIS
TXMCOLGFIS
TX1024TMAXOCTGBFIS
TXBCGFIS
TX512T1023OCTGBFIS
TX256T511OCTGBFIS
TX128T255OCTGBFIS
TX65T127OCTGBFIS
TXGBOCTIS
TX64OCTGBFIS
TXMCGFIS
RSV0
000000b
31:26 Reserved (RSV0): Reserved.
RO
0b MMC Transmit VLAN Good Frame Counter Interrupt Status (TXVLANGFIS): This
24 bit is set when the txvlanframes_g counter reaches half of the maximum value or the
RO maximum value.
0b MMC Transmit Pause Frame Counter Interrupt Status (TXPAUSFIS): This bit is
23 set when the txpauseframeserror counter reaches half of the maximum value or the
RO maximum value.
0b MMC Transmit Good Frame Counter Interrupt Status (TXGFRMIS): This bit is set
21 when the txframecount_g counter reaches half of the maximum value or the maximum
RO value.
0b MMC Transmit Good Octet Counter Interrupt Status (TXGOCTIS): This bit is set
20 when the txoctetcount_g counter reaches half of the maximum value or the maximum
RO value.
0b MMC Transmit Deferred Frame Counter Interrupt Status (TXDEFFIS): This bit is
16 set when the txdeferred counter reaches half of the maximum value or the maximum
RO value.
0b MMC Transmit Unicast Good Bad Frame Counter Interrupt Status (TXUCGBFIS):
10 This bit is set when the txunicastframes_gb counter reaches half of the maximum value
RO or the maximum value.
0b MMC Transmit 1024 to Maximum Octet Good Bad Frame Counter Interrupt
9 Status (TX1024TMAXOCTGBFIS): This bit is set when the tx1024tomaxoctets_gb
RO counter reaches half of the maximum value or the maximum value.
0b MMC Transmit 512 to 1023 Octet Good Bad Frame Counter Interrupt Status
8 (TX512T1023OCTGBFIS): This bit is set when the tx512to1023octets_gb counter
RO reaches half of the maximum value or the maximum value.
0b MMC Transmit 256 to 511 Octet Good Bad Frame Counter Interrupt Status
7 (TX256T511OCTGBFIS): This bit is set when the tx256to511octets_gb counter
RO reaches half of the maximum value or the maximum value.
0b MMC Transmit 128 to 255 Octet Good Bad Frame Counter Interrupt Status
6 (TX128T255OCTGBFIS): This bit is set when the tx128to255octets_gb counter
RO reaches half of the maximum value or the maximum value.
0b MMC Transmit 65 to 127 Octet Good Bad Frame Counter Interrupt Status
5 (TX65T127OCTGBFIS): This bit is set when the tx65to127octets_gb counter reaches
RO half the maximum value, and also when it reaches the maximum value.
0b MMC Transmit Good Bad Frame Counter Interrupt Status (TXGBFRMIS): This bit
1 is set when the txframecount_gb counter reaches half of the maximum value or the
RO maximum value.
0b MMC Transmit Good Bad Octet Counter Interrupt Status (TXGBOCTIS): This bit
0 is set when the txoctetcount_gb counter reaches half of the maximum value or the
RO maximum value.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 10Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RXALGNERFIM
RSV0
RXCTRLFIM
RXWDOGFIM
RXVLANGBFIM
RXPAUSFIM
RXRCVERRFIM
RXFOVFIM
RXORANGEFIM
RXOSIZEGFIM
RXUSIZEGFIM
RXBCGFIM
RXGBFRMIM
RXLENERFIM
RXUCGFIM
RX1024TMAXOCTGBFIM
RX512T1023OCTGBFIM
RX256T511OCTGBFIM
RX128T255OCTGBFIM
RX65T127OCTGBFIM
RX64OCTGBFIM
RXJABERFIM
RXRUNTFIM
RXMCGFIM
RXGOCTIM
RXGBOCTIM
RXCRCERFIM
000000b
31:26 Reserved (RSV0): Reserved.
RO
0b MMC Receive Control Frame Counter Interrupt Mask (RXCTRLFIM): Setting this
25 bit masks the interrupt when the rxctrlframes_g counter reaches half of the maximum
RW value or the maximum value.
0b MMC Receive Error Frame Counter Interrupt Mask (RXRCVERRFIM): Setting this
24 bit masks the interrupt when the rxrcverror counter reaches half of the maximum value
RW or the maximum value.
0b MMC Receive VLAN Good Bad Frame Counter Interrupt Mask (RXVLANGBFIM):
22 Setting this bit masks the interrupt when the rxvlanframes_gb counter reaches half of
RW the maximum value or the maximum value.
0b MMC Receive Pause Frame Counter Interrupt Mask (RXPAUSFIM): Setting this
20 bit masks the interrupt when the rxpauseframes counter reaches half of the maximum
RW value or the maximum value.
0b MMC Receive Unicast Good Frame Counter Interrupt Mask (RXUCGFIM): Setting
17 this bit masks the interrupt when the rxunicastframes_g counter reaches half of the
RW maximum value or the maximum value.
MMC Receive 1024 to Maximum Octet Good Bad Frame Counter Interrupt Mask
0b (RX1024TMAXOCTGBFIM): Setting this bit masks the interrupt when the
16
RW rx1024tomaxoctets_gb counter reaches half of the maximum value or the maximum
value.
MMC Receive 512 to 1023 Octet Good Bad Frame Counter Interrupt Mask
0b (RX512T1023OCTGBFIM): Setting this bit masks the interrupt when the
15
RW rx512to1023octets_gb counter reaches half of the maximum value or the maximum
value.
MMC Receive 256 to 511 Octet Good Bad Frame Counter Interrupt Mask
0b (RX256T511OCTGBFIM): Setting this bit masks the interrupt when the
14
RW rx256to511octets_gb counter reaches half of the maximum value or the maximum
value.
MMC Receive 128 to 255 Octet Good Bad Frame Counter Interrupt Mask
0b (RX128T255OCTGBFIM): Setting this bit masks the interrupt when the
13
RW rx128to255octets_gb counter reaches half of the maximum value or the maximum
value.
0b MMC Receive 65 to 127 Octet Good Bad Frame Counter Interrupt Mask
12 (RX65T127OCTGBFIM): Setting this bit masks the interrupt when the
RW rx65to127octets_gb counter reaches half of the maximum value or the maximum value.
0b MMC Receive Runt Frame Counter Interrupt Mask (RXRUNTFIM): Setting this bit
7 masks the interrupt when the rxrunterror counter reaches half of the maximum value or
RW the maximum value.
0b MMC Receive CRC Error Frame Counter Interrupt Mask (RXCRCERFIM): Setting
5 this bit masks the interrupt when the rxcrcerror counter reaches half of the maximum
RW value or the maximum value.
0b MMC Receive Good Octet Counter Interrupt Mask (RXGOCTIM): Setting this bit
2 masks the interrupt when the rxoctetcount_g counter reaches half of the maximum
RW value or the maximum value.
0b MMC Receive Good Bad Octet Counter Interrupt Mask (RXGBOCTIM): Setting
1 this bit masks the interrupt when the rxoctetcount_gb counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive Good Bad Frame Counter Interrupt Mask (RXGBFRMIM): Setting
0 this bit masks the interrupt when the rxframecount_gb counter reaches half of the
RW maximum value or the maximum value.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 110h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
TXOSIZEGFIM
TXVLANGFIM
TXPAUSFIM
TXEXDEFFIM
TXUCGBFIM
TXGFRMIM
TXGOCTIM
TXCARERFIM
TXEXCOLFIM
TXLATCOLFIM
TXDEFFIM
TXMCOLGFIM
TXSCOLGFIM
TXBCGBFIM
TXMCGBFIM
TXUFLOWERFIM
TX1024TMAXOCTGBFIM
TX512T1023OCTGBFIM
TXBCGFIM
TXGBFRMIM
TXGBOCTIM
TX256T511OCTGBFIM
TX128T255OCTGBFIM
TX65T127OCTGBFIM
TX64OCTGBFIM
TXMCGFIM
000000b
31:26 Reserved (RSV0): Reserved.
RO
0b MMC Transmit Pause Frame Counter Interrupt Mask (TXPAUSFIM): Setting this
23 bit masks the interrupt when the txpauseframes counter reaches half of the maximum
RW value or the maximum value.
0b MMC Transmit Good Frame Counter Interrupt Mask (TXGFRMIM): Setting this bit
21 masks the interrupt when the txframecount_g counter reaches half of the maximum
RW value or the maximum value.
0b MMC Transmit Good Octet Counter Interrupt Mask (TXGOCTIM): Setting this bit
20 masks the interrupt when the txoctetcount_g counter reaches half of the maximum
RW value or the maximum value.
0b MMC Transmit Deferred Frame Counter Interrupt Mask (TXDEFFIM): Setting this
16 bit masks the interrupt when the txdeferred counter reaches half of the maximum value
RW or the maximum value.
0b MMC Transmit Unicast Good Bad Frame Counter Interrupt Mask (TXUCGBFIM):
10 Setting this bit masks the interrupt when the txunicastframes_gb counter reaches half
RW of the maximum value or the maximum value.
MMC Transmit 1024 to Maximum Octet Good Bad Frame Counter Interrupt
0b Mask (TX1024TMAXOCTGBFIM): Setting this bit masks the interrupt when the
9
RW tx1024tomaxoctets_gb counter reaches half of the maximum value or the maximum
value.
MMC Transmit 512 to 1023 Octet Good Bad Frame Counter Interrupt Mask
0b (TX512T1023OCTGBFIM): Setting this bit masks the interrupt when the
8
RW tx512to1023octets_gb counter reaches half of the maximum value or the maximum
value.
MMC Transmit 256 to 511 Octet Good Bad Frame Counter Interrupt Mask
0b (TX256T511OCTGBFIM): Setting this bit masks the interrupt when the
7
RW tx256to511octets_gb counter reaches half of the maximum value or the maximum
value.
MMC Transmit 128 to 255 Octet Good Bad Frame Counter Interrupt Mask
0b (TX128T255OCTGBFIM): Setting this bit masks the interrupt when the
6
RW tx128to255octets_gb counter reaches half of the maximum value or the maximum
value.
0b MMC Transmit 65 to 127 Octet Good Bad Frame Counter Interrupt Mask
5 (TX65T127OCTGBFIM): Setting this bit masks the interrupt when the
RW tx65to127octets_gb counter reaches half of the maximum value or the maximum value.
0b MMC Transmit Good Bad Frame Counter Interrupt Mask (TXGBFRMIM): Setting
1 this bit masks the interrupt when the txframecount_gb counter reaches half of the
RW maximum value or the maximum value.
0b MMC Transmit Good Bad Octet Counter Interrupt Mask (TXGBOCTIM): Setting
0 this bit masks the interrupt when the txoctetcount_gb counter reaches half of the
RW maximum value or the maximum value.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 114h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 118h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 11Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 120h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 124h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 128h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.26 MMC Transmit 128 to 255 Octet Good Bad Frame Counter
Register (TX128TO255OCTETS_GB)—Offset 12Ch
Number of good and bad frames transmitted with length between 128 and 255
(inclusive) bytes, exclusive of preamble and retried frames.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 12Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.27 MMC Transmit 256 to 511 Octet Good Bad Frame Counter
Register (TX256TO511OCTETS_GB)—Offset 130h
Number of good and bad frames transmitted with length between 256 and 511
(inclusive) bytes, exclusive of preamble and retried frames.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 130h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.28 MMC Transmit 512 to 1023 Octet Good Bad Frame Counter
Register (TX512TO1023OCTETS_GB)—Offset 134h
Number of good and bad frames transmitted with length between 512 and 1,023
(inclusive) bytes, exclusive of preamble and retried frames.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.29 MMC Transmit 1024 to Maximum Octet Good Bad Frame Counter
Register (TX1024TOMAXOCTETS_GB)—Offset 138h
Number of good and bad frames transmitted with length between 1,024 and maxsize
(inclusive) bytes, exclusive of preamble and retried frames.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 138h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 13Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 140h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 144h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 148h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 14Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 150h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 154h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 15Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 160h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 164h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 168h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 16Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 170h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 174h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 178h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 184h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 188h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 18Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 190h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 194h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 198h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 19Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1A0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1A8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1ACh
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.58 MMC Receive 65 to 127 Octet Good Bad Frame Counter Register
(RX65TO127OCTETS_GB)—Offset 1B0h
Number of good and bad frames received with length between 65 and 127 (inclusive)
bytes, exclusive of preamble.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1B0h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.59 MMC Receive 128 to 255 Octet Good Bad Frame Counter
Register (RX128TO255OCTETS_GB)—Offset 1B4h
Number of good and bad frames received with length between 128 and 255 (inclusive)
bytes, exclusive of preamble.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1B4h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.60 MMC Receive 256 to 511 Octet Good Bad Frame Counter
Register (RX256TO511OCTETS_GB)—Offset 1B8h
Number of good and bad frames received with length between 256 and 511 (inclusive)
bytes, exclusive of preamble.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1B8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.61 MMC Receive 512 to 1023 Octet Good Bad Frame Counter
Register (RX512TO1023OCTETS_GB)—Offset 1BCh
Number of good and bad frames received with length between 512 and 1,023
(inclusive) bytes, exclusive of preamble.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1BCh
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
15.6.62 MMC Receive 1024 to Maximum Octet Good Bad Frame Counter
Register (RX1024TOMAXOCTETS_GB)—Offset 1C0h
Number of good and bad frames received with length between 1,024 and maxsize
(inclusive) bytes, exclusive of preamble and retried frames.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1C0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1C4h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1CCh
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1D0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1D4h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1D8h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1DCh
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1E0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1E4h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 200h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RXUDPGFIM
RXIPV4UDSBLFIM
RXIPV4FRAGFIM
RXICMPEROIM
RXICMPGOIM
RXUDPGOIM
RXIPV6NOPAYOIM
RXIPV6HEROIM
RXIPV6GOIM
RXIPV4UDSBLOIM
RXIPV4FRAGOIM
RXIPV4NOPAYOIM
RSV0
RXTCPGOIM
RXTCPGFIM
RXUDPEROIM
RXIPV4HEROIM
RXIPV4GOIM
RXICMPERFIM
RXICMPGFIM
RXTCPERFIM
RXUDPERFIM
RXIPV6NOPAYFIM
RXIPV6HERFIM
RXIPV6GFIM
RXIPV4NOPAYFIM
RXIPV4HERFIM
RXIPV4GFIM
RXTCPEROIM
0b
31:30 Reserved (RSV1): Reserved.
RO
0b MMC Receive ICMP Good Octet Counter Interrupt Mask (RXICMPGOIM): Setting
28 this bit masks the interrupt when the rxicmp_gd_octets counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive TCP Error Octet Counter Interrupt Mask (RXTCPEROIM): Setting
27 this bit masks the interrupt when the rxtcp_err_octets counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive TCP Good Octet Counter Interrupt Mask (RXTCPGOIM): Setting
26 this bit masks the interrupt when the rxtcp_gd_octets counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive UDP Good Octet Counter Interrupt Mask (RXUDPEROIM): Setting
25 this bit masks the interrupt when the rxudp_err_octets counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive IPV6 Good Octet Counter Interrupt Mask (RXIPV6GOIM): Setting
21 this bit masks the interrupt when the rxipv6_gd_octets counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask
20 (RXIPV4UDSBLOIM): Setting this bit masks the interrupt when the
RW rxipv4_udsbl_octets counter reaches half of the maximum value or the maximum value.
0b MMC Receive IPV4 Good Octet Counter Interrupt Mask (RXIPV4GOIM): Setting
16 this bit masks the interrupt when the rxipv4_gd_octets counter reaches half of the
RW maximum value or the maximum value.
00b
15:14 Reserved (RSV0): Reserved.
RO
0b MMC Receive ICMP Good Frame Counter Interrupt Mask (RXICMPGFIM): Setting
12 this bit masks the interrupt when the rxicmp_gd_frms counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive TCP Error Frame Counter Interrupt Mask (RXTCPERFIM): Setting
11 this bit masks the interrupt when the rxtcp_err_frms counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive TCP Good Frame Counter Interrupt Mask (RXTCPGFIM): Setting
10 this bit masks the interrupt when the rxtcp_gd_frms counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive UDP Error Frame Counter Interrupt Mask (RXUDPERFIM): Setting
9 this bit masks the interrupt when the rxudp_err_frms counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive UDP Good Frame Counter Interrupt Mask (RXUDPGFIM): Setting
8 this bit masks the interrupt when the rxudp_gd_frms counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive IPV6 Good Frame Counter Interrupt Mask (RXIPV6GFIM): Setting
5 this bit masks the interrupt when the rxipv6_gd_frms counter reaches half of the
RW maximum value or the maximum value.
0b MMC Receive IPV4 UDP Checksum Disabled Frame Counter Interrupt Mask
4 (RXIPV4UDSBLFIM): Setting this bit masks the interrupt when the rxipv4_udsbl_frms
RW counter reaches half of the maximum value or the maximum value.
0b MMC Receive IPV4 Good Frame Counter Interrupt Mask (RXIPV4GFIM): Setting
0 this bit masks the interrupt when the rxipv4_gd_frms counter reaches half of the
RW maximum value or the maximum value.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 208h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
RXICMPEROIS
RXUDPGOIS
RXIPV4FRAGOIS
RXIPV4HERFIS
RXICMPGOIS
RXIPV6NOPAYOIS
RXIPV6HEROIS
RXUDPGFIS
RXIPV6NOPAYFIS
RXIPV6HERFIS
RXTCPGFIS
RXUDPERFIS
RXIPV6GFIS
RXIPV4UDSBLFIS
RXIPV4NOPAYFIS
RXTCPEROIS
RXTCPGOIS
RXUDPEROIS
RXIPV6GOIS
RXIPV4UDSBLOIS
RXIPV4NOPAYOIS
RXIPV4HEROIS
RXIPV4GOIS
RXICMPERFIS
RXICMPGFIS
RXTCPERFIS
RXIPV4FRAGFIS
RXIPV4GFIS
0b
31:30 Reserved (RSV1): Reserved.
RO
0b MMC Receive ICMP Error Octet Counter Interrupt Status (RXICMPEROIS): This
29 bit is set when the rxicmp_err_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive ICMP Good Octet Counter Interrupt Status (RXICMPGOIS): This
28 bit is set when the rxicmp_gd_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive TCP Error Octet Counter Interrupt Status (RXTCPEROIS): This bit
27 is set when the rxtcp_err_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive TCP Good Octet Counter Interrupt Status (RXTCPGOIS): This bit is
26 set when the rxtcp_gd_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive UDP Error Octet Counter Interrupt Status (RXUDPEROIS): This bit
25 is set when the rxudp_err_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive UDP Good Octet Counter Interrupt Status (RXUDPGOIS): This bit
24 is set when the rxudp_gd_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive IPV6 Good Octet Counter Interrupt Status (RXIPV6GOIS): This bit
21 is set when the rxipv6_gd_octets counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status
20 (RXIPV4UDSBLOIS): This bit is set when the rxipv4_udsbl_octets counter reaches
RO half of the maximum value or the maximum value.
0b MMC Receive IPV4 Good Octet Counter Interrupt Status (RXIPV4GOIS): This bit
16 is set when the rxipv4_gd_octets counter reaches half of the maximum value or the
RO maximum value.
00b
15:14 Reserved (RSV0): Reserved.
RO
0b MMC Receive ICMP Error Frame Counter Interrupt Status (RXICMPERFIS): This
13 bit is set when the rxicmp_err_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive ICMP Good Frame Counter Interrupt Status (RXICMPGFIS): This
12 bit is set when the rxicmp_gd_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive TCP Error Frame Counter Interrupt Status (RXTCPERFIS): This bit
11 is set when the rxtcp_err_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive TCP Good Frame Counter Interrupt Status (RXTCPGFIS): This bit is
10 set when the rxtcp_gd_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive UDP Error Frame Counter Interrupt Status (RXUDPERFIS): This bit
9 is set when the rxudp_err_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive UDP Good Frame Counter Interrupt Status (RXUDPGFIS): This bit
8 is set when the rxudp_gd_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive IPV6 Good Frame Counter Interrupt Status (RXIPV6GFIS): This bit
5 is set when the rxipv6_gd_frms counter reaches half of the maximum value or the
RO maximum value.
0b MMC Receive IPV4 UDP Checksum Disabled Frame Counter Interrupt Status
4 (RXIPV4UDSBLFIS): This bit is set when the rxipv4_udsbl_frms counter reaches half
RO of the maximum value or the maximum value.
0b MMC Receive IPV4 Good Frame Counter Interrupt Status (RXIPV4GFIS): This bit
0 is set when the rxipv4_gd_frms counter reaches half of the maximum value or the
RO maximum value.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 210h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 214h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 218h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 21Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 220h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 228h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 22Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 230h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 234h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 238h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 23Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 240h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 244h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 254h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 258h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 25Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 260h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 264h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 268h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 26Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 270h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 278h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 27Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 280h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 284h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNT
00000000h
31:0 Counter value (CNT): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 584h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VLP
VLC
RSV0
CSVL
VLT
Bit Default &
Field Name (ID): Description
Range Access
000h
31:20 Reserved (RSV0): Reserved.
RO
0b C-VLAN or S-VLAN (CSVL): When this bit is set, S-VLAN type (0x88A8) is inserted or
19 replaced in the 13th and 14th bytes of transmitted frames. When this bit is reset, C-
RW VLAN type (0x8100) is inserted or replaced in the transmitted frames.
0b VLAN Priority Control (VLP): When this bit is set, the control Bits [17:16] are used
18 for VLAN deletion, insertion, or replacement. When this bit is reset, the internal control
RW signal from the MTL layer is used, and Bits [17:16] are ignored.
VLAN Tag Control in Transmit Frames (VLC): 2'b00: No VLAN tag deletion,
insertion, or replacement
2'b01: VLAN tag deletion. The MAC removes the VLAN type (bytes 13 and 14) and VLAN
tag (bytes 15 and 16) of all transmitted frames with VLAN tags.
2'b10: VLAN tag insertion. The MAC inserts VLT in bytes 15 and 16 of the frame after
00b inserting the Type value (0x8100/0x88a8) in bytes 13 and 14. This operation is
17:16 performed on all transmitted frames, irrespective of whether they already have a VLAN
RW tag.
2'b11: VLAN tag replacement. The MAC replaces VLT in bytes 15 and 16 of all VLAN-type
transmitted frames (Bytes 13 and 14 are 0x8100/0x88a8).
NOTE: Changes to this field take effect only on the start of a frame. If you write this
register field when a frame is being transmitted, only the subsequent frame can use the
updated value, that is, the current frame does not use the updated value.
VLAN Tag for Transmit Frames (VLT): This field contains the value of the VLAN tag
0000h to be inserted or replaced. The value must only be changed when the transmit lines are
15:0
RW inactive or during the initialization phase. Bits[15:13] are the User Priority, Bit 12 is the
CFI/DEI, and Bits[11:0] are the VLAN tags VID field.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 588h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
VLHT
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:16 Reserved (RSV0): Reserved.
RO
0000h
15:0 VLAN Hash Table (VLHT): This field contains the 16-bit VLAN Hash Table.
RW
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 700h
(Size: 32 bits)
Default: 00002000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV4
TSENMACADDR
SNAPTYPSEL
RSV0
TSADDREG
TSTRIG
TSENALL
TSMSTRENA
TSIPV4ENA
TSIPV6ENA
TSVER2ENA
TSIPENA
TSINIT
TSCFUPDT
TSENA
TSEVNTENA
TSCTRLSSR
TSUPDT
0b
31:19 Reserved (RSV4): Reserved.
RO
0b Enable MAC address for PTP Frame Filtering (TSENMACADDR): When set, the DA
18 MAC address (that matches any MAC Address register) is used to filter the PTP frames
RW when PTP is directly sent over Ethernet.
00b Select PTP packets for Taking Snapshots (SNAPTYPSEL): These bits along with
17:16
RW Bits 15 and 14 decide the set of PTP packet types for which snapshot needs to be taken.
0b Enable Snapshot for Messages Relevant to Master (TSMSTRENA): When set, the
15 snapshot is taken only for the messages relevant to the master node. Otherwise, the
RW snapshot is taken for the messages relevant to the slave node.
Enable Timestamp Snapshot for Event Messages (TSEVNTENA): When set, the
0b timestamp snapshot is taken only for event messages (SYNC, Delay_Req, Pdelay_Req,
14
RW or Pdelay_Resp). When reset, the snapshot is taken for all messages except Announce,
Management, and Signaling.
Enable Processing of PTP Frames Sent over IPv4-UDP (TSIPV4ENA): When set,
1b the MAC receiver processes the PTP packets encapsulated in UDP over IPv4 packets.
13
RW When this bit is clear, the MAC ignores the PTP transported over UDP-IPv4 packets. This
bit is set by default.
0b Enable Processing of PTP Frames Sent Over IPv6-UDP (TSIPV6ENA): When set,
12 the MAC receiver processes PTP packets encapsulated in UDP over IPv6 packets. When
RW this bit is clear, the MAC ignores the PTP transported over UDP-IPv6 packets.
0b Enable Processing of PTP over Ethernet Frames (TSIPENA): When set, the MAC
11 receiver processes the PTP packets encapsulated directly in the Ethernet frames. When
RW this bit is clear, the MAC ignores the PTP over Ethernet packets.
0b Enable PTP packet Processing for Version 2 Format (TSVER2ENA): When set, the
10 PTP packets are processed using the 1588 version 2 format. Otherwise, the PTP packets
RW are processed using the version 1 format.
0b Enable Timestamp for All Frames (TSENALL): When set, the timestamp snapshot is
8
RW enabled for all frames received by the MAC.
00b
7:6 Reserved (RSV0): Reserved.
RO
0b Addend Reg Update (TSADDREG): When set, the content of the Timestamp Addend
5 register is updated in the PTP block for fine correction. This is cleared when the update
RW is completed. This register bit should be zero before setting it.
Timestamp Interrupt Trigger Enable (TSTRIG): When set, the timestamp interrupt
0b is generated when the System Time becomes greater than the value written in the
4
RW Target Time register. This bit is reset after the generation of the Timestamp Trigger
Interrupt.
Timestamp Update (TSUPDT): When set, the system time is updated (added or
subtracted) with the value specified in Register 452 (System Time - Seconds Update
0b Register) and Register 453 (System Time - Nanoseconds Update Register).
3
RW This bit should be read zero before updating it. This bit is reset when the update is
completed in hardware. The Timestamp Higher Word register (if enabled during core
configuration) is not updated.
Timestamp Initialize (TSINIT): When set, the system time is initialized (overwritten)
with the value specified in the Register 452 (System Time - Seconds Update Register)
0b and Register 453 (System Time - Nanoseconds Update Register).
2
RW This bit should be read zero before updating it. This bit is reset when the initialization is
complete. The Timestamp Higher Word register (if enabled during core configuration)
can only be initialized.
0b Timestamp Fine or Coarse Update (TSCFUPDT): When set, this bit indicates that
1 the system times update should be done using the fine update method. When reset, it
RW indicates the system timestamp update should be done using the Coarse method.
Timestamp Enable (TSENA): When set, the timestamp is added for the transmit and
0b receive frames. When disabled, timestamp is not added for the transmit and receive
0 frames and the Timestamp Generator is also suspended. You need to initialize the
RW Timestamp (system time) after enabling this mode. On the receive side, the MAC
processes the 1588 frames only if this bit is set.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 704h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
SSINC
Bit Default &
Field Name (ID): Description
Range Access
000000h
31:8 Reserved (RSV0): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSS
Bit Default &
Field Name (ID): Description
Range Access
00000000h Timestamp Second (TSS): The value in this field indicates the current value in
31:0
RO seconds of the System Time maintained by the MAC.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 70Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
TSSS
0b
31 Reserved (RSV0): Reserved.
RO
Timestamp Sub Seconds (TSSS): The value in this field has the sub second
00000000h representation of time, with an accuracy of 0.46 ns. When bit 9 (TSCTRLSSR) is set in
30:0
RO Register 448 (Timestamp Control Register), each bit represents 1 ns and the maximum
value is 0x3B9A_C9FF, after which it rolls-over to zero.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSS
Bit Default &
Field Name (ID): Description
Range Access
00000000h Timestamp Second (TSS): The value in this field indicates the time in seconds to be
31:0
RW initialized or added to the system time.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 714h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ADDSUB
TSSS
0b Add or subtract time (ADDSUB): When this bit is set, the time value is subtracted
31 with the contents of the update register. When this bit is reset, the time value is added
RW with the contents of the update register.
Timestamp Sub Second (TSSS): The value in this field has the sub second
00000000h representation of time, with an accuracy of 0.46 ns. When bit 9 (TSCTRLSSR) is set in
30:0
RW Register 448 (Timestamp Control Register), each bit represents 1 ns and the
programmed value should not exceed 0x3B9A_C9FF.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 718h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSAR
Bit Default &
Field Name (ID): Description
Range Access
00000000h Timestamp Addend (TSAR): This field indicates the 32-bit time value to be added to
31:0
RW the Accumulator register to achieve time synchronization.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 71Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSTR
Target Time Seconds (TSTR): This field stores the time in seconds. When the
00000000h timestamp value matches or exceeds both Target Timestamp registers, then based on
31:0
RW Bits [6:5] of Register 459 (PPS Control Register), the MAC starts or stops the PPS signal
output and generates an interrupt (if enabled).
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TRGTBUSY
TTSLO
Bit Default &
Field Name (ID): Description
Range Access
Target Time Register Busy (TRGTBUSY): The MAC sets this bit when the PPSCMD
field (Bits[3:0]) in Register 459 (PPS Control Register) is programmed to 010 or 011.
Programming the PPSCMD field to 010 or 011, instructs the MAC to synchronize the
0b Target Time Registers to the PTP clock domain.
31 The MAC clears this bit after synchronizing the Target Time Registers to the PTP clock
RO domain The application must not update the Target Time Registers when this bit is read
as 1. Otherwise, the synchronization of the previous programmed time gets corrupted.
This bit is reserved when the Enable Flexible Pulse-Per-Second Output feature is not
selected.
Target Timestamp Low (TTSLO): The Target Time Nanoseconds register, along with
00000000h Target Time Seconds register, is used to schedule an interrupt event (Register 458[1]
30:0
RW when Advanced Timestamping is enabled; otherwise, TS interrupt bit in Register14[9])
when the system time exceeds the value programmed in these registers.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 724h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSHWR
RSV0
0000h
31:16 Reserved (RSV0): Reserved.
RO
Timestamp Higher Word (TSHWR): This field contains the most significant 16-bits of
0000h the timestamp seconds value. The register is directly written to initialize the value. This
15:0
RW register is incremented when there is an overflow from the 32-bits of the System Time -
Seconds register.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 728h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TSTARGT
RSV0
TSTRGTERR3
TSTARGT3
TSTRGTERR2
TSTARGT2
TSTRGTERR1
TSTARGT1
TSTRGTERR
AUXTSTRIG
TSSOVF
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV0): Reserved.
RO
0b Timestamp Target Time Error (TSTRGTERR3): This bit is set when the target time,
9 being programmed in Register 496 and Register 497, is already elapsed. This bit is
RO/CR cleared when read by the application.
Timestamp Target Time Reached for Target Time PPS3 (TSTARGT3): When set,
0b this bit indicates that the value of system time is greater than or equal to the value
8
RO/CR specified in Register 496 (PPS3 Target Time High Register) and Register 497 (PPS3
Target Time Low Register).
0b Timestamp Target Time Error (TSTRGTERR2): This bit is set when the target time,
7 being programmed in Register 488 and Register 489, is already elapsed. This bit is
RO/CR cleared when read by the application.
Timestamp Target Time Reached for Target Time PPS2 (TSTARGT2): When set,
0b this bit indicates that the value of system time is greater than or equal to the value
6
RO/CR specified in Register 488 (PPS2 Target Time High Register) and Register 489 (PPS2
Target Time Low Register).
0b Timestamp Target Time Error (TSTRGTERR1): This bit is set when the target time,
5 being programmed in Register 480 and Register 481, is already elapsed. This bit is
RO/CR cleared when read by the application.
Timestamp Target Time Reached for Target Time PPS1 (TSTARGT1): When set,
0b this bit indicates that the value of system time is greater than or equal to the value
4
RO/CR specified in Register 480 (PPS1 Target Time High Register) and Register 481 (PPS1
Target Time Low Register).
0b Timestamp Target Time Error (TSTRGTERR): This bit is set when the target time,
3 being programmed in Target Time Registers, is already elapsed. This bit is cleared when
RO/CR read by the application.
0b
2 Reserved (AUXTSTRIG): Reserved.
RO
0b Timestamp Target Time Reached (TSTARGT): When set, this bit indicates that the
1 value of system time is greater or equal to the value specified in the Register 455
RO/CR (Target Time Seconds Register) and Register 456 (Target Time Nanoseconds Register).
0b Timestamp Seconds Overflow (TSSOVF): When set, this bit indicates that the
0 seconds value of the timestamp (when supporting version 2 format) has overflowed
RO/CR beyond 32'hFFFF_FFFF.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1000h
Default: 00020101h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
MB
AAL
PBL
DSL
RIX
PBL8X
RPBL
FB
ATDS
DA
RSV0
PRWG
USP
TXPR
PR
SWR
Bit Default &
Field Name (ID): Description
Range Access
0b
30 Reserved (RSV0): Reserved.
RO
Channel Priority Weights (PRWG): This field sets the priority weights for Channel 0
during the round-robin arbitration between the DMA channels for the system bus.
00b 00: The priority weight is 1.
29:28
RO 01: The priority weight is 2.
10: The priority weight is 3.
11: The priority weight is 4.
0b Transmit Priority (TXPR): When set, this bit indicates that the transmit DMA has
27
RW higher priority than the receive DMA during arbitration for the system-side bus.
Mixed Burst (MB): When this bit is set high and the FB bit is low, the AHB Master
0b interface starts all bursts of length more than 16 with INCR (undefined burst) whereas it
26 reverts to fixed burst transfers (INCRx and SINGLE) for burst length of 16 and less.
RW NOTE: for bandwidth reason, it is recommended to avoid using mixed bursts.
Recommended setting is MB=0, FB=1.
Address Aligned Beats (AAL): When this bit is set high and the FB bit is equal to 1,
0b the AHB interface generates all bursts aligned to the start address LS bits. If the FB bit
25
RW is equal to 0, the first burst (accessing the data buffer's start address) is not aligned,
but subsequent bursts are aligned to the address.
8xPBL Mode (PBL8X): When set high, this bit multiplies the programmed PBL value
0b (Bits[22:17] and Bits[13:8]) eight times. Therefore, the DMA transfers the data in 8,
24 16, 32, 64, 128, and 256 beats depending on the PBL value.
RW NOTE: This bit function is not backward compatible. Before release 3.50a, this bit was
4xPBL.
Use Separate PBL (USP): When set high, this bit configures the Rx DMA to use the
0b value configured in Bits[22:17] as PBL. The PBL value in Bits[13:8] is applicable only to
23
RW the Tx DMA operations.
When reset to low, the PBL value in Bits[13:8] is applicable for both DMA engines.
Rx DMA PBL (RPBL): This field indicates the maximum number of beats to be
transferred in one Rx DMA transaction. This is the maximum value that is used in a
000001b single block Read or Write.
22:17 The Rx DMA always attempts to burst as specified in the RPBL bit each time it starts a
RW Burst transfer on the host bus. You can program RPBL with values of 1, 2, 4, 8, 16, and
32. Any other value results in undefined behavior. This field is valid and applicable only
when USP is set high.
Fixed Burst (FB): This bit controls whether the AHB or AXI Master interface performs
fixed burst transfers or not. When set, the AHB interface uses only SINGLE, INCR4,
0b INCR8, or INCR16 during start of the normal burst transfers. When reset, the AHB or
16
RW AXI interface uses SINGLE and INCR burst transfer operations.
NOTE: for bandwidth reason, it is recommended to avoid using mixed bursts.
Recommended setting is MB=0, FB=1.
Priority Ratio (PR): These bits control the priority ratio in the weighted round-robin
arbitration between the Rx DMA and Tx DMA. These bits are valid only when Bit 1 (DA)
is reset. The priority ratio is Rx:Tx or Tx:Rx depending on whether Bit 27 (TXPR) is reset
00b or set.
15:14
RW 00: The Priority Ratio is 1:1.
01: The Priority Ratio is 2:1.
10: The Priority Ratio is 3:1.
11: The Priority Ratio is 4:1.
Programmable Burst Length (PBL): These bits indicate the maximum number of
beats to be transferred in one DMA transaction. This is the maximum value that is used
in a single block Read or Write. The DMA always attempts to burst as specified in PBL
each time it starts a Burst transfer on the host bus. PBL can be programmed with
permissible values of 1, 2, 4, 8, 16, and 32. Any other value results in undefined
behavior. When USP is set high, this PBL value is applicable only for Tx DMA
000001b transactions. If the number of beats to be transferred is more than 32, then perform the
13:8
RW following steps:
1. Set the 8xPBL mode.
2. Set the PBL.
For example, if the maximum number of beats to be transferred is 64, then first set
8xPBL to 1 and then set PBL to 8.
All values up to 256 are allowed using a combination of PBL and 8xPBL. All PBL values
are supported in the full-duplex mode and half-duplex modes.
Alternate (Enhanced) Descriptor Size (ATDS): When set, the size of the alternate
descriptor increases to 32 bytes (8 DWORDS). This is required when the Advanced
Timestamp feature or the IPC Full Offload Engine (Type 2) is enabled in the receiver. The
0b enhanced descriptor is not required if the Advanced Timestamp and IPC Full Checksum
7
RW Offload (Type 2) features are not enabled. In such cases, you can use the 16 bytes
descriptor to save 4 bytes of memory.
When reset, the descriptor size reverts back to 4 DWORDs (16 bytes). This bit preserves
the backward compatibility for the descriptor size.
Descriptor Skip Length (DSL): This bit specifies the number of Word, Dword, or
00000b Lword (depending on the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained
6:2 descriptors. The address skipping starts from the end of current descriptor to the start
RW of next descriptor. When the DSL value is equal to zero, then the descriptor table is
taken as contiguous by the DMA in Ring mode.
DMA Arbitration Scheme (DA): This bit specifies the arbitration scheme between the
transmit and receive paths of Channel 0.
0b 0: Weighted round-robin with Rx:Tx or Tx:Rx. The priority between the paths is
1 according to the priority specified in bits 15:14 (PR) and priority weights specified in Bit
RW 27 (TXPR).
1: Fixed priority. The transmit path has priority over receive path when Bit 27 (TXPR) is
set. Otherwise, receive path has priority over the transmit path.
Software Reset (SWR): When this bit is set, the MAC DMA Controller resets the logic
and all internal registers of the MAC. It is cleared automatically after the reset operation
1b has completed in all of the MAC clock domains. Before reprogramming any register of
0 the MAC, you should read a zero (0) value in this bit .
RW NOTE: The reset operation is completed only when all resets in all active clock domains
are de-asserted. Therefore, it is essential that all the PHY inputs clocks (applicable for
the selected PHY interface) are present for the software reset completion.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1004h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TPD
Bit Default &
Field Name (ID): Description
Range Access
Transmit Poll Demand (TPD): When these bits are written with any value, the DMA
00000000b reads the current descriptor pointed to by Register 18 (Current Host Transmit Descriptor
31:0 Register). If that descriptor is not available (owned by the Host), the transmission
RW returns to the Suspend state and the Bit 2 (TU) of Register 5 (Status Register) is
asserted. If the descriptor is available, the transmission resumes.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1008h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RPD
Receive Poll Demand (RPD): When these bits are written with any value, the DMA
00000000b reads the current descriptor pointed to by Register 19 (Current Host Receive Descriptor
31:0 Register). If that descriptor is not available (owned by the Host), the reception returns
RW to the Suspended state and the Bit 7 (RU) of Register 5 (Status Register) is not
asserted. If the descriptor is available, the Rx DMA returns to the active state.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 100Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
RDESLA_32BIT
Start of Receive List (RDESLA_32BIT): This field contains the base address of the
00000000h first descriptor in the Receive Descriptor list. The LSB bits (1:0) for 32-bit bus width are
31:2
RW ignored and internally taken as all-zero by the DMA. Therefore, these LSB bits are read-
only (RO).
00b
1:0 Reserved (RSV0): Reserved.
RO
LSB to low. You can write to this register only when the Tx DMA has stopped, that is, Bit
13 (ST) is set to zero in Register 6 (Operation Mode Register). When stopped, this
register can be written with a new descriptor list address. When you set the ST bit to 1,
the DMA takes the newly programmed descriptor base address. If this register is not
changed when the ST bit is set to 0, then the DMA takes the descriptor address where
it was stopped earlier.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1010h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
TDESLA_32BIT
Start of Transmit List (TDESLA_32BIT): This field contains the base address of the
00000000h first descriptor in the Transmit Descriptor list. The LSB bits (1:0) for 32-bit bus width are
31:2
RW ignored and are internally taken as all-zero by the DMA. Therefore, these LSB bits are
read-only (RO).
00b
1:0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1014h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
UNF
OVF
EB
TS
TJT
RS
NIS
AIS
RWT
RPS
TPS
RSV2
TTI
RSV1
GMI
GLI
FBI
ERI
RSV0
ETI
RU
RI
TU
TI
0b
31:30 Reserved (RSV2): Reserved.
RO
Timestamp Trigger Interrupt (TTI): This bit indicates an interrupt event in the
0b Timestamp Generator block of MAC. The software must read the corresponding registers
29
RO in the MAC to get the exact cause of interrupt and clear its source to reset this bit to
1'b0. When this bit is high, the interrupt signal from the MAC subsystem is high.
0b
28 Reserved (RSV1): Reserved.
RO
MAC MMC Interrupt (GMI): This bit reflects an interrupt event in the MAC
0b Management Counters (MMC) module. The software must read the corresponding
27 registers in the MAC to get the exact cause of interrupt and clear the source of interrupt
RO to make this bit as 1'b0. The interrupt signal from the MAC subsystem is high when this
bit is high.
0b
26 Reserved (GLI): Reserved.
RO
Error Bits (EB): This field indicates the type of error that caused a Bus Error, for
example, error response on the AHB or AXI interface. This field is valid only when Bit 13
(FBI) is set. This field does not generate an interrupt.
* Bit 23
1'b1: Error during data transfer by the Tx DMA
000b 1'b0: Error during data transfer by the Rx DMA
25:23
RO * Bit 24
1'b1: Error during read transfer
1'b0: Error during write transfer
* Bit 25
1'b1: Error during descriptor access
1'b0: Error during data buffer access
Transmit Process State (TS): This field indicates the Transmit DMA FSM state. This
field does not generate an interrupt.
3'b000: Stopped; Reset or Stop Transmit Command issued
3'b001: Running; Fetching Transmit Transfer Descriptor
000b 3'b010: Running; Waiting for status
22:20 3'b011: Running; Reading Data from host memory buffer and queuing it to transmit
RO buffer (Tx FIFO)
3'b100: TIME_STAMP write state
3'b101: Reserved for future use
3'b110: Suspended; Transmit Descriptor Unavailable or Transmit Buffer Underflow
3'b111: Running; Closing Transmit Descriptor
Received Process State (RS): This field indicates the Receive DMA FSM state. This
field does not generate an interrupt.
3'b000: Stopped: Reset or Stop Receive Command issued
3'b001: Running: Fetching Receive Transfer Descriptor
000b 3'b010: Reserved for future use
19:17 3'b011: Running: Waiting for receive packet
RO 3'b100: Suspended: Receive Descriptor Unavailable
3'b101: Running: Closing Receive Descriptor
3'b110: TIME_STAMP write state
3'b111: Running: Transferring the receive packet data from receive buffer to host
memory
Normal Interrupt Summary (NIS): Normal Interrupt Summary bit value is the logical
OR of the following when the corresponding interrupt bits are enabled in Register 7
(Interrupt Enable Register):
Register 5[0]: Transmit Interrupt
0b Register 5[2]: Transmit Buffer Unavailable
16 Register 5[6]: Receive Interrupt
RW Register 5[14]: Early Receive Interrupt
Only unmasked bits (interrupts for which interrupt enable is set in Register 7) affect the
Normal Interrupt Summary bit.
This is a sticky bit and must be cleared (by writing 1 to this bit) each time a
corresponding bit, which causes NIS to be set, is cleared.
Abnormal Interrupt Summary (AIS): Abnormal Interrupt Summary bit value is the
logical OR of the following when the corresponding interrupt bits are enabled in Register
7 (Interrupt Enable Register):
Register 5[1]: Transmit Process Stopped
Register 5[3]: Transmit Jabber Timeout
Register 5[4]: Receive FIFO Overflow
0b Register 5[5]: Transmit Underflow
15 Register 5[7]: Receive Buffer Unavailable
RW Register 5[8]: Receive Process Stopped
Register 5[9]: Receive Watchdog Timeout
Register 5[10]: Early Transmit Interrupt
Register 5[13]: Fatal Bus Error
Only unmasked bits affect the Abnormal Interrupt Summary bit.
This is a sticky bit and must be cleared each time a corresponding bit, which causes AIS
to be set, is cleared.
0b Early Receive Interrupt (ERI): This bit indicates that the DMA had filled the first data
14
RW buffer of the packet. Bit 6 (RI) of this register automatically clears this bit.
0b Fatal Bus Error Interrupt (FBI): This bit indicates that a bus error occurred, as
13 described in Bits[25:23]. When this bit is set, the corresponding DMA engine disables all
RW of its bus accesses.
00b
12:11 Reserved (RSV0): Reserved.
RO
0b Early Transmit Interrupt (ETI): This bit indicates that the frame to be transmitted is
10
RW fully transferred to the MTL Transmit FIFO.
0b Receive Watchdog Timeout (RWT): This bit is asserted when a frame with length
9
RW greater than 2,048 bytes is received (10, 240 when Jumbo Frame mode is enabled).
0b Receive Process Stopped (RPS): This bit is asserted when the Receive Process enters
8
RW the Stopped state.
Receive Buffer Unavailable (RU): This bit indicates that the host owns the Next
Descriptor in the Receive List and the DMA cannot acquire it. The Receive Process is
0b suspended. To resume processing Receive descriptors, the host should change the
7 ownership of the descriptor and issue a Receive Poll Demand command. If no Receive
RW Poll Demand is issued, the Receive Process resumes when the next recognized incoming
frame is received. This bit is set only when the previous Receive Descriptor is owned by
the DMA.
Receive Interrupt (RI): This bit indicates that the frame reception is complete. When
0b reception is complete, the Bit 31 of RDES1 (Disable Interrupt on Completion) is reset in
6
RW the last Descriptor, and the specific frame status information is updated in the
descriptor. The reception remains in the Running state.
0b Transmit Underflow (UNF): This bit indicates that the Transmit Buffer had an
5 Underflow during frame transmission. Transmission is suspended and an Underflow
RW Error TDES0[1] is set.
0b Receive Overflow (OVF): This bit indicates that the Receive Buffer had an Overflow
4 during frame reception. If the partial frame is transferred to the application, the
RW overflow status is set in RDES0[11].
Transmit Jabber Timeout (TJT): This bit indicates that the Transmit Jabber Timer
0b expired, which happens when the frame size exceeds 2,048 (10,240 bytes when the
3 Jumbo frame is enabled). When the Jabber Timeout occurs, the transmission process is
RW aborted and placed in the Stopped state. This causes the Transmit Jabber Timeout
TDES0[14] flag to assert.
Transmit Buffer Unavailable (TU): This bit indicates that the host owns the Next
0b Descriptor in the Transmit List and the DMA cannot acquire it. Transmission is
2 suspended. Bits[22:20] explain the Transmit Process state transitions.
RW To resume processing Transmit descriptors, the host should change the ownership of the
descriptor by setting TDES0[31] and then issue a Transmit Poll Demand command.
0b
1 Transmit Process Stopped (TPS): This bit is set when the transmission is stopped.
RW
Transmit Interrupt (TI): This bit indicates that the frame transmission is complete.
0b When transmission is complete, the Bit 31 (Interrupt on Completion) of TDES1 is reset
0
RW in the first descriptor, and the specific frame status information is updated in the
descriptor.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1018h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV8
EFC
RTC
RSF
DFF
RFA_2
RFD_2
TSF
FTF
RSV5
TTC
FEF
FUF
RSV1
OSF
RSV0
SR
DT
ST
RFD
RFA
Bit Default &
Field Name (ID): Description
Range Access
0h
31:27 Reserved (RSV8): Reserved.
RO
Disable Dropping of TCP/IP Checksum Error Frames (DT): When this bit is set,
0b the MAC does not drop the frames which only have errors detected by the Receive
26 Checksum Offload engine. Such frames do not have any errors (including FCS error) in
RW the Ethernet frame received by the MAC but have errors only in the encapsulated
payload. When this bit is reset, all error frames are dropped if the FEF bit is reset.
Receive Store and Forward (RSF): When this bit is set, the MTL reads a frame from
0b the Rx FIFO only after the complete frame has been written to it, ignoring the RTC bits.
25
RW When this bit is reset, the Rx FIFO operates in the cut-through mode, subject to the
threshold specified by the RTC bits.
0b Disable Flushing of Received Frames (DFF): When this bit is set, the Rx DMA does
24 not flush any frames because of the unavailability of receive descriptors or buffers as it
RW does normally when this bit is reset.
MSB of Threshold for Activating Flow Control (RFA_2): If the Rx FIFO depth is 8
KB or more, this bit (when set) provides additional threshold levels for activating the
flow control in both half-duplex and full-duplex modes. This bit (as Most Significant Bit)
0b along with the RFA (Bits[10:9]) gives the following thresholds for activating flow
23 control:
RW 100: Full minus 5 KB, that is, FULL - 5KB
101: Full minus 6 KB, that is, FULL - 6KB
110: Full minus 7 KB, that is, FULL - 7KB
111: Reserved
MSB of Threshold for Deactivating Flow Control (RFD_2): If the Rx FIFO size is 8
KB or more, this bit (when set) provides additional threshold levels for deactivating the
flow control in both half-duplex and full-duplex modes. This bit (as Most Significant Bit)
0b along with the RFD (Bits[12:11]) gives the following thresholds for deactivating flow
22 control:
RW 100: Full minus 5 KB, that is, FULL - 5KB
101: Full minus 6 KB, that is, FULL - 6KB
110: Full minus 7 KB, that is, FULL - 7KB
111: Reserved
Transmit Store and Forward (TSF): When this bit is set, transmission starts when a
0b full frame resides in the MTL Transmit FIFO. When this bit is set, the TTC values specified
21
RW in Bits[16:14] are ignored. This bit should be changed only when the transmission is
stopped.
Flush Transmit FIFO (FTF): When this bit is set, the transmit FIFO controller logic is
reset to its default values and thus all data in the Tx FIFO is lost or flushed. This bit is
cleared internally when the flushing operation is completed. The Operation Mode
0b register should not be written to until this bit is cleared. The data which is already
20 accepted by the MAC transmitter is not flushed. It is scheduled for transmission and
RW results in underflow and runt frame transmission.
NOTE: The flush operation is complete only when the Tx FIFO is emptied of its contents
and all the pending Transmit Status of the transmitted frames are accepted by the host.
To complete this flush operation, the PHY transmit clock is required to be active.
000b
19:17 Reserved (RSV5): Reserved.
RO
Transmit Threshold Control (TTC): These bits control the threshold level of the MTL
Transmit FIFO. Transmission starts when the frame size within the MTL Transmit FIFO is
larger than the threshold. In addition, full frames with a length less than the threshold
are also transmitted. These bits are used only when Bit 21 (TSF) is reset.
000: 64
000b 001: 128
16:14
RW 010: 192
011: 256
100: 40
101: 32
110: 24
111: 16
Start or Stop Transmission Command (ST): When this bit is set, transmission is
placed in the Running state, and the DMA checks the Transmit List at the current
position for a frame to be transmitted. Descriptor acquisition is attempted either from
the current position in the list, which is the Transmit List Base Address set by Register 4
(Transmit Descriptor List Address Register), or from the position retained when
transmission was stopped previously. If the DMA does not own the current descriptor,
transmission enters the Suspended state and Bit 2 (Transmit Buffer Unavailable) of
Register 5 (Status Register) is set. The Start Transmission command is effective only
0b when transmission is stopped. If the command is issued before setting Register 4
13
RW (Transmit Descriptor List Address Register), then the DMA behavior is unpredictable.
When this bit is reset, the transmission process is placed in the Stopped state after
completing the transmission of the current frame. The Next Descriptor position in the
Transmit List is saved, and it becomes the current position when transmission is
restarted. To change the list address, you need to program Register 4 (Transmit
Descriptor List Address Register) with a new value when this bit is reset. The new value
is considered when this bit is set again. The stop transmission command is effective only
when the transmission of the current frame is complete or the transmission is in the
Suspended state.
Threshold for Deactivating Flow Control (RFD): These bits control the threshold
(Fill-level of Rx FIFO) at which the flow control is de-asserted after activation (in half-
duplex and full-duplex).
00b 00: Full minus 1 KB, that is, FULL - 1KB
12:11 01: Full minus 2 KB, that is, FULL - 2KB
RW 10: Full minus 3 KB, that is, FULL - 3KB
11: Full minus 4 KB, that is, FULL - 4KB
The de-assertion is effective only after flow control is asserted. If the Rx FIFO is 8 KB or
more, an additional bit (RFD[2]) is used for more threshold levels as described in Bit 22.
Threshold for Activating Flow Control (RFA): These bits control the threshold (Fill
level of Rx FIFO) at which the flow control is activated (in half-duplex and full-duplex).
00: Full minus 1 KB, that is, FULL - 1KB
00b 01: Full minus 2 KB, that is, FULL - 2KB
10:9 10: Full minus 3 KB, that is, FULL - 3KB
RW 11: Full minus 4 KB, that is, FULL - 4KB
These values only apply to Rx FIFOs of 4 KB or more when the EFC bit is set high. If the
Rx FIFO is 8 KB or more, an additional bit (RFA[2]) is used for more threshold levels as
described in Bit 23.
Enable HW Flow Control (EFC): When this bit is set, the flow control signal operation
0b based on the fill-level of Rx FIFO is enabled. When reset, the flow control operation is
8
RW disabled. This bit is not used (reserved and always reset) when the Rx FIFO is less than
4 KB.
Forward Error Frames (FEF): When this bit is reset, the Rx FIFO drops frames with
error status (CRC error, collision error, GMII_ER, giant frame, watchdog timeout, or
overflow). However, if the start byte (write) pointer of a frame is already transferred to
0b the read controller side (in Threshold mode), then the frame is not dropped.
7 When the FEF bit is set, all frames except runt error frames are forwarded to the DMA. If
RW the Bit 25 (RSF) is set and the Rx FIFO overflows when a partial frame is written, then
the frame is dropped irrespective of the FEF bit setting. However, if the Bit 25 (RSF) is
reset and the Rx FIFO overflows when a partial frame is written, then a partial frame
may be forwarded to the DMA.
Forward Undersized Good Frames (FUF): When set, the Rx FIFO forwards
Undersized frames (frames with no Error and length less than 64 bytes) including pad-
0b bytes and CRC.
6
RW When reset, the Rx FIFO drops all frames of less than 64 bytes, unless a frame is
already transferred because of the lower value of Receive Threshold, for example, RTC =
01.
0b
5 Reserved (RSV1): Reserved.
RO
Receive Threshold Control (RTC): These two bits control the threshold level of the
MTL Receive FIFO. Transfer (request) to DMA starts when the frame size within the MTL
Receive FIFO is larger than the threshold. In addition, full frames with length less than
the threshold are transferred automatically.
00b These bits are valid only when the RSF bit is zero, and are ignored when the RSF bit is
4:3
RW set to 1.
00: 64
01: 32
10: 96
11: 128
0b Operate on Second Frame (OSF): When this bit is set, it instructs the DMA to process
2 the second frame of the Transmit data even before the status for the first frame is
RW obtained.
Start or Stop Receive (SR): When this bit is set, the Receive process is placed in the
Running state. The DMA attempts to acquire the descriptor from the Receive list and
processes the incoming frames. The descriptor acquisition is attempted from the current
position in the list, which is the address set by Register 3 (Receive Descriptor List
Address Register) or the position retained when the Receive process was previously
stopped. If the DMA does not own the descriptor, reception is suspended and Bit 7
0b (Receive Buffer Unavailable) of Register 5 (Status Register) is set. The Start Receive
1 command is effective only when the reception has stopped. If the command is issued
RW before setting Register 3 (Receive Descriptor List Address Register), the DMA behavior is
unpredictable.
When this bit is cleared, the Rx DMA operation is stopped after the transfer of the
current frame. The next descriptor position in the Receive list is saved and becomes the
current position after the Receive process is restarted. The Stop Receive command is
effective only when the Receive process is in either the Running (waiting for receive
packet) or in the Suspended state.
0b
0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 101Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
NIE
AIE
FBE
ERE
ETE
RWE
RSE
RUE
RIE
UNE
OVE
TJE
TUE
TSE
TIE
Bit Default &
Field Name (ID): Description
Range Access
0000h
31:17 Reserved (RSV1): Reserved.
RO
Normal Interrupt Summary Enable (NIE): When this bit is set, normal interrupt
summary is enabled. When this bit is reset, normal interrupt summary is disabled. This
0b bit enables the following interrupts in Register 5 (Status Register):
16 Register 5[0]: Transmit Interrupt
RW Register 5[2]: Transmit Buffer Unavailable
Register 5[6]: Receive Interrupt
Register 5[14]: Early Receive Interrupt
Abnormal Interrupt Summary Enable (AIE): When this bit is set, abnormal
interrupt summary is enabled. When this bit is reset, the abnormal interrupt summary is
disabled. This bit enables the following interrupts in Register 5 (Status Register):
Register 5[1]: Transmit Process Stopped
Register 5[3]: Transmit Jabber Timeout
0b Register 5[4]: Receive Overflow
15
RW Register 5[5]: Transmit Underflow
Register 5[7]: Receive Buffer Unavailable
Register 5[8]: Receive Process Stopped
Register 5[9]: Receive Watchdog Timeout
Register 5[10]: Early Transmit Interrupt
Register 5[13]: Fatal Bus Error
0b Early Receive Interrupt Enable (ERE): When this bit is set with Normal Interrupt
14 Summary Enable (Bit 16), the Early Receive Interrupt is enabled. When this bit is reset,
RW the Early Receive Interrupt is disabled.
0b Fatal Bus Error Enable (FBE): When this bit is set with Abnormal Interrupt Summary
13 Enable (Bit 15), the Fatal Bus Error Interrupt is enabled. When this bit is reset, the Fatal
RW Bus Error Enable Interrupt is disabled.
00b
12:11 Reserved (RSV0): Reserved.
RO
0b Early Transmit Interrupt Enable (ETE): When this bit is set with an Abnormal
10 Interrupt Summary Enable (Bit 15), the Early Transmit Interrupt is enabled. When this
RW bit is reset, the Early Transmit Interrupt is disabled.
0b Receive Watchdog Timeout Enable (RWE): When this bit is set with Abnormal
9 Interrupt Summary Enable (Bit 15), the Receive Watchdog Timeout Interrupt is enabled.
RW When this bit is reset, the Receive Watchdog Timeout Interrupt is disabled.
0b Receive Stopped Enable (RSE): When this bit is set with Abnormal Interrupt
8 Summary Enable (Bit 15), the Receive Stopped Interrupt is enabled. When this bit is
RW reset, the Receive Stopped Interrupt is disabled.
0b Receive Buffer Unavailable Enable (RUE): When this bit is set with Abnormal
7 Interrupt Summary Enable (Bit 15), the Receive Buffer Unavailable Interrupt is enabled.
RW When this bit is reset, the Receive Buffer Unavailable Interrupt is disabled.
0b Receive Interrupt Enable (RIE): When this bit is set with Normal Interrupt Summary
6 Enable (Bit 16), the Receive Interrupt is enabled. When this bit is reset, the Receive
RW Interrupt is disabled.
0b Underflow Interrupt Enable (UNE): When this bit is set with Abnormal Interrupt
5 Summary Enable (Bit 15), the Transmit Underflow Interrupt is enabled. When this bit is
RW reset, the Underflow Interrupt is disabled.
0b Overflow Interrupt Enable (OVE): When this bit is set with Abnormal Interrupt
4 Summary Enable (Bit 15), the Receive Overflow Interrupt is enabled. When this bit is
RW reset, the Overflow Interrupt is disabled.
0b Transmit Jabber Timeout Enable (TJE): When this bit is set with Abnormal Interrupt
3 Summary Enable (Bit 15), the Transmit Jabber Timeout Interrupt is enabled. When this
RW bit is reset, the Transmit Jabber Timeout Interrupt is disabled.
0b Transmit Buffer Unavailable Enable (TUE): When this bit is set with Normal
2 Interrupt Summary Enable (Bit 16), the Transmit Buffer Unavailable Interrupt is
RW enabled. When this bit is reset, the Transmit Buffer Unavailable Interrupt is disabled.
0b Transmit Stopped Enable (TSE): When this bit is set with Abnormal Interrupt
1 Summary Enable (Bit 15), the Transmission Stopped Interrupt is enabled. When this bit
RW is reset, the Transmission Stopped Interrupt is disabled.
0b Transmit Interrupt Enable (TIE): When this bit is set with Normal Interrupt
0 Summary Enable (Bit 16), the Transmit Interrupt is enabled. When this bit is reset, the
RW Transmit Interrupt is disabled.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1020h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV0
OVFCNTOVF
MISCNTOVF
OVFFRMCNT
MISFRMCNT
000b
31:29 Reserved (RSV0): Reserved.
RO
0b
28 FIFO Overflow Counter Overflow (OVFCNTOVF): Reserved.
RO
FIFO Overflow Counter (OVFFRMCNT): This field indicates the number of frames
000h missed by the application due to buffer overflow conditions and runt frames (good
27:17
RO frames of less than 64 bytes) dropped by the MTL. The counter is cleared when this
register is read with the LS Byte enabled.
0b
16 Missed Frame Counter Overflow (MISCNTOVF): Reserved.
RO
Missed Frame Counter (MISFRMCNT): This field indicates the number of frames
0000h missed by the controller because of the Host Receive Buffer being unavailable. This
15:0
RO counter is incremented each time the DMA discards an incoming frame. The counter is
cleared when this register is read with the LS Byte enabled.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1024h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RIWT
RSV0
000000h
31:8 Reserved (RSV0): Reserved.
RO
RI Watchdog Timer Count (RIWT): This bit indicates the number of system clock
cycles multiplied by 256 for which the watchdog timer is set. The watchdog timer gets
00h triggered with the programmed value after the Rx DMA completes the transfer of a
7:0 frame for which the RI status bit is not set because of the setting in the corresponding
RW descriptor RDES1[31]. When the watchdog timer runs out, the RI bit is set and the timer
is stopped. The watchdog timer is reset when the RI bit is set high because of automatic
setting of RI as per RDES1[31] of any received frame.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 102Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
AXWHSTS
RSV0
Bit Default &
Field Name (ID): Description
Range Access
00000000h
31:1 Reserved (RSV0): Reserved.
RO
0b AHB Master Status (AXWHSTS): This bit indicates that the AHB master interface
0
RO FSMs are in the non-idle state.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1048h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CURTDESAPTR
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 104Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CURRDESAPTR
Bit Default &
Field Name (ID): Description
Range Access
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1050h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CURTBUFAPTR
00000000h Host Transmit Buffer Address Pointer (CURTBUFAPTR): Cleared on Reset. Pointer
31:0
RO updated by the DMA during operation.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1054h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CURRBUFAPTR
Bit Default &
Field Name (ID): Description
Range Access
00000000h Host Receive Buffer Address Pointer (CURRBUFAPTR): Cleared on Reset. Pointer
31:0
RO updated by the DMA during operation.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1058h
(Size: 32 bits)
Default: 4B0F3915h
31 28 24 20 16 12 8 4 0
0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1
FLEXIPPSEN
RSV0
MMCSEL
MGKSEL
L3L4FLTREN
ADDMACADRSEL
GMIISEL
MIISEL
ACTPHYIF
SAVLANINS
INTTSEN
ENHDESSEL
AVSEL
TSVER2SEL
TSVER1SEL
RWKSEL
SMASEL
RXFIFOSIZE
TXCOESEL
EEESEL
PCSSEL
HASHSEL
EXTHASHEN
HDSEL
TXCHCNT
RXCHCNT
RXTYP2COE
RXTYP1COE
0b
31 Reserved (RSV0): Reserved.
RO
Active or Selected PHY interface (ACTPHYIF): This field indicates the supported
PHY interface:
0000: GMII or MII
0001: RGMII
100b 0010: SGMII
30:28 0011: TBI
RO 0100: RMII
0101: RTBI
0110: SMII
0111: RevMII
All Others: Reserved
1b
27 Source Address or VLAN Insertion (SAVLANINS): Reserved.
RO
0b
26 Flexible Pulse-Per-Second Output (FLEXIPPSEN): Reserved.
RO
1b
25 Timestamping with Internal System Time (INTTSEN): Reserved.
RO
1b
24 Alternate (Enhanced Descriptor) (ENHDESSEL): Reserved.
RO
00b
23:22 Number of additional Tx channels (TXCHCNT): Reserved.
RO
00b
21:20 Number of additional Rx channels (RXCHCNT): Reserved.
RO
1b
19 Rx FIFO > 2,048 Bytes (RXFIFOSIZE): Reserved.
RO
1b
18 IP Checksum Offload (Type 2) in Rx (RXTYP2COE): Reserved.
RO
1b
17 IP Checksum Offload (Type 1) in Rx (RXTYP1COE): Reserved.
RO
1b
16 Checksum Offload in Tx (TXCOESEL): Reserved.
RO
0b
15 AV Feature (AVSEL): Reserved.
RO
0b
14 Energy Efficient Ethernet (EEESEL): Reserved.
RO
1b
13 IEEE 1588-2008 Advanced Timestamp (TSVER2SEL): Reserved.
RO
1b
12 Only IEEE 1588-2002 Timestamp (TSVER1SEL): Reserved.
RO
1b
11 RMON Module (MMCSEL): Reserved.
RO
0b
10 PMT Magic Packet (MGKSEL): Reserved.
RO
0b
9 PMT Remote Wakeup (RWKSEL): Reserved.
RO
1b
8 SMA (MDIO) Interface (SMASEL): Reserved.
RO
0b
7 L3L4FLTREN: Reserved.
RO
0b
6 PCS registers (PCSSEL): Reserved.
RO
0b
5 Multiple MAC Address Registers (ADDMACADRSEL): Reserved.
RO
1b
4 HASH Filter (HASHSEL): Reserved.
RO
0b
3 Expanded DA Hash Filter (EXTHASHEN): Reserved.
RO
1b
2 Half-Duplex support (HDSEL): Reserved.
RO
0b
1 1000 Mbps Support (GMIISEL): Reserved.
RO
1b
0 10 and 100 Mbps Support (MIISEL): Reserved.
RO
The structure of the descriptor with respect to the data bus endianness is as follows:
• Data Bus Endianness: Little-endian
• Descriptor Endianness: Same-endian
• Data Bus: 32-bit data bus
clears) and updates the status bits[7:0]. The contents of the transmitter descriptor
word 0 (TDES0) through word 3 (TDES3) are given in Table 89 through Table 91,
respectively.
The snapshot of the timestamp to be taken can be enabled for a given frame by setting
Bit 25 (TTSE) of TDES0. When the descriptor is closed (that is, when the OWN bit is
cleared), the timestamp is written into TDES6 and TDES7. This is indicated by the
status Bit 17 (TTSS) of TDES0 shown in Figure 29. The contents of TDES6 and TDES7
are mentioned in Table 93 and Table 94.
The DMA always reads or fetches four DWORDS of the descriptor from system memory
to obtain the buffer and control information as shown in Figure 30. When the AV
feature is enabled, TDES0 has additional control bits[6:3] for Channel 1 and Channel 2.
For Channel 0, Bits [6:3] are ignored. Bits [6:3] are described in Table 89.
VLIC: VLAN Insertion Control When set, these bits request the MAC to perform VLAN tagging or
untagging before transmitting the frames. If the frame is modified for VLAN tags, the MAC
automatically recalculates and replaces the CRC bytes.
The following list describes the values of these bits:
• 2'b00: Do not add a VLAN tag.
• 2'b01: Remove the VLAN tag from the frames before transmission. This option should be used
19:18 only with the VLAN frames.
• 2'b10: Insert a VLAN tag with the tag value programmed in Register 353 (VLAN Tag Inclusion or
Replacement Register).
• 2'b11: Replace the VLAN tag in frames with the Tag value programmed in Register 353 (VLAN
Tag Inclusion or Replacement Register). This option should be used only with the VLAN frames.
These bits are valid when the Enable SA, VLAN, and CRC Insertion on TX option is selected during
core configuration and the First Segment control bit (TDES0[28]) is set.
NC: No Carrier
10 When set, this bit indicates that the Carrier Sense signal form the PHY was not asserted during
transmission.
15:13 Reserved
The contents of RDES0 are identified in Table 95. The contents of RDES1 through
RDES3 are identified in Table 96 through Table 98, respectively.
Note: Some of the bit functions of RDES0 are not backward compatible to Release 3.41a and
previous versions. These bits are Bit 7, Bit 0, and Bit 5. The function of Bit 5 is
backward compatible to Release 3.30a and previous versions.
30:29 Reserved
13 Reserved
The status written is as shown in Table 99. The status is written only when there is
status related to IPC or timestamp available. The availability of extended status is
indicated by Bit 0 of RDES0. This status is available only when the Advance Timestamp
or IPC Full Offload feature is selected.
31:28 Reserved
23:21 Reserved
AV Packet Received
16 When set, this bit indicates that an AV packet is received. This bit is available only when you select
the AV feature.
15 Reserved
Timestamp Dropped
14 When set, this bit indicates that the timestamp was captured for this frame but got dropped in the
MTL Rx FIFO because of overflow. This bit is available only when you select the Advanced
Timestamp feature. Otherwise, this bit is reserved.
PTP Version
13 When set, this bit indicates that the received PTP message is having the IEEE 1588 version 2
format. When reset, it has the version 1 format. This bit is available only when you select the
Advanced Timestamp feature. Otherwise, this bit is reserved.
Message Type
These bits are encoded to give the type of the message received.
• 0000: No PTP message received
• 0001: SYNC (all clock types)
• 0010: Follow_Up (all clock types)
• 0011: Delay_Req (all clock types)
• 0100: Delay_Resp (all clock types)
11:8 • 0101: Pdelay_Req (in peer-to-peer transparent clock)
• 0110: Pdelay_Resp (in peer-to-peer transparent clock)
• 0111: Pdelay_Resp_Follow_Up (in peer-to-peer transparent clock)
• 1000: Announce • 1001: Management
• 1010: Signaling • 1011-1110: Reserved
• 1111: PTP packet with Reserved message type
These bits are available only when you select the Advance Timestamp feature.
Note: Values 1000, 1001, and 1010 are not backward compatible with release 3.50a.
IP Checksum Bypassed
5 When set, this bit indicates that the checksum offload engine is bypassed. This bit is available when
you select the Enable Receive Full TCP/IP Checksum (Type 2) feature.
IP Payload Error
When set, this bit indicates that the 16-bit IP payload checksum (that is, the TCP, UDP, or ICMP
checksum) that the core calculated does not match the corresponding checksum field in the
4
received segment. It is also set when the TCP, UDP, or ICMP segment length does not match the
payload length value in the IP Header field. This bit is valid when either Bit 7 or Bit 6 is set.
This bit is available when you select the Enable Receive Full TCP/IP Checksum (Type 2) feature.
IP Header Error
When set, this bit indicates that either the 16-bit IPv4 header checksum calculated by the core does
3 not match the received checksum bytes, or the IP datagram version is not consistent with the
Ethernet Type value. This bit is valid when either Bit 7 or Bit 6 is set.
This bit is available when you select the Enable Receive Full TCP/IP Checksum (Type 2) feature.
IP Payload Type
These bits indicate the type of payload encapsulated in the IP datagram processed by the Receive
Checksum Offload Engine (COE). The COE also sets these bits to 2'b00 if it does not process the IP
datagram’s payload due to an IP header error or fragmented IP.
• 3'b000: Unknown or did not process IP payload
2:0 • 3'b001: UDP
• 3'b010: TCP
• 3'b011: ICMP
• 3’b1xx: Reserved
This bit is valid when either Bit 7 or Bit 6 is set. This bit is available when you select the Enable
Receive Full TCP/IP Checksum (Type 2) feature.
RDES6 and RDES7 contain the snapshot of the timestamp. The availability of the
snapshot of the timestamp in RDES6 and RDES7 is indicated by Bit 7 in the RDES0
descriptor. The contents of RDES6 and RDES7 are identified in Table 100 and Table 101,
respectively.
§§
The Intel® Quark™ SoC X1000 USB subsystem provides a two-port USB 2.0 Host
Controller and one USB 2.0 Device port.
USBH[0/1]_DP Universal Serial Bus Host Port 0 and Port 1. Differentials: Bus Data/
I/O
USBH[0/1]_DN Address/Command Bus
USBH0_OC_B Over current Indicators: These signals set corresponding bits in the USB
I controller to indicate that an over current condition has occurred.
USBH1_OC_B Overcurrent indicators are provided for both Host ports.
USBH0_PWR_EN
O Power Enable signal to the USB host port
USBH1_PWR_EN
USBD_DP Universal Serial Bus Device Port. Differentials: Bus Data/ Address/
I/O
USBD_DN Command Bus
RCOMP OUT. Note: Please check the Platform Design Guide for connection
OUSBCOMP O
details for this COMP pin.
RCOMP IN. Note: Please check the Platform Design Guide for connection
IUSBCOMP I
details for this COMP pin.
16.2 Features
• EHCI features
Supported:
— 512-byte Packet Buffer depth for in/out data buffering
— Programmable Packet Buffer depth
— Extended capability pointer (EECP = 8’hC0)
— Programmable frame list flag
— 32-bit only addressing capability
— Per port power control
— PCI Power Management
Not supported:
— Descriptor/data prefetching
— Asynchronous schedule park capability
— HSIC functionality
— Link Power Management (LPM) ECN
• OHCI features
Supported:
— One OHCI companion controller
— Per port power control
Not supported:
— Keyboard/Mouse legacy interface
16.3 References
• USB 2.0 specification at http://www.usb.org/developers/docs
Host Bridge
D:0,F:0
EHCI Host
PCI Mem
CAM Registers
(I/O)
Bus 0
OHCI Host Memory Space
PCI
ECAM PCI Header
(Mem) D:20,F:4
SPI1 F:1
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 443 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 443 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 444 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 445 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 446 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 447 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 447 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 448 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 449 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 450 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 452 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 452 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 0939h
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1
value
Bit Default &
Description
Range Access
0939h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IntrDis
SERREn
MasEn
MEMen
RSVD0
RSVD
RSVD
RSVD
Bit Default &
Description
Range Access
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
capable_66Mhz
RcdMasAb
RSVD0
RSVD1
DEVSEL
FastB2B
hasCapList
SigSysErr
RSVD
RSVD
RSVD
IntrStatus
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 0C03FE10h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0
progIntf
classCode
subClassCode
rev_id
Bit Default &
Description
Range Access
0Ch Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
03h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
FEh Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
BIST_capable
comp_code
start_bist
RSVD
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
prefetchable
memType
address
RSVD
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
AddrDecodeEn
ROM_base_addr
Bit Default &
Description
Range Access
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
RSVD0
value
Bit Default &
Description
Range Access
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
03h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
PME_support
D2_support
D1_support
aux_curr
RSVD
PME_clock
version
DSI
Bit Default &
Description
Range Access
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
PME_status
PME_en
Data_scale
power_state
Data_select
no_soft_reset
RSVD
RSVD
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
Bit Default &
Description
Range Access
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
perVecMskCap
bit64Cap
multiMsgCap
MSIEnable
RSVD0
multiMsgEn
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD0
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
value
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 458 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 459 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 460 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 460 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 461 00h
60h 60h “Serial Bus Release Number Register (SBRN)—Offset 60h” on page 462 20h
61h 61h “Frame Length Adjustment Register (FLADJ)—Offset 61h” on page 462 20h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 463 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 463 F803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 464 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 465 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 466 C0h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 468 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 468 00000000h
C4h C7h “USB Legacy Support Control/Status (USBLEGCTLSTS)—Offset C4h” on page 469 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
Bit Default &
Description
Range Access
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 0939h
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1
value
0939h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IntrDis
RSVD0
RSVD
RSVD
MasEn
SERREn
MEMen
RSVD
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0
capable_66Mhz 1 0 0 0 0
RSVD0
hasCapList
SigSysErr
DEVSEL
FastB2B
RSVD1
RSVD
RSVD
RSVD
RcdMasAb
IntrStatus
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 0C032010h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
classCode
subClassCode
progIntf
rev_id
Bit Default &
Description
Range Access
0Ch Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
03h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
20h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
start_bist
RSVD
BIST_capable
comp_code
Bit Default &
Description
Range Access
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD
memType
isIO
prefetchable
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM_base_addr
RSVD
AddrDecodeEn
Bit Default &
Description
Range Access
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
value 0 0 0 0
RSVD0
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
04h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 20h
7 4 0
0 0 1 0 0 0 0 0
SBRN
20h Serial Bus Specification Release Number (SBRN): Serial Bus Specification Release
7: 0
RO Number.
Default: 20h
7 4 0
0 0 1 0 0 0 0 0
FLADJ
RSVD0
0h
7: 6 RSVD0 (RSVD0): Reserved
RO
Frame Length Timing Value (FLADJ): Each decimal value change to this register
20h corresponds to 16 highspeed bit times. The SOF cycle time (number of SOF counter
5: 0
RW clock periods to generate a SOF micro-frame length) is equal to 59488 + value in this
field. The default value is decimal 32 (20h), which gives a SOF cycle time of 60000.
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
Bit Default &
Description
Range Access
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: F803h
15 12 8 4 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1
PME_support
D2_support
D1_support
aux_curr
RSVD
PME_clock
version
DSI
Bit Default &
Description
Range Access
PME Support (PME_support): PME_Support field Indicates the PM states within which
1Fh the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
PME_status
PME_en
Data_scale
power_state
Data_select
no_soft_reset
RSVD
RSVD
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
Bit Default &
Description
Range Access
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: C0h
7 4 0
1 1 0 0 0 0 0 0
value
C0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0 configuration registers. Hardwired to 0xC0 to point to the USB Legacy Support Extended
RO Capability Structure
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
perVecMskCap
bit64Cap
multiMsgCap
MSIEnable
RSVD0
multiMsgEn
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD0
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
value
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
Default: 00000001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
RSVD0
HC_BIOS_Owned_Semaphore
HC_OS_Owned_Semaphore
RSVD
NXT_CAP_PTR
CAP_ID
Bit Default &
Description
Range Access
0h
31: 25 RSVD0 (RSVD0): Reserved
RO
00h
23: 17 Reserved (RSVD): Reserved.
RO
0h Next EHCI Extended Capability Pointer (NXT_CAP_PTR): This field points to the
15: 8 PCI configuration space offset of the next extended capability pointer. A value of 00h
RO indicates the end of the extended capability list.
Capability ID (CAP_ID): This field identifies the extended capability. A value of 01h
01h identifies the capability as Legacy Support. This extended capability requires one
7: 0
RO additional 32-bit register for control/status information, and this register is located at
offset EECP+04h.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SMI_ASYNC_ADVANCE
SMI_FRAME_LIST_ROLLOVER
SMI_USB_COMPLETE
SMI_BAR
SMI_HOST_SYSTEM_ERROR
SMI_PCI_CMD
SMI_USB_ERROR
SMI_OS_OWNR_CHANGE
RSVD
RSVD
SMI_HOST_SYSTEM_ERROR_EN
SMI_USB_COMPLETE_EN
SMI_PORT_CHANGE_DETECT
SMI_BAR_EN
SMI_ASYNC_ADVANCE_EN
SMI_FRAME_LIST_ROLLOVER_EN
SMI_PORT_CHANGE_DETECT_EN
SMI_USB_ERROR_EN
SMI_PCI_CMD_EN
SMI_OS_OWNR_CHANGE_EN
Bit Default &
Description
Range Access
0b SMI on BAR (SMI_BAR): This bit is set to one whenever the Base Address Register
31
RW (BAR) is written.
0b SMI on PCI Command (SMI_PCI_CMD): This bit is set to one whenever the PCI
30
RW Command Register is written.
00h
28: 22 Reserved (RSVD): Reserved.
RO
0b SMI on BAR Enable (SMI_BAR_EN): When this bit is one and SMI on BAR is one,
15
RW then the host controller will issue an SMI.
0b SMI on PCI Command Enable (SMI_PCI_CMD_EN): When this bit is one and SMI
14
RW on PCI Command is one, then the host controller will issue an SMI.
00h
12: 6 Reserved (RSVD): Reserved.
RO
0b SMI on USB Error Enable (SMI_USB_ERROR_EN): When this bit is a one, and the
1 SMI on USB Error bit (above) in this register is a one, the host controller will issue an
RW SMI immediately.
0b USB SMI Enable (SMI_USB_COMPLETE_EN): When this bit is a one, and the SMI on
0 USB Complete bit (above) in this register is a one, the host controller will issue an SMI
RW immediately.
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 443 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 443 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 444 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 460 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 461 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 463 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 463 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 464 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 465 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 466 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 485 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 468 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 093Ah
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0
value
093Ah
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
IntrDis
RSVD
RSVD
MasEn
SERREn
MEMen
RSVD
Bit Default &
Description
Range Access
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
hasCapList
IntrStatus
SigSysErr
RSVD
DEVSEL
RSVD
FastB2B
RSVD
RcdMasAb
capable_66Mhz
RSVD0
RSVD1
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 0C031010h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
progIntf
classCode
subClassCode
rev_id
0Ch Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
03h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
10h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
multiFnDev
cfgHdrFormat
Bit Default &
Description
Range Access
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
RSVD
BIST_capable
comp_code
start_bist
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD
prefetchable
memType
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM_base_addr
RSVD
AddrDecodeEn
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
RSVD0
value
Bit Default &
Description
Range Access
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
01h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
Bit Default &
Description
Range Access
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
D2_support
D1_support
PME_support
aux_curr
DSI
RSVD
PME_clock
version
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Data_scale
no_soft_reset
power_state
Data_select
PME_en
RSVD
RSVD
PME_status
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
MSIEnable
RSVD0
perVecMskCap
bit64Cap
multiMsgCap
multiMsgEn
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
address
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
RSVD0
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
8h Bh “IN Endpoint 0 Buffer Size Register (ep0_in_bufsize_udc_reg)—Offset 8h” on page 492 00000000h
20h 23h “IN Endpoint 1 Control Register (ep1_in_ctrl_udc_reg)—Offset 20h” on page 494 00000000h
24h 27h “IN Endpoint 1 Status Register (ep1_in_sts_udc_reg)—Offset 24h” on page 495 00000000h
40h 43h “IN Endpoint 2 Control Register (ep2_in_ctrl_udc_reg)—Offset 40h” on page 499 00000000h
44h 47h “IN Endpoint 2 Status Register (ep2_in_sts_udc_reg)—Offset 44h” on page 500 00000000h
60h 63h “IN Endpoint 3 Control Register (ep3_in_ctrl_udc_reg)—Offset 60h” on page 504 00000000h
64h 67h “IN Endpoint 3 Status Register (ep3_in_sts_udc_reg)—Offset 64h” on page 505 00000000h
200h 203h “OUT Endpoint 0 Control Register (ep0_out_ctrl_udc_reg)—Offset 200h” on page 509 00000000h
204h 207h “OUT Endpoint 0 Status Register (ep0_out_sts_udc_reg)—Offset 204h” on page 510 00000100h
“OUT Endpoint 0 Read Confirmation Register for zero-length OUT data (for Slave-Only
21Ch 21Fh 00000000h
mode) (ep0_rd_cfrm_udc_reg)—Offset 21Ch” on page 514
220h 223h “OUT Endpoint 1 Control Register (ep1_out_ctrl_udc_reg)—Offset 220h” on page 515 00000000h
224h 227h “OUT Endpoint 1 Status Register (ep1_out_sts_udc_reg)—Offset 224h” on page 516 00000100h
“OUT Endpoint 1 Read Confirmation Register for zero-length OUT data (for Slave-Only
23Ch 23Fh 00000000h
mode) (ep1_rd_cfrm_udc_reg)—Offset 23Ch” on page 520
240h 243h “OUT Endpoint 2 Control Register (ep2_out_ctrl_udc_reg)—Offset 240h” on page 521 00000000h
244h 247h “OUT Endpoint 2 Status Register (ep2_out_sts_udc_reg)—Offset 244h” on page 522 00000100h
“OUT Endpoint 2 Read Confirmation Register for zero-length OUT data (for Slave-Only
25Ch 25Fh 00000000h
mode) (ep2_rd_cfrm_udc_reg)—Offset 25Ch” on page 526
260h 263h “OUT Endpoint 3 Control Register (ep3_out_ctrl_udc_reg)—Offset 260h” on page 527 00000000h
264h 267h “OUT Endpoint 3 Status Register (ep3_out_sts_udc_reg)—Offset 264h” on page 528 00000100h
“OUT Endpoint 3 Read Confirmation Register for zero-length OUT data (for Slave-Only
27Ch 27Fh 00000000h
mode) (ep3_rd_cfrm_udc_reg)—Offset 27Ch” on page 532
400h 403h “Device Configuration Register (d_cfg_udc_reg)—Offset 400h” on page 533 00000020h
404h 407h “Device Control Register (d_ctrl_udc_reg)—Offset 404h” on page 534 00000400h
408h 40Bh “Device Status Register (d_sts_udc_reg)—Offset 408h” on page 536 00000000h
40Ch 40Fh “Device Interrupt Register (d_intr_udc_reg)—Offset 40Ch” on page 537 00000000h
410h 413h “Device Interrupt Mask Register (d_intr_msk_udc_reg)—Offset 410h” on page 538 00000000h
414h 417h “Endpoints Interrupt Register (ep_intr_udc_reg)—Offset 414h” on page 539 00000000h
418h 41Bh “Endpoints Interrupt Mask Register (ep_intr_msk_udc_reg)—Offset 418h” on page 539 00000000h
41Ch 41Fh “Test Mode Register (test_mode_udc_reg)—Offset 41Ch” on page 540 00000000h
420h 423h “Product Release Number Register (revision_udc_reg)—Offset 420h” on page 541 3234352Ah
504h 507h “Physical Endpoint 0 Register (udc_ep_ne_udc_reg_0)—Offset 504h” on page 542 00000000h
508h 50Bh “Physical Endpoint 1 Register (udc_ep_ne_udc_reg_1)—Offset 508h” on page 542 00000000h
50Ch 50Fh “Physical Endpoint 2 Register (udc_ep_ne_udc_reg_2)—Offset 50Ch” on page 543 00000000h
510h 513h “Physical Endpoint 3 Register (udc_ep_ne_udc_reg_3)—Offset 510h” on page 544 00000000h
514h 517h “Physical Endpoint 4 Register (udc_ep_ne_udc_reg_4)—Offset 514h” on page 545 00000000h
518h 51Bh “Physical Endpoint 5 Register (udc_ep_ne_udc_reg_5)—Offset 518h” on page 546 00000000h
51Ch 51Fh “Physical Endpoint 6 Register (udc_ep_ne_udc_reg_6)—Offset 51Ch” on page 546 00000000h
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rrdy
close_desc
cnak
snak
nak
et
f
reserved
mrx_flush
null_bit
p
sn
s
Bit Default &
Field Name (ID): Description
Range Access
0x0 Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): This is an OUT
12
RO endpoint field only. These bits are reserved and should be set to zero.
Send Null Packet (null_bit): This bit provides the application with a mechanism to
0x0 instruct the USB Device Controller to send a NULL (zero length) packet when no data is
10
RW available in the particular endpoint TxFIFO. If this bit is set, when no data is available in
the endpoint TxFIFO, the USB Device Controller sends a NULL packet.
0x0 Receive Ready (rrdy): This is an OUT endpoint field only. These bits are reserved and
9
RO should be set to zero.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the RxFIFO is empty (for single RxFIFO
implementation) or when the RxFIFO corresponding to the same logical endpoint is
empty (Multiple RxFIFO implementation). The application can write CNAK any time
without waiting for a RxFIFO empty condition. The NAK bit is cleared immediately upon
write to CNAK bit. No polling is necessary.
0x0 Set NAK (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Bit (nak): After a SETUP packet, which is decoded by the application, is received
by the core, the core sets the NAK bit for all control IN/OUT endpoints. NAK is also set
after a STALL response for the endpoint (the STALL bit is set in Endpoint Control register
0x0 bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: A NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Poll Demand (p): Poll demand from the application. The application can set this bit
0x0 after an IN token is received from the endpoint. The application can also set this bit
3 before an IN token is received for the endpoint, if it has the IN transfer data in advance.
RW Note: After sending a zero-length or short packet, the application must wait for the next
XFERDONE_TXEMPTY interrupt, before setting up the P bit for the next transfer.
0x0 Snoop Mode (sn): This is an OUT endpoint field only. These bits are reserved and
2
RO should be set to zero.
Flush TxFIFO (f): The application firmware sets this bit to 1 after it has detected a
0x0 disconnect/connect on the USB cable, then waits for the IN token endpoint interrupt
1
RW before resetting this bit to 0. This flushes the stale data out of the TxFIFO. This bit is
cleared by the core when TDC (Transmit DMA Complete) occurs on this endpoint.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo_empty
mrxfifo_empty
reserved_1
xfer_done_txf_empty
set_feature_halt
clr_feature_halt
out_tok
reserved_3
bna
in_tok
cdc
isoc_xfer_done
tdc
he
rx_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint. To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature stall command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
Transmit FIFO Empty detected (tx_fifo_empty): This bit indicates that the
0x0 Transmit FIFO Empty condition is triggered. Application can use this information to load
24 the subsequent data into the Transmit FIFO. The application must clear this bit after
RW/1C writing the data into the Transmit FIFO.
Note: This bit is not used for Isochronous endpoints.
0x0 Receive Packet Size (rx_pkt_size): This is an OUT endpoint field only. These bits are
22:11
RO reserved and should be set to zero.
0x0 Transmit DMA Completion (tdc): Indicates the transmit DMA has completed
10 transferring a descriptor chain data to the Tx FIFO. After servicing the interrupt, the
RW/1C application must clear this bit.
0x0 Error response on the host bus (he): Error response on the host bus (AHB) when
9 doing a data transfer, descriptor fetch, or descriptor update for this particular endpoint.
RW/1C After servicing the interrupt, the application must clear this bit.
0x0 Receive Address FIFO Empty Status (mrxfifo_empty): This is an OUT endpoint
8
RO field only. These bits are reserved and should be set to zero.
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it. After servicing the interrupt, the application must clear this
bit.
0x0 IN token (in_tok): An IN token has been received by this endpoint. After servicing the
6
RW/1C interrupt, application must clear this bit.
0x0 OUT token (out_tok): This is an OUT endpoint field only. These bits are reserved and
5:4
RO should be set to zero.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number
reserved
isoc_data_pid
buff_size_1
0x0 Buffer Size (buff_size_frame_number): These bits are reserved and should be set
15:10
RO to zero.
Buffer Size (buff_size_1): Buffer size required for this endpoint. The application can
0x0 program this field to make each endpoints buffers adaptive, providing flexibility in buffer
9:0 size when the interface or configuration is changed. This value is in 32-bit words, and
RW indicates the number of 32-bit word entries in the Transmit FIFO.
NOTE: the maximum size of the TxFIFO is 1024 32-bit word entries.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
mpkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Buffer Size (buff_size): This is an OUT endpoint field only. These bits are reserved
31:16
RO and should be set to zero.
Max Packet Size (mpkt_size): Maximum packet size for the endpoint in bytes. This
0x0 maximum size is used to calculate whether the Receive FIFO has sufficient space to
15:0
RO accept a packet. When changing the maximum packet size for a specific endpoint, the
user must also program the corresponding Physical Endpoint Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointers.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wr_cfrm
Bit Default &
Field Name (ID): Description
Range Access
0x0 Write Confirmation (for Slave-Only mode) (wr_cfrm): Writing to this register
31:0
WO confirms the IN data into the TxFIFO.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 20h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rrdy
f
reserved
mrx_flush
close_desc
null_bit
cnak
snak
nak
et
p
sn
0x0 Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): This is an OUT
12
RO endpoint field only. These bits are reserved and should be set to zero.
Send Null Packet (null_bit): This bit provides the application with a mechanism to
0x0 instruct the USB Device Controller to send a NULL (zero length) packet when no data is
10
RW available in the particular endpoint TxFIFO. If this bit is set, when no data is available in
the endpoint TxFIFO, the USB Device Controller sends a NULL packet.
0x0 Receive Ready (rrdy): This is an OUT endpoint field only. These bits are reserved and
9
RO should be set to zero.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the RxFIFO is empty (for single RxFIFO
implementation) or when the RxFIFO corresponding to the same logical endpoint is
empty (Multiple RxFIFO implementation). The application can write CNAK any time
without waiting for a RxFIFO empty condition. The NAK bit is cleared immediately upon
write to CNAK bit. No polling is necessary.
0x0 Set NAK (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Bit (nak): After a SETUP packet, which is decoded by the application, is received
by the core, the core sets the NAK bit for all control IN/OUT endpoints. NAK is also set
after a STALL response for the endpoint (the STALL bit is set in Endpoint Control register
0x0 bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: A NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Poll Demand (p): Poll demand from the application. The application can set this bit
0x0 after an IN token is received from the endpoint. The application can also set this bit
3 before an IN token is received for the endpoint, if it has the IN transfer data in advance.
RW Note: After sending a zero-length or short packet, the application must wait for the next
XFERDONE_TXEMPTY interrupt, before setting up the P bit for the next transfer.
0x0 Snoop Mode (sn): This is an OUT endpoint field only. These bits are reserved and
2
RO should be set to zero.
Flush TxFIFO (f): The application firmware sets this bit to 1 after it has detected a
0x0 disconnect/connect on the USB cable, then waits for the IN token endpoint interrupt
1
RW before resetting this bit to 0. This flushes the stale data out of the TxFIFO. This bit is
cleared by the core when TDC (Transmit DMA Complete) occurs on this endpoint.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo_empty
mrxfifo_empty
reserved_1
xfer_done_txf_empty
set_feature_halt
clr_feature_halt
out_tok
reserved_3
bna
in_tok
cdc
isoc_xfer_done
tdc
he
rx_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint. To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature stall command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
Transmit FIFO Empty detected (tx_fifo_empty): This bit indicates that the
0x0 Transmit FIFO Empty condition is triggered. Application can use this information to load
24 the subsequent data into the Transmit FIFO. The application must clear this bit after
RW/1C writing the data into the Transmit FIFO.
Note: This bit is not used for Isochronous endpoints.
0x0 Receive Packet Size (rx_pkt_size): This is an OUT endpoint field only. These bits are
22:11
RO reserved and should be set to zero.
0x0 Transmit DMA Completion (tdc): Indicates the transmit DMA has completed
10 transferring a descriptor chain data to the Tx FIFO. After servicing the interrupt, the
RW/1C application must clear this bit.
0x0 Error response on the host bus (he): Error response on the host bus (AHB) when
9 doing a data transfer, descriptor fetch, or descriptor update for this particular endpoint.
RW/1C After servicing the interrupt, the application must clear this bit.
0x0 Receive Address FIFO Empty Status (mrxfifo_empty): This is an OUT endpoint
8
RO field only. These bits are reserved and should be set to zero.
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it. After servicing the interrupt, the application must clear this
bit.
0x0 IN token (in_tok): An IN token has been received by this endpoint. After servicing the
6
RW/1C interrupt, application must clear this bit.
0x0 OUT token (out_tok): This is an OUT endpoint field only. These bits are reserved and
5:4
RO should be set to zero.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
isoc_data_pid
buff_size_1
0x0 Buffer Size (buff_size_frame_number): These bits are reserved and should be set
15:10
RO to zero.
Buffer Size (buff_size_1): Buffer size required for this endpoint. The application can
0x0 program this field to make each endpoints buffers adaptive, providing flexibility in buffer
9:0 size when the interface or configuration is changed. This value is in 32-bit words, and
RW indicates the number of 32-bit word entries in the Transmit FIFO.
NOTE: the maximum size of the TxFIFO is 1024 32-bit word entries.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 2Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
mpkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Buffer Size (buff_size): This is an OUT endpoint field only. These bits are reserved
31:16
RO and should be set to zero.
Max Packet Size (mpkt_size): Maximum packet size for the endpoint in bytes. This
0x0 maximum size is used to calculate whether the Receive FIFO has sufficient space to
15:0
RO accept a packet. When changing the maximum packet size for a specific endpoint, the
user must also program the corresponding Physical Endpoint Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointers.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wr_cfrm
Bit Default &
Field Name (ID): Description
Range Access
0x0 Write Confirmation (for Slave-Only mode) (wr_cfrm): Writing to this register
31:0
WO confirms the IN data into the TxFIFO.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 40h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rrdy
f
reserved
mrx_flush
close_desc
null_bit
cnak
snak
nak
et
p
sn
s
Bit Default &
Field Name (ID): Description
Range Access
0x0 Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): This is an OUT
12
RO endpoint field only. These bits are reserved and should be set to zero.
Send Null Packet (null_bit): This bit provides the application with a mechanism to
0x0 instruct the USB Device Controller to send a NULL (zero length) packet when no data is
10
RW available in the particular endpoint TxFIFO. If this bit is set, when no data is available in
the endpoint TxFIFO, the USB Device Controller sends a NULL packet.
0x0 Receive Ready (rrdy): This is an OUT endpoint field only. These bits are reserved and
9
RO should be set to zero.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the RxFIFO is empty (for single RxFIFO
implementation) or when the RxFIFO corresponding to the same logical endpoint is
empty (Multiple RxFIFO implementation). The application can write CNAK any time
without waiting for a RxFIFO empty condition. The NAK bit is cleared immediately upon
write to CNAK bit. No polling is necessary.
0x0 Set NAK (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Bit (nak): After a SETUP packet, which is decoded by the application, is received
by the core, the core sets the NAK bit for all control IN/OUT endpoints. NAK is also set
after a STALL response for the endpoint (the STALL bit is set in Endpoint Control register
0x0 bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: A NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Poll Demand (p): Poll demand from the application. The application can set this bit
0x0 after an IN token is received from the endpoint. The application can also set this bit
3 before an IN token is received for the endpoint, if it has the IN transfer data in advance.
RW Note: After sending a zero-length or short packet, the application must wait for the next
XFERDONE_TXEMPTY interrupt, before setting up the P bit for the next transfer.
0x0 Snoop Mode (sn): This is an OUT endpoint field only. These bits are reserved and
2
RO should be set to zero.
Flush TxFIFO (f): The application firmware sets this bit to 1 after it has detected a
0x0 disconnect/connect on the USB cable, then waits for the IN token endpoint interrupt
1
RW before resetting this bit to 0. This flushes the stale data out of the TxFIFO. This bit is
cleared by the core when TDC (Transmit DMA Complete) occurs on this endpoint.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo_empty
mrxfifo_empty
reserved_1
xfer_done_txf_empty
set_feature_halt
clr_feature_halt
out_tok
reserved_3
bna
in_tok
cdc
isoc_xfer_done
tdc
he
rx_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint. To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature stall command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
Transmit FIFO Empty detected (tx_fifo_empty): This bit indicates that the
0x0 Transmit FIFO Empty condition is triggered. Application can use this information to load
24 the subsequent data into the Transmit FIFO. The application must clear this bit after
RW/1C writing the data into the Transmit FIFO.
Note: This bit is not used for Isochronous endpoints.
0x0 Receive Packet Size (rx_pkt_size): This is an OUT endpoint field only. These bits are
22:11
RO reserved and should be set to zero.
0x0 Transmit DMA Completion (tdc): Indicates the transmit DMA has completed
10 transferring a descriptor chain data to the Tx FIFO. After servicing the interrupt, the
RW/1C application must clear this bit.
0x0 Error response on the host bus (he): Error response on the host bus (AHB) when
9 doing a data transfer, descriptor fetch, or descriptor update for this particular endpoint.
RW/1C After servicing the interrupt, the application must clear this bit.
0x0 Receive Address FIFO Empty Status (mrxfifo_empty): This is an OUT endpoint
8
RO field only. These bits are reserved and should be set to zero.
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it. After servicing the interrupt, the application must clear this
bit.
0x0 IN token (in_tok): An IN token has been received by this endpoint. After servicing the
6
RW/1C interrupt, application must clear this bit.
0x0 OUT token (out_tok): This is an OUT endpoint field only. These bits are reserved and
5:4
RO should be set to zero.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number
reserved
isoc_data_pid
buff_size_1
0x0 Buffer Size (buff_size_frame_number): These bits are reserved and should be set
15:10
RO to zero.
Buffer Size (buff_size_1): Buffer size required for this endpoint. The application can
0x0 program this field to make each endpoints buffers adaptive, providing flexibility in buffer
9:0 size when the interface or configuration is changed. This value is in 32-bit words, and
RW indicates the number of 32-bit word entries in the Transmit FIFO.
NOTE: the maximum size of the TxFIFO is 1024 32-bit word entries.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 4Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
mpkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Buffer Size (buff_size): This is an OUT endpoint field only. These bits are reserved
31:16
RO and should be set to zero.
Max Packet Size (mpkt_size): Maximum packet size for the endpoint in bytes. This
0x0 maximum size is used to calculate whether the Receive FIFO has sufficient space to
15:0
RO accept a packet. When changing the maximum packet size for a specific endpoint, the
user must also program the corresponding Physical Endpoint Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointers.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wr_cfrm
Bit Default &
Field Name (ID): Description
Range Access
0x0 Write Confirmation (for Slave-Only mode) (wr_cfrm): Writing to this register
31:0
WO confirms the IN data into the TxFIFO.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 60h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rrdy
f
reserved
mrx_flush
close_desc
null_bit
cnak
snak
nak
et
p
sn
0x0 Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): This is an OUT
12
RO endpoint field only. These bits are reserved and should be set to zero.
Send Null Packet (null_bit): This bit provides the application with a mechanism to
0x0 instruct the USB Device Controller to send a NULL (zero length) packet when no data is
10
RW available in the particular endpoint TxFIFO. If this bit is set, when no data is available in
the endpoint TxFIFO, the USB Device Controller sends a NULL packet.
0x0 Receive Ready (rrdy): This is an OUT endpoint field only. These bits are reserved and
9
RO should be set to zero.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the RxFIFO is empty (for single RxFIFO
implementation) or when the RxFIFO corresponding to the same logical endpoint is
empty (Multiple RxFIFO implementation). The application can write CNAK any time
without waiting for a RxFIFO empty condition. The NAK bit is cleared immediately upon
write to CNAK bit. No polling is necessary.
0x0 Set NAK (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Bit (nak): After a SETUP packet, which is decoded by the application, is received
by the core, the core sets the NAK bit for all control IN/OUT endpoints. NAK is also set
after a STALL response for the endpoint (the STALL bit is set in Endpoint Control register
0x0 bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: A NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Poll Demand (p): Poll demand from the application. The application can set this bit
0x0 after an IN token is received from the endpoint. The application can also set this bit
3 before an IN token is received for the endpoint, if it has the IN transfer data in advance.
RW Note: After sending a zero-length or short packet, the application must wait for the next
XFERDONE_TXEMPTY interrupt, before setting up the P bit for the next transfer.
0x0 Snoop Mode (sn): This is an OUT endpoint field only. These bits are reserved and
2
RO should be set to zero.
Flush TxFIFO (f): The application firmware sets this bit to 1 after it has detected a
0x0 disconnect/connect on the USB cable, then waits for the IN token endpoint interrupt
1
RW before resetting this bit to 0. This flushes the stale data out of the TxFIFO. This bit is
cleared by the core when TDC (Transmit DMA Complete) occurs on this endpoint.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo_empty
mrxfifo_empty
reserved_1
xfer_done_txf_empty
set_feature_halt
clr_feature_halt
out_tok
reserved_3
bna
in_tok
cdc
isoc_xfer_done
tdc
he
rx_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint. To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature stall command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
Transmit FIFO Empty detected (tx_fifo_empty): This bit indicates that the
0x0 Transmit FIFO Empty condition is triggered. Application can use this information to load
24 the subsequent data into the Transmit FIFO. The application must clear this bit after
RW/1C writing the data into the Transmit FIFO.
Note: This bit is not used for Isochronous endpoints.
0x0 Receive Packet Size (rx_pkt_size): This is an OUT endpoint field only. These bits are
22:11
RO reserved and should be set to zero.
0x0 Transmit DMA Completion (tdc): Indicates the transmit DMA has completed
10 transferring a descriptor chain data to the Tx FIFO. After servicing the interrupt, the
RW/1C application must clear this bit.
0x0 Error response on the host bus (he): Error response on the host bus (AHB) when
9 doing a data transfer, descriptor fetch, or descriptor update for this particular endpoint.
RW/1C After servicing the interrupt, the application must clear this bit.
0x0 Receive Address FIFO Empty Status (mrxfifo_empty): This is an OUT endpoint
8
RO field only. These bits are reserved and should be set to zero.
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it. After servicing the interrupt, the application must clear this
bit.
0x0 IN token (in_tok): An IN token has been received by this endpoint. After servicing the
6
RW/1C interrupt, application must clear this bit.
0x0 OUT token (out_tok): This is an OUT endpoint field only. These bits are reserved and
5:4
RO should be set to zero.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
isoc_data_pid
buff_size_1
0x0 Buffer Size (buff_size_frame_number): These bits are reserved and should be set
15:10
RO to zero.
Buffer Size (buff_size_1): Buffer size required for this endpoint. The application can
0x0 program this field to make each endpoints buffers adaptive, providing flexibility in buffer
9:0 size when the interface or configuration is changed. This value is in 32-bit words, and
RW indicates the number of 32-bit word entries in the Transmit FIFO.
NOTE: the maximum size of the TxFIFO is 1024 32-bit word entries.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 6Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
mpkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Buffer Size (buff_size): This is an OUT endpoint field only. These bits are reserved
31:16
RO and should be set to zero.
Max Packet Size (mpkt_size): Maximum packet size for the endpoint in bytes. This
0x0 maximum size is used to calculate whether the Receive FIFO has sufficient space to
15:0
RO accept a packet. When changing the maximum packet size for a specific endpoint, the
user must also program the corresponding Physical Endpoint Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointers.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wr_cfrm
Bit Default &
Field Name (ID): Description
Range Access
0x0 Write Confirmation (for Slave-Only mode) (wr_cfrm): Writing to this register
31:0
WO confirms the IN data into the TxFIFO.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 200h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
mrx_flush
close_desc
p
sn
s
null_bit
rrdy
cnak
snak
nak
et
Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): When the application
wants to flush the endpoint receive FIFO, it must first set the SNAK bit in the Endpoint
0x0 Control register. If the receive DMA is in progress, then the core will finish the current
12
WO descriptor, terminate the DMA, and flush the data in the endpoint receive FIFO and clear
this bit. The application must clear this bit after the EP receive FIFO is empty, by
checking the MRXFIFO EMPTY bit in the Endpoint Status register.
0x0 Send Null Packet (null_bit): This is an IN endpoint field only. These bits are reserved
10
RO and should be set to zero.
Receive Ready (rrdy): If this bit is set by the application, on receiving an OUT packet,
the DMA sends the packet to system memory. This bit is deasserted at the end of packet
0x0 if the Descriptor Update bit is set in the Device Control register. This bit is deasserted at
9
RW the end of payload if the Descriptor Update bit is deasserted. This bit can be set by the
application at any time. The application cannot clear this bit if the DMA is busy
transferring the data.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the
RxFIFO is empty (for single RxFIFO implementation) or when the RxFIFO corresponding
to the same logical endpoint is empty (Multiple RxFIFO implementation). The application
can write CNAK any time without waiting for a RxFIFO empty condition. The NAK bit is
cleared immediately upon write to CNAK bit. No polling is necessary.
0x0 Set NAK. (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Handshake Enable (nak): After a SETUP packet, which is decoded by the
application, is received by the core, the core sets the NAK bit for all control IN/OUT
endpoints. NAK is also set after a STALL response for the endpoint (the STALL bit is set
0x0 in Endpoint Control register bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: The NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Endpoint Type (et): Endpoint Type (2-bit). The possible options are:
0x0 00: Control endpoint
5:4 01: Isochronous endpoint
RW 10: Bulk endpoint
11: Interrupt endpoint
0x0 Poll Demand (p): This is an IN endpoint field only. These bits are reserved and should
3
RO be set to zero.
0x0 Snoop Mode (sn): Configures the endpoint for Snoop mode. In this mode, the
2 subsystem does not check the correctness of OUT packets before transferring them to
RW application memory.
0x0 Flush TxFIFO (f): This is an IN endpoint field only. These bits are reserved and should
1
RO be set to zero.
Access Method
Default: 00000100h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
tx_fifo_empty
mrxfifo_empty
reserved_1
xfer_done_txf_empty
set_feature_halt
clr_feature_halt
out_tok
reserved_3
bna
in_tok
cdc
isoc_xfer_done
tdc
he
rx_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint .To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature sta command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
0x0 Transmit FIFO Empty detected (tx_fifo_empty): This is an IN endpoint field only.
24
RO These bits are reserved and should be set to zero.
Receive Packet Size (rx_pkt_size): Indicates the number of bytes in the current
receive packet the RxFIFO is receiving. Because the USB host always sends 8 bytes of
SETUP data, these bits do not indicate the receipt of 8 bytes of SETUP data for a SETUP
0x0 packet. Rather, these bits indicate the
22:11
RW configuration status (Configuration number [22:19], Interface number [18:15], and
Alternate
Setting number [14:11]). This field is used in slave mode only. In DMA mode, the
application must check the status from the endpoint data descriptor.
0x0 Transmit DMA Completion (tdc): This is an IN endpoint field only. These bits are
10
RO reserved and should be set to zero.
0x0 System Host Error (he): Error response on the host bus (AHB) when doing a data
9 transfer, descriptor fetch, or descriptor update for this particular endpoint. After
RW/1C servicing the interrupt, the application must clear this bit.
Receive Address FIFO Empty Status (mrxfifo_empty): This bit indicates the empty
status of the endpoint receive address FIFO. This bit is set by the core after the DMA
1h transfers data to system memory, and there are no new packets received from the USB.
8
RO This bit is cleared by the core after receiving a valid packet from the USB.
1: EP RXFIFO is empty
0: EP RXFIFO is not empty
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it.
After servicing the interrupt, the application must clear this bit.
0x0 IN token (in_tok): This is an IN endpoint field only. These bits are reserved and
6
RO should be set to zero.
OUT token. (out_tok): An OUT packet has been received by this endpoint. The
encoding of these two bits
indicates the type of data received. The possible options are:
0x0 00: None
5:4
RW/1C 01: Received data
10: Received SETUP data (8 bytes)
11: Reserved
(The application must write the same values to clear these bits.)
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 208h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number
reserved
isoc_data_pid
Isochronous OUT Transaction PID (isoc_data_pid): Data PID received for a high-
bandwidth isochronous OUT transaction. This field indicates that the data PID for the
current packet is available in the Receive FIFO. This field is used only in Slave-Only
0x0 mode.
17:16
RO 00: DATA0 PID is received
01: DATA1 PID is received
10: DATA2 PID is received
11: MDATA PID is received
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
max_pkt_size
Packet Size (buff_size): Buffer size required for this endpoint. The application can
program this field to make each endpoint buffers adaptive, providing flexibility in buffer
0x0 size when the interface or configuration is changed. This value is in 32-bit words, and
31:16
RW indicates the number of 32-bit word entries in the Receive FIFO. This value cannot be
changed dynamically during operation.
NOTE: the maximum size of the RxFIFO is 512 32-bit word entries.
Max Packet Size (max_pkt_size): Maximum packet size for the endpoint. This is the
0x0 value in bytes. This maximum size is used to calculate whether the Transmit FIFO has
15:0 sufficient space to accept a packet. When changing the maximum packet size for a
RW specific endpoint, the user must also program the corresponding Physical Endpoint
Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
subptr
Bit Default &
Field Name (ID): Description
Range Access
SETUP Buffer Pointer (subptr): Endpoint SETUP buffer pointers are used for SETUP
0x0 commands. The Endpoint SETUP Buffer Pointer register is used only in DMA mode.
31:0
RW NOTE: This is applicable only to control endpoints. For all other endpoints this register is
reserved.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointer.
RW
16.6.1.31 OUT Endpoint 0 Read Confirmation Register for zero-length OUT data
(for Slave-Only mode) (ep0_rd_cfrm_udc_reg)—Offset 21Ch
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 21Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rd_cfrm
Bit Default &
Field Name (ID): Description
Range Access
0x0 Read Confirmation for zero-length OUT data (for Slave-Only mode) (rd_cfrm):
31:0 For zero-length OUT data, the application must perform a dummy read from this
WO register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 220h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rrdy
close_desc
cnak
snak
nak
et
f
reserved
mrx_flush
null_bit
p
sn
s
Bit Default &
Field Name (ID): Description
Range Access
Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): When the application
wants to flush the endpoint receive FIFO, it must first set the SNAK bit in the Endpoint
0x0 Control register. If the receive DMA is in progress, then the core will finish the current
12
WO descriptor, terminate the DMA, and flush the data in the endpoint receive FIFO and clear
this bit. The application must clear this bit after the EP receive FIFO is empty, by
checking the MRXFIFO EMPTY bit in the Endpoint Status register.
0x0 Send Null Packet (null_bit): This is an IN endpoint field only. These bits are reserved
10
RO and should be set to zero.
Receive Ready (rrdy): If this bit is set by the application, on receiving an OUT packet,
the DMA sends the packet to system memory. This bit is deasserted at the end of packet
0x0 if the Descriptor Update bit is set in the Device Control register. This bit is deasserted at
9
RW the end of payload if the Descriptor Update bit is deasserted. This bit can be set by the
application at any time. The application cannot clear this bit if the DMA is busy
transferring the data.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the
RxFIFO is empty (for single RxFIFO implementation) or when the RxFIFO corresponding
to the same logical endpoint is empty (Multiple RxFIFO implementation). The application
can write CNAK any time without waiting for a RxFIFO empty condition. The NAK bit is
cleared immediately upon write to CNAK bit. No polling is necessary.
0x0 Set NAK. (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Handshake Enable (nak): After a SETUP packet, which is decoded by the
application, is received by the core, the core sets the NAK bit for all control IN/OUT
endpoints. NAK is also set after a STALL response for the endpoint (the STALL bit is set
0x0 in Endpoint Control register bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: The NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Endpoint Type (et): Endpoint Type (2-bit). The possible options are:
0x0 00: Control endpoint
5:4 01: Isochronous endpoint
RW 10: Bulk endpoint
11: Interrupt endpoint
0x0 Poll Demand (p): This is an IN endpoint field only. These bits are reserved and should
3
RO be set to zero.
0x0 Snoop Mode (sn): Configures the endpoint for Snoop mode. In this mode, the
2 subsystem does not check the correctness of OUT packets before transferring them to
RW application memory.
0x0 Flush TxFIFO (f): This is an IN endpoint field only. These bits are reserved and should
1
RO be set to zero.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 224h
(Size: 32 bits)
Default: 00000100h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
xfer_done_txf_empty
set_feature_halt
tx_fifo_empty
mrxfifo_empty
clr_feature_halt
bna
in_tok
out_tok
cdc
isoc_xfer_done
tdc
rx_pkt_size
he
reserved_1
reserved_3
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint .To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature sta command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
0x0 Transmit FIFO Empty detected (tx_fifo_empty): This is an IN endpoint field only.
24
RO These bits are reserved and should be set to zero.
Receive Packet Size (rx_pkt_size): Indicates the number of bytes in the current
receive packet the RxFIFO is receiving. Because the USB host always sends 8 bytes of
SETUP data, these bits do not indicate the receipt of 8 bytes of SETUP data for a SETUP
0x0 packet. Rather, these bits indicate the
22:11
RW configuration status (Configuration number [22:19], Interface number [18:15], and
Alternate
Setting number [14:11]). This field is used in slave mode only. In DMA mode, the
application must check the status from the endpoint data descriptor.
0x0 Transmit DMA Completion (tdc): This is an IN endpoint field only. These bits are
10
RO reserved and should be set to zero.
0x0 System Host Error (he): Error response on the host bus (AHB) when doing a data
9 transfer, descriptor fetch, or descriptor update for this particular endpoint. After
RW/1C servicing the interrupt, the application must clear this bit.
Receive Address FIFO Empty Status (mrxfifo_empty): This bit indicates the empty
status of the endpoint receive address FIFO. This bit is set by the core after the DMA
1h transfers data to system memory, and there are no new packets received from the USB.
8
RO This bit is cleared by the core after receiving a valid packet from the USB.
1: EP RXFIFO is empty
0: EP RXFIFO is not empty
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it.
After servicing the interrupt, the application must clear this bit.
0x0 IN token (in_tok): This is an IN endpoint field only. These bits are reserved and
6
RO should be set to zero.
OUT token. (out_tok): An OUT packet has been received by this endpoint. The
encoding of these two bits
indicates the type of data received. The possible options are:
0x0 00: None
5:4
RW/1C 01: Received data
10: Received SETUP data (8 bytes)
11: Reserved
(The application must write the same values to clear these bits.)
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 228h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number
reserved
isoc_data_pid
Isochronous OUT Transaction PID (isoc_data_pid): Data PID received for a high-
bandwidth isochronous OUT transaction. This field indicates that the data PID for the
current packet is available in the Receive FIFO. This field is used only in Slave-Only
0x0 mode.
17:16
RO 00: DATA0 PID is received
01: DATA1 PID is received
10: DATA2 PID is received
11: MDATA PID is received
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
max_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
Packet Size (buff_size): Buffer size required for this endpoint. The application can
program this field to make each endpoint buffers adaptive, providing flexibility in buffer
0x0 size when the interface or configuration is changed. This value is in 32-bit words, and
31:16
RW indicates the number of 32-bit word entries in the Receive FIFO. This value cannot be
changed dynamically during operation.
NOTE: the maximum size of the RxFIFO is 512 32-bit word entries.
Max Packet Size (max_pkt_size): Maximum packet size for the endpoint. This is the
0x0 value in bytes. This maximum size is used to calculate whether the Transmit FIFO has
15:0 sufficient space to accept a packet. When changing the maximum packet size for a
RW specific endpoint, the user must also program the corresponding Physical Endpoint
Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
subptr
Bit Default &
Field Name (ID): Description
Range Access
SETUP Buffer Pointer (subptr): Endpoint SETUP buffer pointers are used for SETUP
0x0 commands. The Endpoint SETUP Buffer Pointer register is used only in DMA mode.
31:0
RW NOTE: This is applicable only to control endpoints. For all other endpoints this register is
reserved.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointer.
RW
16.6.1.38 OUT Endpoint 1 Read Confirmation Register for zero-length OUT data
(for Slave-Only mode) (ep1_rd_cfrm_udc_reg)—Offset 23Ch
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 23Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rd_cfrm
0x0 Read Confirmation for zero-length OUT data (for Slave-Only mode) (rd_cfrm):
31:0 For zero-length OUT data, the application must perform a dummy read from this
WO register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 240h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
mrx_flush
rrdy
snak
nak
et
f
reserved
close_desc
null_bit
cnak
p
sn
s
Bit Default &
Field Name (ID): Description
Range Access
Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): When the application
wants to flush the endpoint receive FIFO, it must first set the SNAK bit in the Endpoint
0x0 Control register. If the receive DMA is in progress, then the core will finish the current
12
WO descriptor, terminate the DMA, and flush the data in the endpoint receive FIFO and clear
this bit. The application must clear this bit after the EP receive FIFO is empty, by
checking the MRXFIFO EMPTY bit in the Endpoint Status register.
0x0 Send Null Packet (null_bit): This is an IN endpoint field only. These bits are reserved
10
RO and should be set to zero.
Receive Ready (rrdy): If this bit is set by the application, on receiving an OUT packet,
the DMA sends the packet to system memory. This bit is deasserted at the end of packet
0x0 if the Descriptor Update bit is set in the Device Control register. This bit is deasserted at
9
RW the end of payload if the Descriptor Update bit is deasserted. This bit can be set by the
application at any time. The application cannot clear this bit if the DMA is busy
transferring the data.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the
RxFIFO is empty (for single RxFIFO implementation) or when the RxFIFO corresponding
to the same logical endpoint is empty (Multiple RxFIFO implementation). The application
can write CNAK any time without waiting for a RxFIFO empty condition. The NAK bit is
cleared immediately upon write to CNAK bit. No polling is necessary.
0x0 Set NAK. (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Handshake Enable (nak): After a SETUP packet, which is decoded by the
application, is received by the core, the core sets the NAK bit for all control IN/OUT
endpoints. NAK is also set after a STALL response for the endpoint (the STALL bit is set
0x0 in Endpoint Control register bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: The NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Endpoint Type (et): Endpoint Type (2-bit). The possible options are:
0x0 00: Control endpoint
5:4 01: Isochronous endpoint
RW 10: Bulk endpoint
11: Interrupt endpoint
0x0 Poll Demand (p): This is an IN endpoint field only. These bits are reserved and should
3
RO be set to zero.
0x0 Snoop Mode (sn): Configures the endpoint for Snoop mode. In this mode, the
2 subsystem does not check the correctness of OUT packets before transferring them to
RW application memory.
0x0 Flush TxFIFO (f): This is an IN endpoint field only. These bits are reserved and should
1
RO be set to zero.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 244h
Default: 00000100h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
xfer_done_txf_empty
set_feature_halt
tx_fifo_empty
mrxfifo_empty
clr_feature_halt
bna
in_tok
out_tok
cdc
isoc_xfer_done
tdc
rx_pkt_size
he
reserved_1
reserved_3
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint .To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature sta command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
0x0 Transmit FIFO Empty detected (tx_fifo_empty): This is an IN endpoint field only.
24
RO These bits are reserved and should be set to zero.
Receive Packet Size (rx_pkt_size): Indicates the number of bytes in the current
receive packet the RxFIFO is receiving. Because the USB host always sends 8 bytes of
SETUP data, these bits do not indicate the receipt of 8 bytes of SETUP data for a SETUP
0x0 packet. Rather, these bits indicate the
22:11
RW configuration status (Configuration number [22:19], Interface number [18:15], and
Alternate
Setting number [14:11]). This field is used in slave mode only. In DMA mode, the
application must check the status from the endpoint data descriptor.
0x0 Transmit DMA Completion (tdc): This is an IN endpoint field only. These bits are
10
RO reserved and should be set to zero.
0x0 System Host Error (he): Error response on the host bus (AHB) when doing a data
9 transfer, descriptor fetch, or descriptor update for this particular endpoint. After
RW/1C servicing the interrupt, the application must clear this bit.
Receive Address FIFO Empty Status (mrxfifo_empty): This bit indicates the empty
status of the endpoint receive address FIFO. This bit is set by the core after the DMA
1h transfers data to system memory, and there are no new packets received from the USB.
8
RO This bit is cleared by the core after receiving a valid packet from the USB.
1: EP RXFIFO is empty
0: EP RXFIFO is not empty
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it.
After servicing the interrupt, the application must clear this bit.
0x0 IN token (in_tok): This is an IN endpoint field only. These bits are reserved and
6
RO should be set to zero.
OUT token. (out_tok): An OUT packet has been received by this endpoint. The
encoding of these two bits
indicates the type of data received. The possible options are:
0x0 00: None
5:4
RW/1C 01: Received data
10: Received SETUP data (8 bytes)
11: Reserved
(The application must write the same values to clear these bits.)
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 248h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number
reserved
isoc_data_pid
Isochronous OUT Transaction PID (isoc_data_pid): Data PID received for a high-
bandwidth isochronous OUT transaction. This field indicates that the data PID for the
current packet is available in the Receive FIFO. This field is used only in Slave-Only
0x0 mode.
17:16
RO 00: DATA0 PID is received
01: DATA1 PID is received
10: DATA2 PID is received
11: MDATA PID is received
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
max_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
Packet Size (buff_size): Buffer size required for this endpoint. The application can
program this field to make each endpoint buffers adaptive, providing flexibility in buffer
0x0 size when the interface or configuration is changed. This value is in 32-bit words, and
31:16
RW indicates the number of 32-bit word entries in the Receive FIFO. This value cannot be
changed dynamically during operation.
NOTE: the maximum size of the RxFIFO is 512 32-bit word entries.
Max Packet Size (max_pkt_size): Maximum packet size for the endpoint. This is the
0x0 value in bytes. This maximum size is used to calculate whether the Transmit FIFO has
15:0 sufficient space to accept a packet. When changing the maximum packet size for a
RW specific endpoint, the user must also program the corresponding Physical Endpoint
Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
subptr
Bit Default &
Field Name (ID): Description
Range Access
SETUP Buffer Pointer (subptr): Endpoint SETUP buffer pointers are used for SETUP
0x0 commands. The Endpoint SETUP Buffer Pointer register is used only in DMA mode.
31:0
RW NOTE: This is applicable only to control endpoints. For all other endpoints this register is
reserved.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointer.
RW
16.6.1.45 OUT Endpoint 2 Read Confirmation Register for zero-length OUT data
(for Slave-Only mode) (ep2_rd_cfrm_udc_reg)—Offset 25Ch
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 25Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rd_cfrm
0x0 Read Confirmation for zero-length OUT data (for Slave-Only mode) (rd_cfrm):
31:0 For zero-length OUT data, the application must perform a dummy read from this
WO register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 260h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
mrx_flush
rrdy
snak
nak
et
f
reserved
close_desc
null_bit
cnak
p
sn
s
Bit Default &
Field Name (ID): Description
Range Access
Receive FIFO Flush for Multiple Receive FIFO (mrx_flush): When the application
wants to flush the endpoint receive FIFO, it must first set the SNAK bit in the Endpoint
0x0 Control register. If the receive DMA is in progress, then the core will finish the current
12
WO descriptor, terminate the DMA, and flush the data in the endpoint receive FIFO and clear
this bit. The application must clear this bit after the EP receive FIFO is empty, by
checking the MRXFIFO EMPTY bit in the Endpoint Status register.
0x0 Send Null Packet (null_bit): This is an IN endpoint field only. These bits are reserved
10
RO and should be set to zero.
Receive Ready (rrdy): If this bit is set by the application, on receiving an OUT packet,
the DMA sends the packet to system memory. This bit is deasserted at the end of packet
0x0 if the Descriptor Update bit is set in the Device Control register. This bit is deasserted at
9
RW the end of payload if the Descriptor Update bit is deasserted. This bit can be set by the
application at any time. The application cannot clear this bit if the DMA is busy
transferring the data.
Clear NAK (cnak): Used by the application to clear the NAK bit (bit 6). After the
subsystem sets bit 6 (NAK), the application must clear it with a write of 1 to the CNAK
bit. (For example, after the application has decoded the SETUP packet and determined it
is not an invalid command, the application must set the CNAK bit of the control endpoint
0x0 to 1 to clear the NAK bit.)The application also must clear the NAK bit whenever the
8 subsystem sets it. (The subsystem sets it due to the application setting the Stall
WO bit.)The application can clear this bit only when the
RxFIFO is empty (for single RxFIFO implementation) or when the RxFIFO corresponding
to the same logical endpoint is empty (Multiple RxFIFO implementation). The application
can write CNAK any time without waiting for a RxFIFO empty condition. The NAK bit is
cleared immediately upon write to CNAK bit. No polling is necessary.
0x0 Set NAK. (snak): Used by the application to set the NAK bit (bit 6 of this register). The
7 application must not set the NAK bit for an IN endpoint until it has received an IN token
WO interrupt indicating that the TxFIFO is empty.
NAK Handshake Enable (nak): After a SETUP packet, which is decoded by the
application, is received by the core, the core sets the NAK bit for all control IN/OUT
endpoints. NAK is also set after a STALL response for the endpoint (the STALL bit is set
0x0 in Endpoint Control register bit 0).
6 1: The endpoint responds to the USB host with a NAK handshake.
RO 0: The endpoint responds normally.
Note 1: A SETUP packet is sent to the application regardless of whether the NAK bit is
set.
Note 2: The NAK set on ISOC OUT endpoint rejects the ISOC out data packet.
Endpoint Type (et): Endpoint Type (2-bit). The possible options are:
0x0 00: Control endpoint
5:4 01: Isochronous endpoint
RW 10: Bulk endpoint
11: Interrupt endpoint
0x0 Poll Demand (p): This is an IN endpoint field only. These bits are reserved and should
3
RO be set to zero.
0x0 Snoop Mode (sn): Configures the endpoint for Snoop mode. In this mode, the
2 subsystem does not check the correctness of OUT packets before transferring them to
RW application memory.
0x0 Flush TxFIFO (f): This is an IN endpoint field only. These bits are reserved and should
1
RO be set to zero.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 264h
Default: 00000100h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
xfer_done_txf_empty
set_feature_halt
tx_fifo_empty
mrxfifo_empty
clr_feature_halt
bna
in_tok
out_tok
cdc
isoc_xfer_done
tdc
rx_pkt_size
he
reserved_1
reserved_3
Bit Default &
Field Name (ID): Description
Range Access
0x0 Close Descriptor Channel (cdc): Close Descriptor Enhancement is not supported.
28
RO These bits are reserved and should be set to zero.
Received Set Halt (set_feature_halt): This bit indicates that the Set Feature (EP
HALT) command is received for this endpoint .To stall this endpoint, the application can
0x0 set the S bit in Endpoint Control Register. After this, the application clears this RSS bit to
26
RW/1C acknowledge the reception of Set Feature sta command. Once this RSS bit is cleared,
core sends the zero-length packet for the Status IN phase of Set Feature command.
Received Set Stall indication is applicable only for Bulk and Interrupt transactions.
Received Clear Halt (clr_feature_halt): This bit indicates that the Clear Feature (EP
HALT) command is received for this endpoint. To continue to stall the endpoint, the
0x0 application must set the S bit Endpoint Control Register. After this, the application clears
25 this RCS bit to acknowledge the reception of clear stall command. Once this bit is
RW/1C cleared, core sends the zero-length packet for the Status IN phase of clear stall
command. Received Clear Stall indication is applicable only for Bulk and Interrupt
transactions.
0x0 Transmit FIFO Empty detected (tx_fifo_empty): This is an IN endpoint field only.
24
RO These bits are reserved and should be set to zero.
Receive Packet Size (rx_pkt_size): Indicates the number of bytes in the current
receive packet the RxFIFO is receiving. Because the USB host always sends 8 bytes of
SETUP data, these bits do not indicate the receipt of 8 bytes of SETUP data for a SETUP
0x0 packet. Rather, these bits indicate the
22:11
RW configuration status (Configuration number [22:19], Interface number [18:15], and
Alternate
Setting number [14:11]). This field is used in slave mode only. In DMA mode, the
application must check the status from the endpoint data descriptor.
0x0 Transmit DMA Completion (tdc): This is an IN endpoint field only. These bits are
10
RO reserved and should be set to zero.
0x0 System Host Error (he): Error response on the host bus (AHB) when doing a data
9 transfer, descriptor fetch, or descriptor update for this particular endpoint. After
RW/1C servicing the interrupt, the application must clear this bit.
Receive Address FIFO Empty Status (mrxfifo_empty): This bit indicates the empty
status of the endpoint receive address FIFO. This bit is set by the core after the DMA
1h transfers data to system memory, and there are no new packets received from the USB.
8
RO This bit is cleared by the core after receiving a valid packet from the USB.
1: EP RXFIFO is empty
0: EP RXFIFO is not empty
Buffer Not Available (bna): The subsystem sets this bit when the descriptor status is
0x0 either Host Busy or DMA Done to indicate that the descriptor was not ready at the time
7
RW/1C the DMA tried to access it.
After servicing the interrupt, the application must clear this bit.
0x0 IN token (in_tok): This is an IN endpoint field only. These bits are reserved and
6
RO should be set to zero.
OUT token. (out_tok): An OUT packet has been received by this endpoint. The
encoding of these two bits
indicates the type of data received. The possible options are:
0x0 00: None
5:4
RW/1C 01: Received data
10: Received SETUP data (8 bytes)
11: Reserved
(The application must write the same values to clear these bits.)
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 268h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size_frame_number
reserved
isoc_data_pid
Isochronous OUT Transaction PID (isoc_data_pid): Data PID received for a high-
bandwidth isochronous OUT transaction. This field indicates that the data PID for the
current packet is available in the Receive FIFO. This field is used only in Slave-Only
0x0 mode.
17:16
RO 00: DATA0 PID is received
01: DATA1 PID is received
10: DATA2 PID is received
11: MDATA PID is received
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buff_size
max_pkt_size
Bit Default &
Field Name (ID): Description
Range Access
Packet Size (buff_size): Buffer size required for this endpoint. The application can
program this field to make each endpoint buffers adaptive, providing flexibility in buffer
0x0 size when the interface or configuration is changed. This value is in 32-bit words, and
31:16
RW indicates the number of 32-bit word entries in the Receive FIFO. This value cannot be
changed dynamically during operation.
NOTE: the maximum size of the RxFIFO is 512 32-bit word entries.
Max Packet Size (max_pkt_size): Maximum packet size for the endpoint. This is the
0x0 value in bytes. This maximum size is used to calculate whether the Transmit FIFO has
15:0 sufficient space to accept a packet. When changing the maximum packet size for a
RW specific endpoint, the user must also program the corresponding Physical Endpoint
Register.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
subptr
Bit Default &
Field Name (ID): Description
Range Access
SETUP Buffer Pointer (subptr): Endpoint SETUP buffer pointers are used for SETUP
0x0 commands. The Endpoint SETUP Buffer Pointer register is used only in DMA mode.
31:0
RW NOTE: This is applicable only to control endpoints. For all other endpoints this register is
reserved.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
desptr
0x0
31:0 Descriptor Pointer (desptr): This register contains the data descriptor pointer.
RW
16.6.1.52 OUT Endpoint 3 Read Confirmation Register for zero-length OUT data
(for Slave-Only mode) (ep3_rd_cfrm_udc_reg)—Offset 27Ch
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 27Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rd_cfrm
0x0 Read Confirmation for zero-length OUT data (for Slave-Only mode) (rd_cfrm):
31:0 For zero-length OUT data, the application must perform a dummy read from this
WO register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 400h
(Size: 32 bits)
Default: 00000020h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
phy_error_detect
set_desc
status_1
pi
reserved
lpm_en
lpm_auto
ss_ddr
halt_status
hs_timeout_calib
status
csr_prg
dir
ss
fs_timeout_calib
sp
rwkp
spd
Bit Default &
Field Name (ID): Description
Range Access
0x0 Link Power Mode Enable (lpm_en): Link Power Mode is not supported. These bits
21
RO are reserved and should be set to zero.
0x0 Link Power Mode Automatic (lpm_auto): Link Power Mode is not supported. These
20
RO bits are reserved and should be set to zero.
0x0 Double Data Rate (ss_ddr): ULPI PHY interface is not supported. These bits are
19
RO reserved and should be set to zero.
Set Descriptor Request Enable (set_desc): Indicates that the device supports Set
0x0 Descriptor requests.
18
RW 0: The USB Device Controller returns a STALL handshake to the USB host.
1: The SETUP packet for the Set Descriptor request passes to the application.
Dynamic Register Programming (csr_prg): The application can program the USB
Device Controller registers dynamically whenever it has received an interrupt for either
0x0 a Set Configuration or a Set Interface request. If this bit is set to 1, the USB Device
17
RW Controller returns a NAK handshake during the status IN stage of both the Set
Configuration and Set Interface requests until the application has written 1 to the
CSR_DONE bit 13 of the Device Control Register.
Halt Status (halt_status): This bit indicates whether the USB Device Controller must
0x0 respond with a STALL or an ACK handshake when the USB host has issued a
16 Clear_Feature (ENDPOINT_HALT) request for Endpoint 0. Options are:
RW 0: ACK
1: STALL
0x0 PHY Error Detect (phy_error_detect): If the application sets this bit, the device
9 detects the phy_rxvalid or phy_rxactive input signal to be continuously asserted for 2
RW ms, indicating PHY error.
Non-zero Control Handshake 1 (status_1): This bit, together with STATUS Bit 7,
0x0 provides an option for the USB Device Controller to respond to the USB host with a
8
RW STALL or ACK handshake if the USB host has issued a non-zero-length data packet
during the STATUS-OUT stage of a CONTROL transfer.
Non-zero Control Handshake (status): This bit, together with STATUS Bit 8,
0x0 provides an option for the USB Device Controller to respond to the USB host with a
7
RW STALL or ACK handshake if the USB host has issued a non-zero-length data packet
during the STATUS-OUT stage of a CONTROL transfer.
UTMI Data Bus Direction (dir): This bit indicates if the UTMI data bus interface has to
0x0 support a unidirectional or bidirectional interface.
6
RO 0: Unidirectional interface
1: Bidirectional interface
PHY Interface Width (pi): Indicates if the UTMI PHY supports an 8-bit or 16-bit
interface.
1h 0: 16-bit
5
RW 1: 8-bit.
NOTE: even if this field is writable, only 8bit interface is supported. Writing 0 will lead to
undefined behavior.
0x0
4 Sync Frame Support (ss): Indicates that the Device Supports Sync Frame.
RW
0x0
3 Self-Powered Device (sp): Indicates that the Device is Self-Powered.
RW
0x0 Remote Wake Up Capable (rwkp): Indicates that the device is remote wake up
2
RW capable.
Device Speed (spd): This is the expected speed the application programs to the
subsystem. The actual speed the subsystem operates depends on the enumeration
0x0 speed (ENUM SPD) of the Device Status register.
1:0 00: HS (PHY clock = 60 MHz)
RW 01: FS (PHY clock = 60 MHz)
10: Reserved
11: Reserved
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 404h
(Size: 32 bits)
Default: 00000400h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
devnak
bf
thlen
brlen
bren
srx_flush
csr_done
scale
sd
du
res
mode
the
be
tde
rde
reserved_1
reserved_2
Bit Default &
Field Name (ID): Description
Range Access
0x0 Threshold Length (thlen): Indicates the number (THLEN + 1) of 32-bit entries in the
31:24
RW RxFIFO before the DMA can start data transfer.
0x0 Burst Length (brlen): Indicates the length, in 32-bit transfers, of a single burst on the
23:16
RW AHB. The subsystem sends number of 32-bit transfers equal to (BRLEN + 1).
0x0 Receive FIFO Flush for Single Receive FIFO (srx_flush): Multiple receive FIFOs are
14
RO implemented. These bits are reserved and should be set to zero.
Dynamic Register Programming Done (csr_done): The application uses this bit to
0x0 notify the USB Device Controller that the application has completed programming all
13
WO required USB Device Controller registers, and the Subsystem can acknowledge the
current Set Configuration or Set Interface command.
Device NAK (devnak): When the application sets this bit, the Subsystem core returns
0x0 a NAK handshake to all OUT endpoints. By writing 1 to this bit, the application does not
12
RW need to write 1 to the
SNAK bit 7 of each Endpoint Control register.
Scale Down (scale): This bit reduces the timer values inside the USB Device Controller
0x0 when running gate-level simulation only. When this bit is set to 1, timer values are
11 scaled down to reduce simulation time. In Scale-Down mode, the USB Device Controller
RW detects a USB reset within 150 PHY clock cycles (60-MHz PHY clock, 8-bit UTMI).
Reset this bit to 0 for normal operation.
1h Soft Disconnect (sd): The application software uses this bit to signal the USB Device
10 Controller to soft-disconnect. When set to 1, this bit causes the device to enter the
RW disconnected state.
0x0 DMA/Slave-Only Mode (mode): Enables the application to dictate the subsystem
9
RW operation in either DMA mode (1) or Slave-Only mode (0) operation.
0x0
8 Burst Enable (bren): When this bit is set, transfers on the AHB are split into bursts.
RW
0x0 Threshold Enable (the): When this bit is set, a number of quadlets equivalent to the
7
RW threshold value is transferred from the RxFIFO to the memory.
0x0 Buffer Fill Mode (bf): The DMA is in Buffer Fill mode and transfers data into
6
RW contiguous locations pointed to by the buffer address.
0x0
5 System Endianness (be): A value of 1 indicates a big endian system.
RW
0x0 Descriptor Update (du): When this bit is set, the DMA updates the descriptor at the
4
RW end of each packet processed.
Remote Wakeup Resume (res): To perform a remote wakeup resume the application
sets this bit to 1, then resets it to 0 after 1 ms. The USB Device Controller signals the
0x0 USB host to resume the USB bus. However:
0 The application must first set RWKP bit 2 in the Device Configuration Register, indicating
RW that the subsystem supports the Remote Wakeup feature.
The host must already have issued a Set Feature request to enable the device Remote
Wakeup feature.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 408h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmtwkup_feat_sts
phy_error
rxfifo_empty
alt
intf
ts
enum_spd
susp
cfg
Bit Default &
Field Name (ID): Description
Range Access
PHY Error (phy_error): Either the phy_rxvalid or phy_rxactive input signal is detected
to be continuously asserted for 2 ms, indicating PHY error. The USB Device Controller
goes to the Suspend state
0x0 as a result. When the application serves the early suspend interrupt (ES bit 2 of the
16
RO Device
Interrupt register) it also must check this bit to determine if the early suspend interrupt
was
generated due to PHY error detection.
0h Receive Address FIFO Empty Status (rxfifo_empty): Multiple receive FIFOs are
15
RO implemented. These bits are reserved and should be set to zero.
Enumerated Speed (enum_spd): These bits hold the speed at which the subsystem
comes up after the speed enumeration. Possible options are:
00 HS: If the SPD is high speed and the subsystem connects to a 2.0 host controller,
then after Speed Enumeration, these bits indicate that the subsystem is operating in
0x0 high speed mode.
14:13
RO 01 FS: If the expected speed (SPD of the Device Configuration register) is high speed
and the subsystem connects to a 1.1 host controller, then after Speed Enumeration,
these bits indicate that the subsystem is operating in full speed mode.
10 : Reserved
110: Reserved
0x0 Suspend Status (susp): This bit is set as long as a Suspend condition is detected on
12
RO the USB.
0x0 Alternate Setting (alt): This 4-bit field represents the alternate setting to which the
11:8
RO above interface is switched.
0x0 SetInterface Command (intf): This 4-bit field reflects the interface set by the
7:4
RO SetInterface command.
0x0 SetConfiguration Command (cfg): This 4-bit field reflects the configuration set by
3:0
RO the SetConfiguration command.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 40Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sof
si
reserved
lpm_tkn
enumc
ur
rmtwkup
us
es
sc
e_slpm
slpm
0x0 LPM Early Sleep (e_slpm): Link Power Mode is not supported. These bits are reserved
10
RO and should be set to zero.
0x0 LPM Sleep (slpm): Link Power Mode is not supported. These bits are reserved and
9
RO should be set to zero.
0x0 LPM Transaction (lpm_tkn): Link Power Mode is not supported. These bits are
8
RO reserved and should be set to zero.
0x0
6 Speed Enumeration Completed (enumc): Speed enumeration is complete.
RW/1C
0x0
5 SOF Token Detected (sof): An SOF token is detected on the USB.
RW/1C
0x0 Suspend State (us): A suspend state is detected on the USB for a duration of 3
4
RW/1C milliseconds, following the 3 ms Idle State interrupt activity due to an idle state.
0x0 USB Reset Detected (ur): NOTE: If the application has not served this interrupt, the
3 USB Device Controller returns a NAK handshake for all transactions except the 8 SETUP
RW/1C packet bytes from the USB host.
Idle State Detected (es): An idle state is detected on the USB for a duration of 3 ms.
0x0 This interrupt bit is used for the application firmware to finish its job before the
2
RW/1C subsystem generates a true suspend (US) interrupt (another 3 ms after the ES
interrupt)
0x0 Set_Configuration Command Received (sc): NOTE: If the application has not
0 served this interrupt, the USB Device Controller returns a NAK handshake for all
RW/1C transactions except the 8 SETUP packet bytes from the USB host.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 410h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
lpm_tkn
e_slpm
slpm
mask1
0x0 LPM Early Sleep (e_slpm): Link Power Mode is not supported. These bits are reserved
10
RO and should be set to zero.
0x0 LPM Sleep (slpm): Link Power Mode is not supported. These bits are reserved and
9
RO should be set to zero.
0x0 LPM Transaction (lpm_tkn): Link Power Mode is not supported. These bits are
8
RO reserved and should be set to zero.
0x0 Device Interrupt Mask (mask1): Masks equivalent device interrupt bit in the Device
7:0
RW Interrupt Register.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 414h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
out_ep
in_ep
Bit Default &
Field Name (ID): Description
Range Access
OUT Endpoint Interrupt (out_ep): One bit is associated to one of the 4 supported
OUT endpoint, set when there is an event on that endpoint.
0x0 bit0: OUT ED0
31:16 bit1: OUT ED1
RW/1C bit2: OUT ED2
bit3: OUT ED3
bit4-bit15: Reserved
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 418h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
out_ep_mask
in_ep_mask
Bit Default &
Field Name (ID): Description
Range Access
OUT Endpoint Interrupt Mask (out_ep_mask): Masks the OUT Endpoint Interrupt
Register bits of the equivalent OUT endpoint.
0h bit0: OUT ED0
31:16 bit1: OUT ED1
RW bit2: OUT ED2
bit3: OUT ED3
bit4-bit15: Reserved
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 41Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
tstmode
Default: 3234352Ah
31 28 24 20 16 12 8 4 0
0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0
release_id
Bit Default &
Field Name (ID): Description
Range Access
Product Release Number (release_id): This field indicates the ASCII characters of
3234352Ah the four-digit release number in hexadecimal format. For example, 32_34_35_ 2A
31:0
RO represents 2.45* in ASCII character, where * is an alphabetic character (for example, a,
b, or c) that represents a update to the release, which does not impact the RTL source.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 500h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dev_desc_addr_ptr
su_cmd_addr_ptr
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
alt
intf
reserved
ep_dir
max_pkt_size
cfg
ep_type
ep_num
Bit Default &
Field Name (ID): Description
Range Access
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
alt
intf
reserved
ep_dir
max_pkt_size
cfg
ep_type
ep_num
Bit Default &
Field Name (ID): Description
Range Access
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ep_num
alt
intf
reserved
ep_dir
max_pkt_size
cfg
ep_type
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
ep_dir
max_pkt_size
cfg
ep_type
ep_num
intf
alt
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
ep_dir
max_pkt_size
cfg
ep_type
intf
ep_num
alt
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
alt
intf
reserved
ep_dir
max_pkt_size
cfg
ep_type
ep_num
Bit Default &
Field Name (ID): Description
Range Access
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
alt
intf
reserved
ep_dir
max_pkt_size
cfg
ep_type
ep_num
Bit Default &
Field Name (ID): Description
Range Access
0x0
18:15 Alternate Setting (alt): Alternate setting to which this endpoint belongs.
RW
0x0
14:11 Interface Number (intf): Interface number to which this endpoint belongs.
RW
0x0
10:7 Configuration Number (cfg): Configuration number to which this endpoint belongs
RW
0x0
3:0 Logical Endpoint Number (ep_num): Logical Endpoint Number
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rx_fifo
0x0
31:0 Receive FIFO (rx_fifo): Receive FIFO
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo
Bit Default &
Field Name (ID): Description
Range Access
0x0
31:0 Transmit FIFO 0 (tx_fifo): Transmit FIFO 0
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo
0x0
31:0 Transmit FIFO 1 (tx_fifo): Transmit FIFO 1
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo
Bit Default &
Field Name (ID): Description
Range Access
0x0
31:0 Transmit FIFO 2 (tx_fifo): Transmit FIFO 2
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tx_fifo
0x0
31:0 Transmit FIFO 3 (tx_fifo): Transmit FIFO 3
RW
18h 1Bh “USB Interrupt Enable (USBINTR)—Offset 18h” on page 557 00000000h
1Ch 1Fh “USB Frame Index (FRINDEX)—Offset 1Ch” on page 558 00000000h
20h 23h “4 Gigabyte Memory Segment Selector (CTRLDSSEGMENT)—Offset 20h” on page 559 00000000h
24h 27h “Periodic Frame List Base Address (PERIODICLISTBASE)—Offset 24h” on page 559 00000000h
28h 2Bh “Asynchronous List Address (ASYNCLISTADDR)—Offset 28h” on page 560 00000000h
54h + [0-
57h “Port Status/Control[0-1] (PORTSC[0-1])—Offset 54h, Count 2, Stride 4h” on page 561 00002000h
1]*4h
90h 93h “Programmable Microframe Base Value (INSNREG00)—Offset 90h” on page 564 00000000h
98h 9Bh “Programmable Packet Buffer Depth (INSNREG02)—Offset 98h” on page 565 00000080h
9Ch 9Fh “Programmable Controller Settings (INSNREG03)—Offset 9Ch” on page 566 00002001h
A0h A3h “Programmable Controller Settings (INSNREG04)—Offset A0h” on page 567 00000000h
Default: 01000010h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
reserved_15_8
caplength
hciversion
010h Capability Registers Length (caplength): This register is used as an offset to add to
7:0
RO register base to find the beginning of the Operational Register Space.
Default: 00001212h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0
debug_port_number
p_indicator
n_cc
reserved_31_24
reserved_19_17
n_pcc
port_route_rules
n_ports
reserved_6_5
ppc
Bit Default &
Field Name (ID): Description
Range Access
Port Indicator (p_indicator): This bit indicates whether the ports support port
0b indicator control. When this bit is a one, the port status and control registers include a
16
RO read/writeable field for controlling the state of the port indicator.
NOTE: Port Indicator is not supported
Number of Ports per Companion Controller (n_pcc): This field indicates the
number of ports supported per companion host controller. It is used to indicate the port
routing configuration to system software.
2h For example, if N_PORTS has a value of 6 and N_CC has a value of 2 then N_PCC could
11:8 have a value of 3. The convention is that the first N_PCC ports are assumed to be routed
RO to companion controller 1, the next N_PCC ports to companion controller 2, etc. In the
previous example, the N_PCC could have been 4, where the first 4 are routed to
companion controller 1 and the last two are routed to companion controller 2. The
number in this field must be consistent with N_PORTS and N_CC.
Port Routing Rules (port_route_rules): This field indicates the method used by this
implementation for how all ports are mapped to companion controllers. The value of this
field has the following interpretation:
0b 0: The first N_PCC ports are routed to the lowest numbered function companion host
7
RO controller, the next N_PCC port are routed to the next lowest function companion
controller, and so on.
1: The port routing is explicitly enumerated by the first N_PORTS elements of the HCSP-
PORTROUTE array.
Port Power Control (ppc): This field indicates whether the host controller
implementation includes port power control. A one in this bit indicates the ports have
1b port power switches. A zero in this bit indicates the port do not have port power
4
RO switches. The value of this field affects the functionality of the Port Power field in each
port status and control register.
NOTE: Port Power Control is supported.
Number of Physical Downstream Ports (n_ports): This field specifies the number
2h of physical downstream ports implemented on this host controller. The value of this field
3:0
RO determines how many port registers are addressable in the Operational Register Space.
Valid values are in the range of 1 to F. A zero in this field is undefined.
Default: 0000C012h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0
reserved_31_18
reserved_16
reserved_3
link_power_mgmt_cap
eecp
isoc_schedule_threshold
async_schedule_park_cap
frame_list_flag
address_64bit_cap
Bit Default &
Field Name (ID): Description
Range Access
EHCI Extended Capabilities Pointer (eecp): This optional field indicates the
existence of a capabilities list. A value of 00h indicates no extended capabilities are
C0h implemented. A non-zero value in this register indicates the offset in PCI configuration
15:8 space of the first EHCI extended capability. The pointer value must be 40 or greater if
RO implemented to maintain the consistency of the PCI header defined for this class of
device.
NOTE: EHCI Extended Capabilities is supported.
Programmable Frame List Flag (frame_list_flag): If this bit is set to a zero, then
system software must use a frame list length of 1024 elements with this host controller
and the USBCMD register Frame List Size field is a read-only register.
1h If set to a one, then system software can specify and use a smaller frame list and
1
RO configure the host controller via the USBCMD register Frame List Size field. The frame
list must always be aligned on a 4K page boundary. This requirement ensures that the
frame list is always physically contiguous.
NOTE: Programmable Frame List Flag is supported.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 10h
(Size: 32 bits)
Default: 00080000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_28
reserved_15_12
async_schedule_park_mode_cnt
host_initiated_resume_duration
async_schedule_park_mode_enable
intr_on_async_advance_drbell
intr_threshold_ctrl
reserved_10
light_hcreset
hcreset
async_schedule_enable
run_stop
periodic_schedule_enable
frame_list_size
Light Host Controller Reset (light_hcreset): This control bit allows the driver to
reset the EHCI controller without affecting the state of the ports or the relationship to
the companion host controllers. For example, the PORSTC registers should not be reset
to their default values and the CF bit setting should not go to zero (retaining port
0h ownership relationships).A host software read of this bit as zero indicates the Light Host
7 Controller Reset has completed and it is safe for host software to re-initialize the host
RW controller. A host software read of this bit as a one indicates the Light Host Controller
Reset has not yet completed. If not implemented a read of this field will always return a
zero.
NOTE: this control bit is supported and resets the EHCI List Processor Master Controller
Unit.
Frame List Size (frame_list_size): This field is RW only if Programmable Frame List
Flag in the HCCPARAMS registers is set to a one. This field specifies the size of the frame
list. The size the frame list controls which bits in the Frame Index Register should be
0h used for the Frame List Current index. Values mean:
3:2
RW 00: 1024 elements (4096) Default value
01: 512 elements (2048 )
10: 256 elements (1024 ) for resource-constrained environments
11: Reserved
Host Controller Reset (hcreset): This control bit is used by software to reset host
controller.
The effects of this on Root Hub registers are similar to a Chip Hardware Reset. When
software writes a one to this bit, the Host Controller resets its internal pipelines, timers,
counters, state machines, etc. to their initial value. Any transaction currently in progress
on USB is immediately terminated. A USB reset is not driven on downstream ports.
0h PCI Configuration registers are not affected by this reset.
1
RW All operational registers, including port registers and port state machines are set to their
initial values. Port ownership reverts to the companion host controller(s).
This bit is set to zero by the Host Controller when the reset process is complete.
Software cannot terminate the reset process early by writing a zero to this register.
Software should not set this bit to a one when the HCHalted bit in the USBSTS register
is a zero. Attempting to reset an actively running host controller will result in undefined
behavior.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 14h
(Size: 32 bits)
Default: 00001000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
host_system_error
periodic_schedule_status
port_change_detect
async_schedule_status
usberrint
reclamation
usbint
reserved_31_16
hchalted
reserved_11_6
intr_on_async_advance
frame_list_rollover
Bit Default &
Field Name (ID): Description
Range Access
HcHalted (hchalted): This bit is a zero whenever the Run/Stop bit is a one. The Host
1h Controller sets this bit to one after it has stopped executing as a result of the Run/Stop
12
RO bit being set to 0, either by software or by the Host Controller hardware (e.g. internal
error).
Host System Error (host_system_error): The Host Controller sets this bit to 1 when
a serious error occurs during a host system access involving the Host Controller module.
0h In a PCI system, conditions that set this bit to 1 include PCI Parity error, PCI Master
4
RW/1C Abort, and PCI Target Abort.
When this error occurs, the Host Controller clears the Run/Stop bit in the Command
register to prevent further execution of the scheduled TDs.
Frame List Rollover (frame_list_rollover): The Host Controller sets this bit to a one
when the Frame List Index rolls over from its maximum value to zero. The exact value
0h at which the rollover occurs depends on the frame list size. For example, if the frame list
3
RW/1C size (as programmed in the Frame List Size field of the USBCMD register) is 1024, the
Frame Index Register rolls over every time FRINDEX[13] toggles. Similarly, if the size is
512, the Host Controller sets this bit to a one every time FRINDEX[12] toggles.
Port Change Detect (port_change_detect): The Host Controller sets this bit to a
one when any port for which the Port Owner bit is set to zero has a change bit transition
from a zero to a one or a Force Port Resume bit transition from a zero to a one as a
0h result of a J-K transition detected on a suspended port. This bit will also be set as a
2 result of the Connect Status Change being set to a one after system software has
RW/1C relinquished ownership of a connected port by writing a one to a port's Port Owner bit.
On a D3 to D0 transition of the EHCI HC device, this bit is loaded with the OR of all of
the PORTSC change bits (including: Force port resume, over-current change, enable/
disable change and connect status change).
USB Error Interrupt (usberrint): The Host Controller sets this bit to 1 when
completion of a USB transaction results in an error condition (e.g., error counter
0h underflow). If the TD on which the error interrupt occurred also had its IOC bit set, both
1
RW/1C this bit and USBINT bit are set.
Refer to EHCI Specification for a list of the USB errors that will result in this bit being set
to a one.
USB Interrupt (usbint): The Host Controller sets this bit to 1 on the completion of a
0h USB transaction, which results in the retirement of a Transfer Descriptor that had its IOC
0
RW/1C bit set. The Host Controller also sets this bit to 1 when a short packet is detected (actual
number of bytes received was less than the expected number of bytes).
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 18h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
frame_list_rollover_enable
intr_on_async_advance_enable
host_system_err_enable
usberrint_enable
reserved_31_6
port_change_intr_enable
usbint_enable
Host System Error Enable (host_system_err_enable): When this bit is a one, and
0h the Host System Error Status bit in the USBSTS register is a one, the host controller will
4
RW issue an interrupt. The interrupt is acknowledged by software clearing the Host System
Error bit.
USB Error Interrupt Enable (usberrint_enable): When this bit is a one, and the
0h USBERRINT bit in the USBSTS register is a one, the host controller will issue an interrupt
1
RW at the next interrupt threshold. The interrupt is acknowledged by software clearing the
USBERRINT bit.
0h USB Interrupt Enable (usbint_enable): When this bit is a one, and the USBINT bit in
0 the USBSTS register is a one, the host controller will issue an interrupt at the next
RW interrupt threshold. The interrupt is acknowledged by software clearing the USBINT bit.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 1Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_14
frame_index
Frame Index (frame_index): The value of this register increments at the end of each
time frame (e.g. micro-frame). Bits [N:3] are used for the Frame List current index. This
means that each location of the frame list is accessed 8 times (frames or micro-frames)
before moving to the next index. The following illustrates values of N based on the value
of the Frame List Size field in the USBCMD register. USBCMD[Frame List Size] Number
Elements N
0h USBCMD[Frame List Size] = 00 (1024), N = 12
13:0 USBCMD[Frame List Size] = 01 (512), N = 11
RW USBCMD[Frame List Size] = 10 (256), N = 10
USBCMD[Frame List Size] = 11 (Reserved)
This register must be written as a DWord. Byte writes produce undefined results. This
register cannot be written unless the Host Controller is in the Halted state as indicated
by the HCHalted bit in USBSTS register. A write to this register while the Run/Stop bit of
USBCMD register is set to a one produces undefined results. Writes to this register also
affect the SOF value.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
seg_4g_selector
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
base_address
reserved_11_0
Bit Default &
Field Name (ID): Description
Range Access
Base Address (base_address): This field contains bits [31:12]of the 32 bit address of
the Periodic Frame List in the system memory. System software loads this register prior
0h to starting the schedule execution by the Host Controller. The memory structure
31:12 referenced by this physical memory pointer is assumed to be 4-Kbyte aligned. The
RW contents of this register are combined with the Frame Index Register (FRINDEX) to
enable the Host Controller to step through the Periodic Frame List in sequence. Writes
must be DWord Writes.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_4_0
lpl
Link Pointer Low (lpl): This field contains bit [31:5] of the address of the next
asynchronous queue head to be executed. The memory structure referenced by this
0h physical memory pointer is assumed to be 4-Kbyte aligned. The contents of this register
31:5
RW are combined with the Frame Index Register (FRINDEX) to enable the Host Controller to
step through the Periodic Frame List in sequence. This field may only reference a Queue
Head (QH).
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_1
cf
Bit Default &
Field Name (ID): Description
Range Access
Configure Flag (cf): Host software sets this bit as the last action in its process of
configuring the Host Controller. This bit controls the default port-routing control logic.
0h Bit values and side-effects are listed below.
0
RW 0: Port routing control logic default-routes each port to an implementation dependent
classic host controller.
1: Port routing control logic default-routes all ports to this host controller
Access Method
Type: Memory Mapped I/O Register Offset[0-1]: [BAR0] + 54h + [0-1]*4h
(Size: 32 bits)
Default: 00002000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
device_address
port_reset
over_current_change
connect_status_change
suspend_status
port_test_ctrl
port_indicator_ctrl
port_owner
force_port_resume
port_en_dis_change
current_connect_status
wkoc_e
wkdscnnt_e
wkcnnt_e
pp
line_status
suspend
over_current_active
port_enable_disable
suspend_using_l1
Device Address (device_address): The 7-bit USB device address for the device
0h attached to and immediately downstream of the associated root port. A value of zero
31:25
RO indicates no device is present or support for this feature is not present.
NOTE: This field is not supported.
0h Wake on Over-current Enable (wkoc_e): Writing this bit to a one enables the port
22 to be sensitive to over-current conditions as wake-up events. This field is zero if Port
RW Power is zero.
0h Wake on Disconnect Enable (wkdscnnt_e): Writing this bit to a one enables the
21 port to be sensitive to device disconnects as wake-up events. This field is zero if Port
RW Power is zero.
0h Wake on Connect Enable (wkcnnt_e): Writing this bit to a one enables the port to
20 be sensitive to device connects as wake-up events. This field is zero if Port Power is
RW zero.
Port Test Control (port_test_ctrl): When this field is zero, the port is NOT operating
in a test mode. A non-zero value indicates that it is operating in test mode and the
specific test mode is indicated by the specific value. The encoding of the test mode bits
are (0110 - 1111 are reserved):
0h 0000: Test mode not enabled
19:16
RW 0001: Test J_STATE
0010: Test K_STATE
0011: Test SE0_NAK
0100: Test Packet
0101: Test FORCE_ENABLE
Port Owner (port_owner): This bit unconditionally goes to a 0 when the Configured
bit in the CONFIGFLAG register makes a 0b to 1b transition. This bit unconditionally
1h goes to 1 whenever the Configured bit is zero. System software uses this field to release
13 ownership of the port to a selected host controller (in the event that the attached device
RW is not a high-speed device). Software writes a one to this bit when the attached device
is not a high-speed device. A one in this bit means that a companion host controller
owns and controls the port.
Port Power (pp): The function of this bit depends on the value of the Port Power
Control (PPC) field in the HCSPARAMS register. The behavior is as follows:
If PPC=0, PP=1 and RO: Host controller does not have port power control switches.
Each port is hard-wired to power.
If PPC=0, PP=1 or 0 and R/W: Host controller has port power control switches. This bit
0h represents the current setting of the switch (0 = off, 1 = on). When power is not
12
RW available on port (i.e. PP equals a 0),the port is non-functional and will not report
attaches, detaches, etc.
When an over-current condition is detected on a powered port and PPC is a one, the PP
bit in each affected port may be transitioned by the host controller from a 1 to 0
(removing power from the port).
NOTE: Per Port Power control is supported (PPC=1)
Line Status (line_status): These bits reflect the current logical levels of the D+ (bit
11) and D- (bit 10) signal lines. These bits are used for detection of low-speed USB
devices prior to the port reset and enable sequence. This field is valid only when the port
enable bit is zero and the current connect status bit is set to a one. The encoding of the
0h bits are:
11:10 Bits[11:10] USB State Interpretation
RO 00: USB State is SE0, Not Low-speed device, perform EHCI reset
10: USB State is J-state, Not Low-speed device, perform EHCI reset
01: USB State is K-state, Low-speed device, release ownership of port
11: USB State is Undefined, Not Low-speed device, perform EHCI reset
The value of this field is undefined if Port Power is zero.
0h Over Current Change (over_current_change): This bit gets set to a one when there
5 is a change to Over-current Active. Software clears this bit by writing a one to this bit
RW/1C position.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 90h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_14
uframe_count_en
uframe_count
0h
13:1 uframe_count: 1-microframe counter with byte interface (8-bits).
RW
0b
0 uframe_count_en: 1-microframe counter is enabled when this bit is set to 1.
RW
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 94h
(Size: 32 bits)
Default: 00200020h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
reserved_31_24
reserved_15_8
IN_Threshold
OUT_Threshold
Out Threshold (OUT_Threshold): The OUT threshold is used to start the USB transfer
20h as soon as the OUT threshold amount of data is fetched from system memory. It is also
23:16
RW used to disconnect the data fetch, if the threshold amount of space is not available in
the Packet Buffer.
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
reserved_31_12
pkt_buffer_depth
Bit Default &
Field Name (ID): Description
Range Access
80h Programmable Packet Buffer Depth (pkt_buffer_depth): The value specified here
11:0
RW is the number of DWORDs (32-bit entries).
Default: 00002001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
reserved_31_14
Time_available_offset
Break_Memory
TestSE0
Tx_Tx_turnaround_dly
Periodic_Frame_List
TestSE0 NAK (TestSE0): When set to 1 (default), the core ignores the line state
checking when transmitting SOF during the SE0_NAK test mode. When Set to 0, the
1h port state machine disables the port if it does not find the line state to be in SE0 when
13
RW transmitting SOF during the SE0_NAK testing. While doing impedance measurement
during the SE0_NAK testing, the line state could go to non SE0 forcing the core to
disable the port. This bit is used to control the port behavior during this.
Periodic Frame List Fetch (Periodic_Frame_List): Setting this bit will force the host
0h controller to fetch the periodic frame list in every microframe of a frame. If not set, then
9 the periodic frame list will be fetched only in microframe 0 of every frame. The default is
RW 0 (not set). This bit can be changed only during core initialization and should not be
changed afterwards.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + A0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
automatic_feature
reserved_31_6
reserved_3
port_enum
NAK
sys_res
0h NAK reload fix enabled (NAK): When 1 NAK reload fix disabled.
4 This is a functional bit for backward compatibility with Synopsys USB 2.0 Host-AHB core
RW Release 2.40c.
0h Port Enumeration Time (port_enum): Scales down port enumeration time. This is a
2
RW debug bit.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + A4h
(Size: 32 bits)
Default: 00001000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_18
Vbusy
Vport
VControlLoadM
Vcontrol
Vstatus
0h Vbusy: Hardware indicator that a write to this register has occurred and the hardware is
17 currently processing the operation defined by the data written. When processing is
RO/V finished, this bit is cleared.
Vport: Port number from/to the PHY Vendor Status and Control value is read/written in
Vstatus field.
0h Vport meaningful values depend on the number of ports implemented. Allowed values
16:13
RW are 4'h1 and 4'h2, any other value will return Vstatus=8'h0.
Once software writes to VPort, from that write onwards, any writes to this register is
ignored.
0h Vendor control register (Vcontrol): Not implemented - write to Vendor Control will
11:8
RW have no effect.
0h Vendor Status register (Vstatus): Not implemented - read from Vendor Status will
7:0
RO always return 0.
10h 13h “Host Controller Interrupt Enable (HCINTRENABLE)—Offset 10h” on page 574 00000000h
14h 17h “Host Controller Interrupt Disable (HCINTRDISABLE)—Offset 14h” on page 575 00000000h
18h 1Bh “Host Controller Communication Area (HCHCCA)—Offset 18h” on page 576 00000000h
28h 2Bh “Host Controller First Bulk Endpoint (HCBULKHEADED)—Offset 28h” on page 578 00000000h
2Ch 2Fh “Host Controller Current Bulk Endpoint (HCBULKCURED)—Offset 2Ch” on page 579 00000000h
34h 37h “Host Controller Frame Interval (HCFMINTERVAL)—Offset 34h” on page 580 00002EDFh
38h 3Bh “Host Controller Remaining Frame (HCFMREMAINING)—Offset 38h” on page 581 00000000h
3Ch 3Fh “Host Controller Frame Number (HCFMNUMBER)—Offset 3Ch” on page 582 00000000h
40h 43h “Host Controller Periodic List Start (HCPERIODICSTART)—Offset 40h” on page 583 00000000h
44h 47h “Host Controller LS Threshold (HCLSTHRESHOLD)—Offset 44h” on page 583 00000628h
48h 4Bh “Host Controller Root Hub Descriptor A (HCRHDESPA)—Offset 48h” on page 584 02000902h
4Ch 4Fh “Host Controller Root Hub Descriptor B (HCRHDESPB)—Offset 4Ch” on page 585 00000000h
50h 53h “Host Controller Root Hub Status (HCRHSTATUS)—Offset 50h” on page 586 00000000h
54h 57h “Host Controller Root Hub Port Status (HCRHPORTSTS)—Offset 54h” on page 587 00000000h
Default: 00000010h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
reserved_31_8
revision
Bit Default &
Description
Range Access
10h Revision (revision): This read-only field contains the BCD representation of the
7: 0
RO version of the HCI specification that is implemented by this HC.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) HCCONTROL: [BAR0] + 4h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rmtwkup_connected
intr_routing
hc_function_state
reserved_31_11
ctrlbulk_serviceratio
rmtwkup_enable
ctrllist_enable
isoc_enable
bulklist_enable
periodiclist_enable
Bulk List Enable (bulklist_enable): This bit is set to enable the processing of the
Bulk list in the next Frame. If cleared by HCD, processing of the Bulk list does not occur
0h after the next SOF. HC checks this bit whenever it determines to process the list. When
5
RW disabled, HCD may modify the list. If HCBULKCURED is pointing to an ED (Endpoint
Descriptor) to be removed, HCD must advance the pointer by updating HCBULKCURED
before re-enabling processing of the list.
Control List Enable (ctrllist_enable): This bit is set to enable the processing of the
Control list in the next Frame. If cleared by HCD, processing of the Control list does not
0h occur after the next SOF. HC must check this bit whenever it determines to process the
4
RW list. When disabled, HCD may modify the list. If HCCTRLCURED is pointing to an ED to
be removed, HCD must advance the pointer by updating HCCTRLCURED before re-
enabling processing of the list.
0h Periodic List Enable (periodiclist_enable): This bit is set to enable the processing of
2 the periodic list in the next Frame. If cleared by HCD, processing of the periodic list does
RW not occur after the next SOF. HC must check this bit before it starts processing the list.
Control Bulk Service Ratio (ctrlbulk_serviceratio): This specifies the service ratio
between Control and Bulk ED's. Before processing any of the nonperiodic lists, HC must
0h compare the ratio specified with its internal count on how many nonempty Control ED's
1: 0
RW have been processed, in determining whether to continue serving another Control ED or
switching to Bulk ED's. The internal count will be retained when crossing the frame
boundary. In case of reset, HCD is responsible for restoring this value.
written as 0 remain unchanged in the register. The Host Controller Driver may issue
multiple distinct commands to the Host Controller without concern for corrupting
previously issued commands. The Host Controller Driver has normal read access to all
bits. The sch_overrun_cnt field indicates the number of frames with which the Host
Controller has detected the scheduling overrun error. This occurs when the Periodic list
does not complete before EOF. When a scheduling overrun error is detected, the Host
Controller increments the counter and sets the sch_overrun field in the HCINTRSTATUS
register.
Access Method
Type: Memory Mapped I/O Register HCCMDSTATUS: [BAR0] + 8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_18
sch_overrun_cnt
reserved_15_4
hcreset
ownerchange_req
bulklist_filled
ctrllist_filled
Bit Default &
Description
Range Access
BulkListFilled (bulklist_filled): This bit is used to indicate whether there are any TDs
on the Bulk list. It is set by HCD whenever it adds a TD to an ED in the Bulk list. When
HC begins to process the head of the Bulk list, it checks bulklist_filled. As long as
0h bulklist_filled is 0, HC will not start processing the Bulk list. If bulklist_filled is 1, HC will
2
RW start processing the Bulk list and will set bulklist_filled to 0. If HC finds a TD on the list,
then HC will set bulklist_filled to 1 causing the Bulk list processing to continue. If no TD
is found on the Bulk list, and if HCD does not set bulklist_filled, then bulklist_filled will
still be 0 when HC completes processing the Bulk list and Bulk list processing will stop.
Control List Filled (ctrllist_filled): This bit is used to indicate whether there are any
TDs on the Control list. It is set by HCD whenever it adds a TD to an ED in the Control
list. When HC begins to process the head of the Control list, it checks ctrllist_filled. As
0h long as ctrllist_filled is 0, HC will not start processing the Control list. If CF is 1, HC will
1 start processing the Control list and will set ctrllist_filled to 0. If HC finds a TD on the
RW list, then HC will set ctrllist_filled to 1 causing the Control list processing to continue. If
no TD is found on the Control list, and if the HCD does not set ctrllist_filled, then
ctrllist_filled will still be 0 when HC completes processing the Control list and Control list
processing will stop.
Host Controller Reset (hcreset): This bit is set by HCD to initiate a software reset of
HC. Regardless of the functional state of HC, it moves to the USBSUSPEND state in
0h which most of the operational registers are reset except those stated otherwise; e.g.,
0 the intr_routing field of HCCONTROL, and no Host bus accesses are allowed. This bit is
RW cleared by HC upon the completion of the reset operation. The reset operation must be
completed within 10ms. This bit, when set, should not cause a reset to the Root Hub
and no subsequent reset signaling should be asserted to its downstream ports.
Access Method
Type: Memory Mapped I/O Register HCINTRSTATUS: [BAR0] + Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
owner_change
start_of_frame
rhub_stschange
reserved_31
reserved_29_07
fmnum_overflow
unrecov_err
wrback_donehead
sch_overrun
resume_detected
Bit Default &
Description
Range Access
Ownership Change (owner_change): This bit is set by HC when HCD sets the
0h ownerchange_req field in HCCMDSTATUS. This event, when unmasked, will always
30 generate a System Management Interrupt (SMI) immediately. This bit is tied to 0 when
RW/1C the SMI pin is not implemented.
NOTE: OHCI SMIs are ignored by the system.
0h Root Hub Status Change (rhub_stschange): This bit is set when the content of
6 HCRHSTATUS or the content of any of HCRHPORTSTS[NumberofDownstreamPort] has
RW/1C changed.
0h Frame Number Overflow (fmnum_overflow): This bit is set when the MSb of
5 HCFMNUMBER (bit 15) changes value, from 0 to 1 or from 1 to 0, and after
RW/1C HccaFrameNumber has been updated.
0h Unrecoverable Error (unrecov_err): This bit is set when HC detects a system error
4 not related to USB. HC should not proceed with any processing or signaling before the
RW/1C system error has been corrected. HCD clears this bit after HC has been reset.
Resume Detected (resume_detected): This bit is set when HC detects that a device
0h on the USB is asserting resume signaling. It is the transition from no resume signaling
3
RW/1C to resume signaling causing this bit to be set. This bit is not set when HCD sets the
USBRESUME state.
0h Start of Frame (start_of_frame): This bit is set by HC at each start of a frame and
2 after the update of HccaFrameNumber. HC also generates a SOF token at the same
RW/1C time.
Writeback Done Head (wrback_donehead): This bit is set immediately after HC has
0h written HCDONEHEAD to HccaDoneHead. Further updates of the HccaDoneHead will not
1
RW/1C occur until this bit has been cleared. HCD should only clear this bit after it has saved the
content of HccaDoneHead.
0h Scheduling Overrun (sch_overrun): This bit is set when the USB schedule for the
0 current Frame overruns and after the update of HccaFrameNumber. A scheduling
RW/1C overrun will also cause the sch_overrun_cnt of HCCMDSTATUS to be incremented.
Access Method
Type: Memory Mapped I/O Register HCINTRENABLE: [BAR0] + 10h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
mstr_intr_enable
reserved_29_07
unrecov_err_enb
owner_change_enb
sch_overrun_enb
fmnum_overflow_enb
resume_detected_enb
start_of_frame_enb
rhub_stschange_enb
wrback_donehead_enb
Access Method
Type: Memory Mapped I/O Register HCINTRDISABLE: [BAR0] + 14h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
unrecov_err_dbl
mstr_intr_enable
owner_change_dbl
reserved_29_07
fmnum_overflow_dbl
sch_overrun_dbl
wrback_donehead_dbl
resume_detected_dbl
rhub_stschange_dbl
start_of_frame_dbl
Access Method
Type: Memory Mapped I/O Register HCHCCA: [BAR0] + 18h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_7_0
hccabase
0h Host Controller Communication Area Base (hccabase): This is the base address of
31: 8
RW the Host Controller Communication Area
Access Method
Type: Memory Mapped I/O Register HCPRDCURED: [BAR0] + 1Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
period_cur_ed
reserved_3_0
Bit Default &
Description
Range Access
Access Method
Type: Memory Mapped I/O Register HCCTRLHEADED: [BAR0] + 20h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_3_0
ctrl_head_ed
0h Control Head ED (ctrl_head_ed): HC traverses the Control list starting with the
31: 4 HCCTRLHEADED pointer. The content is loaded from HCCA during the initialization of
RW HC.
Access Method
Type: Memory Mapped I/O Register HCCTRLCURED: [BAR0] + 24h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_3_0
ctrl_cur_ed
Access Method
Type: Memory Mapped I/O Register HCBULKHEADED: [BAR0] + 28h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
bulk_head_ed
reserved_3_0
Bit Default &
Description
Range Access
0h Bulk Head ED (bulk_head_ed): HC traverses the Bulk list starting with the
31: 4 HCBULKHEADED pointer. The content is loaded from HCCA during the initialization of
RW HC.
Access Method
Type: Memory Mapped I/O Register HCBULKCURED: [BAR0] + 2Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_3_0
bulk_cur_ed
Bulk Current ED (bulk_cur_ed): This is advanced to the next ED after the HC has
served the present one. HC continues processing the list from where it left off in the last
Frame. When it reaches the end of the Bulk list, HC checks the ctrllist_filled of
0h HCCONTROL. If set, it copies the content of HCBULKHEADED to HCBULKCURED and
31: 4
RW clears the bit. If it is not set, it does nothing. HCD is only allowed to modify this register
when the bulklist_enable of HCCONTROL is cleared. When set, the HCD only reads the
instantaneous value of this register. This is initially set to zero to indicate the end of the
Bulk list.
Access Method
Type: Memory Mapped I/O Register HCDONEHEAD: [BAR0] + 30h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_3_0
donehead
Access Method
Type: Memory Mapped I/O Register HCFMINTERVAL: [BAR0] + 34h
(Size: 32 bits)
Default: 00002EDFh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1
fm_interval_tgl
fm_interval
fsmps
reserved_15_14
Bit Default &
Description
Range Access
0h Frame Interval Toggle (fm_interval_tgl): HCD toggles this bit whenever it loads a
31
RW new value to fm_interval.
FS Largest Data Packet (fsmps): This field specifies a value which is loaded into the
0h Largest Data Packet Counter at the beginning of each frame. The counter value
30: 16 represents the largest amount of data in bits which can be sent or received by the HC in
RW a single transaction at any given time without causing scheduling overrun. The field
value is calculated by the HCD.
Frame Interval (fm_interval): This specifies the interval between two consecutive
2EDFh SOFs in bit times. The nominal value is set to be 11,999.HCD should store the current
13: 0 value of this field before resetting HC. By setting the hcreset field of HCCMDSTATUS as
RW this will cause the HC to reset this field to its nominal value. HCD may choose to restore
the stored value upon the completion of the Reset sequence.
Access Method
Type: Memory Mapped I/O Register HCFMREMAINING: [BAR0] + 38h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
fm_remaining_tgl
reserved_30_14
fm_remaining
Access Method
Type: Memory Mapped I/O Register HCFMNUMBER: [BAR0] + 3Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_16
fmnumber
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) HCPERIODICSTART: [BAR0] + 40h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
periodic_start
reserved_31_14
Periodic Start (periodic_start): After hardware reset, this field is cleared. This is
then set by HCD during the HC initialization. The value is calculated roughly as 10% off
0h from fm_interval. A typical value will be h3E67. When fm_remaining reaches the value
13: 0
RW specified, processing of the periodic lists will have priority over Control/Bulk processing.
HC will therefore start processing the Interrupt list after completing the current Control
or Bulk transaction that is in progress.
Access Method
Type: Memory Mapped I/O Register HCLSTHRESHOLD: [BAR0] + 44h
(Size: 32 bits)
Default: 00000628h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0
reserved_31_12
ls_threshold
Access Method
Type: Memory Mapped I/O Register HCRHDESPA: [BAR0] + 48h
(Size: 32 bits)
Default: 02000902h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0
reserved_23_13
no_overcur_prot
overcur_prot_mode
pwr_switch_mode
pwron_to_pwrgood_time
device_type
no_pwr_switching
Over Current Protection Mode (overcur_prot_mode): This bit describes how the
overcurrent status for the Root Hub ports is reported. At reset, this field should reflect
1h the same mode as pwr_switch_mode. This field is valid only if the no_overcur_prot field
11
RW is cleared.
0: over-current status is reported collectively for all downstream ports
1: over-current status is reported on a per-port basis
0h Device Type (device_type): This bit specifies that the Root Hub is not a compound
10 device. The Root Hub is not permitted to be a compound device. This field should always
RO read/write 0.
Power Switching Mode (pwr_switch_mode): This bit is used to specify how the
power switching of the Root Hub ports is controlled. It is implementation-specific. This
field is only valid if the no_pwr_switching field is cleared.
1h 0: all ports are powered at the same time.
8 1: each port is powered individually. This mode allows port power to be controlled by
RW either the global switch or per-port switching. If the port_pwr_ctrlmask bit is set, the
port responds only to port power commands (Set/ClearPortPower). If the port mask is
cleared, then the port is controlled only by the global power switch (Set/
ClearGlobalPower).
02h Number Downstream Ports (ndp): These bits specify the number of downstream
7: 0 ports (ndp) supported by the Root Hub. It is implementation-specific. The minimum
RO number of ports is 1.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) HCRHDESPB: [BAR0] + 4Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved_31_18
reserved_16_3
device_removable
port_pwr_ctrlmask
reserved_1
0h reserved_1 (reserved_1): Reserved bit. These bits are reserved and should be set to
0
RO zero.
Access Method
Type: Memory Mapped I/O Register HCRHSTATUS: [BAR0] + 50h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
overcur_ind_change
local_pwrsts_change
reserved_30_18
reserved_14_2
dev_rmtwkup_enb
clr_rmtwkup_enb
overcur_ind
local_pwrsts
Bit Default &
Description
Range Access
Over Current Indicator (overcur_ind): This bit reports overcurrent conditions when
0h the global reporting is implemented. When set, an overcurrent condition exists. When
1
RO cleared, all power operations are normal. If per-port overcurrent protection is
implemented this bit is always 0
Access Method
Type: Memory Mapped I/O Register HCRHPORTSTS: [BAR0] + 54h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
lsda
poci
prsc
pesc
csc
pps
prs
pss
pes
ccs
reserved_31_21
ocic
pssc
reserved_15_10
reserved_7_5
Port Reset Status Change (prsc): This bit is set at the end of the 10-ms port reset
0b signal. The HCD writes a 1 to clear this bit. Writing a 0 has no effect.
20
RW/1C 0: port reset is not complete
1: port reset is complete
Port Over Current Indicator Change (ocic): This bit is valid only if overcurrent
0b conditions are reported on a per-port basis. This bit is set when Root Hub changes the
19 poci bit. The HCD writes a 1 to clear this bit. Writing a 0 has no effect.
RW/1C 0: no change in poci
1: poci has changed
Port Suspend Status Change (pssc): This bit is set when the full resume sequence
has been completed. This sequence includes the 20-s resume pulse, LS EOP, and 3-ms
0b resychronization delay. The HCD writes a 1 to clear this bit. Writing a 0 has no effect.
18
RW/1C This bit is also cleared when prsc is set.
0: resume is not completed
1: resume completed
Port Enable Status Change (pesc): This bit is set when hardware events cause the
0b pes bit to be cleared. Changes from HCD writes do not set this bit. The HCD writes a 1 to
17 clear this bit. Writing a 0 has no effect.
RW/1C 0: no change in pes
1: change in pes
Connect Status Change (csc): This bit is set whenever a connect or disconnect event
occurs. The HCD writes a 1 to clear this bit. Writing a 0 has no effect. If ccs is cleared
when a SetPortReset, SetPortEnable, or SetPortSuspend write occurs, this bit is set to
0b force the driver to re-evaluate the connection status since these writes should not occur
16 if the port is disconnected.
RW/1C 0: no change in ccs
1 = change in ccs
Note: If the device_removable[ndp] bit is set, this bit is set only after a Root Hub reset
to inform the system that the device is attached.
Speed Device Attached / Clear Port Power (lsda): (read) Low or Full Speed Device
Attached.
This bit indicates the speed of the device attached to this port. When set, a Low Speed
0b device is attached to this port. When clear, a Full Speed device is attached to this port.
9 This field is valid only when the ccs is set.
RW/1C 0: full speed device attached
1: low speed device attached
(write) ClearPortPower.
The HCD clears the pps bit by writing a 1 to this bit. Writing a 0 has no effect.
Port Power Status / Set Port Power (pps): (read) Port Power Status.
This bit reflects the port power status, regardless of the type of power switching
implemented. This bit is cleared if an overcurrent condition is detected. HCD sets this bit
by writing SetPortPower or SetGlobalPower. HCD clears this bit by writing
ClearPortPower or ClearGlobalPower. Which power control switches are enabled is
determined by pwr_switch_mode and PortPortControlMask[ndp]. In global switching
0b mode , only Set/ClearGlobalPower controls this bit. In per-port power switching
8 (pwr_switch_mode=1), if the port_pwr_ctrlmask[ndp] bit for the port is set, only Set/
RW/1C ClearPortPower commands are enabled. If the mask is not set, only Set/
ClearGlobalPower commands are enabled. When port power is disabled, ccs, pes, pss,
and prs should be reset.
0: port power is off
1: port power is on
(write) SetPortPower.
The HCD writes a 1 to set the pps bit. Writing a 0 has no effect.
Port Reset Status / Set Port Reset (prs): (read) Port Reset Status.
When this bit is set by a write to SetPortReset, port reset signaling is asserted. When
reset is completed, this bit is cleared when prsc is set. This bit cannot be set if ccs is
cleared.
0b 0: port reset signal is not active
4
RW/1C 1: port reset signal is active
(write) SetPortReset.
The HCD sets the port reset signaling by writing a 1 to this bit. Writing a 0 has no effect.
If ccs is cleared, this write does not set prs, but instead sets csc. This informs the driver
that it attempted to reset a disconnected port.
Port Over Current Indicator / Clear Suspend Status (poci): (read) Port Over
Current Indicator.
This bit is only valid when the Root Hub is configured in such a way that overcurrent
conditions are reported on a per-port basis. If per-port overcurrent reporting is not
supported, this bit is set to 0. If cleared, all power operations are normal for this port. If
0b set an overcurrent condition exists on this port. This bit always reflects the overcurrent
3
RW/1C input signal
0: no overcurrent condition.
1: overcurrent condition detected.
(write) ClearSuspendStatus.
The HCD writes a 1 to initiate a resume. Writing a 0 has no effect. A resume is initiated
only if pss is set.
Port Suspend Status / Set Port Suspend (pss): Port Suspend Status.
This bit indicates the port is suspended or in the resume sequence. It is set by a
SetSuspendState write and cleared when pssc is set at the end of the resume interval.
This bit cannot be set if ccs is cleared. This bit is also cleared when prsc is set at the end
of the port reset or when the HC is placed in the USBRESUME state. If an upstream
0b resume is in progress, it should propagate to the HC.
2
RW/1C 0: port is not suspended
1: port is suspended
(write) SetPortSuspend.
The HCD sets the pss bit by writing a 1 to this bit. Writing a 0 has no effect. If ccs is
cleared, this write does not set pss; instead it sets csc. This informs the driver that it
attempted to suspend a disconnected port.
Port Enable Status / Set Port Enable (pes): (read) Port Enable Status.
This bit indicates whether the port is enabled or disabled. The Root Hub may clear this
bit when an overcurrent condition, disconnect event, switched-off power, or operational
bus error such as babble is detected. This change also causes pesc to be set. HCD sets
this bit by writing SetPortEnable and clears it by writing ClearPortEnable. This bit cannot
0b be set when ccs is cleared. This bit is also set, if not already, at the completion of a port
1 reset when prsc is set or port suspend when pssc is set.
RW/1C 0: port is disabled
1: port is enabled
(write) SetPortEnable.
The HCD sets pes by writing a 1. Writing a 0 has no effect. If ccs is cleared, this write
does not set pes, but instead sets csc. This informs the driver that it attempted to
enable a disconnected port.
Current Connect Status / Clear Port Enable (ccs): (read) Current Connect Status.
This bit reflects the current state of the downstream port.
0: no device connected
0b 1: device connected
0 (write) ClearPortEnable
RW/1C The HCD writes a 1 to this bit to clear the pes bit. Writing a 0 has no effect. The ccs is
not affected by any write.
Note: This bit is always read 1 when the attached device is non-removable
(device_removable[ndp]).
§§
17.0 SDIO/SD/eMMC
The Intel® Quark™ SoC X1000 provides an SDIO/SD/eMMC controller that supports a
single port configurable as:
• One SDIO 3.0 interface
• One SD 3.0 interface
• One eMMC 4.41 interface
3
O SD Card Clock
SD_CLK
3.3V Clock frequency up to 50 MHz.
SD Card Data
Bidirectional port used to transfer data to and from SD/eMMC
I/O card.
SD_DATA[7:0]
3.3V By default, after power up or reset, only D[0] is used for data
transfer. A wider data bus can be configured for data transfer,
using D[0]-D[7].
SD Card Detect
I
SD_CD_B Active low when a card is present. Floating (pulled high with
3.3V internal PU) when a card is not present.
SD Card Command
I/O This signal is used for card initialization and transfer of
SD_CMD
MG commands. It has two modes—open-drain for initialization, and
push-pull for fast command transfer.
O
SD_PWR SD Card Power Supply Control
MG
17.2 Features
High Speed (SD Clock up to 50 MHz - 25 MByte/s for SDIO/SD and 50 MByte/s for
Yes
eMMC)
Note:
1. Must pair together with SPI chip.
2. Refer to the Intel® X1000 – Board Support Package (BSP) UEFI EMMC Patch on eMMC enabling for software
portion.
The SD bus allows dynamic configuration of the number of data lines. After power up,
by default, the SD Memory Card uses only D[0] for data transfer. After initialization the
host can change the bus width (number of active data lines). This feature allows easy
trade off between hardware cost and system performance. Note that while D[1:3] are
not in use, the related host’s data lines should be in tri-state (input mode).
CLK
VDD
Vss SD
SD Host
Memory Card
D[3:0]
CMD
CLK CLK
CMD CMD
D[0] D[0]
SD Host SD I/O Card
D[1] D[1]/Interrupt
D[3] CD/D[3]
CLK
CMD
eMMC Host eMMC Device
D[0:7]
RST#
In short, the SD Host Controller specification defines a standard software model for
accessing SD/SDIO/eMMC devices, and makes it possible for standards-compliant host
controllers to work with off-the-shelf device drivers.
17.2.3.1 SD DMA
A new DMA transfer algorithm, called ADMA (Advanced DMA), is defined in the SD Host
Controller Standard Specification Version 2.00. The DMA algorithm defined in the SD
Host Controller Standard Specification Version 1.00 is called SDMA (Single Operation
DMA). SDMA had the disadvantage that a DMA Interrupt generated at every page
boundary disturbs the CPU to reprogram the new system address. This SDMA algorithm
forms a performance bottleneck by interruption at every page boundary. Only one SD
command transaction can be executed per a SDMA operation.
ADMA adopts a scatter-gather DMA algorithm, so that higher data transfer speed is
available. The Host Driver can program a list of data transfers between system memory
and SD card to the Descriptor Table before executing ADMA. It enables ADMA to
operate without interrupting the Host Driver.
There are two types of ADMA; ADMA1 and ADMA2. ADMA1 can support data transfer of
only 4 KByte aligned data in system memory. ADMA2 improves the restriction so that
data of any location and any size can be transferred in system memory. The format of
Descriptor Table is different between them. The Host Controller Specification Ver2.00
defines ADMA2 as standard ADMA and recommends supporting ADMA2 rather than
ADMA1.
The SDIO/SD/eMMC controller supports all three flavors of DMA described in the SD
Host Controller 2.0 specification - SDMA, ADMA1, and ADMA2.
Note: Although the SD Host Controller Standard Specification Version 3.00 states that ADMA1
is not supported in Standard Host Controller versions 3.0 and latter, the SoC SDIO/SD/
eMMC controller supports both ADMA1 and ADMA2.
17.3 References
The SDIO/SD/eMMC controller is a Secure Digital I/O (SDIO), Secure Digital (SD),
MultiMediaCard (eMMC) host controller that is configured to comply with:
• SD Specification Part 1 Physical Layer Specification version 3.00, April 16, 2009
https://www.sdcard.org
• SD Specification Part E1 SDIO Specification version 3.00, December 16, 2010
https://www.sdcard.org
• SD Specification Part A2 SD Host Controller Standard Specification version 3.00,
February 18, 2010 https://www.sdcard.org
• Embedded MultiMediaCard (eMMC) Product Standard v4.41, JESD84-A441 http://
www.jedec.org/.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0
PCI SDIO/
ECAM eMMC PCI
Headers Memory
(Mem)
D:20,F:0 Space
RP0 F:0
PCIe*
D:23
SPI1 F:1
BAR
I2C*/GPIO F:2
Legacy Bridge
D:31, F:0 SDIO/eMMC
Mem
SDIO/eMMC F:0
Registers
HSUART0 F:1
IO Fabric D:20
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 602 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 602 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 603 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 604 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 605 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 606 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 606 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 607 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 608 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 609 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 611 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 611 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 08A7h
15 12 8 4 0
0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1
value
Bit Default &
Description
Range Access
08A7h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
IntrDis
RSVD
SERREn
RSVD
MasEn
MEMen
RSVD
Bit Default &
Description
Range Access
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
capable_66Mhz
RcdMasAb
RSVD0
DEVSEL
FastB2B
hasCapList
RSVD1
SigSysErr
RSVD
RSVD
RSVD
IntrStatus
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 08050110h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
progIntf
classCode
subClassCode
rev_id
Bit Default &
Description
Range Access
08h Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
05h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
01h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
start_bist
RSVD
comp_code
BIST_capable
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0
address 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
prefetchable
memType
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD
AddrDecodeEn
ROM_base_addr
Bit Default &
Description
Range Access
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
value
RSVD0
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
01h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 value 0 0 0 1
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
PME_support
D2_support
D1_support
aux_curr
RSVD
PME_clock
version
DSI
Bit Default &
Description
Range Access
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
PME_status
no_soft_reset
Data_select
PME_en
RSVD
RSVD
Data_scale
power_state
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
Bit Default &
Description
Range Access
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
perVecMskCap
bit64Cap
multiMsgCap
MSIEnable
RSVD0
multiMsgEn
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD0
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
RSVD0
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
20h 23h “Buffer Data Port Register (BUF_DATA_PORT)—Offset 20h” on page 621 00000000h
24h 27h “Present State Register (PRE_STATE)—Offset 24h” on page 622 1FF00000h
28h 28h “Host Control Register (HOST_CTL)—Offset 28h” on page 627 00h
29h 29h “Power Control Register (PWR_CTL)—Offset 29h” on page 628 00h
2Ah 2Ah “Block Gap Control Register (BLK_GAP_CTL)—Offset 2Ah” on page 628 00h
2Ch 2Dh “Clock Control Register (CLK_CTL)—Offset 2Ch” on page 630 0000h
2Eh 2Eh “Timeout Control Register (TIMEOUT_CTL)—Offset 2Eh” on page 632 00h
2Fh 2Fh “Software Reset Register (SW_RST)—Offset 2Fh” on page 633 00h
30h 31h “Normal Interrupt Status Register (NML_INT_STATUS)—Offset 30h” on page 634 0000h
32h 33h “Error Interrupt Status Register (ERR_INT_STATUS)—Offset 32h” on page 636 0000h
3Ch 3Dh “Auto CMD12 Error Status Register (CMD12_ERR_STAT)—Offset 3Ch” on page 643 0000h
3Eh 3Fh “Host Control 2 Register (HOST_CTRL_2)—Offset 3Eh” on page 644 0000h
54h 54h “ADMA Error Status Register (ADMA_ERR_STAT)—Offset 54h” on page 651 00h
58h 5Bh “ADMA System Address Register (ADMA_SYS_ADDR)—Offset 58h” on page 652 00000000h
64h 65h “High Speed Preset Values Register (PRESET_VALUE_2)—Offset 64h” on page 654 0000h
66h 67h “SDR12 Preset Values Register (PRESET_VALUE_3)—Offset 66h” on page 654 0001h
68h 69h “SDR25 Preset Values Register (PRESET_VALUE_4)—Offset 68h” on page 655 0000h
6Ah 6Bh “SDR50 Preset Values Register (PRESET_VALUE_5)—Offset 6Ah” on page 656 0000h
6Ch 6Dh “SDR104 Preset Values Register (PRESET_VALUE_6)—Offset 6Ch” on page 656 0000h
6Eh 6Fh “DDR50 Preset Values Register (PRESET_VALUE_7)—Offset 6Eh” on page 657 0000h
70h 73h “Boot Time-out control register (BOOT_TIMEOUT_CTRL)—Offset 70h” on page 658 00000000h
74h 74h “Debug Selection Register (DEBUG_SEL)—Offset 74h” on page 658 00h
E0h E3h “Shared Bus Control Register (SHARED_BUS)—Offset E0h” on page 659 00000000h
F0h F0h “SPI Interrupt Support Register (SPI_INT_SUP)—Offset F0h” on page 660 00h
FCh FDh “Slot Interrupt Status Register (SLOT_INT_STAT)—Offset FCh” on page 661 0000h
FEh FFh “Host Controller Version Register (HOST_CTRL_VER)—Offset FEh” on page 661 A702h
Access Method
Type: Memory Mapped I/O Register SYS_ADR: [BAR0] + 0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sys_adr
Access Method
Type: Memory Mapped I/O Register BLK_SIZE: [BAR0] + 4h
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
boundary
tr_blk_size
tx_blk_size_12
0h Transfer Block Size [12] (tx_blk_size_12): Transfer Block Size 12th bit. This bit is
15
RW added to support 4Kb Data block transfer.
Host SDMA Buffer Boundary (boundary): The large contiguous memory space may
not be available in the virtual memory system. To perform long SDMA transfer, SDMA
System Address register shall be updated at every system memory boundary during
SDMA transfer. These bits specify the size of contiguous buffer in the system memory.
The SDMA transfer shall wait at the every boundary specified by these fields and the
Host Controller generates the DMA Interrupt to request the Host Driver to update the
SDMA System Address register. At the end of transfer, the Host Controller may issue or
may not issue DMA Interrupt. In particular, DMA Interrupt shall not be issued after
Transfer Complete Interrupt is issued. In case of this register is set to 0 (buffer size =
4K bytes), lower 12-bit of byte address points data in the contiguous buffer and the
000b upper 20-bit points the location of the buffer in the system memory. The SDMA transfer
14: 12 stops when the Host Controller detects carry out of the address from bit 11 to 12. These
RW bits shall be supported when the SDMA Support in the Capabilities register is set to 1
and this function is active when the DMA Enable in the Transfer Mode register is set to 1.
ADMA does not use this register.
000b 4K bytes (Detects A11 carry out)
001b 8K bytes (Detects A12 carry out)
010b 16K Bytes (Detects A13 carry out)
011b 32K Bytes (Detects A14 carry out)
100b 64K bytes (Detects A15 carry out)
101b 128K Bytes (Detects A16 carry out)
110b 256K Bytes (Detects A17 carry out)
111b 512K Bytes (Detects A18 carry out)
Transfer Block Size (tr_blk_size): This register specifies the block size of data
transfers for CMD17, CMD18, CMD24, CMD25, and CMD53. Values ranging from 1 up to
the maximum buffer size can be set. In case of memory, it shall be set up to 512 bytes
(Refer to SD Host Controller Simplified Specification Version 3.00 - Implementation Note
in Section 1.7.2). It can be accessed only if no transaction is executing (i.e., after a
transaction has stopped). Read operations during transfers may return an invalid value,
and write operations shall be ignored.
000h 0800h 2048 Bytes
11: 0 ... ...
RW 0200h 512 Bytes
01FFh 511 Bytes
... ...
0004h 4 Bytes
0003h 3 Bytes
0002h 2 Bytes
0001h 1 Byte
0000h No data transfer
Access Method
Type: Memory Mapped I/O Register
(Size: 16 bits) BLK_COUNT: [BAR0] + 6h
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
blk_count
Blocks Count For Current Transfer (blk_count): The Host Driver shall set this
register to a value between 1 and the maximum block count. The Host Controller
decrements the block count after each block transfer and stops when the count reaches
zero. Setting the block count to 0 results in no data blocks is transferred. This register
should be accessed only when no transaction is executing (i.e., after transactions are
stopped). During data transfer, read operations on this register may return an invalid
0000h value and write operations are ignored. When a suspend command is completed, the
15: 0 number of blocks yet to be transferred can be determined by reading this register.
RW Before issuing a resume command, the Host Driver shall restore the previously saved
block count.
FFFFh 65535 blocks
... ...
0002h 2 blocks
0001h 1 block
0000h Stop Count
Access Method
Type: Memory Mapped I/O Register ARGUMENT: [BAR0] + 8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
argument
Access Method
Type: Memory Mapped I/O Register TX_MODE: [BAR0] + Ch
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cmd_comp_ata
blk_sel
dma_en
data_tr_dir
cmd12_en
blk_count_en
rsvd
Bit Default &
Description
Range Access
000h
15: 7 RSVD (rsvd): Reserved
RO
Multi / Single Block Select (blk_sel): This bit is set when issuing multiple-block
transfer commands using DAT line. For any other commands, this bit shall be set to 0. If
0h this bit is 0, it is not necessary to set the Block Count register. (Refer to Table 2-8 on SD
5
RW Host Controller Simplified Specification Version 3.00)
1 Multiple Block
0 Single Block
Data Transfer Direction Select (data_tr_dir): This bit defines the direction of DAT
0h line data transfers. The bit is set to 1 by the Host Driver to transfer data from the SD
4 card to the SD Host Controller and it is set to 0 for all other commands.
RW 1 Read (Card to Host)
0 Write (Host to Card)
Auto CMD Enable (cmd12_en): This field determines use of auto command functions.
00b Auto Command Disabled
01b Auto CMD12 Enable
10b Auto CMD23 Enable
11b Reserved
There are two methods to stop Multiple-block read and write operation.
(1) Auto CMD12 Enable The Host Controller issues CMD12 automatically when last block
transfer is completed. Auto CMD12 error is indicated to the Auto CMD Error Status
register. The Host Driver shall not set this bit if the command does not require CMD12.
In particular, secure commands defined in the Part 3 File Security specification do not
require CMD12.
00b (2) Auto CMD23 Enable The Host Controller issues a CMD23 automatically before issuing
3: 2 a command specified in the Command Register. The following conditions are required to
RW use the Auto CMD23:
- Auto CMD23 Supported
- A memory card that supports CMD23 (SCR[33]=1)
- If DMA is used, it shall be ADMA.
- Only when CMD18 or CMD25 is issued (Note, the Host Controller does not check
command index.)
Auto CMD23 can be used with or without ADMA. By writing the Command register, the
Host Controller issues a CMD23 first and then issues a command specified by the
Command Index in Command register. If response errors of CMD23 are detected, the
second command is not issued. A CMD23 error is indicated in the Auto CMD Error Status
register. 32-bit block count value for CMD23 is set to SDMA System Address / Argument
2 register
Block Count Enable (blk_count_en): This bit is used to enable the Block Count
register, which is only relevant for multiple block transfers. When this bit is 0, the Block
Count register is disabled, which is useful in executing an infinite transfer. (Refer to
0b Table 2-8 on SD Host Controller Simplified Specification Version 3.00) If ADMA2 data
1
RW transfer is more than 65535 blocks, this bit shall be set to 0. In this case, data transfer
length is designated by Descriptor Table.
1 Enable
0 Disable
DMA Enable (dma_en): DMA can be enabled only if it is supported as indicated in the
Capabilities register. One of the DMA modes can be selected by DMA Select in the Host
0b Control 1 register. If DMA is not supported, this bit is meaningless and shall always read
0 0. If this bit is set to 1, a DMA operation shall begin when the Host Driver writes to the
RW upper byte of Command register (00Fh).
1 DMA Data transfer
0 No data transfer or Non DMA data transfer
Access Method
Type: Memory Mapped I/O Register CMD: [BAR0] + Eh
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
data_pr_sel
cmd_index_chk_en
resp_type_sel
cmd_crc_chk_en
cmd_index
rsvd
reserved
cmd_type
0h
15: 14 RSVD (rsvd): Reserved
RO
0h Command Index (cmd_index): These bits shall be set to the command number
13: 8 (CMD0-63, ACMD0-63) that is specified in bits 45-40 of the Command-Format in the
RW Physical Layer Specification and SDIO Card Specification
Command Type (cmd_type): There are three types of special commands: Suspend,
Resume and Abort. These bits shall be set to 00b for all other commands.
(1) Suspend Command If the Suspend command succeeds, the Host Controller shall
assume the SD Bus has been released and that it is possible to issue the next command,
which uses the DAT line. The Host Controller shall de-assert Read Wait for read
transactions and stop checking busy for write transactions. The interrupt cycle shall
start, in 4-bit mode. If the Suspend command fails, the Host Controller shall maintain its
current state, and the Host Driver shall restart the transfer by setting Continue Request
in the Block Gap Control register.
00b (2) Resume Command The Host Driver re-starts the data transfer by restoring the
7: 6
RW registers in the range of 000-00Dh. The Host Controller shall check for busy before
starting write transfers.
(3) Abort Command If this command is set when executing a read transfer, the Host
Controller shall stop reads to the buffer. If this command is set when executing a write
transfer, the Host Controller shall stop driving the DAT line. After issuing the Abort
command, the Host Driver should issue a software reset.
11b Abort CMD12, CMD52 for writing I/O Abort in CCCR
10b Resume CMD52 for writing Function Select in CCCR
01b Suspend CMD52 for writing Bus Suspend in CCCR
00b Normal Other commands
Data Present Select (data_pr_sel): This bit is set to 1 to indicate that data is present
and shall be transferred using the DAT line. It is set to 0 for the following:
(1) Commands using only CMD line (ex. CMD52).
0b (2) Commands with no data transfer but using busy signal on DAT[0] line (R1b or R5b
5 ex. CMD38)
RW (3) Resume command
1 Data Present
0 No Data Present
Command CRC Check Enable (cmd_crc_chk_en): If this bit is set to 1, the Host
Controller shall check the CRC field in the response. If an error is detected, it is reported
0b as a Command CRC Error. If this bit is set to 0, the CRC field is not checked. The position
3 of CRC field is determined according to the length of the response. (Refer to definition in
RW D01-00 and Table 2-10 in the SD Host Controller Simplified Specification Version 3.00).
1 Enable
0 Disable
0h
2 Reserved (reserved): Reserved
RO
Access Method
Type: Memory Mapped I/O Register RESPONSE0: [BAR0] + 10h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cmd_resp
Bit Default &
Description
Range Access
Command Response (cmd_resp): Section 2.2.7 and Table 2-12 in the SD Host
0h Controller Simplified Specification Version 3.00 describe the mapping of command
31: 0 responses from the SD Bus to this register for each response type. In the table, R[]
RO refers to a bit range within the response data as transmitted on the SD Bus, REP[] refers
to a bit range within the Response register
Access Method
Type: Memory Mapped I/O Register RESPONSE2: [BAR0] + 14h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cmd_resp
Command Response (cmd_resp): Section 2.2.7 and Table 2-12 in the SD Host
0h Controller Simplified Specification Version 3.00 describe the mapping of command
31: 0 responses from the SD Bus to this register for each response type. In the table, R[]
RO refers to a bit range within the response data as transmitted on the SD Bus, REP[] refers
to a bit range within the Response register
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) RESPONSE4: [BAR0] + 18h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cmd_resp
Bit Default &
Description
Range Access
Command Response (cmd_resp): Section 2.2.7 and Table 2-12 in the SD Host
0h Controller Simplified Specification Version 3.00 describe the mapping of command
31: 0 responses from the SD Bus to this register for each response type. In the table, R[]
RO refers to a bit range within the response data as transmitted on the SD Bus, REP[] refers
to a bit range within the Response register
Access Method
Type: Memory Mapped I/O Register RESPONSE6: [BAR0] + 1Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cmd_resp
Command Response (cmd_resp): Section 2.2.7 and Table 2-12 in the SD Host
0h Controller Simplified Specification Version 3.00 describe the mapping of command
31: 0 responses from the SD Bus to this register for each response type. In the table, R[]
RO refers to a bit range within the response data as transmitted on the SD Bus, REP[] refers
to a bit range within the Response register
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) BUF_DATA_PORT: [BAR0] + 20h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buf_data
Bit Default &
Description
Range Access
0h Buffer Data (buf_data): The Host Controller buffer can be accessed through this 32-
31: 0 bit Data Port register. Refer to section 1.7 in the SD Host Controller Simplified
RW Specification Version 3.00
Access Method
Type: Memory Mapped I/O Register PRE_STATE: [BAR0] + 24h
(Size: 32 bits)
Default: 1FF00000h
31 28 24 20 16 12 8 4 0
0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rd_tx_active
crd_st_stable
wr_tx_active
dat_ln_active
reserved2
cmd_ln_sig_lvl
dat_sig_lvl
wr_prot_sw_pin_lvl
reserved1
buf_rd_en
data_ln_sig_lvl
cmd_inhibit_cmd
crd_ins
buf_wr_en
reserved
crd_det_pin_lvl
re_tune_req
cmd_inhibit_dat
Bit Default &
Description
Range Access
0h
31: 29 Reserved2 (reserved2): Reserved
RO
DAT[7:4] Line Signal Level (dat_sig_lvl): This status is used to check DAT line level
to recover from errors, and for debugging.
Fh D28 - DAT[7]
28: 25 D27 - DAT[6]
RO D26 - DAT[5]
D25 - DAT[4]
NOTE: This filed is not part of the SD Host Controller Specification v3.00.
1b CMD Line Signal Level (cmd_ln_sig_lvl): This status is used to check the CMD line
24
RO level to recover from errors, and for debugging.
DAT[3:0] Line Signal Level (data_ln_sig_lvl): This status is used to check the DAT
line level to recover from errors, and for debugging. This is especially useful in detecting
Fh the busy signal level from DAT[0].
23: 20 D23 - DAT[3]
RO D22 - DAT[2]
D21 - DAT[1]
D20 - DAT[0]
Write Protect Switch Pin Level (wr_prot_sw_pin_lvl): The Write Protect Switch is
0b supported for memory and combo cards. This bit reflects the inverse value of the
19 SD_WP pin.
RO 1 Write enabled (SD_WP=0)
0 Write protected (SD_WP=1)
Card Detect Pin Level (crd_det_pin_lvl): This bit reflects the inverse value of the
SD_CD_B pin. Debouncing is not performed on this bit. This bit may be valid when Card
0b State Stable is set to 1, but it is not guaranteed because of propagation delay. Use of
18
RO this bit is limited to testing since it must be debounced by software.
1 Card present (SD_CD_B=0)
0 No card present (SD_CD_B=1)
Card State Stable (crd_st_stable): This bit is used for testing. If it is 0, the Card
Detect Pin Level is not stable. If this bit is set to 1, it means the Card Detect Pin Level is
0b stable. No Card state can be detected by this bit is set to 1 and Card Inserted is set to 0.
17
RO The Software Reset For All in the Software Reset register shall not affect this bit.
1 No Card or Inserted (stable)
0 Reset or Debouncing (unstable)
Card Inserted (crd_ins): This bit indicates whether a card has been inserted. The
Host Controller shall debounce this signal so that the Host Driver will not need to wait
for it to stabilize. Changing from 0 to 1 generates a Card Insertion interrupt in the
Normal Interrupt Status register and changing from 1 to 0 generates a Card Removal
interrupt in the Normal Interrupt Status register. The Software Reset For All in the
Software Reset register shall not affect this bit. If a card is removed while its power is on
0b and its clock is oscillating, the Host Controller shall clear SD Bus Power in the Power
16
RO Control register and SD Clock Enable in the Clock Control register. When this bit is
changed from 1 to 0, the Host Controller shall immediately stop driving CMD and
DAT[3:0] (tri-state). In addition, the Host Driver should clear the Host Controller by the
Software Reset For All in Software Reset register. The card detect is active regardless of
the SD Bus Power.
1 Card Inserted
0 Reset or Debouncing or No Card
0h
15: 12 Reserved1 (reserved1): Reserved
RO
Buffer Read Enable (buf_rd_en): This status is used for non-DMA read transfers. The
Host Controller may implement multiple buffers to transfer data efficiently. This read
only flag indicates that valid data exists in the host side buffer. If this bit is 1, readable
0b data exists in the buffer. A change of this bit from 1 to 0 occurs when all the block data
11
RO is read from the buffer. A change of this bit from 0 to 1 occurs when block data is ready
in the buffer and generates the Buffer Read Ready interrupt.
1 Read enable
0 Read disable
Buffer Write Enable (buf_wr_en): This status is used for non-DMA write transfers.
The Host Controller can implement multiple buffers to transfer data efficiently. This read
only flag indicates if space is available for write data. If this bit is 1, data can be written
to the buffer. A change of this bit from 1 to 0 occurs when all the block data is written to
0b the buffer. A change of this bit from 0 to 1 occurs when top of block data can be written
10
RO to the buffer and generates the Buffer Write Ready interrupt. The Host Controller should
neither set Buffer Write Enable nor generate Buffer Write Ready Interrupt after the last
block data is written to the Buffer Data Port Register.
1 Write enable
0 Write disable
Read Transfer Active (rd_tx_active): This status is used for detecting completion of
a read transfer. (Refer to Section 3.12.3 in the SD Host Controller Simplified
Specification Version 3.00) This bit is set to 1 for either of the following conditions:
(1) After the end bit of the read command.
(2) When read operation is restarted by writing a 1 to Continue Request in the Block
Gap Control register.
0b This bit is cleared to 0 for either of the following conditions:
9 (1) When the last data block as specified by block length is transferred to the System.
RO (2) In case of ADMA2, end of read operation is designated by Descriptor Table.
(3) When all valid data blocks in the Host Controller have been transferred to the
System and no current block transfers are being sent as a result of the Stop At Block
Gap Request being set to 1.
A Transfer Complete interrupt is generated when this bit changes to 0.
1 Transferring data
0 No valid data
Write Transfer Active (wr_tx_active): This status indicates a write transfer is active.
If this bit is 0, it means no valid write data exists in the Host Controller. (Refer to Section
3.12.4 in the SD Host Controller Simplified Specification Version 3.00) This bit is set in
either of the following cases:
(1) After the end bit of the write command.
(2) When write operation is restarted by writing a 1 to Continue Request in the Block
Gap Control register.
This bit is cleared in either of the following cases:
0b (1) After getting the CRC status of the last data block as specified by the transfer count
8 (Single and Multiple) In case of ADMA2, transfer count is designated by Descriptor
RO Table.
(2) After getting the CRC status of any block where data transmission is about to be
stopped by a Stop At Block Gap Request.
During a write transaction, a Block Gap Event interrupt is generated when this bit is
changed to 0, as the result of the Stop At Block Gap Request being set. This status is
useful for the Host Driver in determining non DAT line commands can be issued during
write busy.
1 Transferring data
0 No valid data
0h
7: 4 Reserved (reserved): Reserved
RO
DAT Line Active (dat_ln_active): This bit indicates whether one of the DAT line on
SD Bus is in use.
(a) In the case of read transactions
This status indicates whether a read transfer is executing on the SD Bus. Changing this
value from 1 to 0 generates a Block Gap Event interrupt in the Normal Interrupt Status
register, as the result of the Stop At Block Gap Request being set. Refer to Section
3.12.3 for details on timing. This bit shall be set in either of the following cases:
(1) After the end bit of the read command.
(2) When writing a 1 to Continue Request in the Block Gap Control register to restart a
read transfer.
This bit shall be cleared in either of the following cases: (1) When the end bit of the last
data block is sent from the SD Bus to the Host Controller. In case of ADMA2, the last
block is designated by the last transfer of Descriptor Table.
(2) When a read transfer is stopped at the block gap initiated by a Stop At Block Gap
Request.
The Host Controller shall stop read operation at the start of the interrupt cycle of the
next block gap by driving Read Wait or stopping SD clock. If the Read Wait signal is
already driven (due to data buffer cannot receive data), the Host Controller can continue
to stop read operation by driving the Read Wait signal. It is necessary to support Read
Wait in order to use suspend / resume function.
0b (b) In the case of write transactions
2 This status indicates that a write transfer is executing on the SD Bus. Changing this
RO value from 1 to 0 generate a Transfer Complete interrupt in the Normal Interrupt Status
register. Refer to Section 3.12.4 for sequence details. This bit shall be set in either of the
following cases:
(1) After the end bit of the write command.
(2) When writing to 1 to Continue Request in the Block Gap Control register to continue
a write transfer.
This bit shall be cleared in either of the following cases:
(1) When the SD card releases write busy of the last data block. If SD card does not
drive busy signal for 8 SD Clocks, the Host Controller shall consider the card drive -Not
Busy-. In case of ADMA2, the last block is designated by the last transfer of Descriptor
Table.
(2) When the SD card releases write busy prior to waiting for write transfer as a result of
a Stop At Block Gap Request.
(c) Command with busy
This status indicates whether a command indicates busy (ex. erase command for
memory) is executing on the SD Bus. This bit is set after the end bit of the command
with busy and cleared when busy is de-asserted. Changing this bit from 1 to 0 generate
a Transfer Complete interrupt in the Normal Interrupt Status register. Refer Figure 2-11
to Figure 2-13 on SD Host Controller Simplified Specification Version 3.00.
1 DAT Line Active
0 DAT Line Inactive
Command Inhibit (DAT) (cmd_inhibit_dat): This status bit is generated if either the
DAT Line Active or the Read Transfer Active is set to 1. If this bit is 0, it indicates the
Host Controller can issue the next SD Command. Commands with busy signal belong to
0b Command Inhibit (DAT) (ex. R1b, R5b type). Changing from 1 to 0 generates a Transfer
1 Complete interrupt in the Normal Interrupt Status register. Note: The SD Host Driver
RO can save registers in the range of 000-00Dh for a suspend transaction after this bit has
changed from 1 to 0.
1 Cannot issue command which uses the DAT line
0 Can issue command which uses the DAT line
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
crd_det_sig_sel
data_tx_wid
sd8_bit_mode
dma_sel
crd_det_tst_lvl
led_ctl
hi_spd_en
Bit Default &
Description
Range Access
Card Detect Signal Selection (crd_det_sig_sel): This bit selects source for the card
detection. When the source for the card detection is switched, the interrupt should be
0b disabled during the switching period by clearing the Interrupt Status/Signal Enable
7 register in order to mask unexpected interrupt being caused by the glitch. The Interrupt
RW Status/Signal Enable should be disabled during over the period of debouncing.
1 The Card Detect Test Level is selected (for test purpose)
0 SD_CD_B is selected (for normal use)
Card Detect Test Level (crd_det_tst_lvl): This bit is enabled while the Card Detect
0h Signal Selection is set to 1 and it indicates card inserted or not. Generates (card ins or
6 card removal) interrupt when the normal int sts enable bit is set.
RW 1 - Card Inserted
0 - No Card
Extended Data Transfer Width (sd8_bit_mode): This bit controls 8-bit bus width
mode for embedded device. Support of this function is indicated in 8-bit Support for
Embedded Device in the Capabilities register. If a device supports 8-bit bus mode, this
0h bit may be set to 1. If this bit is 0, bus width is controlled by Data Transfer Width in the
5 Host Control 1 register. This bit is not effective when multiple devices are installed on a
RW bus slot (Slot Type is set to 10b in the Capabilities register). In this case, each device
bus width is controlled by Bus Width Preset field in the Shared Bus Control register.
1 8-bit Bus Width
0 Bus Width is Selected by Data Transfer Width
DMA Select (dma_sel): One of supported DMA modes can be selected. The host driver
shall check support of DMA modes by referring the Capabilities register.
00 - SDMA is selected
00b 01 - 32-bit Address ADMA1 is selected
4: 3
RW 10 - 32-bit Address ADMA2 is selected
11 - 64-bit Address ADMA2 is selected
NOTE: Codes 01 and 11 are not part of the SD Host Controller Simplified Specification
Version 3.00
High Speed Enable (hi_spd_en): This bit is optional. Before setting this bit, the HD
shall check the High Speed Support in the capabilities register. If this bit is set to 0
(default), the HC outputs CMD line and DAT lines at the falling edge of the SD clock (up
to 25 MHz/ 20MHz for MMC). If this bit is set to 1, the HC outputs CMD line and DAT
0b lines at the rising edge of the SD clock (up to 50 MHz for SD/52MHz for MMC)/ 208Mhz
2
RW (for SD3.0) If Preset Value Enable in the Host Control 2 register is set to 1, Host Driver
needs to reset SD Clock Enable before changing this field to avoid generating clock
glitches. After setting this field, the Host Driver sets SD Clock Enable again
1 - High Speed Mode
0 - Normal Speed Mode
Data Transfer Width (SD1 or SD4) (data_tx_wid): This bit selects the data width of
0h the Host Controller. The Host Driver shall set it to match the data width of the SD card.
1
RW 1 4-bit mode
0 1-bit mode
LED Control (led_ctl): This bit is used to caution the user not to remove the card while
the SD card is being accessed. If the software is going to issue multiple SD commands,
0h this bit can be set during all these transactions. It is not necessary to change for each
0
RW transaction.
1 LED on
0 LED off
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
sd_bus_volt_sel
sd_bus_pwr
rsvd
hw_rst
0h
7: 5 RSVD (rsvd): Reserved
RO
0b HW reset (hw_rst): Hardware reset signal is generated for eMMC4.4 card when this
4 bit is set.
RW NOTE: Not part of the SD Host Controller Simplified Specification Version 3.00
SD Bus Voltage Select (sd_bus_volt_sel): By setting these bits, the Host Driver
selects the voltage level for the SD card. Before setting this register, the Host Driver
0h shall check the Voltage Support bits in the Capabilities register. If an unsupported
3: 1 voltage is selected, the Host System shall not supply SD Bus voltage.
RW 111 3.3V (Typ.)
110 Reserved
101 Reserved
SD Bus Power (sd_bus_pwr): Before setting this bit, the SD Host Driver shall set SD
Bus Voltage Select. If the Host Controller detects the No Card state, this bit shall be
0b cleared. If this bit is cleared, the Host Controller shall immediately stop driving CMD and
0 DAT[3:0] (tri-state) and drive SDCLK to low level (Refer to Section 2.2.14 of SD Host
RW Controller Simplified Specification Version 3.00).
1 Power on
0 Power off
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
rd_wait_ctl
int_blk_gap
rsvd
alt_boot_en
boot_en
cont_req
spi_mode
stp_blk_gap_req
Bit Default &
Description
Range Access
0b
7 RSVD (rsvd): Reserved
RO
Alternate Boot Mode Enable (alt_boot_en): To start boot code access in alternative
0b mode.
6 1 - To start alternate boot mode access
RW 0 - To stop alternate boot mode access
NOTE: Not part of the SD Host Controller Simplified Specification Version 3.00
Interrupt At Block Gap (int_blk_gap): This bit is valid only in 4-bit mode of the
SDIO card and selects a sample point in the interrupt cycle. Setting to 1 enables
interrupt detection at the block gap for a multiple block transfer. Setting to 0 disables
0b interrupt detection during a multiple block transfer. If the SD card cannot signal an
3 interrupt during a multiple block transfer, this bit should be set to 0. When the Host
RW Driver detects an SD card insertion, it shall set this bit according to the CCCR of the
SDIO card.
1 Enabled
0 Disabled
Read Wait Control (rd_wait_ctl): The read wait function is optional for SDIO cards.
If the card supports read wait, set this bit to enable use of the read wait protocol to stop
read data using the DAT[2] line. Otherwise, the Host Controller has to stop the SD Clock
0b to hold read data, which restricts commands generation. When the Host Driver detects
2 an SD card insertion, it shall set this bit according to the CCCR of the SDIO card. If the
RW card does not support read wait, this bit shall never be set to 1 otherwise DAT line
conflict may occur. If this bit is set to 0, Suspend/Resume cannot be supported.
1 Enable Read Wait Control
0 Disable Read Wait Control
Continue Request (cont_req): This bit is used to restart a transaction, which was
stopped using the Stop At Block Gap Request. To cancel stop at the block gap, set Stop
At Block Gap Request to 0 and set this bit 1 to restart the transfer. The Host Controller
automatically clears this bit in either of the following cases: (1) In the case of a read
0b transaction, the DAT Line Active changes from 0 to 1 as a read transaction restarts.
1 (2) In the case of a write transaction, the Write Transfer Active changes from 0 to 1 as
RW the write transaction restarts.
Therefore, it is not necessary for Host Driver to set this bit to 0. If Stop At Block Gap
Request is set to 1, any write to this bit is ignored.
1 Restart
0 Not affect
Stop At Block Gap Request (stp_blk_gap_req): This bit is used to stop executing
read and write transaction at the next block gap for non-DMA, SDMA and ADMA
transfers. The Host Driver shall leave this bit set to 1 until the Transfer Complete is set
to 1. Clearing both Stop At Block Gap Request and Continue Request shall not cause the
transaction to restart. When Host Controller version is 1.00, the Host Driver can set this
bit if the card supports Read Wait Control. When Host Controller version is 2.00 or later,
0b the Host Driver can set this bit regardless of the card supports Read Wait Control. The
0 Host Controller shall stop read transfer by using Read Wait or stopping SD clock. In case
RW of write transfers in which the Host Driver writes data to the Buffer Data Port register,
the Host Driver shall set this bit after all block data is written. If this bit is set to 1, the
Host Driver shall not write data to Buffer Data Port register. This bit affects Read
Transfer Active, Write Transfer Active, DAT Line Active and Command Inhibit (DAT) in
the Present State register.
1 Stop
0 Transfer
Access Method
Type: Memory Mapped I/O Register CLK_CTL: [BAR0] + 2Ch
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
clk_gen_sel
sdclk_freq_sel
upr_sdclk_freq_sel
int_clk_stable
rsvd
sd_clk_en
int_clk_en
Clock Generator Select (clk_gen_sel): This bit is used to select the clock generator
mode in SDCLK Frequency Select. If the Programmable Clock Mode is supported (non-
zero value is set to Clock Multiplier in the Capabilities register), this bit attribute is RW,
0b and if not supported, this bit attribute is RO and zero is read. This bit depends on the
5 setting of Preset Value Enable in the Host Control 2 register. If the Preset Value Enable =
RW 0, this bit is set by Host Driver. If the Preset Value Enable = 1, this bit is automatically
set to a value specified in one of Preset Value registers.
1 Programmable Clock Mode
0 Divided Clock Mode
00b
4: 3 RSVD (rsvd): Reserved
RO
SD Clock Enable (sd_clk_en): The Host Controller shall stop SDCLK when writing this
bit to 0. SDCLK Frequency Select can be changed when this bit is 0. Then, the Host
0b Controller shall maintain the same clock frequency until SDCLK is stopped (Stop at
2 SDCLK=0). If the Card Inserted in the Present State register is cleared, this bit shall be
RW cleared.
1 Enable
0 Disable
Internal Clock Stable (int_clk_stable): This bit is set to 1 when SD Clock is stable
after writing to Internal Clock Enable in this register to 1. The SD Host Driver shall wait
0b to set SD Clock Enable until this bit is set to 1. Note: This is useful when using PLL for a
1
RO clock oscillator that requires setup time.
1 Ready
0 Not Ready
Internal Clock Enable (int_clk_en): This bit is set to 0 when the Host Driver is not
using the Host Controller or the Host Controller awaits a wakeup interrupt. The Host
Controller should stop its internal clock to go very low power state. Still, registers shall
0b be able to be read and written. Clock starts to oscillate when this bit is set to 1. When
0
RW clock oscillation is stable, the Host Controller shall set Internal Clock Stable in this
register to 1. This bit shall not affect card detection.
1 Oscillate
0 Stop
Access Method
Type: Memory Mapped I/O Register TIMEOUT_CTL: [BAR0] + 2Eh
(Size: 8 bits)
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
data_timeout_cnt_val
reserved
0h
7: 4 Reserved (reserved): Reserved
RO
Access Method
Type: Memory Mapped I/O Register SW_RST: [BAR0] + 2Fh
(Size: 8 bits)
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
sw_rst_dat_ln
sw_rst_cmd_ln
sw_rst_all
rsvd
0h
7: 3 RSVD (rsvd): Reserved
RO
Software Reset For DAT Line (sw_rst_dat_ln): Only part of data circuit is reset.
The following registers and bits are cleared by this bit:
- Buffer Data Port Register: Buffer is cleared and Initialized.
- Present State register
Buffer read Enable
Buffer write Enable
Read Transfer Active
Write Transfer Active
DAT Line Active
0b Command Inhibit (DAT)
2
RW - Block Gap Control register
Continue Request
Stop At Block Gap Request
- Normal Interrupt Status register
Buffer Read Ready
Buffer Write Ready
Block Gap Event
Transfer Complete
1 - Reset
0 - Work
Software Reset For CMD Line (sw_rst_cmd_ln): Only part of command circuit is
reset. The following registers and bits are cleared by this bit:
- Present State register
0h Command Inhibit (CMD)
1
RW - Normal Interrupt Status register
Command Complete
1 Reset
0 Work
Software Reset For All (sw_rst_all): This reset affects the entire Host Controller
except for the card detection circuit. Register bits of type ROC, RW, RW1C, RWAC are
cleared to 0. During its initialization, the Host Driver shall set this bit to 1 to reset the
0b Host Controller. The Host Controller shall reset this bit to 0 when Capabilities registers
0 are valid and the Host Driver can read them. Additional use of Software Reset For All
RW may not affect the value of the Capabilities registers. If this bit is set to 1, the host
driver should issue reset command and reinitialize the SD card.
1 Reset
0 Work
Access Method
Type: Memory Mapped I/O Register NML_INT_STATUS: [BAR0] + 30h
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
boot_ter_int
buf_rd_rdy
err_int
boot_ck_rcv
int_a
crd_int
buf_wr_rdy
dma_int
blk_gap_event
int_c
crd_ins
re_tune
int_b
tx_comp
cmd_comp
crd_rm
Bit Default &
Description
Range Access
0b Error Interrupt (err_int): If any of the bits in the Error Interrupt Status Register are
15 set, then this bit is set. Therefore the HD can test for an error by checking this bit first.
RO 0 - No Error. 1 - Error.
0h Boot Terminate Interrupt (boot_ter_int): This status is set if the boot operation get
14 terminated. 0 - Boot operation is not terminated. 1 - Boot operation is terminated
RW/1C NOTE: Not part of the SD Host Controller Simplified Specification Version 3.00
Re-Tuning Event (re_tune): This status is set if Re-Tuning Request in the Present
0h State register changes from 0 to 1. Host Controller requests Host Driver to perform re-
12 tuning for next data transfer. Current data transfer (not large block count) can be
RO completed without re-tuning. 1 - Re-Tuning should be performed, 0 - Re-Tuning is not
required
0h INT_C (int_c): This status is set if INT_C is enabled and INT_C# pin is in low level.
11 Writing this bit to 1 does not clear this bit. It is cleared by resetting the INT_C interrupt
RO factor
0h INT_B (int_b): This status is set if INT_B is enabled and INT_B# pin is in low level.
10 Writing this bit to 1 does not clear this bit. It is cleared by resetting the INT_B interrupt
RO factor
0h INT_A (int_a): This status is set if INT_A is enabled and INT_A# pin is in low level.
9 Writing this bit to 1 does not clear this bit. It is cleared by resetting the INT_A interrupt
RO factor
Card Interrupt (crd_int): Writing this bit to 1 does not clear this bit. It is cleared by
resetting the SD card interrupt factor. In 1-bit mode, the HC shall detect the Card
Interrupt without SD Clock to support wakeup. In 4-bit mode, the card interrupt signal
is sampled during the interrupt cycle, so there are some sample delays between the
interrupt signal from the card and the interrupt to the Host system. when this status has
been set and the HD needs to start this interrupt service, Card Interrupt Status Enable
0b in the Normal Interrupt Status register shall be set to 0 in order to clear the card
8 interrupt statuses latched in the HC and stop driving the Host System. After completion
RO of the card interrupt service (the reset factor in the SD card and the interrupt signal
may not be asserted), set Card Interrupt Status Enable to 1 and start sampling the
interrupt signal again. Interrupt detected by DAT[1] is supported when there is a card
per slot. In case of shared bus, interrupt pins are used to detect interrupts. If 000b is
set to Interrupt Pin Select in the Shared Bus Control register, this status is effective.
Non-zero value is set to Interrupt Pin Select, INT_A, INT_B or INT_C is then used to
device interrupts. 0 - No Card Interrupt, 1 - Generate Card Interrupt
Card Removal (crd_rm): This status is set if the Card Inserted in the Present State
0b register changes from 1 to 0. When the HD writes this bit to 1 to clear this status the
7 status of the Card Inserted in the Present State register should be confirmed. Because
RW/1C the card detect may possibly be changed when the HD clear this bit an Interrupt event
may not be generated. 0 - Card State Stable or Debouncing, 1 - Card Removed
Card Insertion (crd_ins): This status is set if the Card Inserted in the Present State
0b register changes from 0 to 1. When the HD writes this bit to 1 to clear this status the
6 status of the Card Inserted in the Present State register should be confirmed. Because
RW/1C the card detect may possibly be changed when the HD clear this bit an Interrupt event
may not be generated. 0 - Card State Stable or Debouncing, 1 - Card Inserted
0b Buffer Read Ready (buf_rd_rdy): This status is set if the Buffer Read Enable changes
5 from 0 to 1. Buffer Read Ready is set to 1 for every CMD19 execution in tuning
RW/1C procedure. 0 - Not Ready to read Buffer. 1 - Ready to read Buffer.
0b Buffer Write Ready (buf_wr_rdy): This status is set if the Buffer Write Enable
4
RW/1C changes from 0 to 1. 0 - Not Ready to Write Buffer. 1 - Ready to Write Buffer.
0b DMA Interrupt (dma_int): This status is set if the HC detects the Host DMA Buffer
3 Boundary in the Block Size register. 0 - No DMA Interrupt, 1 - DMA Interrupt is
RW/1C Generated
Block Gap Event (blk_gap_event): If the Stop At Block Gap Request in the Block Gap
Control Register is set, this bit is set. Read Transaction: This bit is set at the falling edge
0b of the DAT Line Active Status (When the transaction is stopped at SD Bus timing. The
2
RW/1C Read Wait must be supported in order to use this function). Write Transaction: This bit is
set at the falling edge of Write Transfer Active Status (After getting CRC status at SD
Bus timing). 0 - No Block Gap Event, 1 - Transaction stopped at Block Gap
Transfer Complete (tx_comp): This bit is set when a read / write transfer and a
command with busy is completed.
(1) In the case of a Read Transaction
This bit is set at the falling edge of Read Transfer Active Status. This interrupt is
generated in two cases. The first is when a data transfer is completed as specified by
data length (After the last data has been read to the Host System). The second is when
data has stopped at the block gap and completed the data transfer by setting the Stop
At Block Gap Request in the Block Gap Control register (After valid data has been read
to the Host System). Refer to Section 3.12.3 of SD Host Controller Simplified
Specification Version 3.00 for more details on the sequence of events.
(2) In the case of a Write Transaction
This bit is set at the falling edge of the DAT Line Active Status. This interrupt is
generated in two cases. The first is when the last data is written to the SD card as
0b specified by data length and the busy signal released. The second is when data transfers
1
RW/1C are stopped at the block gap by setting Stop At Block Gap Request in the Block Gap
Control register and data transfers completed. (After valid data is written to the SD card
and the busy signal released). Refer to Section 3.12.4 for more details on the sequence
of events.
(3) In the case of a command with busy
This bit is set when busy is de-asserted. Refer to DAT Line Active and Command Inhibit
(DAT) in the Present State register. Table on page 66 of SD Host Controller Simplified
Specification Version 3.00, Relation between Transfer Complete and Data Timeout Error,
shows that Transfer Complete has higher priority than Data Timeout Error. If both bits
are set to 1, execution of a command can be considered to be completed.
1 Command execution is completed
0 Not complete
While performing tuning procedure (Execute Tuning is set to 1), Transfer Complete is
not set to 1.
Command Complete (cmd_comp): This bit is set when get the end bit of the
command response. Auto CMD12 and Auto CMD23 consist of two responses. Command
Complete is not generated by the response of CMD12 or CMD23 but generated by the
response of a read/write command. Refer to Command Inhibit (CMD) in the Present
0b State register for how to control this bit. Table on page 67 of SD Host Controller
0
RW/1C Simplified Specification Version 3.00, Relation between command complete and
command time-out error, shows that Command Timeout Error has higher priority than
Command Complete. If both bits are set to 1, it can be considered that the response
was not received correctly.
1 Command complete 0 No command complete
Access Method
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
vend_spec_err_status
adma_err
data_end_bit_err
cmd_timeout_err
ceata_err
tgt_rsp_err
tune_err
cmd12_err
data_crc_err
data_timeout_err
cur_limit_err
cmd_index_err
cmd_end_bit_err
cmd_crc_err
rsvd
00b
15: 14 Vendor Specific Error Status (vend_spec_err_status): Reserved
RW
0b CEATA Error Status (ceata_err): Occurs when ATA command termination has
13 occurred due to an error condition the device has encountered. 0 - no error, 1 - error
RW NOTE: Not part of the SD Host Controller Simplified Specification Version 3.00
0b
11 RSVD (rsvd): Reserved
RO
Tuning Error (tune_err): This bit is set when an unrecoverable error is detected in a
tuning circuit except during tuning procedure (Occurrence of an error during tuning
procedure is indicated by Sampling Select). By detecting Tuning Error, Host Driver needs
0b to abort a command executing and perform tuning. To reset tuning circuit, Sampling
10 Clock shall be set to 0 before executing tuning procedure. The Tuning Error is higher
RW priority than the other error interrupts generated during data transfer. By detecting
Turning Error, the Host Driver should discard data transferred by a current read/write
command and retry data transfer after the Host Controller retrieved from tuning circuit
error. 1 - Error, 0 - No Error
0b ADMA Error (adma_err): This bit is set when the Host Controller detects errors during
9 ADMA based data transfer. The state of the ADMA at an error occurrence is saved in the
RW ADMA Error Status Register. 1 - Error, 0 - No Error
Auto CMD Error (cmd12_err): Auto CMD12 and Auto CMD23 use this error status.
0b This bit is set when detecting that one of the bits D00-D04 in Auto CMD Error Status
8 register has changed from 0 to 1. In case of Auto CMD12, this bit is set to 1, not only
RW when the errors in Auto CMD12 occur but also when Auto CMD12 is not executed due to
the previous command error. 0 - No Error, 1 - Error
Current Limit Error (cur_limit_err): By setting the SD Bus Power bit in the Power
Control Register, the HC is requested to supply power for the SD Bus. If the HC supports
0b the Current Limit Function, it can be protected from an Illegal card by stopping power
7 supply to the card in which case this bit indicates a failure status. Reading 1 means the
RW HC is not supplying power to SD card due to some failure. Reading 0 means that the HC
is supplying power and no error has occurred. This bit shall always set to be 0, if the HC
does not support this function. 0 - No Error, 1 - Power Fail
0b Data End Bit Error (data_end_bit_err): Occurs when detecting 0 at the end bit
6 position of read data which uses the DAT line or the end bit position of the CRC status. 0
RW - No Error, 1 - Error
0b Data CRC Error (data_crc_err): Occurs when detecting CRC error when transferring
5 read data which uses the DAT line or when detecting the Write CRC Status having a
RW value of other than 010. 0 - No Error, 1 - Error
0b Command End Bit Error (cmd_end_bit_err): Occurs when detecting that the end bit
2
RW of a command response is 0. 0 - No Error, 1 - End Bit Error Generated
Command CRC Error (cmd_crc_err): Command CRC Error is generated in two cases.
1. If a response is returned and the Command Time-out Error is set to 0, this bit is set
to 1 when detecting a CRT error in the command response 2. The HC detects a CMD line
0b conflict by monitoring the CMD line when a command is issued. If the HC drives the CMD
1
RW line to 1 level, but detects 0 level on the CMD line at the next SDCLK edge, then the HC
shall abort the command (Stop driving CMD line) and set this bit to 1. The Command
Time-out Error shall also be set to 1 to distinguish CMD line conflict. 0 - No Error, 1 -
CRC Error Generated
Access Method
Type: Memory Mapped I/O Register NRM_INT_STATUS_EN: [BAR0] + 34h
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
fixed_0
boot_ack_rcv_stat_en
buf_rd_rdy_stat_en
blk_gap_event_stat_en
cmd_comp_stat_en
int_b_stat_en
int_a_stat_en
crd_int_stat_en
boot_ter_int_stat_en
re_tune_stat_en
int_c_stat_en
crd_rm_stat_en
tx_comp_stat_en
crd_ins_stat_en
buf_wr_rdy_stat_en
dma_int_stat_en
0h Fixed to 0 (fixed_0): The HC shall control error Interrupts using the Error Interrupt
15
RO Status Enable register.
0h
12 Re-Tuning Event Status Enable (re_tune_stat_en): 0 - Masked, 1 - Enabled
RW
INT_C Status Enable (int_c_stat_en): If this bit is set to 0, the Host Controller shall
0h clear the interrupt request to the System. The Host Driver may clear this bit before
11
RW servicing the INT_C and may set this bit again after all interrupt requests to INT_C pin
are cleared to prevent inadvertent interrupts.
INT_B Status Enable (int_b_stat_en): If this bit is set to 0, the Host Controller shall
0h clear the interrupt request to the System. The Host Driver may clear this bit before
10
RW servicing the INT_B and may set this bit again after all interrupt requests to INT_B pin
are cleared to prevent inadvertent interrupts.
INT_A Status Enable (int_a_stat_en): If this bit is set to 0, the Host Controller shall
0h clear the interrupt request to the System. The Host Driver may clear this bit before
9
RW servicing the INT_A and may set this bit again after all interrupt requests to INT_A pin
are cleared to prevent inadvertent interrupts.
Card Interrupt Status Enable (crd_int_stat_en): If this bit is set to 0, the HC shall
clear Interrupt request to the System. The Card Interrupt detection is stopped when this
0b bit is cleared and restarted when this bit is set to 1. The HD may clear the Card
8
RW Interrupt Status Enable before servicing the Card Interrupt and may set this bit again
after all Interrupt requests from the card are cleared to prevent inadvertent Interrupts.
0 - Masked, 1 - Enabled
0h
7 Card Removal Status Enable (crd_rm_stat_en): 0 - Masked, 1 - Enabled
RW
0h
6 Card Insertion Status Enable (crd_ins_stat_en): 0 - Masked, 1 - Enabled
RW
0h
5 Buffer Read Ready Status Enable (buf_rd_rdy_stat_en): 0 - Masked, 1 - Enabled
RW
0h
4 Buffer Write Ready Status Enable (buf_wr_rdy_stat_en): 0 - Masked, 1 - Enabled
RW
0h
3 DMA Interrupt Status Enable (dma_int_stat_en): 0 - Masked, 1 - Enabled
RW
0h
2 Block Gap Event Status Enable (blk_gap_event_stat_en): 0 - Masked, 1 - Enabled
RW
0h
1 Transfer Complete Status Enable (tx_comp_stat_en): 0 - Masked, 1 - Enabled
RW
0h
0 Command Complete Status Enable (cmd_comp_stat_en): 0 - Masked, 1 - Enabled
RW
Access Method
Type: Memory Mapped I/O Register
(Size: 16 bits) ERR_INT_STAT_EN: [BAR0] + 36h
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ceata_err_en
data_timeout_err_stat_en
tgt_rsp_err_en
tune_err_stat_en
adma_err_stat_en
cmd12_err_stat_en
data_end_bit_err_stat_en
cmd_crc_err_stat_en
cur_limit_err_stat_en
data_crc_err_stat_en
cmd_ind_err_stat_en
cmd_end_bit_err_stat_en
cmd_timeout_err_stat_en
rsvd
rsvd0
0b
15: 14 Vendor Specific Error Status Enable (rsvd0): Reserved
RO
0b CEATA Error Status Enable (ceata_err_en): 0 - Masked, 1 - Enabled NOTE: Not part
13
RW of the SD Host Controller Simplified Specification Version 3.00
0h
11 RSVD (rsvd): Reserved
RO
0h
10 Tuning Error Status Enable (tune_err_stat_en): 0 - Masked, 1 - Enabled
RW
0h
9 ADMA Error Status Enable (adma_err_stat_en): 0 - Masked, 1 - Enabled
RW
0h
8 Auto CMD12 Error Status Enable (cmd12_err_stat_en): 0 - Masked, 1 - Enabled
RW
0h
5 Data CRC Error Status Enable (data_crc_err_stat_en): 0 - Masked, 1 - Enabled
RW
Access Method
Type: Memory Mapped I/O Register NRM_INT_SIG_EN: [BAR0] + 38h
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
blk_gap_event_sig_en
fixed_0
re_tune_sig_en
boot_ack_rcv_sig_en
int_c_sig_en
buf_wr_rdy_sig_en
int_b_sig_en
crd_ins_sig_en
buf_rd_rdy_sig_en
tx_comp_sig_en
cmd_comp_sig_en
boot_ter_int_sig_en
int_a_sig_en
crd_int_sig_en
crd_rm_sig_en
dma_int_sig_en
Bit Default &
Description
Range Access
0h Fixed to 0 (fixed_0): The HD shall control error Interrupts using the Error Interrupt
15
RO Signal Enable register.
0h
12 Re-Tuning Event Signal Enable (re_tune_sig_en): 0 - Masked, 1 - Enabled
RW
0h
11 INT_C Signal Enable (int_c_sig_en): 0 - Masked, 1 - Enabled
RW
0h
10 INT_B Signal Enable (int_b_sig_en): 0 - Masked, 1 - Enabled
RW
0h
9 INT_A Signal Enable (int_a_sig_en): Reserved.
RW
0h
8 Card Interrupt Signal Enable (crd_int_sig_en): 0 - Masked, 1 - Enabled
RW
0h
7 Card Removal Signal Enable (crd_rm_sig_en): 0 - Masked, 1 - Enabled
RW
0h
6 Card Insertion Signal Enable (crd_ins_sig_en): 0 - Masked, 1 - Enabled
RW
0h
5 Buffer Read Ready Signal Enable (buf_rd_rdy_sig_en): 0 - Masked, 1 - Enabled
RW
0h
4 Buffer Write Ready Signal Enable (buf_wr_rdy_sig_en): 0 - Masked, 1 - Enabled
RW
0h
3 DMA Interrupt Signal Enable (dma_int_sig_en): 0 - Masked, 1 - Enabled
RW
0h
2 Block Gap Event Signal Enable (blk_gap_event_sig_en): 0 - Masked, 1 - Enabled
RW
0h
1 Transfer Complete Signal Enable (tx_comp_sig_en): 0 - Masked, 1 - Enabled
RW
0h
0 Command Complete Signal Enable (cmd_comp_sig_en): 0 - Masked, 1 - Enabled
RW
Access Method
Type: Memory Mapped I/O Register
(Size: 16 bits) ERR_INT_SIG_EN: [BAR0] + 3Ah
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ceata_err_sig_en
cur_limit_err_sig_en
tgt_err_rsp_sig_en
adma_err_sig_en
data_end_bit_err_sig_en
data_timeout_err_stat_en
cmd_end_bit_err_stat_en
cmd_crc_err_stat_en
cmd12_err_sig_en
data_crc_err_sig_en
cmd_ind_err_stat_en
cmd_timeout_err_stat_en
rsvd
tune_err_sig
rsvd0
0b
15: 14 Vendor Specific Error Signal Enable (rsvd0): Reserved
RO
0h
11 RSVD (rsvd): Reserved
RO
0h
10 Tuning Error Signal Enable (tune_err_sig): 0 - Masked, 1 - Enabled
RW
0h
9 ADMA Error Signal Enable (adma_err_sig_en): 0 - Masked, 1 - Enabled
RW
0h
8 Auto CMD12 Error Signal Enable (cmd12_err_sig_en): 0 - Masked, 1 - Enabled
RW
0h
7 Current Limit Error Signal Enable (cur_limit_err_sig_en): 0 - Masked, 1 - Enabled
RW
0h
5 Data CRC Error Signal Enable (data_crc_err_sig_en): 0 - Masked, 1 - Enabled
RW
Access Method
Type: Memory Mapped I/O Register CMD12_ERR_STAT: [BAR0] + 3Ch
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rsvd1
cmd_not_iss_cmd12_err
rsvd2
cmd12_ind_err
cmd12_crc_err
cmd12_timeout_err
cmd12_end_bit_err
cmd12_not_exe
0h
15: 8 RSVD1 (rsvd1): Reserved
RO
0h
6: 5 RSVD2 (rsvd2): Reserved
RO
0b Auto CMD Index Error (cmd12_ind_err): Occurs if the Command Index error occurs
4
RO in response to a command. 0 - No Error, 1 - Error
0b Auto CMD End Bit Error (cmd12_end_bit_err): Occurs when detecting that the end
3
RO bit of command response is 0. 0 - No Error, 1 - End Bit Error Generated
0b Auto CMD CRC Error (cmd12_crc_err): Occurs when detecting a CRC error in the
2
RO command response. 0 - No Error, 1 - CRC Error Generated
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
execute_tuning
driver_strength
vl
preset_value
uhs_mode
async_int
rsvd0
sampling_clock
Preset Value Enable (preset_value): Host Controller Version 3.00 supports this bit.
As the operating SDCLK frequency and I/O driver strength depend on the Host System
implementation, it is difficult to determine these parameters in the Standard Host
Driver. When Preset Value Enable is set to automatic This bit enables the functions
0b defined in the Preset Value registers. 1 Automatic Selection by Preset Value are Enabled
15 0 SDCLK and Driver Strength are controlled by Host Driver If this bit is set to 0, SDCLK
RW Frequency Select, Clock Generator Select in the Clock Control register and Driver
Strength Select in Host Control 2 register are set by Host Driver. If this bit is set to 1,
SDCLK Frequency Select, Clock Generator Select in the Clock Control register and Driver
Strength Select in Host Control 2 register are set by Host Controller as specified in the
Preset Value registers.
00h
13: 8 RSVD0 (rsvd0): Reserved
RO
Sampling Clock Select (sampling_clock): This bit is set by tuning procedure when
Execute Tuning is cleared. Writing 1 to this bit is meaningless and ignored. Setting 1
0b means that tuning is completed successfully and setting 0 means that tuning is failed.
7 Host Controller uses this bit to select sampling clock to receive CMD and DAT. This bit is
RW cleared by writing 0. Change of this bit is not allowed while the Host Controller is
receiving response or a read data block. 1 Tuned clock is used to sample data, 0 Fixed
clock is used to sample data
Execute Tuning (execute_tuning): This bit is set to 1 to start tuning procedure and
0b automatically cleared when tuning procedure is completed. The result of tuning is
6
RW/AC indicated to Sampling Clock Select. Tuning procedure is aborted by writing 0 for more
detail about tuning procedure. 1 Execute Tuning, 0 Not Tuned or Tuning Completed
0b
3 Reserved (vl): Reserved
RO
UHS Mode Select (uhs_mode): This field is used to select one of UHS-I modes and
effective when 1.8V Signaling Enable is set to 1. If Preset Value Enable in the Host
Control 2 register is set to 1, Host Controller sets SDCLK Frequency Select, Clock
Generator Select in the Clock Control register and Driver Strength Select according to
0b Preset Value registers. In this case, one of preset value registers is selected by this field.
2: 0 Host Driver needs to reset SD Clock Enable before changing this field to avoid
RW generating clock glitch. After setting this field, Host Driver sets SD Clock Enable again.
000b - SDR12, 001b - SDR25, 010b - SDR50, 011b - SDR104, 100b - DDR50, 101b -
111 Reserved. When SDR50, SDR104 or DDR50 is selected for SDIO card, interrupt
detection at the block gap shall not be used. Read Wait timing is changed for these
modes. Refer to the SDIO Specification Version 3.00 for more detail.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) CAPABILITIES: [BAR0] + 40h
Default: 01EC32B2h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0
timeout_clock_frequency
async_int_support
adma2_support
base_clock_frequency_sd_clk
sys_bus_support_64b
volt_support_1p8v
volt_support_3p0v
volt_support_3p3v
suspend_resume_support
sdma_support
high_speed_support
extended_media_bus_support
max_block_length
timeout_clock_unit
slot_type
rsvd4
rsvd5
rsvd6
Bit Default &
Description
Range Access
Slot Type (slot_type): This field indicates usage of a slot by a specific Host System. (A
host controller register set is defined per slot.) Embedded slot for one device (01b)
means that only one non-removable device is connected to a SD bus slot. Shared Bus
0b Slot (10b) can be set if Host Controller supports Shared Bus Control register. The
31: 30 Standard Host Driver controls only a removable card or one embedded device is
RO connected to a SD bus slot. If a slot is configured for shared bus (10b), the Standard
Host Driver does not control embedded devices connected to a shared bus. Shared bus
slot is controlled by a specific host driver developed by a Host System. 00b - Removable
Card Slot, 01b - Embedded Slot for One Device, 10b - Shared Bus Slot, 11b - Reserved
0b
27 RSVD4 (rsvd4): Reserved
RO
1b SDMA Support (sdma_support): This bit indicates whether the HC is capable of using
22 DMA to transfer data between system memory and the HC directly. 0 - SDMA Not
RO Supported, 1 - SDMA Supported.
High Speed Support (high_speed_support): This bit indicates whether the HC and
1b the Host System support High Speed mode and they can supply SD Clock frequency
21
RO from 25MHz to 50 MHz (for SD)/ 20MHz to 52MHz (for MMC). 0 - High Speed Not
Supported, 1 - High Speed Supported
0b
20 RSVD5 (rsvd5): Reserved
RO
1b
19 ADMA2 Support (adma2_support): 1 - ADMA2 support. 0 - ADMA2 not support
RO
Max Block Length (max_block_length): This value indicates the maximum block
00b size that the HD can read and write to the buffer in the HC. The buffer shall transfer this
17: 16
RO block size without wait cycles. Three sizes can be defined as indicated below. 00 - 512
byte, 01 - 1024 byte, 10 - 2048 byte, 11 - 4096 byte
1b Timeout Clock Unit (timeout_clock_unit): This bit shows the unit of base clock
7
RO frequency used to detect Data Timeout Error. 0 - KHz, 1 - MHz
0b
6 RSVD6 (rsvd6): Reserved
RO
32h Timeout Clock Frequency (timeout_clock_frequency): This bit shows the base
5: 0 clock frequency used to detect Data Timeout Error. Not 0 - 1KHz to 63KHz or 1MHz to
RO 63MHz, 000000b - Get Information via another method.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) CAPABILITIES_2: [BAR0] + 44h
Default: 03000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
spi_blk_mode
driver_type_c_sup
retune_modes
spi_mode
tim_cnt_for_retune
driver_type_a_sup
driver_type_d_sup
use_tuning_for_sdr50
rsvd0
clk_mult
rsvd1
rsvd2
ddr50_support
ddr104_support
rsvd3
sdr50_support
0b
31: 26 RSVD0 (rsvd0): Reserved
RO
1b SPI Block Mode (spi_blk_mode): SPI block mode. 0 - Not Supported, 1 - Supported
25
RO NOTE: Not part of the SD Host Controller Simplified Specification Version 3.00
1b SPI Mode (spi_mode): SPI mode. 0 - Not Supported, 1 - Supported NOTE: Not part of
24
RO the SD Host Controller Simplified Specification Version 3.00
0b Use Tuning for SDR50 (use_tuning_for_sdr50): If this bit is set to 1, this Host
13 Controller requires tuning to operate SDR50. (Tuning is always required to operate
RO SDR104.) 1 SDR50 requires tuning 0, SDR50 does not require tuning
0b
12 RSVD1 (rsvd1): Reserved
RO
0b
7 RSVD2 (rsvd2): Reserved
RO
0b
3 RSVD3 (rsvd3): Reserved
RO
Access Method
Default: 00000001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
max_cur_1p8v
max_cur_3p0v
max_cur_3p3v
rsvd
0h
31: 24 RSVD (rsvd): Reserved
RO
00h
23: 16 Maximum Current for 1.8V (max_cur_1p8v): Maximum current capability for 1.8V
RO
00h
15: 8 Maximum Current for 3.0V (max_cur_3p0v): Maximum current capability for 3.0V
RO
01h
7: 0 Maximum Current for 3.3V (max_cur_3p3v): Maximum current capability for 3.3V
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 16 bits) FORCE_EVENT_CMD12_ERR_STAT: [BAR0] + 50h
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
non_cmd12_err
cmd_timeout_err
cmd_ind_err
cmd_end_bit_err
cmd_crc_err
cmd_not_exe
reserved
reserved0
00h
15: 8 Reserved0 (reserved0): Reserved
RO
0b Force Event for Command Not Issued By Auto CMD12 Error (non_cmd12_err):
7
RW 1 - Interrupt is generated, 0 - No interrupt
00b
6: 5 Reserved (reserved): Reserved
RO
0b Force Event for Auto CMD Index Error (cmd_ind_err): 1 - Interrupt is generated, 0
4
RW - No interrupt
0b Force Event for Auto CMD End Bit Error (cmd_end_bit_err): 1 - Interrupt is
3
RW generated, 0 - No interrupt
0b Force Event for Auto CMD CRC Error (cmd_crc_err): 1 - Interrupt is generated, 0 -
2
RW No interrupt
Access Method
Type: Memory Mapped I/O Register FORCE_EVENT_ERR_INT_STAT: [BAR0] + 52h
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rsvd0
ceata_err
adma_err
cmd12_err
data_end_bit_err
data_crc_err
data_timeout_err
cmd_crc_err
tgt_rsp_err
cur_limit_err
cmd_end_bit_err
cmd_timeout_err
rsvd
cmd_ind_err
00b
15: 14 Force Event for Vendor Specific Error Status (rsvd0): Reserved
RO
0b
13 Force Event for CEATA error (ceata_err): 1 - Interrupt is generated, 0 - No interrupt
RW
0h
11: 10 RSVD (rsvd): Reserved
RO
0h
9 Force Event for ADMA Error (adma_err): 1 - Interrupt is generated, 0 - No interrupt
RW
0h Force Event for Data End Bit Error (data_end_bit_err): 1 - Interrupt is generated,
6
RW 0 - No interrupt
Access Method
Type: Memory Mapped I/O Register ADMA_ERR_STAT: [BAR0] + 54h
(Size: 8 bits)
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
adma_len_mis_err
adma_err_state
rsvd
Bit Default &
Description
Range Access
0h
7: 3 RSVD (rsvd): Reserved
RO
ADMA Error State (adma_err_state): This field indicates the state of ADMA when
error is occurred during ADMA data transfer. This field never indicates 10 because ADMA
00b never stops in this state. D01 D00: ADMA Error State when error is occurred Contents of
1: 0
RO SYS_SDR register, 00 - ST_STOP (Stop DMA) Points next of the error descriptor, 01 -
ST_FDS (Fetch Descriptor) Points the error descriptor, 10 - Never set this state (Not
used), 11 - ST_TFR (Transfer Data) Points the next of the error descriptor
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) ADMA_SYS_ADDR: [BAR0] + 58h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
adma_sys_addr
Default: 0040h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
driver_strength_sel_val
rsvd
clock_gen_sel_val
sdclk_freq_sel_val
Bit Default &
Description
Range Access
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
040h SDCLK Frequency Select Value (sdclk_freq_sel_val): 10-bit preset value to set
9: 0
RO SDCLK Frequency Select in the Clock Control Register is described by a host system.
Default: 0001h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
driver_strength_sel_val
clock_gen_sel_val
sdclk_freq_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
driver_strength_sel_val
clock_gen_sel_val
sdclk_freq_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 0001h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
driver_strength_sel_val
sdclk_freq_sel_val
clock_gen_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
driver_strength_sel_val
clock_gen_sel_val
sdclk_freq_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
driver_strength_sel_val
clock_gen_sel_val
sdclk_freq_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
driver_strength_sel_val
clock_gen_sel_val
sdclk_freq_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
driver_strength_sel_val
sdclk_freq_sel_val
clock_gen_sel_val
rsvd
00b
15: 14 Reserved (driver_strength_sel_val): Reserved
RO
000b
13: 11 Reserved (rsvd): Reserved
RO
0b Clock Generator Select Value (clock_gen_sel_val): This bit is effective when Host
10 Controller supports programmable clock generator. 1 - Programmable Clock Generator,
RO 0 - Host Controller Ver2.00 Compatible Clock Generator
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
time_cnt_val
0h Boot Data Timeout Counter Value (time_cnt_val): This value determines the
31: 0 interval by which DAT line time-outs are detected during boot operation for eMMC4.4
RW card. The value is in number of sd clock.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
debug_sel
rsvd
00h
7: 1 Reserved (rsvd): Reserved
RO
Access Method
Type: Memory Mapped I/O Register SHARED_BUS: [BAR0] + E0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
rsvd0
pwr_ctrl
rsvd1
rsvd2
rsvd3
rsvd4
rsvd5
int_pin
clk_pin
bus_width
num_int_pin
num_clk_pin
Bit Default &
Description
Range Access
0b
31 Reserved (rsvd0): Reserved
RO
Back-End Power Control (pwr_ctrl): Each bit of this field controls back-end power
supply for an embedded device. Host interface voltage (VDDH) is not controlled by this
field. The number of devices supported is specified by Number of Clock Pins and a
maximum of 7 devices can be controlled.
D16 Back-end Power Control for Device 1
D17 Back-end Power Control for Device 2
D18 Back-end Power Control for Device 3
0h D19 Back-end Power Control for Device 4
30: 24 D20 Back-end Power Control for Device 5
RW D21 Back-end Power Control for Device 6
D22 Back-end Power Control for Device 7
The function of each bit is defined as follows:
0 Back-end Power is Off
1 Back-end Power is Supplied
Back-End power control is effective for embedded memory devices in the Sleep State
that support the Sleep command (CMD14) to reduce power consumption and embedded
SDIO devices when IOEx is set to 0.
0b
23 Reserved (rsvd1): Reserved
RO
Interrupt Pin Select (int_pin): Interrupt pin inputs are enabled by this field. Enable
of unsupported interrupt pin is meaningless.
0h 000b - Interrupt is detected by Interrupt Cycle,
22: 20
RW xx1b - INT_A is Enabled,
x1xb - INT_B is Enabled,
1xxb - INT_C is Enabled
0b
19 Reserved (rsvd2): Reserved
RO
Clock Pin Select (clk_pin): One of clock pin outputs is selected by this field. Select of
unsupported clock pin is meaningless. Refer to Figure 2-38 (An Example Timing of
Selecting Clock Pin) on SD Host Controller Simplified Specification Version 3.00 for the
0h timing of clock outputs.
18: 16 000b - Clock Pins are Disabled,
RW 001b - CLK[1] is Selected,
010b - CLK[2] is Selected
---
111b - CLK[7] is Selected
0b
15 Reserved (rsvd3): Reserved
RO
Bus Width Preset (bus_width): Shared bus supports mixing of 4-bit and 8- bit bus
width devices. Each bit of this field specifies the bus width for each embedded device.
The number of devices supported is specified by Number of Clock Pins and a maximum
of 7 devices are supported.This field is effective when multiple devices are connected to
a shared bus (Slot Type is set to 10b in the Capabilities register). In the other case,
0h Extended Data Transfer Width in the Host Control 1 register is used to select 8-bit bus
14: 8
RO width. As use of 1-bit mode is not intended for shared bus, Data Transfer Width in the
Host Control 1 register should be set to 1. D08 - Bus width preset for Device 1, D09 -
Bus width preset for Device 2, D10 - Bus width preset for Device 3, D11 - Bus width
preset for Device 4, D12 - Bus width preset for Device 5, D13 - Bus width preset for
Device 6, D14 - Bus width preset for Device 7 The function of each bit is defined as
follows: 0 - 4 bit bus width mode, 1 - 8 bit bus width mode
00b
7: 6 Reserved (rsvd4): Reserved
RO
0b
3 Reserved (rsvd5): Reserved
RO
Number of Clock Pins (num_clk_pin): This field indicates support of clock pins to
select one of devices for shared bus system. Up to 7 clock pins can be supported.Shared
0h bus is supported by specific system. Then Standard Host Driver does not support control
2: 0
RO of these clock pins. 000b - Shared bus is not supported, 001b - 1 SDCLK pin is
supported, 010b - 2 SDCLK pins are supported, ..... , 111b - 7 SDCLK pins are
supported
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
spi_int_support
SPI Interrupt Support (spi_int_support): This bit is set to indicate the assertion of
00h interrupts in the SPI mode at any time, irrespective of the status of the card select (CS)
7: 0 line. If this bit is zero, then SDIO card can only assert the interrupt line in the SPI mode
RW when the CS line is asserted.
NOTE: Not part of the SD Host Controller Simplified Specification Version 3.00
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reserved
int_sig_slot
Bit Default &
Description
Range Access
00h
15: 8 Reserved (reserved): Reserved
RO
Interrupt Signal For Each Slot (int_sig_slot): These status bit indicate the logical
OR of Interrupt signal and wake up signal for each slot. A maximum of 8 slots can be
00h defined. If one interrupt signal is associated with multiple slots. the HD can know which
7: 0
RO interrupt is generated by reading these status bits. By a power on reset or by Software
Reset For All, the Interrupt signal shall be de asserted and this status shall read 00h. Bit
00 - Slot 1, Bit 01 - Slot 2, Bit 02 - Slot 3, ----- -----, Bit 07 - Slot 8
Default: A702h
15 12 8 4 0
1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0
vend_ver_num
spec_ver_num
a7h Vendor Version Number (vend_ver_num): This status is reserved for the vendor
15: 8
RO version number. The HD should not use this status.
§§
The Intel® Quark™ SoC X1000 implements two instances of a 16550 compliant UART
controller that supports baud rates between 300 and 2764800. Hardware flow control is
also supported.
18.2 Features
Start Data Data Data Data Data Data Data Data Parity Stop Stop
Bit [0] [1] [2] [3] [4] [5] [6] [7] Bit Bit 1 Bit 2
LSB MSB
The output baud rate is equal to the base frequency divided by sixteen times the value
of the divisor, as follows: baud rate = (Fbase) / (16 * divisor).
Table 115. Baud Rates Achievable with Different DLAB Settings
DLH,DLL Divisor
DLH,DLL Divisor Baud Rate
Hexadecimal
Fbase: 44236800 Hz
1 0001 2764800
3 0003 921600
6 0006 460800
9 0009 307200
12 000C 230400
15 000F 184320
18 0012 153600
24 0018 115200
48 0030 57600
72 0048 38400
18.3 Usage
Each UART has a Transmit FIFO and a Receive FIFO and each FIFO holds 16 bytes of
data. There are three separate methods for moving data into and out of the FIFOs:
DMA, Interrupts, and Polling.
A hardware interface between the UART and the DMA is used to signal when data can
be read from the Receive FIFO and to signal when the Transmit FIFO is either empty or
has reached a programmed threshold level. This interface gives the DMA all
responsibility for the transfer of data and it must be programmed accordingly. Using the
UART to set the DMA mode via IIR_FCR[3] has no effect. An interrupt is generated
upon the completion of a DMA transfer.
NOTE: RX data can overrun or be corrupted when operating the UART DMA with
baud rate > 115200. It is recommended to disable the DMA for high baud rate or high
UART bandwidth operations.
To transfer data from the UART, the source transfer width (CTL0_L.SRC_TR_WIDTH) is
set to 8-bits to match the size of the FIFO entries and the destination transfer width
(CTL0_L.DST_TR_WIDTH) is set to 32-bits.
The receive watermark level (IIR_FCR[7:6]) should be set such that DMA requests to
transfer data to memory are made often enough for the Receiver FIFO to accept serial
transfers continuously. This will prevent the Receiver FIFO from overflowing.
To prevent Receiver FIFO underflow, the source burst length must be set such that the
FIFO can be emptied, but not underflowed, at the completion of the burst transaction.
For optimal operation, CTL0_L.SRC_MSIZE should be set at the receive watermark
level; that is:
The transmit watermark level (IIR_FCR[5:4) should be set such that DMA requests to
transfer data from memory are made often enough for the Transmitter FIFO to be able
to perform serial transfers continuously. This will prevent the Transmitter FIFO from
underflowing.
For optimal operation, CTL1_L.DEST_MSIZE should be set at the FIFO level that
triggers a transmit DMA request; that is:
• CTL1_L.DEST_MSIZE = UART FIFO DEPTH − decoded level of IIR_FCR[5:4]
Users could cause the UART Transmit FIFO to overflow when too many characters are
written. FIFO underflow does not cause an error as the UART waits for the Transmit
FIFO to be serviced.
The processor can also check transmitter empty LSR.TEMT, which is set when the
Transmit FIFO or Holding register is empty.
Autoflow mode can be used in two ways: Full autoflow, automating both nCTS and
nRTS, and half autoflow, automating only nCTS. Full Autoflow is enabled by writing a 1
to bits 1 and 5 of the Modem Control Register (MCR). Auto-nCTS-Only mode is enabled
by writing a 1 to bit 5 and a 0 to bit 1 of the MCR register.
NOTE: It is recommended to turn on the autoflow control at all times to prevent data
corruption or overrun issue.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0
PCI
ECAM HSUART
(Mem) PCI Memory
Headers Space
D:20,F:1,F5
RP0 F:0
PCIe*
D:23
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 674 00000000h
14h 17h “Base Address Register (BAR1)—Offset 14h” on page 674 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 675 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 676 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 677 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 677 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 679 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 679 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 680 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 681 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 682 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 683 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 684 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
Bit Default &
Description
Range Access
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 0936h
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 0
value
0936h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IntrDis
SERREn
MasEn
MEMen
RSVD0
RSVD
RSVD
RSVD
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
capable_66Mhz
RSVD0
SigSysErr
DEVSEL
FastB2B
hasCapList
RSVD1
RSVD
RSVD
RSVD
RcdMasAb
IntrStatus
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 07000210h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
rev_id
classCode
subClassCode
progIntf
Bit Default &
Description
Range Access
07h Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
00h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
02h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
BIST_capable
comp_code
start_bist
RSVD
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
prefetchable
memType
address
RSVD
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD
prefetchable
memType
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM_base_addr
AddrDecodeEn
RSVD
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
RSVD0
value
Bit Default &
Description
Range Access
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
02h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
Bit Default &
Description
Range Access
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
D2_support
D1_support
PME_support
aux_curr
DSI
RSVD
PME_clock
version
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Data_scale
no_soft_reset
power_state
Data_select
PME_en
RSVD
RSVD
PME_status
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
perVecMskCap
multiMsgEn
bit64Cap
multiMsgCap
MSIEnable
RSVD0
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD0
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MSIMask
RSVD0
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
RSVD0
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
4h 7h “Interrupt Enable / Divisor Latch High (IER_DLH)—Offset 4h” on page 685 00000000h
A8h ABh “DMA Software Acknowledge (DMASA)—Offset A8h” on page 694 00000000h
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 0h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
FIELD
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Receive Buffer / Transmit Holding / Divisor Latch Low (FIELD): Different UART
registers are accessed depending on read/write transfer type and Line control Register
(LCR) DLAB bit value.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
FIELD
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Interrupt Enable / Divisor Latch High (FIELD): Different UART registers are
accessed depending on the Line control Register (LCR) DLAB bit value.
IER, Interrupt Enable Register
Access - Read/write AND DLAB (LCR[7]) =0
Interrupt Enable Register: Each of the bits used has a different function ( 0 = disabled 1
= enabled):
NOTE: if the Divisor Latch Registers (DLL and DLH) are set to zero, the baud clock is
disabled and no serial communications occur. Also, once the Divisor Latch Registers (DLL
and DLH) are set, a mimimum of 50ns should be awaited before transmitting or
receiving data as this time is required in order for changes to take effect due to internal
synchronization processes.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 8h
(Size: 32 bits)
Default: 00000001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
RSV
FIELD
0b
31:8 Reserved (RSV): Reserved.
RO
[3:0] - IID, Interrupt ID. This indicates the highest priority pending interrupt which can
be one of the following types:
0000 = modem status.
0001 = no interrupt pending.
0010 = THR empty.
0100 = received data available.
0110 = receiver line status.
0111 = busy detect. NEVER INDICATED
1100 = character timeout.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BC
STOP
DLAB
PEN
RSV
STICK_PAR
EPS
DLS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
0h Divisor Latch Access Bit (DLAB): Used to enable reading and writing of the Divisor
7 Latch register (DLL and DLH) to set the baud rate of the UART. This bit must be cleared
RW after initial baud rate setup in order to access other registers.
Break Control Bit (BC): Used to cause a break condition to be transmitted to the
0h receiving device. If set to one the serial output is forced to the spacing (logic 0) state.
6
RW When not in Loopback Mode, as determined by MCR[4], the serial output line is forced
low until the Break bit is cleared.
0h
5 Reserved for future use (STICK_PAR): Reserved.
RW
0h Even Parity Select (EPS): Used to select between even and odd parity, when parity is
4 enabled (PEN set to one). If set to one, an even number of logic '1's is transmitted or
RW checked. If set to zero, an odd number of logic '1's is transmitted or checked.
Parity Enable (PEN): Used to enable and disable parity generation and detection in
0h transmitted and received serial character respectively.
3
RW 0 = parity disabled
1 = parity enabled
Number of stop bits (STOP): Used to select the number of stop bits per character
that the peripheral will transmit and receive. If set to zero, one stop bit is transmitted in
the serial data. If set to one and the data bits are set to 5 (LCR[1:0] set to zero) one
0h and a half stop bits are transmitted. Otherwise, two stop bits are transmitted.
2 NOTE: regardless of the number of stop bits selected the receiver will only check the
RW first stop bit.
0 = 1 stop bit
1 = 1.5 stop bits when DLS (LCR[1:0]) == 00
1 = 2 stop bits when DLS (LCR[1:0]) different from 00
Data Length Select (DLS): Used to select the number of data bits per character that
the peripheral will transmit and receive. The number of bit that may be selected are as
0h follows:
1:0 00 = 5 bits
RW 01 = 6 bits
10 = 7 bits
11 = 8 bits
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 10h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
AFCE
RSV
LOOPBACK
RSVD
DTR
RTS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:6 Reserved (RSV): Reserved.
RO
Auto Flow Control Enable (AFCE): When FIFOs are enabled and the Auto Flow
0h Control Enable (AFCE) bit is set, Auto Flow Control features are enabled
5
RW 0 = Auto Flow Control Mode disabled
1 = Auto Flow Control Mode enabled
LoopBack Bit (LOOPBACK): Used to put the UART into a diagnostic mode for test
purposes. Data on the serial out line is held high, while serial data output is looped back
0h to the serial in line, internally. In this mode all the interrupts are fully functional. Also, in
4
RW loopback mode, the modem control inputs (dsr_n, cts_n, ri_n, dcd_n) are disconnected
and the modem control outputs (dtr_n, rts_n, out1_n, out2_n) are looped back to the
inputs, internally.
0h
3:2 Reserved (RSVD): Reserved.
RO
Request to Send (RTS): Used to directly control the Request to Send (rts_n) output.
The Request To Send (rts_n) output is used to inform the modem or data set that the
UART is ready to exchange data. When Auto RTS Flow Control is not enabled (MCR[5]
set to zero), the rts_n signal is set low by programming MCR[1] (RTS) to a high. In Auto
0h Flow Control, MCR[5] set to one and FIFO's enable (FCR[0] set to one, the rts_n output
1
RW is controlled in the same way, but is also gated with the receiver FIFO threshold trigger
(rts_n is inactive high when above the threshold). The rts_n signal will be de-asserted
when MCR[1] is set low. Note that in Loopback mode (MCR[4] set to one), the rts_n
output is held inactive high while the value of this location is internally looped back to an
input.
Data Terminal Ready (DTR): Used to directly control the Data Terminal Ready (dtr_n)
output. The value written to this location is inverted and driven out on dtr_n, that is:
0 = dtr_n de-asserted (logic 1)
0h 1 = dtr_n asserted (logic 0)
0
RW The Data Terminal Ready output is used to inform the modem or data set that the UART
is ready to establish communications. Note that in Loopback mode (MCR[4] set to one),
the dtr_n output is held inactive high while the value of this location is internally looped
back to an input.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 14h
(Size: 32 bits)
Default: 00000060h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
DR
RSV
RFE
TEMT
THRE
FE
PE
OE
BI
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Receiver FIFO Error bit (RFE): This bit is only relevant when FIFO are enabled
(FCR[0] set to one). This is used to indicate if there is at least one parity error, framing
0h error, or break indication in the FIFO. That is:
7
RO 0 = no error in RX FIFO 1 = error in RX FIFO
This bit is cleared when the LSR is read and the character with the error is at the top of
the receiver FIFO and there are no subsequent errors in the FIFO.
Transmitter Empty bit (TEMT): If FIFO are enabled (FCR[0] set to one), this bit is set
1h whenever the Transmitter Shift Register and the FIFO are both empty.
6
RO If FIFO are disabled, this bit is set whenever the Transmitter Holding Register and the
Transmitter Shift Register are both empty.
Transmit Holding Register Empty bit (THRE): If THRE mode is disabled (IER[7] set
to zero) and regardless of FIFO's being enabled or not, this bit indicates that the THR or
TX FIFO is empty. This bit is set whenever data is transferred from the THR or TX FIFO
1h to the transmitter shift register and no new data has been written to the THR or TX
5
RO FIFO. This also causes a THRE Interrupt to occur, if the THRE Interrupt is enabled.
If the THRE mode and FIFO are enabled (IER[7] and FCR[0] set to one), the
functionality is switched to indicate the transmitter FIFO is full, and no longer controls
THRE interrupts, which are then controlled by the FCR[5:4] threshold setting.
Break Interrupt bit (BI): Used to indicate the detection of a break sequence on the
serial input data. If in UART mode it is set whenever the serial input is held in a logic '0'
state for longer than the sum of start time + data bits + parity + stop bits.
0h A break condition on serial input causes one and only one character, consisting of all
4
RO zeros, to be received by the UART. In the FIFO mode, the character associated with the
break condition is carried through the FIFO and is revealed when the character is at the
top of the FIFO. Reading the LSR clears the BI bit. In the non-FIFO mode, the BI
indication occurs immediately and persists until the LSR is read.
Framing Error bit (FE): Used to indicate the occurrence of a framing error in the
receiver. A framing error occurs when the receiver does not detect a valid STOP bit in
the received data. In the FIFO mode, since the framing error is associated with a
character received, it is revealed when the character with the framing error is at the top
0h of the FIFO. When a framing error occurs the UART will try resynchronize. It does this by
3 assuming that the error was due to the start bit of the next character and then
RO continues receiving the other bit i.e. data, and/or parity and stop. It should be noted
that the Framing Error (FE) bit (LSR[3]) will be set if a break interrupt has occurred, as
indicated by Break Interrupt (BI) bit (LSR[4]).
0 = no framing error, 1 = framing error
Reading the LSR clears the FE bit.
Parity Error bit (PE): Used to indicate the occurrence of a parity error in the receiver if
the Parity Enable (PEN) bit (LCR[3]) is set. In the FIFO mode, since the parity error is
associated with a character received, it is revealed when the character with the parity
0h error arrives at the top of the FIFO. It should be noted that the Parity Error (PE) bit
2 (LSR[2]) will be set if a break interrupt has occurred, as indicated by Break Interrupt
RO (BI) bit (LSR[4]).
0 = no parity error, 1 = parity error
Overrun error bit (OE): Used to indicate the occurrence of an overrun error. This
occurs if a new data character was received before the previous data was read. In the
non-FIFO mode, the OE bit is set when a new character arrives in the receiver before
the previous character was read from the RBR. When this happens, the data in the RBR
0h is overwritten. In the FIFO mode, an overrun error occurs when the FIFO is full and a
1
RO new character arrives at the receiver. The data in the FIFO is retained and the data in
the receive shift register is lost.
0 = no overrun error, 1 = overrun error
Data Ready bit (DR): Used to indicate that the receiver contains at least one character
in the RBR or the receiver FIFO.
0h 0 = no data ready, 1 = data ready
0
RO
This bit is cleared when the RBR is read in the non-FIFO mode, or when the receiver
FIFO is empty, in the FIFO mode.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 18h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
DCD
DDCD
CTS
DCTS
RI
DSR
TERI
DDSR
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Data Carrier Detect (DCD): Used to indicate the current state of the modem control
line dcd_n. That is this bit is the complement dcd_n. When the Data Carrier Detect input
0h (dcd_n) is asserted it is an indication that the carrier has been detected by the modem
7 or data set.
RO 0 = dcd_n input is de-asserted (logic 1)
1 = dcd_n input is asserted (logic 0)
In Loopback Mode (MCR[4] set to one), DCD is the same as MCR[3] (Out2).
Ring Indicator (RI): Used to indicate the current state of the modem control line ri_n.
That is this bit is the complement ri_n. When the Ring Indicator input (ri_n) is asserted
0h it is an indication that a telephone ringing signal has been received by the modem or
6
RO data set.
0 = ri_n input is de-asserted (logic 1) 1 = ri_n input is asserted (logic 0)
In Loopback Mode (MCR[4] set to one), RI is the same as MCR[2] (Out1).
Data Set Ready (DSR): Used to indicate the current state of the modem control line
dsr_n. That is this bit is the complement dsr_n. When the Data Set Ready input (dsr_n)
0h is asserted it is an indication that the modem or data set is ready to establish
5
RO communications with the UART.
0 = dsr_n input is de-asserted (logic 1) 1 = dsr_n input is asserted (logic 0)
In Loopback Mode (MCR[4] set to one), DSR is the same as MCR[0] (DTR).
Clear to Send (CTS): Used to indicate the current state of the modem control line
cts_n. That is, this bit is the complement cts_n. When the Clear to Send input (cts_n) is
0h asserted it is an indication that the modem or data set is ready to exchange data with
4
RO the UART
0 = cts_n input is de-asserted (logic 1) 1 = cts_n input is asserted (logic 0)
In Loopback Mode (MCR[4] set to one), CTS is the same as MCR[1] (RTS).
Delta Data Carrier Detect (DDCD): Used to indicate that the modem control line
dcd_n has changed since the last time the MSR was read. That is:
0 = no change on dcd_n since last read of MSR 1 = change on dcd_n since last read of
0h MSR
3
RO Reading the MSR clears the DDCD bit. In Loopback Mode (MCR[4] set to one), DDCD
reflects changes on MCR[3] (Out2). Note, if the DDCD bit is not set and the dcd_n signal
is asserted (low) and a reset occurs (software or otherwise), then the DDCD bit will get
set when the reset is removed if the dcd_n signal remains asserted.
Trailing Edge of Ring Indicator (TERI): Used to indicate that a change on the input
ri_n (from an active low, to an inactive high state) has occurred since the last time the
0h MSR was read. That is:
2
RO 0 = no change on ri_n since last read of MSR 1 = change on ri_n since last read of MSR
Reading the MSR clears the TERI bit. In Loopback Mode (MCR[4] set to one), TERI
reflects when MCR[2] (Out1) has changed state from a high to a low.
Delta Data Set Ready (DDSR): Used to indicate that the modem control line dsr_n
has changed since the last time the MSR was read. That is:
0 = no change on dsr_n since last read of MSR 1 = change on dsr_n since last read of
0h MSR
1
RO Reading the MSR clears the DDSR bit. In Loopback Mode (MCR[4] set to one), DDSR
reflects changes on MCR[0] (DTR). Note, if the DDSR bit is not set and the dsr_n signal
is asserted (low) and a reset occurs (software or otherwise), then the DDSR bit will get
set when the reset is removed if the dsr_n signal remains asserted.
Delta Clear to Send (DCTS): used to indicate that the modem control line cts_n has
changed since the last time the MSR was read. That is:
0 = no change on cts_n since last read of MSR 1 = change on cts_n since last read of
0h MSR
0
RO Reading the MSR clears the DCTS bit. In Loopback Mode (MCR[4] set to one), DCTS
reflects changes on MCR[1] (RTS). Note, if the DCTS bit is not set and the cts_n signal is
asserted (low) and a reset occurs (software or otherwise), then the DCTS bit will get set
when the reset is removed if the cts_n signal remains asserted.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SCR
RSV
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 7Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RFF
RSV0
TFNF
RFNE
TFE
Bit Default &
Field Name (ID): Description
Range Access
0h
31:5 Reserved (RSV1): Reserved.
RO
Receive FIFO Full (RFF): Used to indicate that the receive FIFO is completely full.
0h That is:
4
RO 0 = Receive FIFO not full 1 = Receive FIFO Full
This bit is cleared when the RX FIFO is no longer full.
Receive FIFO Not Empty (RFNE): Used to indicate that the receive FIFO contains one
0h or more entries.
3
RO 0 = Receive FIFO is empty 1 = Receive FIFO is not empty
This bit is cleared when the RX FIFO is empty.
Transmit FIFO Empty (TFE): Used to indicate that the transmit FIFO is completely
0h empty.
2
RO 0 = Transmit FIFO is not empty 1 = Transmit FIFO is empty
This bit is cleared when the TX FIFO is no longer empty.
0h Transmit FIFO Not Full (TFNF): Used to indicate that the transmit FIFO in not full.
1 0 = Transmit FIFO is full 1 = Transmit FIFO is not full
RO This bit is cleared when the TX FIFO is full.
0h
0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + A4h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
HTX
0b
31:1 Reserved (RSV): Reserved.
RO
Halt Transmission (HTX): Used to halt transmissions for testing, so that the transmit
0h FIFO can be filled by the master when FIFO's are enabled. Note, if FIFO's are not
0
RW enabled the setting of the halt TX register will have no effect on operation.
0 = Halt TX disabled 1 = Halt TX enabled
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + A8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DMASA
RSV
0b
31:1 Reserved (RSV): Reserved.
RO
10h 13h “Channel 0 Linked List Pointer (LLP0)—Offset 10h” on page 697 00000000h
18h 1Bh “Channel 0 Control LOWER (CTL0_L)—Offset 18h” on page 697 00304801h
1Ch 1Fh “Channel 0 Control UPPER (CTL0_U)—Offset 1Ch” on page 699 00000002h
20h 23h “Channel 0 Source Status (SSTAT0)—Offset 20h” on page 700 00000000h
28h 2Bh “Channel 0 Destination Status (DSTAT0)—Offset 28h” on page 700 00000000h
30h 33h “Channel 0 Source Status Address (SSTATAR0)—Offset 30h” on page 701 00000000h
38h 3Bh “Channel 0 Destination Status Address (DSTATAR0)—Offset 38h” on page 701 00000000h
40h 43h “Channel 0 Configuration LOWER (CFG0_L)—Offset 40h” on page 702 00000E00h
44h 47h “Channel 0 configuration UPPER (CFG0_U)—Offset 44h” on page 703 00000004h
48h 4Bh “Channel 0 Source Gather (SGR0)—Offset 48h” on page 704 00000000h
50h 53h “Channel 0 Destination Scatter (DSR0)—Offset 50h” on page 705 00000000h
58h 5Bh “Channel 1 Source Address (SAR1)—Offset 58h” on page 705 00000000h
60h 63h “Channel 1 Destination Address (DAR1)—Offset 60h” on page 706 00000000h
68h 6Bh “Channel 1 Linked List Pointer (LLP1)—Offset 68h” on page 706 00000000h
70h 73h “Channel 1 Control LOWER (CTL1_L)—Offset 70h” on page 707 00304801h
74h 77h “Channel 1 Control UPPER (CTL1_U)—Offset 74h” on page 709 00000002h
78h 7Bh “Channel 1 Source Status (SSTAT1)—Offset 78h” on page 710 00000000h
80h 83h “Channel 1 Destination Status (DSTAT1)—Offset 80h” on page 710 00000000h
88h 8Bh “Channel 1 Source Status Address (SSTATAR1)—Offset 88h” on page 711 00000000h
90h 93h “Channel 1 Destination Status Address (DSTATAR1)—Offset 90h” on page 711 00000000h
98h 9Bh “Channel 1 Configuration LOWER (CFG1_L)—Offset 98h” on page 712 00000E20h
9Ch 9Fh “Channel 1 configuration UPPER (CFG1_U)—Offset 9Ch” on page 713 00000004h
A0h A3h “Channel 1 Source Gather (SGR1)—Offset A0h” on page 714 00000000h
A8h ABh “Channel 1 Destination Scatter (DSR1)—Offset A8h” on page 714 00000000h
2C0h 2C3h “Raw Status for IntTfr Interrupt (RAW_TFR)—Offset 2C0h” on page 715 00000000h
2C8h 2CBh “Raw Status for IntBlock Interrupt (RAW_BLOCK)—Offset 2C8h” on page 715 00000000h
2D0h 2D3h “Raw Status for IntSrcTran Interrupt (RAW_SRC_TRAN)—Offset 2D0h” on page 716 00000000h
2D8h 2DBh “Raw Status for IntDstTran Interrupt (RAW_DST_TRAN)—Offset 2D8h” on page 716 00000000h
2E0h 2E3h “Raw Status for IntErr Interrupt (RAW_ERR)—Offset 2E0h” on page 717 00000000h
2E8h 2EBh “Status for IntTfr Interrupt (STATUS_TFR)—Offset 2E8h” on page 717 00000000h
2F0h 2F3h “Status for IntBlock Interrupt (STATUS_BLOCK)—Offset 2F0h” on page 718 00000000h
2F8h 2FBh “Status for IntSrcTran Interrupt (STATUS_SRC_TRAN)—Offset 2F8h” on page 718 00000000h
300h 303h “Status for IntDstTran Interrupt (STATUS_DST_TRAN)—Offset 300h” on page 719 00000000h
308h 30Bh “Status for IntErr Interrupt (STATUS_ERR)—Offset 308h” on page 719 00000000h
310h 313h “Mask for IntTfr Interrupt (MASK_TFR)—Offset 310h” on page 720 00000000h
318h 31Bh “Mask for IntBlock Interrupt (MASK_BLOCK)—Offset 318h” on page 720 00000000h
320h 323h “Mask for IntSrcTran Interrupt (MASK_SRC_TRAN)—Offset 320h” on page 721 00000000h
328h 32Bh “Mask for IntDstTran Interrupt (MASK_DST_TRAN)—Offset 328h” on page 722 00000000h
330h 333h “Mask for IntErr Interrupt (MASK_ERR)—Offset 330h” on page 722 00000000h
338h 33Bh “Clear for IntTfr Interrupt (CLEAR_TFR)—Offset 338h” on page 723 00000000h
340h 343h “Clear for IntBlock Interrupt (CLEAR_BLOCK)—Offset 340h” on page 723 00000000h
348h 34Bh “Clear for IntSrcTran Interrupt (CLEAR_SRC_TRAN)—Offset 348h” on page 724 00000000h
350h 353h “Clear for IntDstTran Interrupt (CLEAR_DST_TRAN)—Offset 350h” on page 724 00000000h
358h 35Bh “Clear for IntErr Interrupt (CLEAR_ERR)—Offset 358h” on page 725 00000000h
360h 363h “Combined Interrupt Status (STATUS_INT)—Offset 360h” on page 725 00000000h
368h 36Bh “Source Software Transaction Request (REQ_SRC_REG)—Offset 368h” on page 726 00000000h
378h 37Bh “Source Single Transaction Request (SGL_REQ_SRC_REG)—Offset 378h” on page 727 00000000h
388h 38Bh “Source Last Transaction Request (LST_SRC_REG)—Offset 388h” on page 728 00000000h
390h 393h “Destination Single Transaction Request (LST_DST_REG)—Offset 390h” on page 729 00000000h
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SAR
Current Source Address of DMA transfer (SAR): Updated after each source transfer.
The SINC field in the CTL0_L register determines whether the address increments,
0b decrements, or is left unchanged on every source transfer throughout the block transfer.
31:0
RW
NOTE: Channel 0 is dedicated to the UART controller Received data. Source Address is
the UART controller RBR_THR_DLL register address: 0xFFFF_F000
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 8h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DAR
Bit Default &
Field Name (ID): Description
Range Access
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 10h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
LOC
Starting Address In Memory (LOC): Starting Address In Memory of next LLI if block
chaining is enabled.
0b Note that the two LSBs of the starting address are not stored because the address is
31:2
RW assumed to be aligned to a 32-bit boundary.
LLI accesses are always 32-bit accesses (Hsize = 2) aligned to 32-bit boundaries and
cannot be changed or programmed to anything other than 32-bit.
0b
1:0 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 18h
Default: 00304801h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
SMS
DMS
SRC_MSIZE
DEST_MSIZE
DST_TR_WIDTH
SRC_TR_WIDTH
RSV1
TT_FC
RSV0
SINC
DINC
DST_GATHER_EN
SRC_GATHER_EN
INT_EN
Bit Default &
Field Name (ID): Description
Range Access
0b
31:27 Reserved (RSV1): Reserved.
RO
0b Source AMBA Layer (SMS): Hardcoded the Master interface attached to the source of
26:25
RO channel 0.
0b Destination AMBA Layer (DMS): Hardcoded the Master interface attached to the
24:23
RO destination of channel 0
Transfer Type and Flow Control (TT_FC): The following transfer types are
supported:
Code - Type - Flow Controller
--------------------------------------------------
000 - Memory to Memory - DMAC
011b 001 - Memory to Peripheral - DMAC
22:20
RW 010 - Peripheral to Memory - DMAC
011 - Peripheral to Peripheral - DMAC
100 - Peripheral to Memory - Peripheral
101 - Peripheral to Peripheral - Source Peripheral
110 - Memory to Peripheral - Peripheral
111 - Peripheral to Peripheral - Destination Peripheral
0b
19 Reserved (RSV0): Reserved.
RO
1b Interrupt enable (INT_EN): If set, then all interrupt-generating sources are enabled.
0 Functions as a global mask bit for all interrupts for the channel. RAW interrupt registers
RW still assert if INT_EN = 0.
Access Method
Default: 00000002h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
RSV
BLOCK_TS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:12 Reserved (RSV): Reserved.
RO
Block length (BLOCK_TS): When the DMAC is the flow controller, the user writes this
002h field before the channel is enabled in order to indicate the block size. The number
11:0 programmed into BLOCK_TS indicates the total number of single transactions to
RW perform for every block transfer. A single transaction is mapped to a single AMBA beat.
Width: The width of the single transaction is determined by CTL0_L.SRC_TR_WIDTH.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 20h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SSTAT
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DSTAT
Bit Default &
Field Name (ID): Description
Range Access
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 30h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SSTATAR
0b Channel Source Status Address (SSTATAR): Pointer from where hardware can fetch
31:0 the source status information, which is registered in the SSTAT0 register and written out
RW to the SSTAT0 register location of the LLI before the start of the next block.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 38h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DSTATAR
Bit Default &
Field Name (ID): Description
Range Access
0b Channel Destination Status Address (DSTATAR): Pointer from where hardware can
31:0 fetch the destination status information, which is registered in the DSTAT0 register and
RW written out to the DSTAT0 register location of the LLI before the start of the next block.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 40h
Default: 00000E00h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
HS_SEL_DST
RELOAD_DST
FIFO_EMPTY
RELOAD_SRC
CH_SUSP
SRC_HS_POL
DST_HS_POL
HS_SEL_SRC
RSV2
RSV1
RSV0
CH_PRIOR
0b
29:20 Reserved (RSV2): Reserved.
RO
0b
17:12 Reserved (RSV1): Reserved.
RW
Channel FIFO empty status (FIFO_EMPTY): Indicates if there is data left in the
1b channel FIFO. Can be used in conjunction with CH_SUSP to cleanly disable a channel.
9
RO 1 = Channel FIFO empty
0 = Channel FIFO not empty
Channel Suspend control (CH_SUSP): Suspends all DMA data transfers from the
source until this bit is cleared. There is no guarantee that the current transaction will
0b complete. Can also be used in conjunction
8 with FIFO_EMPTY to cleanly disable a channel without
RW losing any data.
0 = Not suspended.
1 = Suspend DMA transfer from the source.
0b Channel Priority (CH_PRIOR): Priority value equal to 7 is the highest priority, and 0
7:5 is the lowest. This field must be programmed within the following range: 0: 1
RW A programmed value outside this range will cause erroneous behavior.
0b
4:0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 44h
(Size: 32 bits)
Default: 00000004h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
RSV5
DEST_PER
RSV4
SS_UPD_EN
DS_UPD_EN
FIFO_MODE
SRC_PER
PROTCTL
FCMODE
0b
31:12 Reserved (RSV5): Reserved.
RO
0b
10:8 Reserved (RSV4): Reserved.
RO
AHB bus protocol bus control (PROTCTL): Protection Control bits used to drive the
AHB HPROT[3:1] bus.
001b The AMBA Specification recommends that the default value of HPROT indicates a non-
4:2 cached, non-buffered, privileged data access. The reset value is used to indicate such an
RW access. HPROT[0] is tied high because all transfers are data accesses, as there are no
opcode fetches. There is a one-to-one mapping of these register bits to the HPROT[3:1]
master interface signals.
Channel FIFO mode control (FIFO_MODE): Determines how much space or data
needs to be available in the FIFO before a burst transaction request is serviced.
0b 0 = Space/data available for single AHB transfer of the specified transfer width.
1
RW 1 = Data available is greater than or equal to half the FIFO depth for destination
transfers and space available is greater than half the fifo depth for source transfers. The
exceptions are at the end of a burst transaction request or at the end of a block transfer.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 48h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SGC
SGI
RSV
0b
31:25 Reserved (RSV): Reserved.
RO
Source Gather Count (SGC): Source contiguous transfer count between successive
0b gather boundaries. Specifies the number of contiguous source transfers of
24:20
RW CTL0_L.SRC_TR_WIDTH between successive gather intervals. This is defined as a
gather boundary
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 50h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DSC
DSI
RSV
0b
31:25 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 58h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SAR
Bit Default &
Field Name (ID): Description
Range Access
Current Source Address of DMA transfer (SAR): Updated after each source transfer.
The SINC field in the CTL1_L register determines whether the address increments,
0b decrements, or is left unchanged on every source transfer throughout the block transfer.
31:0
RW
NOTE: Channel 1 is dedicated to the UART controller Transmitted data. Source Address
is a memory address
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 60h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DAR
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 68h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
LOC
Bit Default &
Field Name (ID): Description
Range Access
Starting Address In Memory (LOC): Starting Address In Memory of next LLI if block
chaining is enabled.
0b Note that the two LSBs of the starting address are not stored because the address is
31:2
RW assumed to be aligned to a 32-bit boundary.
LLI accesses are always 32-bit accesses (Hsize = 2) aligned to 32-bit boundaries and
cannot be changed or programmed to anything other than 32-bit.
0b
1:0 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 70h
(Size: 32 bits)
Default: 00304801h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
RSV1
RSV0
INT_EN
SMS
DMS
DST_GATHER_EN
SRC_GATHER_EN
SRC_MSIZE
DEST_MSIZE
SINC
SRC_TR_WIDTH
DST_TR_WIDTH
TT_FC
DINC
0b
31:27 Reserved (RSV1): Reserved.
RO
0b Source AMBA Layer (SMS): Hardcoded the Master interface attached to the source of
26:25
RO channel 1
0b Destination AMBA Layer (DMS): Hardcoded the Master interface attached to the
24:23
RO destination of channel 1
Transfer Type and Flow Control (TT_FC): The following transfer types are
supported:
Code - Type - Flow Controller
--------------------------------------------------
000 - Memory to Memory - DMAC
011b 001 - Memory to Peripheral - DMAC
22:20
RW 010 - Peripheral to Memory - DMAC
011 - Peripheral to Peripheral - DMAC
100 - Peripheral to Memory - Peripheral
101 - Peripheral to Peripheral - Source Peripheral
110 - Memory to Peripheral - Peripheral
111 - Peripheral to Peripheral - Destination Peripheral
0b
19 Reserved (RSV0): Reserved.
RO
1b Interrupt enable (INT_EN): If set, then all interrupt-generating sources are enabled.
0 Functions as a global mask bit for all interrupts for the channel. RAW interrupt registers
RW still assert if INT_EN = 0.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 74h
(Size: 32 bits)
Default: 00000002h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
RSV
BLOCK_TS
0b
31:12 Reserved (RSV): Reserved.
RO
Block length (BLOCK_TS): When the DMAC is the flow controller, the user writes this
002h field before the channel is enabled in order to indicate the block size. The number
11:0 programmed into BLOCK_TS indicates the total number of single transactions to
RW perform for every block transfer. A single transaction is mapped to a single AMBA beat.
Width: The width of the single transaction is determined by CTL1_L.SRC_TR_WIDTH.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 78h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SSTAT
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 80h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DSTAT
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 88h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SSTATAR
0b Channel Source Status Address (SSTATAR): Pointer from where hardware can fetch
31:0 the source status information, which is registered in the SSTAT1 register and written out
RW to the SSTAT1 register location of the LLI before the start of the next block.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 90h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DSTATAR
0b Channel Destination Status Address (DSTATAR): Pointer from where hardware can
31:0 fetch the destination status information, which is registered in the DSTAT1 register and
RW written out to the DSTAT1 register location of the LLI before the start of the next block.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 98h
(Size: 32 bits)
Default: 00000E20h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0
RELOAD_DST
RSV2
DST_HS_POL
RSV1
HS_SEL_DST
CH_SUSP
RSV0
FIFO_EMPTY
SRC_HS_POL
CH_PRIOR
RELOAD_SRC
HS_SEL_SRC
Bit Default &
Field Name (ID): Description
Range Access
0b
29:20 Reserved (RSV2): Reserved.
RO
0b
17:12 Reserved (RSV1): Reserved.
RW
Channel FIFO empty status (FIFO_EMPTY): Indicates if there is data left in the
1b channel FIFO. Can be used in conjunction with CH_SUSP to cleanly disable a channel.
9
RO 1 = Channel FIFO empty
0 = Channel FIFO not empty
Channel Suspend control (CH_SUSP): Suspends all DMA data transfers from the
source until this bit is cleared. There is no guarantee that the current transaction will
0b complete. Can also be used in conjunction
8 with FIFO_EMPTY to cleanly disable a channel without
RW losing any data.
0 = Not suspended.
1 = Suspend DMA transfer from the source.
001b Channel Priority (CH_PRIOR): Priority value equal to 7 is the highest priority, and 0
7:5 is the lowest. This field must be programmed within the following range: 0: 1
RW A programmed value outside this range will cause erroneous behavior.
0b
4:0 Reserved (RSV0): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 9Ch
Default: 00000004h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
FIFO_MODE
FCMODE
RSV5
RSV4
SS_UPD_EN
DS_UPD_EN
DEST_PER
SRC_PER
PROTCTL
Bit Default &
Field Name (ID): Description
Range Access
0b
31:12 Reserved (RSV5): Reserved.
RO
0b
10:8 Reserved (RSV4): Reserved.
RO
AHB bus protocol bus control (PROTCTL): Protection Control bits used to drive the
AHB HPROT[3:1] bus.
001b The AMBA Specification recommends that the default value of HPROT indicates a non-
4:2 cached, non-buffered, privileged data access. The reset value is used to indicate such an
RW access. HPROT[0] is tied high because all transfers are data accesses, as there are no
opcode fetches. There is a one-to-one mapping of these register bits to the HPROT[3:1]
master interface signals.
Channel FIFO mode control (FIFO_MODE): Determines how much space or data
needs to be available in the FIFO before a burst transaction request is serviced.
0b 0 = Space/data available for single AHB transfer of the specified transfer width.
1
RW 1 = Data available is greater than or equal to half the FIFO depth for destination
transfers and space available is greater than half the fifo depth for source transfers. The
exceptions are at the end of a burst transaction request or at the end of a block transfer.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + A0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SGC
SGI
RSV
0b
31:25 Reserved (RSV): Reserved.
RO
Source Gather Count (SGC): Source contiguous transfer count between successive
0b gather boundaries. Specifies the number of contiguous source transfers of
24:20
RW CTL1_L.SRC_TR_WIDTH between successive gather intervals. This is defined as a
gather boundary
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + A8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DSC
DSI
RSV
0b
31:25 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 2C0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RAW
RSV
0b
31:2 Reserved (RSV): Reserved.
RO
0b Raw Status for IntTfr Interrupt (RAW): Interrupt events are stored in this Raw
1:0 Interrupt Status register before masking. Each bit in this register is cleared by writing a
RW 1 to the corresponding location in the correspondent Clear register
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RAW
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Raw Status for IntBlock Interrupt (RAW): Interrupt events are stored in this Raw
1:0 Interrupt Status register before masking. Each bit in this register is cleared by writing a
RW 1 to the corresponding location in the correspondent Clear register
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 2D0h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
RAW
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Raw Status for IntSrcTran Interrupt (RAW): Interrupt events are stored in this Raw
1:0 Interrupt Status register before masking. Each bit in this register is cleared by writing a
RW 1 to the corresponding location in the correspondent Clear register
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RAW
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Raw Status for IntDstTran Interrupt (RAW): Interrupt events are stored in this
1:0 Raw Interrupt Status register before masking. Each bit in this register is cleared by
RW writing a 1 to the corresponding location in the correspondent Clear register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 2E0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
RAW
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Raw Status for IntErr Interrupt (RAW): Interrupt events are stored in this Raw
1:0 Interrupt Status register before masking. Each bit in this register is cleared by writing a
RW 1 to the corresponding location in the correspondent Clear register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 2E8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
STATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Status for IntTfr Interrupt (STATUS): Stores all interrupt events from channels after
1:0
RO masking. One bit allocated per channel. Used to generate the DMAC interrupt signals
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 2F0h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
STATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Status for IntBlock Interrupt (STATUS): Stores all interrupt events from channels
1:0 after masking. One bit allocated per channel. Used to generate the DMAC interrupt
RO signals
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 2F8h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
STATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Status for IntSrcTran Interrupt (STATUS): Stores all interrupt events from channels
1:0 after masking. One bit allocated per channel. Used to generate the DMAC interrupt
RO signals
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 300h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
STATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Status for IntDstTran Interrupt (STATUS): Stores all interrupt events from
1:0 channels after masking. One bit allocated per channel. Used to generate the DMAC
RO interrupt signals
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 308h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
STATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Status for IntErr Interrupt (STATUS): Stores all interrupt events from channels
1:0 after masking. One bit allocated per channel. Used to generate the DMAC interrupt
RO signals
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 310h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
INT_MASK
INT_MASK_WE
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Mask for the interrupt (INT_MASK): Written only if the corresponding mask write
0b enable bit in the INT_MASK_WE field is asserted on the same AHB write transfer. This
1:0 allows software to set a mask bit without performing a read-modified write operation.
RW 0 = masked
1 = unmasked
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
INT_MASK
INT_MASK_WE
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Mask for the interrupt (INT_MASK): Written only if the corresponding mask write
0b enable bit in the INT_MASK_WE field is asserted on the same AHB write transfer. This
1:0 allows software to set a mask bit without performing a read-modified write operation.
RW 0 = masked
1 = unmasked
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 320h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
INT_MASK
INT_MASK_WE
RSV1
RSV0
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Mask for the interrupt (INT_MASK): Written only if the corresponding mask write
0b enable bit in the INT_MASK_WE field is asserted on the same AHB write transfer. This
1:0 allows software to set a mask bit without performing a read-modified write operation.
RW 0 = masked
1 = unmasked
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 328h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
INT_MASK
INT_MASK_WE
RSV1
RSV0
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Mask for the interrupt (INT_MASK): Written only if the corresponding mask write
0b enable bit in the INT_MASK_WE field is asserted on the same AHB write transfer. This
1:0 allows software to set a mask bit without performing a read-modified write operation.
RW 0 = masked
1 = unmasked
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
INT_MASK
INT_MASK_WE
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Mask for the interrupt (INT_MASK): Written only if the corresponding mask write
0b enable bit in the INT_MASK_WE field is asserted on the same AHB write transfer. This
1:0 allows software to set a mask bit without performing a read-modified write operation.
RW 0 = masked
1 = unmasked
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 338h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CLEAR
0b
31:2 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 340h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLEAR
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 348h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CLEAR
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 350h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLEAR
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 358h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
STATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 360h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ERR
DSTT
TFR
RSV
SRCT
BLOCK
0b
31:5 Reserved (RSV): Reserved.
RO
0b
4 OR of the contents of STATUS_ERR (ERR): Reserved.
RO
0b
3 OR of the contents of STATUS_DSTT (DSTT): Reserved.
RO
0b
2 OR of the contents of STATUS_SRCT (SRCT): Reserved.
RO
0b
1 OR of the contents of STATUS_BLOCK (BLOCK): Reserved.
RO
0b
0 OR of the contents of STATUS_TFR (TFR): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SRC_REQ
SRC_REQ_WE
RSV1
RSV0
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
0b Source Software Transaction Request register (SRC_REQ): This bit is written only
1:0 if the corresponding channel write enable bit in the Write Enable field is asserted on the
RW same AHB write transfer, and if the channel is enabled in the CH_EN_REG register
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DST_REQ
DST_REQ_WE
RSV1
RSV0
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
0b Destination Transaction Request register (DST_REQ): This bit is written only if the
1:0 corresponding channel write enable bit in the Write Enable field is asserted on the same
RW AHB write transfer, and if the channel is enabled in the CH_EN_REG register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 378h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
SRC_SGLREQ_WE
SRC_SGLREQ
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DST_SGLREQ_WE
DST_SGLREQ
RSV1
RSV0
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LSTSRC_WE
RSV1
RSV0
LSTSRC
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
0b Source Last Transaction Request register (LSTSRC): This bit is written only if the
1:0 corresponding channel write enable bit in the Write Enable field is asserted on the same
RW AHB write transfer, and if the channel is enabled in the CH_EN_REG register
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LSTDST_WE
LSTDST
RSV1
RSV0
Bit Default &
Field Name (ID): Description
Range Access
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
7:2 Reserved (RSV0): Reserved.
RO
0b Destination Last Transaction Request register (LSTDST): This bit is written only if
1:0 the corresponding channel write enable bit in the Write Enable field is asserted on the
RW same AHB write transfer, and if the channel is enabled in the CH_EN_REG register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 398h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
DMA_EN
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 3A0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
CH_EN
CH_EN_WE
0b
31:10 Reserved (RSV1): Reserved.
RO
0b
9:8 Channel enable register (CH_EN_WE): Reserved.
RW
0b
7:2 Reserved (RSV0): Reserved.
RO
Channel enable register (CH_EN): Setting this bit enables a channel. Clearing this
bit disables the channel.
0 = Disable the Channel
0b 1 = Enable the Channel
1:0
RW The CH_EN_REG.CH_EN bit is automatically cleared by hardware to disable the channel
after the last AMBA transfer of the DMA transfer to the destination has completed.
Software can therefore poll this bit to determine when this channel is free for a new
DMA transfer.
§§
The Intel® Quark™ SoC X1000 has an I2C* controller connected to the I/O Fabric. Both
7-bit and 10-bit addressing modes are supported. This controller operates in master
mode only.
In addition, this PCI function also provides a GPIO controller. The SoC provides a total
of 16 GPIOs that are split between the Legacy Bridge (D:31 F:0) and the GPIO
controller (D:21 F:2). This chapter details the non-Legacy GPIOs provided by the GPIO
controller.
19.1.2 Features
The I2C module can communicate with devices using only these modes as long as they
are attached to the bus. Additionally, fast mode devices are downward compatible.
• Fast mode devices can communicate with standard mode devices in a 0–100 Kb/s
I2C bus system.
However, according to the I2C specification, standard mode devices are not upward
compatible and should not be incorporated in a fast-mode I2C bus system since they
cannot follow the higher transfer rate and unpredictable states would occur.
P or R
D a ta
MSB LSB ACK ACK
fr o m s la v e fro m re c e iv e r
C lo c k
S 1 2 7 8 9 1 2 3 -8 9 R or P
or
R
STOP AND
START or B y t e C o m p le t e S C L h e ld lo w RESTART
RESTART I n t e r r u p t w it h in w h ile s e r v ic in g C o n d it io n s
C o n d it io n s S la v e in t e r r u p t s
When the bus is idle, both the clock and data signals are pulled high through external
pull-up resistors on the bus.
When the master wants to start a transmission on the bus, the master issues a START
condition.
• This is defined to be a high-to-low transition of the data signal while clock is a ‘1’.
• When the master wants to terminate the transmission, the master issues a STOP
condition. This is defined to be a low-to-high transition of the data line while clock
is a 1. Figure 40 shows the timing of the START and STOP conditions.
• When data is being transmitted on the bus, the data line must be stable when clock
is a 1.
Figure 40. START and STOP Conditions
Data
Clock
The signal transitions for the START/STOP conditions, as depicted above, reflect those
observed at the output of the Master driving the I2C bus. Care should be taken when
observing the data/clock signals at the input of the Slave(s), because unequal line
delays may result in an incorrect data/clock timing relationship.
There are two address formats—7-bit address format and 10-bit address format.
• When bit 0 (R/W) is set to 0, the master writes to the slave. When bit 0 (R/W) is
set to 1, the master reads from the slave.
MSB LS B
S A6 A5 A4 A3 A2 A1 A0 R /W ACK
sen t by
S lave A d dress slave
General Call Address—The I2C controller places the data in the receive
0000 000 0
buffer and issues a General Call interrupt.
0000 000 1 START byte—For more details, refer to I2C bus specification section 3.15.
The master can initiate data transmission and reception to/from the bus, acting as
either a master-transmitter or master-receiver. A slave responds to requests from the
master by either transmitting data or receiving data to/from the bus, acting as either a
slave-transmitter or slave-receiver, respectively.
All data is transmitted in byte format, with no limit on the number of bytes transferred
per data transfer. After the master sends the address and RW bit or the master
transmits a byte of data to the slave, the slave-receiver must respond with the
acknowledge signal (ACK). When a slave-receiver does not respond with an ACK pulse,
the master aborts the transfer by issuing a STOP condition. The slave must leave the
SDA line high so that the master can abort the transfer.
If the master-transmitter is transmitting data as shown in Figure 43, then the slave-
receiver responds to the master-transmitter with an acknowledge pulse after every
byte of data is received.
F o r 7 - b it A d d r e s s
S S la v e A d d r e s s R /W A DATA A DATA A /A P
0 ' ( w r it e )
F o r 1 0 - b it A d d r e s s
S la v e A d d r e s s S la v e A d d r e s s
S R /W A A DATA A /A P
F ir s t 7 b it s S e c o n d B y te
0 ' ( w r it e )
‘1 1 1 1 0 x x x ’
A = A c k n o w le d g e ( S D A lo w )
F r o m M a s te r to S la v e A = N o A c k n o w le d g e ( S D A h ig h )
S = S T A R T C o n d it io n
F r o m S la v e to M a s te r
P = S T O P C o n d it io n
If the master is receiving data as shown in Figure 44, the master responds to the
Slave-Transmitter with an acknowledge pulse after a byte of data has been received,
except for the last byte. This is the way the Master-Receiver notifies the Slave-
Transmitter that this is the last byte. The Slave-Transmitter relinquishes the SDA line
after detecting the No Acknowledge (NACK) so that the master can issue a STOP
condition.
When a master does not want to relinquish the bus with a STOP condition, the master
can issue a RESTART condition. This is identical to a START condition except it occurs
after the ACK pulse. The master can then communicate with the same slave or a
different slave.
‘1’ (read)
For 10-bit Address
Slave Address Slave Address Slave Address
S R/W A A Sr R/W A DATA A P
First 7 bits Second Byte First 7 bits
The START BYTE Transfer protocol is set up for systems that do not have an on-board
dedicated I2C hardware module. When the I2C controller is a master, it supports the
generation of START BYTE transfers at the beginning of every transfer in case a slave
device requires it. This protocol consists of 7 ‘0’s being transmitted followed by a 1, as
illustrated in Figure 45. This allows the processor that is polling the bus to under-
sample the address phase until 0s are detected. Once the microcontroller detects a 0, it
switches from the under sampling rate to the correct rate of the master.
(HIGH)
Clock 1 2 7 8 9
S Sr
ACK
Start byte 00000001
A hardware receiver does not respond to the START BYTE because it is a reserved
address and resets after the RESTART condition is generated.
19.1.3 Use
RESTART and STOP conditions are generated only under software control through
specific IC_DATA_CMD fields. When the Transmit FIFO is empty the I2C controller does
not automatically generate a STOP condition and pauses the I2C bus by holding SCL
low. As part of the command definition (IC_DATA_CMD) software must specify if a
particular command is going to be followed by a STOP or RESTART condition by setting
either IC_DATA_CMD.STOP or IC_DATA_CMD.RESTART.
The I2C controller supports switching back and forth between reading and writing
dynamically. To transmit data, write the data to be written to the lower byte of the I2C
Rx/Tx Data Buffer and Command Register (IC_DATA_CMD). The IC_DATA_CMD.CMD
should be written to 0 for I2C write operations. Subsequently, a read command may be
issued by writing “don't cares” to IC_DATA_CMD.DAT register bits, and a 1 should be
written to the IC_DATA_CMD.CMD bit.
Procedure
1. Define a timer interval (ti2c_poll) equal to 10 times the signaling period for the
highest I2C transfer speed used in the system and supported by the I2C controller.
For example, if the highest I2C transfer mode is 400Kb/s, then this ti2c_poll is 25 µs.
2. Define a maximum time-out parameter, MAX_T_POLL_COUNT, such that if any
repeated polling operation exceeds this maximum value, an error is reported.
3. Execute a blocking thread/process/function that prevents any further I2C master
transactions to be started by software, but allows any pending transfers to be
completed.
4. The variable POLL_COUNT is initialized to zero (0).
5. Set IC_ENABLE.ENABLE to zero (0).
6. Read the IC_ENABLE_STATUS.IC_EN bit. Increment POLL_COUNT by one. If
POLL_COUNT >= MAX_T_POLL_COUNT, exit with the relevant error code.
7. If IC_ENABLE_STATUS.IC_EN is 1, then sleep for ti2c_poll and proceed to the
previous step. Otherwise, exit with a relevant success code.
19.1.4 References
UM10204 I2C-Bus Specification and User Manual, Revision 03
I/O
GPIO[7:0] General Purpose IO available in the S0 state
CMOS3.3
19.2.2 Features
The GPIO Controller provides 8 GPIO pins via Port A of the controller.
• 8 Independently configurable GPIOs
• Separate data register and data direction for each GPIO
• Interrupt source mode supported for each GPIO
• Debounce logic for interrupt sources
• Metastability registers for GPIO read data
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI I2C*/GPIO
CAM Memory
PCI Header
(I/O) Space
D:21,F:2
Bus 0
PCI
ECAM
(Mem)
BAR1
PCIe* RP0 F:0
D:23
SPI1 F:1
2
I C*/GPIO F:2
I2C* Mem
Legacy Bridge Registers
D:31, F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 745 00000000h
14h 17h “Base Address Register (BAR1)—Offset 14h” on page 745 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 746 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 747 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 748 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 748 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 750 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 750 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 751 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 752 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 753 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 754 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 755 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 0934h
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0
value
Bit Default &
Description
Range Access
0934h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
IntrDis
RSVD
SERREn
RSVD
MasEn
MEMen
RSVD
Bit Default &
Description
Range Access
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
capable_66Mhz
RcdMasAb
RSVD0
DEVSEL
FastB2B
hasCapList
RSVD1
SigSysErr
RSVD
RSVD
RSVD
IntrStatus
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 0C800010h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
progIntf
classCode
subClassCode
rev_id
Bit Default &
Description
Range Access
0Ch Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
80h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
00h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
start_bist
RSVD
comp_code
BIST_capable
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD
prefetchable
memType
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD
memType
prefetchable
isIO
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM_base_addr
RSVD
AddrDecodeEn
Bit Default &
Description
Range Access
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
value
RSVD0
Bit Default &
Description
Range Access
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
03h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
Bit Default &
Description
Range Access
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
D2_support
DSI
PME_support
D1_support
aux_curr
PME_clock
RSVD
version
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
PME_status
PME_en
RSVD
RSVD
Data_scale
Data_select
power_state
Bit Default &
Description no_soft_reset
Range Access
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
MSIEnable
RSVD0
perVecMskCap
bit64Cap
multiMsgCap
multiMsgEn
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
address
RSVD0
Bit Default &
Description
Range Access
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
value
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
10h 13h “Data Buffer and Command (IC_DATA_CMD)—Offset 10h” on page 758 00000000h
14h 17h “Standard Speed Clock SCL High Count (IC_SS_SCL_HCNT)—Offset 14h” on page 759 00000190h
18h 1Bh “Standard Speed Clock SCL Low Count (IC_SS_SCL_LCNT)—Offset 18h” on page 760 000001D6h
1Ch 1Fh “Fast Speed Clock SCL High Count (IC_FS_SCL_HCNT)—Offset 1Ch” on page 760 0000003Ch
20h 23h “Fast Speed Clock SCL Low Count (IC_FS_SCL_LCNT)—Offset 20h” on page 761 00000082h
34h 37h “Raw Interrupt Status (IC_RAW_INTR_STAT)—Offset 34h” on page 764 00000000h
38h 3Bh “Receive FIFO Threshold Level (IC_RX_TL)—Offset 38h” on page 766 0000000Fh
3Ch 3Fh “Transmit FIFO Threshold Level (IC_TX_TL)—Offset 3Ch” on page 766 00000000h
40h 43h “Clear Combined and Individual Interrupt (IC_CLR_INTR)—Offset 40h” on page 767 00000000h
44h 47h “Clear RX_UNDER Interrupt (IC_CLR_RX_UNDER)—Offset 44h” on page 767 00000000h
48h 4Bh “Clear RX_OVER Interrupt (IC_CLR_RX_OVER)—Offset 48h” on page 768 00000000h
4Ch 4Fh “Clear TX_OVER Interrupt (IC_CLR_TX_OVER)—Offset 4Ch” on page 768 00000000h
50h 53h “Clear RD_REQ Interrupt (IC_CLR_RD_REQ)—Offset 50h” on page 769 00000000h
54h 57h “Clear TX_ABRT Interrupt (IC_CLR_TX_ABRT)—Offset 54h” on page 769 00000000h
5Ch 5Fh “Clear ACTIVITY Interrupt (IC_CLR_ACTIVITY)—Offset 5Ch” on page 770 00000000h
60h 63h “Clear STOP_DET Interrupt (IC_CLR_STOP_DET)—Offset 60h” on page 770 00000000h
64h 67h “Clear START_DET Interrupt (IC_CLR_START_DET)—Offset 64h” on page 771 00000000h
74h 77h “Transmit FIFO Level (IC_TXFLR)—Offset 74h” on page 773 00000000h
78h 7Bh “Receive FIFO Level (IC_RXFLR)—Offset 78h” on page 774 00000000h
80h 83h “Transmit Abort Source (IC_TX_ABRT_SOURCE)—Offset 80h” on page 775 00000000h
A0h A3h “SS and FS Spike Suppression Limit (IC_FS_SPKLEN)—Offset A0h” on page 777 00000007h
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 0h
Default: 00000037h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1
IC_10BITADDR_MASTER
SPEED
MASTER_MODE
RSVD0
RSVD1
IC_RESTART_EN
Bit Default &
Field Name (ID): Description
Range Access
0b
31:6 RSVD0: Reserved
RO
0b
3 RSVD1: Reserved
RO
Speed Mode (SPEED): I2C Master operational speed. Relevant only if Master is
11b enabled (MASTER_MODE==1).
2:1
RW 01: standard mode (100 kbit/s)
10: fast mode (400 kbit/s)
1b Master Mode Enable (MASTER_MODE): controls whether the I2C master is enabled.
0 0: master disabled
RW 1: master enabled
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 4h
(Size: 32 bits)
Default: 00000055h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1
IC_TAR
RSV
RSVD0
Bit Default &
Field Name (ID): Description
Range Access
00000h
31:12 Reserved (RSV): Reserved.
RO
0b
11:10 RSVD0: Reserved
RO
Master Target Address (IC_TAR): This is the target address for any master
transaction. To generate a START BYTE, the CPU needs to write only once into these
055h bits.
9:0 If the IC_TAR and IC_SAR are the same, loopback exists but the FIFOs are shared
RW between master and slave, so full loopback is not feasible. Only one direction loopback
mode is supported (simplex), not duplex. A master cannot transmit to itself; it can
transmit to only a slave.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 10h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RESTART
DAT
RSV
STOP
CMD
0b
31:11 Reserved (RSV): Reserved.
RO
Restart Bit Control (RESTART): This bit controls whether a RESTART is issued before
the byte is sent or received.
- 1 if IC_RESTART_EN is 1, a RESTART is issued before the data is sent/received
0b (according to the value of CMD), regardless of whether or not the transfer direction is
10 changing from the previous command; if IC_RESTART_EN is 0, a STOP followed by a
WO START is issued instead.
- 0 If IC_RESTART_EN is 1, a RESTART is issued only if the transfer direction is changing
from the previous command; if IC_RESTART_EN is 0, a STOP followed by a START is
issued instead
Stop Bit Control (STOP): This bit controls whether a STOP is issued after the byte is
sent or received:
- 1 STOP is issued after this byte, regardless of whether or not the Tx FIFO is empty. If
the Tx FIFO is not empty, the master immediately tries to start a new transfer by issuing
0b a START and arbitrating for the bus.
9
WO - 0 STOP is not issued after this byte, regardless of whether or not the Tx FIFO is empty.
If the Tx FIFO is not empty, the master continues the current transfer by sending/
receiving data bytes according to the value of the CMD bit. If the Tx FIFO is empty, the
master holds the SCL line low and stalls the bus until a new command is available in the
Tx FIFO.
Command (CMD): This bit controls whether a read or a write is performed. This bit
controls the direction only in I2C master mode.
0 = Write
1 = Read
0b When a command is entered in the TX FIFO, this bit distinguishes the write and read
8 commands. If a '1' is written to this bit after receiving a RD_REQ interrupt, then a
WO TX_ABRT interrupt occurs.
NOTE: It is possible that while attempting a master I2C read transfer, a RD_REQ
interrupt may have occurred simultaneously due to a remote I2C master addressingI2C
controller. In this type of scenario, the I2C controller ignores the IC_DATA_CMD write,
generates a TX_ABRT interrupt, and waits to service the RD_REQ interrupt.
Data Buffer (DAT): Contains the data to be transmitted or received on the I2C bus.
0b When writing to this register and want to perform a read, DAT field is ignored by the I2C
7:0 controller.
RW When reading this register, DAT return the value of data received on the I2C controller
interface.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 14h
(Size: 32 bits)
Default: 00000190h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0
IC_SS_SCL_HCNT
RSV
0b
31:16 Reserved (RSV): Reserved.
RO
SS SCL clock high-period count (IC_SS_SCL_HCNT): Must be set before any I2C
bus transaction can take place to ensure proper I/O timing.
0190h The minimum valid value is 6; hardware prevents values less than this being written,
15:0 and if attempted results in 6 being set.
RW This register must not be programmed to a value higher than 65525, because I2C
controller uses a 16-bit counter to flag an I2C bus idle condition when this counter
reaches a value of IC_SS_SCL_HCNT + 10.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 18h
Default: 000001D6h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0
RSV
IC_SS_SCL_LCNT
Bit Default &
Field Name (ID): Description
Range Access
0b
31:16 Reserved (RSV): Reserved.
RO
SS SCL clock low-period count (IC_SS_SCL_LCNT): Must be set before any I2C bus
01d6h transaction can take place to ensure proper I/O timing.
15:0
RW The minimum valid value is 8; hardware prevents values less than this being written,
and if attempted results in 8 being set.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 1Ch
Default: 0000003Ch
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0
IC_FS_SCL_HCNT
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:16 Reserved (RSV): Reserved.
RO
FS SCL clock high-period count (IC_FS_SCL_HCNT): Must be set before any I2C
003ch bus transaction can take place to ensure proper I/O timing.
15:0
RW The minimum valid value is 6; hardware prevents values less than this being written,
and if attempted results in 6 being set.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 20h
(Size: 32 bits)
Default: 00000082h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0
IC_FS_SCL_LCNT
RSV
0b
31:16 Reserved (RSV): Reserved.
RO
FS SCL clock low-period count (IC_FS_SCL_LCNT): Must be set before any I2C bus
0082h transaction can take place to ensure proper I/O timing.
15:0
RW The minimum valid value is 8; hardware prevents values less than this being written,
and if attempted results in 8 being set.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 2Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
R_START_DET
R_STOP_DET
RSVD1
R_TX_OVER
R_RX_OVER
R_ACTIVITY
R_TX_ABRT
R_RX_FULL
R_RX_UNDER
RSV
R_RD_REQ
R_TX_EMPTY
Bit Default &
Field Name (ID): Description
Range Access
0b
31:12 Reserved (RSV): Reserved.
RO
0b
11 RSVD0: Reserved
RO
Activity (R_ACTIVITY): This bit captures I2C controller activity and stays set until it is
cleared. There are four ways to clear it:
- Disabling the controller
0b - Reading the IC_CLR_ACTIVITY register
8 - Reading the IC_CLR_INTR register
RO - System reset
Once this bit is set, it stays set unless one of the four methods is used to clear it. Even if
the controller is idle, this bit remains set until cleared, indicating that there was activity
on the bus
0b
7 RSVD1: Reserved
RO
TX Abort (R_TX_ABRT): This bit indicates if the I2C controller, in transmitter mode, is
unable to complete the intended actions on the contents of the transmit FIFO. This
situation is referred to as a 'transmit abort'. When this bit is set to 1, the
IC_TX_ABRT_SOURCE register indicates the reason why the transmit abort takes
0b places.
6
RO
NOTE: The controller flushes/resets/empties the TX FIFO whenever this bit is set. The
TX FIFO remains in this flushed state until the register IC_CLR_TX_ABRT is read. Once
this read is performed, the TX FIFO is then ready to accept more data bytes for
transmission
Read Requested (R_RD_REQ): This bit is set to 1 when I2C controller is acting as a
slave and another I2C master is attempting to read data from it. The controller holds the
0b I2C bus in a wait state (SCL=0) until this interrupt is serviced, which means that the
5 slave has been addressed by a remote master that is asking for data to be transferred.
RO The processor must respond to this interrupt and then write the requested data to the
IC_DATA_CMD register. This bit is set to 0 just after the processor reads the
IC_CLR_RD_REQ register
TX Empty (R_TX_EMPTY): This bit is set to 1 when the transmit buffer is at or below
the threshold value set in the IC_TX_TL register. It is automatically cleared by hardware
0b when the buffer level goes above the threshold. When the IC_ENABLE bit 0 is 0, the TX
4
RO FIFO is flushed and held in reset. There the TX FIFO looks like it has no data within it, so
this bit is set to 1, provided there is activity in the master state machine. When there is
no longer activity, then with ic_en=0, this bit is set to 0.
RX Full (R_RX_FULL): Set when the receive buffer reaches or goes above the RX_TL
threshold in the IC_RX_TL register. It is automatically cleared by hardware when buffer
0b level goes below the threshold. If the module is disabled (IC_ENABLE[0]=0), the RX
2
RO FIFO is flushed and held in reset; therefore the RX FIFO is not full. So this bit is cleared
once the IC_ENABLE bit 0 is programmed with a 0, regardless of the activity that
continues
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 30h
Default: 0000005Fh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1
M_START_DET
M_STOP_DET
M_ACTIVITY
M_TX_ABRT
RSV
M_TX_EMPTY
RSVD0
RSVD1
RSVD2
M_TX_OVER
M_RX_FULL
M_RX_OVER
M_RX_UNDER
Bit Default &
Field Name (ID): Description
Range Access
0b
31:12 Reserved (RSV): Reserved.
RO
0b
11 RSVD0: Reserved
RO
Activity Mask (M_ACTIVITY): This bit captures I2C controller activity and stays set
until it is cleared. There are four ways to clear it:
- Disabling the controller
0b - Reading the IC_CLR_ACTIVITY register
8 - Reading the IC_CLR_INTR register
RW - System reset
Once this bit is set, it stays set unless one of the four methods is used to clear it. Even if
the controller is idle, this bit remains set until cleared, indicating that there was activity
on the bus
0b
7 RSVD1: Reserved
RO
TX Abort Mask (M_TX_ABRT): This bit indicates if the I2C controller, in transmitter
mode, is unable to complete the intended actions on the contents of the transmit FIFO.
This situation is referred to as a 'transmit abort'. When this bit is set to 1, the
IC_TX_ABRT_SOURCE register indicates the reason why the transmit abort takes
1b places.
6
RW
NOTE: The controller flushes/resets/empties the TX FIFO whenever this bit is set. The
TX FIFO remains in this flushed state until the register IC_CLR_TX_ABRT is read. Once
this read is performed, the TX FIFO is then ready to accept more data bytes for
transmission
0b
5 RSVD2: Reserved
RO
TX Empty Mask (M_TX_EMPTY): This bit is set to 1 when the transmit buffer is at or
below the threshold value set in the IC_TX_TL register. It is automatically cleared by
1b hardware when the buffer level goes above the threshold. When the IC_ENABLE bit 0 is
4
RW 0, the TX FIFO is flushed and held in reset. There the TX FIFO looks like it has no data
within it, so this bit is set to 1, provided there is activity in the master state machine.
When there is no longer activity, then with ic_en=0, this bit is set to 0. Reset value
TX Overflow Mask (M_TX_OVER): Set during transmit if the transmit buffer is filled
1b to 16 items and the processor attempts to issue another I2C command by writing to the
3
RW IC_DATA_CMD register. When the module is disabled, this bit keeps its level until the
master state machine goes into idle, and when ic_en goes to 0, this interrupt is cleared
RX Full Mask (M_RX_FULL): Set when the receive buffer reaches or goes above the
RX_TL threshold in the IC_RX_TL register. It is automatically cleared by hardware when
1b buffer level goes below the threshold. If the module is disabled (IC_ENABLE[0]=0), the
2
RW RX FIFO is flushed and held in reset; therefore the RX FIFO is not full. So this bit is
cleared once the IC_ENABLE bit 0 is programmed with a 0, regardless of the activity
that continues
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 34h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RX_UNDER
RX_FULL
RSV
START_DET
STOP_DET
ACTIVITY
TX_ABRT
TX_EMPTY
TX_OVER
RX_OVER
RSVD0
RSVD1
RSVD2
Bit Default &
Field Name (ID): Description
Range Access
0b
31:12 Reserved (RSV): Reserved.
RO
0b
11 RSVD0: Reserved
RO
0b Stop Detected (STOP_DET): Indicates whether a STOP condition has occurred on the
9
RO I2C interface.
Activity (ACTIVITY): This bit captures I2C controller activity and stays set until it is
cleared. There are four ways to clear it:
- Disabling the controller
0b - Reading the IC_CLR_ACTIVITY register
8 - Reading the IC_CLR_INTR register
RO - System reset
Once this bit is set, it stays set unless one of the four methods is used to clear it. Even if
the controller is idle, this bit remains set until cleared, indicating that there was activity
on the bus
0b
7 RSVD1: Reserved
RO
TX Abort (TX_ABRT): This bit indicates if the I2C controller, in transmitter mode, is
unable to complete the intended actions on the contents of the transmit FIFO. This
situation is referred to as a 'transmit abort'. When this bit is set to 1, the
IC_TX_ABRT_SOURCE register indicates the reason why the transmit abort takes
0b places.
6
RO
NOTE: The controller flushes/resets/empties the TX FIFO whenever this bit is set. The
TX FIFO remains in this flushed state until the register IC_CLR_TX_ABRT is read. Once
this read is performed, the TX FIFO is then ready to accept more data bytes for
transmission
0b
5 RSVD2: Reserved
RO
TX Empty (TX_EMPTY): This bit is set to 1 when the transmit buffer is at or below the
threshold value set in the IC_TX_TL register. It is automatically cleared by hardware
0b when the buffer level goes above the threshold. When the IC_ENABLE bit 0 is 0, the TX
4
RO FIFO is flushed and held in reset. There the TX FIFO looks like it has no data within it, so
this bit is set to 1, provided there is activity in the master state machine. When there is
no longer activity, then with ic_en=0, this bit is set to 0.
RX Full (RX_FULL): Set when the receive buffer reaches or goes above the RX_TL
threshold in the IC_RX_TL register. It is automatically cleared by hardware when buffer
0b level goes below the threshold. If the module is disabled (IC_ENABLE[0]=0), the RX
2
RO FIFO is flushed and held in reset; therefore the RX FIFO is not full. So this bit is cleared
once the IC_ENABLE bit 0 is programmed with a 0, regardless of the activity that
continues
RX Overflow (RX_OVER): Set if the receive buffer is completely filled to 16 items and
0b an additional byte is received from an external I2C device. The I2C Controller
1 acknowledges this, but any data bytes received after the FIFO is full are lost. If the
RO module is disabled (IC_ENABLE[0]=0), this bit keeps its level until the master state
machine goes into idle, and when ic_en goes to 0, this interrupt is cleared.
RX Underflow (RX_UNDER): Set if the processor attempts to read the receive buffer
0b when it is empty by reading from the IC_DATA_CMD register. If the module is disabled
0
RO (IC_ENABLE[0]=0), this bit keeps its level until the master state machine goes into idle,
and when ic_en goes to 0, this interrupt is cleared.
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 38h
(Size: 32 bits)
Default: 0000000Fh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
RX_TL
RSV
0b
31:8 Reserved (RSV): Reserved.
RO
Receive FIFO Threshold Level (RX_TL): The valid range is 0-255, with the additional
0Fh restriction that hardware does not allow this value to be set to a value larger than the
7:0 depth of the buffer. If an attempt is made to do that, the actual value set will be the
RW maximum depth of the buffer. A value of 0 sets the threshold for 1 entry, and a value of
255 sets the threshold for 256 entries
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 3Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TX_TL
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Transmit FIFO Threshold Level (TX_TL): The valid range is 0-255, with the
00h additional restriction that it may not be set to value larger than the depth of the buffer.
7:0 If an attempt is made to do that, the actual value set will be the maximum depth of the
RW buffer. A value of 0 sets the threshold for 0 entries, and a value of 255 sets the
threshold for 255 entries
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 40h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLR_INTR
RSV
0b
31:1 Reserved (RSV): Reserved.
RO
0b Clear Combined and Individual Interrupt (CLR_INTR): This bit does not clear
0 hardware clearable interrupts but clears the software clearable interrupts. Refer to Bit 9
RO of the IC_TX_ABRT_SOURCE register for an exception to clearing IC_TX_ABRT_SOURCE
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 44h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLR_RX_UNDER
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 48h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLR_RX_OVER
RSV
0b
31:1 Reserved (RSV): Reserved.
RO
0b Clear RX_OVER (CLR_RX_OVER): Read this register to clear the RX_OVER interrupt
0
RO (bit 1) of the IC_RAW_INTR_STAT
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 4Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLR_TX_OVER
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
0b Clear TX_OVER (CLR_TX_OVER): Read this register to clear the TX_OVER interrupt
0
RO (bit 3) of the IC_RAW_INTR_STAT
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 50h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CLR_RD_REQ
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
0b Clear RD_REQ (CLR_RD_REQ): Read this register to clear the RD_REQ interrupt (bit
0
RO 5) of the IC_RAW_INTR_STAT
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 54h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLR_TX_ABRT
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
Clear TX_ABRT (CLR_TX_ABRT): Read this register to clear the TX_ABRT interrupt
0b (bit 6) of the IC_RAW_INTR_STAT register, and the IC_TX_ABRT_SOURCE register. This
0 also releases the TX FIFO from the flushed/reset state, allowing more writes to the TX
RO FIFO. Refer to Bit 9 of the IC_TX_ABRT_SOURCE register for an exception to clearing
IC_TX_ABRT_SOURCE
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 5Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLR_TX_ABRT
RSV
0b
31:1 Reserved (RSV): Reserved.
RO
Clear ACTIVITY (CLR_TX_ABRT): Reading this register clears the ACTIVITY interrupt
0b if the I2C is not active anymore. If the I2C module is still active on the bus, the
0 ACTIVITY interrupt bit continues to be set. It is automatically cleared by hardware if the
RO module is disabled and if there is no further activity on the bus. The value read from this
register to get status of the ACTIVITY interrupt (bit 8) of the IC_RAW_INTR_STAT
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CLR_STOP_DET
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 64h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CLR_START_DET
0b
31:1 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 6Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ENABLE
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
Enable I2C Controller (ENABLE): 0: Disabled (TX/RX FIFOs are held in an erased
state)
1: Enabled
NOTE: ensure that the controller is disabled properly. When disabled, the following
occurs:
0b - The TX FIFO and RX FIFO get flushed.
0
RW - Status bits in the IC_INTR_STAT register are still active until the I2C Controller goes
into IDLE state.
If the module is transmitting, it stops as well as deletes the contents of the transmit
buffer after the current transfer is complete.
If the module is receiving, the controller stops the current transfer at the end of the
current byte and does not acknowledge the transfer.
There is a two I2C clocks delay when enabling or disabling the controller
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 70h
(Size: 32 bits)
Default: 00000006h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
MST_ACTIVITY
ACTIVITY
RSV
RFNE
TFE
RSVD0
RFF
TFNF
0b
31:7 Reserved (RSV): Reserved.
RO
0b
6 RSVD0: Reserved
RO
Master FSM Activity Status (MST_ACTIVITY): When the Master Finite State
Machine (FSM) is not in the IDLE state, this bit is set.
0b 0: Master FSM is in IDLE state so the Master part is not Active
5
RO 1: Master FSM is not in IDLE state so the Master part is Active
NOTE: IC_STATUS[0]-that is, ACTIVITY bit-is the OR of SLV_ACTIVITY and
MST_ACTIVITY bits
Receive FIFO Completely Full (RFF): When the receive FIFO is completely full, this
0b bit is set. When the receive FIFO contains one or more empty location, this bit is
4 cleared.
RO 0: Receive FIFO is not full
1: Receive FIFO is full
Receive FIFO Not Empty (RFNE): This bit is set when the receive FIFO contains one
0b or more entries; it is cleared when the receive FIFO is empty.
3
RO 0: Receive FIFO is empty
1: Receive FIFO is not empty
Transmit FIFO Completely Empty (TFE): When the transmit FIFO is completely
1b empty, this bit is set. When it contains one or more valid entries, this bit is cleared. This
2 bit field does not request an interrupt.
RO 0: Transmit FIFO is not empty
1: Transmit FIFO is empty
Transmit FIFO Not Full (TFNF): Set when the transmit FIFO contains one or more
1b empty locations, and is cleared when the FIFO is full.
1
RO 0: Transmit FIFO is full
1: Transmit FIFO is not full
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 74h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TXFLR
RSV
0b
31:5 Reserved (RSV): Reserved.
RO
0b Transmit FIFO Level (TXFLR): Contains the number of valid data entries in the
4:0
RO transmit FIFO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + 78h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RXFLR
RSV
0b
31:5 Reserved (RSV): Reserved.
RO
0b Receive FIFO Level (RXFLR): Contains the number of valid data entries in the receive
4:0
RO FIFO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 7Ch
Default: 00000001h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
IC_SDA_HOLD
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:16 Reserved (RSV): Reserved.
RO
0001h SDA Hold (IC_SDA_HOLD): Sets the required SDA hold time in units of the I2C clock
15:0
RW period.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 80h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ARB_LOST
ABRT_10B_RD_NORSTRT
ABRT_SBYTE_ACKDET
ABRT_7B_ADDR_NOACK
ABRT_SBYTE_NORSTRT
ABRT_TXDATA_NOACK
ABRT_10ADDR2_NOACK
ABRT_10ADDR1_NOACK
RSV
ABRT_MASTER_DIS
RSVD0
RSVD1
RSVD2
0b
31:16 Reserved (RSV): Reserved.
RO
0b
15:13 RSVD0: Reserved
RO
0b
12 Master Lost Arbitration (ARB_LOST): Set if master has lost arbitration
RO
0b
8 RSVD1: Reserved
RO
0b
6:4 RSVD2: Reserved
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR0] + 9Ch
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
RSVD0
IC_EN
0b
31:3 Reserved (RSV): Reserved.
RO
0b
2:1 RSVD0: Reserved
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR0] + A0h
(Size: 32 bits)
Default: 00000007h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
RSV
IC_FS_SPKLENRX_TL
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
07h I2C SS and FS Spike Length (IC_FS_SPKLENRX_TL): Must be set before any I2C
7:0
RW bus transaction can take place to ensure stable operation.
44h 47h “Raw Interrupt Status (GPIO_RAW_INTSTATUS)—Offset 44h” on page 782 00000000h
50h 53h “Port A External Port (GPIO_EXT_PORTA)—Offset 50h” on page 784 00000000h
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 0h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_SWPORTA_DR
0b
31:8 Reserved (RSV): Reserved.
RO
Port Data (GPIO_SWPORTA_DR): Values written to this register are output on the I/
0b O signals for if the corresponding data direction bits are set to Output mode and the
7:0
RW corresponding control bit for the Port is set to Software mode. The value read back is
equal to the last value written to this register
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 4h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
GPIO_SWPORTA_DDR
RSV
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) Offset: [BAR1] + 30h
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_INTEN
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 34h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_INTMASK
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 38h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_INTYPE_LEVEL
0b
31:8 RSV: Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 3Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_INT_POLARITY
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 40h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_INTSTATUS
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
GPIO_RAW_INTSTATUS
RSV
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_DEBOUNCE
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 4Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
GPIO_PORTA_EOI
RSV
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 50h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_EXT_PORTA
Bit Default &
Field Name (ID): Description
Range Access
0b
31:8 Reserved (RSV): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register Offset: [BAR1] + 60h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
GPIO_LS_SYNC
Bit Default &
Field Name (ID): Description
Range Access
0b
31:1 Reserved (RSV): Reserved.
RO
§§
The Intel® Quark™ SoC X1000 implements two SPI controllers that support master
mode.
20.2 Features
Compliant with the Motorola* Serial Peripheral Interface:
• supports master mode only
• supports one slave select output
• supports MSB first transfer only
• supports SCLK frequencies up to 25 MHz
• does not support slave mode operation
• does not support SPI boot
• does not support wait mode
Four pins are used to transfer data between the CPU and external device:
• SCLK defines the bit rate at which serial data is driven onto, and sampled from, the
bus;
• SS_B or CS defines the boundaries of a basic data “unit”, comprised of multiple
serial bits.
• MOSI or SDO is the serial data path for outbound data, from system to peripheral
• MISO or SDI is the serial data path for inbound data, from peripheral to system
Serial data is transferred between the system and an external peripheral through FIFOs
in the SPI. Transfers are initiated by the host processor and data is transferred over a
single transfer. Operation is full duplex. Separate FIFOs and serial data paths allow
simultaneous transfers in both directions to/from the external peripheral. Transfer is
started when either new data is available in the transmit FIFO or memory is available in
the receive FIFO. Transfer is terminated when either new data is not available in the
transmit FIFO or memory is not available in the receive FIFO.
Figure 47. Generic SPI Waveform
There are two separate and independent FIFOs for “incoming” (from peripheral) and
“outgoing” (to peripheral) serial data. FIFOs are filled or emptied by single transfers or
SRAM-like bursts initiated by the system processor. Both FIFO’s are the same size and
arranged as 32-word positions that are a maximum of 32-bits wide. FIFO word width is
programmable from 4 to 32 bits. When FIFO width is programmed to less than a 32-bit
width, only the programmed numbers of bits are available in all word positions.
Each FIFO consists of a dual-port register file with control circuitry to make it work as a
FIFO, with independent read and write ports. Single FIFO write bursts may be between
1 and 32 words in length, and between 4 and 32 bits per word thus transferring from 4
bits up to 1024 data samples per burst. Also continuous operation is possible by
keeping the transmit FIFO loaded with data for much larger data transfers.
FIFO filling and emptying may be performed by the system processor in response to an
interrupt from the FIFO logic. Each FIFO has a programmable threshold at which an
interrupt is triggered. When the threshold value is exceeded, an interrupt is generated
which, if enabled, signals the host processor to empty an “inbound” FIFO or to refill an
“outbound” FIFO.
The system can also poll status bits to learn how full a FIFO is.
Two clock synthesis stages are implemented to achieve different SPI baud-rates:
• an internal clock (clk_ssp) is generated from the input reference clock based on the
value of SPI_DDS_RATE.DDS_CLK_RATE[23:0].clk_ssp is used in the SPI unit to
clock the logic interfacing the SPI link and to generate SCLK. The relationship
between sys_clk and ssp_clk frequencies is expressed by
fclk_ssp = fsys_clk (DDS_CLK_RATE/224)
• clk_ssp is used to generate SCLK. The relationship between ssp_clk and SCLK
frequencies is expressed by
fSCLK = fclk_ssp /(2*(SCR+1))
Table 126 lists a subset of the possible register configurations and relative SCLK
frequencies. While the table is not exhaustive of all possible register settings, the
following guidelines should be considered:
• To guarantee negligible jitter and duty cycle deviation from 50% it is recommended
to not set DDS_CLK_RATE to values greater than h33333 and not listed in the
table.
• A duty cycle of 50% and virtually no jitter is guaranteed for any setting where
DDS_CLK_RATE is one hot.
• For a given SCLK frequency not listed in Table 126, best jitter and duty cycle values
are obtained by setting the lower possible value of DDS_CLK_RATE.
• There is no limitation for SCR values.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
PCI
CAM
(I/O)
Bus 0 SPI PCI Memory
PCI Header Space
ECAM D:21,F:0-1
(Mem)
RP0 F:0
PCIe*
D:23
BAR
D:21
SPI1 F:1
I2C*/GPIOF:2
SPI Mem
Legacy Bridge Registers
D:31, F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
10h 13h “Base Address Register (BAR0)—Offset 10h” on page 797 00000000h
28h 2Bh “Cardbus CIS Pointer (CARDBUS_CIS_POINTER)—Offset 28h” on page 798 00000000h
30h 33h “Expansion ROM Base Address (EXP_ROM_BASE_ADR)—Offset 30h” on page 799 00000000h
3Ch 3Ch “Interrupt Line Register (INTR_LINE)—Offset 3Ch” on page 799 00h
3Dh 3Dh “Interrupt Pin Register (INTR_PIN)—Offset 3Dh” on page 800 00h
81h 81h “Next Capability Pointer (PM_NXT_CAP_PTR)—Offset 81h” on page 801 A0h
82h 83h “Power Management Capabilities (PMC)—Offset 82h” on page 802 4803h
84h 85h “Power Management Control/Status Register (PMCSR)—Offset 84h” on page 802 0008h
87h 87h “Power Management Data Register (DATA_REGISTER)—Offset 87h” on page 803 00h
A1h A1h “Next Capability Pointer (MSI_NXT_CAP_PTR)—Offset A1h” on page 804 00h
ACh AFh “Mask Bits for MSI (PER_VEC_MASK)—Offset ACh” on page 806 00000000h
B0h B3h “Pending Bits for MSI (PER_VEC_PEND)—Offset B0h” on page 806 00000000h
Default: 8086h
15 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
value
Bit Default &
Description
Range Access
8086h
15: 0 Vendor ID (value): PCI Vendor ID for Intel
RO
Default: 0935h
15 12 8 4 0
0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1
value
0935h
15: 0 Device ID (value): PCI Device ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
IntrDis
RSVD
RSVD
MasEn
MEMen
RSVD
SERREn
0h
15: 11 RSVD0 (RSVD0): Reserved
RO
0h
9 Reserved (RSVD): Reserved.
RO
0b SERR Enable (SERREn): When set, this bit enables the non-fatal and fatal errors
8
RW detected by the function to be reported to the root complex.
00h
7: 3 Reserved (RSVD): Reserved.
RO
0b Memory Space Enable (MEMen): Device support for Memory transactions. 0 =) not
1
RW supported. 1 =) supported.
0h
0 Reserved (RSVD): Reserved.
RO
Default: 0010h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
SigSysErr
RcdMasAb
RSVD
RSVD
RSVD
IntrStatus
capable_66Mhz
RSVD0
DEVSEL
FastB2B
hasCapList
RSVD1
Bit Default &
Description
Range Access
0h
15 RSVD0 (RSVD0): Reserved
RO
0b Signaled System Error (SigSysErr): Set when a function detects a system error and
14
RW the SERR Enable bit is set
0b Received master abort (RcdMasAb): Set when requester receives a completion with
13
RW Unsupported Request completion status
0h
12: 11 Reserved (RSVD): Reserved.
RO
0b
10: 9 DEVSEL Timing (DEVSEL): Deprecated: Hardwired to 0
RO
0h
8 Reserved (RSVD): Reserved.
RO
0b
7 Fast Back-to-Back Capable (FastB2B): Deprecated: Hardwired to 0
RO
0h
6 Reserved (RSVD): Reserved.
RO
0b
5 66MHz-Capable (capable_66Mhz): Deprecated: Hardwired to 0
RO
0b Interrupt Status (IntrStatus): Indicates that the function has a legacy interrupt
3 request outstanding. This bit has no meaning if Message Signaled Interrupts are being
RO used
0h
2: 0 RSVD1 (RSVD1): Reserved
RO
Default: 0C800010h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
subClassCode
rev_id
classCode
0Ch Class Code (classCode): Broadly classifies the type of function that the device
31: 24
RO performs.
80h Sub-Class Code (subClassCode): Identifies more specifically (than the class_code
23: 16
RO byte) the function of the device.
00h Programming Interface (progIntf): Used to define the register set variation within a
15: 8
RO particular sub-class.
10h Revision ID (rev_id): Assigned by the function manufacturer and identifies the
7: 0
RO revision number of the function.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h Cache Line Size (value): Implemented as a R/W register for legacy purposes but has
7: 0
RW no effect on device functionality.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 Latency Timer (value): Deprecated. Hardwire to 0.
RO
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
cfgHdrFormat
multiFnDev
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
start_bist
RSVD
BIST_capable
comp_code
Bit Default &
Description
Range Access
0h
6 Start (start_bist): Set to start the functions BIST if BIST is supported.
RO
0h
5: 4 Reserved (RSVD): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
prefetchable
memType
address
RSVD
isIO
Bit Default &
Description
Range Access
0h address (address): Used to determine the size of memory required by the device and
31: 12
RW to assign a start address for this required amount of memory.
00h
11: 4 Reserved (RSVD): Reserved.
RO
00b
2: 1 Type (memType): Hardwired to 0 to indicate a 32-bit decoder
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
31: 0 Cardbus CIS Pointer (value): Reserved. Hardwire to 0.
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem Vendor ID (value): PCI Subsystem Vendor ID
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
value
0h
15: 0 Subsystem ID (value): PCI Subsystem ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM_base_addr
RSVD
AddrDecodeEn
Bit Default &
Description
Range Access
000h
10: 1 Reserved (RSVD): Reserved.
RO
Default: 00000080h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
RSVD0
value
0h
31: 8 RSVD0 (RSVD0): Reserved
RO
80h Capabilities Pointer (value): Pointer to memory location of first entry of linked list of
7: 0 configuration register sets each of which supports a feature. Points to PM (power
RO management) register set at location 0x80
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
Interrupt Line Register (value): The value in this register tells which input of the
0h system interrupt controller(s) the device's interrupt pin is connected to. The device itself
7: 0 does not use this value, rather it is used by device drivers and operating systems.
RW Device drivers and operating systems can use this information to determine priority and
vector information.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Interrupt Pin Register (value): The Interrupt Pin register tells which interrupt pin the
device (or device function) uses. A value of 1 corresponds to INTA#. A value of 2
01h corresponds to INTB#. A value of 3 corresponds to INTC#. A value of 4 corresponds to
7: 0
RO INTD#. Devices (or device functions) that do not use an interrupt pin must put a 0 in
this register. The values 05h through FFh are reserved. For this system function 0 is
connected to INTA, 1 to INTB, 2 to INTC 3 to INTD, 4 to INTA, 5 to INTB etc.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 MIN_GNT (value): Hardwired to 0
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Bit Default &
Description
Range Access
0h
7: 0 MAX_LAT (value): Hardwired to 0
RO
Default: 01h
7 4 0
0 0 0 0 0 0 0 1
value
01h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: A0h
7 4 0
1 0 1 0 0 0 0 0
value
a0h Next Capability Pointer (value): Pointer to the next register set of feature specific
7: 0
RO configuration registers. Hardwired to 0xA0 to point to the MSI Capability Structure
Default: 4803h
15 12 8 4 0
0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1
D2_support
D1_support
DSI
aux_curr
PME_support
RSVD
PME_clock
version
Bit Default &
Description
Range Access
PME Support (PME_support): PME_Support field Indicates the PM states within which
09h the function is capable of sending a PME (Power Management Event) message. 0 in a bit
15: 11
RO =) PME is not supported in the corresponding PM state, where bit indexes
11,12,13,14,15 correspond to PM states D0, D1, D2, D3hot, D3cold respectively.
0h
10 D2 Support (D2_support): Hardwired to 0 as the D2 state is not supported
RO
0h
9 D1 Support (D1_support): Hardwired to 0 as the D1 state is not supported
RO
0h
8: 6 Aux Current (aux_curr): Hardwired to 0 as the D3hot state is not supported
RO
0h Device Specific Initialisation (DSI): Hardwired to 0 to indicate that the device does
5 not require a device specific initialisation sequence following transition to the D0
RO uninitialised state
0h
4 Reserved (RSVD): Reserved.
RO
0h
3 PME Clock (PME_clock): Deprecated. Hardwired to 0
RO
011b Version (version): This function complies with revision 1.2 of the PCI Power
2: 0
RO Management Interface Specification
Default: 0008h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
PME_status
Data_scale
power_state
Data_select
no_soft_reset
PME_en
RSVD
RSVD
0h PME Status (PME_status): Set if function has experienced a PME (even if PME_en (bit
15
RW 8 of PMCSR register) is not set).
0h
14: 13 Data Scale (Data_scale): Hardwired to 0 as the data register is not supported
RO
0h
12: 9 Data Select (Data_select): Hardwired to 0 as the data register is not supported
RO
0b PME Enable (PME_en): Enable device function to send PME messages when an event
8
RW occurs. 1=)enabled. 0=)disabled
0h
7: 4 Reserved (RSVD): Reserved.
RO
0h
2 Reserved (RSVD): Reserved.
RO
00b Power State (power_state): Allows software to read current PM state or transition
1: 0
RW device to a new PM state, where 2'b00 = D0, 2'b01=D1, 2'b10=D2, 2'b11=D3hot
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
0h
7: 0 Power Management Data Register (value): Not Supported. Hardwired to 0
RO
Default: 05h
7 4 0
0 0 0 0 0 1 0 1
value
Bit Default &
Description
Range Access
05h Capability ID (value): Identifies the feature associated with this register set.
7: 0
RO Hardwired value as per PCI SIG assigned capability ID
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
value
00h Next Capability Pointer (value): Hardwired to 0 as this is the last capability structure
7: 0
RO in the chain
Default: 0100h
15 12 8 4 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
perVecMskCap
multiMsgEn
bit64Cap
multiMsgCap
MSIEnable
RSVD0
Bit Default &
Description
Range Access
0h
15: 9 RSVD0 (RSVD0): Reserved
RO
0h 64 bit Address Capabale (bit64Cap): This bit is hardwired to 0 to indicate that the
7
RO function is not capable of sending a 64-bit message address.
0h MSI Enable (MSIEnable): Set to enable MSI to request service. If set then it's
0 prohibited to use the INTx pin. System configuration software sets this bit to enable
RW MSI.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
address
Message Address (address): If the Message Enable bit (bit 0 of the Message Control
0h register) is set, the contents of this register specify the DWORD-aligned address
31: 2
RW (AD[31:2]) for the MSI memory write transaction. AD[1:0] are driven to zero during the
address phase. This field is read/write
0h
1: 0 RSVD0 (RSVD0): Reserved
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MsgData
Bit Default &
Description
Range Access
Data Field (MsgData): System-specified message data. If the Message Enable bit (bit
0 of the Message Control register) is set, the message data is driven onto the lower
0h word (AD[15:0]) of the memory write transactions data phase. AD[31:16] are driven to
15: 0
RW zero during the memory write transactions data phase. C/BE[3::0]# are asserted during
the data phase of the memory write transaction. None of the message bits will be
changed by hardware
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
MSIMask
Bit Default &
Description
Range Access
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h Vector 0 Mask (MSIMask): Mask Bit for Vector 0. If this bit is set, the function will not
0
RW send MSI messages
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
value
0h
31: 1 RSVD0 (RSVD0): Reserved
RO
0h
0 Vector 0 Pending (value): Pending Bit for Vector 0.
RO
10h 13h “SPI Data Register (SSDR)—Offset 10h” on page 811 00000000h
28h 2Bh “DDS Clock Rate Register (DDS_RATE)—Offset 28h” on page 812 00028F5Ch
Access Method
Type: Memory Mapped I/O Register SSCR0: [BAR0] + 0h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SCR
FRF
RSV
SSE
DSS
0b
31:16 RSV: Reserved.
RO
Serial Clock Rate (SCR): This bitfield is used to select the baud, or bit rate, of the SPI.
A total of 256 different bit rates can be selected to further divide the frequency of the
clock obtained by dividing the input system clock according to the DDS_RATE register,
0b see DDS_RATE Register description. The resultant clock is driven on the SCLK pin and is
15:8 used by the SPIs transmit logic to drive data on the MOSI pin, and to latch data on the
RW MISO pin. The SCLK frequency is given by
DDS_FREQ /(2 x (SCR + 1))
where SCR is a decimal integer in the range 0 to 255 and DDS_FREQ is determined by
the value programmed in the DDS_RATE Register.
Synchronous Serial Port Enable (SSE): The SPI enable bit is used to enable and
disable all SPI operations. When the SPI is disabled, all of its clocks are powered down
to minimize power consumption. Note that the SSE is the only control bit within the SPI
which is reset to a known state. It is cleared to zero to ensure the SPI is disabled
following a reset. When the SSE bit is cleared during active operation, the SPI is
0b disabled immediately, causing the current frame being transmitted to be terminated.
7 Clearing SSE resets the SPIs FIFOs and the SPI status bits. However, the SPIs control
RW registers and the Receive FIFO Overrun (ROR) status bit are not reset.
Note: After reset or after clearing the SSE, the user must ensure the SSCR1 and SSSR
registers are properly reconfigured or reset before re-enabling the SPI with the SSE;
other control bits in SSCR0 may be written at the same time as the SSE.
0 : SPI operation disabled
1 : SPI operation enabled
Data Size Select (DSS): The 5-bit data size select field is used to select the size of the
data transmitted and received by the SPI. Data can be 4 to 32 bits in length. When data
is programmed to be less than 16 bits, received data is automatically right justified and
the upper bits in the receive FIFO are zero-filled by receive logic. Transmit data should
not be left justified by the user before being placed in the transmit FIFO; transmit logic
in the SPI will automatically left justify the data sample according to the value of DSS
before the sample is transmitted on MOSI. Although it is possible to program data sizes
of 1, 2, and 3 bits, these sizes are reserved and produce unpredictable results in the
SPI.
00000 : Reserved, undefined operation
00001 : Reserved, undefined operation
00010 : Reserved, undefined operation
00011 : 4-bit data
00100 : 5-bit data
00101 : 6-bit data
00110 : 7-bit data
00111 : 8-bit data
01000 : 9-bit data
01001 : 10-bit data
0b 01010 : 11-bit data
4:0 01011 : 12-bit data
RW 01100 : 13-bit data
01101 : 14-bit data
01110 : 15-bit data
01111 : 16-bit data
10000 : 17-bit data
10001 : 18-bit data
10010 : 19-bit data
10011 : 20-bit data
10100 : 21-bit data
10101 : 22-bit data
10110 : 23-bit data
10111 : 24-bit data
11000 : 25-bit data
11001 : 26-bit data
11010 : 27-bit data
11011 : 28-bit data
11100 : 29-bit data
11101 : 30-bit data
11110 : 31-bit data
11111 : 32-bit data
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV1
RSV0
LBM
STRF
EFWR
RFT
TFT
SPO
SPH
TIE
RIE
Bit Default &
Description
Range Access
00h
31:18 RSV1: Reserved.
RO
Select FIFO for Enable FIFO Write/Read (STRF): This bit selects whether the
0b Transmit or Receive FIFO is enabled for writes and reads whenever the EFWR is
17 programmed to one, which puts the SPI in a special functional mode.
RW 0 : Transmit FIFO is selected for both writes and reads through the SSDR.
1 : Receive FIFO is selected for both writes and reads through the SSDR
Enable FIFO Write/Read Function (EFWR): This bit enables a special functional
mode for the SPI.
0 : the SPI operates in normal mode.
1 : the SPI enters a mode in which whenever the CPU reads or writes to the SPI Data
0b register it actually reads and writes exclusively to either the Transmit FIFO or the
16
RW Receive FIFO depending on the programmed state of the Select FIFO for EFWR (STRF)
bit. In this special mode, data will not be transmitted on the MOSI pin and data input on
the MISO pin will not be stored. This mode can be used to test, through software,
whether or not the Transmit FIFO or the Receive FIFO operates properly as a first-in-
first-out memory stack.
0b Receive FIFO Interrupt Threshold (RFT): The receive FIFO interrupt threshold sets
15:11 the threshold at or above which the FIFO controller triggers, if enabled, a CPU interrupt
RW request. This level should be set to the desired threshold value minus 1.
0b Transmit FIFO Interrupt Threshold (TFT): The transmit FIFO interrupt threshold
10:6 sets the threshold at or below which the FIFO controller triggers, if enabled, a CPU
RW interrupt request. This level should be set to the desired threshold value minus 1.
0b
5 RSV0: Reserved.
RO
Serial Clock Phase (SPH): The serial clock (SCLK) phase bit determines the phase
relationship between the SCLK and the Chip Select (CS) pins.
0 : SCLK remains in its inactive/idle state (as determined by the SPO setting) for one full
cycle after CS is asserted low at the beginning of a frame. SCLK continues to transition
for the rest of the frame and is then held in its inactive state for one-half of an SCLK
period before CS is deasserted high at the end of the frame.
1 : SCLK remains in its inactive/ idle state (as determined by the SPO setting) for half a
cycle after CS is asserted low at the beginning of a frame. SCLK continues to transition
0b for the rest of the frame and is then held in its inactive state for one full SCLK period
4 before CS is de-asserted high at the end of the frame.
RW The combination of the SPO and SPH settings determines when SCLK is active during
the assertion of CS and which SCLK edge is used to transmit and receive data on the
MOSI and MISO pins.
When SPO and SPH are programmed to the same value (both 0 or 1), transmit data is
driven on the falling edge of SCLK and receive data is latched on the rising edge of
SCLK.
When SPO and SPH are programmed to opposite values (one 0 and the other 1),
transmit date is driven on the rising edge of SCLK and receive data is latched on the
falling edge of SCLK.
Serial Clock Polarity (SPO): The serial clock (SCLK) polarity bit selects the polarity of
the inactive state of the SCLK pin.
0b 0 : the SCLK is held low in the inactive or idle state when the SPI is not transmitting/
3 receiving data.
RW 1 : the SCLK is held high during the inactive/idle state.
The programmed setting of the SPO alone does not determine which SCLK edge is used
to transmit or receive data. The SPO setting in combination with SPH determines this.
Loop Back Mode (LBM): The loop back mode bit is used to enable and disable the
ability of the SPI transmit and receive logic to communicate.
0b 0 : the SPI operates normally. The transmit and receive data paths are independent and
2
RW communicate via their respective pins.
1 : the output of the transmit serial shifter is directly connected to the input of the
receive serial shifter internally.
Transmit FIFO Interrupt Enable (TIE): The Transmit FIFO Interrupt Enable bit is
used to mask or enable the transmit FIFO service request interrupt.
0 : the interrupt is masked and the state of TFS within the SPI Status Register is ignored
0b by the interrupt controller.
1 1 : the interrupt is enabled, and whenever TFS is set to one, the interrupt request is
RW made to the interrupt controller.
Note that programming TIE=0 does not affect the current state of TFS or the transmit
FIFO logics ability to set and clear TFS, it only blocks the generation of the interrupt
request.
Receive FIFO Interrupt Enable (RIE): The Receive FIFO Interrupt Enable bit is used
to mask or enable the Receive FIFO service request interrupt.
0 : the interrupt is masked, and the state of RFS within the SPI Status Register is
0b ignored by the interrupt controller.
0 1 : the interrupt is enabled, and whenever RFS is set to one, the interrupt request is
RW made to the interrupt controller.
Note that programming RIE=0 does not affect the current state of RFS or the receive
FIFO logics ability to set and clear RFS, it only blocks the generation of the interrupt
request.
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) SSSR: [BAR0] + 8h
Default: 0003E004h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
RFL
TFL
ROR
TNF
RSV
RFS
TFS
BSY
RNE
ALT_FRM
00h
31:18 RSV: Reserved.
RO
1Fh Receive FIFO Level (RFL): This 5-bit value shows how many valid entries are
17:13
RO currently in the Receive FIFO (up to 32).
0b Transmit FIFO Level (TFL): This 5-bit value shows how many valid entries are
12:8
RO currently in the Transmit FIFO (up to 32).
Receiver Overrun Status (ROR): The receiver overrun status bit is a read/write bit
which is set when the receive logic attempts to place data into the receive FIFO after it
has been completely filled. Each time a new piece of data is received, the set signal to
0b the ROR bit is asserted, and the newly received data is discarded. This process is
7 repeated for each new piece of data received until at least one empty FIFO entry exists.
RW/C When the ROR bit is set, an interrupt request is made to the CPU which cannot be locally
masked by any SPI register bit. Writing a 1 to this bit resets ROR status and its interrupt
request; writing a 0 to this bit does not affect ROR status. Receiver Overrun Status is a
non-maskable interrupt
Receive FIFO Service Request Flag (RFS): The receive FIFO service request flag is a
read-only bit which is set when the receive FIFO is nearly filled and requires service to
prevent an overrun. RFS is set any time the receive FIFO has the same or more entries
0b of valid data than indicated by the Receive FIFO Threshold, and it is cleared when it has
6
RO fewer entries than the threshold value. When the RFS bit is set, an interrupt request is
made unless RIE is cleared. After the CPU reads the FIFO such that it has fewer entries
than the RFT value, the RFS flag (and the service request and/or interrupt) is
automatically cleared.
Transmit FIFO Service Request Flag (TFS): The Transmit FIFO service request flag
is a read-only bit which is set when the transmit FIFO is nearly empty and requires
service to prevent an underrun. TFS is set any time the transmit FIFO has the same or
0b fewer entries of valid data than indicated by the Transmit FIFO Threshold, and it is
5
RO cleared when it has more entries of valid data than the threshold value. When the TFS
bit is set, an interrupt request is made unless TIE is cleared. After the CPU fills the FIFO
such that it exceeds the threshold, the TFS flag (and the service request and/or
interrupt) is automatically cleared.
SPI Busy Flag (BSY): The receive FIFO not empty flag is a read-only bit which is set
whenever the receive FIFO contains one or more entries of valid data and is cleared
0b when it no longer contains any valid data. This bit can be polled when using
4
RO programmed I/O to remove remaining bytes of data from the receive FIFO since CPU
interrupt requests are only made when the Receive FIFO Threshold has been met or
exceeded. This bit does not request an interrupt.
Receive FIFO Not Empty Flag (RNE): The receive FIFO not empty flag is a read-only
bit which is set whenever the receive FIFO contains one or more entries of valid data
0b and is cleared when it no longer contains any valid data. This bit can be polled when
3
RO using programmed I/O to remove remaining bytes of data from the receive FIFO since
interrupt requests are only made when the Receive FIFO Threshold has been met or
exceeded. This bit does not request an interrupt.
Transmit FIFO Not Full Flag (TNF): The transmit FIFO not full flag is a read-only bit
1b which is set whenever the transmit FIFO contains one or more entries which do not
2 contain valid data. TNF is cleared when the FIFO is completely full. This bit can be polled
RO when using programmed I/O to fill the transmit FIFO over its threshold level. This bit
does not request an interrupt.
0b Alternative Frame (ALT_FRM): This field is not supported and should be treated as
1:0
RO reserved.
data automatically between register and FIFO as fast as the system moves it. Data in
the FIFO shifts up or down to accommodate the new word (unless it is an attempted
write to a full Transmit FIFO). For outbound data transfers (write from system to SPI
peripheral), the register may be loaded (written) by the system processor anytime it is
below its threshold level. When a data size of less than 32-bits is selected, the user
should not left-justify data written to the transmit FIFO. Transmit logic left-justifies the
data and ignores any unused bits. Received data less than 32-bits is automatically right
justified in the receive buffer.
Access Method
Type: Memory Mapped I/O Register SSDR: [BAR0] + 10h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00h
31:0 SPI Data (SSDR): Data to be written to/read from Transmit/Receive FIFO
RW
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) DDS_RATE: [BAR0] + 28h
Default: 00028F5Ch
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0
DDS_CLK_RATE
RSV
0b
31:24 RSV: Reserved.
RO
§§
The Legacy Bridge is a collection of hardware blocks that are critical to implement a PC/
AT compatible platform. Certain legacy hardware functions are required to support
commercially available, shrink-wrap operating systems. In addition, the Legacy Bridge
provides interrupt decoding and routing functionality, power management features, and
a SPI interface for system firmware.
21.1 Features
The key features of the various blocks are as follows:
• General Purpose Input Output
— Legacy control interface for SoC GPIOs
— I/O mapped registers
• 8259 Programmable Interrupt Controller
— Legacy interrupt support
— 15 total interrupts through two cascaded controllers
— I/O mapped registers
• I/O Advanced Programmable Interrupt Controller
— Legacy-free interrupt support
— 24 total interrupts
— Memory mapped registers
• 8254 Programmable Interval Timer
— Legacy timer support
— Three timers with fixed uses: System Timer, Refresh Request Signal, and
Speaker Tone
— I/O mapped registers
• HPET - High Performance Event Timers
— Legacy-free timer support
— Three timers and one counter
— Memory mapped registers
• Real-Time Clock (RTC)
— 242-byte RAM backed by battery (aka CMOS RAM)
— Can generate wake/interrupt when time matches programmed value
— I/O and indexed registers
• Watchdog Timer (WDT)
— Provides ability to trigger a reset in the event of an unresponsive system
— Resolution from 1sec to 17 minutes
I Thermal Alarm:
THRM_B
CMOS3.3 Generated by external hardware to cause an SMI_B/SCI (if enabled).
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
RCRB Mem
(I/O)
Registers
Bus 0
PCI
ECAM
(Mem) Legacy PCI
Header IO Space
D:31,F:0
PM1 IO
RP0 F:0
PCIe*
Registers
D:23
RCBA GPE0 IO
D:21
84h 4 “Watch Dog Timer Base Address (WDTBA)—Offset 84h” on page 824 00000000h
F0h 4 “Root Complex Base Address (RCBA)—Offset F0h” on page 827 00000000h
Default: 095E8086h
31 28 24 20 16 12 8 4 0
0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0
VENDOR_ID 1 0 0 0 0 1 1 0
DEVICE_ID
095Eh
31:16 Device ID (DEVICE_ID): PCI Device ID
RO
8086h
15:0 Vendor ID (VENDOR_ID): PCI Vendor ID for Intel
RO
Default: 00000003h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
STATUS
COMMAND
Bit Default &
Description
Range Access
0000h
31:16 Status (STATUS): Hardwired to 0.
RO
0003h
15:0 Command (COMMAND): Hardwired to 0.
RO
Default: 06010000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CLASS_CODE
REVISION_ID
Bit Default &
Description
Range Access
060100h
31:8 Class Code (CLASS_CODE): PCI Class Code for Bridge
RO
00h
7:0 Revision ID (REVISION_ID): PCI Revision ID
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BIST
HEADER
LATENCY
CACHE_LINE_SIZE
Bit Default &
Description
Range Access
00h
31:24 BIST: PCI BIST Field
RO
00h
23:16 Header Type (HEADER): PCI Header Type Field
RO
00h
15:8 Latency Timer (LATENCY): PCI Latency Timer Field
RO
00h
7:0 Cache Line Size (CACHE_LINE_SIZE): PCI Cache Line Size Field
RO
Access Method
Type: PCI Configuration Register PCI_SUBSYSTEM: [B:0, D:31, F:0] + 2Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SUBSYSTEM_VENDOR_ID
SUBSYSTEM_ID
0000h
15:0 Subsystem ID (SUBSYSTEM_ID): This is written by BIOS. No hardware action taken.
RW/O
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EN
RSV2
RSV1
BA
Bit Default &
Description
Range Access
0b
31 Enable (EN): When set, decode of the I/O range pointed to by the BA is enabled.
RW
0b
30:16 Reserved (RSV2): Reserved.
RO
0b
15:7 Base Address (BA): Provides the 128 bytes of I/O space for GPIO.
RW
0b
6:0 Reserved (RSV1): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RSV1
BA
EN
0b
31 Enable (EN): When set, decode of the I/O range pointed to by the BA is enabled.
RW
0b
30:16 Reserved (RSV2): Reserved.
RO
0b
15:4 Base Address (BA): Provides the 16 bytes of I/O space for PM1_BLK.
RW
0b
3:0 Reserved (RSV1): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BA
EN
RSV2
RSV1
Bit Default &
Description
Range Access
0b
31 Enable (EN): When set, decode of the I/O range pointed to by the BA is enabled.
RW
0b
30:16 Reserved (RSV2): Reserved.
RO
0b
15:6 Base Address (BA): Provides the 64 bytes of I/O space for GPE0_BLK.
RW
0b
5:0 Reserved (RSV1): Reserved.
RO
Default: 00000003h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
RSV
SCIS
Bit Default &
Description
Range Access
0b
31:3 Reserved (RSV): Reserved.
RO
SCI IRQ Select (SCIS): Specifies to which IRQ the SCI is routed. If not using APIC,
SCI must be routed to IRQ9-11, and that interrupt is not shared with SERIRQ, but is
shared with other interrupts. If using APIC, SCI can be mapped to IRQ20-23, and can be
shared with other interrupts.
000b : IRQ9
001b : IRQ10
011b 010b : IRQ11
2:0 011b : SCI Disabled
RW 100b : IRQ20
101b : IRQ21
110b : IRQ22
111b : IRQ23
When the interrupt is mapped to APIC interrupts 9, 10 or 11, APIC must be programmed
for active-high reception. When the interrupt is mapped to APIC interrupt 20 through
23, PIC must be programmed for active-low reception.
Default: 80808080h
31 28 24 20 16 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
RSVC
RENC
IRC
RSVD
RSVB
IRD
IRB
RENB
RSVA
REND
IRA
RENA
Bit Default &
Description
Range Access
1b Interrupt Routing Enable for PIRQD (REND): When cleared, PIRQD is routed to one
31 of the legacy interrupts specified in bits[27:24]. When set, PIRQD is not routed to the
RW 8259.
0b
30:28 Reserved (RSVD): Reserved.
RO
1b Interrupt Routing Enable for PIRQC (RENC): When cleared, PIRQC is routed to one
23 of the legacy interrupts specified in bits[19:16]. When set, PIRQC is not routed to the
RW 8259.
0b
22:20 Reserved (RSVC): Reserved.
RO
0b
19:16 IRQ for PIRQC (IRC): Indicates how to route PIRQC.
RW
1b Interrupt Routing Enable for PIRQB (RENB): When cleared, PIRQB is routed to one
15 of the legacy interrupts specified in bits[11:8]. When set, PIRQB is not routed to the
RW 8259.
0b
14:12 Reserved (RSVB): Reserved.
RO
0b
11:8 IRQ for PIRQB (IRB): Indicates how to route PIRQB.
RW
1b Interrupt Routing Enable for PIRQA (RENA): When cleared, PIRQA is routed to one
7 of the legacy interrupts specified in bits[3:0]. When set, PIRQA is not routed to the
RW 8259.
0b
6:4 Reserved (RSVA): Reserved.
RO
0b
3:0 IRQ for PIRQA (IRA): Indicates how to route PIRQA.
RW
Default: 80808080h
31 28 24 20 16 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
RSVE
RSVH
IRE
IRH
RENE
RENH
RSVG
IRG
RENG
RSVF
IRF
RENF
Bit Default &
Description
Range Access
1b Interrupt Routing Enable for PIRQH (RENH): When cleared, PIRQH is routed to one
31 of the legacy interrupts specified in bits[27:24]. When set, PIRQH is not routed to the
RW 8259.
0b
30:28 Reserved (RSVH): Reserved.
RO
0b
27:24 IRQ for PIRQH (IRH): Indicates how to route PIRQH.
RW
1b Interrupt Routing Enable for PIRQG (RENG): When cleared, PIRQG is routed to one
23 of the legacy interrupts specified in bits[19:16]. When set, PIRQG is not routed to the
RW 8259.
0b
22:20 Reserved (RSVG): Reserved.
RO
0b
19:16 IRQ for PIRQG (IRG): Indicates how to route PIRQG.
RW
1b Interrupt Routing Enable for PIRQF (RENF): When cleared, PIRQF is routed to one
15 of the legacy interrupts specified in bits[11:8]. When set, PIRQF is not routed to the
RW 8259.
0b
14:12 Reserved (RSVF): Reserved.
RO
0b
11:8 IRQ for PIRQF (IRF): Indicates how to route PIRQF.
RW
1b Interrupt Routing Enable for PIRQE (RENE): When cleared, PIRQE is routed to one
7 of the legacy interrupts specified in bits[3:0]. When set, PIRQE is not routed to the
RW 8259.
0b
6:4 Reserved (RSVE): Reserved.
RO
0b
3:0 IRQ for PIRQE (IRE): Indicates how to route PIRQE.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BA
EN
RSV2
RSV1
Bit Default &
Description
Range Access
0b
31 Enable (EN): When set, decode of the I/O range pointed to by the BA is enabled.
RW
0b
30:16 Reserved (RSV2): Reserved.
RO
0b
15:6 Base Address (BA): Provides the 64 bytes of I/O space for WDT.
RW
0b
5:0 Reserved (RSV1): Reserved.
RO
Default: FF000000h
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
EF8
EF0
EE8
EE0
ED8
ED0
EC8
EC0
F8-FF Enable (EF8): Enables decoding of BIOS range FFF80000h - FFFFFFFFh and
1b FFB80000h - FFBFFFFFh.
31
RO 0 = Disable
1 = Enable
F0-F0 Enable (EF0): Enables decoding of BIOS range FFF00000h - FFF7FFFFh and
1b FFB00000h - FFB7FFFFh.
30
RW 0 = Disable
1 = Enable
E8-EF Enable (EE8): Enables decoding of BIOS range FFE80000h - FFEFFFFFh and
1b FFA80000h - FFAFFFFFh.
29
RW 0 = Disable
1 = Enable
E0-E8 Enable (EE0): Enables decoding of BIOS range FFE00000h - FFE7FFFFh and
1b FFA00000h - FFA7FFFFh.
28
RW 0 = Disable
1 = Enable
D8-DF Enable (ED8): Enables decoding of BIOS range FFD80000h - FFDFFFFFh and
1b FF980000h - FF9FFFFFh.
27
RW 0 = Disable
1 = Enable
D0-D8 Enable (ED0): Enables decoding of BIOS range FFD00000h - FFD7FFFFh and
1b FF900000h - FF97FFFFh.
26
RW 0 = Disable
1 = Enable
C8-CF Enable (EC8): Enables decoding of BIOS range FFC80000h - FFCFFFFFh and
1b FF880000h - FF8FFFFFh.
25
RW 0 = Disable
1 = Enable
C0-C8 Enable (EC0): Enables decoding of BIOS range FFC00000h - FFC7FFFFh and
1b FF800000h - FF87FFFFh.
24
RW 0 = Disable
1 = Enable
0b
23:0 Reserved (RSV): Reserved.
RO
Default: 00000100h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
RSV3
RSV2
RSV1
SMM_WPD
PFE
CD
LE
WPD
Bit Default &
Description
Range Access
0b
31:9 Reserved (RSV3): Reserved.
RO
Prefetch Enable (PFE): When set, BIOS prefetching is enabled. An access to BIOS
1b causes a 64-byte fetch of the line starting at that region. Subsequent accesses within
8 that region result in data being returned from the prefetch buffer. The prefetch buffer is
RW invalidated when this bit is cleared, or a BIOS access occurs to a different line than what
is currently in the buffer
0b
7:6 Reserved (RSV2): Reserved.
RO
SMM Write Protect Disable (SMM_WPD): When LE is clear: Setting this bit has no
effect.
0b When LE is set: Setting this bit enables both read and write cycles to the SPI Flash,
5 clearing this bit blocks write cycles to the SPI Flash.
RW
This bit is not writeable unless the processor is in SMM mode.
This bit must be cleared before the processor exits SMM mode to prevent write cycles to
SPI flash when the processor is in a non-SMM mode.
0b
4:3 Reserved (RSV1): Reserved.
RO
0b
2 Cache Disable (CD): Enable caching in read buffer for direct memory read.
RW
Lock Enable (LE): When cleared, setting the WPD bit will not generate SMIs and the
WPD bit is used to enable write cycles to the SPI Flash.
0b When set, enables setting the WPD bit to generate SMIs and the SMM_WPD bit is used
1
RW/P to enable write cycles to the SPI Flash.
Write Protect Disable (WPD): When LE is clear: Setting this bit enables both read
and write cycles into the SPI Flash, clearing this bit blocks write cycles to the SPI Flash.
0b
0 When LE is set: Setting this bit will generate an SMI, the SMM_WPD bit must then be
RW used to enable write cycles to the SPI Flash.
This bit must be cleared before the processor exits SMM mode in order to clear the SMI
source.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EN
BA
RSV
Bit Default &
Description
Range Access
0b Base Address (BA): Base Address for the root complex register block decode range.
31:14
RW This address is aligned on a 16 KB boundary.
0b
13:1 Reserved (RSV): Reserved.
RO
0b
0 Enable (EN): When set, enables the range specified in BA to be claimed as the RCRB.
RW
0h 3h “Root Complex Topology Capabilities List (RCTCL)—Offset 0h” on page 828 00010005h
3140h 3141h “Interrupt Queue Agent 0 (IRQAGENT0)—Offset 3140h” on page 829 0000h
3142h 3143h “Interrupt Queue Agent 1 (IRQAGENT1)—Offset 3142h” on page 829 0000h
3144h 3145h “Interrupt Queue Agent 2 (IRQAGENT2)—Offset 3144h” on page 830 0000h
3146h 3147h “Interrupt Queue Agent 3 (IRQAGENT3)—Offset 3146h” on page 830 0000h
3400h 3403h “Root Complex Topology Capabilities List (RCTCL)—Offset 0h” on page 828 00000000h
Default: 00010005h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
NEXTCAP
CAPVER
CAPID
Bit Default &
Description
Range Access
0b
31:20 Next Capability (NEXTCAP): Indicates next item in the list
RO
1h
19:16 Capability Version (CAPVER): Indicates the version of the capability structure.
RO
0005h Capability ID (CAPID): Indicates this is a PCI Express link capability section of an
15:0
RO RCRB
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) ESD: [RCBA] + 4h
Default: 00000102h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0
NUMLE
RSV
ETYPE
PORTNUM
COMPID
0b
31:24 Port Number (PORTNUM): A value of 0 to indicate the egress port
RO
01h Number of Link Entries (NUMLE): Indicates that one link entry is described by this
15:8
RO RCRB.
0b
7:4 Reserved (RSV): Reserved.
RO
2h
3:0 Element Type (ETYPE): Indicates that the element type is a root complex internal link
RO
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV_RW
INTAPR
RSV
0b
15:8 Reserved (RSV): Reserved.
RO
0b
7:4 Reserved (RSV_RW): Reserved.
RW
0b Interrupt A Pin Route (INTAPR): Indicates which PIRQ routing used for INTA#. Legal
3:0 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTA# will be routed to
RW PIRQG if this field is set to 0x6.
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
INTDPR
INTCPR
INTBPR
INTAPR
0b Interrupt D Pin Route (INTDPR): Indicates which PIRQ routing used for INTD#.
15:12 Legal values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTD# will be
RW routed to PIRQG if this field is set to 0x6.
0b Interrupt C Pin Route (INTCPR): Indicates which PIRQ routing used for INTC#. Legal
11:8 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTC# will be routed to
RW PIRQG if this field is set to 0x6.
0b Interrupt B Pin Route (INTBPR): Indicates which PIRQ routing used for INTB#. Legal
7:4 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTB# will be routed to
RW PIRQG if this field is set to 0x6.
0b Interrupt A Pin Route (INTAPR): Indicates which PIRQ routing used for INTA#. Legal
3:0 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTA# will be routed to
RW PIRQG if this field is set to 0x6.
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 RSV_RW 0 0 0 0 0 0
INTAPR
RSV
0b
15:8 Reserved (RSV): Reserved.
RO
0b
7:4 Reserved (RSV_RW): Reserved.
RW
0b Interrupt A Pin Route (INTAPR): Indicates which PIRQ routing used for INTA#. Legal
3:0 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTA# will be routed to
RW PIRQG if this field is set to 0x6.
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
INTDPR
INTCPR
INTBPR
INTAPR
Bit Default &
Description
Range Access
0b Interrupt D Pin Route (INTDPR): Indicates which PIRQ routing used for INTD#.
15:12 Legal values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTD# will be
RW routed to PIRQG if this field is set to 0x6.
0b Interrupt C Pin Route (INTCPR): Indicates which PIRQ routing used for INTC#. Legal
11:8 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTC# will be routed to
RW PIRQG if this field is set to 0x6.
0b Interrupt B Pin Route (INTBPR): Indicates which PIRQ routing used for INTB#. Legal
7:4 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTB# will be routed to
RW PIRQG if this field is set to 0x6.
0b Interrupt A Pin Route (INTAPR): Indicates which PIRQ routing used for INTA#. Legal
3:0 values are [0x0-0x7] corresponding to PIRQ[A-H]. For example, INTA# will be routed to
RW PIRQG if this field is set to 0x6.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
UPR_LOCK
LWR_LOCK
RSVRW
Bit Default &
Description
Range Access
0b
31:3 Reserved (RSV): Reserved.
RO
0b
2 Reserved (RSVRW): Reserved.
RW
0b Upper 128 Byte Lock (UPR_LOCK): When set, bytes 38h-3Fh in the upper 128 byte
1 bank of RTC RAM are locked. Writes will be dropped and reads will not return any
RW/O guaranteed data.
0b Lower 128 Byte Lock (LWR_LOCK): When set, bytes 38h-3Fh in the lower 128 byte
0 bank of RTC RAM are locked. Writes will be dropped and reads will not return any
RW/O guaranteed data.
21.5 IO Registers
The Legacy Bridge contains a mix of fixed address I/O Registers and I/O Registers that
are mapped by BARs in the Legacy Bridge configuration space. This sections describes
the Fixed I/O registers and the Legacy ACPI I/O Register.s All other I/O Registers are
described in the relevant sections later in this chapter.
61h 61h “NMI Status and Control Register (NSC)—Offset 61h” on page 832 00h
70h 70h “NMI Enable and RTC Index Register (NMIE)—Offset 70h” on page 833 80h
B2h B2h “Software SMI Control Port (SWSMICTL)—Offset B2h” on page 833 00h
B3h B3h “Software SMI Status Port (SWSMISTS)—Offset B3h” on page 834 00h
CF9h CF9h “Reset Control Register (RSTC)—Offset CF9h” on page 834 00h
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
SPKR_ENABLE
SERR_NMI_STATUS
RSVD
RSVD
CNTR2_STATUS
SERR_NMI_ENABLE
CNTR2_ENABLE
CNTR1_TOGGLE_STATUS
0b SERR# NMI Status (SERR_NMI_STATUS): Set on errors from a PCIe port or internal
7 functions that generate SERR#. SERR# NMI Enable in this register must be cleared in
RO order for this bit to be set. To reset the interrupt, set bit 2 to 1 and then set it to 0.
0b
6 Reserved (RSVD): Reserved.
RO
0b Timer Counter 2 Status (CNTR2_STATUS): Reflects the current state of the 8254
5 counter 2 output. Counter 2 must be programmed for this bit to have a determinate
RO value.
0b
3 Reserved (RSVD): Reserved.
RO
0b SERR# NMI Enable (SERR_NMI_ENABLE): When set, SERR# NMIs are disabled.
2
RW When cleared, SERR# NMIs are enabled.
0b
1 Reserved (SPKR_ENABLE): Reserved
RW
Default: 80h
7 4 0
1 0 0 0 0 0 0 0
NMI_ENABLE
RTC_INDEX
1b NMI Enable (NMI_ENABLE): When set, NMI sources disabled. When cleared, NMI
7
WO sources enabled.
0b Real Time Clock Index (RTC_INDEX): Selects RTC register or CMOS RAM address to
6:0
WO access.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
CONTROL
0b Software SMI Control Port (CONTROL): This port is used to pass a command
7:0 between the OS and the SMI handler. Writes to this port store data, set APM bit of SMI
RW Status register of GPE0 Block, and generate SMI_B when APM is set.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
STATUS
Bit Default &
Description
Range Access
0b Software SMI Status Port (STATUS): This port is used to pass data between the OS
7:0
RW and the SMI handler. This is a scratchpad register.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
RSV2
RSV1
RSVD
WARM_RST
COLD_RST
RSVD
Bit Default &
Description
Range Access
0b
7:5 Reserved (RSV2): Reserved.
RO
0b
4 Reserved (RSVD): Reserved.
RO
0b Cold Reset (COLD_RST): This bit causes SLPMODE, and RSTRDY# to be driven low,
3 while SLPRDY# remains high. In response to this, the platform will perform a full power
RW cycle
0b
2 Reserved (RSV1): Reserved.
RO
0b Warm Reset (WARM_RST): This bit causes RSTRDY# to be driven low, with SLPMODE
1 high, while SLPRDY# remains high. In response to this, the platform will pulse
RW RESET_BTN_B low to reset the CPU and all peripherals
0b
0 Reserved (RSVD): Reserved.
RO
10h 13h “SMI Enable Register (SMIEN)—Offset 10h” on page 837 00000000h
14h 17h “SMI Status Register (SMISTS)—Offset 14h” on page 838 00000000h
18h 1Bh “General Purpose Event Control Register (GPEC)—Offset 18h” on page 839 00000000h
30h 33h “Power Management Configuration RTC Well Register (PMRW)—Offset 30h” on page 841 0000000Bh
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RSV1
SCLT
RSVD
PCIE
GPIO
EGPE
SWGPE
RMU
THRM
0b
31:18 Reserved (RSV2): Reserved.
RO
0b PCIE Status (PCIE): Set when an Assert SCI message from PCIe Controller is
17
RW/1C received.
0b Remote Management Unit Status (RMU): Set when an Assert SCI message from the
16
RW/1C Remote Management Unit is received.
0b Device Status (SCLT): Set when the SCI signal from Device:20 or Device:21 goes
15
RW/1C active.
0b
14 GPIO Status (GPIO): Set when a GPIO configured for GPE goes active.
RW/1C
0b
13 External GPE Status (EGPE): Set when the GPE_B signal goes active.
RW/1C
0b Thermal Status (THRM): Set anytime THRM_B is received at the state defined by
12
RW/1C GPEC.TPOL.
0b
11 Software GPE Status (SWGPE): Set when GPEC.SWGPE is set.
RW/1C
0b
10 Reserved (RSVD): Reserved.
RO
0b
9:0 Reserved (RSV1): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RMU
THRM
RSV1
PCIE
SCLT
RSVD
GPIO
EGPE
SWGPE
Bit Default &
Description
Range Access
0b
31:18 Reserved (RSV2): Reserved.
RO
0b
17 PCIe Enable (PCIE): When set enables GPE0STS.PCIE to generate SCI/SMI.
RW
0b
15 Device Enable (SCLT): When set enables GPE0STS.SCLT to generate SCI/SMI.
RW
0b
14 GPIO Enable (GPIO): When set enables GPE0STS.GPIO to generate SCI/SMI.
RW
0b
13 External GPE Enable (EGPE): When set enables GPE0STS.EGPE to generate SCI/SMI.
RW
0b
12 Thermal Enable (THRM): When set enables GPE0STS.THRM to generate SCI/SMI.
RW
0b Software GPE Enable (SWGPE): When set enables GPE0STS.SWGPE to generate SCI/
11
RW SMI.
0b
10 Reserved (RSVD): Reserved.
RO
0b
9:0 Reserved (RSV1): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RMU
RSV1
SPI
SLP
APM
SERR
ESMI
PCIE
SCLT
RSVD
RSVD
RSVD
RSVD
SWT
GPIO
BIOS
Bit Default &
Description
Range Access
0b
31:18 Reserved (RSV2): Reserved.
RO
0b
17 PCIe Enable (PCIE): When set enables SMISTS.PCIE to generate SMI.
RW
0b
15 Device Enable (SCLT): When set enables SMISTS.SCLT to generate SMI.
RW
0b
14:12 Reserved (RSV1): Reserved.
RO
0b
11 Reserved (RSVD): Reserved.
RO
0b
10 SERR Enable (SERR): When set enables SMISTS.SERR to generate SMI_B
RW
0b
9 GPIO Enable (GPIO): When set enables SMISTS.GPIO to generate SMI_B
RW
0b
8 External SMI Enable (ESMI): When set enables SMISTS.ESMI to generate SMI_B
RW
0b
7 Reserved (RSVD): Reserved.
RO
0b
6 Reserved (RSVD): Reserved.
RO
0b
5 Reserved (RSVD): Reserved.
RO
0b
4 APM Enable (APM): When set enables SMISTS.APM to generate SMI_B
RW
0b
3 SPI Enable (SPI): When set enables SMISTS.SPI to generate SMI_B
RW
0b
2 Sleep (SLP): When set enables SMISTS.SLP to generate SMI_B
RW
0b
1 Software Timer (SWT): When set enables SMISTS.SWT to generate SMI_B
RW
0b
0 BIOS: When set enables SMISTS.BIOS to generate SMI_B
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
RMU
RSV1
SPI
SLP
APM
BRLS
PCIE
SCLT
RSVD
SERR
ESMI
RSVD
RSVD
RSVD
SWT
EOS
GPIO
BIOS
Bit Default &
Description
Range Access
0b End of SMI (EOS): This bit is present only in the SMI Status register and not in SMI
31 Enable register. When set, the Legacy Bridge de-asserts SMI#. Cleared when the Legacy
RW Bridge asserts SMI_B.
0b BIOS Release (BRLS): This bit is present only in the SMI Status register and not in
30
WO SMI Enable register. Causes SCI to be generated by the Legacy Bridge. Always reads 0.
0b
29:18 Reserved (RSV2): Reserved.
RO
0b PCIe Status (PCIE): Set when an Assert SMI message from PCIe Controller is
17
RW/1C received.
0b Remote Management Unit Status (RMU): Set when an Assert SMI message from the
16
RW/1C Remote Management Unit is received.
0b Device Status (SCLT): Set when the SMI_B signal from Device:20 or Device:21 goes
15
RW/1C active.
0b
14:12 Reserved (RSV1): Reserved.
RO
0b
11 Reserved (RSVD): Reserved.
RO
0b
10 SERR Status (SERR): Set when DO_SERR message is received by the Legacy Bridge.
RW/1C
0b
9 GPIO Status (GPIO): Set when a GPIO configured for SMI goes active.
RW/1C
0b
8 External GPE Status (ESMI): Set when the SMI_B input signal goes active.
RW/1C
0b
7 Reserved (RSVD): Reserved.
RO
0b
6 Reserved (RSVD): Reserved.
RO
0b
5 Reserved (RSVD): Reserved.
RO
0b
4 APM Status (APM): Set when a write to SWSMICTL is performed.
RW/1C
0b
3 SPI Status (SPI): Set when SPI logic is requesting an SMI
RW/1C
0b
2 Sleep (SLP): Set when a write occurs to PM1C.SLPEN
RW/1C
0b
1 Software Timer (SWT): Set when the software SMI has expired.
RW/1C
0b
0 BIOS Status (BIOS): Set when software sets PM1C.GRLS.
RW/1C
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TPOL
RSV
SWGPE
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Software General Purpose Event (SWGPE): Sets GPE0S.SWGPE when written with
1
WO 1. This bit always reads back as 0.
0b Thermal Polarity (TPOL): This bit controls the polarity of THRM_B needed to set
0 GPE0S.THRM. When set, a HIGH value on THRM_B will set GPE0S.THRM. When cleared,
RW a LOW value on THRM_B will set GPE0S.THRM.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RES
RSV
PSRS
SMIL
0b Periodic SMI Enable (RES): When set, an SMIS.SWT will be set by the rate specified
31
RW by PSRS.
0b
30:4 Reserved (RSV): Reserved.
RO
0b SMI Lock (SMIL): When set, writes to SMIE have no effect. This bit is only cleared by
3
RW/O Core Well reset
Periodic SMI Rate Selection (PSRS): Indicates when the timer will time out and
cause an SMI_B. All values are +/- 30us (RTC Clock). Valid values are:
000b - 1.5ms
001b - 16ms
0b 010b - 32ms
2:0
RW 011b - 64ms
100b - 8 sec
101b - 16 sec
110b - 32 sec
111b - 64 sec
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CBE
DRAMI
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b
1 CPU BIST Enable (CBE): CPU BIST enable INIT functionality not supported.
RW
0b DRAM Initialization Scratch pad (DRAMI): This bit does not affect hardware
0 functionality. It is provided as a BIOS scratchpad bit that is maintained through warm
RW resets.
Default: 0000000Bh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
WDTS
RSV2
RSV1
RTCB4
RTCB3
RTCB2
RTCB1
RTCB0
Bit Default &
Description
Range Access
0b
31:10 Reserved (RSV2): Reserved.
RO
Remote Management Unit Watchdog Trip Status (WDTS): This bit is set when the
0b Remote Management Unit watchdog timer expires, causing a system shutdown. It is
9
RW/1C reset by warm and cold resets. It is maintained through the shutdown sequence that is
initiated via this trip
0b
8:5 Reserved (RSV1): Reserved.
RO
0b
4 RTC Bias Resistor 4 (RTCB4): Adds 192K when de-asserted
RW
1b
3 RTC Bias Resistor 3 (RTCB3): Adds 96K when de-asserted
RW
0b
2 RTC Bias Resistor 2 (RTCB2): Adds 48K when de-asserted
RW
1b
1 RTC Bias Resistor 1 (RTCB1): Adds 24K when de-asserted
RW
1b
0 RTC Bias Resistor 0 (RTCB0): Adds 12K when de-asserted
RW
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV3
RTC
RSV2
RSV1
GLOB
WAKE
PCIEWSTS
TO
Bit Default &
Description
Range Access
0b Wake Status (WAKE): Resume Well. This bit is set when the system is in an Sx state
15 and an enable wake event occurs. Upon setting this bit, the Legacy Bridge will transition
RW/1C the system to the S0 state. This bit is not affected by warm resets
0b PCIe Wake Status (PCIEWSTS): This bit is set by hardware to indicate that the
14
RW/1C system woke due to a PCI Express wakeup event.
0b
13:11 Reserved (RSV3): Reserved.
RO
0b RTC Status (RTC): Resume Well. This bit is set when the RTC asserts IRQ8#, and is
10
RW/1C not affected by any other enable bit. This bit is not affected by warm resets
0b
9:6 Reserved (RSV2): Reserved.
RO
0b Global Status (GLOB): Set when SMIS.BRLS is written to '1'. It always cause an SCI
5
RW/1C (regardless of PM1C.SCIEN)
0b
4:1 Reserved (RSV1): Reserved.
RO
0b Timer Overflow Status (TO): Set anytime bit 22 of PM1T goes low. See PM1E.TO for
0
RW/1C the effect of this bit being set
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
TO
RSV4
RSV3
RTC
RSV2
RSV1
PWAKED
GLOB
0b
15 Reserved (RSV4): Reserved.
RO
0b PCIe Wake Disable (PWAKED): This bit disables the inputs to the PCIEWSTS bit for
14 waking the system. Modification of this bit has no impact on the value of the PCIEWSTS
RW bit
0b
13:11 Reserved (RSV3): Reserved.
RO
0b RTC Enable (RTC): Resume Well. When set, and PM1S.RTC is set, an SMI_B/SCI is
10 generated. This bit is not cleared by any reset other than RTCRST_B, CPU/internal
RW thermal Trip, or internal watchdog trip
0b
9:6 Reserved (RSV2): Reserved.
RO
0b
5 Global Enable (GLOB): When this bit and PM1S.GLOB are set, SMI_B/SCI is generated
RW
0b
4:1 Reserved (RSV1): Reserved.
RO
0b Timer Overflow Enable (TO): When set, and PM1S.TO is set, an SMI_B/SCI is
0
RW generated
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
SLPEN
RSV1
SCIEN
SLPTYPE
GRLS
BMRLD
Bit Default &
Description
Range Access
0b
31:14 Reserved (RSV2): Reserved.
RO
0b Sleep Enable (SLPEN): Reads to this bit always return 0. Setting this bit causes the
13
WO system to sequence into the Sleep state defined by SLPTYP
Sleep Type (SLPTYPE): Resume Well. This field defines the type of sleep the system
should enter when SLPEN is set. These bits are reset by RTCRST_B.
0b 000b - S0 - On
12:10 101b - S3 - Suspend to RAM
RW 110b - S4 - Suspend to Disk
111b - S5 - Soft Off
All other values are reserved
0b
9:3 Reserved (RSV1): Reserved.
RO
0b
2 Global Release (GRLS): Sets SMIS.BIOS when written to 1. This bit always reads as 0
WO
0b Bus Master Reload (BMRLD): This is treated as a scratchpad bit and has no
1
RW functionality.
0b SCI Enable (SCIEN): When set, events in GPE0_BLK generate SCI. When cleared,
0
RW events generate SMI_B.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VAL
RSV
0b
31:24 Reserved (RSV): Reserved.
RO
0b Timer Value (VAL): Returns the running count of the PM timer. This counter runs off a
23:0 3.579545 MHz clock (derived from 14.31818 MHz divided by 4). It is reset on a platform
RO reset, and runs continuously in S0. Any time bit 22 goes from 1 to 0, PM1S.TO is set
I/O
GPIO[9:8] These Legacy GPIO pins are powered and active in S0 only.
Varies
I/O
GPIO_SUS[5:0] These Legacy GPIO pins are powered and active in S3 and S0.
Varies
21.6.2 Features
GPIOs can generate general purpose events (GPEs) on rising and/or falling edges.
The suspend well GPIOs, GPIO_SUS[5:0], can be used to generate wake events when
the system is in the ACPI S3 state.
21.6.3 Use
Each GPIO has six registers that control how it is used, or report its status:
• Use Select
• I/O Select
• GPIO Level
• Trigger Positive Edge
• Trigger Negative Edge
• Trigger Status
The Use Select register selects a GPIO pin as a GPIO, or leaves it as its programmed
function. This register must be set for all other registers to affect the GPIO.
The Trigger Positive Edge and Trigger Negative Edge registers enable general purpose
events on a rising and falling edge respectively. This only applies to GPIOs set as input.
The Trigger Status register is used by software to determine if the GPIO triggered a
GPE. This only applies to GPIOs set as input and with one or both of the Trigger modes
enabled.
Legacy PCI
Header
D:31,F:0
IO Space
Legacy GPIO
GPIO_BASE_ Registers
ADDRESS
4h 7h “Core Well GPIO Input/Output Select (CGIO)—Offset 4h” on page 847 00000003h
8h Bh “Core Well GPIO Level for Input or Output (CGLVL)—Offset 8h” on page 848 00000000h
Ch Fh “Core Well GPIO Trigger Positive Edge Enable (CGTPE)—Offset Ch” on page 848 00000000h
10h 13h “Core Well GPIO Trigger Negative Edge Enable (CGTNE)—Offset 10h” on page 849 00000000h
14h 17h “Core Well GPIO GPE Enable (CGGPE)—Offset 14h” on page 849 00000000h
18h 1Bh “Core Well GPIO SMI Enable (CGSMI)—Offset 18h” on page 850 00000000h
1Ch 1Fh “Core Well GPIO Trigger Status (CGTS)—Offset 1Ch” on page 850 00000000h
20h 23h “Resume Well GPIO Enable (RGEN)—Offset 20h” on page 851 0000003Fh
24h 27h “Resume Well GPIO Input/Output Select (RGIO)—Offset 24h” on page 851 0000003Fh
28h 2Bh “Resume Well GPIO Level for Input or Output (RGLVL)—Offset 28h” on page 852 00000000h
2Ch 2Fh “Resume Well GPIO Trigger Positive Edge Enable (RGTPE)—Offset 2Ch” on page 852 00000000h
30h 33h “Resume Well GPIO Trigger Negative Edge Enable (RGTNE)—Offset 30h” on page 852 00000000h
34h 37h “Resume Well GPIO GPE Enable (RGGPE)—Offset 34h” on page 853 00000000h
38h 3Bh “Resume Well GPIO SMI Enable (RGSMI)—Offset 38h” on page 854 00000000h
3Ch 3Fh “Resume Well GPIO Trigger Status (RGTS)—Offset 3Ch” on page 854 00000000h
40h 43h “Core Well GPIO NMI Enable (CGNMIEN)—Offset 40h” on page 855 00000000h
44h 47h “Resume Well GPIO NMI Enable (RGNMIEN)—Offset 44h” on page 855 00000000h
Default: 00000003h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
EN
RSV
0b
31:2 Reserved (RSV): Reserved.
RO
11b
1:0 Enable (EN): When set, enables the pin as a GPIO.
RW
Default: 00000003h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
RSV
IO
0b
31:2 Reserved (RSV): Reserved.
RO
11b Input/output (IO): When set, the GPIO signal (if enabled) is programmed as an
1:0
RW input. When cleared, the GPIO signal is programmed as an output.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LVL
RSV
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
0b
31:2 Reserved (RSV): Reserved.
RO
Trigger Enable (TE): When set, the corresponding GPIO, if enabled as input via
0b CGIO.IO[n], will cause an NMI/SMI/SCI when a 0 to 1 transition occurs. When cleared,
1:0
RW the GPIO is not enabled to trigger an NMI/SMI/SCI on a 0 to 1 transition. This bit has no
meaning if CGIO.IO[n] is cleared (i.e. programmed for output)
21.6.5.5 Core Well GPIO Trigger Negative Edge Enable (CGTNE)—Offset 10h
Access Method
Type: I/O Register CGTNE: [GBA] + 10h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
TE
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Trigger Enable (TE): When set, the corresponding GPIO, if enabled as input via
0b CGIO.IO[n], will cause an NMI/SMI/SCI when a 1 to 0 transition occurs. When cleared,
1:0
RW the GPIO is not enabled to trigger an NMI/SMI/SCI on a 1 to 0 transition. This bit has no
meaning if CGIO.IO[n] is cleared (i.e. programmed for output)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
EN
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Enable (EN): When set, the corresponding GPIO, is enabled to generate an SCI and bit
1:0
RW 14 of GPE0 Status register of GPE0 Block will be set.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EN
RSV
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b Enable (EN): When set, the corresponding GPIO, is enabled to generate an SMI and bit
1:0
RW 9 of SMI Status register of GPE0 Block will be set.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
TS
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Trigger Status (TS): When set, the corresponding GPIO, if enabled as input via
0b CGIO.IO[n], triggered an SMI/SCI/NMI. This will be set if a 0 to 1 transition occurred
1:0 and CGTPE.TE[n] was set, or a 1 to 0 transition occurred and CGTNE.TE[n] was set. If
RW/1C both CGTPE.TE[n] and CGTNE.TE[n] are set, then this bit will be set on both a 0 to 1
and a 1 to=0 transition. This bit will not be set if the GPIO is configured as an output.
Default: 0000003Fh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
EN
RSV
Bit Default &
Description
Range Access
0b
31:6 Reserved (RSV): Reserved.
RO
3Fh
5:0 Enable (EN): When set, enables the pin as a GPIO.
RW
Default: 0000003Fh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
RSV
0b
31:6 Reserved (RSV): Reserved.
RO
3Fh Input/Output (IO): When set, the GPIO signal (if enabled) is programmed as an
5:0
RW input. When cleared, the GPIO signal is programmed as an output.
21.6.5.11 Resume Well GPIO Level for Input or Output (RGLVL)—Offset 28h
Access Method
Type: I/O Register RGLVL: [GBA] + 28h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LVL
RSV
Bit Default &
Description
Range Access
0b
31:6 Reserved (RSV): Reserved.
RO
21.6.5.12 Resume Well GPIO Trigger Positive Edge Enable (RGTPE)—Offset 2Ch
Access Method
Type: I/O Register RGTPE: [GBA] + 2Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
TE
0b
31:6 Reserved (RSV): Reserved.
RO
Trigger Enable (TE): When set, the corresponding GPIO, if enabled as input via
0h RGIO.IO[n], will cause an NMI/SMI/SCI when a 0 to 1 transition occurs. When cleared,
5:0
RW the GPIO is not enabled to trigger an NMI/SMI/SCI on a 0 to 1 transition. This bit has no
meaning if RGIO.IO[n] is cleared (i.e. programmed for output)
21.6.5.13 Resume Well GPIO Trigger Negative Edge Enable (RGTNE)—Offset 30h
Access Method
Type: I/O Register RGTNE: [GBA] + 30h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
TE
Bit Default &
Description
Range Access
0b
31:6 Reserved (RSV): Reserved.
RO
Trigger Enable (TE): When set, the corresponding GPIO, if enabled as input via
0h RGIO.IO[n], will cause an NMI/SMI/SCI when a 1 to 0 transition occurs. When cleared,
5:0
RW the GPIO is not enabled to trigger an NMI/SMI/SCI on a 1 to 0 transition. This bit has no
meaning if RGIO.IO[n] is cleared (i.e. programmed for output)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EN
RSV
0b
31:6 Reserved (RSV): Reserved.
RO
0h Enable (EN): When set, the corresponding GPIO, is enabled to generate an SCI and bit
5:0
RW 14 of GPE0 Status register of GPE0 Block will be set.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EN
RSV
Bit Default &
Description
Range Access
0b
31:6 Reserved (RSV): Reserved.
RO
0h Enable (EN): When set, the corresponding GPIO, is enabled to generate an SMI and bit
5:0
RW 9 of SMI Status register of GPE0 Block will be set.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
TS
Bit Default &
Description
Range Access
0b
31:6 Reserved (RSV): Reserved.
RO
Trigger Status (TS): When set, the corresponding GPIO, if enabled as input via
0h RGIO.IO[n], triggered an SMI/SCI/NMI. This will be set if a 0 to 1 transition occurred
5:0 and RGTPE.TE[n] was set, or a 1 to 0 transition occurred and RGTNE.TE[n] was set. If
RW/1C both RGTPE.TE[n] and RGTNE.TE[n] are set, then this bit will be set on both a 0 to 1 and
a 1 to=0 transition. This bit will not be set if the GPIO is configured as an output.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EN
RSV
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
0b
1:0 Enable (EN): When set, the corresponding GPIO, is enabled to generate an NMI.
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
0b
31:6 Reserved (RSV): Reserved.
RO
0h
5:0 Enable (EN): When set, the corresponding GPIO, is enabled to generate an NMI.
RW
21.7.2 Features
The Legacy SPI Controller provides access to system firmware that resides on a SPI
Flash device connected to the 4-pin Legacy SPI interface. SPI Flash devices up to
16 MByte in size are supported. A SPI clock frequency of 20 MHz is supported.
The Legacy SPI Controller supports direct memory reads from the processor. All other
operations are controlled via the SPI Host Interface registers that reside in the RCRB
Memory Space in the range 3020h to 308Fh.
To protect the integrity of system firmware, the Legacy SPI Controller provides two
write protection mechanisms, one scheme based on address ranges and one SMI_B-
based scheme. If either mechanism indicates an access should not be allowed, then
that write access is blocked.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem) Legacy PCI
Header
D:31,F:0 SPI Host
RP0 F:0 Interface
PCIe*
D:23
Registers
SPI0 F:0 RP0 F:1 RCBA_BAR
IO Fabric
D:21
SPI1 F:1
I/O Space
I2C*/GPIOF:2
Legacy Bridge
D:31,F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
§§
Warning: Address locations that are not listed are considered reserved register locations. Reads
to reserved registers may return non-zero values. Writes to reserved locations may
cause system failure.
3028h 302Bh “SPI Data 0 - Lower 32 Bits (SPID0_1)—Offset 3028h” on page 861 00000000h
302Ch 302Fh “SPI Data 0 - Upper 32 Bits (SPID0_2)—Offset 302Ch” on page 861 00000000h
3030h 3033h “SPI Data 1 - Lower 32 Bits (SPID1_1)—Offset 3030h” on page 862 00000000h
3034h 3037h “SPI Data 1 - Upper 32 Bits (SPID1_2)—Offset 3034h” on page 862 00000000h
3038h 303Bh “SPI Data 2 - Lower 32 Bits (SPID2_1)—Offset 3038h” on page 862 00000000h
303Ch 303Fh “SPI Data 2 - Upper 32 Bits (SPID2_2)—Offset 303Ch” on page 863 00000000h
3040h 3043h “SPI Data 3 - Lower 32 Bits (SPID3_1)—Offset 3040h” on page 863 00000000h
3044h 3047h “SPI Data 3 - Upper 32 Bits (SPID3_2)—Offset 3044h” on page 863 00000000h
3048h 304Bh “SPI Data 4 - Lower 32 Bits (SPID4_1)—Offset 3048h” on page 864 00000000h
304Ch 304Fh “SPI Data 4 - Upper 32 Bits (SPID4_2)—Offset 304Ch” on page 864 00000000h
3050h 3053h “SPI Data 5 - Lower 32 Bits (SPID5_1)—Offset 3050h” on page 865 00000000h
3054h 3057h “SPI Data 5 - Upper 32 Bits (SPID5_2)—Offset 3054h” on page 865 00000000h
3058h 305Bh “SPI Data 6 - Lower 32 Bits (SPID6_1)—Offset 3058h” on page 865 00000000h
305Ch 305Fh “SPI Data 6 - Upper 32 Bits (SPID6_2)—Offset 305Ch” on page 866 00000000h
3060h 3063h “SPI Data 7 - Lower 32 Bits (SPID7_1)—Offset 3060h” on page 866 00000000h
3064h 3067h “SPI Data 7 - Upper 32 Bits (SPID7_2)—Offset 3064h” on page 866 00000000h
3070h 3073h “BIOS Base Address (BBAR)—Offset 3070h” on page 867 00000000h
3074h 3075h “Prefix Opcode Configuration (PREOP)—Offset 3074h” on page 867 0004h
3076h 3077h “Opcode Type Configuration (OPTYPE)—Offset 3076h” on page 868 0000h
3078h 307Bh “Opcode Menu Configuration - Lower 32 Bits (OPMENU_1)—Offset 3078h” on page 869 00000005h
307Ch 307Fh “Opcode Menu Configuration - Upper 32 Bits (OPMENU_2)—Offset 307Ch” on page 869 00000000h
3080h 3083h “Protected BIOS Range 0 (PBR0)—Offset 3080h” on page 870 00000000h
3084h 3087h “Protected BIOS Range 1 (PBR1)—Offset 3084h” on page 871 00000000h
3088h 308Bh “Protected BIOS Range 2 (PBR2)—Offset 3088h” on page 871 00000000h
Default: 0001h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
RSV2
RSV1
CIP
CLD
BA
CD
Bit Default &
Description
Range Access
0b SPI Configuration Lock-Down (CLD): When set to 1, the SPI Static Configuration
15 information cannot be overwritten. Once set to 1, this bit can only be cleared by a
RW/O hardware reset
0b
14:4 Reserved (RSV2): Reserved.
RO
Blocked Access Status (BA): Hardware sets this bit to 1 when an access is blocked
from running on the SPI interface due to one of the protection policies or when any of
0b the programmed cycle registers are written while a programmed access is already in
3
RW/1C progress. This bit is set for both programmed accesses and direct memory reads that
get blocked. This bit remains asserted until cleared by software writing a 1 or hardware
reset.
Cycle Done Status (CD): Hardware sets this bit to 1 when the SPI Cycle completes
(i.e., SCIP bit is 0) after software sets the GO bit. This bit remains asserted until cleared
by software writing a 1 or hardware reset. When this bit is set and the SMI Enable bit in
0b the SPI Control register is set, an internal signal is asserted to the SMI_B generation
2
RW/1C block. Software must make sure this bit is cleared prior to enabling the SPI SMI_B
assertion for a new programmed access. This bit gets set after the Status Register
Polling sequence completes after reset de-asserts. It is cleared before and during that
sequence.
0b
1 Reserved (RSV1): Reserved.
RO
Cycle In Progress (CIP): Hardware sets this bit when software sets the SPI Cycle Go
bit in the SPI Control register. This bit remains set until the cycle completes on the SPI
01h interface. Hardware automatically sets and clears this bit so that software can
0 determine when read data is valid and/or when it is safe to begin programming the next
RO command. Software must only program the next command when this bit is 0. This bit
reports 1b during the Status Register Polling sequence after reset de-asserts; it is
cleared when that sequence completes.
Default: 4001h
15 12 8 4 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
DBCNT
SOPTR
AR
RSV
COPTR
ACS
DC
CG
SMIEN
0b SMI_B Enable (SMIEN): When set to 1, the SPI asserts an SMI_B request whenever
15
RW the Cycle Done Status bit is 1.
1b Data Cycle (DC): When set to 1, there is data that corresponds to this transaction.
14 When 0, no data is delivered for this cycle, and the DBC and data fields themselves are
RW don't care.
Data Byte Count (DBCNT): Data Byte Count: This field specifies the number of bytes
0b to shift in or out during the data portion of the SPI cycle. The valid settings (in decimal)
13:8 are any value from 0 to 63. The number of bytes transferred is the value of this field
RW plus 1. Note that when this field is 00_0000b, then there is 1 byte to transfer and that
11_1111b means there are 64 bytes to transfer.
0b
7 Reserved (RSV): Reserved.
RO
0b Cycle Opcode Pointer (COPTR): This field selects one of the programmed opcodes in
6:4 the Opcode Menu Configuration register to be used as the SPI Command/Opcode. In the
RW case of an Atomic Cycle Sequence, this determines the second command.
Sequence Prefix Opcode Pointer (SOPTR): This field selects one of the two
programmed prefix opcodes for use when performing an Atomic Cycle Sequence. A
0b value of 0 points to the opcode in the least significant byte of the Prefix Opcode
3
RW Configuration register. By making this programmable, the processor supports flash
devices that have different opcodes for enabling writes to the data space vs. status
register.
Atomic Cycle Sequence (ACS): When set to 1 along with the SCGO assertion, the
processor will execute a sequence of commands on the SPI interface without allowing
the other SPI master component to arbitrate and interleave cycles. The sequence is
0b composed of: Atomic Sequence Prefix Command (8-bit opcode only) Primary Command
2
RW specified by software (can include address and data) Polling the Flash Status Register
(opcode 05h) until bit 0 becomes 0b. The SPI Cycle in Progress bit remains set and the
Cycle Done Status bit in the SPI Status register remains unset until the Busy bit in the
Flash Status Register returns 0.
Cycle Go (CG): This bit always returns 0 on reads. However, a write to this register
with a 1 in this bit starts the SPI cycle defined by the other bits of this register. The SPI
0b Cycle in Progress (SCIP) bit in the SPI Status register gets set by this action. Hardware
1
RW/S must ignore writes to this bit while the SPI Cycle In Progress bit is set. Hardware allows
other bits in this register to be programmed for the same transaction when writing this
bit to 1. This saves an additional memory write.
1b Access Request (AR): This bit is used by the software to request that the other SPI
0 master stop initiating long transactions on the SPI bus. This bit defaults to a 1 and must
RW be cleared by BIOS after completing the accesses for the boot process.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
CA
CSC
Bit Default &
Description
Range Access
CSC: Chip Select Control: These two bits control which SPI Chip Select is used. Default
00 must always select SS0. Direct read mode always uses SS0.
0b 00 : SS0
31:30
RW 01 : Reserved
10 : Reserved
11 : Reserved
0b
29:24 Reserved (RSV): Reserved.
RO
0b
23:0 Cycle Address (CA): This field is shifted out as the SPI Address (MSB first).
RW
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
Bit Default &
Description
Range Access
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
Bit Default &
Description
Range Access
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
Bit Default &
Description
Range Access
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
Bit Default &
Description
Range Access
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
Bit Default &
Description
Range Access
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CD
Bit Default &
Description
Range Access
0b Cycle Data (CD): This field is shifted out during the data portion of the SPI cycle. This
31:0
RW register also shifts in the data during the data portion of the SPI cycle
Access Method
Type: Memory Mapped I/O Register BBAR: [RCBA] + 3070h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV2
BOSF
RSV1
Bit Default &
Description
Range Access
0b
31:24 Reserved (RSV2): Reserved.
RO
Bottom of System Flash (BOSF): This field determines the bottom of the System
BIOS. The processor will not run Programmed commands nor memory reads whose
address field is less than this value. This field corresponds to bits 23:8 of the 3-byte
address; bits 7:0 are assumed to be 00h for this vector when comparing to a potential
SPI address. Software must always program 1s into the upper, Don't Care bits of this
field based on the flash size. Hardware does not know the size of the flash array and
0b relies upon the correct programming by software. The default value of 0000h results in
23:8
RW/L all cycles allowed.
Note: The SPI Host Controller prevents any Programmed cycle using the Address
Register with an address less than the value in this register. Some flash devices specify
that the Read ID command must have an address of 0000h or 0001h. If this command
must be supported with these devices, it must be performed with the BBAR - BIOS Base
Address programmed to 0h. Some of these devices have actually been observed to
ignore the upper address bits of the Read ID command.
0b
7:0 Reserved (RSV1): Reserved.
RO
Access Method
Default: 0004h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
PO1
PO2
Bit Default &
Description
Range Access
0h Prefix Opcode 1 (PO1): Software programs an SPI opcode into this field that is
15:8
RW/L permitted to run as the first command in an atomic cycle sequence.
04h Prefix Opcode 2 (PO2): Software programs an SPI opcode into this field that is
7:0
RW/L permitted to run as the first command in an atomic cycle sequence.
Access Method
Type: Memory Mapped I/O Register OPTYPE: [RCBA] + 3076h
(Size: 16 bits)
Default: 0000h
15 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OT7
OT6
OT5
OT4
OT3
OT2
OT1
OT0
0b
15:14 Opcode Type 7 (OT7): See the description for bits 1:0
RW/L
0b
13:12 Opcode Type 6 (OT6): See the description for bits 1:0
RW/L
0b
11:10 Opcode Type 5 (OT5): See the description for bits 1:0
RW/L
0b
9:8 Opcode Type 4 (OT4): See the description for bits 1:0
RW/L
0b
7:6 Opcode Type 3 (OT3): See the description for bits 1:0
RW/L
0b
5:4 Opcode Type 2 (OT2): See the description for bits 1:0
RW/L
0b
3:2 Opcode Type 1 (OT1): See the description for bits 1:0
RW/L
Opcode Type 0 (OT0): This field specifies information about the corresponding Opcode
0. This information allows the hardware to 1) know whether to use the address field and
2) provide BIOS protection capabilities. The hardware implementation also uses the
0b read vs. write information for modifying the behavior of the SPI interface logic. The
1:0 encoding of the two bits is:
RW/L 00 = No Address associated with this Opcode and Read Cycle type
01 = No Address associated with this Opcode and Write Cycle type
10 = Address required; Read cycle type
11 = Address required; Write cycle type
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) OPMENU_1: [RCBA] + 3078h
Default: 00000005h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
AO3
AO2
AO1
AO0
0b
31:24 Allowable Opcode 3 (AO3): See the description for bits 7:0
RW/L
0b
23:16 Allowable Opcode 2 (AO2): See the description for bits 7:0
RW/L
0b
15:8 Allowable Opcode 1 (AO1): See the description for bits 7:0
RW/L
05h Allowable Opcode 0 (AO0): Software programs an SPI opcode into this field for use
7:0
RW/L when initiating SPI commands through the Control Register.
malicious software can do. This keeps the hardware flexible enough to operate with a
wide variety of SPI devices. It is recommended that BIOS avoid programming Write
Enable opcodes in this menu. Malicious software could then perform writes and erases
to the SPI flash without using the atomic cycle mechanism. Write Enable opcodes
should only be programmed in the Prefix Opcode Configuration register.
Access Method
Type: Memory Mapped I/O Register OPMENU_2: [RCBA] + 307Ch
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
AO7
AO6
AO5
AO4
Bit Default &
Description
Range Access
0b
31:24 Allowable Opcode 7 (AO7): See the description for bits 7:0
RW/L
0b
23:16 Allowable Opcode 6 (AO6): See the description for bits 7:0
RW/L
0b
15:8 Allowable Opcode 5 (AO5): See the description for bits 7:0
RW/L
0h Allowable Opcode 4 (AO4): Software programs an SPI opcode into this field for use
7:0
RW/L when initiating SPI commands through the Control Register.
Access Method
Type: Memory Mapped I/O Register PBR0: [RCBA] + 3080h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
WPE
RSV
PRL
PRB
Write Protection Enable (WPE): When set, this bit indicates that the Base and Limit
0b fields in this register are valid and that writes directed to addresses between them
31
RW/L (inclusive) must be blocked by hardware. The base and limit fields are ignored when this
bit is cleared.
0b
30:24 Reserved (RSV): Reserved.
RO
Protected Range Limit (PRL): This field corresponds to SPI address bits 23:12 and
0b specifies the upper limit of the protected range. Address bits 11:0 are assumed to be
23:12
RW/L FFFh for the limit comparison. Any address greater than the value programmed in this
field is unaffected by this protected range.
Protected Range Base (PRB): This field corresponds to SPI address bits 23:12 and
0b specifies the lower base of the protected range. Address bits 11:0 are assumed to be
11:0
RW/L 000h for the base comparison. Any address less than the value programmed in this field
is unaffected by this protected range.
Access Method
Type: Memory Mapped I/O Register PBR1: [RCBA] + 3084h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PRL
PRB
WPE
RSV
Write Protection Enable (WPE): When set, this bit indicates that the Base and Limit
0b fields in this register are valid and that writes directed to addresses between them
31
RW/L (inclusive) must be blocked by hardware. The base and limit fields are ignored when this
bit is cleared.
0b
30:24 Reserved (RSV): Reserved.
RO
Protected Range Limit (PRL): This field corresponds to SPI address bits 23:12 and
0b specifies the upper limit of the protected range. Address bits 11:0 are assumed to be
23:12
RW/L FFFh for the limit comparison. Any address greater than the value programmed in this
field is unaffected by this protected range.
Protected Range Base (PRB): This field corresponds to SPI address bits 23:12 and
0b specifies the lower base of the protected range. Address bits 11:0 are assumed to be
11:0
RW/L 000h for the base comparison. Any address less than the value programmed in this field
is unaffected by this protected range.
Access Method
Type: Memory Mapped I/O Register PBR2: [RCBA] + 3088h
(Size: 32 bits)
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PRL
RSV
PRB
WPE
Write Protection Enable (WPE): When set, this bit indicates that the Base and Limit
0b fields in this register are valid and that writes directed to addresses between them
31
RW/L (inclusive) must be blocked by hardware. The base and limit fields are ignored when this
bit is cleared.
0b
30:24 Reserved (RSV): Reserved.
RO
Protected Range Limit (PRL): This field corresponds to SPI address bits 23:12 and
0b specifies the upper limit of the protected range. Address bits 11:0 are assumed to be
23:12
RW/L FFFh for the limit comparison. Any address greater than the value programmed in this
field is unaffected by this protected range.
Protected Range Base (PRB): This field corresponds to SPI address bits 23:12 and
0b specifies the lower base of the protected range. Address bits 11:0 are assumed to be
11:0
RW/L 000h for the base comparison. Any address less than the value programmed in this field
is unaffected by this protected range.
21.8.1 Features
21.8.2 Use
Only two conventions must be observed when programming the counters. First, for
each counter, the control word must be written before the initial count is written.
Second, the initial count must follow the count format specified in the control word
(least significant byte only, most significant byte only, or least significant byte and then
most significant byte).
A new initial count may be written to a counter at any time without affecting the
counter's programmed mode. Counting will be affected as described in the mode
definitions. The new count must follow the programmed count format.
The Control Word Register at port 43h controls the operation of all three counters.
Several commands are available:
• Control Word Command: Specifies which counter to read or write, the operating
mode, and the count format (binary or BCD).
• Counter Latch Command: Latches the current count so that it can be read by the
system. The countdown process continues.
• Read Back Command: Reads the count value, programmed mode, the current
state of the OUT pins, and the state of the Null Count Flag of the selected counter.
Table 139 lists the six operating modes for the interval counters.
With the simple read and counter latch command methods, the count must be read
according to the programmed format; specifically, if the counter is programmed for two
byte counts, two bytes must be read. The two bytes do not have to be read one right
after the other. Read, write, or programming operations for other counters may be
inserted between them.
The first method is to perform a simple read operation. The counter is selected through
port 40h (counter 0), 41h (counter 1), or 42h (counter 2).
Note: Performing a direct read from the counter does not return a determinate value,
because the counting process is asynchronous to read operations. However, in the case
of counter 2, the count can be stopped by writing to the NSC.CNTR2_ENABLE register
field.
The Counter Latch Command, written to port 43h, latches the count of a specific
counter at the time the command is received. This command is used to ensure that the
count read from the counter is accurate, particularly when reading a two-byte count.
The count value is then read from each counter's Count Register as was programmed
by the Control Register.
The count is held in the latch until it is read or the counter is reprogrammed. The count
is then unlatched. This allows reading the contents of the counters on the fly without
affecting counting in progress. Multiple Counter Latch Commands may be used to latch
more than one counter. Counter Latch Commands do not affect the programmed mode
of the counter in any way.
If a Counter is latched and then, some time later, latched again before the count is
read, the second Counter Latch Command is ignored. The count read will be the count
at the time the first Counter Latch Command was issued.
The Read Back Command, written to port 43h, latches the count value, programmed
mode, and current states of the OUT pin and Null Count flag of the selected counter or
counters. The value of the counter and its status may then be read by I/O access to the
counter address.
The Read Back Command may be used to latch multiple counter outputs at one time.
This single command is functionally equivalent to several counter latch commands, one
for each counter latched. Each counter's latched count is held until it is read or
reprogrammed. Once read, a counter is unlatched. The other counters remain latched
until they are read. If multiple count Read Back Commands are issued to the same
counter without reading the count, all but the first are ignored.
The Read Back Command may additionally be used to latch status information of
selected counters. The status of a counter is accessed by a read from that counter's I/
O port address. If multiple counter status latch operations are performed without
reading the status, all but the first are ignored.
Both count and status of the selected counters may be latched simultaneously. This is
functionally the same as issuing two consecutive separate Read Back Commands. If
multiple count and/or status Read Back Commands are issued to the same counters
without any intervening reads, all but the first are ignored.
If both count and status of a counter are latched, the first read operation from that
counter returns the latched status, regardless of which was latched first. The next one
or two reads, depending on whether the counter is programmed for one or two type
counts, return the latched count. Subsequent reads return unlatched count.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem) Legacy PCI
Header
D:31,F:0
RP0 F:0
PCIe*
D:23
SPI1 F:1
7 4 0
0 X X X X X X X
CR
CS
RWS
MD
CT
Bit Default &
Description
Range Access
0b Counter State (CS): When set, OUT of the counter is set. When cleared, OUT of the
7
RO counter is 0.
X Count Register (CR): When cleared, indicates when the last count written to the Count
6 Register (CR) has been loaded into the counting element (CE) and is available for
RO reading. The time this happens depends on the counter mode.
Read/Write Selection (RWS): These reflect the read/write selection made through
bits[5:4] of the control register. The binary codes returned during the status read match
X the codes used to program the counter read/write selection.
5: 4 00 Counter Latch Command
RO 01 Read/Write Least Significant Byte (LSB)
10 Read/Write Most Significant Byte (MSB)
11 Read/Write LSB then MSB
Mode (MD): Returns the counter mode programming. The binary code returned
matches the code used to program the counter mode, as listed under the bit function
above.
Bits Mode Description
X 000 0 Out signal on end of count (=0)
3: 1
RO 001 1 Hardware retriggerable one-shot
x10 2 Rate generator (divide by n counter)
x11 3 Square wave output
100 4 Software triggered strobe
101 5 Hardware triggered strobe
X Countdown Type (CT): Type: 0 for binary countdown or a 1 for binary coded decimal
0
RO (BCD) countdown.
7 4 0
0 X X X X X X X
CR
CS
RWS
MD
CT
Bit Default &
Description
Range Access
0b Counter State (CS): When set, OUT of the counter is set. When cleared, OUT of the
7
RO counter is 0.
X Count Register (CR): When cleared, indicates when the last count written to the Count
6 Register (CR) has been loaded into the counting element (CE) and is available for
RO reading. The time this happens depends on the counter mode.
Read/Write Selection (RWS): These reflect the read/write selection made through
bits[5:4] of the control register. The binary codes returned during the status read match
X the codes used to program the counter read/write selection.
5: 4 00 Counter Latch Command
RO 01 Read/Write Least Significant Byte (LSB)
10 Read/Write Most Significant Byte (MSB)
11 Read/Write LSB then MSB
Mode (MD): Returns the counter mode programming. The binary code returned
matches the code used to program the counter mode, as listed under the bit function
above.
Bits Mode Description
X 000 0 Out signal on end of count (=0)
3: 1
RO 001 1 Hardware retriggerable one-shot
x10 2 Rate generator (divide by n counter)
x11 3 Square wave output
100 4 Software triggered strobe
101 5 Hardware triggered strobe
X Countdown Type (CT): 0 for binary countdown or a 1 for binary coded decimal (BCD)
0
RO countdown.
7 4 0
0 X X X X X X X
CS
RWS
CT
CR
MD
0b Counter State (CS): When set, OUT of the counter is set. When cleared, OUT of the
7
RO counter is 0.
X Count Register (CR): When cleared, indicates when the last count written to the Count
6 Register (CR) has been loaded into the counting element (CE) and is available for
RO reading. The time this happens depends on the counter mode.
Read/Write Select ion (RWS): These reflect the read/write selection made through
bits[5:4] of the control register. The binary codes returned during the status read match
X the codes used to program the counter read/write selection.
5: 4 00 Counter Latch Command
RO 01 Read/Write Least Significant Byte (LSB)
10 Read/Write Most Significant Byte (MSB)
11 Read/Write LSB then MSB
Mode (MD): Returns the counter mode programming. The binary code returned
matches the code used to program the counter mode, as listed under the bit function
above.
Bits Mode Description
X 000 0 Out signal on end of count (=0)
3: 1
RO 001 1 Hardware retriggerable one-shot
x10 2 Rate generator (divide by n counter)
x11 3 Square wave output
100 4 Software triggered strobe
101 5 Hardware triggered strobe
X Countdown Type (CT): 0 for binary countdown or a 1 for binary coded decimal (BCD)
0
RO countdown.
7 4 0
X X X X X X X X
CS
RWS
CMS
BCS
Bit Default &
Description
Range Access
Counter Select (CS): The Counter Selection bits select the counter the control word
acts upon as shown below. The Read Back Command is selected when bits[7:6] are both
X 1.
7: 6 00 Counter 0 select
WO 01 Counter 1 select
10 Counter 2 select
11 Read Back Command
Read/Write Select (RWS): The counter programming is done through the counter
port (40h for counter 0, 41h for counter 1, and 42h for counter 2)
X 00 Counter Latch Command
5: 4
WO 01 Read/Write Least Significant Byte (LSB)
10 Read/Write Most Significant Byte (MSB)
11 Read/Write LSB then MSB
Counter Mode Selection (CMS): Selects one of six modes of operation for the
selected counter.
000 = Out signal on end of count (=0)
X 001 = Hardware retriggerable one-shot
3: 1
WO x10 = Rate generator (divide by n counter)
x11 = Square wave output
100 = Software triggered strobe
101 = Hardware triggered strobe
7 4 0
X X X X X X X X
CP
Bit Default &
Description
Range Access
Counter Port (CP): Each counter port address is used to program the 16-bit Count
X Register. The order of programming, either LSB only, MSB only, or LSB then MSB, is
7: 0 defined with the Interval Counter Control Register at port 43h. The counter port is also
RW used to read the current count from the Count Register, and return the status of the
counter programming following a Read Back Command.
7 4 0
X X X X X X X X
CP
Counter Port (CP): Each counter port address is used to program the 16-bit Count
X Register. The order of programming, either LSB only, MSB only, or LSB then MSB, is
7: 0 defined with the Interval Counter Control Register at port 43h. The counter port is also
RW used to read the current count from the Count Register, and return the status of the
counter programming following a Read Back Command.
7 4 0
X X X X X X X X
CP
Counter Port (CP): Each counter port address is used to program the 16-bit Count
X Register. The order of programming, either LSB only, MSB only, or LSB then MSB, is
7: 0 defined with the Interval Counter Control Register at port 43h. The counter port is also
RW used to read the current count from the Count Register, and return the status of the
counter programming following a Read Back Command.
21.9.1 Features
When the incremented value is greater than the maximum value possible for T0CV, the
value wraps around through 0. For example, if the current value in a 32-bit timer is
FFFF0000h and the last value written to this register is 20000, then after the next
interrupt the value changes to 00010000h.
If software wants to change the periodic rate, it writes a new value to T0CV. When the
timer's comparator matches, the new value is added to derive the next matching point.
If software resets the main counter, the value in the comparator's value register must
also be reset by setting T0C.TVS. To avoid race conditions, this should be done with the
main counter halted. The following usage model is expected:
1. Software clears GCFG.EN to prevent any interrupts.
2. Software clears the main counter by writing a value of 00h to it.
3. Software sets T0C.TVS.
4. Software writes the new value in T0CV.
5. Software sets GCFG.EN to enable interrupts.
21.9.1.3 Interrupts
If each timer has a unique interrupt and the timer has been configured for edge-
triggered mode, then there are no specific steps required. If configured to level-
triggered mode, then its interrupt must be cleared by software by writing a '1' back to
the bit position for the interrupt to be cleared.
Interrupts associated with the various timers have several interrupt mapping options.
Software should mask GCFG.LRE when reprogramming HPET interrupt routing to avoid
spurious interrupts.
0 IRQ0 IRQ2 The 8254 timer does not cause any interrupts
2 T2C.IR T2C.IRC
Each timer has its own routing control. The interrupts can be routed to various
interrupts in the I/O APIC. T[2:0]C.IRC indicates which interrupts are valid options for
routing. If a timer is set for edge-triggered mode, the timers should not be shared with
any other interrupts.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem)
Legacy PCI
Header
RP0 F:0
PCIe*
D:31,F:0
D:23
Registers
D:21
SPI1 F:1
2
I C*/GPIO F:2
IO Space
Legacy Bridge
D:31,F:0
SDIO/eMMC F:0
HSUART0 F:1
IO Fabric D:20
0h 3h “General Capabilities and ID Register - Lower 32 Bits (GCID_1)—Offset 0h” on page 884 8086A201h
4h 7h “General Capabilities and ID Register - Upper 32 Bits (GCID_2)—Offset 4h” on page 885 0429B17Fh
10h 13h “General Capabilities and ID Register - Lower 32 Bits (GCID_1)—Offset 0h” on page 884 00000000h
20h 23h “General Interrupt Status Register (GIS)—Offset 20h” on page 885 00000000h
F0h F3h “Main Counter Value Register - Lower 32 Bits (MCV_1)—Offset F0h” on page 886 00000000h
F4h F7h “Main Counter Value Register - Upper 32 Bits (MCV_2)—Offset F4h” on page 886 00000000h
128h 12Bh “Timer 1 Comparator Value Register (T1CV_1)—Offset 128h” on page 890 FFFFFFFFh
148h 14Bh “Timer 2 Comparator Value Register (T2CV_1)—Offset 148h” on page 892 FFFFFFFFh
Default: 8086A201h
31 28 24 20 16 12 8 4 0
1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1
RSV
CS
NT
LRC
VID
RID
8086h
31:16 Vendor ID (VID): Value of 8086h indicates Intel.
RO
1b
15 Legacy Route Capable (LRC): Indicates support for Legacy Interrupt Route.
RO
0b
14 Reserved (RSV): Reserved.
RO
1b
13 Counter Size (CS): This bit is set to indicate that the main counter is 64 bits wide.
RO
00010b
12:8 Number of Timers (NT): Indicates that 3 timers are supported.
RO
01h
7:0 Revision ID (RID): Indicates that revision 1.0 of the specification is implemented.
RO
Default: 0429B17Fh
31 28 24 20 16 12 8 4 0
0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1
CTP
Bit Default &
Description
Range Access
0429B17Fh
31:0 Counter Tick Period (CTP): Indicates a period of 69.841279ns, 14.1318 MHz clock.
RO
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSV
LRE
EN
Bit Default &
Description
Range Access
0b
31:2 Reserved (RSV): Reserved.
RO
Legacy Route Enable (LRE): When set, interrupts will be routed as follows: Timer 0
0b will be routed to IRQ0 in 8259 and IRQ2 in the I/O APIC Timer 1 will be routed to IRQ8
1 in 8259 and I/O APIC Timer 2 is routed to IRQ11 in 8259 and Timer 2 will be routed to
RW IOxAPIC as per the routing in T2C.IR When set, the TnC.IR will have no impact for
Timers 0 and 1.
Overall Enable (EN): When set, the timers can generate interrupts. When cleared, the
0b main counter will halt and no interrupts will be caused by any timer. For level-triggered
0
RW interrupts, if an interrupt is pending when this bit is cleared, the GIS.Tx will not be
cleared.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
T2
T1
T0
RSV
Bit Default &
Description
Range Access
0b
31:3 Reserved (RSV): Reserved.
RO
0b Timer 2 Status (T2): In edge triggered mode, this bit always reads as 0. In level
2
RW/1C triggered mode, this bit is set when an interrupt is active.
0b Timer 1 Status (T1): In edge triggered mode, this bit always reads as 0. In level
1
RW/1C triggered mode, this bit is set when an interrupt is active.
0b Timer 0 Status (T0): In edge triggered mode, this bit always reads as 0. In level
0
RW/1C triggered mode, this bit is set when an interrupt is active.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CV
0b Counter Value (CV): Reads return the current value of the lower 32 bits of the counter.
31:0
RW Writes load the new value to the lower 32 bits of the counter.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CV
0b Counter Value (CV): Reads return the current value of the upper 32 bits of the
31:0 counter. Writes load the new value to the upper 32 bits of the counter. Timers 1 and
RW Timer 2 return 0.
Default: 00000030h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0
RSV3
T32M
RSV2
TYP
RSV1
FID
IR
FE
TVS
TS
IE
IT
PIC
Bit Default &
Description
Range Access
0b
31:16 Reserved (RSV3): Reserved.
RO
0b
15 FSB Interrupt Delivery (FID): Not Supported
RO
0b
14 FSB Enable (FE): Not supported, since FID is not supported.
RO
Interrupt Route (IR): Indicates the routing for the interrupt to the IOxAPIC. If the
0b value is not supported by this particular timer, the value read back will not match what
13:9
RW is written. If GC.LRE is set, then Timers 0 and 1 have a fixed routing, and this field has
no effect.
0b Timer 32-bit Mode (T32M): When set, this bit forces a 64-bit timer to behave as a
8
RW 32-bit timer.
0b
7 Reserved (RSV2): Reserved.
RO
0b Timer Value Set (TVS): This bit will return 0 when read. Writes will only have an effect
6
WO for Timer 0 if it is set to periodic mode. Writes will have no effect for Timers 1 and 2
1b
5 Timer Size (TS): 1 = 64-bits, 0 = 32-bits. Set for timer 9. Cleared for timers 1 and 2
RO
1b Periodic Interrupt Capable (PIC): When set, hardware supports a periodic mode for
4
RO this timer's interrupt.
0b Timer Type (TYP): If PIC is set, this bit is read/write, and can be used to enable the
3
RW timer to generate a periodic interrupt.
0b Interrupt Enable (IE): When set, enables the timer to cause an interrupt when it
2 times out. When cleared, the timer count and generates status bits, but will not cause
RW an interrupt.
Timer Interrupt Type (IT): When cleared, interrupt is edge triggered. When set,
0b interrupt is level triggered and will be held active until it is cleared by writing 1 to
1
RW GIS.Tn. If another interrupt occurs before the interrupt is cleared, the interrupt remains
active.
0b
0 Reserved (RSV1): Reserved.
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) T0C_2: [0xFED00000] + 104h
Default: 00F00000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IRC
Bit Default &
Description
Range Access
00f00000h
31:0 Interrupt Route Capability (IRC): Indicates support for IRQ20, 21, 22, 23
RO
Access Method
Type: Memory Mapped I/O Register
(Size: 32 bits) T0CV_1: [0xFED00000] + 108h
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CV
FFFFFFFFh Comparator Value (CV): Reads return the current value of the lower 32 bits of the
31:0
RW comparator. Writes load the new value to the lower 32 bits of the comparator.
Access Method
Type: Memory Mapped I/O Register T0CV_2: [0xFED00000] + 10Ch
(Size: 32 bits)
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CV
Bit Default &
Description
Range Access
FFFFFFFFh Comparator Value (CV): Reads return the current value of the upper 32 bits of the
31:0
RW comparator. Writes load the new value to the upper 32 bits of the comparator.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FID
FE
TVS
TS
IE
IT
RSV3
RSV2
PIC
TYP
RSV1
IR
T32M
Bit Default &
Description
Range Access
0b
31:16 Reserved (RSV3): Reserved.
RO
0b
15 FSB Interrupt Delivery (FID): Not Supported.
RO
0b
14 FSB Enable (FE): Not supported, since FID is not supported.
RO
Interrupt Route (IR): Indicates the routing for the interrupt to the IOxAPIC. If the
0b value is not supported by this particular timer, the value read back will not match what
13:9
RW is written. If GC.LRE is set, then Timers 0 and 1 have a fixed routing, and this field has
no effect.
0b
8 Timer 32-bit Mode (T32M): Not applicable since Timer 1 is a 32-bit timer.
RO
0b
7 Reserved (RSV2): Reserved.
RO
0b Timer Value Set (TVS): This bit will return 0 when read. Writes will only have an effect
6
WO for Timer 0 if it is set to periodic mode.
0b
5 Timer Size (TS): 1 = 64-bits, 0 = 32-bits. Set for timer 9. Cleared for timers 1 and 2
RO
0b Periodic Interrupt Capable (PIC): When set, hardware supports a periodic mode for
4
RO this timer's interrupt. This bit is set for timer 0, and cleared for timers 1 and 2
0b Timer Type (TYP): If PIC is set, this bit is read/write, and can be used to enable the
3 timer to generate a periodic interrupt. This bit is RW for timer 0, and RO for timers 1
RO and 2.
0b Interrupt Enable (IE): When set, enables the timer to cause an interrupt when it
2 times out. When cleared, the timer count and generates status bits, but will not cause
RW an interrupt.
Timer Interrupt Type (IT): When cleared, interrupt is edge triggered. When set,
0b interrupt is level triggered and will be held active until it is cleared by writing 1 to
1
RW GIS.Tn. If another interrupt occurs before the interrupt is cleared, the interrupt remains
active.
0b
0 Reserved (RSV1): Reserved.
RO
Default: 00F00000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IRC
00f00000h
31:0 Interrupt Route Capability (IRC): Indicates support for IRQ20, 21, 22, 23
RO
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CV
FFFFFFFFh Comparator Value (CV): Reads return the current value of the 32 bits of the
31:0
RW comparator. Writes load the new value to the 32 bits of the comparator.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FID
IR
FE
TVS
TS
IE
IT
RSV3
T32M
RSV2
PIC
TYP
RSV1
Bit Default &
Description
Range Access
0b
31:16 Reserved (RSV3): Reserved.
RO
0b
15 FSB Interrupt Delivery (FID): Not Supported.
RO
0b
14 FSB Enable (FE): Not supported, since FID is not supported.
RO
Interrupt Route (IR): Indicates the routing for the interrupt to the IOxAPIC. If the
0b value is not supported by this particular timer, the value read back will not match what
13:9
RW is written. If GC.LRE is set, then Timers 0 and 1 have a fixed routing, and this field has
no effect.
0b
8 Timer 32-bit Mode (T32M): Not applicable since Timer 2 is a 32-bit timer.
RO
0b
7 Reserved (RSV2): Reserved.
RO
0b Timer Value Set (TVS): This bit will return 0 when read. Writes will only have an effect
6
WO for Timer 0 if it is set to periodic mode.
0b
5 Timer Size (TS): 1 = 64-bits, 0 = 32-bits. Set for timer 9. Cleared for timers 1 and 2
RO
0b Periodic Interrupt Capable (PIC): When set, hardware supports a periodic mode for
4
RO this timer's interrupt.
0b Timer Type (TYP): If PIC is set, this bit is read/write, and can be used to enable the
3
RO timer to generate a periodic interrupt.
0b Interrupt Enable (IE): When set, enables the timer to cause an interrupt when it
2 times out. When cleared, the timer count and generates status bits, but will not cause
RW an interrupt.
Timer Interrupt Type (IT): When cleared, interrupt is edge triggered. When set,
0b interrupt is level triggered and will be held active until it is cleared by writing 1 to
1
RW GIS.Tn. If another interrupt occurs before the interrupt is cleared, the interrupt remains
active.
0b
0 Reserved (RSV1): Reserved.
RO
Default: 00F00800h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
IRC
00f00800h
31:0 Interrupt Route Capability (IRC): Indicates support for IRQ11, 20, 21, 22, 23
RO
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CV
Bit Default &
Description
Range Access
FFFFFFFFh Comparator Value (CV): Reads return the current value of the 32 bits of the
31:0
RW comparator. Writes load the new value to the 32 bits of the comparator.
21.9.4 References
IA-PC HPET (High Precision Event Timers) Specification, Revision 1.0a.
The RTC supports two lockable memory ranges. By setting bits in the configuration
space, two 8-byte ranges can be locked to read and write accesses. This prevents
unauthorized reading of passwords or other system security information.
The RTC supports a date alarm that allows for scheduling a wake up event up to 30
days in advance.
I/O
RTCX1 Crystal Input 1: This signal is connected to the 32.768 KHz crystal.
Analog
I/O
RTCX2 Crystal Input 2: This signal is connected to the 32.768 KHz crystal.
Analog
I RTC Reset: When asserted, this signal resets register bits in the RTC
RTCRST_B
CMOS3.3 well.
21.10.2 Features
The Real Time Clock (RTC) module provides a battery backed-up date and time keeping
device. Three interrupt features are available: time of day alarm with once a second to
once a month range, periodic rates of 122 ms to 500 ms, and end of update cycle
notification. Seconds, minutes, hours, days, day of week, month, and year are counted.
The hour is represented in twelve or twenty-four hour format, and data can be
represented in BCD or binary format. The design is meant to be functionally compatible
with the Motorola MS146818B. The time keeping comes from a 32.768 KHz oscillating
source, which is divided to achieve an update every second. The lower 14 bytes on the
lower RAM block have very specific functions. The first ten are for time and date
information. The next four (0Ah to 0Dh) are registers, which configure and report RTC
functions. A host-initiated write takes precedence over a hardware update in the event
of a collision.
21.10.2.2 Interrupts
The real-time clock interrupt is internally routed within the SoC both to the I/O APIC
and the 8259. It is mapped to interrupt vector 8. This interrupt does not leave the SoC,
nor is it shared with any other interrupt. However, the High Performance Event Timers
can also be mapped to IRQ8#; in this case, the RTC interrupt is blocked.
Once a range is locked, the range can be unlocked only by a hard reset, which invokes
the BIOS and allows it to relock the RAM range.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem) Legacy PCI
Header
D:31,F:0
RP0 F:0
PCIe*
D:23
SPI1 F:1
The first 14 bytes of the standard bank contain the RTC time and date information
along with four registers, A - D, that are used for configuration of the RTC. The
extended bank contains a full 128 bytes of battery backed SRAM. All data movement
between the host CPU and the RTC is done through registers mapped to the standard I/
O space.
Note: I/O Locations 70h and 71h are used for data movement to and from the standard bank.
Locations 72h and 73h used for data movement to and from the extended bank. All of
these I/O locations also have alias I/O locations, as indicated in Table 144. Index
addresses above 127 are not valid.
Note: Writes to 74h do not affect the NMI Enable bit of 70h
Access Method
Default: xxxxxxxxb
7 4 0
x xxx xxxx
UIP
DV
RS
Bit Default &
Description
Range Access
xb Update in progress (UIP): When set, an update is in progress. When cleared, the
7 update cycle will not start for at least 488 µs. The time, calendar, and alarm information
RW in RAM is always available when this bit is cleared.
Division Chain Select: Controls the divider chain for the oscillator; not affected by
RSMRST# or any other reset signal.
000b: Invalid
001b: Invalid
xb
6: 4 010b: Normal Operation
RW 011b: Bypass 5 Stages (Test Mode Only)
100b: Bypass 10 Stages (Test Mode Only)
101b: Bypass 15 Stages (Test Mode Only)
110b: Divider Reset
111b: Divider Reset
Rate Select: Selects one of 13 taps of the 15 stage divider chain. The selected tap can
generate a periodic interrupt when B.PIE bit is set. Otherwise this tap sets C.PF.
Access Method
Default: x0x00xxxb
7 4 0
x 0 x 0 0 x x x
DM
HF
SET
PIE
AIE
UIE
SQWE
DSE
Bit Default &
Description
Range Access
xb Set Clock (SET): When cleared, an update cycle occurs once each second. If set, a
7 current update cycle will abort and subsequent update cycles will not occur until SET is
RW returned to zero. When set, SW may initialize time and calendar bytes safely.
0b Periodic Interrupt Enable (PIE): When set, and C.PF is set, an interrupt is
6 generated.
RW
xb
5 Alarm Interrupt Enable (AIE): When set, and C.AF is set, an interrupt is generated.
RW
0b Update-ended Interrupt Enable (UIE): When set and C.UF is set, an interrupt is
4 generated.
RW
0b
3 Square Wave Enable (SQWE): Not implemented.
RW
xb Data Mode (DM): When set, represents binary representation. When cleared, denotes
2 BCD.
RW
xb Hour Format (HF): When set, twenty-four hour mode is selected. When cleared,
1 twelve-hour mode is selected. In twelve hour mode, the seventh bit represents AM
RW (cleared) and PM (set).
xb
0 Daylight Savings Enable (DSE): Not implemented
RW
Access Method
Default: 00x00000b
7 4 0
0 0 x 0 0000
PF
AF
UF
RSV1
IRQF
0b Interrupt Request Flag (IRQF): This bit is an AND of the flag with its corresponding
7
RC interrupt enable in register B, and causes the RTC Interrupt to be asserted.
0b
6 Periodic Interrupt Flag (PF): Set when the tap as specified by A.RS is one.
RC
xb
5 Alarm Flag (AF): Set after all Alarm values match the current time.
RC
0b
4 Update-ended Flag (UF): Set immediately following an update cycle for each second.
RC
0b
3: 0 Reserved (RSV1)
RO
Default: 1xxxxxxxb
7 4 0
1 x xxxxxx
RSV1
VRT
DA
Bit Default &
Description
Range Access
0b Valid RAM and Time Bit (VRT): This bit should always be written as a 0 for write
7
RC cycle, however it will return a 1 for read cycles.
0b
6 Reserved (RSV1): This bit always returns a 0 and should be set to 0 for write cycles.
RC
Date Alarm (DA): These bits store the date of month alarm value. If set to 000000,
xb then a don’t care state is assumed. If the date alarm is not enabled, these bits will
5: 0 return zeros to mimic the functionality of the Motorola 146818B. These bits are not
RC
affected by any reset assertion.
21.10.6 References
Accessing the Real Time Clock Registers and the NMI Enable Bit:
ftp://download.intel.com/design/intarch/PAPERS/321088.pdf
The interrupt decoder is responsible for receiving interrupt messages from other
devices in the SoC and decoding them for consumption by the interrupt router, the
8259 PICs and/or the I/O APIC.
The interrupt router is responsible for mapping each incoming interrupt to the
appropriate PIRQx, for consumption by the 8259 PICs and/or I/O APIC.
21.11.1 Features
When a device in the SoC asserts or deasserts a legacy interrupt (IRQ), an interrupt
message is sent to the decoder. This message is decoded to indicate to the 8259 PIC
which specific interrupt (IRQ[3, 4, 5, 6, 7, 13, 14 or 15]) was asserted or deasserted.
PCIe*
1 Multi-Function (Supports INTA, INTB, INTC & INTD)
D:23
IO Fabric
3 Multi-Function (Supports INTA, INTB, INTC & INTD)
D:20 & D21
PCI based interrupts PIRQ[A:H] are then available for consumption by either the 8259
PICs or the IO-APIC, depending on the configuration of the 8 PIRQx Routing Control
Registers: PIRQA, PIQRB, PIRQC, PIRQD, PIRQE, PIRQF, PIRQG, PIRQH.
When the PCI based interrupts are consumed by the IO-APIC, a fixed routing scheme is
used where interrupts PIRQ[A:H] are routed to IO-APIC interrupts IRQ[16:23].
The PIRQx# lines are defined as active low, level sensitive. When a PIRQx# is routed to
specified IRQ line, software must change the IRQ's corresponding ELCR bit to level
sensitive mode. The SoC internally inverts the PIRQx# line to send an active high level
to the PIC. When a PCI interrupt is routed onto the PIC, the selected IRQ can no longer
be used by an active high device (through SERIRQ). However, active low interrupts can
share their interrupt with PCI interrupts.
21.12.1 Features
In addition to providing support for ISA compatible interrupts, this interrupt controller
can also support PCI based interrupts (PIRQs) by mapping the PCI interrupt onto a
compatible ISA interrupt line. Each 8259 controller supports eight interrupts, numbered
0–7. Table 147 shows how the controllers are connected.
Note: The SoC does not implement any external PIRQ# signals. The PIRQs referred to in this
section originate from the interrupt routing unit.
1 Reserved
5 Reserved
The SoC cascades the slave controller onto the master controller through master
controller interrupt input 2. This means there are only 15 possible interrupts for the
SoC PIC.
Interrupts can be programmed individually to be edge or level, except for IRQ0, IRQ2
and IRQ8#.
Note: Active-low interrupt sources (such as a PIRQ#) are inverted inside the SoC. In the
following descriptions of the 8259s, the interrupt levels are in reference to the signals
at the internal interface of the 8259s, after the required inversions have occurred.
Therefore, the term “high” indicates “active,” which means “low” on an originating
PIRQ#.
The PIC interrupt sequence involves three bits, from the IRR, ISR, and IMR, for each
interrupt level. These bits are used to determine the interrupt vector returned, and
status of any other pending interrupts. Table 148 defines the IRR, ISR, and IMR.
Interrupt Request Register. This bit is set on a low to high transition of the interrupt line in edge
IRR
mode, and by an active high level in level mode.
Interrupt Service Register. This bit is set, and the corresponding IRR bit cleared, when an
ISR
interrupt acknowledge cycle is seen, and the vector returned is for that interrupt.
Interrupt Mask Register. This bit determines whether an interrupt is masked. Masked interrupts
IMR
will not generate INTR.
Note: References to ICWx and OCWx registers are relevant to both the master and slave
8259 controllers.
IRQ7,15 111
IRQ6,14 110
IRQ5,13 101
IRQ4,12 100
ICW2.IVBA
IRQ3,11 011
IRQ2,10 010
IRQ1,9 001
IRQ0,8 000
6. Upon receiving the second internally generated INTA# pulse, the PIC returns the
interrupt vector. If no interrupt request is present because the request was too
short in duration, the PIC returns vector 7 from the master controller.
7. This completes the interrupt cycle. In AEOI mode the ISR bit is reset at the end of
the second INTA# pulse. Otherwise, the ISR bit remains set until an appropriate
EOI command is issued at the end of the interrupt subroutine.
The base address for each 8259 initialization command word is a fixed location in the I/
O memory space: 20h for the master controller, and A0h for the slave controller.
21.12.1.2.1 ICW1
A write to the master or slave controller base address with data bit 4 equal to 1 is
interpreted as a write to ICW1. Upon sensing this write, the PIC expects three more
byte writes to 21h for the master controller, or A1h for the slave controller, to complete
the ICW sequence.
A write to ICW1 starts the initialization sequence during which the following
automatically occur:
1. Following initialization, an interrupt request (IRQ) input must make a low-to-high
transition to generate an interrupt.
2. The Interrupt Mask Register is cleared.
3. IRQ7 input is assigned priority 7.
4. The slave mode address is set to 7.
5. Special mask mode is cleared and Status Read is set to IRR.
21.12.1.2.2 ICW2
The second write in the sequence (ICW2) is programmed to provide bits [7:3] of the
interrupt vector that will be released during an interrupt acknowledge. A different base
is selected for each interrupt controller.
21.12.1.2.3 ICW3
The third write in the sequence (ICW3) has a different meaning for each controller.
• For the master controller, ICW3 is used to indicate which IRQ input line is used to
cascade the slave controller. Within the SoC, IRQ2 is used. Therefore, MICW3.CCC
is set to a 1, and the other bits are set to 0s.
• For the slave controller, ICW3 is the slave identification code used during an
interrupt acknowledge cycle. On interrupt acknowledge cycles, the master
controller broadcasts a code to the slave controller if the cascaded interrupt won
arbitration on the master controller. The slave controller compares this
identification code to the value stored in its ICW3, and if it matches, the slave
controller assumes responsibility for broadcasting the interrupt vector.
21.12.1.2.4 ICW4
The final write in the sequence (ICW4) must be programmed for both controllers. At
the very least, ICW4.MM must be set to a 1 to indicate that the controllers are
operating in an Intel Architecture-based system.
In this mode, interrupt requests are ordered in priority from 0 through 7, with 0 being
the highest. When an interrupt is acknowledged, the highest priority request is
determined and its vector placed on the bus. Additionally, the ISR for the interrupt is
set. This ISR bit remains set until either: the processor issues an EOI command
immediately before returning from the service routine; or if in AEOI mode, on the
trailing edge of the second INTA#. While the ISR bit is set, all further interrupts of the
same or lower priority are inhibited, while higher levels generate another interrupt.
This mode is used in the case of a system where cascading is used, and the priority has
to be conserved within each slave. In this case, the special fully-nested mode is
programmed to the master controller. This mode is similar to the fully-nested mode
with the following exceptions:
• When an interrupt request from a certain slave is in service, this slave is not locked
out from the master's priority logic and further interrupt requests from higher
priority interrupts within the slave are recognized by the master and initiate
interrupts to the processor. In the normal-nested mode, a slave is masked out
when its request is in service.
• When exiting the Interrupt Service routine, software has to check whether the
interrupt serviced was the only one from that slave. This is done by sending a non-
Specific EOI command to the slave and then reading its ISR. If it is 0, a non-specific
EOI can also be sent to the master.
There are two ways to accomplish automatic rotation using OCW2.REOI; the Rotation
on Non-Specific EOI Command (OCW2.REOI=101b) and the rotate in automatic EOI
mode which is set by (OCW2.REOI=100b).
Software can change interrupt priorities by programming the bottom priority. For
example, if IRQ5 is programmed as the bottom priority device, then IRQ6 is the highest
priority device. The Set Priority Command is issued in OCW2 to accomplish this, where:
OCW2.REOI=11xb, and OCW2.ILS is the binary priority level code of the bottom
priority device.
In this mode, internal status is updated by software control during OCW2. However, it
is independent of the EOI command. Priority changes can be executed during an EOI
command by using the Rotate on Specific EOI Command in OCW2 (OCW2.REOI=111b)
and OCW2.ILS=IRQ level to receive bottom priority.
Poll mode can be used to conserve space in the interrupt vector table. Multiple
interrupts that can be serviced by one interrupt service routine do not need separate
vectors if the service routine uses the poll command. Poll mode can also be used to
expand the number of interrupts. The polling interrupt service routine can call the
appropriate service routine, instead of providing the interrupt vectors in the vector
table. In this mode, the INTR output is not used and the microprocessor internal
Interrupt Enable flip-flop is reset, disabling its interrupt input. Service to devices is
achieved by software using a Poll command.
The Poll command is issued by setting OCW3.PMC. The PIC treats its next I/O read as
an interrupt acknowledge, sets the appropriate ISR bit if there is a request, and reads
the priority level. Interrupts are frozen from the OCW3 write to the I/O read. The byte
returned during the I/O read contains a 1 in Bit 7 if there is an interrupt, and the binary
code of the highest priority level in Bits 2:0.
In ISA systems this mode is programmed using ICW1.LTIM, which sets level or edge for
the entire controller. In the SoC, this bit is disabled and a register for edge and level
triggered mode selection, per interrupt input, is included. This is the Edge/Level control
Registers ELCR1 and ELCR2.
In both the edge and level triggered modes, the IRQ inputs must remain active until
after the falling edge of the first internal INTA#. If the IRQ input goes inactive before
this time, a default IRQ7 vector is returned.
An EOI can occur in one of two fashions: by a command word write issued to the PIC
before returning from a service routine, the EOI command; or automatically when the
ICW4.AEOI bit is set to 1.
In normal EOI, software writes an EOI command before leaving the interrupt service
routine to mark the interrupt as completed. There are two forms of EOI commands:
Specific and Non-Specific. When a Non-Specific EOI command is issued, the PIC clears
the highest ISR bit of those that are set to 1. Non-Specific EOI is the normal mode of
operation of the PIC within the SoC, as the interrupt being serviced currently is the
interrupt entered with the interrupt acknowledge. When the PIC is operated in modes
that preserve the fully nested structure, software can determine which ISR bit to clear
by issuing a Specific EOI.
An ISR bit that is masked is not cleared by a Non-Specific EOI if the PIC is in the special
mask mode. An EOI command must be issued for both the master and slave controller.
In this mode, the PIC automatically performs a Non-Specific EOI operation at the
trailing edge of the last interrupt acknowledge pulse. From a system standpoint, this
mode should be used only when a nested multi-level interrupt structure is not required
within a single PIC. The AEOI mode can only be used in the master controller and not
the slave controller.
Note: Both the master and slave PICs have an AEOI bit: MICW4.AEOI and SICW4.AEOI
respectively. Only the MICW4.AEOI bit should be set by software. The SICW4.AEOI bit
should not be set by software.
Each interrupt request can be masked individually by the Interrupt Mask Register
(IMR). This register is programmed through OCW1. Each bit in the IMR masks one
interrupt channel. Masking IRQ2 on the master controller masks all requests for service
from the slave controller.
Some applications may require an interrupt service routine to dynamically alter the
system priority structure during its execution under software control. For example, the
routine may wish to inhibit lower priority requests for a portion of its execution but
enable some of them for another portion.
The special mask mode enables all interrupts not masked by a bit set in the Mask
register. Normally, when an interrupt service routine acknowledges an interrupt without
issuing an EOI to clear the ISR bit, the interrupt controller inhibits all lower priority
requests. In the special mask mode, any interrupts may be selectively enabled by
loading the Mask Register with the appropriate pattern.
The special mask mode is set by OCW3.ESMM=1b & OCW3.SMM=1b, and cleared
where OCW3.ESMM=1b & OCW3.SMM=0b.
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem) Legacy PCI
Header
D:31,F:0
RP0 F:0
PCIe*
D:23
SPI1 F:1
Note: The register descriptions after Table 150 represent one register possibility.
24h
28h
MICW1
2Ch
34h
MOCW3
38h
3Ch
25h
MICW2 29h
2Dh
MICW3
21h 31h
MICW4
35h
MOCW1 39h
3Dh
A4h
A8h
SICW1
ACh
B4h
SoCW3
B8h
BCh
A5h
SICW2 A9h
ADh
SICW3
A1h B1h
SICW4
B5h
SoCW1 B9h
BDh
4D0h 4D0h “Master Edge/Level Control (ELCR1)—Offset 4D0h” on page 916 108h
4D1h 4D1h “Slave Edge/Level Control (ELCR2)—Offset 4D1h” on page 916 14Ah
Once this write occurs, the controller expects writes to ICW2, ICW3, and ICW4 to
complete the initialization sequence.
Access Method
7 4 0
X X X X X X X X
MCS85
LTIM
ADI
SNGL
IC4
ICWOCWSEL
X MCS85 (MCS85): These bits are MCS-85 specific, and not needed. Should be
7: 5
WO programmed to 000
X ICW/OCW Select (ICWOCWSEL): This bit must be a 1 to select ICW1 and enable the
4
WO ICW2, ICW3, and ICW4 sequence.
X
3 Edge/Level Bank Select (LTIM): Disabled. Replaced by ELCR1 and ELCR2.
WO
X
2 ADI (ADI): Should be programmed to 0.
WO
X wICW4 Write Required (IC4): This bit must be programmed to a 1 to indicate that
0
WO ICW4 needs to be programmed.
Access Method
7 4 0
X X X X X X X X
IVBA
IRL
Bit Default &
Description
Range Access
X Interrupt Vector Base Address (IVBA): Bits [7:3] define the base address in the
7: 3 interrupt vector table for the interrupt routines associated with each interrupt request
WO level input.
Interrupt Request Level (IRL): When writing ICW2, these bits should all be 0. During
an interrupt acknowledge cycle, these bits are programmed by the interrupt controller
with the interrupt to be serviced. This is combined with bits [7:3] to form the interrupt
vector driven onto the data bus during the second INTA# cycle. The code is a three bit
binary code:
Code Master Interrupt Slave Interrupt
X 000 IRQ0 IRQ8
2: 0 001 IRQ1 IRQ9
WO
010 IRQ2 IRQ10
011 IRQ3 IRQ11
100 IRQ4 IRQ12
101 IRQ5 IRQ13
110 IRQ6 IRQ14
111 IRQ7 IRQ15
Access Method
7 4 0
0 0 1 X X X X X
OCW2S
ILS
Bit REOI
Default &
Description
Range Access
Rotate and EOI Codes (REOI): R, SL, EOI - These three bits control the Rotate and
End of Interrupt modes and combinations of the two. A chart of these combinations is
listed above under the bit definition.
000 - Rotate in Auto EOI Mode (Clear)
001 - Non-specific EOI command
001b 010 - No Operation
7: 5 011 - *Specific EOI Command
WO
100 - Rotate in Auto EOI Mode (Set)
101 - Rotate on Non-Specific EOI Command
110 - *Set Priority Command
111 - *Rotate on Specific EOI Command
*L0 - L2 Are Used
X
4: 3 OCW2 Select (OCW2S): When selecting OCW2, bits 4:3 = 00
WO
Interrupt Level Select (L2, L1, L0) (ILS): L2, L1, and L0 determine the interrupt
level acted upon when the SL bit is active. A simple binary code, outlined above, selects
the channel for the command to act upon. When the SL bit is inactive, these bits do not
X have a defined function; programming L2, L1 and L0 to 0 is sufficient in this case.
2: 0 Bits Interrupt Level Bits Interrupt Level
WO 000 IRQ0/8 100 IRQ4/12
001 IRQ1/9 101 IRQ5/13
010 IRQ2/10 110 IRQ6/14
011 IRQ3/11 111 IRQ7/15
7 4 0
X X X X X X X X
MBZ1
MBZ
CCC
X
7: 3 MBZ (MBZ): These bits must be programmed to zero.
WO
X
1: 0 MBZ (MBZ1): These bits must be programmed to zero.
WO
7 4 0
0 0 1 X X X 1 0
RESERVED
O3S
SMM
ESMM
PMC
RRC
Bit Default &
Description
Range Access
0b
7 RESERVED (RESERVED): Must be 0.
RO
Special Mask Mode (SMM): If this bit is set, the Special Mask Mode can be used by an
0b interrupt service routine to dynamically alter the system priority structure while the
6
WO routine is executing, through selective enabling/ disabling of the other channel's mask
bits. Bit 6, the ESMM bit, must be set for this bit to have any meaning.
1b Enable Special Mask Mode (ESMM): When set, the SMM bit is enabled to set or reset
5 the Special Mask Mode. When cleared, the SMM bit becomes a don't care.
WO
X
4: 3 OCW3 Select (O3S): When selecting OCW3, bits 4:3 = 01
WO
Poll Mode Command (PMC): When cleared, poll command is not issued. When set,
X the next I/O read to the interrupt controller is treated as an interrupt acknowledge
2 cycle. An encoded byte is driven onto the data bus, representing the highest priority
WO
level requesting service.
Register Read Command (RRC): These bits provide control for reading the ISR and
Interrupt IRR. When bit 1=0, bit 0 will not affect the register read selection. Following
ICW initialization, the default OCW3 port address read will be read IRR. To retain the
10b current selection (read ISR or read IRR), always write a 0 to bit 1 when programming
1: 0 this register. The selected register can be read repeatedly without reprogramming
WO OCW3. To select a new status register, OCW3 must be reprogrammed prior to
attempting the read.
00 No Action 01 No Action
10 Read IRQ Register 11 Read IS Register
7 4 0
X X X 0 0 0 0 1
MSBM
SFNM
BUF
AOEI
MM
MBZ
X
7: 5 MBZ (MBZ): These bits must be programmed to zero.
WO
0b Buffered Mode (BUF): Must be cleared for non-buffered mode. Writing 1 will result in
3
WO undefined behavior.
1b Microprocessor Mode (MM): This bit must be written to 1 to indicate that the
0 controller is operating in an Intel Architecture-based system. Writing 0 will result in
WO undefined behavior.
7 4 0
0 0 0 0 0 0 0 0
IRM
Bit Default &
Description
Range Access
Interrupt Request Mask (IRM): When a 1 is written to any bit in this register, the
00h corresponding IRQ line is masked. When a 0 is written to any bit in this register, the
7: 0 corresponding IRQ mask bit is cleared, and interrupt requests will again be accepted by
RW the controller. Masking IRQ2 on the master controller will also mask the interrupt
requests from the slave controller.
Once this write occurs, the controller expects writes to ICW2, ICW3, and ICW4 to
complete the initialization sequence.
Access Method
7 4 0
X X X X X X X X
MCS85
ADI
ICWOCWSEL
LTIM
SNGL
IC4
X MCS85 (MCS85): These bits are MCS-85 specific, and not needed. Should be
7: 5
WO programmed to 000
X ICW/OCW select (ICWOCWSEL): This bit must be a 1 to select ICW1 and enable the
4
WO ICW2, ICW3, and ICW4 sequence.
X
3 Edge/Level Bank Select (LTIM): Disabled. Replaced by ELCR1 and ELCR2.
WO
X
2 ADI (ADI): Should be programmed to 0.
WO
X wICW4 Write Required (IC4): This bit must be programmed to a 1 to indicate that
0
WO ICW4 needs to be programmed.
Access Method
7 4 0
X X X X X X X X
IVBA
IRL
Bit Default &
Description
Range Access
X Interrupt Vector Base Address (IVBA): Bits [7:3] define the base address in the
7: 3 interrupt vector table for the interrupt routines associated with each interrupt request
WO level input.
Interrupt Request Lever (IRL): When writing ICW2, these bits should all be 0.
During an interrupt acknowledge cycle, these bits are programmed by the interrupt
controller with the interrupt to be serviced. This is combined with bits [7:3] to form the
interrupt vector driven onto the data bus during the second INTA# cycle. The code is a
three bit binary code:
Code Master Interrupt Slave Interrupt
X 000 IRQ0 IRQ8
2: 0 001 IRQ1 IRQ9
WO
010 IRQ2 IRQ10
011 IRQ3 IRQ11
100 IRQ4 IRQ12
101 IRQ5 IRQ13
110 IRQ6 IRQ14
111 IRQ7 IRQ15
Access Method
7 4 0
0 0 1 X X X X X
OCW2S
ILS
Bit REOI
Default &
Description
Range Access
Rotate and EOI Codes (REOI): R, SL, EOI - These three bits control the Rotate and
End of Interrupt modes and combinations of the two. A chart of these combinations is
listed above under the bit definition.
000 - Rotate in Auto EOI Mode (Clear)
001 - Non-specific EOI command
001b 010 - No Operation
7: 5 011 - *Specific EOI Command
WO
100 - Rotate in Auto EOI Mode (Set)
101 - Rotate on Non-Specific EOI Command
110 - *Set Priority Command
111 - *Rotate on Specific EOI Command
*L0 - L2 Are Used
X
4: 3 OCW2 Select (OCW2S): When selecting OCW2, bits 4:3 = 00
WO
Interrupt Level Select (L2, L1, L0) (ILS): L2, L1, and L0 determine the interrupt
level acted upon when the SL bit is active. A simple binary code, outlined above, selects
the channel for the command to act upon. When the SL bit is inactive, these bits do not
X have a defined function; programming L2, L1 and L0 to 0 is sufficient in this case.
2: 0 Bits Interrupt Level Bits Interrupt Level
WO 000 IRQ0/8 100 IRQ4/12
001 IRQ1/9 101 IRQ5/13
010 IRQ2/10 110 IRQ6/14
011 IRQ3/11 111 IRQ7/15
7 4 0
X X X X X X X X
MBZ1
MBZ
CCC
X
7: 3 MBZ (MBZ): These bits must be programmed to zero.
WO
X
1: 0 MBZ (MBZ1): These bits must be programmed to zero.
WO
7 4 0
0 0 1 X X X 1 0
RESERVED
O3S
SMM
ESMM
PMC
RRC
Bit Default &
Description
Range Access
0b
7 RESERVED (RESERVED): Must be 0.
RO
Special Mask Mode (SMM): If this bit is set, the Special Mask Mode can be used by an
0b interrupt service routine to dynamically alter the system priority structure while the
6
WO routine is executing, through selective enabling/ disabling of the other channel's mask
bits. Bit 6, the ESMM bit, must be set for this bit to have any meaning.
1b Enable Special Mask Mode (ESMM): When set, the SMM bit is enabled to set or reset
5 the Special Mask Mode. When cleared, the SMM bit becomes a don't care.
WO
X
4: 3 OCW3 Select (O3S): When selecting OCW3, bits 4:3 = 01
WO
Poll Mode Command (PMC): When cleared, poll command is not issued. When set,
X the next I/O read to the interrupt controller is treated as an interrupt acknowledge
2 cycle. An encoded byte is driven onto the data bus, representing the highest priority
WO
level requesting service.
Register Read Command (RRC): These bits provide control for reading the ISR and
Interrupt IRR. When bit 1=0, bit 0 will not affect the register read selection. Following
ICW initialization, the default OCW3 port address read will be read IRR. To retain the
10b current selection (read ISR or read IRR), always write a 0 to bit 1 when programming
1: 0 this register. The selected register can be read repeatedly without reprogramming
WO OCW3. To select a new status register, OCW3 must be reprogrammed prior to
attempting the read.
00 No Action 01 No Action
10 Read IRQ Register 11 Read IS Register
7 4 0
X X X 0 0 0 0 1
MSBM
SFNM
BUF
AOEI
MM
MBZ
X
7: 5 MBZ (MBZ): These bits must be programmed to zero.
WO
0b Buffered Mode (BUF): Must be cleared for non-buffered mode. Writing 1 will result in
3
WO undefined behavior.
1b Microprocessor Mode (MM): This bit must be written to 1 to indicate that the
0 controller is operating in an Intel Architecture-based system. Writing 0 will result in
WO undefined behavior.
7 4 0
0 0 0 0 0 0 0 0
IRM
Bit Default &
Description
Range Access
Interrupt Request Mask (IRM): When a 1 is written to any bit in this register, the
00h corresponding IRQ line is masked. When a 0 is written to any bit in this register, the
7: 0 corresponding IRQ mask bit is cleared, and interrupt requests will again be accepted by
RW the controller. Masking IRQ2 on the master controller will also mask the interrupt
requests from the slave controller.
7 4 0
X X X X X 0 0 0
ELC
RESERVED
X Edge Level Control (ECL[7:3]) (ELC):: In edge mode, (bit cleared), the interrupt is
7: 3 recognized by a low to high transition. In level mode (bit set), the interrupt is
RW recognized by a high level.
0b
2: 0 RESERVED (RESERVED): Reserved.
RO
7 4 0
X X 0 X X X X 0
ELC1
ELC2
RESERVED
RESERVED1
Bit Default &
Description
Range Access
X Edge Level Control (ECL[15:14]) (ELC1): In edge mode, (bit cleared), the interrupt
7: 6 is recognized by a low to high transition. In level mode (bit set), the interrupt is
RW recognized by a high level. Bit 7 applies to IRQ15, and bit 6 to IRQ14.
0b
5 RESERVED (RESERVED): Reserved.
RO
Edge Level Control (ECL[12:9]) (ELC2):: In edge mode, (bit cleared), the interrupt
X is recognized by a low to high transition. In level mode (bit set), the interrupt is
4: 1 recognized by a high level. Bit 4 applies to IRQ12, bit 3 to IRQ11, bit 2 to IRQ10, and bit
RW
1 to IRQ9.
0b
0 RESERVED (RESERVED): Reserved.
RO
21.13.1 Features
• 24 interrupt lines
— IRQ0-23
• Edge or level trigger mode per interrupt
• Active low or high polarity per interrupt
• Works with local APIC in processor via MSIs
• MSIs can target specific processor core
• Established APIC programming model
Figure 56. Detailed I/O APIC Block Diagram
ID VS INT9
INT10
INT11
INT[0] INT12
RTE[0]
INT13
INT14
INT15
...
INT16
INT17
INT[23] INT18
RTE[23] INT19
INT20
INT21
INT22
INT23
INT[23:0]
Note: INT13 is unavailable and is effectively tied low within the I/O APIC, INT14 & INT15 are unused in the
MSIs generated by the I/O APIC are sent as 32-bit memory writes to the Local APIC.
The address and data of the write transaction are used as follows.
MSI 31 : 20 19 : 12 11 : 4 3 2 1:0
Address
MSI 31:16 151413:1211 10:8 7:0
Data
0000h 00b
RTE[n].TM Trigger Mode
Delivery Status (1b)
Destination ID (DID) and Extended Destination ID (EDID) are used to target a specific
processor core’s local APIC.
21.13.2 Use
The I/O APIC contains indirectly accessed I/O APIC registers and normal memory
mapped registers. There are three memory mapped registers:
• Index Register (IDX)
• Window Register (WDW)
• End Of Interrupt Register (EOI)
The Index register selects an indirect I/O APIC register (ID/VS/RTE[n]) to appear in the
Window register.
The Window register is used to read or write the indirect register selected by the Index
register.
The EOI register is written to by the Local APIC in the processor. The I/O APIC
compares the lower eight bits written to the EOI register to the Vector set for each
interrupt (RTE.VCT). All interrupts that match this vector will have their RTE.RIRR
register cleared. All other EOI register bits are ignored.
• NMI/INIT: This cannot be delivered while the CPU is in the Stop Grant state. In
addition, this is a break event for power management.
• SMI: There is no way to block the delivery of the SMI_B, except through BIOS.
• Virtual Wire Mode B: The Legacy Bridge does not support the INTR of the 8259
routed to the I/OxAPIC pin 0.
Memory
Space
I/O APIC
Space
IDX Value
ID 0h
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
IDX
0h Index (IDX): This 8-bit register selects which indirect register appears in the window
7: 0 register to be manipulated by software. Software will program this register to select the
RW desired APIC internal register.
Default: FFFFFFFFh
31 28 24 20 16 12 8 4 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
WDW
FFFFFFFFh Window (WDW): This 32-bit register specifies the data to be read or written to the
31: 0 register pointed to by the IDX register. This register can be accessed only in DW
RW quantities.
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
EOI
RESERVED1
Bit Default &
Description
Range Access
0b
31: 8 RESERVED (RESERVED1): Reserved.
RO
EOI (EOI): When a write is issued to this register, the IOxAPIC will check the lower 8
0h bits written to this register, and compare it with the vector field for each entry in the I/O
7: 0
RO Redirection Table. When a match is found, RTE.RIRR for that entry will be cleared. If
multiple entries have the same vector, each of those entries will have RTE.RIRR cleared.
Note: There is one pair of redirection (RTE) registers per interrupt line. Each pair forms a 64-
bit RTE register.
00 ID Identification
01 VS Version
02-0F - Reserved
40-FF - Reserved
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RSVD0
RSVD1
AID
0h
31: 28 Reserved (RSVD0): Reserved.
RW
0h
27: 24 APIC Identification (AID): Software must program this value before using the APIC.
RW
0h
23: 0 Reserved (RSVD1): Reserved.
RW
Default: 00170020h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
RSVD0
RSVD1
MRE
PRQ
VS
Bit Default &
Description
Range Access
0h
31: 24 Reserved (RSVD0): Reserved.
RW
17h Maximum Redirection Entries (MRE): This is the entry number (0 being the lowest
23: 16 entry) of the highest entry in the redirection table. This field is hardwired to indicate the
RO total number of interrupts.
0b Pin Assertion Register Supported (PRQ): The I/O APIC does not implement the Pin
15 Assertion Register.
RO
0h
14: 8 Reserved (RSVD1): Reserved.
RW
20h
7: 0 Version (VS): Identifies the implementation version as I/O APIC.
RO
Access Method
Default: 00010000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MSK
RIRR
POL
DS
VCT
RSVD0
TM
DSM
DLM
0h
31: 17 Reserved (RSVD0): Reserved.
RW
1b Mask (MSK): When set, interrupts are not delivered nor held pending. When cleared,
16
RW and edge or level on this interrupt results in the delivery of the interrupt.
0b Trigger Mode (TM): When cleared, the interrupt is edge sensitive. When set, the
15
RW interrupt is level sensitive.
Remote IRR (RIRR): This is used for level triggered interrupts; its meaning is
0b undefined for edge triggered interrupts. This bit is set when I/O APIC sends the level
14 interrupt message to the CPU. This bit is cleared when an EOI message is received that
RW matches the VCT field. This bit is never set for SMI, NMI, INIT, or ExtINT delivery
modes.
0b Polarity (POL): This specifies the polarity of each interrupt input. When cleared, the
13
RW signal is active high. When set, the signal is active low. 0: Active High 1: Active Low
0b Delivery Status (DS): This field contains the current status of the delivery of this
12 interrupt. When set, an interrupt is pending and not yet delivered. When cleared, there
RO is no activity for this entry.
0b Destination Mode (DSM): This field is used by the local APIC to determine whether it
11 is the destination of the message.
RW
Delivery Mode (DLM): This field specifies how the APICs listed in the destination field
should act upon reception of this signal. Certain Delivery Modes will only operate as
intended when used in conjunction with a specific trigger mode. These encodings are:
000: Fixed
001: Lowest Priority
0h 010: SMI - Not supported.
10: 8
RW 011: Reserved
100: NMI - Not supported.
101: INIT - Not supported.
110: Reserved
111: ExtINT
0h Vector (VCT): This field contains the interrupt vector for this interrupt. Values range
7: 0
RW between 10h and FEh.
Access Method
Default: 00000000h
31 28 24 20 16 12 8 4 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DID
EDID
RSVD
0h
31: 24 Destination ID (DID): Destination ID of the local APIC.
RW
0h
23: 16 Extended Destination ID (EDID): Extended destination ID of the local APIC.
RW
0h
15: 0 Reserved (RSVD): Reserved.
RW
21.14.1 Features
Selectable Prescaler - approximately 1 MHz (1 s to 1 s) and approximately 1 KHz (1
ms to 17 min)
• 33 MHz Clock (30 ns Clock Ticks)
• WDT Mode:
— Second stage drives WDT_TOUT high or inverts the previous value. Used only
after first timeout occurs.
— Status bit preserved in RTC well for possible error detection and correction
— Drives WDT_TOUT if OUTPUT is enabled
• Timer can be disabled (default state) or Locked (Hard Reset required to disable
WDT)
• WDT Automatic Reload of Preload value when WDT Reload Sequence is performed
21.14.2 Use
This Watchdog timer provides a resolution that ranges from 1 s to ~17 minutes. The
timer uses a 35-bit down-counter.
The counter is loaded with the value from the 1st Preload register. The timer is then
enabled and it starts counting down. The time at which the WDT first starts counting
down is called the first stage. If the host fails to reload the WDT before the 35-bit down
counter reaches zero the WDT generates an internal interrupt within the WDT.
After the internal interrupt is generated when the first stage has counted down to zero,
the WDT loads the value from the 2nd Preload register into the WDT's 35-bit Down-
Counter and starts counting down. The WDT is now in the second stage. If the host still
fails to reload the WDT before the second timeout, the WDT drives the WDT_TOUT
signal high and sets the timeout bit (WDT_TIMEOUT). This bit indicates that the System
has become unstable. The WDT_TOUT signal is held high until the system is Reset or
the WDT times out again (Depends on WDT Timeout Configuration). The process of
reloading the WDT involves the following sequence of writes:
• Write 80 to offset WDTBA + 0Ch
• Write 86 to offset WDTBA + 0Ch
• Write 1 to WDT_RELOAD in Reload Register.
The same process is used for setting the values in the preload registers. The only
difference exists in step 3. Instead of writing a '1' to the WDT_RELOAD, you write the
desired preload value into the corresponding Preload register. This value is not loaded
into the 35-bit down counter until the next time the WDT reenters the stage. For
example, if Preload Value 2 is changed, it is not loaded into the 35-bit down counter
until the next time the WDT enters the second stage.
Note: The WDT output, WDT_TOUT, is not available as a top-level SoC output pin
PCI Space
CPU
Core
Host Bridge
D:0,F:0
Memory
Space
PCI
CAM
(I/O)
Bus 0
PCI
ECAM
(Mem) Legacy PCI
Header
D:31,F:0
RP0 F:0
PCIe*
D:23
SPI1 F:1
WDTBA
I2C*/GPIOF:2 IO Space
Legacy Bridge
D:31,F:0
WDT IO
SDIO/eMMC F:0 Registers
HSUART0 F:1
IO Fabric D:20
10h 10h “WDT Configuration Register (WDTCR)—Offset 10h” on page 931 00h
18h 18h “WDT Lock Register (WDTLR)—Offset 18h” on page 932 00h
Default: FFh
7 4 0
1 1 1 1 1 1 1 1
PV1
Preload Value 1[7:0] (PV1): This register is used to hold the bits 7 down to 0 of the
Preload Value 1 for the Watch Dog Timer. The Value in the Preload Register is
FFh Automatically transferred into the 35-bit down counter every time the WDT enters the
7:0
RW first stage. The value loaded into the preload register needs to be one less than the
intended period. This is because the timer makes use of zero-based counting (i.e. zero
is counted as part of the decrement).
Default: FFh
7 4 0
1 1 1 1 1 1 1 1
PV1
Preload Value 1[15:8] (PV1): This register is used to hold the bits 15 down to 8 of
the Preload Value 1 for the Watch Dog Timer. The Value in the Preload Register is
FFh Automatically transferred into the 35-bit down counter every time the WDT enters the
7:0
RW first stage. The value loaded into the preload register needs to be one less than the
intended period. This is because the timer makes use of zero-based counting (i.e. zero
is counted as part of the decrement).
Default: 0Fh
7 4 0
0 0 0 0 1 1 1 1
PV1
RSV
0b
7:4 Reserved (RSV): Reserved.
RO
Preload Value 1[19:16] (PV1): This register is used to hold the bits 19 down to 16 of
the Preload Value 1 for the Watch Dog Timer. The Value in the Preload Register is
Fh Automatically transferred into the 35-bit down counter every time the WDT enters the
3:0
RW first stage. The value loaded into the preload register needs to be one less than the
intended period. This is because the timer makes use of zero-based counting (i.e. zero
is counted as part of the decrement).
Default: FFh
7 4 0
1 1 1 1 1 1 1 1
PV2
Preload Value 2[7:0] (PV2): This register is used to hold the bits 7 down to 0 of the
Preload Value 2 for the Watch Dog Timer. The Value in the Preload Register is
FFh Automatically transferred into the 35-bit down counter every time the WDT enters the
7:0
RW first stage. The value loaded into the preload register needs to be one less than the
intended period. This is because the timer makes use of zero-based counting (i.e. zero
is counted as part of the decrement).
Default: FFh
7 4 0
1 1 1 1 1 1 1 1
PV2
Bit Default &
Description
Range Access
Preload Value 2[15:8] (PV2): This register is used to hold the bits 15 down to 8 of
the Preload Value 2 for the Watch Dog Timer. The Value in the Preload Register is
FFh Automatically transferred into the 35-bit down counter every time the WDT enters the
7:0
RW first stage. The value loaded into the preload register needs to be one less than the
intended period. This is because the timer makes use of zero-based counting (i.e. zero
is counted as part of the decrement).
Default: 0Fh
7 4 0
0 0 0 0 1 1 1 1
RSV
PV2
0b
7:4 Reserved (RSV): Reserved.
RO
Preload Value 2[19:16] (PV2): This register is used to hold the bits 19 down to 16 of
the Preload Value 2 for the Watch Dog Timer. The Value in the Preload Register is
Fh Automatically transferred into the 35-bit down counter every time the WDT enters the
3:0
RW first stage. The value loaded into the preload register needs to be one less than the
intended period. This is because the timer makes use of zero-based counting (i.e. zero
is counted as part of the decrement).
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
WDT_RLD0
Bit Default &
Description
Range Access
0b WDT Reload 0 (WDT_RLD0): The reload sequence is only necessary for the Reload
7:0
WO register and Preload Value registers and is not used in Free Running mode.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
WDT_RDL
RSV
WDT_TOUT
Bit Default &
Description
Range Access
0b
7:2 Reserved (RSV): Reserved.
RO
WDT Timeout (WDT_TOUT): This bit is located in the RTC Well and its value is not
lost if the host resets the system. It is set to 1 if the host fails to reset the WDT before
0b the 35-bit Down-Counter reaches zero for the second time in a row. This bit is cleared
1
RW/1C by performing the Register Unlocking Sequence followed by a 1 to this bit.
0 = Normal (Default)
1 = System has become unstable.
0b WDT Reload (WDT_RDL): To prevent a timeout the host must perform the Register
0
RW Unlocking Sequence followed by a 1 to this bit.
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
WDT_PRE_SEL
RSVD
WDT_RESET_SEL
RSV2
WDT_TOUT_EN
WDT_RESET_EN
Bit Default &
Description
Range Access
0b
7:6 Reserved (RSV2): Reserved.
RO
WDT Timeout Output Enable (WDT_TOUT_EN): This bit indicates whether or not
0b the WDT toggles the external WDT_TOUT signal if the WDT times out.
5
RW 0 = Enabled (Default)
1 = Disabled
WDT Reset Enable (WDT_RESET_EN): When this bit is enable (set to 1), it allows
0b internal reset to be trigger when WDT timeout in the second stage. It either trigger
4 COLD or WARM reset depend on WDT_RESET_SEL bit.
RW 0 = Disable internal reset (Default)
1 = Enable internal COLD or WARM reset.
WDT Prescaler Select (WDT_PRE_SEL): The WDT provides two options for
prescaling the main Down Counter. The preload values are loaded into the main down
counter right justified. The prescaler adjusts the starting point of the 35-bit down
counter.
0b 0 = The 20-bit Preload Value is loaded into bits 34:15 of the main down counter. The
2
RW resulting timer clock is the PCI Clock (33 MHz) divided by 2^15. The approximate clock
generated is 1 KHz, (1 ms to 10 min). (Default)
1 = The 20-bit Preload Value is loaded into bits 24:05 of the main down counter. The
resulting timer clock is the PCI Clock (33 MHz) divided by 2^5. The approximate clock
generated is 1 MHz, (1 us to 1sec)
0b
1:0 Reserved (RSVD): Reserved.
RO
Default: 00h
7 4 0
0 0 0 0 0 0 0 0
RSV
WDT_ENABLE
WDT_TOUT_CNF
WDT_LOCK
0b
7:3 Reserved (RSV): Reserved.
RO
Watchdog Timer Enable (WDT_ENABLE): The following bit enables or disables the
WDT.
0 = Disabled (Default)
1 = Enabled
0b Note: This bit cannot be modified if WDT_LOCK has been set.
1 Note: In WDT mode Preload Value 1 is reloaded every time WDT_ENABLE goes from 0 to
RW 1 or the WDT_RELOAD bit is written using the proper sequence of writes (See Register
Unlocking Sequence). When the WDT second stage timeout occurs, a reset must
happen.
Note: Software must guarantee that a timeout is not about to occur before disabling the
timer. A reload sequence is suggested.
Watchdog Timer Lock (WDT_LOCK): Setting this bit locks the values of this register
until a hard-reset occurs or power is cycled.
0b 0 = Unlocked (Default)
0
RW/O 1 = Locked
Note: Writing a 0 has no effect on this bit. Write is only allowed from 0 to 1 once. It
cannot be changed until either power is cycled or a hard reset occurs
§§