EHL Datasheet Vol 1 Rev1p9
EHL Datasheet Vol 1 Rev1p9
May 2024
Revision 1.9
2 Datasheet, Volume 1
Contents
1 Introduction ...............................................................................................................17
1.1 About this Manual ..............................................................................................17
1.2 References........................................................................................................18
1.3 Processor Overview............................................................................................18
1.4 Overview ..........................................................................................................18
1.5 Intel Atom® x6000E Series processors, Intel® Pentium® and Celeron® N and J Series
processors Block Diagram ...................................................................................23
1.6 Processor SKUs .................................................................................................26
1.7 Processor Volatility Statement .............................................................................28
2 Technologies ..............................................................................................................29
2.1 Tremont ISA Extensions......................................................................................30
2.2 Security Technologies .........................................................................................31
2.3 Power and Performance Technologies....................................................................36
3 Power Management .....................................................................................................40
3.1 Power Management States Supported...................................................................40
3.2 Processor IA Core Power Management ..................................................................43
3.3 PM Interface Signals ..........................................................................................49
3.4 Processor Voltage Rails .......................................................................................51
3.5 Voltage Rail Electrical Specifications .....................................................................54
3.6 Intel® Programmable Services Engine (Intel® PSE) Power Management ...................60
3.7 SMI#/SCI Generation .........................................................................................64
3.8 Sleep States .....................................................................................................66
3.9 Event Input Signals and Their Usage ....................................................................69
3.10 Reset Behavior ..................................................................................................73
4 Thermal Management ..................................................................................................76
4.1 Thermal and Power Specifications ........................................................................76
4.2 Processor Thermal Management ..........................................................................77
4.3 PCH Thermal Management ..................................................................................86
5 Memory .....................................................................................................................89
5.1 System Memory Interface ...................................................................................89
5.2 Power Management............................................................................................99
5.3 IBECC ............................................................................................................ 102
6 Mapping Address Spaces............................................................................................ 107
6.1 System Address Mapping .................................................................................. 107
6.2 DOS Legacy Address Range............................................................................... 109
6.3 Lower Main Memory Address Range (1 MB – TOLUD) ............................................ 112
6.4 PCI Memory Address Range (TOLUD – 4 GB) ....................................................... 114
6.5 Upper Main Memory Address Space (4 GB to TOUUD) ........................................... 116
6.6 Graphics Memory Address Ranges ...................................................................... 118
6.7 System Management Mode (SMM) .................................................................... 119
6.8 SMM and VGA Access Through GTT TLB .............................................................. 119
6.9 Legacy VGA and I/O Range Decode Rules............................................................ 120
6.10 I/O Mapped Registers ...................................................................................... 122
6.11 PCH Address Mapping....................................................................................... 123
6.12 Variable I/O Decode Ranges .............................................................................. 126
6.13 Memory Map ................................................................................................... 128
7 Graphics .................................................................................................................. 132
7.1 Processor Graphics........................................................................................... 132
3 Datasheet, Volume 1
7.2 Registers........................................................................................................ 135
8 Display ................................................................................................................... 136
8.1 Display Technologies ........................................................................................ 136
8.2 General Capabilities ......................................................................................... 136
8.3 Display Features ............................................................................................. 137
8.4 Port Configuration ........................................................................................... 137
8.5 Display Interfaces ........................................................................................... 139
8.6 Multi-Stream Transport (MST) Configuration........................................................ 141
8.7 Multiple Display Configurations.......................................................................... 141
8.8 High-bandwidth Digital Content Protection (HDCP)............................................... 141
8.9 Display Technologies ........................................................................................ 142
8.10 PCH Display.................................................................................................... 146
8.11 Panel Control Signals ....................................................................................... 147
8.12 Embedded DisplayPort (eDP) Signals.................................................................. 147
8.13 MIPI DSI Signals ............................................................................................. 148
8.14 Digital Display Interface (DDI) Signals ............................................................... 149
9 Flexible I/O.............................................................................................................. 150
9.1 Acronyms....................................................................................................... 150
9.2 HSIO Controller (PCH) ..................................................................................... 150
9.3 Overview/Functional Description........................................................................ 152
9.4 Registers........................................................................................................ 153
10 Audio, Voice, and Speech........................................................................................... 154
10.1 Feature Overview ............................................................................................ 154
10.2 Legacy Audio Interface - Signal Description ........................................................ 155
10.3 Intel® High Definition Audio (Intel® HD Audio) Controller Capabilities ................... 156
10.4 Direct Attached Digital Microphone (PDM) Interface ............................................. 158
10.5 I2S/PCM Interface ........................................................................................... 158
10.6 References ..................................................................................................... 159
11 Universal Serial Bus (USB)......................................................................................... 160
11.1 Overview ....................................................................................................... 160
11.2 Integrated Pull-Ups and Pull-Down11.3 Registers................................................. 165
11.3 Registers........................................................................................................ 165
12 PCI Express ............................................................................................................. 166
12.1 Acronyms....................................................................................................... 166
12.2 Signal Description ........................................................................................... 166
12.3 I/O Signal Planes and States............................................................................. 166
12.4 PCI Express* Port Support Feature Details .......................................................... 167
12.5 Overview/Functional Description........................................................................ 167
12.6 Registers........................................................................................................ 174
13 Serial ATA (SATA) ..................................................................................................... 175
13.1 Acronyms....................................................................................................... 175
13.2 References ..................................................................................................... 175
13.3 Overview ....................................................................................................... 175
13.4 I/O Signal Planes and States............................................................................. 175
13.5 Functional Description...................................................................................... 176
13.6 Registers........................................................................................................ 180
14 Host System Management Bus (SMBus) Controller ........................................................ 181
14.1 Functional Description...................................................................................... 181
14.2 Signal Description ........................................................................................... 181
14.3 Host Controller................................................................................................ 181
14.4 Registers........................................................................................................ 192
Datasheet, Volume 1 4
15 Gigabit Ethernet Controller and Time-Sensitive Networking............................................. 193
15.1 Overview ........................................................................................................ 193
15.2 Features Description ........................................................................................ 194
15.3 GbE Time-Stamping Logic ................................................................................. 198
15.4 GbE Cross-Timestamp Logic .............................................................................. 198
15.5 External Interfaces .......................................................................................... 199
15.6 Signal Description ............................................................................................ 200
15.7 GbE-TSN Interrupts and Message Signaled Interrupt............................................. 202
15.8 GbE TSN Register/Programming Differences Between GbE PSE MAC and GbE HOST MAC
203
15.9 Supported System Configurations ...................................................................... 205
15.10 Registers ........................................................................................................ 206
15.11 References...................................................................................................... 206
16 Enhanced Serial Peripheral Interface (eSPI) .................................................................. 207
16.1 Functional Overview ......................................................................................... 207
16.2 Registers ........................................................................................................ 213
17 Serial Peripheral Interface (SPI) Flash Memory and TPM Only.......................................... 214
17.1 Acronyms ....................................................................................................... 214
17.2 Feature Overview............................................................................................. 214
17.3 Signal Description ............................................................................................ 215
17.4 Integrated Pull-Ups and Pull-Downs.................................................................... 215
17.5 I/O Signal Planes and States ............................................................................. 216
17.6 Functional Description ...................................................................................... 216
17.7 VCCSPI Voltage (3.3V or 1.8V) Selection............................................................. 223
17.8 Registers ........................................................................................................ 224
18 SIO (LPSS) .............................................................................................................. 225
18.1 Intel® Serial I/O Universal Asynchronous Receiver/Transmitter (UART) Controllers ... 225
18.2 Intel® Serial I/O Inter-Integrated Circuit (I2C) Controllers .................................... 233
18.3 Serial Peripheral Interface (SIO SPI) .................................................................. 238
19 Storage ................................................................................................................... 244
19.1 embedded Multi Media Card (eMMC*) ................................................................. 244
19.2 Secure Digital eXtended Capacity (SDXC) ........................................................... 245
20 Clocking .................................................................................................................. 247
20.1 Integrated Clock Controller (ICC) ....................................................................... 247
20.2 PCH ICC Clocking............................................................................................. 247
20.3 PCH ICC XTAL Input Configuration...................................................................... 252
20.4 Summary of Clock Signal .................................................................................. 252
20.5 Registers ........................................................................................................ 253
21 General Purpose Input and Output (GPIO).................................................................... 254
21.1 Overview ........................................................................................................ 254
21.2 Pad Grouping, Muxing, and Capabilities............................................................... 254
21.3 Functional Description ...................................................................................... 254
21.4 GPIO Multiplexing Table .................................................................................... 263
21.5 Registers ........................................................................................................ 305
22 Intel® Programmable Services Engine (Intel® PSE) ...................................................... 306
22.1 Overview ........................................................................................................ 306
22.2 Functional Description ...................................................................................... 306
22.3 Block Diagram................................................................................................. 307
22.4 Intel® PSE Resources Required ......................................................................... 308
22.5 Arm* Cortex*-M7 Subsystem ............................................................................ 309
22.6 L2 SRAM......................................................................................................... 310
5 Datasheet, Volume 1
22.7 Clock Control Unit (CCU) and PLL ...................................................................... 310
22.8 Power Management Unit (PMU) ......................................................................... 311
22.9 Address Translation Table (ATT) ......................................................................... 311
22.10 AON Controller................................................................................................ 311
22.11 Timer ............................................................................................................ 312
22.12 I/O Ownership and Interrupts ........................................................................... 312
22.13 Controller Area Network (CAN) Bus Controller ..................................................... 317
22.14 I2C Controller ................................................................................................. 334
22.15 UART Controller .............................................................................................. 352
22.16 SPI Controller ................................................................................................. 378
22.17 GPIO Controller............................................................................................... 391
22.18 Time-Aware GPIO ............................................................................................ 393
22.19 I2S Controller ................................................................................................. 400
22.20 Pulse Width Modulation (PWM) .......................................................................... 407
22.21 Quadrature Encoder Peripheral (QEP) ................................................................. 410
22.22 Time Synchronous Support ............................................................................... 424
22.23 DMA .............................................................................................................. 424
23 Intel® Safety Island (Intel® SI)................................................................................. 437
23.1 Feature Overview ............................................................................................ 437
23.2 Error Reporting ............................................................................................... 440
23.3 Integrated Pull-Ups and Pull - Downs ................................................................. 442
23.4 I/O Signal Planes and States............................................................................. 442
23.5 Registers........................................................................................................ 443
24 Functional Safety (FuSa) ........................................................................................... 444
24.1 Overview ....................................................................................................... 444
24.2 Processor and FuSa Safety Package ................................................................... 444
25 Primary to Sideband Bridge (P2SB) ............................................................................. 445
25.1 Overview ....................................................................................................... 445
25.2 Integrated Error Handler .................................................................................. 446
25.3 Registers........................................................................................................ 447
26 Legacy Interfaces ..................................................................................................... 448
26.1 8254 Timers ................................................................................................... 448
26.2 I/O APIC ........................................................................................................ 451
26.3 8259 Programmable Interrupt Controller (PIC) .................................................... 453
26.4 Real-Time Real Time Clock (RTC) ....................................................................... 459
26.5 System Management ....................................................................................... 464
26.6 High Precision Event Timer (HPET)..................................................................... 468
26.7 Processor Interface.......................................................................................... 473
27 Pin Strap ................................................................................................................. 475
28 Test and Debug ........................................................................................................ 479
28.1 Debug Capability and Technologies .................................................................... 479
28.2 Signal Description ........................................................................................... 484
28.3 Intel® Atom Debug and Tool............................................................................. 485
28.4 Arm* Debug and Tool ...................................................................................... 487
28.5 Debug Interface Availability ............................................................................. 490
28.6 References ..................................................................................................... 490
29 Intel® Time Coordinated Computing ........................................................................... 491
29.1 Intel® Time Coordinated Computing Overview .................................................... 491
29.2 Intel® Time Coordinated Computing Features ..................................................... 492
29.3 Intel® TCC Tools ............................................................................................. 499
Datasheet, Volume 1 6
30 Global Device IDs .................................................................................................... 500
30.1 Overview ........................................................................................................ 500
30.2 PCH Global Device IDs...................................................................................... 500
30.3 PCH ACPI IDs .................................................................................................. 504
30.4 Compute Die Global Device ID ........................................................................... 504
31 Processor Ball Map and Pin Location ............................................................................ 507
32 Package Information ................................................................................................. 546
32.1 Package Mechanical Drawing - Non IHS .............................................................. 546
32.2 Package Mechanical Drawing - IHS ..................................................................... 548
33 Processor Transaction Router (PTR) ............................................................................. 549
33.1 Overview ........................................................................................................ 549
33.2 I/O Port (IOP) ................................................................................................. 549
34 Machine Check Architecture (MCA) .............................................................................. 551
34.1 Overview ........................................................................................................ 551
34.2 Machine Check Architecture (MCA) MSR Addresses ............................................... 551
34.3 Registers ........................................................................................................ 553
35 Intel® Converged Security Engine (Intel® CSE) ........................................................... 554
35.1 Overview ........................................................................................................ 554
36 Electrical Specifications.............................................................................................. 557
36.1 Crystal Specifications ....................................................................................... 557
36.2 Storage Conditions........................................................................................... 558
36.3 DC Specifications ............................................................................................. 559
37 Terminology ............................................................................................................. 583
List of Figures
7 Datasheet, Volume 1
Figure 11-1USB 3.1/PCIe*/SATA Port Mapping.................................................................. 161
Figure 12-1PCIE Controller Port Configuration .................................................................. 166
Figure 12-2Single Virtual Channel PCIe* Controller ........................................................... 168
Figure 12-1Generation of SERR# to Platform.................................................................... 172
Figure 12-3PCI Express* Controller Lane Reversal ............................................................ 174
Figure 13-1Flow for Port Enable/Device Present Bits .......................................................... 179
Figure 15-1GbE-TSN MAC Placement ............................................................................... 193
Figure 16-1Basic eSPI Protocol ....................................................................................... 208
Figure 17-1Flash Descriptor Regions ............................................................................... 219
Figure 18-1UART Serial Protocol ..................................................................................... 227
Figure 18-2UART Receiver Serial Data Sample Points......................................................... 228
Figure 18-3Data Transfer on the I2C Bus ......................................................................... 235
Figure 20-1Internal Clock Diagram - “iSCLK” .................................................................... 248
Figure 20-2Internal Clock Diagram - “modPHY” ................................................................ 248
Figure 20-3PSE_Clocking ............................................................................................... 249
Figure 20-4PSE_GBe Clocking ........................................................................................ 250
Figure 20-5PCH ICC XTAL Input Configuration .................................................................. 252
Figure 21-1Input Capture Rising Edge ............................................................................. 256
Figure 21-2Input Capture Falling Edge............................................................................. 256
Figure 21-3Input Capture Both (Toggle) Edge(s)............................................................... 257
Figure 21-4Output Generation Rising Pulse ...................................................................... 258
Figure 21-5Output Generation Falling Pulse ...................................................................... 258
Figure 21-6Output Generation Toggle Edge ...................................................................... 259
Figure 22-1Intel® PSE Block Diagram ............................................................................. 308
Figure 22-2Bus monitoring mode .................................................................................... 322
Figure 22-3Internal Loop Back Mode ............................................................................... 324
Figure 22-4Standard Message ID Filter Path ..................................................................... 326
Figure 22-5Extended Message ID Filtering ....................................................................... 327
Figure 22-6Rx FIFO Status............................................................................................. 328
Figure 22-7Rx FIFO Overflow Handling ............................................................................ 329
Figure 22-87-bit Address Format .................................................................................... 338
Figure 22-910-bit address format ................................................................................... 338
Figure 22-10 Initiator-Transmitter Protocol ....................................................................... 340
Figure 22-11Initiator-Receiver Protocol............................................................................ 341
Figure 22-12IC_DATA_CMD register if IC_EMPTYFIFO_HOLD_MASTER_EN= 1....................... 342
Figure 22-13Breakdown of DMA Transfer into Burst Transactions ......................................... 347
Figure 22-14Breakdown of DMA Transfer into Single and Burst Transactions ......................... 348
Figure 22-15Case 1 Watermark Levels............................................................................. 349
Figure 22-16Case 2 Watermark Levels............................................................................. 349
Figure 22-17I2C Receive FIFO ........................................................................................ 351
Figure 22-18Serial Data Format...................................................................................... 354
Figure 22-19Auto Address Transmit Flow Chart ................................................................. 356
Figure 22-20Hardware Address Match Receive Mode ......................................................... 357
Figure 22-21Flowchart of Interrupt Generation for Programmable THRE Interrupt Mode ......... 368
Figure 22-22Flowchart of Interrupt generation when not in Programmable THRE Interrupt Mode ...
369
Figure 22-23Breakdown of DMA Transfer into Burst Transaction .......................................... 371
Figure 22-24Breakdown of DMA Transfer into Single and Burst Transactions ......................... 372
Figure 22-25Case 1 Watermark Levels............................................................................. 373
Figure 22-26Case 2 Watermark Levels............................................................................. 374
Figure 22-27UART Receive FIFO ..................................................................................... 376
Figure 22-28Serial Format Continuous Transfers (SCPH = 0) when SSI_SCPH0_SSTOGGLE = 1 ....
379
Figure 22-29SPI Serial Format (SCPH=1) ........................................................................ 380
Figure 22-30SPI controller Configured as Initiator Device................................................... 382
Datasheet, Volume 1 8
Figure 22-31Breakdown of DMA Transfer into Burst Transactions ......................................... 385
Figure 22-32Breakdown of DMA Transfer into Single and Burst Transactions.......................... 386
Figure 22-33Case 1 Watermark Levels ............................................................................. 387
Figure 22-34Case 2 Watermark Levels ............................................................................. 387
Figure 22-35SPI Controller Receive FIFO .......................................................................... 389
Figure 22-36Sync out configuration ................................................................................. 397
Figure 22-37Sync In Configuration .................................................................................. 398
Figure 22-38Time Slice Generator controller ..................................................................... 399
Figure 22-39Example of basic transmission for I2S bus ...................................................... 401
Figure 22-40Timers Usage Flow Diagram ......................................................................... 408
Figure 22-41Block Diagram of QEP .................................................................................. 411
Figure 22-42Controller Block Diagram.............................................................................. 413
Figure 22-43Edge Selection and Phase Swapping Block Diagram ......................................... 414
Figure 22-44Quadrature Decoder Block Diagram ............................................................... 415
Figure 22-45Phase relationship example between PhA and PhB signals................................. 416
Figure 22-46State diagram for direction decoding.............................................................. 416
Figure 22-47Software Flow Diagram for QEP Functionality .................................................. 421
Figure 22-48Software flow diagram for Capture Compare Functionality ................................ 423
Figure 22-49DMA Multi-Block and Update Flowchart .......................................................... 433
Figure 22-50Multi-Block Transfer Setup using Linked Lists .................................................. 434
Figure 23-1Intel® SI Block Diagram ................................................................................ 438
Figure 26-1TCO Compatible Mode SMBus Configuration...................................................... 465
Figure 28-1Overall Debug Capability................................................................................ 480
Figure 28-2Switching Flows Between JTAG and SWD.......................................................... 488
Figure 29-1Intel® TCC Features within System and TSN between Systems ........................... 491
Figure 29-2Platform Time Synchronization........................................................................ 493
Figure 29-3IOTLB Usage ................................................................................................ 496
Figure 29-4LLC without Cache QoS.................................................................................. 498
Figure 29-5LLC with Cache QoS ...................................................................................... 498
Figure 32-1Package Mechanical drawing - Part 1 of 2 ......................................................... 546
Figure 32-2Package Mechanical drawing - Part 2 of 2 ......................................................... 547
Figure 32-3Package Mechanical Drawing ......................................................................... 548
Figure 34-1Processor Core, Module, and Compute Die Machine Check Registers .................... 553
List of Tables
9 Datasheet, Volume 1
Table 3-15VccIN_AUX Supply DC Voltage and Current Specifications ..................................... 57
Table 3-16Memory Controller (VDDQ) Supply DC Voltage and Current Specifications................ 59
Table 3-17VCCIO Supply DC Voltage and Current Specifications ............................................ 59
Table 3-18Additional Rails Estimated Icc3 .......................................................................... 59
Table 3-19PSE D0ix states ............................................................................................... 62
Table 3-20Causes of SMI and SCI ..................................................................................... 64
Table 3-21Sleep Types .................................................................................................... 67
Table 3-22Causes of Wake Events ..................................................................................... 67
Table 3-23 Transitions Due to Power Failure........................................................................ 69
Table 3-24Transitions Due to Power Button ........................................................................ 70
Table 3-25Causes of Host and Global Resets....................................................................... 73
Table 4-1Processor Specifications...................................................................................... 76
Table 4-2Thermal Trip Points and Response (Typical) ........................................................... 88
Table 5-1DDR Support Matrix Table ................................................................................... 89
Table 5-2LPDDR4/4x Sub-Channels Population Rules ........................................................... 91
Table 5-3DDR4 Channel Population Rules ........................................................................... 91
Table 5-4Supported SA Speed Enhanced Speed steps (SA-GV) and Gear Mode Frequencies ...... 91
Table 5-5Supported DDR4 SODIMM Module Configurations ................................................... 92
Table 5-6Supported DDR4 DRAMs (Memory Down) Configurations......................................... 93
Table 5-7Supported LPDDR4/4x x32 DRAMs Configurations .................................................. 93
Table 5-8System Memory Interface Signals Terminology ...................................................... 93
Table 5-9Firmware/Software Initiated Memory Access ....................................................... 104
Table 6-1SMM Regions .................................................................................................. 119
Table 6-2Processor Graphics Frame Buffer Accesses .......................................................... 120
Table 6-3Processor Graphics VGA I/O Mapping ................................................................. 121
Table 6-4MDA IO Transaction Mapping ............................................................................. 121
Table 6-5MDA Resources ............................................................................................... 122
Table 6-6Fixed I/O Ranges Decoded by PCH ..................................................................... 124
Table 6-7Variable I/O Decode Ranges .............................................................................. 126
Table 6-8PCH Memory Decode Ranges (Compute Die Perspective) ....................................... 129
Table 6-9Addressing Swapping ....................................................................................... 131
Table 7-1Hardware Accelerated Video Decode and Encode.................................................. 134
Table 8-1Display Features .............................................................................................. 137
Table 8-2Ports Availability .............................................................................................. 137
Table 8-3Digital Display Signals ...................................................................................... 139
Table 8-4Pin Mapping for PCH Die ................................................................................... 140
Table 8-5Panel Control Signals ....................................................................................... 147
Table 8-6Embedded DisplayPort Signals........................................................................... 147
Table 8-7MIPI DSI Signals ............................................................................................. 148
Table 8-8Display Interface Signals .................................................................................. 149
Table 10-1Legacy Audio Signals...................................................................................... 155
Table 11-1USB Bandwidth Information ............................................................................ 160
Table 11-2Processor USB Specification ............................................................................ 161
Table 11-3Signal Description .......................................................................................... 162
Table 14-1I2C* Multi-Byte Read ..................................................................................... 184
Table 14-2Enable for SMB_ALERT_N................................................................................ 186
Table 14-3Enables for SMBus Target Write and SMBus Host Events...................................... 186
Table 14-4Enables for the Host Notify Command............................................................... 187
Table 14-5Target Write Registers .................................................................................... 188
Table 14-6Command Types ............................................................................................ 188
Table 14-7Target Read Cycle Format ............................................................................... 189
Table 14-8Data Values for Target Read Registers............................................................... 190
Table 14-9Host Notify Format ......................................................................................... 192
Table 15-1TSN IEEE Standards ....................................................................................... 197
Table 15-2SGMII GbE LAN Signals .................................................................................. 200
Datasheet, Volume 1 10
Table 15-3RGMII Signals ................................................................................................ 200
Table 15-4MDIO Signals................................................................................................. 201
Table 15-5Miscellaneous Signals...................................................................................... 201
Table 15-6GbE-TSN interrupts and Message Signaled Interrupt (MSI) Vector Number ............. 202
Table 15-7GbE TSN Register List Differences Between GbE PSE MAC and GbE HOST MAC........ 203
Table 15-8Supported System Configurations ..................................................................... 205
Table 16-1eSPI Signals .................................................................................................. 207
Table 16-2eSPI Channels and Supported Transactions ........................................................ 209
Table 16-3eSPI Virtual Wires (VW) .................................................................................. 210
Table 16-4eSPI Target Request to PCH for PCH Temperature ............................................... 211
Table 16-5PCH Response to eSPI Target with PCH Temperature ........................................... 211
Table 16-6eSPI Target Request to PCH for PCH RTC Time.................................................... 212
Table 16-7PCH Response to eSPI Target with RTC Time ...................................................... 212
Table 17-1SPI Flash Regions ........................................................................................... 217
Table 17-2Region Size Versus Erase Granularity of Flash Components .................................. 218
Table 17-3Region Access Control Table............................................................................. 220
Table 18-1UART Signals ................................................................................................. 225
Table 18-3Signal Description .......................................................................................... 234
Table 19-1eMMC Signal Descriptions ................................................................................ 244
Table 19-2eMMC* Working Modes ................................................................................... 245
Table 19-3SDXC Signals................................................................................................. 246
Table 19-4SD Working Modes ......................................................................................... 246
Table 20-1Intel ® PSE Clock Distribution.......................................................................... 250
Table 21-1GPIO Multiplexing Table................................................................................... 264
Table 22-1List of Arm* Cortex*-M7 resources required....................................................... 309
Table 22-2Timers .......................................................................................................... 312
Table 22-3Intel® PSE Interrupt Routing ........................................................................... 314
Table 22-4Intel® PSE ARM Interrupt And MSI Vector Mapping............................................. 314
Table 22-5Size and breakdown of the MSG_RAM allocation for CAN[0/1] message RAM .......... 318
Table 22-6Coding of DLS in CAN FD ................................................................................. 320
Table 22-7Rx buffer/FIFO Element Size ............................................................................ 328
Table 22-8Example Filter Configuration for Rx Buffers ........................................................ 330
Table 22-9Tx Buffer/FIFO Element Size ............................................................................ 331
Table 22-10CANBUS Signal............................................................................................. 334
Table 22-11I2C Definition of Bits in First Byte ................................................................... 338
Table 22-12I2C Signal Description ................................................................................... 352
Table 22-13Divisor Latch Fractional Values ....................................................................... 363
Table 22-14UART Signal Description ................................................................................ 376
Table 22-15Transmit FIFO Threshold (TFT) Decode Values .................................................. 383
Table 22-16Receive FIFO Threshold (TFT) Decode Values.................................................... 383
Table 22-17SPI Signal Description ................................................................................... 391
Table 22-18GPIO an TGPIO Muxed .................................................................................. 400
Table 22-19TGPIO/GPIO Signal Description....................................................................... 400
Table 22-20Audio interface models .................................................................................. 402
Table 22-21Example of audio settings and sample rate....................................................... 404
Table 22-22I2S Status Register....................................................................................... 405
Table 22-23I2S Signal Description ................................................................................... 407
Table 22-24PWM Signal Description ................................................................................. 410
Table 22-25Capture compare options............................................................................... 418
Table 22-26FIFO_THRE Decode ....................................................................................... 419
Table 22-27QEP Signal Description .................................................................................. 424
Table 22-28DMA Capabilities/Restrictions ......................................................................... 425
Table 22-29DMA Hardware Handshake Peripheral Assignments............................................ 427
Table 22-30Parameters Used for DMA Setup ..................................................................... 429
Table 22-31Basic Block Transfer Example Settings ............................................................. 430
11 Datasheet, Volume 1
Table 22-32Programming of Transfer Types and Channel Register Update Method.................. 432
Table 23-1Signal Description .......................................................................................... 439
Table 23-2Legacy Error Reporting Logic ........................................................................... 442
Table 23-3Integrated Pull-Ups and Pull-Downs.................................................................. 442
Table 23-4I/O Signal Planes and States ........................................................................... 443
Table 25-1Private Configuration Space Register Target Port IDs........................................... 445
Table 25-2Error Sources ................................................................................................ 446
Table 26-1Counter Operating Modes................................................................................ 449
Table 26-2Interrupt Status Registers ............................................................................... 454
Table 26-3RTC Crystal Requirements ............................................................................... 463
Table 26-4External Crystal Oscillator Requirement............................................................. 463
Table 26-5Event Transitions that Cause Messages ............................................................. 465
Table 26-6Legacy Replacement Routing ........................................................................... 470
Table 26-7Cause of INIT#.............................................................................................. 473
Table 26-8Cause of NMI ................................................................................................ 474
Table 27-1Pin Straps ..................................................................................................... 475
Table 28-1JTAG, DBG_PMODE, CFG and BPM_N Testability Signal........................................ 484
Table 28-2SWD & ETM Signal Description......................................................................... 484
Table 28-3Debug Interface Availability............................................................................. 490
Table 30-1PCH Global Device IDs .................................................................................... 500
Table 30-2ACPI IDs....................................................................................................... 504
Table 30-3Compute Die Global Device ID ......................................................................... 504
Table 31-1Processor Ball Names ..................................................................................... 507
Table 34-1Processor Machine Check MSR Address ............................................................. 551
Table 36-1Integrated Clock Crystal Specification ............................................................... 557
Table 36-2RTC Crystal Specification ................................................................................ 557
Table 36-3Storage Conditions (PC Client Only).................................................................. 558
Table 36-4Storage Conditions (Embedded and Indu Only) .................................................. 558
Table 36-5Single-Ended Signal DC Characteristics as Inputs or Outputs ............................... 560
Table 36-6CMOS Signal Group DC Specifications .............................................................. 571
Table 36-7GTL Signal Group and Open Drain (OD) Signal Group DC Specifications................. 572
Table 36-8Display Port* Transmitter DC Specification......................................................... 572
Table 36-9HDMI* DC Specification .................................................................................. 573
Table 36-10Embedded Display Port* DC Specification ........................................................ 573
Table 36-11MIPI*-DSI DC Specification ........................................................................... 573
Table 36-12DDR4 Signal Group DC Specifications (Sheet 1 of 2) ......................................... 575
Table 36-13LPDDR4/x DC Specifications .......................................................................... 577
Table 36-14USB 2.0 Host DC Specification ....................................................................... 579
Table 36-15USB 3.1 Interface DC Specification ................................................................. 580
Table 36-16SATA DC Specification................................................................................... 582
Table 37-1Terminology .................................................................................................. 583
Datasheet, Volume 1 12
Revision History
Revision
Revision Date Description
Number
13 Datasheet, Volume 1
Revision
Revision Date Description
Number
Chapter 1, “Introduction”
Added SKU 8PU Intel Atom® x6214RE Processor column with details
to Table 1-2
Added SKU 9PU Intel Atom® x6416RE Processor column with details
to Table 1-2
Removed MIPI-DSI from Figure 1-1
Chapter 8, “Display”
Updated PNL x2 to PNL in Figure 8-1
Updated PNL[1:0]_xxx to PNL[0]_xxx in Figure 8-1
Updated DDI1 (Port B) Internal Port in Table 8-2
Updated MIPIB Data 0, MIPIB Data 1, MIPIB Data 2, MIPIB Clock and
MIPIB Data 3 to NC IN Table 8-3
Updated PNL[1:0]_VDDEN to PNL0_VDDEN in Table 8-5
Updated PNL[1:0]_BKLTEN to PNL0_BKLTEN in Table 8-5
Updated PNL[1:0]_ BKLTCTL to PNL0_BKLTCTL in Table 8-5
Updated DDI0/1_TXP[3:1] to DDI0_TXP[3:1] in Table 8-7
Updated DDI0/1_TXN[3:1] to DDI0_TXN[3:1] in Table 8-7
Updated DDI0/1_AUXP to DDI0_AUXP in Table 8-7
Updated DDI0/1_AUXN to DDI0_AUXN in Table 8-7
Updated MDSI_DE_TE_[2:1] to MDSI_DE_TE_1 in Table 8-7
Removed MIPIB with DSI1 from Table 8-2 Ports Availability
Removed MDSI_DE_TE_2 and DSI1 PP1 from Figure 8-1
Removed Usage Model DDI1 MIPIB in Table 8-4
Removed MDSI_DE_TE_2 from Table 8-4
Removed Display Signal PNL1_VDDEN and the details from Table 8-4
November 2022 1.6 Removed Display Signals PNL1_BKLTEN and the details from Table 8-4
Removed Display Signal PNL1_BKLTCTL and the details from Table 8-4
Removed DDI1_TXP0 and DDI1_TXN0 from Table 8-7
Chapter 20, “Clocking”
Updated DDI[1:0]_TXN2 to DDI0_TXN2 in Section 20.4
Updated DDI[1:0]_TXP2 to DDI0_TXP2 in Section 20.4
Updated (MIP[IA/B] Clock) to MIPIA Clock in Section 20.4
Chapter 22, “Intel® Programmable Services Engine (Intel® PSE)”
Updated Section 22.17.1
Updated Section 22.23.2.2
Updated Section 22.23.2.4
Removed sub-chapter “Memory to Peripheral Transfers - Multi Block
Transfers” in Chapter 22
Removed sub-chapter “Peripheral to Peripheral Transfers - Direct
Programming” in Chapter 22
Chapter 30, “Global Device IDs”
Updated Processor Transaction Router (Processor SKU 8) to Processor
Transaction Router (Processor SKU 8/8PU) in Table 30-3
Updated Processor Transaction Router (Processor SKU 9) to Processor
Transaction Router (Processor SKU 9/9PU) in Table 30-3
Chapter 31, “Processor Ball Map and Pin Location”
Added superscript note 1 to GP_E23/PNL1_BKLTEN in Table 31-1
Added superscript note 1 to GP_E17/PNL1_VDDEN in Table 31-1
Added Note 1 to Table 31-1
Chapter 36, “Electrical Specifications”
Updated Associated Signals in Table 36-6
Removed MDSI_DE_TE_2 from Table 36-6
Datasheet, Volume 1 14
Revision
Revision Date Description
Number
Chapter 2, “Technologies”
Updated Section 2.1 Tremont ISA Extensions
Chapter 3, “Power Management”
Added new note for PMC_PWRBTN_N in Table 3-10
Added new note to Section 3.9 Event Input Signals and Their Usage
Note in Table 3-18 ICCMAX specification for the VCC_RTC_3P3 rail
when the processor is in a G3 state has been updated.
Added VCC_OUT_1P24A to Table 3-18
Chapter 15, “Gigabit Ethernet Controller and Time-Sensitive
Networking”
Added new note to Section 15.2.1 Ethernet Features Description
Chapter 20, “Clocking”
Updated Figure 20-4 Summary of Clock Signal
Figure 20-4 PSE_GBE Clocking updated to remove
(gbe_ptp_clock(256M/100M) and pse_hh_xtal_clk (19.2M)
Chapter 21, “General Purpose Input and Output (GPIO)”
Removed "BOOT_PWR_EN" from Table 21-1 GPIO Multiplexing Table
Added new Section 21.3.9 I/O Standby
Added new Section 21.3.9.1 I/O Standby State (IOSSTATE)
Added new Section 21.3.9.2 I/O Standby Termination (IOSTERM)
April 2022 1.5 Chapter 22, “Intel® Programmable Services Engine (Intel® PSE)”
Updated Section 22.13.3.1 Bit Rate Configuration on the supported
Max bit rate
Updated Section 22.15.2 Features on the UART capabilities
Removed
Section 22.13.4.7 Restricted Operation Mode
Section 22.13.5.4 Debug on CAN Support
Section 22.13.4.10 Power Down (Sleep Mode)
Section 22.13.6.4 Tx Queue
Section 22.13.6.5 Mixed Dedicated Tx Buffers / Tx FIFO
Section 22.13.6.6 Mixed Dedicated Tx Buffers / Tx Queue
Table 22-20 Audio Interface models, I2S DSP Mode
Chapter 28, “Test and Debug”
Updated BPM signal IO Direction in Table 28-1
Added new note to Section 28.4.3 JTAG (TAP) and Serial Wire Debug
selection
Chapter 31, “Processor Ball Map and Pin Location”
Removed "BOOT_PWR_EN" from Table 31-1 Processor Ball Names
Chapter 36, “Electrical Specifications”
Removed "BOOT_PWR_EN" from Table 36-3 Single-Ended Signal DC
Characteristics as Inputs or Outputs
Added new section 36.2 Storage Conditions
Chapter 1, “Introduction” Table 1-2
Updated Sku 6 & 7 typo on TCC support
Added new SKU 14 to the table
October 2021 1.3 Added new note under table
Chapter 4, “Thermal Management”
Updated Section 4.2.2.3.1 and added a new note.
Updated Section 4.2.4 with a new table and notes on the Dynamic
Temperature Range(DTR).
15 Datasheet, Volume 1
Revision
Revision Date Description
Number
Chapter 5, “Memory”
Added new table with DDR4 Channels Population Rules in Section
5.1.1
Updated Table 5-1 Maximum RPC for 3733MT/s
Removed Note under Section 5.1.5
Added Max Frequency for SKu 14
Updated Table 5-6 LPDDR4/4x DRAMs Configurations
Chapter 9, “Flexible I/O”
Added new note under Figure 9-1.
Updated note under section 9.3.1.
Chapter 15, “Gigabit Ethernet Controller and Time-Sensitive
Networking”
Updated table 15-8 Supported System Configurations
Chapter 20, “Clocking”
Updated Figure 20-4 PSE_Gbe Clocking
Chapter 22, “Intel® Programmable Services Engine (Intel® PSE)”
Added new bullet under Section 22.12 for G3 power cycle
Updated Section 22.13.3.1 Bit Rate Configuration
Removed Section 22.13.4.7 Restricted Operation Mode
Removed Section 22.13.4.10 Power Down (Sleep Mode)
Removed Section 22.13.5.4 Debug on CAN Support
October 2021 1.3 Removed Section 22.13.5.4.1 Filtering for Debug Messages and Table
22-9
Removed Section 22.13.5.4.2 Debug Message Handling and Figure 22-
9
Removed Section 22.13.6.4 Tx Queue
Removed Section 22.13.6.5 Mixed Dedicated Tx Buffers / Tx FIFO and
Figure 22-10
Removed Section 22.13.6.6 Mixed Dedicated Tx Bufferes / Tx Queue
and Figure 22-11
Removed I2S DSP Mode from Table 22-22
Chapter 26, “Legacy Interfaces”
Section 26.4.2 Signal description table is updated on the Crystal Input
1 maximum Voltage
Chapter 28, “Test and Debug”
Updated Section 28.4.1.2 Arm* Debug via JTAG (TAP)
Chapter 30, “Global Device IDs”Table 30-3
Updated Device ID for GPU (16 Execution Unit (EU) SKU).
Updated Description for Device ID 4536
Chapter 36, “Electrical Specifications”
Updated all instances of VoH Min to Vcc - 0.45V in Table 36-3
Added PROC_PWR_GD to Table 36-3 (Sheet 11 of 11) and Table 36-4
Updated Table 36-6 GTL Signal Group and Open Drain (OD) Signal
Group DC Specifications for VOL, IOL, RON PD and added a new note.
Updated:
• Table 3-11, Platform Voltage Rails
April 2021 1.2 • Table 3-12, Additional Voltage Rail Signals
• Table 36-1, Integrated Clock Specification
• Table 36-6, GTL and OD DC Specification (Compute Die)
March 2021 1.0 Initial release.
§§
Datasheet, Volume 1 16
Introduction
1 Introduction
This is the core reference document for external design specifications. Information
provided here takes precedence, if there are any discrepancies found in related
documents.
Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J Series
Processors platform is targeted towards various Internet of Things (IoT) segments,
such as industrial, transportation, retail, and embedded. It features real time compute
with technologies such as Time-Sensitive Networking (TSN) and Intel® Time
Coordinated Computing (Intel® TCC), which are expected to drive the future of IoT.
The Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J Series
Processors are Intel® Architecture (IA) Multi-Chip Processor (MCP) 2-Chip Package,
built on a 10-nanometer Compute Die and a 14-nanometer Platform Controller Hub
(PCH) into a single package. Both dies are connected through the On Package Interface
(OPI).
Throughout this document, the name “Processor” is used as a general term and refers
to all Processor SKUs, unless specifically noted otherwise. The compute die may be
referred to simply as “Compute Die” and the Mule Creek Canyon Platform Controller
Hub may be referred to simply as “PCH”.
This manual abbreviates PCI buses as Bn, devices as Dn and functions as Fn. For
example, Device 31 Function 0 is abbreviated as D31:F0, and Bus 1 Device 8 Function
0 is abbreviated as B1:D8:F0. Generally, the bus number will not be used, and can be
considered to be Bus 0. These numbers are shown as decimal unless otherwise
indicated.
17 Datasheet, Volume 1
Introduction
1.2 References
Specification Document #/Location
® ® ® ®
Intel Atom x6000E Series, and Intel Pentium and Celeron N and J 635255
Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 1 of 3), Compute Die Registers Only
Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J 636722
Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 2 of 3), Mule Creek Canyon
Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J 636723
Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel®
PSE)
Modules/Caches • 1 module of 2 cores (for Dual Core) or 4 cores (for Quad Core)
• On-die, parity protected 32KiB 8-way (64 sets) L1 instruction cache and
32KiB 8-way (64 sets) L1 data cache per core
• On-die, ECC protected 1.5MiB, 12-way (2048 sets) L2 unified cache per
module
Architecture
Intel® 64-bit
Virtualization Intel® Virtualization Technology
Architecture • VTx-2 with Extended Page Table
• VT-d
Thermal Management Supported by means of Intel® Thermal Monitor (TM1 and TM2)
Power Management • Enhanced Intel SpeedStep® Technology & Intel® Speed Shift Technology
• Core C-States: C0, C1, C1E, C6, C6S, C7:C10
• Module C-States: MC0, MC6
IFWI Boot Feature Support Integrated Firmware Image (IFWI) boot from SPI
Note: Further information on some of these features can be found in chapters 2, 3 and 4.
1.4 Overview
Processor features and capabilities are listed below.
Datasheet, Volume 1 18
Introduction
L3 Cache 4MB
TDP 4.5W-12W
Gen Gen11 LP
Execution Units Up to 32
DDI 1 DP / HDMI
DDI 2 DP / HDMI
19 Datasheet, Volume 1
Introduction
Up to 6 Ports
Ports
8 Lanes (multiplexed with HSIO)
PCIe* Gen3
8GT/s
Maximum Speed
Maximum Configurable
2
Ports
SATA Gen3
Maximum Speed 6Gb/s
eMMC* 5.1
SD 3.01
Storage Secure Digital
SDIO 3.0
Datasheet, Volume 1 20
Introduction
I2S 2
GPIO 60
Time-aware GPIO 40
Intel® PSE UART 6
SPI 4
2
I C 8
CAN-FD 2
SIO SPI 3
UART 3
I2C 8
2
I C Speed 3.4Mbps (Initiator Mode Only)
Controller: 1
Controller Devices supported: 3 (2 for Flash, 1 for
Fast SPI TPM) (FST_SPI supports up to 3 loads)
Timer 8x HPET
Intel® 8254 timer
21 Datasheet, Volume 1
Introduction
Note: Not all functions and capabilities may be available on all SKUs. The table above
provides an overview of the processor’s capabilities.
Datasheet, Volume 1 22
Introduction
Controller
1280kB L3
Gen 11LP
Video
Memory
Transaction DDR4 CH1 LP4
IO
Router CH1 CH2 LP4
3D Graphics DDR4 CH3 LP4
4MiB LLC
DP/eDP/HDMI/
Display PHY
IO
Controller
MIPI-DSI
Display
Audio CATERR_N O
PROCHOT_N
P-Unit
IO
100MHz
Integrated
Intel® Trace Hub
Accelerator)
Neural Network
Mixture Model and
GNA (Gaussian
OPI - 8b @ 4GT/s
23 Datasheet, Volume 1
Introduction
OPI
8b @ 4GT/s
Debug IO
(PSF4) 128b @
≤ 128MHz
I/O Fabric
PWM 16 IO
HSIO SATA
I2S 2 IO
GPIO 60 IO
HSIO PCIe
1.38MiB SRAM
tGPIO
Intel® PSE
40 IO
CPU Core
128b @ ≤ 256MHz
I/O Fabric (PSF1)
HSIO PCIe UART 6 IO
≤ 200MHz
128b @
GbE (w.TSN) HSIO
IO 2.0
2 IO
xHCI
USB
HSIO 3.1
USB xDCI
(PSF2) 128b @
≤ 256MHz
I/O Fabric
HSIO GbE (w.TSN) Intel® CSE
768kiB L2
DSP
cAVS
SIO
IO 3 UART LPE/I2S 6 IO
DSP
IO 8 I2C DSP DMIC 2 IO
64b @ ≤ 128MHz
I/O Fabric (PSF3)
IO SMLink TPM IO
PMC
Fast
SPI
IO PM Interface Flash 2 IO
IO SMBus eSPI IO
I2C
HSIO
IO
CPU
Intel® SI
512kiB
SRAM
IO 2 SPI eMMC* IO
RTC IOAPIC
ITSS
SGMII GbE PHYs
DTS 8259
USB 3.1 PHYs
SATA PHYs
8254 O
PCIe PHYs
IO 3 DDC
Display
IO 3 HPD GPIO
DRNG
IEH
IO 2
IO 8
IO 4
IO 3
JTAG
FIVR
Datasheet, Volume 1 24
Introduction
OPI
8b @ 4GT/s
(PSF4) 128b @
≤ 128MHz
I/O Fabric
HSIO SATA
HSIO PCIe
128b @ ≤ 256MHz
I/O Fabric (PSF1)
HSIO PCIe
HSIO PCIe
HSIO PCIe
Intel® Trace Hub
I/O Fabric (PSF6)
Intel® DCI
≤ 200MHz
128b @
IO 2.0
xHCI
USB
HSIO 3.1
HSIO 3.1 Dual Role
USB xDCI
(PSF2) 128b @
≤ 256MHz
I/O Fabric
DSP
cAVS
SIO
IO 3 UART 2
LPE/I S 6 IO
DSP
IO 8 I2C DSP DMIC 2 IO
64b @ ≤ 128MHz
I/O Fabric (PSF3)
IO SMLink TPM IO
PMC
Fast
SPI
IO PM Interface Flash 2 IO
IO SMBus eSPI IO
I2C
HSIO
IO
CPU
Intel® SI
512kiB
SRAM
IO 2 SPI eMMC* IO
RTC IOAPIC
ITSS
SGMII GbE PHYs
DTS 8259
USB 3.1 PHYs
SATA PHYs
8254 O
PCIe PHYs
IO 3 DDC
Display
IO 3 HPD GPIO
DRNG
IEH
2
1
IO
IO
IO
IO
JTAG
FIVR
25 Datasheet, Volume 1
Introduction
PC Client Embedded
Cores 4 4 4 2 2 4 2
Integrated No No No No No No Yes
Heat Spreader
(I.H.S)
(i.e.Lid)
Intel® TCC No No No No No No No
FuSa No No No No No No No
Datasheet, Volume 1 26
Introduction
SKU 6 SKU 7 SKU 8 SKU 8PU SKU 9 SKU 9PU SKU10 SKU 11 SKU 12
Intel Intel Intel Intel Intel Intel Intel Intel Intel
Processor Atom® Atom® Atom® Atom® Atom® Atom® Atom® Atom® Atom®
x6413E x6425E x6212RE x6214RE x6414RE x6416RE x6425RE x6427FE x6200FE
Processor Processor Processor Processor Processor Processor Processor Processor Processor
Use Embedde Embedde Industrial Industrial Industrial Industrial Industria Industria Industrial
Condition d d l l
Cores 4 4 2 2 4 4 4 4 2
Last 4MB 4MB 4MB 4MB 4MB 4MB 4MB 4MB 2MB
Level
Cache
(LLC)
HFM 1.5GHz 2.0GHz 1.2GHz 1.4GHz 1.5GHz 1.7GHz 1.9GHz 1.9GHz 1.0GHz
Frequenc
y
Burst 3.0GHz 3.0GHz N/A N/A N/A N/A N/A N/A N/A
(Turbo)
Mode
Single
Core
Frequenc
y1
Burst 3.0GHz 3.0GHz N/A N/A N/A N/A N/A N/A N/A
(Turbo)
Mode
Dual
Core
Frequenc
y1
Burst 2.7GHz 2.7GHz N/A N/A N/A N/A N/A N/A N/A
(Turbo)
Mode
Triple
Core
Frequenc
y
Burst 2.7GHz 2.7GHz N/A N/A N/A N/A N/A N/A N/A
(Turbo)
Mode
Quad
Core
Frequenc
y
Gen 11LP 16EUs 32EUs 16EUs 16EUs 16EUs 16EUs 32EUs 32EUs N/A
GFX HFM 500MHz 500Mhz 350Mhz 400MHz 400MHz 450MHz 400MHz 400MHz N/A
Frequenc
y
GFX 750MHz 750MHz N/A N/A N/A N/A N/A N/A N/A
Burst
(Turbo)
Mode
Frequenc
y
27 Datasheet, Volume 1
Introduction
SKU 6 SKU 7 SKU 8 SKU 8PU SKU 9 SKU 9PU SKU10 SKU 11 SKU 12
Intel Intel Intel Intel Intel Intel Intel Intel Intel
Processor Atom® Atom® Atom® Atom® Atom® Atom® Atom® Atom® Atom®
x6413E x6425E x6212RE x6214RE x6414RE x6416RE x6425RE x6427FE x6200FE
Processor Processor Processor Processor Processor Processor Processor Processor Processor
Integrate Yes Yes Yes Yes Yes Yes Yes Yes Yes
d Heat
Spreader
(I.H.S)
(i.e.Lid)
Intel® Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled Enabled
Program
mable
Services
Engine
IBECC (in Yes Yes Yes Yes Yes Yes Yes Yes Yes
Band)
Note: 1. All cores in C0 state run at the same frequency - frequency is only available for SKUs
1-2, 4, and 6-7 when at least two cores are disabled or are in a C1 state or as above.
2. Processors that support Intel® Time Coordinated Computing (TCC) are expected to
have improved high bandwidth workload performance on PCH features such as PCI
Express and Serial ATA.
Note: Powered down refers to state which all processor power rails are off.
§§
Datasheet, Volume 1 28
Technologies
2 Technologies
The implementation of the features may vary between the processor SKUs.
Details on the different technologies of Intel processors and other relevant external
notes are located at the Intel technology web site: http://www.intel.com/technology/
29 Datasheet, Volume 1
2.1 Tremont ISA Extensions
Tremont is the codename for the next generation 64-bit Intel Atom® CPU cores in the
processor.
Datasheet, Volume 1 30
• User wait
- TPAUSE - Timed PAUSE
- UMONITOR - User Level Set Up Monitor Address
- UMWAIT - User Level Monitor Wait
• MOVBE - Move Data After Swapping Bytes
• RDTSCP - Read Time-Stamp Counter and Process ID
• WBINVD - Write Back and Invalidate Cache
• XRSTOR - Restore Processor Extended States
• XRSTORS - Restore Processor Extended States Supervisor
• XSAVE - Save Processor Extended States
• XSAVEOPT - Save Processor Extended States Optimized
31 Datasheet, Volume 1
Intel® AES-NI consists of six Intel® SSE instructions. Four instructions, AESENC,
AESENCLAST, AESDEC, and AESDELAST facilitate high performance AES encryption and
decryption. The other two, AESIMC and AESKEYGENASSIST, support the AES key
expansion procedure. Together, these instructions provide full hardware for supporting
AES; offering security, high performance, and a great deal of flexibility.
This generation of the processor has increased the performance of the Intel® AES-NI
significantly compared to previous products.
The Intel® AES-NI specifications and functional descriptions are included in the Intel®
64 Architectures Software Developer’s Manual, Volume 2. Available at:
http://www.intel.com/products/processor/manuals
Some possible usages of the RDRAND instruction include cryptographic key generation
as used in a variety of applications, including communication, digital signatures, secure
storage, etc.
Usage recommendations for the PCH DRNG (Digital Random Number Generator) - PCH
DRNG activity time must be restricted to a maximum of 3,153,600 seconds across the
entire duration of the product's operating lifetime. This activity time can be quantified
by the number of accesses triggered by firmware running on the Intel® Programmable
Services Engine ARM microcontroller core, with each single access resulting in a
maximum DRNG activity time of 2.26µs.
Datasheet, Volume 1 32
Note: In cases where the Zephyr reference firmware stack provided by Intel is used, the
number of accesses can be measured by the number of calls of the
mbedtls_ctr_drbg_random() function.
With verification based in the hardware, Boot Guard extends the trust boundary of the
platform boot process down to the hardware level.
Benefits of this protection is that Boot Guard can help maintain platform integrity by
preventing re-purposing of the manufacturer’s hardware to run an unauthorized
software stack.
33 Datasheet, Volume 1
An Intel® MPX enabled compiler inserts new instructions that tests memory boundaries
prior to a buffer access. Other Intel® MPX commands are used to modify a database of
memory regions used by the boundary checker instructions.
The Intel® MPX ISA is designed for backward compatibility and will be treated as no-
operation instructions (NOPs) on older processors.
Intel® MPX emulation (without hardware acceleration) is available with the Intel® C++
Compiler 13.0 or newer.
The Intel® SHA Extensions are a family of seven instructions based on the Intel®
Streaming SIMD Extensions (Intel® SSE) that are used together to accelerate the
performance of processing SHA-1 and SHA-256 on Intel architecture-based processors.
Given the growing importance of SHA in our everyday computing devices, the new
instructions are designed to provide a needed boost of performance to hashing a single
buffer of data. The performance benefits will not only help improve responsiveness and
lower power consumption for a given application, they may enable developers to adopt
SHA in new applications to protect data while delivering to their user experience goals.
The instructions are defined in a way that simplifies their mapping into the algorithm
processing flow of most software libraries, thus enabling easier development.
If the OS opt-in to use UMIP, the following instruction are enforced to run in supervisor
mode:
• SGDT - Store the GDTR register value
• SIDT - Store the IDTR register value
• SLDT - Store the LDTR register value
• SMSW - Store Machine Status Word
• STR - Store the TR register value
Datasheet, Volume 1 34
An attempt at such execution in user mode causes a general protection exception
(#GP).
35 Datasheet, Volume 1
2.3 Power and Performance Technologies
2.3.1 Intel® Smart Cache Technology
The Intel® Smart Cache Technology is a shared Last Level Cache (LLC).
The LLC is shared between all IA cores as well as the Processor Graphics. Also, is an
additional 1280kB L3 cache dedicated to the Graphics.
The 1st level cache is not shared between physical cores and each physical core has a
separate level 1 cache. The 2nd level cache is shared between all physical cores.
For SKUs 1 - 11, the size of the LLC is 4MB and is a 16 way associative cache. For SKU
12, the size of the LLC is 2MB and is a 8 way associative cache. It is ECC protected.
The 2nd level cache holds both data and instructions. The L2 cache size is 1.5MB and is
a 12 way associative cache. It is shared across the 4 cores in the module and is ECC
protected (1-bit correct & 2-bits detect).
Notes: Because there is low transition latency between P-states, a significant number of
transitions per-second are possible. All of the Compute Die Cores must be in the same
P-state at any given time.
Datasheet, Volume 1 36
Enhanced Intel SpeedStep® Technology should be disabled by BIOS in safety critical
systems. Enhanced Intel SpeedStep® Technology may need to be disabled by BIOS in
real time systems, since it can cause latency jitter.
Notes: Intel® Speed Shift Technology may not be available on all SKUs. Also, it is not possible
for different cores to have different P-states.
Intel® Speed Shift Technology should be disabled by BIOS in safety critical systems.
Intel® Speed Shift Technology may need to be disabled by BIOS in real time systems,
since it can cause latency jitter.
The key enhancements provided by the x2APIC architecture over xAPIC are the
following:
• Support for two modes of operation to provide backward compatibility and
extensibility for future platform innovations:
— In xAPIC compatibility mode, APIC registers are accessed through memory
mapped interface to a 4K-Byte page, identical to the xAPIC architecture.
— In x2APIC mode, APIC registers are accessed through Model Specific Register
(MSR) interfaces. In this mode, the x2APIC architecture provides significantly
increased processor addressability and some enhancements on interrupt
delivery.
• Increased range of processor addressability in x2APIC mode:
— Physical xAPIC ID field increases from 8 bits to 32 bits, allowing for interrupt
processor addressability up to 4G-1 processors in physical destination mode. A
37 Datasheet, Volume 1
processor implementation of x2APIC architecture can support fewer than 32-
bits in a software transparent fashion.
— Logical xAPIC ID field increases from 8 bits to 32 bits. The 32-bit logical x2APIC
ID is partitioned into two sub-fields – a 16-bit cluster ID and a 16-bit logical ID
within the cluster. Consequently, ((2^20) - 16) processors can be addressed in
logical destination mode. Processor implementations can support fewer than
16 bits in the cluster ID sub-field and logical ID sub-field in a software agnostic
fashion.
• More efficient MSR interface to access APIC registers:
— To enhance inter-processor and self-directed interrupt delivery as well as the
ability to virtualize the local APIC, the APIC register set can be accessed only
through MSR-based interfaces in x2APIC mode. The Memory Mapped IO
(MMIO) interface used by xAPIC is not supported in x2APIC mode.
• The semantics for accessing APIC registers have been revised to simplify the
programming of frequently-used APIC registers by system software. Specifically,
the software semantics for using the Interrupt Command Register (ICR) and End Of
Interrupt (EOI) registers have been modified to allow for more efficient delivery
and dispatching of interrupts.
• The x2APIC extensions are made available to system software by enabling the local
x2APIC unit in the “x2APIC” mode. To benefit from x2APIC capabilities, a new
operating system and a new BIOS are both needed, with special support for x2APIC
mode.
• The x2APIC architecture provides backward compatibility to the xAPIC architecture
and forward extensible for future Intel platform innovations.
Tight loop industrial controls, low power Network Proxy mode for printers, sensing use
cases that ISH used to support in client PCHs, are examples of services that would be
offloaded to Programmable Services Engine.
Note: For more information, refer to Table 1-1 and Chapter 22, “Intel® Programmable
Services Engine (Intel® PSE)”.
Datasheet, Volume 1 38
2.3.8 Intel® Safety Island (Intel® SI)
Intel® Safety Island is a dedicated diagnostic IP which collects all errors originating
from different elements / sub-parts of the processor and signals to the system using
dedicated interfaces.
Note: For more information, refer to Chapter 23, “Intel® Safety Island (Intel® SI)”.
Note: For more information, refer to Table 1-1 and Chapter 10, “Audio, Voice, and Speech”.
§§
39 Datasheet, Volume 1
Power Management
3 Power Management
This chapter provides information on the following power management topics:
• Advanced Configuration and Power Interface (ACPI) States Supported
• Processor IA Core Power Management
• Power Management Interface Signals
• Fully Integrated Voltage Regulator (FIVR)
Datasheet, Volume 1 40
Power Management
This figure shows how the platform ACPI states work with the compute die C power
states (package C-states) and the compute die P performance states.
Note: All cores within the compute die will share the same P performance states at any given
time.
G0/S0 Full On
G2/S5 Soft off. All power lost (except wake-up on PCH). Total reboot.
Pre-charge
CKE de-asserted (not self-refresh) with all banks closed.
Power down
Active Power
CKE de-asserted (not self-refresh) with minimum one bank active.
down
The following table provides information on how the Global and Sleep states relate to
the Processor states and system clocks.
Processor
Global (G) Sleep (S) Processor
Package (C) System Clocks Description
State State State
State
G0 S0 C0 Full On On Full On
Deep Power
G0 S0 C6/C7 Down On Deep Power Down
41 Datasheet, Volume 1
Power Management
The following table provides information on the state Gx/Sx/Cx state transitions.
Notes:
1. Some wake events can be preserved through power failure.
2. Transitions from the S3–S5 or G3 states to the S0 state are deferred until PMC_BATLOW_N is inactive in
mobile configurations.
3. Includes all other applicable types of events that force the host into and stay in G2/S5.
4. If the system was in G1/S4 before G3 entry, then the system will go to S0/C0 or G1/S4.
The System has several independent power planes as described in the table. When a
particular power plane is shut off, it should go to a 0V level.
Plane Controlled By Description
PMC_SLP_S3_N The PMC_SLP_S3_N signal can be used to cut the power to the
CPU
signal compute die completely.
Datasheet, Volume 1 42
Power Management
This signal is asserted (LOW) when the processor enters C10 and can
VCCIO & PMC_CPU_C10_GAT
handle VCCIO, VCC_AGSH, VCCSTG, and VCCSFR_OC being lowered
VCCSTG E_N
to 0V.
Note: The performance configuration requires special tuning or adjustment of specific power
management features.
43 Datasheet, Volume 1
Power Management
C o re N
C o re 0 S ta te
S ta te
M o d u le S ta te
P a c k a g e S ta te
For legacy operating systems, P_LVLx I/O reads are converted within the processor to
the equivalent MWAIT C-state request. Therefore, P_LVLx reads do not directly result in
I/O reads to the system. The feature, known as I/O MWAIT redirection, should be
enabled in the BIOS. The BIOS can write to the C-state range field of the
PMG_IO_CAPTURE MSR to restrict the range of I/O addresses that are trapped and
emulate MWAIT like functionality. Any P_LVLx reads outside of this range do not cause
an I/O redirection to MWAIT(Cx) like request. They fall through like a normal I/O
instruction.
When P_LVLx I/O instructions are used, MWAIT sub-states cannot be defined. The
MWAIT sub-state is always zero if I/O MWAIT redirection is used. By default, P_LVLx I/
O redirections enable the MWAIT 'break on EFLAGS.IF’ feature that triggers a wake up
on an interrupt, even if interrupts are masked by EFLAGS.IF.
Datasheet, Volume 1 44
Power Management
C1E MWAIT(C1E) Core C1 + lowest frequency and voltage operating point (package in C0
state)
C6 MWAIT(C6) C6: Halt execution, flush core caches, flush core state, stop clock
distribution, turn core voltage off
In general, deeper C-states, such as C6, have long latencies and have higher energy
entry/exit costs. The resulting performance and energy penalties become significant
when the entry/exit frequency of a deeper C-state is high. Therefore, incorrect or
inefficient usage of deeper C-states have a negative impact on battery life and idle
power. To increase residency and improve battery life and idle power in deeper C-
states, the processor supports C-state auto-demotion.
C-State auto-demotion:
• C6 to C1/C1E
This feature is disabled by default. There are also Module C-states related to the core C
states.
45 Datasheet, Volume 1
Power Management
The processor exits a package C-state when a break event is detected. Depending on
the type of break event, the processor does the following:
• If a processor IA core break event is received, the target (refer to Section 1.1.1for
more information on target) processor IA core is activated and the break event
message is forwarded to the target processor IA core.
— If the break event is not masked, the target processor IA core enters the
processor IA core C0 state and the processor enters package C0.
— If the break event is masked, the processor attempts to re-enter its previous
package state.
• If the break event was due to a memory access or snoop request,
— But the platform did not request to keep the processor in a higher package C-
state, the package returns to its previous C-state.
— And the platform requests a higher power C-state, the memory access or snoop
request is serviced and the package remains in the higher power C-state.
Datasheet, Volume 1 46
Power Management
The package level C states C3 through C10 are entered and exited through the C2R state.
All cores in C6 or deeper + Processor Graphics in RC6, LLC may be flushed and turned off, memory
in self refresh, memory clock stopped.
C3 The processor will enter Package C3 when:
• All IA cores in C6 or deeper + Processor Graphic cores in RC6.
• The platform components/devices allows proper LTR for entering Package C3.
47 Datasheet, Volume 1
Power Management
Package C6 + If all IA cores requested C7, LLC ways may be flushed until it is cleared. If the entire
LLC is flushed, voltage will be removed from the LLC.
C7 The processor will enter Package C7 when:
• All IA cores in C7 or deeper + Processor Graphic cores in RC6.
• The platform components/devices allow proper LTR for entering Package C7.
Package C6 + If all IA cores requested C7S, LLC is flushed in a single step, voltage will be
removed from the LLC.
C7S The processor will enter Package C7S when:
• All IA cores in C7S or deeper + Processor Graphic cores in RC6.
• The platform components/devices allow proper LTR for entering Package C7S.
Package C8 + display in PSR or powered off + most Uncore voltages at 0V. IA, GT and SA voltages
are reduced to 0V, while VccIO stays on.
C9 The processor will enter Package C9 when:
• All IA cores in C9 or deeper + Processor Graphic cores in RC6.
• The platform components/devices allow proper LTR for entering Package C9.
The Processor may demote the Package C-state(s) to a shallower C-state(s), for
example instead of going into package C10, it will demote to package C8 (and so on as
required). The processor decision to demote the package C-state is based on the
required C-states latencies, entry/exit energy/power and devices LTR.
Relevant S0ix
Intel Atom® x6000E Series processors, Intel® Pentium® and Celeron® N and J Series
processors will support following S0ix variants. As the system goes deeper into S0ix,
the overall functionality reduces, thereby, reducing the total power consumption.
Longer S0ix residency gives better battery performance for a mobile/hand-held device.
Modern Standby is a relevant platform state in Windows. Other relevant S0ix states
exist on other OS. On display time out the OS requests the processor to enter the
package C10 state and platform devices at RTD3 (or disabled) in order to attain low
power in idle. Relevant S0ix states require proper BIOS and OS configuration.
Datasheet, Volume 1 48
Power Management
Table 3-9. Intel Atom® x6000E Series processors, Intel® Pentium® and Celeron® N and
J Series processors S0ix Power Sub-States
S0ix Sub-
Description
States
S0 All internal FIVR and external rails ON, All platform clocks running
S0i2.0 Only selected IP blocks are active. Vnn is margined down to 0.78V.
Only wake event detection is active. 38.4MHz crystal clock and derived internal clocks are
S0i3.0 inactive. Vnn is margined down to 0.78V.
Note: The internal Vnn and V1p05 FIVRs cannot be measured externally.
During S0ix, VNN_BYP and V1P05_BYP, along with the corresponding devices are
turned off. The PCH main power controller invokes a Save Restore mechanism to retain
the states of these devices.
Battery Low: An input from the battery to indicate that there is insufficient
power to boot the system. Assertion will prevent wake from S3–S5 state.
This signal can also be enabled to cause an SMI# when asserted. This
PMC_BATLOW_N I signal must be tied high to the VCC_3P3A_DSW, which will be tied to
VCC_3P3A on this platform.
PCH Core VID Bit 0: May connect to discrete VR on platform and used to
PMC_CORE_VID0 O control the VCCIN_Aux rail (FIVR input) voltage.
In default mode this pin is driven high (‘1’)
PCH Core VID Bit 1: May connect to discrete VR on platform and used to
PMC_CORE_VID1 O control the VCCIN_Aux rail (FIVR input) voltage.
In default mode this pin is driven high (‘1’)
Power Gate control for VCCIO, VCC_AGSH, VCCSTG and VCCSFR_OC during
C10. When asserted, VCCIO can be 0V, however the power good indicators
for these rails must remain asserted. It is recommended to switch off
VCCIO when CPU is in C10 state. Platform should use CPU_C10_GATE_N to
PMC_CPU_C10_GATE_N O power off VCCIO.
System Memory DRAM Reset: Active low reset signal, controls reset to
the memory subsystems (DDR4/LPDDR4).
PMC_DRAM_RESET_N O
Note: An external Pull-up to the DRAM power plane is required.
49 Datasheet, Volume 1
Power Management
Signal used to control the optional VCC_BYP_VNN power rail when the
PMC_VNN_CTRL O
platform is in S0ix or Sx modes.
Signal used to control the optional VCC_BYP_1P05 power rail when the
PMC_V1P05_CTRL O
platform is in S0ix or Sx modes.
Power Button: Power button input signal. Used to wake the processor
from power button press. The Power Button will cause SMI# or SCI to
indicate a system request to go to a sleep state. If the system is already in
a sleep state, this signal will cause a wake event. If PMC_PWRBTN_N is
pressed for more than 4 seconds (default; timing is configurable), this will
cause an unconditional transition (power button override) to the S5 state.
PMC_PWRBTN_N I
Override will occur even if the system is in the S3-S4 states. This signal has
an internal Pull-up resistor and has an internal 16 ms de-bounce on the
input.
Note: This signal is not able to cause a GPE, which is required to
implement a 'Control method' power button as described in the
ACPI specification.
Resume Well Reset: This signal is used for resetting the resume power
plane logic. This signal must be asserted for at least 10ms after the
PMC_RSMRST_N I
suspend power wells are valid. When de-asserted, this signal is an
indication that the suspend power wells are stable.
S0 Sleep Control: When PCH is idle and processor is in C10 state, this pin
will assert to indicate VR controller can go into a light load mode. This signal
PMC_SLP_S0_N O
can also be connected to an external power management controller for
other power management related optimizations.
PMC_SUSCLK O Suspend Clock: This clock is a digitally buffered version of the RTC clock.
Datasheet, Volume 1 50
Power Management
System Power OK: This generic power good input to the PCH is driven and
utilized in a platform-specific manner. While PMC_PCH_PWROK always
indicates that the core wells of the PCH are stable, PMC_SYS_PWROK is
PMC_SYS_PWROK I
used to inform the PCH that power is stable to other required system
component(s) and the system is ready to start the exit from reset. (de-
asserts PMC_PLTRST_N to the processor).
System Reset: Reset button input signal to reset the processor. This pin
forces an internal reset after being debounced.
PMC_SYS_RESET_N I
Note: This signal should not be allowed to float while PMC_SLP_S3_N is
de-asserted.
VR Alert: ICC Max. throttling indicator from the PCH voltage regulators.
PMC_VRALERT_N I PMC_VRALERT_N pin allows the VR to force throttling to prevent an over
current shutdown.
There are 2 FIVRs integrated on the PCH, Vnn and V1p05 which is sourced from
VCCIN_Aux. VCCIN_Aux also sourced the VccSA rail in a compute die. In addition to
VCCSA FIVR, compute die integrates 4 additional FIVRs to source VCCCORE, VCCL2,
VCCGT and VCCRING, which derives the respective voltages from VCCIN VR on
platform. Each FIVR is able to control a specific voltage rail.
51 Datasheet, Volume 1
Power Management
VCC_BYP_VNN 1.05V or 0.78V Optional bypass rail for PCH Prime Core
(Optional) Well. Configurable through VID depending
on power state.
Note: Leakage voltage on the VCC_1P8A rail is expected when VCC_3P3A is powered and VCC_1P8A is un-
powered. VCC_3P3A should not be powered while VCC_1P8A is un-powered for more than 518400
seconds, for the entire duration of the product's operating lifetime in order to meet Intel's goals.
Datasheet, Volume 1 52
Power Management
VCC_IN_SFR 1.05V FIVR Output from processor for SFR FIVR Rail
VCC_OUT_FIVR_1P05A 1.05V FIVR FIVR 1.05 out from processor used for
decoupling
VCC_AGSH 1.8V VCC_1P8A 1.8A rail. This rail is turned off when either
PMC_CPU_C10_GATE_N or PMC_SLP_S3_N
is asserted (LOW). Thus, this rail is off in
package C10 state as well as S3 - S5 states.
VCC_RTC_EXT 1.5V VCC_3P3A 1.5V RTC EXT Well. VCC_RTC_EXT pin can
be used to probe the internal RTC well
voltage.
VCCSFR_OC (VDDQ voltage) VDDQ VDDQ gated rail going back to Intel Atom®
x6000E Series processors, Intel® Pentium®
and Celeron® N and J Series processors as
VCCSFR_OC
3.4.4 VCCIN_Aux
From the platform perspective, the FIVRs require an input rail to generate the internal
voltage rails. This rail is referred to as VCCIN_Aux. For the PCH, the input regulator
must be able to support at least 1.8V. During the deep S0ix states, the input rail to the
FIVRs can be disabled. This will be done by driving the CORE_VID values to ‘00.
VCCIN_Aux powergood during initial reset is tied into the PMC_RSMRST_N signal,
requiring that the FIVR input voltage rail is stable in the same window as the other
PMC_SLP_SUS_N rails. Internal FIVRs will generate Vnn, V1P05 rails.
Note: Leakage from VCCIN_AUX is expected behavior when CORE_VID[1:0]=00; this leakage
voltage may be as high as 1.15 V during Sx and S0ix states.
53 Datasheet, Volume 1
Power Management
Leakage from the VCC_BYP_VNN power rail may back drive the external bypass voltage
regulator (VR) when it is not in use, and VR output may float up as high as 1.125 V.
This is an expected behavior. Intel recommends selecting a bypass VR with an Over
Voltage Protection (OVP) threshold that is above 1.125 V for all VCC_BYP_VNN voltage
settings to avoid false VR shutdown.
Datasheet, Volume 1 54
Power Management
Voltage Range
Operating for Processor
All 0 — 2.0 V 1,2,6,10
Voltage Operating
Mode
Max Overshoot
time
T_OVS MAX TDP/virus — — — 500 μs —
mode
(IccMax)
Max Overshoot
Voltage at
V_OVS MAX TDP/virus — — — 200 mV —
mode
(IccMax)
Max Overshoot
time
T_OVS MAX
TDP/virus — — — 500 μs —
Apps
mode
(IccMax_Apps)
Max Overshoot
Voltage at
V_OVS MAX
TDP/virus — — — 200 mV —
Apps
mode
(IccMax_Apps)
55 Datasheet, Volume 1
Power Management
Table 3-13. Processor VccIN Active and Idle Mode DC Voltage and Current Specifications
(Sheet 2 of 2)
Symbol Parameter Remark Min Typ Max Unit Note
IccMAX
di — — — 28 A 14
transient
Duration for di
dt — — — 150 ns 15
step
Notes:
1. Each processor is programmed with a maximum valid voltage identification value (VID) that is set at
manufacturing and cannot be altered. Individual maximum VID values are calibrated during
manufacturing such that two processors at the same frequency may have different settings within the
VID range. Note that this differs from the VID employed by the processor during a power management
event (Adaptive Thermal Monitor, Enhanced Intel SpeedStep Technology, or low-power states).
2. The voltage specification requirements are measured across Vcc_SENSE and Vss_SENSE as near as possible
to the processor with an oscilloscope set to 100MHz bandwidth, 1.5pF maximum probe capacitance, and
1MΩ minimum impedance. The maximum length of ground wire on the probe should be less than 5mm.
Ensure external noise from the system is not coupled into the oscilloscope probe.
3. IccMAX is a peak current for a VCCIN VR. Processor VccIN VR to be designed to electrically support this
current.
4. Processor VccIN VR to be designed to thermally support this current indefinitely.
5. Long term reliability cannot be assured if tolerance, ripple, and core noise parameters are violated.
6. Long term reliability cannot be assured in conditions above or below Max/Min functional limits.
7. PSx refers to the voltage regulator power state as set by the SVID protocol.
8. LL measured at sense points inclusive the package.
9. Typ column represents IccMAX for commercial application it is NOT a specification - it's a characterization
of limited samples using limited set of benchmarks that can be exceeded.
10. Operating voltage range in steady state.
11. LL spec values should not be exceeded. If exceeded, power, performance and reliability penalty are
expected.
12. Load Line (AC/DC) should be measured by the VRTT tool and programmed accordingly via the BIOS Load
Line override setup options. AC/DC Load Line BIOS programming directly affects operating voltages (AC)
and power measurements (DC). A superior board design with a shallower AC Load Line can improve on
power, performance and thermals compared to boards designed for POR impedance.
13. Overshoot with max voltage of 2.2V is allowed if it sustained for less then 500us.
14. For VR design testing, the recommended initial current is 24A with 28A of di.
15. The time durations given here are for the VR design only. This rise time is not critical to test the Over
Current Protection (OCP) feature.
16. Decoupling recommendations and associated VR bandwidth requirements are shown in the Power
Integrity Chapter in PDG.
17. For LPVRTT testing, the recommended slew rate setting can be the worst-case scenario which is 60mV/us
for SetVID_Fast and 30mV/us for SetVID_Slow.
18. OCP must sustain max inrush current > (total capacitance * derating) *(dV/dt). Please note that dV/dt is
a max slew rate which may cause large inrush current that might have invalid OCP triggering or exceed
the maximum drain current of the power MOSFET(s). Please check your design VR OCP and MOSFET max
current capability.
Datasheet, Volume 1 56
Power Management
Notes:
1. Long term reliability cannot be assured in conditions above or below Max/Min functional limits.
2. The voltage specification requirements are measured on package pins as near as possible to the
processor with an oscilloscope set to 100-MHz bandwidth, 1.5 pF maximum probe capacitance, and 1 MΩ
minimum impedance. The maximum length of ground wire on the probe should be less than 5 mm.
Ensure external noise from the system is not coupled into the oscilloscope probe.
Sx Icc Idle
Iccidle 0 — 201 mA —
Current
Voltage
TOBVCC — — AC+DC: -10/+5 % 2,3
Tolerance Budget
57 Datasheet, Volume 1
Power Management
Notes:
1. Long term reliability cannot be assured in conditions above or below Max/Min functional limits.
2. The voltage specification requirements are measured on package pins as near as possible to the
processor with an oscilloscope set to 100-MHz bandwidth, 1.5 pF maximum probe capacitance, and 1 MΩ
minimum impedance. The maximum length of ground wire on the probe should be less than 5 mm.
Ensure external noise from the system is not coupled into the oscilloscope probe.
3. Voltage Tolerance budget values Includes ripples
4. Overshoot with max voltage of 2.13V is allowed if it sustained for less then 500us.
5. This rail can be connect to 1.65V
6. VccIN_AUX is having few point of voltage define by VID.
7. The ICCMAX values combine power pins that feed the compute die and the PCH die in the processor.
8. LL measured at sense points inclusive the package.
9. Load Line (AC/DC) should be measured by the VRTT tool and programmed accordingly via the BIOS Load
Line override setup options. AC/DC Load Line BIOS programming directly affects operating voltages (AC)
and power measurements (DC). A superior board design with a shallower AC Load Line can improve on
power, performance and thermals compared to boards designed for POR impedance.
10. Decoupling recommendations and associated VR bandwidth requirements are shown in the Power
Integrity Chapter in PDG.
Datasheet, Volume 1 58
Power Management
VDDQ (DDR4) Processor I/O supply voltage for DDR4 0.95 1.2 1.25 V 2,3,4
IccMAX_VDDQ
Max Current for VDDQ Rail (LPDDR4/x) — — 3.5 A
(LPDDR4/x)
1
IccMAX_VDDQ Max Current for VDDQ Rail
— — 3.5 A
(DDR4) (DDR4)
Notes:
1. The current supplied to the DRAM is not included in this specification.
2. Includes AC and DC error, where the AC noise is bandwidth limited to under 100 MHz, measured on
package pins.
3. No requirement on the breakdown of AC versus DC noise.
4. The voltage specification requirements are measured on package pins as near as possible to the
processor with an oscilloscope set to 100-MHz bandwidth, 1.5 pF maximum probe capacitance, and 1 MO
minimum impedance. The maximum length of ground wire on the probe should be less than 5 mm.
Ensure external noise from the system is not coupled into the oscilloscope probe.
Note: Long term reliability cannot be assured in conditions above or below Max/Min
functional limits.
59 Datasheet, Volume 1
Power Management
Notes:
1. The VCC rail ICCMAX is 10uA while the system is in a mechanical off (G3) state at room temperature.
This data is taken at 3.0V.
2. Iccmax estimates assumes 110 °C.
3. The Iccmax value is a steady state current that can happen after respective power ok has asserted (or
reset signal has de-asserted).
4. The tolerance voltage for VCC_PGPPR at 3.3V is ±5%.
5. Merged to VCC_1P8A.
6. Merged to VCC_3P3A.
7. Derived from VDDQ.
8. The accuracy of VCC_IN_ST/VCCSTG which is driven from FIVR is +/-20mV.
9. The VCC rail IccMAX is a value after merged with VCCPFUSE_3P3.
Datasheet, Volume 1 60
Power Management
Processor
Compute Die P-Unit
ARM Cortex-M7
Controller (NVIC)
Nested Vectored
MSI
CPU Core
Generator
Interrupt
16kB I-Cache 16kB D-Cache
Floating Point Unit Memory Protection
(FPU) Unit (MPU) Controller
Tightly Coupled Bus Interface IRQs
Debug
HPET
IPC
ATT
Memory (TCM) Unit (BIU)
PMU
CCU
RTC
IOSF-SB EP
Intel© PSE OCP Fabric @ 200MHz
ART
Always On Controller
Boot ROM Controller
w. 64kB RF Memory
Clocks (LC-PLL)
GbE (w.TSN)
Dashboard
w. 16kB ROM
tGPIO
UART
PWM
GPIO
WDT
DMA
DMA
CAN
QEP
I2C
SPI
I2S
Switch
HSIO
IO 16
IO 60
IO 40
IO 2
IO 2
IO 2
IO 6
IO 4
IO 8
IO 4
IO
V1P05AON
SGMII
RGMII
or
3.6.1.1 Dx State
Dx is a host managed device power state, where the host initiates Dx transition by
operating PCI PMCSR register. PSE supports D0 and D3 state. As the peripheral owned
by host also lays in the PSE power domain, PSE FW will decide the actual power state
transition based on other peripheral state as well as ARM core idle state.
Note that IPC PCI function represents the PSE controller as a whole to host (though PSE
exposes other PCI functions as well). If there is a D3 entry request from Host IPC, PSE
FW puts the PSE into IPAPG state - if ARM and other IPs are in idle state and all other
host owned PCI function in PSE are in D3.
61 Datasheet, Volume 1
Power Management
The following table shows the main platform voltage rails that are regulated and
controlled on the platform.
D0i0.BLOCKCG Block level clock gating of individual blocks that are idle while the
rest of OSE is active. The ARM core also is internally clock gated
when the WFI instruction is executed.
D0i1 (TCG) Trunk level Clock gating of all OSE functional clocks.
D0i2 (SRAM in Trunk level clock gating, SRAMs in retention, Power gating of Logic,
retention) + IPAPG RF (Cache and other IP RF) and ROM
D0i3 (SRAM in PG) + Trunk level clock gating, SRAMs are power gated, Power gating of
IPAPG Logic, RF (Cache and other IP RF) and ROM
3.6.1.3 IPIAPG
IP inaccessible PG where IP is no longer accessible from the IOSF Primary/sideband
fabrics during the PG state. PSE will come out of IPIAPG state on cold boot or after a
cold reset.
3.6.1.4 IPAPG
IP Accessible PG where the IP remains accessible through the IOSF fabric interfaces.
This state can be reached when IP enter D3, D0i2 or D0i3 state.
Datasheet, Volume 1 62
Power Management
63 Datasheet, Volume 1
Power Management
Once the SMI VLW has been delivered, the PCH takes no action on behalf of active SMI
events until Host software sets the End of SMI (EOS) bit. At that point, if any SMI
events are still active, the PCH will send another SMI VLW message.
In systems using the APIC, the SCI can be routed to interrupts 9, 10, 11, 20, 21, 22, or
23. The interrupt polarity changes depending on whether it is on an interrupt shareable
with a PIRQ or not. The interrupt remains asserted until all SCI sources are removed.
The table below shows which events can cause an SMI and SCI.
Note: Some events can be programmed to cause either an SMI or SCI. The usage of the
event for SCI (instead of SMI) is typically associated with an ACPI-based system. Each
SMI or SCI source has a corresponding enable and status bit.
Datasheet, Volume 1 64
Power Management
SMBus Host Controller No Yes SMB_SMI_EN, Host SMBus host status reg
Controller Enabled
65 Datasheet, Volume 1
Power Management
Notes:
1. SCI_EN must be 1 to enable SCI, except for BIOS_RLS. SCI_EN must be 0 to enable SMI.
2. SCI can be routed to cause interrupt 9:11 or 20:23 (20:23 only available in APIC mode).
3. GBL_SMI_EN must be 1 to enable SMI.
4. EOS must be written to 1 to re-enable SMI for the next 1.
5. The PCH must have SMI fully enabled when the PCH is also enabled to trap cycles. If SMI is not enabled
in conjunction with the trap enabling, then hardware behavior is undefined.
6. When a power button override first occurs, the system will transition immediately to S5. The SCI will only
occur after the next wake to S0 if the residual status bit (PRBTNOR_STS) is not cleared prior to setting
SCI_EN.
7. GBL_STS being set will cause an SCI, even if the SCI_EN bit is not set. Software must take great care not
to set the BIOS_RLS bit (which causes GBL_STS to be set) if the SCI handler is not in place.
8. Refer to GPIO chapter for specific GPIOs enabled for SCIs and/or SMIs
PCI Express* has a hot-plug mechanism and is capable of generating a SCI using the
GPE0 (replaced GPE1) register. It is also capable of generating an SMI. However, it is
not capable of generating a wake event.
The PCH supports different sleep states (S3-S5), which are entered by methods such
as setting the SLP_EN bit or due to a Power Button press. The entry to the Sleep states
is based on several assumptions:
• The G3 state cannot be entered using any software mechanism. The G3 state
indicates a complete loss of power.
Datasheet, Volume 1 66
Power Management
• Masking interrupts, turning off all bus initiator enable bits, setting the desired type
in the SLP_TYP field, and then setting the SLP_EN bit. The hardware then attempts
to gracefully put the system into the corresponding Sleep state.
• Pressing the PMC_PWRBTN_N Signal for more than 4 seconds to cause a Power
Button Override event. In this case the transition to the S5 state is less graceful,
since there are no dependencies on OPI messages from the compute die or on
clocks other than the RTC clock.
• Assertion of the THRMTRIP_N signal will cause a transition to the S5 state. This can
occur when system is in the S0 state.
• Shutdown by integrated manageability functions (PSE OOB Manageability).
• Internal watchdog timer timeout events.
S3 The PCH asserts PMC_SLP_S3_N. The PMC_SLP_S3_N signal controls the power to non-
critical circuits. Power is only retained to devices needed to wake from this sleeping state,
as well as to the memory.
S4 The PCH asserts PMC_SLP_S3_N and PMC_SLP_S4_N. The motherboard uses the
PMC_SLP_S4_N signal to shut off the power to the memory subsystem and any other
unneeded subsystem. Only devices needed to wake from this state should be powered.
Sleep states (S3-S5) are exited based on wake events. The wake events forces the
system to a full on state (S0), although some non-critical subsystems might still be
shut off and have to be brought back manually. For example, the storage subsystem
may be shut off during a sleep state and have to be enabled using a GPIO pin before it
can be used.
Upon exit from the PCH-controlled Sleep states, the WAK_STS bit is set. The possible
causes of wake events (and their restrictions) are shown in the table below.
Note: If the PMC_BATLOW_N signal is asserted, the PCH does not attempt to wake from an
S3-S5 state, even if the power button is pressed. This prevents the system from
waking when the battery power is insufficient to wake the system. Wake events that
occur while PMC_BATLOW_N is asserted are latched by the PCH, and the system wakes
after PMC_BATLOW_N is de-asserted.
67 Datasheet, Volume 1
Power Management
SMBus Target Wake Wake/SMI# command always enabled Yes Yes Yes
Message (01h) as a Wake event.
Note: SMBus Target Message can wake
the system from S4/S5, as well as from
S5 due to Power Button Override.
SMBus Host Notify HOST_NOTIFY_WKEN bit SMBus Target Yes Yes Yes
message received Command register. Reported in the
SMB_WAK_STS bit in the GPE0_STS
register.
Integrated WoL WoL Enable Override bit (in Yes Yes Yes
Enable Override Configuration Space).
PMC_ACPRESENT AC_PRESENT_WAKE_EN6 No No No
Notes:
1. If PMC_BATLOW_N signal is low, PCH will not attempt to wake from S4/S5, even if a valid wake event
occurs. This prevents the system from waking when battery power is insufficient to wake the system.
However, once PMC_BATLOW_N de-asserts, the system will boot.
2. This column represents what the PCH would honor as wake events but there may be enabling
dependencies on the device side which are not enabled after a power loss.
3. Reset Types include: Power Button override, Intel® CSE-initiated power button override, Intel CSE-
initiated host partition reset with power down, Intel CSE Watchdog Timer, SMBus unconditional power
down, processor thermal trip, PCH catastrophic temperature event.
4. SMB_ALERT_N signal is multiplexed with a GPIO pin that defaults to GPIO mode. Hence, SMB_ALERT_N
related wakes are possible only when this GPIO is configured in native mode, which means that BIOS
must program this GPIO to operate in native mode before this wake is possible. Because GPIO
configuration is in the resume well, wakes remain possible until one of the following occurs: BIOS
changes the pin to GPIO mode, a G3 occurs.
5. There are only 72 bits in the GPE registers to be assigned to GPIOs, though any of the GPIOs can trigger
a wake, only those status of GPIO mapped to 1-tier scheme are directly accessible through the GPE
status registers. For those GPIO mapped under 2-tier scheme, their status would be reflected under
single main status, “GPIO_TIER2_SCI_STS” or GPE0_STS and further comparison needed to know which
2-tier GPI(s) has triggered the GPIO Tier 2 SCI.
PCI Express* ports can wake the platform from S4 or S5 using the WAKE# pin
(PMC_WAKE_N). WAKE# is treated as a wake event, but does not cause any bits to go
active in the GPE_STS register.
Note: PCI Express* WAKE# pin is an Output in S0ix states hence this pin cannot be used to
wake up the system during S0ix states.
Datasheet, Volume 1 68
Power Management
PCI Express* ports and the processor have the ability to cause PME using
messages.These are logically OR’d to set the single PCI_EXP_STS bit. When a PME
message is received, the PCH will set the PCI_EXP_STS bit. If the PCI_EXP_EN bit is
also set, the PCH can cause an SCI via GPE0_STS register.
Depending on when the power failure occurs and how the system is designed, different
transitions could occur due to a power failure.
The AFTERG3_EN bit provides the ability to program whether or not the system should
boot once power returns after a power loss event. If the policy is to not boot, the
system remains in an S5 state (unless previously in S4). There are only three possible
events that will wake the system after a power failure.
1. PMC_PWRBTN_N: PMC_PWRBTN_N is always enabled as a wake event. When
PCH_DPWROK is low (G3 state), the PWRBTN_STS bit is reset. When the PCH exits
G3 after power returns (PCH_DPWROK goes high), the PMC_PWRBTN_N signal will
transition high due internal Pull-up, unless there is an on-board Pull-up/Pull-down)
and the PWRBTN_STS bit is 0.
2. RTC Alarm: The RTC_EN bit is in the RTC well and is preserved after a power loss.
Like PWRBTN_STS the RTC_STS bit is cleared when PCH_DPWROK goes low.
3. Any enabled wake event that was preserved through the power failure.
Although PME_EN is in the RTC well, this signal cannot wake the system after a power
loss. PME_EN is cleared by RTC_RST_N, and PME_STS is cleared by PMC_RSMRST_N.
Depending on when the power failure occurs and how the system is designed, different
transitions could occur due to a power failure.
1 S5
S0, S3
0 S0
1 S4
S4
0 S0
1 S5
S5
0 S0
The PCH PMC_PWRBTN_N signal operates as a “Fixed Power Button” as described in the
Advanced Configuration and Power Interface Specification. PMC_PWRBTN_N signal has
a 16 ms de-bounce on the input. The state transition descriptions are included in the
below table.
69 Datasheet, Volume 1
Power Management
Note: This signal is not able to cause a GPE, which is required to implement a 'Control
method' power button as described in the ACPI specification.
After any PMC_PWRBTN_N assertion (falling edge), the 16ms de-bounce applies before
the state transition starts if PB_DB_MODE=’0’. If PB_DB_MODE=’1’, the state transition
starts right after any PMC_PWRBTN_N assertion (before passing through the de-bounce
logic) and subsequent falling PMC_PWRBTN_N edges are ignored until after 16ms.
During the time that any PMC_SLP_*_N signal is stretched for an enabled minimum
assertion width, the host wake-up is held off. As a result, it is possible that the user will
press and continue to hold the Power Button waiting for the system to wake.
Unfortunately, a 4 second press of the Power Button is defined as an unconditional
power down, resulting in the opposite behavior that the user was intending. Therefore,
the Power Button Override Timer will be extended to 9-10 seconds while the
PMC_SLP_*_N stretching timers are in progress. Once the stretching timers have
expired, the Power Button will awake the system. If the user continues to press Power
Button for the remainder of the 9-10 seconds it will result in the override condition to
S5.
Extension of the Power Button Override timer is only enforced following graceful sleep
entry and during host partition resets with power cycle or power down. The timer is not
extended immediately following power restoration after a global reset or G3.
The PCH also supports modifying the length of time the Power Button must remain
asserted before the unconditional power down occurs (4-14 seconds). The length of the
Power Button override duration has no impact on the “extension” of the power button
override timer while PMC_SLP_*_N stretching is in progress. The extended power
button override period while stretching is in progress remains 9-10 seconds in all cases.
S0/Cx PMC_PWRBTN_N SMI or SCI generated Software typically initiates a Sleep state
goes low (depending on SCI_EN, Note: Processing of transitions starts within 100
PWRBTN_EN and us of the PMC_PWRBTN_N input pin to PCH going
GLB_SMI_EN) low.1
Datasheet, Volume 1 70
Power Management
Notes:
1. If PM_CFG.PB_DB_MODE=’0’, the debounce logic adds 16 ms to the start/minimum time for processing
of power button assertions.
2. This minimum time is independent of the PM_CFG.PB_DB_MODE value.
3. The amount of time PMC_PWRBTN_N must be asserted is configurable via PM_CFG2.PBOP. 4 seconds is
the default.
The minimum period is configurable by BIOS and defaults to the legacy value of 4
seconds.
Note: The 4-second PMC_PWRBTN_N assertion should only be used if a system lock-up has
occurred.
Sleep Button
Although the PCH does not include a specific signal designated as a Sleep Button, one
of the GPIO signals can be used to create a “Control Method” Sleep Button. Refer the
Advanced Configuration and Power Interface Specification for implementation details.
The PME# signal comes from a PCI Express* device to request that the system be
restarted. The PME# signal can generate an SMI#, SCI, or optionally a wake event. The
event occurs when the PME# signal goes from high to low. No event is caused when it
goes from low to high.
There is also an internal PME_B0_STS bit that will be set by the PCH when any internal
device with PCI Power Management capabilities on bus 0 asserts the equivalent of the
PME# signal. This is separate from the external PME# signal and can cause the same
effect.
71 Datasheet, Volume 1
Power Management
PMC_SYS_RESET_N Signal
When the PMC_SYS_RESET_N pin is detected as active (on signal’s falling edge if de-
bounce logic is disabled, or after 16 ms if 16ms de-bounce logic is enabled), the PCH
attempts to perform a “graceful” reset by entering a host partition reset entry
sequence.
Once the reset is asserted, it remains asserted for 5 to 6 ms regardless of whether the
PMC_SYS_RESET_N input remains asserted or not. It cannot occur again until
PMC_SYS_RESET_N has been detected inactive after the de-bounce logic, and the
system is back to a full S0 state with PMC_PLTRST_N inactive.
Notes:
1. The normal behavior for a PMC_SYS_RESET_N assertion is host partition reset
without power cycle. However, if bit 3 of the CF9h I/O register is set to ‘1’ then
PMC_SYS_RESET_N will result in a full power-cycle reset.
2. It is not recommended to use the PMC_PCH_PWROK pin for a reset button as it
triggers a global power cycle reset.
3. PMC_SYS_RESET_N is in the primary power well but it only affects the system
when PMC_PCH_PWROK is high. It should not be allowed to float while
PMC_SLP_S3_N is de-asserted.
THRMTRIP_N Signal
If THRMTRIP_N goes active, the processor is indicating an overheat condition, and the
PCH immediately transitions to an S5 state, driving PMC_SLP_S3_N, PMC_SLP_S4_N,
PMC_SLP_S5_N low, and setting the GEN_PMCON_2.PTS bit. The transition will
generally look like a power button override.
When a THRMTRIP_N event occurs, the PCH will power down immediately without
following the normal S0 -> S5 path. The PCH will immediately drive PMC_SLP_S3_N,
The reason the above is important is as follow: if the processor is running extremely
hot and is heating up, it is possible (although very unlikely) that components around it,
such as the PCH, are no longer executing cycles properly. Therefore, if THRMTRIP_N
goes active, and the PCH is relying on various handshakes to perform the power down,
the handshakes may not be working, and the system will not power down. Hence the
need for PCH to power down immediately without following the normal S0 -> S5 path.
The PCH provides filtering for short low glitches on the THRMTRIP_N signal in order to
prevent erroneous system shut downs from noise. Glitches shorter than 25 nsec are
ignored.
PCH must only honor the THRMTRIP_N pin while it is being driven to a valid state by
the processor. The THRMTRIP_N Valid Point =’0’, implies PCH will start monitoring
THRMTRIP_N at PMC_PLTRST_N de-assertion (default). The THRMTRIP_N Valid Point
=’1’, implies PCH will start monitoring THRMTRIP_N at PROCPWRGD assertion.
Regardless of the setting, the PCH must stop monitoring THRMTRIP_N at PROCPWRGD
deassertion.
Datasheet, Volume 1 72
Power Management
The PCH does not require an acknowledge message from the processor to trigger
PMC_PLTRST_N. A global reset will occur after four seconds if an acknowledge from the
processor is not received.
When the PCH causes a reset by asserting PMC_PLTRST_N, its output signals will go to
their reset states.
A reset in which the host platform is reset and PMC_PLTRST_N is asserted is called a
Host Reset or Host Partition Reset. Depending on the trigger a host reset may also
result in power cycling, refer to the below table for details. If a host reset is triggered
and the PCH times out before receiving an acknowledge message from the processor a
Global Reset with power-cycle will occur.
A reset in which the host and Intel®CSE partitions of the platform are reset is called a
Global Reset. During a Global Reset, all PCH functionality is reset except RTC Power
Well backed information and Suspend well status, configuration, and functional logic for
controlling and reporting the reset. Intel®CSE and Host power back up after the power-
cycle period.
Straight to S5 is another reset type where all power wells that are controlled by the
PMC_SLP_S3_N and PMC_SLP_S4_N pins, as well as PMC_SLP_S5_N, are turned off.
All PCH functionality is reset except RTC Power Well backed information and Suspend
well status, configuration, and functional logic for controlling and reporting the reset.
The host stays there until a valid wake event occurs.
PMC_SYS_RESET_N
Asserted and CF9h No4
Yes No No
(RST_CNT Register) Bit 3 =
0
73 Datasheet, Volume 1
Power Management
PMC_SYS_RESET_N
Asserted and CF9h No4
No Yes No
(RST_CNT Register) Bit 3 =
1
Power Failure:
PMC_PCH_PWROK signal
No No Yes No
goes inactive in S0 or
PMC_DSW_PWROK drops
PMC_SYS_PWROK Failure:
PMC_SYS_PWROK signal No No Yes No
goes inactive in S0
Datasheet, Volume 1 74
Power Management
PMC_PLTRST_N Entry
No No Yes No
Timeout (Note7)
Power Management
No No No7 Yes
Watchdog Timer
Notes:
1. The PCH drops this type of reset request if received while the system is in S3/S4/S5.
2. PCH does not drop this type of reset request if received while system is in a software-entered S3/S4/S5
state. However, the PCH will perform the reset without executing the RESET_WARN protocol in these
states.
3. The PCH does not send warning message to processor, reset occurs without delay.
4. Trigger will result in Global Reset with Power-Cycle if the acknowledge message is not received by the
PCH.
5. The PCH waits for enabled wake event to complete reset.
6. PMC_PLTRST_N Entry Timeout is automatically initiated if the hardware detects that the PMC_PLTRST_N
sequence has not been completed within 4 seconds of being started.
7. Trigger will result in Global Reset with Power-Cycle if AGR_LS_EN=1 and Global Reset occurred while the
current or destination state was S0.
§§
75 Datasheet, Volume 1
Thermal Management
4 Thermal Management
2 No 10 0 to 105 N/A
PC Client
3/3A No 6.5 0 to 105 N/A
Notes: The TDP values are the worst-case average power dissipation in junction temperature
operating condition limit, for the SKU Segment and Configuration, for which the
processor is validated during manufacturing when executing an associated Intel
specified TDP workload on an Intel-specified base platform configuration. The actual
average power dissipation may vary on a per processor basis below TDP and, in some
cases, it may not be possible for a processor to meet TDP power dissipation irrespective
of what workload is being executed.
TDP workload may consist of a combination of processor IA core intensive and graphics
core intensive applications. Refer to Section 4.2.1 for further workload information.
Datasheet, Volume 1 76
Thermal Management
Caution: Thermal specifications given in this chapter are on the component and package level
and apply specifically to the processor. Operating the processor outside the specified
limits may result in permanent damage to the processor and potentially other
components in the system.
The average power dissipation of some processors may be caused to exceed the
specified TDP value when:
• A concurrently CPU-intensive and GPU-intensive workload is executed.
• The platform design is different from the base configuration. For example, when an
HDMI display is used instead of an eDP display.
• The Compute Die and PCH power management features are disabled. Examples of
power management features can be found in Chapter 23 of the PCH BIOS
Specification (RDC# 610273).
In such cases where the TDP value is exceeded, the processor will opportunistically
throttle the CPU and/or GPU frequency to ensure the processor stays within configured
power and thermal limits.
The processor integrates multiple processing IA cores, graphics cores and a PCH on a
single package.This may result in power distribution differences across the package and
should be considered when designing the thermal solution.
Intel® Burst Technology allows processor IA cores to run faster than the base
frequency. It is invoked opportunistically and automatically as long as the processor is
conforming to its temperature, power delivery and current control limits. When Intel®
Burst Technology is enabled:
77 Datasheet, Volume 1
Thermal Management
• Applications are expected to run closer to TDP more often as the processor will
attempt to maximize performance by taking advantage of estimated available
energy budget in the processor package.
• The processor may exceed the TDP for short durations to utilize any available
thermal capacitance within the thermal solution. The duration and time of such
operation can be limited by platform runtime configurable registers within the
processor.
• Graphics peak frequency operation is based on the assumption of only one of the
graphics domains (GT/GTx) being active. This definition is similar to the IA core
Burst concept, where peak burst frequency can be achieved when only one IA core
is active. Depending on the workload being applied and the distribution across the
graphics domains the user may not observe peak graphics frequency for a given
workload or benchmark.
• Thermal solutions and platform cooling that are designed to less than thermal
design guidance may experience thermal and performance issues.
Note: PL1 must not be set higher than thermal solution cooling limits.
Note: PL1 must be increased only to the value where CPU and/or GPU stops opportunistically
throttling below their High Frequency Mode (HFM) frequencies.
Caution: Increasing PL1 above TDP + 0.9W is not supported and may result in the processor
being unable to meet Intel’s reliability goals.
Datasheet, Volume 1 78
Thermal Management
Note: Implementation of Intel® Burst Technology only requires configuring PL1, PL1 Tau and
PL2. PL3 and PL4 are disabled by default.
PL2 limit is recommended to be 1.25 * PL1. Higher limit can be set if the thermal
solution provides sufficient cooling margins.
The Adaptive Thermal Monitor can be activated when the package temperature,
monitored by any Digital Thermal Sensor (DTS), meets its maximum operating
temperature. The maximum operating temperature implies maximum junction
temperature TjMAX.
Reaching the maximum operating temperature activates the Thermal Control Circuit
(TCC). When activated the TCC causes both the processor IA core and graphics core to
reduce frequency and voltage adaptively. The Adaptive Thermal Monitor will remain
active as long as the package temperature remains at its specified limit. Therefore, the
Adaptive Thermal Monitor will continue to reduce the package frequency and voltage
until the TCC is de-activated.
Clock modulation (Section 4.2.2.1.3) is another means to reduce the processor core
clock. The duty cycle of the clock modulation can be programmed through MSR (see
Section 4.2.2.11).
TjMAX is factory calibrated and is not user configurable. The default value is software
visible in the TEMPERATURE_TARGET (0x1A2) MSR, bits [23:16].
79 Datasheet, Volume 1
Thermal Management
The Adaptive Thermal Monitor does not require any additional hardware, software
drivers, or interrupt handling routines. It is not intended as a mechanism to maintain
processor thermal control to PL1 = TDP. The system design should provide a thermal
solution that can maintain normal operation when PL1 = TDP within the intended usage
range.
TCC Activation Offset can be set as an offset from TjMAX to lower the onset of TCC and
Adaptive Thermal Monitor. In addition, there is an optional time window (Tau) to
manage processor performance at the TCC Activation offset value via an EWMA
(Exponential Weighted Moving Average) of temperature.
If enabled, the offset should be set lower than any other passive protection such as
ACPI _PSV trip points.
To manage the processor with the EWMA (Exponential Weighted Moving Average) of
temperature, an offset (degrees Celsius) is written to the TEMPERATURE_TARGET
(0x1A2) MSR, bits [29:24], and the time window (Tau) is written to the
TEMPERATURE_TARGET (0x1A2) MSR [6:0]. The Offset value will be subtracted from
the value found in bits [23:16] and be the temperature.
The processor will manage to this average temperature by adjusting the frequency of
the various domains. The instantaneous Tj can briefly exceed the average temperature.
The magnitude and duration of the overshoot is managed by the time window value
(Tau).
Datasheet, Volume 1 80
Thermal Management
Once the temperature has dropped below the trigger temperature, the operating
frequency and voltage will transition back to the normal system operating point.
Once a target frequency/bus ratio is resolved, the processor IA core will transition to
the new target automatically.
• On an upward operating point transition the voltage transition precedes the
frequency transition.
• On a downward transition the frequency transition precedes the voltage transition.
• The processor continues to execute instructions. However, the processor will halt
instruction execution for frequency transitions.
If the frequency/voltage changes are unable to end an Adaptive Thermal Monitor event,
the Adaptive Thermal Monitor will utilize clock modulation. Clock modulation is done by
alternately turning the clocks off and on at a duty cycle (ratio between clock “on” time
and total time) specific to the processor. The duty cycle is factory configured to 25% on
and 75% off and cannot be modified. The period of the duty cycle is configured to 32
microseconds when the Adaptive Thermal Monitor is active. Cycle times are
independent of processor frequency. A small amount of hysteresis has been included to
prevent excessive clock modulation when the processor temperature is near its
maximum operating temperature. Once the temperature has dropped below the
maximum operating temperature, and the hysteresis timer has expired, the Adaptive
Thermal Monitor goes inactive and clock modulation ceases. Clock modulation is
automatically engaged as part of the Adaptive Thermal Monitor activation when the
frequency/voltage targets are at their minimum settings. Processor performance will be
decreased when clock modulation is active. Snooping and interrupt processing are
performed in the normal manner while the Adaptive Thermal Monitor is active.
Clock modulation will not be activated by the Package average temperature control
mechanism.
81 Datasheet, Volume 1
Thermal Management
Unlike traditional thermal devices, the DTS outputs a temperature relative to the
maximum supported operating temperature of the processor (TjMAX), regardless of TCC
activation offset. It is the responsibility of software to convert the relative temperature
to an absolute temperature. The absolute reference temperature is readable in the
TEMPERATURE_TARGET (0x1A2) MSR . The temperature returned by the DTS is an
implied negative integer indicating the relative offset from TjMAX. The DTS does not
report temperatures greater than TjMAX. The DTS-relative temperature readout directly
impacts the Adaptive Thermal Monitor trigger point. When a package DTS indicates
that it has reached the TCC activation (a reading of 0x0, except when the TCC
activation offset is changed), the TCC will activate and indicate an Adaptive Thermal
Monitor event. A TCC activation will lower both processor IA core and graphics core
frequency, voltage, or both. Changes to the temperature can be detected using two
programmable thresholds, one set above and another below the current temperature,
located in the processor thermal MSRs. These thresholds have the capability of
generating interrupts using the processor IA core's local APIC.
Note: The lowest temperature reported by the DTS is Tjmax - 127°C. Tjmax varies with SKU
according to Table 4-1.
Datasheet, Volume 1 82
Thermal Management
Digital Thermal Sensor based fan speed control (TFAN) is a recommended feature to
achieve optimal thermal performance. TFAN temperature (sometimes called TCONTROL)
indicates the relative offset from the Thermal Monitor Trip Temperature at which fans
should be engaged. For current temperature reporting, it is recommended that the
value MSR PACKAGE_THERM_MARGIN (1A1h) [15:0] be used for fan control software.
Intel recommends full cooling capability before the DTS reading reaches TjMAX.
The processor package will remain at the lowest supported P-state until the system de-
asserts PROCHOT_N. The processor can be configured to generate an interrupt upon
assertion and de-assertion of the PROCHOT_N signal.
Note: Output-only PROCHOT_N must be enabled by BIOS for platforms integrating a FuSa
SKU processor by configuring the PPOWER_CTL.ENABLE_BIDIR_PROCHOT MSR field to
0h and the PPOWER_CTL.DIS_PROCHOT_OUT MSR field to 0h.
PROCHOT_N may be used for thermal protection of voltage regulators (VR). System
designers can create a circuit to monitor the VR temperature and assert PROCHOT_N
and, if enabled, activate the TCC when the temperature limit of the VR is reached.
When PROCHOT_N is configured as a bi-directional or input only signal, if the system
assertion of PROCHOT_N is recognized by the processor, it will result in an immediate
transition to the lowest P-State (Pn) supported by the processor IA cores and graphics
cores. Systems should still provide proper cooling for the VR and rely on bi-directional
83 Datasheet, Volume 1
Thermal Management
PROCHOT_N only as a backup in case of system cooling failure. Overall, the system
thermal design should allow the power delivery circuitry to operate within its
temperature specification even while the processor is operating at its TDP.
Datasheet, Volume 1 84
Thermal Management
system software tries to enable On-Demand mode at the same time the TCC is
engaged, the factory configured duty cycle of the TCC will override the duty cycle
selected by the On-Demand mode. If the I/O based and MSR-based On-Demand modes
are in conflict, the duty cycle selected by the I/O emulation-based On-Demand mode
will take precedence over the MSR-based On-Demand Mode.
The processor is only recommended by Intel for use within the operating conditions
defined in this document published by Intel and available on https://www.intel.com/
content/www/us/en/resources-documentation/developer.html (which Intel may update
from time-to-time).
The processor usage in a manner that exceeds the thermal conditions defined in this
document may result in asserting the THRMTRIP_N signal and reduced processor
lifetime.
Burst mode usage will increase the risk of the processor exceeding the thermal
conditions defined in this document and should only be used with an appropriate form
of thermal control management.
The use or operation of this processor outside any of the defined specifications is at
your own risk and automatically voids any applicable Intel warranty.
85 Datasheet, Volume 1
Thermal Management
Notes: 1. DTR is the range of Tj (Junction Temperature) starting from boot (TBOOT) and
transitioning Cold-to-Hot (TBOOT + DTR) and/or Hot-to-Cold (TBOOT - DTR). A Tj outside
of the DTR range requires a cold reset but is not enforced by the hardware.
2. A DTR of ±110C is supported only when certain requirements are met. Please
contact your Intel representative to obtain details of these requirements.
Datasheet, Volume 1 86
Thermal Management
Crossing the cool trip point when going from higher to lower temperature may generate
an interrupt. Crossing the hot trip point going from lower to higher temp may generate
an interrupt. Each trip point has control register bits to select what type of interrupt is
generated.
Crossing the cool trip point while going from low to higher temperature or crossing the
hot trip point while going from high to lower temperature will not cause an interrupt.
When triggered, the catastrophic trip point will transition the system to S5
unconditionally. The register below is used to enable catastrophic assertion into S5
state. This bit should always be set in all functional cases.
The thermal alert provides built in hysteresis, by having both a high and a low mark. An
example of how it works is explained below:
• Both high and low marks are programmed to their correct values
— Assume, for an example, the high value is 90°C, and the low value is 80°C.
• TS is enabled, and assume temperature is at ambient (50°C)
— thus the alert signal is de-asserted
• temperature starts to rise as traffic flows through PCH
• temperature reaches greater than 90°C
— alert signal is asserted
— based on programming a platform indication like SMI, or SCI can occur if SW
had enabled such
• temperature reaches 95°C
— alert signal remains asserted
• temperature starts to fall and reaches 85°C
— alert signal remains asserted because it has not reached less than 80°C, which
is the value to turn off alert
• temperature falls to less than 80°C
— alert is turned off now since the temperature has fallen to the low value
— based on programming a platform indication like SMI, or SCI can occur if SW
had enabled such
• temperature starts rising again and goes up to 85°C
— alert remains off until temperature rises to the high mark of greater than 90°C
An example of how SW can use the hysteresis would be to program a value for when
the fans should be turned up, or cooling should be increased (90°C in example above),
then allow the cooling to be sufficient that the extra cooling can be reduced (80°C).
This prevents the PCH from oscillating around one temperature with the fans
increasing/decreasing every few seconds. Using the hysteresis allows the fans to be on
87 Datasheet, Volume 1
Thermal Management
The PCH evaluates the temperature from the thermal sensor against the programmed
temperature limit every 1 second.
§§
Datasheet, Volume 1 88
Memory
5 Memory
The table in this section describe the details of the supported configuration matrix.
Max Frequency (MT/s) SKUs 1-2 & 7: 3733 SKUs 1-11: 3200 SKUs 1-11: 3200
SKUs 3-6 & 8-9: 3200 SKU 12: 2400 SKU 12: 2400
SKUs 10-11: 4267
SKU 12: 2400
89 Datasheet, Volume 1
Memory
Notes:
1. DPC refer to when only 1DIMM slot per channel is routed.
2. RPC = Rank Per Channel
Datasheet, Volume 1 90
Memory
Sub-Channel
Parameter
Population
1 DRAM -
DRAM 0 is connected to Sub Channel 0 or
DRAM 0 is connected to Sub Channel 2
2 DRAMs -
DRAM 0 is connected to Sub Channel 0
DRAM 1 is connected to Sub Channel 1 or
DRAM 0 is connected to Sub Channel 2
DRAM 1 is connected to Sub Channel 3 or
Population rules
DRAM 0 is connected to Sub Channel 0
DRAM 1 is connected to Sub Channel 2
3 DRAMs - N/A
4 DRAMs
DRAM 0 is connected to Sub Channel 0
DRAM 1 is connected to Sub Channel 1
DRAM 2 is connected to Sub Channel 2
DRAM 3 is connected to Sub Channel 3
Channel
Parameter
Population
Single Channel
Dual Channel
Table 5-4. Supported SA Speed Enhanced Speed steps (SA-GV) and Gear Mode
Frequencies
Data rate Memory Channel Gear SA-GV MC Max
of Device Technology x CLK6 Peak
MT/s BW
Device (MHz)
width (GB/s)
LPDDR4/4x 2x32,
Gear1 Low 1067 17.07
4x32
1067
DDR4 1x64,
Gear1 Low 1067 17.07
2x64
LPDDR4/4x 2x32,
Gear1 Low 1600 25.6
4x32
1600
DDR4 1x64,
Gear1 Low 1600 25.6
2x64
LPDDR4/4x 2x32,
Gear1 Low 1866 29.85
4x32
1866
DDR4 1x64,
Gear1 Low 1866 29.85
2x64
LPDDR4/4x 2x32,
Gear2 Low 1067 34.12
4x32
2133
DDR4 1x64,
Gear2 Low 1067 34.12
2x64
91 Datasheet, Volume 1
Memory
# of # of
Raw DRAM # of
Speed DIMM DRAM #of Row/Col Banks Page
Card Device DRAM
(Mt/s) Capacity Organization Ranks Address inside Size
Version Technology Devices
bit DRAM
Datasheet, Volume 1 92
Memory
PKG Type
Max Die Density Rank
(Die bits per Max
System per PKG Density Per
Ch x PKG Speed
Capacity Channel PKGs
bits)
8GB SDP 16x16 8Gb 8Gb 1 3200(MT/s)
16GB SDP 16x16 16Gb 16Gb 1 3200(MT/s)
Signal - -
details
93 Datasheet, Volume 1
Memory
Datasheet, Volume 1 94
Memory
Activation O DDR_[1:0]_ACT_N
Command: ACT#
HIGH along with CS_N
determines that the
signals addresses have
command
functionality.
95 Datasheet, Volume 1
Memory
The memory controller has an advanced command scheduler where all pending
requests are examined simultaneously to determine the most efficient request to be
issued next. The most efficient request is picked from all pending requests and issued
to system memory Just-in-Time to make optimal use of Command Overlapping. Thus,
Datasheet, Volume 1 96
Memory
Command Overlap
Command Overlap allows the insertion of the DRAM commands between the Activate,
Pre-charge, and Read/Write commands normally used, as long as the inserted
commands do not affect the currently executing command. Multiple commands can be
issued in an overlapping manner, increasing the efficiency of system memory protocol.
Out-of-Order Scheduling
97 Datasheet, Volume 1
Memory
Figure 5-1. Intel Atom® x6000E Series processors, Intel® Pentium® and Celeron® N and
J Series processors NIL Memory Down Side By Side Platform Configuration
Datasheet, Volume 1 98
Memory
Figure 5-2. Intel Atom® x6000E Series processors, Intel® Pentium® and Celeron® N and
J Series processors NIL SO DIMM Back To Back Platform Configuration
99 Datasheet, Volume 1
Memory
The CKE is determined per rank, whenever it is inactive. Each rank has an idle counter.
The idle-counter starts counting as soon as the rank has no accesses, and if it expires,
the rank may enter power-down while no new transactions to the rank arrives to
queues. The idle-counter begins counting at the last incoming transaction arrival.
It is important to understand that since the power-down decision is per rank, the IMC
can find many opportunities to power down ranks, even while running memory
intensive applications; the savings are significant (may be few Watts, according to DDR
specification). This is significant when each channel is populated with more ranks.
Selection of power modes should be according to power-performance or thermal
tradeoff of a given system:
• When trying to achieve maximum performance and power or thermal consideration
is not an issue: use no power-down
• In a system which tries to minimize power-consumption, try using the deepest
power-down mode possible – PPD/DLL-off with a low idle timer value
• In high-performance systems with dense packaging (that is, tricky thermal design)
the power-down mode should be considered in order to reduce the heating and
avoid DDR throttling caused by the heating.
The default value that BIOS configures in PM PDWN config register is 6080 – that is,
PPD/DLL-off mode with idle timer of 0x80 (128 DCLKs). This is a balanced setting with
deep power-down mode and moderate idle timer value.
The idle timer expiration count defines the # of DCLKs that a rank is idle that causes
entry to the selected power mode. As this timer is set to a shorter time the IMC will
have more opportunities to put the DDR in power-down. There is no BIOS hook to set
this register. Customers choosing to change the value of this register can do it by
changing it in the BIOS. For experiments, this register can be modified in real time if
BIOS does not lock the IMC registers.
During power-up, CKE is the only input to the SDRAM that has its level recognized
(other than the reset pin) once power is applied. It should be driven LOW by the DDR
controller to make sure the SDRAM components float DQ and DQS during power-up.
CKE signals remain LOW (while any reset is active) until the BIOS writes to a
configuration register. Using this method, CKE is ensured to remain inactive for much
longer than the specified 200 micro-seconds after power and clocks to SDRAM devices
are stable.
During S0 idle state, system memory may be conditionally placed into self-refresh state
when the processor is in package C3 or deeper power state. When entering the S3 –
Suspend-to-RAM (STR) state or S0 conditional self-refresh, the processor IA core
flushes pending cycles and then enters SDRAM ranks that are not used by the
processor graphics into self-refresh. The CKE signals remain LOW so the
SDRAM devices perform self-refresh.
The target behavior is to enter self-refresh for package C3 or deeper power states
aslong as there are no memory requests to service.
5.3 IBECC
5.3.1 Introduction
The In-Band Error Correction Code (IBECC) module improves accuracy and reliability
by providing error check and correct protection to all or specific regions of the physical
memory space. The IBECC can be enabled for memory technology that do not support
the out-of-band ECC, where the cost of adding an additional device to each channel for
ECC data storage is prohibitive.
The IBECC will protect data at a cache line granularity (64 Bytes), with a 16-bit
SECDED code. An ECC data cache line will contain the ECC value of 32 data (non-ECC)
cache lines. So, the IBECC will add a memory overhead of 1/32, if the entire memory is
protected by ECC. However for simplicity, when the IBECC is enabled, 1/32 of the
TOUUD size must be reserved for ECC storage regardless of the size and number of the
protected regions. BIOS must ensure that a sufficient overflow region is allocated to
account for this overhead, and that the space is removed from usable DRAM address
space. The IBECC can be enabled for LPDDR4/4x and DDR4 technologies. Nevertheless,
all populated memory channels need to be of the same size.
The IBECC converts a read/write transaction (cache line access) to a protected region
of memory into two separate memory requests (read/write), one to the actual data
cache line and another to the cache line containing the ECC value. The IBECC also
needs to ensure that all protected transaction pairs are issued atomically with no
intervening transaction in between. Based on the incoming read/write address the
IBECC determines the address of the ECC data corresponding to that cache line.
Note: In this case, for a protected partial write, the IBECC will have to issue 2 read and 2
write requests in total.
Each protected region size has to be power of 2 and must at least be 32 MB in size. The
address range that it protects must be at the granularity/aligned to the size. For
example if the IBECC needs to protect 256MB of physical memory then the
ECC_PROTECT_ADDR_RANGE_[0:7] base will have to be have to be a multiple of
256MB. The base address of a particular region will be stored in
ECC_PROTECT_ADDR_RANGE_[0:7].BASE register field. These bits are compared with
the result of the ECC_PROTECT_ADDR_RANGE_[0:7].MASK applied to the incoming
address to determine if an access falls within that specific protected range.
The real-life performance benefit of the RSB is completely dependent on the platform
workload but the benefit for one firmware/software (FW/SW) initiated memory access
can be summarized as follows:
The IBECC reports the ECC errors using the same flows as the memory controller.
The IBECC needs to identify ECC errors and report them. For the reported error, the
IBECC needs to keep the following fields:
• CMI (Converged Memory Interface) Address
• Syndrome
• Type of error valid bits – correctable and uncorrectable
The IBECC will report all correctable and uncorrectable errors by sending PCH_EVENT
message on IOSF-SB to IOP.
Note: IBECC errors are not reported as an MCE (Machine Check Error).
Logging – there is only one event logged. The IBECC shall always keep the worst first
error. This means that:
• A correctable error is logged if no error was reported before.
• The first uncorrectable error may override previous correctable errors.
• Later uncorrectable errors do not override the first uncorrectable error.
The ECC_ERROR_LOG content are valid only when either the MERRSTS or CERRSTS
bits are set.
An uncorrectable error on under fill read is not logged, but the WDB entry is poisoned
so it is rewritten to memory as uncorrectable error.
Note: Since the IBECC module operates on the CMI data bus connecting the Processor
Transaction Router and the Memory Controller, rather than on a per memory channel
basis, it is not possible to correlate the error syndrome to the external data signal that
is in error.
Please refer to Section 33.2.1.2 for a description of how ECC error reporting operates
outside IBECC.
§§
This chapter describes how the memory & IO spaces are mapped to interfaces in the
processor.
This section focuses on how the memory space is partitioned and how the separate
memory regions are used. I/O address space has simpler mapping and is explained
towards the end of this chapter.
The compute die supports PCIe* port upper prefetchable base/limit registers. This
allows the PCIe* bridges to claim Memory Mapped I/O (MMIO) accesses above 32 bit.
Addressing of greater than 4 GB is allowed on both the OPI Interface. DRAM capacity is
limited by the number of address pins available. There is no hardware lock to prevent
more memory from being inserted than is addressable.
In the following sections, it is assumed that all of the compatibility memory ranges
reside on the OPI Interface. The exception to this rule is VGA ranges, which may be
mapped to OPI, or to the Processor Graphics device (Processor Graphics). The
processor does not remap APIC or any other memory spaces above TOLUD (Top of Low
Usable DRAM). The TOLUD register is set to the appropriate value by BIOS. The
remapbase/remaplimit registers remap logical accesses bound for addresses above 4
GB onto physical addresses that fall within DRAM.
The Address Map includes a number of programmable ranges that are not configured
using standard PCI BAR configuration:
• Device 0:
— MCHBAR – Host Memory Mapped Configuration (memory subsystem and power
management registers). (64 KB window)
— DMIBAR – This window is used to access registers associated with the compute
die/PCH Serial Interconnect (OPI) register memory range. (4 KB window).
— VTDPVC0BAR - Memory mapped range for VT-d configuration
— GFXVTBAR - Memory mapped range for VT configuration of the processor
graphics device (4KB window).
— REGBAR - Memory mapped range for Processor Transaction Router registers
(16MB window).
— GGC.GMS – Graphics Mode Select. Main memory that is pre-allocated to
support the Processor Graphics device in VGA (non-linear) and Native (linear)
modes. (0 – 512 MB options).
— GGC.GGMS – GTT Graphics Memory Size. Main memory that is pre-allocated to
support the Processor Graphics Translation Table. (0 – 2 MB options).
• For all other PCI devices within the Compute die that expose PCI configuration
space, the behavior is according to PCI specification.
Physical Memory
Host/System View
(DRAM Controller View)
512G
PCI Memory
Add. Range
(subtractively
TOUUD BASE decoded to
OPI)
Reclaim Limit
= Reclaim TOM 1 MB aligned
Base +X
1 MB aligned
Main Memory CSE
Reclaim Add
Range
Reclaim BASE MESEG BASE
1 MB aligned
1 MB aligned
Main Memory
OS visible >
Address
4GB
Range
4GB
Flash, APIC LT
(20 MB) OS Invisible
FEC0_0000 X
Reclaim
TOLUD BASE 1 MB aligned
1 MB aligned for reclaim
PCI Memory GFX Stolen
Add. Range (0-256MB)
(subtractively GFX Stolen
decoded to BASE 1 MB aligned
OPI)
GFX GTT
STOLEN
(0-2MB)
GFX GTT Stolen BASE
1 MB aligned
TSEG
TSEG
(0-8MB)
TSEG BASE
1 MB aligned
Main Memory
Add Range
OS VISIBLE
16 MB < 4 GB
Legacy Add.
Ranges
0
0
1 MB
000F_FFFFh
System BIOS (Upper)
64 KB
000F_0000h
960 KB
000E_FFFFh
Extended System BIOS (Lower)
64 KB (16 KB x 4)
000E_0000h
896 KB
000D_FFFFh
Expansion Area
128 KB (16 KB x 8)
000C_0000h
768 KB
000B_FFFFh
000A_0000h
640 KB
0009_FFFFh
DOS Area
0000_0000h
Note: The legacy video area is not available for SMM use.
F_FFFF
PAM 0 64 KB
F_0000
E_4000 High
PAM 6
E_8000 Low
E_4000 High
PAM 5
E_0000 Low
D_C000 High
PAM 4
D_8000 Low
High
D_4000 PAM 3
D_0000 Low
C_C000 High
PAM 2
C_8000 Low
C_4000 High
PAM 1 32 KB
C_0000 Low
The processor decodes the Core request, then routes to the appropriate destination
(DRAM or OPI).
Graphics translated requests to this region are not allowed. If such a mapping error
occurs, the request will be routed to C_0000h. Writes will have the byte enables de-
asserted.
FFFF_FFFFh 4 GB Max
FLASH
APIC
TOLUD
GFX Stolen Memory
TSEGMB
DPR
Main Memory
0100_0000h 16 MB
Main Memory
0010_0000h
1 MB
0h 0 MB
6.3.2 1 MB to TSEGMB
Compute die access to this range will be directed to memory with the exception of the
ISA Hole (when enabled).
6.3.3 TSEG
For Compute Die initiated transactions, the Compute Die relies on correct programming
of SMM Range Registers (SMRR) to enforce TSEG protection.
TSEG is below Processor Graphics stolen memory, which is at the Top of Low Usable
physical memory (TOLUD). BIOS will calculate and program the TSEG BASE in Device 0
(TSEGMB), used to protect this region from DMA access. Calculation is:
SMM-mode compute die accesses to TSEG always access the physical DRAM.
When the extended SMRAM space is enabled, compute die accesses without SMM
attribute or without write-back attribute to the TSEG range are handled as invalid
accesses.
Non-compute die originated accesses such as PCI Express*, OPI or processor graphics
to enabled SMM space are handled as invalid cycle type with reads and writes to
location C_0000h and byte enables turned off for writes.
Once the protected low/high memory region registers are configured, bus initiator
protection to these regions is enabled through the Protected Memory Enable register.
The DPR range works independently of any other range, including the PMRC checks in
Intel VT-d. It occurs post any Intel VT-d translation. Therefore, incoming cycles are
checked against this range after the Intel VT-d translation and faulted if they hit this
protected range, even if they passed the Intel VT-d translation.
After some time, software could request more space for not allowing DMA. It will get
some more pages and make sure there are no DMA cycles to the new region. DPR size
is changed to the new value. When it does this, there should not be any DMA cycles
going to DRAM to the new region.
All upstream cycles from 0 to (TSEG_BASE – 1 – DPR size), and not in the legacy holes
(VGA), are decoded to DRAM.
This address range from the top of low usable DRAM (TOLUD) to 4 GB is normally
mapped to the OPI Interface.
1.Addresses decoded to the memory mapped range for Host Memory Mapped
Configuration Space registers (MCHBAR)
2. Addresses decoded to the registers associated with the PCH Serial Interconnect
(OPI) register memory range. (DMIBAR)
6. Addresses decoded to the memory mapped window to OPI VC0 Intel® VT remap
engine registers (VTDPVC0BAR)
Some of the MMIO Bars may be mapped to this range or to the range above TOUUD.
There are sub-ranges within the PCI memory address range defined as APIC
Configuration Space, MSI Interrupt Space, and High BIOS address range. The
exceptions listed above for Processor Graphics should NOT overlap with these
ranges.
4GB
FFFF_FFFFh
High BIOS
OPI Interface
(subtractive decode)
MSI Interrupts
I/O APIC
OPI Interface
(subtractive decode)
F000_0000h
4GB - 256MB
Possible address
PCI Express Configuration Space range/size (not
guaranteed)
E000_0000h
4GB - 512MB
BARs, Internal
Graphics ranges, PCI
OPI Interface
Express Port,
(subtractive decode)
CHAPADR could be
here.
TOLUD
The processor begins execution from the High BIOS after reset. This region is positively
decoded to OPI. The actual address space required for the BIOS is less than 2 MB.
However, the minimum processor MTRR range for this region is 2 MB; thus, the full 2
MB should be considered.
A hole between TOLUD and 4 GB occurs when main memory size approaches 4 GB or
larger. As a result, TOM and TOUUD registers and REMAPBASE/REMAPLIMIT registers
become relevant.
The remap configuration registers exist to remap lost main memory space. The greater
than 32-bit remap handling will be handled similar to other processors.
Upstream read and write accesses above 39-bit addressing will be treated as invalid
cycles by OPI.
physical memory. This identifies memory that can be directly accessed (including
remap address calculation) that is useful for memory access indication and early path
indication. TOLUD can be 1 MB aligned.
6.5.4 TSEG_BASE
The “TSEG_BASE” register reflects the total amount of low addressable DRAM, below
TOLUD. BIOS will calculate memory size and program this register; thus, the system
agent has knowledge of where (TOLUD) – (Gfx stolen) – (Gfx GTT stolen) – (TSEG) is
located. I/O blocks use this minus DPR for upstream DRAM decode.
These ranges can reside above the Top-of-Low-DRAM and below High BIOS and APIC
address ranges. They should reside above the top of memory (TOLUD) and below 4 GB
so they do not take any physical DRAM memory space.
Alternatively, these ranges can reside above 4 GB, similar to other BARs that are larger
than 32 bits in size.
GMADR is a Prefetchable range in order to apply USWC attribute (from the processor
point of view) to that range. The USWC attribute is used by the processor for write
combining.
Note: GTT table space writes (GTTADR) are supported through this mapping mechanism.
This mechanism to access Processor Graphics MMIO registers should NOT be used to
access VGA I/O registers that are mapped through the MMIO space. VGA registers
should be accessed directly through the dedicated VGA I/O ports.
OPI Interface originated accesses are never allowed to access SMM space directly or
through the GTT TLB address translation. If a GTT TLB translated address hits enabled
SMM DRAM space, an error is recorded.
OPI Interface write accesses through the GMADR range will not be snooped. Only OPI
assesses to GMADR linear range (defined using fence registers) are supported. OPI
Interface tileY and tileX writes to GMADR are not supported. If, when translated, the
resulting physical address is to enable SMM DRAM space, the request will be remapped
to address 000C_0000h with de-asserted byte enables.
OPI Interface read accesses to the GMADR range are not supported. Therefore, there
are no address translation concerns. OPI Interface reads to GMADR will be remapped to
address 000C_0000h. The read will complete with UR (unsupported request)
completion status.
GTT fetches are always decoded (at fetch time) to ensure fetch is not in SMM (actually,
anything above base of TSEG or 640 KB - 1 MB). Thus, the fetches will be invalid and
go to address 000C_0000h.
The processor allows 64K+3 bytes to be addressed within the I/O space. The upper
three locations can be accessed only during I/O address wrap-around.
A set of I/O accesses are consumed by the Processor Graphics device if it is enabled.
The mechanisms for Processor Graphics I/O decode and the associated control is
explained in following sub-sections.
The I/O accesses are forwarded to the OPI Interface bus. I/O writes are NOT posted.
Memory writes to are posted.
The compute die responds to I/O cycles initiated on OPI with an UR status. Upstream I/
O cycles and configuration cycles should never occur. If one does occur, the transaction
will complete with an UR completion status.
I/O reads that lie within 8-byte boundaries but cross 4-byte boundaries are issued from
the processor as one transaction. The reads will be split into two separate transactions.
I/O writes that lie within 8-byte boundaries but cross 4-byte boundaries will be split
into two transactions by the processor.
Accesses to the VGA memory range are directed to Processor Graphics depend on the
configuration. The configuration is specified by:
• Processor Graphics controller in Device 2 is enabled (DEVEN.D2EN bit 4)
• Processor Graphics VGA in Device 0 Function 0 is enabled through register GGC bit
1.
• Processor Graphics's memory accesses (PCICMD2 04h – 05h, MAE bit 1) in Device
2 configuration space are enabled.
• VGA compatibility memory accesses (VGA Miscellaneous Output register – MSR
Register, bit 1) are enabled.
• Software sets the proper value for VGA Memory Map Mode register (VGA GR06
Register, bits 3:2). Refer the following table for translations.
Note: Additional qualification within Processor Graphics comprehends internal MDA support.
The VGA and MDA enabling bits detailed below control segments not mapped to
Processor Graphics.
VGA I/O range is defined as addresses where A[15:0] are in the ranges 03B0h to
03BBh, and 03C0h to 03DFh. VGA I/O accesses are directed to Processor Graphics
depends on the following configuration:
• Processor Graphics controller in Device 2 is enabled through register DEVEN.D2EN
bit 4.
• Processor Graphics VGA in Device 0 Function 0 is enabled through register GGC bit
1.
• Processor Graphics's I/O accesses (PCICMD2 04 – 05h, IOAE bit 0) in Device 2 are
enabled.
• VGA I/O decodes for Processor Graphics uses 16 address bits (15:0) there is no
aliasing. This is different when compared to a bridge device (Device 1) that used
only 10 address bits (A 9:0) for VGA I/O decode.
• VGA I/O input/output address select (VGA Miscellaneous Output register - MSR
Register, bit 0) is used to select mapping of I/O access as defined in the following
table.
Processor
0 Graphics OPI interface Processor Graphics OPI interface
Processor
1 Graphics Processor Graphics OPI interface OPI interface
Note: Additional qualification within Processor Graphics comprehends internal MDA support.
The VGA and MDA enabling bits detailed below control ranges not mapped to Processor
Graphics.
For regions mapped outside of the Processor Graphics (or if Processor Graphics is
disabled), the legacy VGA memory range A0000h – BFFFFh are mapped to the OPI
Interface depending on the MDAPxx bits in the Legacy Access Control (LAC) register in
Device 0 configuration space. The same register controls mapping VGA I/O address
ranges. The VGA I/O range is defined as addresses where A[9:0] are in the ranges
3B0h to 3BBh and 3C0h to 3DFh (inclusive of ISA address aliases – A[15:10] are not
decoded). The function and interaction of these two bits is described below:
The following table shows the behavior for all combinations of MDA and VGA.
The same registers control mapping of VGA I/O address ranges. The VGA I/O range is
defined as addresses where A[9:0] are in the ranges 3B0h to 3BBh and 3C0h to 3DFh
(inclusive of ISA address aliases – A[15:10] are not decoded).
MDA Present (MDAP): This bit controls the routing of processor-initiated transactions
targeting MDA compatible I/O and memory address ranges. MDA resources are defined
as the following:
I/O 3B4h, 3B5h, 3B8h, 3B9h, 3BAh, 3BFh (Including ISA address aliases, A[15:10] are not used
in decode)
Any I/O reference that includes the I/O locations listed above, or their aliases, will be
forwarded to the OPI interface even if the reference includes I/O locations not listed
above.
For I/O reads that are split into multiple DWord accesses, this decode applies to each
DWord independently. For example, a read to x3B3h and x3B4h (quadword read to
x3B0h with BE#=E7h) will result in a DWord read from PEG at 3B0h (BE#=Eh), and a
DWord read from OPI at 3B4h (BE=7h). Since the processor will not issue I/O writes
crossing the DWord boundary, this case does not exist for writes.
Note: For each I/O range, there may be separate behavior for reads and writes. The following
Table shows the Fixed I/O decode ranges from the processor perspective.
Internal Unit
I/O Separate
Read Target Write Target (unless [E]:
Address Enable/Disable
External)2
None
20h – 21h Interrupt Controller Interrupt Controller Interrupt
None
24h – 25h Interrupt Controller Interrupt Controller Interrupt
None
28h – 29h Interrupt Controller Interrupt Controller Interrupt
None
2Ch – 2Dh Interrupt Controller Interrupt Controller Interrupt
None
30h – 31h Interrupt Controller Interrupt Controller Interrupt
None
34h – 35h Interrupt Controller Interrupt Controller Interrupt
None
38h – 39h Interrupt Controller Interrupt Controller Interrupt
None
3Ch – 3Dh Interrupt Controller Interrupt Controller Interrupt
None
72h RTC Controller RTC Controller RTC Alias to 70h if
RC.UE4=0, else 72h
None
73h RTC Controller RTC Controller RTC Alias to 71h if
RC.UE4=’0’, else 73h
None
NMI and RTC Alias to 70h-71h if
76h-77h RTC Controller RTC
Controller RC.UE4=0, else 76h-
77h
None
A0h - A1h Interrupt Controller Interrupt Controller Interrupt
None
A4h - A5h Interrupt Controller Interrupt Controller Interrupt
None
A8h - A9h Interrupt Controller Interrupt Controller Interrupt
None
ACh - ADh Interrupt Controller Interrupt Controller Interrupt
None
B0h - B1h Interrupt Controller Interrupt Controller Interrupt
None
B4h - B5h Interrupt Controller Interrupt Controller Interrupt
None
B8h - B9h Interrupt Controller Interrupt Controller Interrupt
None
BCh - BDh Interrupt Controller Interrupt Controller Interrupt
Yes.
[E] Forwarded to
200-207h Gameport Low Gameport Low IOE.LGE
eSPI
None
4D0h – 4D1h Interrupt Controller Interrupt Controller Interrupt
Notes:
1. Only if the Port 61 Alias Enable bit (GIC.P61AE) bit is set. Otherwise, the cycle is internally terminated by
the PCH.
2. Refer to I/O Enables (IOE) register in Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N
and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2 (Book 2 of 3), Mule
Creek Canyon (Document Number: 636722)
3. Refer to General Control and Status (GCS) register in Intel Atom® x6000E Series, and Intel® Pentium®
and Celeron® N and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2 (Book
2 of 3), Mule Creek Canyon (Document Number: 636722)
4. Refer to RTC Configuration (RC) register in Intel Atom® x6000E Series, and Intel® Pentium® and Celeron®
N and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2 (Book 2 of 3), Mule
Creek Canyon (Document Number: 636722)
5. This includes byte, word or double-word (DW) access at I/O address 80h
Warning: The Variable I/O Ranges should not be set to conflict with the Fixed I/O Ranges. Unpre-
dictable results if the configuration software allows conflicts to occur. The PCH does not
perform any checks for conflicts.
LPC Generic 1 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS0_N
LPC Generic 2 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS0_N
LPC Generic 3 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS0_N
LPC Generic 4 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS0_N
eSPI CS1 Generic 1 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS1_N
eSPI CS2 Generic 1 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS2_N
eSPI CS3 Generic 1 Anywhere in 64K I/O Space 4 to 256 Bytes eSPI CS3_N
Serial ATA Index/Data Pair Anywhere in 64K I/O Space 16 SATA Host Controller
Always enabled.
FFFC 0000 - FFFF SPI
Refer to Section 6.13.1 on the Top-Block
Swap
16B (HECIx_MMIO_MBAR)
Enable via standard PCI mechanism
anywhere in 64-bit address HECI #0, #1, #2, #3
(D22:F[0:1,4:5])
range
The "Top-Block Swap" behavior is as described below. When the Top Swap Enable bit is
0, the PCH will not invert any address bit.
§§
7 Graphics
The processor graphics architecture delivers high dynamic range of scaling to address
segments spanning low power to high power, increased performance per watt, support
for next generation of APIs. Gen 11 scalable architecture is partitioned by usage
domains along Render/Geometry, Media, and Display. The architecture also delivers
very low-power video playback. The new Graphics Architecture includes 3D compute
elements, Multi-format HW assisted decode/encode pipeline, and Mid-Level Cache
(MLC) for superior high definition playback, video quality, and improved 3D
performance and media.
The Display Engine handles delivering the pixels to the screen. Graphics in System
Agent (GSA) is the primary channel interface for display memory accesses and “PCI-
like” traffic in and out.
Media F F
GPG PU VD VECS
Geom F F POSH GTI GuC B LIT
FF
SFC
Slice Common
PixelFE/DAP
PixelFE/DAP
EU EU EU EU EU EU EU EU
3D Sampler
3D Sampler
Raster
IC$
IC$
Z/Stencil
EU EU EU EU EU EU EU EU
PixelBE
Caches (Z/Render)
EU EU EU EU EU EU EU EU
3D Sampler
3D Sampler
SLM, LD/ST
SLM, LD/ST
L3/Tile$/URB
IC$
IC$
Banks Banks
EU EU EU EU EU EU EU EU
Banks Banks
AP L3
VC-1 Not Supported
8b/ Up to 1080p30
7.2 Registers
Please refer to Chapters 7 and 8 of the Intel Atom® x6000E Series, and Intel® Pentium®
and Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 1 of 3), Compute Die Registers Only (Document
Number:635255), for a description of the registers associated with subject of this
chapter.
§§
8 Display
MIPI DSI MIPI Display Serial Interface (DSI) Specification Version 1.2
Maximum Resolution 1x4: 3200x2000 @ 60Hz 4096 x 2160@ 4096 x 2160 @ 4096 x 2160 @
(without compression, 60 Hz 60 Hz 60 Hz
Multiple Active Displays),
4096x2160 @ 60Hz (with
compression, Only Active
Display)
Data Rate 2.5 GT/s 5.4 GT/s 5.4 GT/s 5.94 GT/s
(Without Re-
Timer)
Note:
1. Processor can support 3 HDMI or 3 DP ports; see section 8.4 Port Configuration
Notes:
1. PSR2 supported only on DDIA in single eDP mode
Compute Die
Display Subsystem
Analog
CRI Sense
Display Controller Combo
PHY
DDIA
iDisp Decoder
DDI2
SB
I/O Fabric
DDID SB
(PSF0)
EP
MUX
Tie
PPI
off EP
SB
Audio
EP
Combo
1.24V
DDIC
LDO
PHY
DDIA
Signal Family
DDI1
Legacy I/O
Audio
SB SB
×
PIPE
PPI
EP EP
C DDIB
1
PIPE Combo
DDI Mux
1.24V
B
LDO
PHY
DDIA
iDisp Signal
MDSI_DE_TE
DSI1 PPI
DDI0
Family
A SB SB
DSI0 PPI
PPI
EP EP
iDisp Audio
PNL x1 PCH
GPIO Signal Family HPD x3 Display cAVS
DDC x3 Controller
PCH
Note:
1. Due to limitations in the processor GOP driver, support for MIPI-DSI on Combo PHY Port DDI1 (Port B) is de-
featured.
Usage Model
DDI0
DP/
HDMI
DDI0 DDI0
eDP MIPIA DDI1
Display Signals Dir. Description DP/
DDI2 DDI2 HDMI
DP/HDMI DP/HDMI
DDI2
DP/
HDMI
Panel backlight
enable control. This eDP MIPIA
PNL0_BKLTEN O signal is used to gate Backlight Backlight
power into the Enable Enable
backlight circuitry
Panel brightness eDP MIPIA
control. This is used
PNL0_BKLTCTL O Backlight Backlight
as the PWM Clock
Control Control
input signall
MIPIA
Panel 0 AVEE Power Power DDI0
DDI0_D-
I/O Enable or DDI0 DDC
DC_SCL Enable DDC Clk
for HDMI or DP++
AVEE
Panel 0 VIO or DDI0
DDI0
DDI0_D- DDC
I/O MIPIA VIO DDC
DC_SDA Data for HDMI or
Data
DP++
Usage Model
DDI0
DP/
HDMI
DDI0 DDI0
eDP MIPIA DDI1
Display Signals Dir. Description DP/
DDI2 DDI2 HDMI
DP/HDMI DP/HDMI
DDI2
DP/
HDMI
4k Premium content protection over wired displays (HDMI, DVI, and DisplayPort).
The HDCP 1.4/2.3 keys are integrated into the processor and customers are not
required to physically configure or handle the keys.
Hot-Plug Detect
(Interrupt Request)
• Adaptive sync.
HDMI includes three separate communications channels: TMDS, Digital Display Channel
(DDC), and the optional CEC (consumer electronics control). CEC is not supported on
the processor. As shown in the following figure, the HDMI cable carries four differential
pairs that make up the TMDS data and clock channels. These channels are used to
carry video, audio, and auxiliary data. In addition, HDMI carries a VESA DDC. The DDC
is used by an HDMI Source to determine the capabilities and characteristics of the Sink.
Audio, video, and auxiliary (control/status) data is transmitted across the three TMDS
data channels. The video pixel clock is transmitted on the TMDS clock channel and is
used by the receiver for data recovery on the three data channels. The digital display
data signals driven natively through the PCH are AC coupled and needs level shifting to
convert the AC coupled signals to the HDMI compliant digital signals.
The processor HDMI interface is designed in accordance with the High-Definition Multi-
media Interface.
Hot-Plug Detect
Data Lane n
DE tracks image changes and automatically enters and exits PSR. Panel Self Refresh 2
(PSR2) adds several enhancements, including selective update.
The integrated audio processing is performed by the PCH, and delivered to the compute
die using the on-package Serial Data Output (SDO) and Bit Clock (BCLK) signals.
The Serial Data Input (SDI) is used to carry responses back to the PCH
This HDA interface is not available for use with external CODECs.
The processor will continue to support Silent stream. Silent stream is an integrated
audio feature that enables short audio streams, such as system events to be heard
over the HDMI and DisplayPort monitors. The processor supports silent streams over
the HDMI and DisplayPort interfaces at 48kHz sample-rate two channel support.
panel backlight control signals even though digital display interfaces are located on the
compute die. There are three sets of Clock/Data, and Hot-Plug Detect signals on the
PCH that correspond to DDI/ports. There is also two set of panel control signals that
correspond to either eDP or two MIPI-DSI ports.
The Digital Display Channel (DDC) bus is used for communication between the host
system and display. Three pairs of DDC (DDC_CLK and DDC_DATA) signals exist on the
PCH that correspond to three digital ports on the processor. DDC follows I2C protocol.
The Hot-Plug Detect (HPD) signal serves as an interrupt request for the sink device for
DP, eDP and HDMI. It can be configured using the relevant Individual Voltage Select
soft strap to be a 3.3V tolerant signal pin on the PCH.
The panel control signals serve as a way to control panel power and backlight
brightness & power.
Note:
PNL_VDDEN, PNL_BKLTEN, PNL_BKLTCTL can be left as no connect if neither eDP or MIPI-DSI is not used
Note: eDP implementation go along with additional sideband signals, for more information please
refer to Section 8.10 - Section 8.12.
Note: DSI implementation go along with additional sideband signals, for more information refer to
Section 8.10 - Section 8.12.
§§
9 Flexible I/O
9.1 Acronyms
Acronyms Description
HSIO High-Speed IO
VC Virtual Channel
Controller USB SuperSpeed PCIe 0 PCIe 1 PCIe 2 PCIe 3 SGMII SGMII SATA
Multi VC2,3,7 PSE GbE
3,4,5
xHCI/xDHCI Single VC1 Multi VC2,3 Multi VC2,3 Host GbE3,4,6
Lane ID 0 1 2 3 0 1 2 3 0 1 0 1 0 1 0 1 0 0 1
Maximum #
4 6 2 1 2
of Ports
Supported Port x1/x2 x1/x2 x1/x2
x1 lane x1/x2/x4 lanes x1 lane x1 lane x1 lane
Widths lanes lanes lanes
Notes:
1. Single VC (Virtual Channel) PCIe controller has 4 lanes and supports the use of one
virtual channel only. This controller can support 1x4 or 2x2 or 1x2 and 2x1 or 4x1.
2. Multi VC PCIe controllers have 2 lanes each and support the use of two virtual
channels. These controllers can support 1x2 or 1x1 (always the 1st lane) modes
only. 2x1 mode is not supported. As such, for a M.2 connector that supports
automatic detection of PCIe or SATA SSDs, it is recommended that ModPHY lane 10
be connected to pins 41, 43, 47 & 49 on the M.2 connector.
3. Controller has multiple (mutually exclusive) choices of which ModPHY lanes its
lanes are multiplexed on.
4. GPIO-muxed RGMII interfaces for each Intel® Programmable Services Engine
(Intel® PSE) GbE controller are also available.
5. Intel® Programmable Services Engine (Intel® PSE) GbE controllers can be assigned
to either Intel® PSE or Host (IA processor) control.
6. Host GbE controller can only be assigned to Host (IA processor) control.
7. PCIe controller 1 (PCIe 1) will not support a x2 port width if PCIe lane 0 is
multiplexed on ModPHY lane 7.
8. Lane reversal for PCIe 1, on ModPHY lanes 10 & 11, is supported by setting the
DFLEXORM.ORMTC4 register field. Since this reversal happens on the ModPHY
lanes, rather than at the PCIe 1 controller, the register field should not be set when
either SATA or SGMII is configured on either of the ModPHY lanes.
9. Processors that support Intel® Time Coordinated Computing (TCC) are expected to
have improved high bandwidth workload performance on PCH features such as PCI
Express and Serial ATA.
Figure 9-2 shows High Speed I/O (HSIO) lane multiplexing in PCH.
M odPH Y Lanes
Lane # 0 0
1 0
2 0
3 4
0 5
0 6
0 0
7 0
8 0
9 10
0 11
0
USB SuperSpeed SGM II GbE
Notes: 1. Each GbE controller in the Intel® PSE can alternatively be mapped to a RGMII
interface.
Note: When SATA is used on ModPHY lanes 10 or 11, it is not possible to use SGMII GbE on
ModPHY lanes 11 or 10.
ModPHY Lanes
Lane # 0 0
1 0
2 0
3 4
0 5
0 6
0 0
7 0
8 0
9 10
0 11
0
USB SuperSpeed SGMII GbE
Note: The HSIO lane soft strap configuration must match the platform hardware design and
the corresponding processor controllers that are enabled in processor hardware,
firmware and software. For example, PSE GbE controllers 0 & 1 must not be enabled on
HSIO lanes 7, 9 & 11 in platforms that integrate either Intel® Celeron® Processor
J6412 or Intel® Celeron® Processor N6210. It is the responsibility of the platform
designers to configure the lane muxing and soft straps correctly without any conflict.
The hardware behavior is undefined if this scenario ever happens.
Note: Due to the muxing between SATA_LED_N signal and SATAXPCIE_0 signal, only one
function is available at a time. If a design with M.2 slot that can automatically handle a
SATA (Port 0 at lane 10) or PCIe SSD is desired, then the SATA_LED_N signal is not
available.
Note: SATAXPCIE_1 cannot be used for automatic detection of PCIe or SATA SSDs since PCIe
1 is not capable of 2 x1 ports. ModPHY lane 11 should always be statically assigned to
be either PCIe or SATA, as required by the design.
9.4 Registers
Please refer to Chapter 29 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for a
description of the registers associated with subject of this chapter.
§§
The optional DSP can be enabled in the audio subsystem to provide low latency HW/FW
acceleration for common audio and voice functions such as audio encode/decode,
acoustic echo cancellation, noise cancellation, etc
The cAVS is fully backward compatible with the Intel HD Audio specification, with the
controller implements a number of Output Stream DMA engines and Input Stream DMA
engines for data transfers, as well as a Command Output DMA engine and a Response
Input DMA engine for control transfers.
The cAVS also supports I2S audio codecs which are not Intel HD Audio standards. The
General Purpose DMA engines has the ability to do simple data transfers or control
transfers between system memory and the FIFO in the DSP I/O peripheral interfaces
directly, however, these transfers are not optimized for power management.
HDA_BCLK 24.000 MHz serial data clock generated by the Intel® HD Audio controller
HDA_SDI1
DMIC Interface
DMIC_CLK_A0 Serial data clock generated by the PCH to the digital microphone module
DMIC_CLK_A1
DMIC_CLK_B0
DMIC_CLK_B1
DMIC_DATA1
I2S Interface
AVS_I2S_MCLK2
AVS_I2S0_TXD I2S Transmit Data (Serial Data Out) for connection to I2S devices
AVS_I2S1_TXD Refer to Chapter 22 section 22.19.1 for more details on the transmission mode.
AVS_I2S2_TXD
AVS_I2S3_TXD
AVS_I2S4_TXD
AVS_I2S5_TXD
AVS_I2S0_RXD I2S Receive Data (Serial Data In) for connection to I2S devices
AVS_I2S1_RXD Refer to Chapter 22, section 22.19.1 for more details on the transmission mode.
AVS_I2S2_RXD
AVS_I2S3_RXD
AVS_I2S4_RXD
AVS_I2S5_RXD
10.2.1.1 DSP
The DSP provides a mechanism for intercepting the rendering audio and voice streams
(and tones) flowing through the controller’s DMA engines and provides DSP
enhancements to the audio. The same controller’s DMA engines may also be used to
download DSP function module at run-time, offering flexibility to the Audio DSP
processing pipeline creation. The DSP also offers contextual processing using the
sensor data obtained through the serial I/O interfaces (for example, I2C, UART, SPI,
and so on).
10.2.1.2 Memory
The central memory block for the cAVS is known as L2 local memory. All the HW based
accelerators and DMA engines are able to access certain regions of this central memory
as the audio stream buffer. The memory is also used as the working space for the DSP
Core, and it can provide processing to the audio stream data or sensor data flowing
through this central memory.
Both the Intel HD Audio serial link and Intel iDisp Audio serial link are fully backward
compatible with the legacy Intel HD Audio driver software stack.
The Input / Output Stream DMA can be individually put into coupled mode where the
host and link portion of the DMA will be directed to the associated FIFO and flow-
controlled automatically by HW; or put into de-coupled mode where the host and link
portion of the DMA will be directed to the unique DSP buffers setup by DSP FW for
inserting audio processing pipe stages.
Note: In FD (Full Duplex) mode, processor's SDO/TXD pin will function as TXD and it is not
used for transmission in HD-Tx mode. TXD is output pin.
Note: In HD (Half Duplex) mode, processor's SDI/RXD pin will function as TXD during Tx and
RXD during Rx. RXD is inout pin.
10.6 References
Specification Location
§§
11.1 Overview
The PCH implements an xHCI USB controller which provides support for up to 10 USB
2.0 signal pairs and 4 USB 3.1 signal pairs.The xHCI controller supports wake up from
sleep states S1-S4. The eXtensible Host Controller (xHCI) supports up to 64 devices for
a max number of 2048 Asynchronous endpoints (Control/Bulk) or max number of 128
Periodic Endpoints (interrupt/isochronous).
Each walk-up USB 3.1 capable port contains one USB 2.0 signal pair and one USB 3.1
signal pair.
The USB subsystem also supports Dual Role Capability. The xHCI is paired with a
standalone eXtensible Device Controller Interface (xDCI) to provide dual role
functionality. Only one port can be connected (and active) to the device controller at
one time. The USB subsystem incorporates a xDCI USB 3.0 device controller (5Gb/s)
that supports all 32 endpoints (in both USB3 and USB2 modes) for maximum
configurability.
The xDCI shares all USB ports with the host controller, with the ownership of the port
being decided based the USB Power Delivery specification. Since all the ports support
device mode, xDCI enabling must be extended by System BIOS. While the port is
mapped to the device controller, the host controller Rx detection must always indicate
a disconnected port.
USB Interface
Category Description
USB 3.1 SuperSpeed 4 (1x Dual Role Configurable on any one port)
Port
Peak USB 3.1 Speed 10 Gb/s (Host Role), 5 Gb/s (Device Role)
USB 2.0 Port 10 (1x Dual Role Configurable on any one port)
In case that a device (e.g. USB mouse) was connected to the computer, the computer
will work as Host and the xHCI will be activated inside the PCH.
Extensible Device Controller Interface (xDCI) is the interface specification that defines
Device Controller for Universal Serial Bus (USB), which is capable of interfacing with
USB 1.x, 2.x, and 3.x compatible devices
In case that the computer is connected as a device (e.g. tablet connected to desktop)
to other computer then the xDCI controller will be activated inside the device will talk
to the Host at the other computer.
Note: The PCH incorporates a USB3.0 device controller that allows data transfer of up
to 5Gb/s, while USB 3.1 (data transfer of up to 10Gb/s) is not supported. The host
controller supports both USB3.0 and USB3.1.
Note: 1. Each USB port can only be assigned to one OC_N signal.
2. Intel recommends that no more than four USB ports are assigned to one OC_N
signal
11.3 Registers
Note: Please refer to Chapters 17 and 18 of the Intel Atom® x6000E Series, and Intel®
Pentium® and Celeron® N and J Series Processors for Internet of Things (IoT)
Applications, Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number:
636722), for a description of the registers associated with subject of this chapter.
§§
12 PCI Express
12.1 Acronyms
Acronyms Description
0 1 2 3 4 5 6 7 8 9
PCIe 0
0 1 2 3
0 1 0 1 0 1 0 1 0 1
PCIe 1
Note: PCIE_[9:0]_RXP\RXN pins transition from un-driven to internal pull-down during reset.
Note: Controllers PCIe 1 & PCIe 2 can only be active in one of the indicated locations shown in Figure 12-1. PCIe
1 can only be active in one out of PCIE_5, PCIE_[6:7] or PCIE_[8:9]. PCIe 2 can only be active in one out of
PCIE_[0:1] or PCIE_[2:3].
Notes:
1. Theoretical Maximum Bandwidth (GB/s) = ((Transfer Rate * Encoding * # PCIe Lane) /8)/1000
- Gen3 Example: = ((8000 * 128/130) * 4)/8)/1000 = 3.94 GB/s
VC1 is enabled through standard PCIe Virtual Channel capability and when VC1 is
enabled, the PCIe Controller will autonomously exchange Flow Control initialization with
the PCIe Device. Upon completion of the VC1 Flow Control, the PCIe Controller will start
accepting VC1 transaction.
VC1 and VC0 transaction will be stored in independent Receive Queue to prevent any
blocking transaction from VC0 or VC1 to block each other. Ordering within the same VC
will still be applicable.
As PCIe* requires that the same TC value that was sent in a request be returned in the
corresponding completion, if the received traffic class was non-zero, actual TC for non-
posted requests needs to be stored in the read completion sideways queue so that it
can be paired up with the read completion.
ModPHY Lanes
2 3 4 5
PCIe 0
1 Port X4 Lanes 0
1 Port X2 Lanes + 1 Port X2 Lanes 0 2
1 Port X2 Lanes + 2 Ports X1 Lane 0 2 3
4 Ports X1 Lane 0 1 2 3
When an interrupt is generated using the legacy pin, the pin is internally routed to the
processor interrupt controllers. The pin that is driven is based upon the setting of the
STRPFUSECFG.PXIP configuration registers.
The following table summarizes interrupt behavior for MSI and wire-modes. In the
table “bits” refers to the hot-plug and PME interrupt bits.
One or more bits set to 1, new bit gets set to 1 Wire active Send message
One or more bits set to 1, software clears some (but not all) bits Wire active Send message
One or more bits set to 1, software clears all bits Wire inactive No action
Software clears one or more bits, and one or more bits are set on the Wire active Send message
same clock
Prior to entering S3, software is required to put each device into D3HOT. When a device
is put into D3HOT, it will initiate entry into a L1 link state by sending a PM_Enter_L1
DLLP. This under normal operating conditions when the root ports sends the
PME_Turn_Off message, the link will be in state L1. However, when the root port is
instructed to send the PME_Turn_Off message when link was in L1, it will still send the
PME_Turn_Off message. Endpoints attached to the PCH can make no assumptions
about the state of the link prior to receiving a PME_Turn_Off message.
If this is the first message received (RSTS.PS), the root port will set RSTS.PS, and log
the PME Requester ID into RSTS.RID. If an interrupt is enabled using RCTL.PIE, an
interrupt will be generated. This interrupt can be either a pin or an MSI if MSI is
enabled using MC.MSIE.
If this is a subsequent message received (RSTS.PS is already set), the root port will set
RSTS.PP. No other action will be taken.
When the first PME event is cleared by software clearing RSTS.PS, the root port will set
RSTS.PS, clear RSTS.PP, and move the requester ID into RSTS.RID.
If RCTL.PIE is set, an interrupt will be generated. If RCTL.PIE is not set, a message will
be sent to the power management controller so that a GPE can be set. If messages
have been logged (RSTS.PS is set), and RCTL.PIE is later written from a 0b to a 1b, an
interrupt will be generated. This last condition handles the case where the message
was received prior to the operating system re-enabling interrupts after resuming from a
low power state.
Note: Endpoint devices that support LTR must implement the reporting and enable
mechanism detailed in the PCI-SIG “Latency Tolerance Reporting Engineering Change
Notice” (www.pcisig.com).
Any I/O reads or writes will be forwarded to the link as it is. The device will need to be
able to return the previously written value, on I/O read to these ranges. BIOS must
ensure that at any one time, no more than one Root Port is enabled to claim Port 8xh
cycles.
PSTS.SSE
CMD.SEE
SERR#
Correctable SERR#
PCI Express Fatal SERR#
Non-Fatal SERR#
12.5.8 Hot-Plug
All PCIe* Root Ports support Express Card 1.0 based hot-plug that performs the
following:
• Presence Detect and Link Active Changed Support
• Interrupt Generation Support
When a module is removed (using the physical layer detection), the root port clears
SLSTS.PDS and sets SLSTS.PDC. If SLCTL.PDE and SLCTL.HPE are both set, the root
port will also generate an interrupt.
When any of these bits are set, SMI# will be generated. These bits are set regardless of
whether interrupts or SCI is enabled for hot-plug events. The SMI# may occur
concurrently with an interrupt or SCI.
All of the PCH PCIe* Controllers and their assigned Root Ports support PTM where each
Root Port can have PTM enabled or disabled individually from one another.
Notes: The lane reversal is not applicable for x2 controller (PCIe Controller 1, 2, 3).
PCI Express* Controller Lane Reversal is not the same as PCI Express* Lane Polarity
Inversion.
12.6 Registers
Note: Please refer to chapter 11 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for a
description of the registers associated with subject of this chapter.
§§
13.1 Acronyms
Acronyms Description
13.2 References
Specification Location
Serial ATA II: Extensions to Serial ATA 1.0, Revision 1.0 https://www.sata-io.org
13.3 Overview
The PCH SATA controller support two modes of operation, AHCI mode using memory
space. The PCH SATA controller no longer supports IDE legacy mode using I/O space.
Therefore, AHCI software is required. The PCH SATA controller supports the Serial ATA
Specification, Revision 3.2.
Immediately
Signal Name Power Plane During Reset S3/S4/S5 Deep Sx
after Reset
Note:
1. Pin defaults to GPIO mode. The pin state during and immediately after reset follows default GPIO mode
pin state. The pin state for S0 to Deep Sx reflects assumption that GPIO Use Select register was
programmed to native mode functionality. If GPIO Use Select register is programmed to GPIO mode,
refer to Multiplexed GPIO (Defaults to GPIO Mode) section for the respective pin states in S0 to Deep Sx.
2. Pin defaults to Native mode as SATAXPCIEx depends on soft-strap.
The PCH SATA controller does not support legacy IDE mode or combination mode.
The PCH SATA controller interacts with an attached mass storage device through a
register interface that is compatible with an SATA AHCI host adapter. The host software
follows existing standards and conventions when accessing the register interface and
follows standard command protocol conventions.
For capability details, refer to PCH SATA controller register (D23:F0:Offset 00h CAP,
and AHCI BAR PxCMD Offset 18h).
SATA devices may also have multiple power states. SATA adopted 3 main power states
from parallel ATA. The three device states are supported through ACPI. They are:
• D0 – Device is working and instantly available.
• D1 – Device enters when it receives a STANDBY IMMEDIATE command. Exit latency
from this state is in seconds.
• D3 – From the SATA device’s perspective, no different than a D1 state, in that it is
entered using the STANDBY IMMEDIATE command. However, an ACPI method is
also called which will reset the device and then cut its power.
Each of these device states are subsets of the host controller’s D0 state.
Finally, the SATA specification defines three PHY layer power states, which have no
equivalent mappings to parallel ATA. They are:
• PHY READY – PHY logic and PLL are both on and in active state.
• Partial – PHY logic is powered up, and in a reduced power state. The link PM exit
latency to active state maximum is 10 ns.
• Slumber – PHY logic is powered up, and in a reduced power state. The link PM exit
latency to active state maximum is 10 ms.
• Devslp – PHY logic is powered down. The link PM exit latency from this state to
active state maximum is 20 ms, unless otherwise specified by DETO in Identify
Device Data Log page 08h (Refer SATA Rev3.2 Gold specification).
Since these states have much lower exit latency than the ACPI D1 and D3 states, the
SATA controller specification defines these states as sub-states of the device D0 state.
The partial and slumber states save interface power when the interface is idle. It would
be most analogous to CLKRUN# (in power savings, not in mechanism), where the
interface can have power saved while no commands are pending. The SATA controller
defines PHY layer power management (as performed using primitives) as a driver
operation from the host side, and a device proprietary mechanism on the device side.
The SATA controller accepts device transition types, but does not issue any transitions
as a host. All received requests from a SATA device will be ACKed.
When an operation is performed to the SATA controller such that it needs to use the
SATA cable, the controller must check whether the link is in the Partial or Slumber
states, and if so, must issue a COMWAKE to bring the link back online. Similarly, the
SATA device must perform the same COMWAKE action.
Note: SATA devices shall not attempt to wake the link using COMWAKE/COMINIT when no
commands are outstanding and the interface is in Slumber.
To enter Device Sleep the link must first be in Slumber. By enabling HIPM (with
Slumber) or DIPM on a Slumber capable device, the device/host link may enter the
DevSleep Interface Power state.
The device must be DevSleep capable. Device Sleep is only entered when the link is in
slumber, therefore when exiting the Device Sleep state, the device must resume with
the COMWAKE out-of-band signal (and not the COMINIT out-of-band signal). Assuming
Device Sleep was asserted when the link was in slumber, the device is expected to exit
DEVSLP to the DR_Slumber state. Devices that do not support this feature will not be
able to take advantage of the hardware automated entry to Device Sleep that is part of
the AHCI 1.3.1 specification and supported by Intel platforms.
These states are entered after some period of time when software has determined that
no commands will be sent to this device for some time. The mechanism for putting a
device in these states does not involve any work on the host controller, other then
sending commands over the interface to the device. The command most likely to be
used in ATA/ATAPI is the “STANDBY IMMEDIATE” command.
After the interface and device have been put into a low power state, the SATA host
controller may be put into a low power state. This is performed using the PCI power
management registers in configuration space. There are two very important aspects to
Note when using PCI power management.
1. When the power state is D3, only accesses to configuration space are allowed. Any
attempt to access the memory or I/O spaces will result in initiator abort.
2. When the power state is D3, no interrupts may be generated, even if they are
enabled. If an interrupt status bit is pending when the controller transitions to D0,
an interrupt may be generated.
When the controller is put into D3, it is assumed that software has properly shut down
the device and disabled the ports. Therefore, there is no need to sustain any values on
the port wires. The interface will be treated as if no device is present on the cable, and
power will be minimized.
The SATA MPHY Dynamic Power Gating (PHYDPGEPx) can be enabled/disabled for each
SATA ports.
AHCI defines transactions between the SATA controller and software and enables
advanced performance and usability with SATA. Platforms supporting AHCI may take
advantage of performance features such as no initiator/target (refer to Section 1.1.1
for more information on initiator and target) designation for SATA devices—each device
is treated as a initiator—and hardware assisted native command queuing. AHCI also
provides usability enhancements such as hot-plug and advanced power management.
AHCI requires appropriate software support (such as, an AHCI driver) and for some
features, hardware support in the SATA device or additional platform hardware. Visit
the Intel web site for current information on the AHCI specification.
The PCH SATA controller supports all of the mandatory features of the Serial ATA
Advanced Host Controller Interface Specification, Revision 1.3.1 and many optional
features, such as hardware assisted native command queuing, aggressive power
management, LED indicator support, and hot-plug through the use of interlock switch
support (additional platform hardware and software may be required depending upon
the implementation).
Note: For reliable device removal notification while in AHCI operation without the use of
interlock switches (surprise removal), interface power management should be disabled
for the associated port. See Section 7.3.1 of the AHCI Specification for more
information.
13.6 Registers
Note: Please refer to the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N
and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2
(Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for a description of the
registers associated with subject of this chapter.
§§
The SMBus Address Resolution Protocol (ARP) is supported by using the existing host
controller commands through software, except for the Host Notify command (which is
actually a received message).
The PCH SMBus host controller checks for parity errors as a target. If an error is
detected, the detected parity error bit in the PCI Status Register is set.
The host controller supports 8 command protocols of the SMBus interface (see System
Management Bus (SMBus) Specification, Version 2.0): Quick Command, Send Byte,
Receive Byte, Write Byte/Word, Read Byte/Word, Process Call, Block Read/Write, and
Block Write–Block Read Process Call.
The SMBus host controller requires that the various data and command fields be setup
for the type of command to be sent. When software sets the START bit, the SMBus Host
controller performs the requested transaction, and interrupts the processor (or
generates an SMI#) when the transaction is completed. Once a START command has
been issued, the values of the “active registers” (Host Control, Host Command,
Transmit target Address, Data 0, Data 1) should not be changed or read until the
interrupt status message (INTR) has been set (indicating the completion of the
command). Any register values needed for computation purposes should be saved prior
to issuing of a new command, as the SMBus host controller updates all registers while
completing the new command.
Target functionality, including the Host Notify protocol, is available on the SMBus pins.
Using the SMB host controller to send commands to the PCH SMB target port is not
supported.
If the software sets the KILL bit in the Host Control Register while the command is
running, the transaction will stop and the FAILED bit will be set after Intel PCH forces a
time-out. In addition, if KILL bit is set during the CRC cycle, both the CRCE and DERR
bits will also be set.
Quick Command
When programmed for a Quick Command, the Transmit Target Address Register is
sent.The PEC byte is never appended to the Quick Protocol. Software should force the
PEC_EN bit to ‘0’ when performing the Quick Command. Software must force I2C_EN
set produces undefined results. Software must force the I2C_EN bit to 0 when running
this command.
Write Byte/Word
The first byte of a Write Byte/Word access is the command code. The next 1 or 2 bytes
are the data to be written. When programmed for a Write Byte/Word command, the
Transmit Target Address, Device Command, and Data0 Registers are sent. In addition,
the Data1 Register is sent on a Write Word command. Software must force the I2C_EN
bit to 0 when running this command.
Read Byte/Word
Reading data is slightly more complicated than writing data. First the PCH must write a
command to the target device. Then it must follow that command with a repeated start
condition to denote a read from that device's address. The target then returns 1 or 2
bytes of data. Software must force the I2C_EN bit to 0 when running this command.
When programmed for the read byte/word command, the Transmit Target Address and
Device Command Registers are sent. Data is received into the DATA0 on the read byte,
and the DAT0 and DATA1 registers on the read word.
Process Call
The process call is so named because a command sends data and waits for the target
to return a value dependent on that data. The protocol is simply a Write Word followed
by a Read Word, but without a second command or stop condition.
When programmed for the process call command, the Intel PCH transmits the Transmit
Address, Device Command, and DATA0 and DATA1 registers. Data received from the
device is stored in the DATA0 and DATA1 registers. The value written into bit 0 of the
Transmit Target Address Register (SMBus Offset 04h) needs
to programmed to 0.
The Process Call command with I2C_EN set and either the PEC_EN or AAC bit set
produces undefined results. Software must either force the I2C_EN bit or both PEC_EN
and AAC bits to 0 when running this command.
Note: If the I2C_EN bit is set, then the Command field will not be sent.
Block Read/Write
The Intel PCH contains a 32-byte buffer for read and write data which can be enabled
by setting bit ‘1’ of the Auxiliary Control register at offset 0Dh in I/O space, as opposed
to a single byte of buffering. This 32-byte buffer is filled with write data before
transmission, and filled with read data on reception.
For Block Write command software must either force the I2C_EN bit or both PEC_EN
and AAC bits to 0 when running this command.
I2C* Read
This command allows the PCH to perform block reads to certain I2C devices, such as
serial E2PROMs. The SMBus Block Read supports the 7-bit addressing mode only.
However, this does not allow access to devices using the I2C “Combined Format” that
has data bytes after the address. Typically these data bytes correspond to an offset
(address) within the serial memory chips.
Note: The I2C Read command with either PEC_EN or AAC it set produces undefined results.
Software must force both PEC_EN and AAC bits to 0 when running this command
This new command is supported independent of the setting of the I2C_EN bit.
The value written into bit 0 of the Transmit Target Address Register (SMBus Offset 04h)
must be 0.
The format that is used for the command is shown in Table 14-1.
1 Start
9 Write
20 Repeated Start
28 Read
38 Acknowledge
47 Acknowledge
– NOT Acknowledge
– Stop
The PCH will continue reading data from the peripheral until the NAK is received.
The block write-block read process call is a two-part message. The call begins with a
target address and a write condition. After the command code the host issues a write
byte count (M) that describes how many more bytes will be written in the first part of
the message. If a initiator has 6 bytes to send, the byte count field will have the value
6 (0000 0110b), followed by the 6 bytes of data. The write byte count (M) cannot be
zero.
The second part of the message is a block of read data beginning with a repeated start
condition followed by the target address and a Read bit. The next byte is the read byte
count (N), which may differ from the write byte count (M). The read byte count (N)
cannot be zero.
The combined data payload must not exceed 32 bytes. The byte length restrictions of
this process call are summarized as follows:
• M ≥ 1 byte
• N ≥ 1 byte
• M + N ≤ 32 bytes
The read byte count does not include the PEC byte. The PEC is computed on the total
message beginning with the first target address and using the normal PEC
computational rules. It is highly recommended that a PEC byte be used with the Block
Write-Block Read Process Call. Software must do a read to the command register
(offset 2h) to reset the 32byte buffer pointer prior to reading the block data register.
Note: There is no STOP condition before the repeated START condition, and that a NACK
signifies the end of the read transfer.
Note: E32B bit in the Auxiliary Control register must be set when using this protocol.
Several initiators may attempt to get on the bus at the same time by driving the
SMBDATA line low to signal a start condition. The Intel PCH must continuously monitor
the SMBDATA line. When the Intel PCH is attempting to drive the bus to a ‘1’ by letting
go of the SMBDATA line, and it samples SMBDATA low, then some other initiator is
driving the bus and the Intel PCH must stop transferring data.
If the Intel PCH loses arbitration, the condition is called a collision. The Intel PCH sets
the BUS_ERR bit in the Host Status Register, and if enabled, generates an interrupt or
SMI#. The CPU is responsible for restarting the transaction.
Some devices may not be able to handle their clock toggling at the rate that the Intel
PCH as an SM Bus initiator would like. They have the capability of stretching the low
time of the clock.
When the Intel PCH attempts to release the clock (allowing the clock to go high), the
clock will remain low for an extended period of time.
The Intel PCH monitors the SM Bus clock line after it releases the bus to determine
whether to enable the counter for the high time of the clock. While the bus is still low,
the high time counter must not be enabled. Similarly, the low period of the clock can be
stretched by an SMBus initiator if it is not ready to send or receive data.
If there is an error in the transaction, such that an SM Bus device does not signal an
acknowledge, or holds the clock lower than the allowed time-out time, the transaction
will time out. The Intel PCH will discard the cycle, and set the DERR bit. The time out
minimum is 25ms. The time-out counter inside the Intel PCH will start when the first t
bit of data is transferred by the Intel PCH. The 25 ms will be a count of 800 RTC clocks.
The 25-ms Timeout counter will not count under the following conditions:
1. BYTE_DONE_STATUS bit (SMBus I/O Offset 00h, Bit 7) is set
2. The SECOND_TO_STS bit (TCO I/O Offset 06h, Bit 1) is not set (this indicates that
the system has not locked up).
14.3.2.4 Interrupts/SMI#
The PCH SMBus controller uses PIRQB# as its interrupt pin. However, the system can
alternatively be set up to generate SMI# instead of an interrupt, by setting the
SMBUS_SMI_EN bit.
Table 14-2, Table 14-3 and Table 14-4 specify how the various enable bits in the SMBus
function control the generation of the interrupt, Host and Target SMI, and Wake internal
signals. The rows in the tables are additive, which means that if more than one row is
true for a particular scenario then the Results for all of the activated rows will occur.
1 0 0 Interrupt generated
Table 14-3. Enables for SMBus Target Write and SMBus Host Events
SMB_SMI_EN (Host
INTREN (Host Control
Config Register,
Event I/O Register, Offset Result
D31:F4:Offset 40h,
02h, Bit 0)
Bit 1)
0 X 0 None
X X 1 Wake generated
(Depends on CSE setting)
1 0 X Interrupt generated
If the read cycle results in a CRC error, the DERR bit and the CRCE bit in the Auxiliary
Status register at Offset 0Ch will be set.
Note: The external microcontroller should not attempt to access the PCH SMBus target logic
until either:
— 800 milliseconds after both: RTC_TEST_N is high and RTC_RST_N is high, OR
— The PMC_PLTRST_N de-asserts
If a initiator leaves the clock and data bits of the SMBus interface at 1 for 50 µs or more
in the middle of a cycle, the Intel PCH target logic's behavior is undefined. This is
interpreted as an unexpected idle and should be avoided when performing
management activities to the target logic.
0 Command Register. See Table 14-6 for valid values written to this register.
1–3 Reserved
6–7 Reserved
8 Reserved
9–FFh Reserved
Note: The external microcontroller is responsible to make sure that it does not update the contents of the
data byte registers until they have been read by the system CPU. The Intel PCH overwrites the old
value with any new value received. A race condition is possible where the new value is being written to
the register just at the time it is being read. The PCH will not attempt to cover this race condition (that
is, unpredictable results in this case).
0 Reserved
1 WAKE/SMI#. This command wakes the system if it is not already awake. If system is
already awake, an SMI# is generated.
2 Unconditional Powerdown. This command sets the PWRBTNOR_STS bit, and has the
same effect as the Powerbutton Override occurring.
3 HARD RESET WITHOUT Power CYCLING: This command causes a soft reset of the
system (does not include cycling of the power supply). This is equivalent to a write to the
CF9h register with Bits 2:1 set to 1, but Bit 3 set to 0.
4 HARD RESET SYSTEM. This command causes a hard reset of the system (including
cycling of the power supply). This is equivalent to a write to the CF9h register with Bits
3:1 set to 1.
5 Disable the TCO Messages. This command will disable the PCH from sending Heartbeat
and Event messages. Once this command has been completed, there is no method to re-
enable the Heartbeat and Event Messages, until RSMRST# goes low and then high.
7 Reserved
8 SMLINK_Initiator_SMI. When the Intel PCH detects this command type while in the S0
state, it sets the SMLINK_Initiator_SMI_STS bit. This command should only be used if the
system is in an S0 state. If the message is received during S1–S5 states, the PCH
acknowledges it, but the SMLINK_Initiator_SMI_STS bit does not get set.
Note: It is possible that the system transitions out of the S0 state at the same time that
the SMLINK_Initiator_SMI command is received. In this case, the
SMLINK_Initiator_SMI_STS bit may get set but not serviced before the system
goes to sleep. Once the system returns to S0, the SMI associated with this bit
would then be generated. Software must be able to handle this scenario.
9–FFh Reserved.
2–8 Target Address - 7 bits External Microcontroller Must match value in Receive Target
Address register
11–18 Command code – 8 bits External Microcontroller Indicates which register is being
accessed. See Table 14-8 for a list of
implemented registers.
21–27 Target Address - 7 bits External Microcontroller Must match value in Receive Target
Address register
0 7:0
Reserved
System Power State
000 = S0
001 = Reserved
010 = Reserved
2:0 011 = S3
1
100 = S4
101 = S5
110 = Reserved
111 = Reserved
7:3 Reserved
3:0 Reserved
2
7:4 Reserved
Watchdog Timer current value
5:0
3 Note: The Watchdog Timer has 10 bits, but this field is only 6 bits. If the current
value is greater than 3Fh, the Intel PCH will always report 3Fh in this field.
7:6 Reserved
1 = Intruder Detect (INTRD_DET) bit is set. This indicates that the system cover
0
has probably been opened.
1 Reserved
2 Reserved
4 1 = SECOND_TO_STS bit set. This bit will be set after the second Timeout
3
(SECOND_TO_STS bit) of the Watchdog Timer occurs.
6:4 Reserved. Will always be 0, but software should ignore.
SMB_ALERT_N Status. Reflects the value of the SMB_ALERT_N pin (when the pin
7 is configured to SMB_ALERT_N). Valid only if SMBALERT_DISABLE = 0. Value always
returns 1 if SMBALERT_DISABLE = 1.
0 Reserved
1 Battery Low Status. ‘1’ if the BATLOW# pin is a ‘0’.
SYS_PWROK Failure Status: This bit will be 1 if the SYSPWR_FLR bit in the
2
GEN_PMCON_2 register is set.
INIT# due to receiving Shutdown message: This event is visible from the
reception of the shutdown message until a platform reset is done if the Shutdown
3 Policy Select bit (SPS) is configured to drive INIT#. When the SPS bit is configured to
generate PLTRST# based on shutdown, this register bit will always return 0.
5 Events on signal will not create a event message
4 LT Reset: LT reset indication. Events on signal will not create a event message
POWER_OK_BAD: Indicates the failure core power well ramp during boot/resume.
5 This bit will be active if the SLP_S3# pin is de-asserted and PCH_PWROK pin is not
asserted.
Thermal Trip: This bit will shadow the state of processor Thermal Trip status bit
6
(CTS)Events on signal will not create a event message
Reserved: Default value is “X”
7 Note: Software should not expect a consistent value when this bit is read through
SMBUS
6 7:0 Contents of the Message 1 register.
7 7:0 Contents of the Message 2 register.
8 7:0 Contents of the WDSTATUS register.
9 7:0 Seconds of the RTC
A 7:0 Minutes of the RTC
The SMBus protocol always has either Start bit-Address-Write bit or Repeated Start bit-
Address-Read bit. The Intel PCH is implemented such that the read/write bit in the
repeated start phase is ignored with an assumption that the protocol always followed.
In other words, if start-address-read occurs (which is illegal for SMBus byte read
protocol), the Intel PCH will still grab the cycle. In another case, if a repeated start-
address-write sequence occurs, then the cycle will continue as a target read.
The RTC time bytes are internally latched by the PCH’s hardware whenever RTC time is
not changing and SMBus is idle. This ensures that the time byte delivered to the target
read is always valid and it does not change when the read is still in progress on the bus.
The RTC time will change whenever hardware update is in progress, or there is a
software write to the RTC time bytes.
The PCH SMBus target interface only supports Byte Read operation. The external
SMBus initiator such as BMC will read the RTC time bytes one after another It is
software’s responsibility to check and manage the possible time rollover when
subsequent time bytes are read.
For example, assuming the RTC time is 11 hours:59 minutes: 59 seconds. When BMC
reads the hour as 11, and then proceeds to read the minute, it is possible that the
rollover happens between the reads and the minute is read as 0. This results in 11
hours: 0 minute instead of
the correct time of 12 hours: 0 minute. Unless it is certain that rollover will not occur,
software is required to detect the possible time rollover by reading multiple times such
that the read time bytes can be adjusted accordingly if needed.
byte of the protocol. This allows the host to communicate non-acceptance to the
initiator and retain the host notify address and data values for the previous cycle until
host software completely services the interrupt.
Note: Host software must always clear the HOST_NOTIFY_STS bit after completing any
necessary reads of the address and data registers.
11:17 Device Address – 7 bits External initiator Indicates the address of the initiator;
loaded into the Notify Device Address
Register
20:27 Data Byte Low External initiator Loaded into the Notify Data Low Byte
Register
29:36 Data Byte High External initiator Loaded into the Notify Data High Byte
Register
14.4 Registers
Note: Please refer to chapter 6 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for a
description of the registers associated with subject of this chapter.
§§
15.1 Overview
This chapter describes the behavior of the three Gigabit Ethernet (GbE) Controllers that
reside in PCH including Intel® Programmable Services Engine (PSE). In Intel® PSE,
there are two GbE Controllers. The GbE controller can operate at multiple speeds, 10/
100/1000 Mbps (RGMII & SGMII) & 2500 Mbps (SGMII only) and in either full duplex or
half duplex mode. Each integrated Time-Sensitive Networking (TSN) Ethernet Media
Access Controller (MAC) has a unique 48-bit MAC Address. These MAC Addresses are
located in a BIOS Sub-Region and are assigned by the customer using the Capsule
Update Tool which runs in an OS.
The Figure 15-1 shows their locations in the PCH and Intel® PSE.
GbE PSE0 MAC and GbE PSE1 MAC are accessed by either the IA Processor cores
through system software or the Intel® PSE’s Arm* Cortex*-M7 Microcontroller through
RTOS firmware. These two MAC devices are connected to the Intel® PSE rather than
directly to the PCH IO Fabric (PSF). GbE PSE0 and GbE PSE1 support Serial Gigabit
Media Independent Interface (SGMII) and Reduced Gigabit Media Independent
Interface (RGMII). RGMII mode should be used when GbE operation is required in S0ix/
Sx mode, such as when ECMA-393 Network Proxy mode or Out Of Band Manageability
support is required. RGMII clock in S0ix/Sx modes will come from PLL integrated inside
Intel® PSE.
GbE HOST MAC is accessed by the IA Processor cores through system software via PCH
IO Fabric (PSF2 and PSF1) and support SGMII interface only.
Each MAC has an IEEE Std 802.3 Station Management (STA) Entity that is accessible to
software via the Memory Mapped IO (MMIO) registers to control the associated MDIO
interface. See IEEE Std 802.3, Clause 22 and Clause 45 for MMIO registers. The
Physical Coding Sublayer (PCS) module provides the sublayer circuitry between the
GMII of the MAC and the Ten Bit Interface (TBI) of the SGMII SERrial-DESerial
(SerDes) circuitry. See IEEE Std 802.3 Clause 35 for GMII and Clause 36 for TBI.
• GPIO - based input pin for interrupt signal from PHY status and wakes
(magic packet from link partner)
• GPIO - based output signal pin to reset the SGMII PHY on the platform
• 8 TX queues and 8 RX queues with separate DMA channels and interrupts. Each
TX/RX queue is 4KB for storing at least two normal packets with total of 64KB
memory (TX+RX). Each queue size is programmable with TX queue size not to
exceed 32KB and RX queue size not to exceed 32KB.
Note: Jumbo packet support can be dependent on PHY compatibility and, if jumbo packet
platform support is required, Intel recommends confirming support with the PHY
vendor.
• Configurable DLL for clock centering on transmit in RGMII 1Gbps mode. The tap
delays are adjustable in steps of 125ps and can sweep the entire eye.
Implemented only on TX Direction. Refer to DLL Configuration (DLL_CFG)
chapter in the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron®
o TCP Segmentation Offload (TSO) Engine where large TCP packets are
split into multiple small packets to save application bus cycles. Eight TX
DMA Channels with separate 2KB memory (256 bytes per channel).
o Packet filtering (layer-2) and stripping based on any one of four VLAN
tags on RX path
• MAC Management Counters (MMC) for gathering statistics on the received and
transmitted packets. Interrupts are generated for various events.
o On RX: CRC error, Runt packet (shorter than 64 bytes), Alignment error
(in 10/100Mbps only), Length error (non-Type packet only), Out of
Range (non-Type packet only, longer than 1518 bytes), GMII_RXER
Input error
o Magic packet wakes (from external PHY) through GPIO Interrupt when
the entire Intel® PSE and SERDES are power gated. The SW driver will
re-configure upon entry and the PMC does reset sequencing.
• RX Filtering
• Flexible RX Parser
Note: RX Filtering and Flexible RX Parser features are mutually exclusive. They shall not be
enabled together.
• Reject ARP packets that don’t belong to node (end station that is receiving ARP
packets)
o Packet data
o Control bits
o Memory address
• FSM protection
Note: The Split Headers (SPH) function is not supported by the processor. Platform firmware
& software shall not set any DMA_CH[0:7]_CONTROL.SPH register field to 0x1
IEEE Std 802.1AS A specific profile of IEEE Std 1588-2008. IEEE Std 802.1AS
specifies the generalized Precision Time Protocol (gPTP). It provides
a Layer 2 time synchronizing service
IEEE Std 802.1Qav 2009 Forwarding and Queueing Enhancements for Time-Sensitive
Streams, which specifies the Credit Based Shaper
IEEE Std 802.1Qbu 2016 Frame Preemption. It allows a Bridge Port to suspend the
transmission of non time critical frames while one or more time
critical frames are transmitted
IEEE Std 802.1Qbv 2015 Enhancements for Scheduled Traffic. It specifies time aware queue
draining to schedule the transmission of frames relative to a known
time scale
Note: Concurrent usage of the 802.1Qav and 802.1Qbv features is not supported.
In addition to IEEE Standards above, each of the GbE instances supports the following
TSN features.
• 16-deep Descriptor Prefetch buffer per each TX and RX queue to achieve line
rate per queue.
o The ART timer and system timer values are captured with precision
less than 5ns for timing correlation
• GPIO based Pulse Per Second output with programmable pulse width
• Each Control List of 1K entries for all Tx queues. 32x128(x8) memory for
Control List to support IEEE Std 802.1Qbv
• Provision to route traffic on low latency on low fabric channel with traffic class
based routing. Two virtual channels and traffic classes (TC) are supported.
All express traffic is mapped to Virtual Channel-1(VC1) and best effort is
mapped to Virtual Channel-0(VC0). Each queue is independently mapped to
any of the supported VC/TC.
The selections for the GbE PSE0 and GbE PSE1 interfaces are Serial Gigabit Media-
Independent Interface (SGMII) or Reduced Gigabit Media-Independent Interface
(RGMII). For the GbE HOST the interface selection is SGMII.
Note: The interface supports MDIO operation as defined in IEEE Std 802.3 Clause 45 except
at a signal voltage of 1.8V, not 1.2V.
GBE_SGMII_TXP
GbE HOST
GBE_SGMII_TXN
GBE_SGMII_RXP
GbE HOST
GBE_SGMII_RXN
Note:
1. Refer to Chapter 9 for a description of how these signals are routed by the ModPHY lanes.
Note:
1. The signals should be configured to 1.8V using the multiplexed GPIO's Individual Voltage Select soft strap.
Note:
1. The signals should be configured to 1.8V using the multiplexed GPIO's Individual Voltage Select soft strap.
Notes:
1. The signals should be configured to 1.8V using the multiplexed GPIO's Individual Voltage Select soft strap.
2. PCH input pin looks for an active-high Interrupt signal for the interrupt. If external PHY device is designed
to produce an active-low Interrupt signal, the GbE controller has an inverter that must be enabled by
programming the Global Configuration Register (GCR) MDIO register, PHY to MAC Interrupt Polarity
(PHY2MAC_INTR_POL) bit. Refer to the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and
J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2 (Book 2 of 3), Mule Creek
Canyon (Document Number: 636722), 10.3.2.1 Global Configuration Register – Address 00h for register
details.
Table 15-6. GbE-TSN interrupts and Message Signaled Interrupt (MSI) Vector Number
No Interrupt Name Direction Description MSI Vector No
2 Queue_TX1_IRQ O 5'b00011
3 Queue_TX2_IRQ O 5'b00101
4 Queue_TX3_IRQ O 5'b00111
5 Queue_TX4_IRQ O 5'b01001
6 Queue_TX5_IRQ O 5'b01011
7 Queue_TX6_IRQ O 5'b01101
8 Queue_TX7_IRQ O 5'b01111
10 Queue_RX1_IRQ O 5'b00010
11 Queue_RX2_IRQ O 5'b00100
12 Queue_RX3_IRQ O 5'b00110
13 Queue_RX4_IRQ O 5'b01000
14 Queue_RX5_IRQ O 5'b01010
15 Queue_RX6_IRQ O 5'b01100
16 Queue_RX7_IRQ O 5'b01110
Table 15-6. GbE-TSN interrupts and Message Signaled Interrupt (MSI) Vector Number
No Interrupt Name Direction Description MSI Vector No
22 PHY MAC Interrupt I Interrupt from a PHY that is on the Not Applicable
platform to MAC through a GPIO. The
polarity of this signal is controlled by
“phy2mac_intr_pol” bit in the GCR register.
This interrupt also goes to PMC GPE
register bit as Wake On LAN (WOL)
interrupt. The PMC ignores any event on
this signal during non-S0ix states.
Table 15-7. GbE TSN Register List Differences Between GbE PSE MAC and GbE HOST MAC
GbE PSE HW/SW
Item GbE Host
(GbE PSE 0 & GbE PSE 1) Recommendation
BAR Number BAR0 – 256 KB: 64KB for BAR0 – 8K Ignore ACPI Mode
and Size GbE-TSN IP, 64KB Misc Logic, Program GbE PSE0 & GbE PSE1
128 KB for L2 SRAM exposure accordingly for Proxy Mode (if used)
in proxy mode
BAR1 – Used in ACPI mode,
mapped to mainly CFG Spaced
Table 15-7. GbE TSN Register List Differences Between GbE PSE MAC and GbE HOST MAC
GbE PSE HW/SW
Item GbE Host
(GbE PSE 0 & GbE PSE 1) Recommendation
DMA Channel to Address Space: MMIO Address Space: MMIO Program per difference
VC Mapping Address Offset: MDIO Space.
Port0: 0x50210000, ... Address Offset: word
,0x5021003C address 0x1C, byte
address 0x38
Port1: 0x50230000, ...
,0x5023003C OCP Bridge was added,
with Register Space for
MMIO
DMA Host Address Space: MMIO Not Applicable Make Host Address with in 4G space
Address Address Offset: when owned by IA Processor cores
Programming1
Port0: 0x50210100, ...
,0x5021023C
Port1: 0x50230100, ...
,0x5023023C
Power D3: Address Space: PCI D3: Address Space: Enable Dx, Disable D0ix
Management Config PCI Config
Address Offset: 0x84 Address Offset: 0x84
D0i3: D0i3: Not Applicable
Address space: MMIO
Address offset: 0x50210410
Device ID2 GbE PSE 03: 4BA0, 4BA1, GbE Host: 4B32
4BA2
GbE PSE 13: 4BB0, 4BB1,
4BB2
MMIO Register DRAM ADDRESS_FILLIN (tied Register for: PMC ART Refer to the Intel Atom® x6000E
Space4 to 4GB) Value, Series, and Intel® Pentium® and
VC Mapping CFG Register for PHY Celeron® N and J Series Processors
PIPE Interface, for Internet of Things (IoT)
PCIe Snoop/NP Control
Applications, Datasheet, Volume 2
D0i3 General Purpose Global
(Book 2 of 3) Mule Creek Canyon
Control and Status
DLL Register: Offset (Document Number: 636722), and
50230000 Intel Atom® x6000E Series, and
Proxy Mode Register Intel® Pentium® and Celeron® N
and J Series Processors for Internet
of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3),
Intel® Programmable Services
Engine (Intel® PSE) (Document
Number: 636723), for the
implications.
Table 15-7. GbE TSN Register List Differences Between GbE PSE MAC and GbE HOST MAC
GbE PSE HW/SW
Item GbE Host
(GbE PSE 0 & GbE PSE 1) Recommendation
Notes:
1.Additional register needs to be programmed for upper Host address info.
2.Intel’s Rule to assign unique ID for different instance of IP and provides placeholders for other values in case of
future stepping and need to differentiate it the SW/FW.
3.The two GbE Controllers inside Intel® PSE are identical, different Device ID to identify their unique instantiation
(4BA* & 4BB*).
4.Got differences in few Miscellaneous Registers.
5.Delay Logic Levels (DLL) are Programmable Delay Elements typically used for Serial Interfaces. Provides the
flexibility to Adjust the Interfaces (Clock and Data) Delay to meet End to End Setup and Hold requirements. Only
applicable on TSN with RGMII Interface. Relative Delays in steps of 125ps can be added between Clock and Data.
Implemented only on TX Direction. Initialization and Programming of DLL Register done by BIOS. Refer to
Chapter DLL Configuration (DLL_CFG) in the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N
and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2 (Book 2 of 3) Mule Creek
Canyon (Document Number: 636722), to configure the DLL Delay Elements.
6.Intel recommends PCIE mode, no driver support for ACPI Mode.
7.MAC Soft Reset doesn’t reset the CFG space. Customer can choose either option per instance, or just stay with
MAC Soft Reset – which Intel Recommends.
Note:
1. Intel strongly recommends that only the PHYs listed be used in platform designs.
Firmware and software incompatibilities may occur between other GbE PHYs and
Intel’s BKC due to per-vendor or per-model PHY-specific programming requirements.
15.10 Registers
Please refer to chapter 10 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3) Mule Creek Canyon (Document Number: 636722),
and chapter 3 of the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N
and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2
(Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE) (Document Number:
636723), for a description of the registers associated with subject of this chapter.
15.11 References
Specification Location
§§
eSPI operates at 1.8V only. This interface is not shared and distinct from the SPI
interface used for flash device and TPM. The eSPI interface supports 14 MHz, 20 MHz,
33 MHz, and 50 MHz and up to Quad Mode with four chip selects.
The eSPI Target has an Alert Mode bit in its General Capabilities and Configuration
register, which selects between the discrete and in-band Alert# indications. For a single
Initiator – single Target configuration, the default value of this bit (in-band Alert#)
works as-is. When two or more targets are present, this bit must be set to 1 by the
eSPI Initiator to ensure that Alert# is signaled by discrete pins (one per target). Refer
to Section 1.1.1 for more information on initiator and target.
16.1.3 Protocols
The following figure is an overview of the basic eSPI protocol.
A transaction is initiated by the PCH through the assertion of CS#, starting the clock
and driving the command onto the data bus. The clock remains toggling until the
complete response phase has been received from the target.
The serial clock must be low at the assertion edge of the CS# while ESPI_RESET# has
been de-asserted. The first data is driven out from the PCH while the serial clock is still
low and sampled on the rising edge of the clock by the target. Subsequent data is
driven on the falling edge of the clock from the PCH and sampled on the rising edge of
the clock by the target. Data from the target is driven out on the falling edge of the
clock and is sampled on a falling edge of the clock by the PCH.
A WAIT state is a 1-byte response code. They must be the first set of response byte
from the target after the TAR cycles.
Each of the channels has its dedicated resources such as queue and flow control. There
is no ordering requirement between traffic from different channels.
Note: These accesses can only be routed to one CS_N signal at a time. The CS_N is selected
using the eSPI CSx IO Routing Enables (ESPI_CSxIORE) registers.
Note: Only CS0_N has four Generic I/O Ranges assigned to it, which are configured using the
ESPI_LGIR[3:0] registers. CS[1:3]_N have one Generic I/O Range assigned each,
which are configured using the ESPI_CS1GIR1, ESPI_GIR1_EXT[0] &
ESPI_GIR1_EXT[1]. An eSPI device requiring >1 Generic I/O range must be connected
to CS0_N.
• Tunnel all accesses from the eSPI Target to the Host. These include Memory Reads
and Writes.
eSPI supports both level and edge-triggered interrupts. Refer to the eSPI Specification
for details on the theory of operation for interrupts over eSPI.
The PCH eSPI controller will issue a message to the PCH interrupt controller when it
receives an IRQ group in its VW packet, indicating a state change for that IRQ line
number.
The eSPI Target can send multiple VW IRQ index groups in a single eSPI packet, up to
the Operating Maximum VW Count programmed in its Virtual Wire Capabilities and
Configuration Channel.
The eSPI controller acts only as a transport for all interrupt events generated from the
Target. It does not maintain interrupt state, polarity or enable for any of the interrupt
events.
eSPI controller supports the transmitting of PCH thermal data to the eSPI Target. The
thermal data consists of 1 byte of PCH temperature data that is transmitted periodically
(~1 ms) from the thermal sensor unit.
The packet formats for the temperature request from the eSPI Target and the PCH
response back are shown in Table 16-4 and Table 16-5.
Byte 7 6 5 4 3 2 1 0
1 Tag[3:0] Length[11:8] = 0h
2 Length[7:0] = 04h
Byte 7 6 5 4 3 2 1 0
1 Tag[3:0] Length[11:8] = 0h
2 Length[7:0] = 05h
The PCH eSPI controller supports the transmitting of PCH RTC time/date to the eSPI
Target. This allows the eSPI Target to synchronize with the PCH RTC system time.
Moreover, using the OOB message channel allows reading of the internal time when the
system is in Sx states.
The RTC time consists of 7 bytes: seconds, minutes, hours, day of week, day of month,
month and year. The controller provides all the time/date bytes together in a single
OOB message packet. This avoids the boundary condition of possible roll over on the
RTC time bytes if each of the hours, minutes, and seconds bytes is read separately.
The packet formats for the RTC time/date request from the eSPI Target and the PCH
response back to the device are shown in Table 16-4 and Table 16-5.
Table 16-6. eSPI Target Request to PCH for PCH RTC Time
Byte 7 6 5 4 3 2 1 0
1 Tag[3:0] Length[11:8] = 0h
2 Length[7:0] = 04h
Byte 7 6 5 4 3 2 1 0
1 Tag[3:0] Length[11:8] = 0h
2 Length[7:0] = 0Ch
7 Reserved DM HF DS
Notes:
1. DS: Daylight Savings. A 1 indicates that Daylight Saving has been comprehended in the RTC time bytes. A
0 indicates that the RTC time bytes do not comprehend the Daylight Savings.
2. HF: Hour Format. A 1 indicates that the Hours byte is in the 24-hr format. A 0 indicates that the Hours
byte is in the 12-hr format.
In 12-hr format, the seventh bit represents AM when it is a 0 and PM when it is a 1.
3. DM: Data Mode. A 1 indicates that the time byte are specified in binary. A 0 indicates that the time bytes
are in the Binary Coded Decimal (BCD) format.
Most configuration options for the eSPI interface, such as frequency & I/O mode, are
available as Soft Straps.
Note: Neither Master Attached Flash Sharing (MAFS) nor Slave Attached Flash Sharing
(SAFS) is supported.
16.2 Registers
Note: Please refer to chapter 2 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications, Datasheet,
Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for a
description of the registers associated with subject of this chapter.
1
§§
17.1 Acronyms
Acronyms Description
CLK Clock
CS Chip Select
Note: Refer to Section 1.1.1 for more information on initiator and target.
A SPI flash device supporting SFDP (Serial Flash Discovery Parameter) is required for
all PCH designs. A SPI flash device with a valid descriptor MUST be attached directly to
the PCH. The POR capacity of the SPI Flash device is 64MB.
FSPI_MOSI_IO0 Data SPI serial output data from PCH to the SPI flash device. This Pin will also
function as Input during Dual and Quad I/O operation
FSPI_MISO_IO1 Data SPI serial input data from the SPI flash device to PCH. This Pin will also
function as Output during Dual and Quad I/O operation
FSPI_IO2 Data SPI serial Input/Output data to comprehend the support for the Quad I/O
operation
FSPI_IO3 Data SPI serial Input/Output data to comprehend the support for the Quad I/O
operation
FSPI_CS1_N Chip SPI chip select 1 signal is used as the second chip select, when 2
Select flash devices are used. Do not use when only one SPI flash is used.
Note: The internal pull-up is disabled when PMC_RSMRST_N is asserted (during reset) and
only enabled after PMC_RSMRST_N de-assertion
Notes:
1. During reset refers to when PMC_RSMRST_N is asserted.
2. FSPI_MOSI_IO0 also functions as a strap pin. The actual pin state during Reset is
dependent on the platform Pull-up/Pull-down resistor.
PCH drives the interface clock at either 20 MHz, 33 MHz, or 50 MHz and will function
with flash devices that support at least one of these frequencies.
A SPI flash device supporting SFDP (Serial Flash Discovery Parameter) is required for
all PCH designs. A SPI flash device with a valid descriptor MUST be attached directly to
the PCH.
The SPI Controller has two operational modes: Descriptor mode and Dnx Mode.
• 20 MHz, single I/O, 03h read instruction, with option to enable higher throughput
• Read SFDP (Serial Flash Discoverable Parameters) from both devices, use SFDP to
determine flash device sizes and number of components
• Up to two components are supported in DnX mode. They may be any size. Their
size is discovered via SFDP.
• Only CSE is allowed to access flash
• All descriptor and register based protections are disabled when DnX mode is active
• DnX mode takes precedence over fdopss (flash descriptor security override), i.e.
register security is turned off if both DnX and fdopss are asserted
• Only CSE h/w and s/w sequencing are allowed, not direct read
17.6.1.2.2 Descriptor Mode
0 Flash Descriptor
1 BIOS
3 RSVD
4 Platform Data
5 RSVD
Only two Initiators can access the regions: Host processor running BIOS code and the
Intel CSE (Converged Security Engine).
The Flash Descriptor and CSE region are the only required regions. The Flash
Descriptor has to be in region 0 and region 0 must be located in the first sector of
Device 0 (Offset 0). All other regions can be organized in any order.
SPI flash space requirements differ by platform and configuration. The Flash Descriptor
requires one 4-KB or larger block. The amount of flash space consumed is dependent
on the erase granularity of the flash part and the platform requirements for the CSE
and BIOS regions. The CSE region contains firmware to support CSE capabilities.
Descriptor 4 KB 8 KB 64 KB
17.6.1.3 Descriptor
The bottom sector of the flash component 0 contains the Flash Descriptor. The
maximum size of the Flash Descriptor is 4 KB. If the block/sector size of the SPI flash
device is greater than 4 KB, the flash descriptor will only use the first 4 KB of the first
block. The flash descriptor requires its own block at the bottom of memory (00h). The
information stored in the Flash Descriptor can only be written during the manufacturing
process as its read/write permissions must be set to read only when the computer
leaves the manufacturing floor.
4KB
OEM Section
Descriptor Upper
MAP
VSCC Table
Reserved
Initiator
Region
Component
Descriptor MAP
Signature
10 h
• The OEM Section is 256 bytes reserved at the top of the Flash Descriptor for use by
OEM.
• The Descriptor Upper MAP determines the length and base address of the
Management Engine VSCC Table.
• The VSCC Table holds the JEDEC ID and the VSCC information of the entire SPI
Flash supported by the NVM image.
• The Reserved region between the top of the processor strap section and the
bottom of the OEM Section is reserved for future chipset usages.
• The PCH Soft Straps section contains processor and PCH configurable parameters.
• The Initiator region contains the security settings for the flash, granting read/
write permissions for each region and identifying each initiator by a requestor ID.
• The Region section points to the three other regions as well as the size of each
region.
• The Component section has information about the SPI flash in the system
including: the number of components, density of each, invalid instructions (such as
chip erase), and frequencies for read, fast read and write/erase instructions.
• The Descriptor Map has pointers to the other five descriptor sections as well as
the size of each.
• The Signature selects Descriptor Mode as well as verifies if the flash is
programmed and functioning. The data at the bottom of the flash (offset 10h) must
be 0FF0A55Ah in order to be in Descriptor mode.
The expectation is that when the platform fails to boot the user will force a re-boot into
DnX mode. If the descriptor is invalid but the DnX mode indication is false, then the
desired behavior is for the flash controller to allow the CSE to come up and run using
the old non-descriptor mode restrictions, however no flash controller behavior is
guaranteed.
The initiator region defines read and write access setting for each region of the SPI
device. The initiator region recognizes two initiators: BIOS and CSE. Each initiator is
only allowed to do direct reads of its primary regions.
Processor and
Region Name Intel® CSE
BIOS
Signature 10h
MDTBA C00h
SPI controller supports accesses to SPI TPM at 20 MHz, 33 MHz and 50 MHz depending
on the PCH soft strap. 20 MHz is the reset default, a valid PCH soft strap setting
overrides the requirement for the 20 MHz. SPI TPM device must support a clock of 20
MHz. It may, but is not required to support a frequency greater than 20 MHz.
The SPI controller does have an integrated interrupt signal for the TPM.
When enabled for TPM and the LTR/LTW cycle type required input is true, the SPI
controller will decode as follows:
SPI will decode LTW transactions on the IOSF primary host root space to the address
range FED4_0000h through FED4_7FFFh and send the cycle down SPI as a TPM write,
using the TPM-SPI protocol.
SPI will decode LTR transactions on the IOSF primary host root space to the address
range FED4_0000h through FED4_7FFFh and send the cycle down SPI as a TPM read,
using the TPM-SPI protocol.
Access to the SPI TPM is always with single-address input and single output at the
single data rate. Dual-output, dual-I⁄O, quad-output and quad-I⁄O operations are not
supported on CS2_N with the TPM.
It is legal to transmit any number of bytes from 1 to 64. Zero length reads or writes are
not allowed. If the transfer is less than 4B, then the corresponding bits are left out. For
example, on a 2B write, the last transfer on MOSI is Data[8] (LS Bit of the MS Byte).
There is no status byte for the transfer. If the write to the TPM failed, the TPM would
not honor what was received, and software/driver will understand the software
command did not succeed and perform the appropriate recovery mechanisms. If the
read fails, then the processor would return all FFs for the data, which would signal a
failure to the driver.
Note: This description uses idealized, zero-delay timing for illustrative purposes.
For the TPM operation, it involves hardware generating transactions directly to the TPM
with minimum or no software involvement. As such, there needs to be a simple flow
control mechanism on SPI because hardware cannot poll busy bits or use other
software mechanisms. Therefore the following flow control is allowed by the TPM.
SPI protocol doesn't have a defined flow control mechanism. Thus a new flow control
mechanism is being created for the TPM on SPI.
The flow control is on a transaction basis and not on a byte basis. For example, a read
or write to the data register can be at most 4B in length today, moving to 8B or 64B in
the future. The TPM will accept the write data when it has the full size of buffer
available to be written (1-64B), or provide the read data when it has the full amount of
data (1-64B) ready to deliver, again based on the size of the transaction. The overhead
of allowing flow control between each byte is too high with almost no benefit.
Since the specification allows for larger sizes of transactions in the future, the
processor will have limited, if any, hardware checking on accesses to the TPM address
space. If the processor receives transaction for any size from 1B to 64B that doesn't
cross a 64B boundary, it must issue that transaction on SPI as received. The processor
must accept all transactions of any length on any address boundary to FED4_0000h to
FED4_4FFFh, as long as they don't cross a 64B boundary.
The mechanism to insert wait states is as follows. For a read to the TPM, the command
and address are driven on MOSI and the TPM responds with data on MISO. With no wait
states, the TPM would drive data on the next falling clock edge after the falling clock
edge that the processor drove the last address bit. The flow control mechanism added
for the TPM is that the processor will monitor the MISO pin in the same clock window
that A[0] (the last address bit) is valid.
The TPM receives the address, where address bit[2] is captured a clock and a half
before it has to drive the flow control bit. For reads,
17.8 Registers
Note: Please refer to chapter 7 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
§§
18 SIO (LPSS)
•Up to 3.8 Mbits/s Auto Flow Control mode as specified in the 16750 standard
•DMA support with 64-byte DMA FIFO per channel (up to 32-byte burst)
•Programmable character properties, such as number of data bits per character (5-8),
optional parity bit (with odd or even select) and number of stop bits (1, 1.5, or 2)
The formula to calculate the generated Baud rate with the M:N ratio is:
For a f_input value of 100MHz, a variable M/N ratio and a fixed Divisor (DLH = 0, DLL =
1) is recommended. The variable M can be calculated as follows:
M = (Baud Rate*16*N)/100MHz
For example, a target Baud rate of 3 Mbps @ 100 MHz requires a divider ratio of 0.48,
which implies that M should be set to 0.48 of N. To achieve the lowest error margin, M
and N should be assigned full 15-bit values, 15720 and 32750 respectively, in this
example.
The M and N divider values are programmable. The register programming sequence to
use the M:N clock divider is defined in Table 18-2.
Note: The M/N ratio cannot be changed when clock gating is enabled for the controller.
the data byte contains an even number of ones. The data frame ends with one, one-
and-one-half, or two stop bits (as programmed by users), which is represented by one
or two successive bit periods of a logic one.
1, 1.5, 2
Start Data bits 5-8 Parity Stop
One Character
The UART Host Controller Line Control Register (LCR) is used to control the serial
character characteristics. The individual bits of the data word are sent after the Start
bit, starting with the least significant bit (LSB). These are followed by the optional
parity bit, followed by the Stop bit(s), which can be 1, 1.5, or 2. The Stop bit duration
implemented by UART host controller may appear longer due to idle time inserted
between characters for some configurations and baud clock divisor values in the
transmit direction. All bit in the transmission (with exception to the half stop bit when
1.5 stop bits are used) are transmitted for exactly the same time duration (which is
referred to as Bit Period or Bit Time). One Bit Time equals to 16 baud clocks. To ensure
stability on the line, the receiver samples the serial input data at approximately the
midpoint of the Bit Time once the start bit has been detected.
8 16 16
Notes: 1) The UART 16550 8-bit Legacy mode only operates with PIO transactions. DMA
transactions are not supported in this mode.
2) When operating in the UART 16550 8-bit Legacy mode only the UART controller
registers are accessible. Access to other address regions of the SIO block related to
UART should be disabled by the BIOS programming PCICFGCTRL:PCI_CFG_DIS (bit 0)
to 1. UART0 (Device 30:Function 0) must not be used for legacy mode since
PCI_CFG_DIS=1 of Function 0 may block initialization of the other functions. To access
address regions outside of the UART Host control the UART 16550 8-bit Legacy mode
must be disabled first.
4) Power managing the device is not expected to be a function of the legacy driver and
the debug UART must be configured to be functional before OS handoff. This means the
controller will remain in D0 when configured for debug. It is invalid to program the
controller to D3 when the 8-bit aligned mode is configured. This means that S0ix entry,
if conditioned on power gating of SIO, would not occur.
1. Memory to peripheral transfers. This mode requires that the peripheral control the
flow of the data to itself.
2. Peripheral to memory transfer. This mode requires that the peripheral control the
flow of the data from itself.
1. Direct programming. Direct register writes to DMA registers to configure and initiate
the transfer.
2. Descriptor based linked list. The descriptors will be stored in memory (such as DDR
or SRAM). The DMA will be informed with the location information of the descriptor.
DMA initiates reads and programs its own register. The descriptors can form alinked list
for multiple blocks to be programmed.
18.1.9 Reset
Each host controller has an independent rest associated with it. Control of these resets
is accessed through the Reset Register. Each host controller and DMA will be in reset
state once powered off and require SW (BIOS or driver) to write into specific reset
register to bring the controller from reset state into operational mode.
1. Platform/HW Default Control. This scheme is used for usage models in which the
controller’s state correctly informs the platform of the current latency requirements. In
this scheme, the latency requirement is a function of the controller state. The latency
for transmitting data to/from its connected device at a given rate while the controller is
active is representative of the active latency requirements. On the other hand if the
device is not transmitting or receiving data and idle, there is no expectation for end to
end latency.
2. Driver Control. This scheme is used for usage models in which the controller state
does not inform the platform correctly of the current latency requirements. If the FIFOs
of the connected device are much smaller than the controller FIFOs, or the connected
device’s end to end traffic assumptions are much smaller than the latency to restore
the platform from low power state, driver control should be used.
18.1.11 Interrupts
UART interface has an interrupt line which is used to notify the driver that service is
required. When an interrupt occurs, the device driver needs to read both the host
controller and DMA status and TX completion interrupt registers to identify the
interrupt source. Clearing the interrupt is done with the corresponding interrupt
register in the host controller or DMA.
All interrupts are active high and their behavior is level interrupt. Controller interrupts
are enabled using the IER (Interrupt Enable Register) and read using the IIR (Interrupt
Identification Register)
CLEAR INTR
For the THRE interrupt to be
controlled as shown here, the
following must be true:
- FIFO_MODE != NONE
- THRE_MODE == enabled
- FIFOs enabled (FCR[0] == 1) Y
- THRE mode enabled (IER[7] == 1) FIFO LEVEL > TX
Empty Trigger?
N
THRE Interrupt
Enabled
Y
Under the condition that there
are no other pending SET INTR
interrupts, the interrupt signal
(intr) is asserted
N
FIFO LEVEL > TX
Empty Trigger?
The threshold level is programmed into FCR[5:4]. Available empty thresholds are:
Empty, 2, ¼ & ½. Selection of the best threshold value depends on the system's ability
to begin a new transmission sequence in a timely manner. However, one of these
thresholds should be optimal for increasing system performance by preventing the
transmitter FIFO from running empty. In addition to the interrupt change, the Line
Status Register (LSR[5]) also switches from indicating that the transmitter FIFO is
empty to the FIFO being full. This allows software to fill the FIFO for each transmit
sequence by polling LSR[5] before writing another character. The flow then allows the
transmitter FIFO to be filled whenever an interrupt occurs and there is data to transmit,
rather than waiting until the FIFO is completely empty. Waiting until the FIFO is empty
causes a reduction in performance whenever the system is too busy to respond
immediately. Further system efficiency is achieved when this mode is enabled in
combination with Auto Flow Control.
When Auto RTS is enabled, the RTS_N output is forced inactive (high) when the
receiver FIFO level reaches the threshold set by FCR[7:6], but only if the RTC flow-
control trigger is disabled. Otherwise, the RTS_N output is forced inactive (high) when
the FIFO is almost full, where “almost full” refers to two available slots in the FIFO.
When RTS_N is connected to the CTS_N input of another UART device, the other UART
stops sending serial data until the receiver FIFO has available space; that is, until it is
completely empty.
Since one additional character can be transmitted to the controller after RTS_N has
become inactive—due to data already having entered the transmitter block in the other
UART—setting the threshold to “2 less than full” allows maximum use of the FIFO with
a safety zone of one character.
Once the receiver FIFO becomes completely empty by reading the Receiver Buffer
Register (RBR), RTS_N again becomes active (low), signalling the other UART to
continue sending data.
When Auto CTS is enabled (active), controller transmitter is disabled whenever the
CTS_N input becomes inactive (high); this prevents overflowing the FIFO of the
receiving UART. If the CTS_N input is not inactivated before the middle of the last stop
bit, another character is transmitted before the transmitter is disabled. While the
transmitter is disabled, the transmitter FIFO can still be written to, and even
overflowed.
18.1.15 Registers
Note: Please refer to the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N
and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2
(Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for a description of the
registers associated with subject of this chapter.
Notes:
1. The controllers must only be programmed to operate in initiator mode only. I2C
target mode is not supported. Refer to Section 1.1.1 for more information on
initiator and target.
2. I2C multi initiators is not supported.
3. Simultaneous configuration of Fast Mode and Fast Mode Plus/High speed mode is
not supported.
4. I2C General Call is not supported.
The PCH controllers do not support mixed address and mixed address format (which
means a 7-bit address transaction followed by a 10-bit address transaction or vice
versa) combined format transaction.
18.2.5 Reset
Each host controller has an independent reset associated with it. Control of these
resets is accessed through the Reset Register.
Each host controller and DMA will be in reset state once powered ON and require SW
(BIOS or driver) to write into specific reset register to bring the controller from reset
state into operational mode.
Note: To avoid a potential I2C peripheral deadlock condition where the reset goes active in
the middle of a transaction, the I2C controller must be idle before a reset can be
initiated.
The controller’s latency tolerance reporting can be managed by one of the two following
schemes. The platform integrator must choose the correct scheme for managing
latency tolerance reporting based on the platform, OS and usage.
1. Platform/HW Default Control. This scheme is used for usage models in which the
controller’s state correctly informs the platform of the current latency
requirements.
2. Driver Control. This scheme is used for usage models in which the controller state
does not inform the platform correctly of the current latency requirements. If the
FIFOs of the connected device are much smaller than the controller FIFOs, or the
connected device’s end to end traffic assumptions are much smaller than the
latency to restore the platform from low power state, driver control should be used.
18.2.7 Interrupts
I2C interface has an interrupt line which is used to notify the driver that service is
required.
When an interrupt occurs, the device driver needs to read the host controller, DMA
interrupt status and TX completion interrupt registers to identify the interrupt source.
Clearing the interrupt is done with the corresponding interrupt register in the host
controller or DMA.
All interrupts are active high and their behavior is level triggered.
The formulas to calculate the high and low clock counts are:
HCNT=(T_SCL(high)-RC Delay)∙f_input
LCNT=(T_SCL(low)-RC Delay)∙f_input
For example, High Speed mode (3.4 Mbps), an input clock of 133 MHz, an RC delay of
100ns (1 kΩ*100pF), and a 50% SCL duty cycle requires:
The host controller programmable registers are labeled based on the bus speed mode,
for example IC_HS_SCL_HCNT is the SCL high count for High speed mode. For the
example above, the programmed values are:
IS_HS_SCL_HCNT = IS_HS_SCL_LCNT =7
18.2.10 Reference
Specification Location
2
The I C Bus Specification, Version 5 www.nxp.com/documents/user_manual/
UM10204.pdf?
18.2.11 Registers
Note: Please refer to chapter 14 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
The interfaces [2:0] support 2 devices each and consists of 5 wires: a clock (CLK), 2
chip selects (CS0 and CS1) and two data lines (MOSI and MISO).
The PCH SIO SPI supports full-duplex and half-duplex modes. The interface operates in
initiator mode only and supports serial bit rates up to 25Mb/s. Serial data formats may
range from 4 to 32 bits in length.
64 entry FIFOs. A processor access takes the form of programmed I/O, transferring
one FIFO entry per access. Processor accesses must always be 32 bits wide. Processor
writes to the FIFOs are 32 bits wide, but the PCH will ignore all bits beyond the
programmed FIFO data size. Processor reads to the FIFOs are also 32 bits wide, but the
receive data written into the Receive FIFO is stored with ‘0’ in the most significant bits
(MSB) down to the programmed data size.
The FIFOs can also be accessed by DMA, which must be in multiples of 1, 2, or 4 bytes,
depending upon the EDSS value, and must also transfer one FIFO entry per access.
For writes, the SIO SPI controller takes the data from the transmit FIFO, serializes it,
and sends it over the serial wire to the external peripheral. Receive data from the
external peripheral on the serial wire is converted to parallel words and stored in the
receive FIFO.
The formula to calculate the interface frequency with the controller's divider is:
Frequency = f_input/(SSCR0.SCR+1)
SSCR0.SCR = (f_input/Frequency)-1
The formula to calculate the interface frequency with the M:N ratio is:
Frequency = f_input*(M/N)
(SSCR0.SCR must be configured to be 0 in this configuration)
M = (Frequency*N)/100M
(M should be rounded to be closest integer, if necessary)
For example, a target frequency of 25MHz requires a divider ratio of 0.25, which
implies that M should be set to 0.25 of N. To achieve the lowest error margin, M and N
should be assigned full 15-bit values, 8190 and 32760 respectively, in this example.
The M and N divider values are programmable. The register programming sequence to
use the M:N clock divider is defined in Table 18-4.
Note: The M/N ratio cannot be changed when clock gating is enabled for the controller.
18.3.6 Reset
Each host controller has an independent rest associated with it. Control of these resets
is accessed through the Reset Register.
Each host controller and DMA will be in reset state once powered ON and require SW
(BIOS or driver) to write into the corresponding reset register to bring the controller
from reset state into operational mode.
• Platform/HW Default Control. This scheme is used for usage models in which the
controller’s state correctly informs the platform of the current latency
requirements. In this scheme, the latency requirement is a function of the
controller state. The latency for transmitting data to/from its connected device at a
given rate while the controller is active is representative of the active latency
requirements. On the other hand if the device is not transmitting or receiving data
and idle, there is no expectation for end to end latency.
• Driver Control. This scheme is used for usage models in which the controller state
does not inform the platform correctly of the current latency requirements. If the
FIFOs of the connected device are much smaller than the controller FIFOs, or the
connected device’s end-to-end traffic assumptions are much smaller than the
latency to restore the platform from low power state, driver control should be used.
18.3.8 Interrupts
SIO SPI interface has an interrupt line which is used to notify the driver that service is
required. When an interrupt occurs, the device driver needs to read both the host
controller and DMA interrupt status and transmit completion interrupt registers to
identify the interrupt source. Clearing the interrupt is done with the corresponding
interrupt register in the host controller or DMA. All interrupts are active high and their
behavior is level interrupt.
18.3.11 Registers
Note: Please refer to chapter 9 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
§§
19 Storage
EMMC_RST_N O Reset
The eMMC* main use case is to connect an on board external storage device.
The host controller implements additional logic for handling a door-bell based DMA for
the 32 descriptor / task list and manages the entire CQ flow which includes:
• Fetch and send the tasks/commands to device using existing logic
• Maintains context of each queued command
• Periodically read the device queue status & indicates completion of task to SW.
• Implements interrupt coalescing to reduce burden on software ISR.
§§
20 Clocking
The external clock sources for the PCH are 38.4MHz crystal clock and 32KHz RTC clock.
Source
Main PLL
DIV Clock Gate
(SCG)
Source
IOTG PLL
DIV Clock Gate
(SCG)
38.4 MHz
XTAL_IN
Source Clock
MIPI PLL DIV
Gate (SCG)
Source Clock
SATA PLL DIV
Gate (SCG)
38.4 MHz
XTAL_IN
Note: Phase Lock Loop (PLL). Hardware control systems used to generate stable output clock
frequencies.
pse_pll_ref_clk(19.2M)
IOSF PSF IOSF SB
PSE
pll_rgmii_tx_clk(125M) PSE PLL
LP LC-PLL
16K D$
pse_s0ix_clk (100MHz)
Trace TCU BIU
DIV2
pse_hbw_clk pse_main_clk(400MHz)
TRACEPORT[3:0]
pse_core_clk
ASYNC_BR
CCM IF
pse_cpu_fast_clk(500MHz)
core_clk_sel
pll_dll_clk(400M)
RGMII
SGMII
RGMII
SGMII
8192x32 8192x32
DLL DLL
ASYNC_BR
HH PMC I/F
PGSHIM
IPC TMR
LH2PSE
PMC, Audio, CSE Sideband Debug Trace
HPET RTC WDT PMU CCU
Endpoint (HH) Fabric
Low bandwidth OCP Fabric 0/1 (Register Slaves and Low BW devices) Max BW 400 MB/s
pse_hbw_clk pse_pll_ptp_clk(200M)
PSE
sata_pll_clk
1
gbe_soc_sgmii_tx_refclk
PLL (312.5/125) 0
mipi_pll_clk
rgmii_tx_clk CLK_DIV
pll_sel
(125) (1,5,50)
clk_tx_i_125
CLK_DIV
(1,5,50) rgmii_mode
MODPHY
GBE PSE 0/1
0
gbe_tx_clk GMII
DLL 1
GBE_TSN
GBE_TSN
RGMII RGMII
MAC
PCS clk_rx_i_125
(RGMII/
PHY SGMII)
(SGMII)
0
SGMII
gbe_rx_clk
DLL 1
ptp_ref_clk
rgmii_mode 0
pse_pll_ptp_clk (200M)
Core clock
400MHz = Host devices active (not in D3 or D0i3)
100MHz = Host devices inactive (D3 or D0i3)
ARM (Cortex-M7) core 500/400/100
Note: FW needs to switch the clock using
CORE_CLK_SEL.CLK_SELECT
Memory - DDR4
DDR_[1:0]_CLK_DP/DN Up to 1600 MHz
Memory - LPDDR4
LP4_[3:0]_CLK_DP/DN Up to 2133 MHz
Storage - eMMC
EMMC_CLK 2, 50, 200 MHz
DDI[2:0]_TXN3
Display - HDMI* DDI[2:0]_TXP3 19.2 MHz, 24 MHz, 38.4 MHz
(TMDS[2:0] Clock)
DDI0_TXN2
19.2MHz reference (CLK Frequency
Display - MIPI*DSI DDI0_TXP2
300-1066 MHz)
MIPIA Clock
DMIC_CLK_A0/B0
Audio - Digital Microphone 12MHz
DMIC_CLK_A1/B1
SIO_I2C[7:0]_SDA
SIO (LPSS) - I2C 100 KHz, 400 KHz, 1 MHz, 3.4 MHz
SIO_I2C[7:0]_SCL
SIO_SPI[2:0]_CLK
SIO (LPSS) - SPI Up to 25 MHz
SMB_CLK
SMBus Maximum 100 KHz
PMC_SUSCLK
SUSCLK 32.768 KHz
XTAL_IN
XTAL Source - XTAL Clock 38.4 MHz
XTAL_OUT
RTC_X[1,2]
XTAL Source - RTC Clock 32.768 KHz
ISI_I2CS_SCL
ISI I2C 3.4 MHz
ISI_I2CS_SDA
PSE_GBE0_RGMII_RXCLK
PSE_GBE0_RGMII_RXCTL
RGMII 125 MHz
PSE_GBE1_RGMII_RXCLK
PSE_GBE1_RGMII_RXCTL
20.5 Registers
Please refer to the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N
and J Series Processors for Internet of Things (IoT) Applications, Datasheet, Volume 2
(Book 1-3), for a description of the registers associated with other interface clocks.
§§
21.1 Overview
The General Purpose Input/Output (GPIO) signals are grouped into multiple groups.
For example, there are options in each GPIO's DW0.TERM register field for 1k & 5k wpu
(weak pull-up) and wpd (weak pull-down) resistors but these options are not supported
and should not be used.
The period can be programmed from 8 to 32768 times of the RTC clock by
programming the Pad Configuration DW2 register. At 32 kHz RTC clock, the debounce
period is 244us to 1s.
Before soft straps are loaded, the default voltage of each pin depends on its default as
input(GP_In) or output(GP_Out).
• Input: 1.8V and 3.3V.
• Output: the pin drives 3.3V via a ~20K pull-up.
Warning: GPIO pad voltage configuration must be set correctly depending on device connected to
it; otherwise, damage to the PCH or the device may occur.
Below are the PCH GPIOs that can be routed to generate SMI# or NMI:
• GP_B14, GP_B20, GP_B23
• GP_C[23:22]
• GP_D[4:0]
• GP_E[8:0], GP_E[16:13]
These three input event types are shown in Figure 21-1 – Figure 21-3. The level
associated with an input edge/event must be asserted for a period of at least three ART
clock ticks in order for the event to be recognized.
The output event type is selected using the Event Polarity (EP) field of the Control
(TGPIOCTL) register. There are three event types: rising pulse, falling pulse, or a single
toggle edge. When rising pulse is selected, the output signal is disabled by default and
the event enables output for a short interval. When falling pulse is selected, the output
signal is enabled by default and the event disables output for a short interval. The
interval for both rising and falling pulses is two (2) ART clock ticks. Rising and falling
output pulse types are shown in Figure 21-4 and Figure 21-5.
2 ART ticks
2 ART ticks
When toggle edge is selected, the event triggers a single edge changing the signal from
enabled to disabled or disabled to enabled depending on the current output state.
Toggle edge output is shown in Figure 21-6. The output event also triggers capture of
the current ART time in the Time Capture (TGPIOTCV) register in the same way
externally driven input events are captured.
When Time-Aware GPIO is configured for input the event count is used to determine if
the software missed an event. Input event counting is shown in Figure 21-1 –
Figure 21-3.
When Time-Aware GPIO is configured for periodic output, the event count is used to
determine the average output event period in terms of ART when software modulates
the output period. The cumulative average period can be calculated by dividing the ART
delta from the Time Capture register by the event count delta from the Event Counter
Capture register. Output event counting is shown in Figure 21-4 – Figure 21-6.
Synchronized periodic signals are used to align clocks between connected devices. A
pulse-per-second (PPS) signal is an example of such a periodic signal. A PPS signal is a
1 Hz square wave aligned to the system clock of the transmitter. The receiver uses the
PPS signal to align its clock to the system clock of the transmitting device. Other
frequencies, such as 1 kHz, may also be used. Each cycle of the signal provides a
synchronizing event to align the receiver clock, and as a result, a higher frequency
signal may result in more precise synchronization.
More information regarding the relationship between ART and TSC and the ART
frequency can be found in chapters 17.17.4 “Invariant Timekeeping” and 18.7.3
“Determining the Processor Base Frequency” of the Intel Software Developer’s Manual
(SDM), respectively.
Note: When Time-Aware GPIO is enabled, the crystal oscillator driving ART will not be shut
down because the crystal clock is needed for the Time-Aware GPIO operation. As a
result, PMC_SLP_S0_N will not be asserted. This affects platform power because S0ix
active idle states cannot be reached. For optimum power saving performance, software
should only enable Time-Aware GPIO when needed and disable it, using the control
register, when Time-Aware GPIO functionality is not required.
Note: A GPIO family supports pad driver impedance modification if the register field is
indicated as being RW (Read/Write) accessible.
FAM_CFG_Reg_xxx.STRSEL
FAM_RCOMP_A_DW0_Reg_xxx.PSTR
IOSSTATE Description
IOSSTERM Description
21.5 Registers
Please refer to chapter 21 of the Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J Series Processors for Internet
of Things (IoT) Applications, Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722), for description of
the registers associated with subject of this chapter.
§§
22.1 Overview
The Intel® Programmable Services Engine (Intel® PSE) is designed as an Asymmetric
Multi-Processing (AMP) system, comprising both an IA Processor core on the compute
die, and an Arm* Cortex*-M7 core based subsystem on the Platform Controller Hub.
The Arm* Cortex*-M7 core shall primarily be used by the IA Processor core as a target
(Refer to Section 1.1.1 for more information on target) co-processor for handling
firmware defined scenarios including, for example, real-time/latency-sensitive
applications, real-time industrial communication protocols or low-power industrial
sensing solutions.
In addition to the Arm* Cortex*-M7 core, the Intel® PSE also implements a number of
interfaces as described later in this chapter. Ownership of these interfaces can be
assigned to either the Arm* Cortex*-M7 or the IA Processor but not both.
Arm* Cortex*-M7
Controller (NVIC)
Ne ste d Vectored
MSI
CPU Core
Generator
Interrupt
16kB I-Cache 16kB D-Cache
Floating Point Unit Memory Protection
(FPU) Unit (MPU) Controller
Tightly Coupled Bus Interface IRQs
Debug
HPET
IPC
ATT
CCU
Memory (TCM) Unit (BIU)
PMU
RTC
IOSF-SB EP
Intel(R) PSE OCP Fabric @ 200MHz
ART
w. 64kB R F Memory
Clocks (LC-PLL)
GbE (w.TSN)
Dashboard
w. 16kB R OM
tGPIO
UART
PWM
GPIO
WDT
DMA
DMA
CAN
QEP
I2C
SPI
I2S
HSIO
16
60
40
2
4
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
SGMII
RGMII
or
External Interfaces Peripheral signals that are owned by the Intel® PSE are muxed with
GPIO pins that are owned by the Host CPU.
I2C, SPI, UART, PWM, QEP, GbE, CAN, TGPIO are blocks within Intel®
PSE configurable from GPIO cluster.
Soft Straps Various soft straps are required and provisioned for configuration of
Intel® PSE.
Protected Region of Main Region to which the Intel® PSE can read/write and no other device
Memory
can read/write other than the secure agent (refers to CSE/BIOS).
This is the IMR (Isolated Memory Region) area allocated for Intel®
PSE/secure-agent access.
System Memory Space Intel® PSE is a multi-function device supporting 36 PCI device-
functions. Each function has pre-defined MMIO space and is enabled
and mapped via its corresponding PCI configuration space.
PCI configuration space Region within the processor’s PCI configuration space on Bus 0.
Interrupt Intel® PSE asserts IRQx (BIOS configured) to ATOM. Intel® PSE also
sends MSI (with multi-message capability) to ATOM. The interrupt
delivery mechanism (MSI vs IRQ) is to be setup by BIOS by
programming the interrupt delivery register.
22.5.1 Overview
The Arm* Cortex*-M7 is a highly efficient high-performance, embedded processor that
features low interrupt latency, low-cost debug, and has backwards compatibility with
existing Cortex-M profile processors.
The Arm* Cortex*-M7 will run pre-compiled firmware that will be provisioned as part of
the IFWI (Integrated Firmware Image) present on either the SPI or flash storage
device(s). The firmware defines the persona (function) of the Intel® PSE & the
interfaces owned by the Arm* Cortex*-M7.
22.6 L2 SRAM
22.6.1 Overview
The Intel® PSE supports 1MB of L2 SRAM with the following features:
• 32kB bank size
• Full 1MB usable by Arm* Cortex*-M7 core for Intel® PSE firmware that is larger
than the 384kB Core Coupled Memory SRAM.
• 128kB per Intel® PSE GbE controller usable by the IA Processor only if enabled by
Intel® PSE firmware, for network proxy functionality
• SEC-DED ECC protection for single bit error correction and double bit error
detection. Errors are reported to the Arm* Cortex*-M7 core as a NMI and memory
address.
• 200MHz clock frequency
• Bank level power gating in D0i3
LCPLL integrated in the ungated domain of the OSE main partition. The LC PLL will be
powered up by a separate power rail (V1P05_IS) and a reference clock of 38.4 Mhz
(lcpll_ref_xtal_clk). The PLL is controlled by PSE FW through configuration registers in
PMU which has the interface to the PLL for the power up sequence captured in the PLL
specification. The PLL also has a Configuration Register Interface (CRI), which will be
accessible to PSE FW through fabric.
The PLL in OSE will be configured to generate a 6 GHz clock which is further divided to
500 Mhz, 400 Mhz, 200 MHz and 125 MHz clocks using a post divider Hard IP. These
clocks are further used by the Clock Control Unit to generate the clocks listed above.
If the IP is owned by PSE, then the clock gate enable configuration register for that IP
is present in CCU. For all HOST owned IPs, the clock gate enable configuration registers
are part of the MMIO space of the device register accessible to the HOST driver. When
IP ownership is NULL, then IP is permanently clock gated.
If the IP is owned by PSE, then the soft reset enable configuration register for that IP is
present in PSE CCU. Similarly, for all HOST owned IPs, the soft reset enable
configuration registers are part of the IP MMIO address accessible only to the HOST
driver.
Note: AON memory has to be explicitly scrubbed (write 0) by ROM/PSE-FW before it can be
used. There is no HW based scrubbing logic for the AON memory.
22.11 Timer
22.11.1 Functional Description
The Intel® PSE includes several timers and time-related functions, as shown in the
following table:
HPET Periodic Timer 32 kHz One of the timers available in the HPET. This generates
an interrupt at a periodic rate. The Intel® PSE
firmware can use this scheduling periodic events, such
as a sensor that must be sampled every 20
milliseconds
HPET One Shot 32 kHz Two of the timers available in the HPET. Each can
(two instances) cause the HPET interrupt at a specific number of
clocks in the future (countdown style).
Watchdog Timer 100 MHz The Watchdog Timer generates an interrupt if the
Intel® PSE firmware fails to reload the timer within the
specific amount of time and generates a reset if the
firmware fails to service the WDT interrupt after a
specific time. This can detect some lockups in the
firmware. The second catastrophic WDT timer
interrupt is routed to PMC to potentially create a global
reset, if deemed necessary.
Time Synchronization 19.2 MHz Time Synchronization local copy of the global ART
Local ART timer.
Real Time Clock 32 kHz The Real Time Clock is used by software to find the
number of clock ticks since the platform has booted,
and may be used for timestamps of events and to
track the passage of times. There are no controls to
stop/reset/restart this timer and there are no
provisions for interrupts associated with this counter.
The RTC, however, is NOT within the Intel® PSE. ARM
can access RTC via initiating Private Control Register
read/writes to 0x70/71, by using the Sideband
endpoint within the Intel® PSE.
0b010-0b111 NA NA NA NA
Table 22-4. Intel® PSE ARM Interrupt And MSI Vector Mapping (Sheet 1 of 3)
ARM IRQ MSI Vector
Module Name Interrupt Name
No. No.
DMA1_Interrupt 12 5'b00000
DMA2_Interrupt 13 5'b00000
GPIO1_interrupt 16 5'b00000
GPIO1_timed_interrupt 18 5'b00001
HPET1_intr 20 N/A
HPET2_intr 21 N/A
I2C1_intr 27 5'b00000
I2C2_intr 28 5'b00000
2
I C3_intr 29 5'b00000
I2C4_intr 30 5'b00000
2
I C5_intr 31 5'b00000
I2C6_intr 32 5'b00000
I2C7_intr 33 5'b00000
SPI1_intr 35 5'b00000
SPI2_intr 36 5'b00000
SPI3_intr 37 5'b00000
UART1_intr 39 5'b00000
Table 22-4. Intel® PSE ARM Interrupt And MSI Vector Mapping (Sheet 2 of 3)
ARM IRQ MSI Vector
Module Name Interrupt Name
No. No.
UART2_intr 40 5'b00000
UART3_intr 41 5'b00000
UART4_intr 42 5'b00000
UART5_intr 43 5'b00000
Timer1_intr 45 5'b00001
QEP1_intr 47 5'b00000
QEP2_intr 48 5'b00000
QEP3_intr 49 5'b00000
2
I S I2S0_intr 51 5'b00000
I2S1_intr 52 5'b00000
CAN1_int 54 5'b00000
MAC_IRQ 59 5'b11101
Queue_TX0_IRQ 60 5'b00001
Queue_TX1_IRQ 61 5'b00011
Queue_TX2_IRQ 62 5'b00101
Queue_TX3_IRQ 63 5'b00111
Queue_TX4_IRQ 64 5'b01001
Queue_TX5_IRQ 65 5'b01011
Queue_TX6_IRQ 66 5'b01101
Queue_TX7_IRQ 67 5'b01111
Queue_RX0_IRQ 68 5'b00000
Queue_RX1_IRQ 69 5'b00010
Queue_RX2_IRQ 70 5'b00100
Queue_RX3_IRQ 71 5'b00110
Queue_RX4_IRQ 72 5'b01000
Queue_RX5_IRQ 73 5'b01010
Queue_RX6_IRQ 74 5'b01100
Queue_RX7_IRQ 75 5'b01110
Table 22-4. Intel® PSE ARM Interrupt And MSI Vector Mapping (Sheet 3 of 3)
GBE1 NETPROX_IRQ 76 5'b11000
MAC_IRQ 80 5'b11101
Queue_TX0_IRQ 81 5'b00001
Queue_TX1_IRQ 82 5'b00011
Queue_TX2_IRQ 83 5'b00101
Queue_TX3_IRQ 84 5'b00111
Queue_TX4_IRQ 85 5'b01001
Queue_TX5_IRQ 86 5'b01011
Queue_TX6_IRQ 87 5'b01101
Queue_TX7_IRQ 88 5'b01111
Queue_RX0_IRQ 89 5'b00000
Queue_RX1_IRQ 90 5'b00010
Queue_RX2_IRQ 91 5'b00100
Queue_RX3_IRQ 92 5'b00110
Queue_RX4_IRQ 93 5'b01000
Queue_RX5_IRQ 94 5'b01010
Queue_RX6_IRQ 95 5'b01100
Queue_RX7_IRQ 96 5'b01110
*DASHBOARD: Intel® PSE integrates dashboard block to support SIIP boot-flow. The
dashboard block has set of registers that are used by BIOS to communicate with Intel®
PSE ROM/FW for Intel® PSE boot.
*SBEP: Sideband Endpoint, allows messaging to/from peer agents like Boot Prep from
PMC, Time Sync from ART
The messages are stored in a parity protected RAM connected to the controller.
All functions concerning the handling of messages are implemented by the Rx Handler
and the Tx Handler. The Rx Handler manages message acceptance filtering, the
transfer of received messages from the controller to the Message RAM as well as
providing receive message status information. The Tx Handler is responsible for the
transfer of transmit messages from the Message RAM to the controller as well as
providing transmit status information. It implements all functions concerning the time
schedule and the global system time.
The CAN serial bit rate for each CAN instance is configured by software through the
TTCAN_CSR.BTP (standard CAN bit time) and TTCAN_CSR.FBTP (CAN FD fast bit time)
registers.
The message RAM is used to store the CAN message filter elements, receive and
transmit FIFO's and buffers, the transmit event FIFO and the TTCAN trigger memory.
The CAN controller IP itself contains very little data storage, it uses the message RAM
as its local storage.
The message RAM memory is organized in 32b words, with two extra bits (total of 34b
per address location) for storing parity. The parity bits are not visible to software, but is
instead under the control of the DBY_CAN parity logic (2.4).
The registers CTL_CSR.MSG_RAM_SIZE allow software to detect the size of the CAN[0/
1] message RAM.
Figure below show the size and breakdown of the MSG_RAM allocation for CAN0/1.
Configuration of TTCAN_CSR registers space controls which region of the message RAM
they use for which CAN function (i.e. RX_FIFO0, TX Buffers, and so on).
Table 22-5. Size and breakdown of the MSG_RAM allocation for CAN[0/1] message RAM
Numb. elements Size words Bytes Bits
Afterwards the Bit Stream Processor BSP synchronizes itself to the data transfer on the
CAN bus by waiting for the occurrence of a sequence of 11 consecutive recessive bits (?
Bus_Idle) before it can take part in bus activities and start the message transfer.
The module default operating mode after hardware reset is event-driven CAN
communication without time triggers (TTOCF.OM = “00”). It is required that both
CCCR.INIT and CCCR.CCE are set before the TT Operation Mode can be changed.
Once the controller is initialized and CCCR.INIT is reset to zero, the controller
synchronizes itself to the CAN bus and is ready for communication.
After passing the acceptance filtering, received messages including Message ID and
DLC are stored into a dedicated Rx Buffer or into Rx FIFO 0 or Rx FIFO 1.
There are two variants in the CAN FD frame format, first the CAN FD frame without bit
rate switching where the data field of a CAN frame may be longer than 8 bytes. The
second variant is the CAN FD frame where control field, data field, and CRC field of a
CAN frame are transmitted with a higher bit rate than the beginning and the end of the
frame.
When initialization is left (CCCR.INIT set to '0'), the CAN FD protocol option is inactive,
it has to be requested by writing to CCCR.CMR.
A mode change requested by writing to CCCR.CMR will be executed next time the CAN
protocol controller FSM reaches idle phase between CAN frames. Upon this event
CCCR.CMR is reset to “00” and the status flags CCCR.FDBS and CCCR.FDO are set
accordingly. In case the requested CAN operation mode is not enabled, the value
written to CCCR.CMR is retained until it is overwritten by the next mode change
request. Default is CAN operation according to ISO11898-1.
It is not necessary to change the CAN operation mode after system startup. A mode
change during CAN operation is only recommended under the following conditions:
• The failure rate in the CAN FD data phase is significant higher than in the CAN FD
arbitration phase. In this case disable the CAN FD bit rate switching option for
transmissions.
• During system startup all nodes are transmitting according to ISO11898-1 until it is
verified that they are able to communicate in CAN FD format. If this is true, all
nodes switch to CAN FD operation.
• End-of-line programming in case not all nodes are CAN FD capable. Non CAN FD
nodes are held in silent mode until programming has completed. Then all nodes
switch back to CAN communication according ISO11898-1.
When CCCR.CME != “00”, received CAN FD frames are interpreted according to the CAN
FD Protocol Specification. The reserved bit in CAN frames with 11-bit identifiers and the
first reserved bit in CAN frames with 29-bit identifiers will be decoded as EDL bit. EDL =
recessive signifies a CAN FD frame, EDL = dominant signifies a standard CAN frame. In
a CAN FD frame, the two bits following EDL, r0 and BRS, decide whether the bit rate
inside of this CAN FD frame is switched. A CAN FD bit rate switch is signified by r0 =
dominant and BRS = recessive. The coding of r0 = recessive is reserved for future
expansion of the protocol.
Reception of CAN frames according to ISO 11898-1 is possible in all CAN operation
modes.
The status bits CCCR.FDO and CCCR.FDBS indicate the format of transmitted frames.
When CCCR.FDO is set, frames will be transmitted in CAN FD format with EDL =
recessive. When both CCCR.FDO and CCCR.FDBS are set, frames will be transmitted in
CAN FD format with bit rate switching and both bits EDL and BRS = recessive.
In the CAN FD format, the coding of the DLC differs from the standard CAN format. The
DLC codes 0 to 8 have the same coding as in standard CAN, the codes 9 to 15, which in
standard CAN all code a data field of 8 bytes, are coded according to the following
table.
DLC 9 10 11 12 13 14 15
In CAN FD frames, the bit timing will be switched inside the frame, after the BRS (Bit
Rate Switch) bit, if this bit is recessive. Before the BRS bit, in the CAN FD arbitration
phase, the standard CAN bit timing is used as defined by the Bit Timing & Prescaler
Register BTP. In the following CAN FD data phase, the fast CAN bit timing is used as
defined by the Fast Bit Timing & Prescaler Register FBTP. The bit timing is switched back
from the fast timing at the CRC delimiter or when an error is detected, whichever
occurs first.
The maximum configurable bit rate in the CAN FD data phase depends on the CAN
clock frequency. Example: with a CAN clock frequency of 20MHz and the shortest
configurable bit time of 4 Time Quanta (TQ), the bit rate in the data phase is 5 Mbit/s.
In both data frame formats, CAN FD long and CAN FD fast, the value of the bit ESI
(Error Status Indicator) is determined by the transmitter's error state at the start of the
transmission. If the transmitter is error passive, ESI is transmitted recessive, else it is
transmitted dominant.
22.13.4.5 Description
The CAN FD protocol unit has implemented a delay compensation mechanism to
compensate the CAN transceiver's loop delay, thereby enabling transmission with
higher bit rates during the CAN FD data phase independent of the delay of a specific
CAN transceiver.
Within each CAN FD frame, the transmitter measures the delay between the data
transmitted at pin CAN controller transmitter and the data received at pin CAN
controller receiver. The measurement is done once, at the falling edge of bit EDL to bit
r0. The delay is measured in CAN clock frequency periods.
To check for bit errors during the data phase, the delayed transmit data is compared
against the received data at the secondary sample point. If a bit error is detected at the
secondary sample point, the transmitter will react to this bit error at the next following
regular sample point. During arbitration phase the delay compensation is always
disabled.
For the transceiver delay compensation the following boundary conditions have to be
considered:
• The sum of the measured delay from CAN controller transmitter to CAN controller
receiver and the configured transceiver delay compensation offset FBTP.TDCO has
to be less than 3 bit times in the data phase.
• The sum of the measured delay from CAN controller transmitter to CAN controller
receiver and the configured transceiver delay compensation offset FBTP.TDCO has
to be less or equal 63 CAN controller clock periods. In case this sum exceeds 63
CAN controller clock periods, the maximum value of 63 periods is used for
transceiver delay compensation.
bit (ACK bit, overload flag, active error flag), the bit is rerouted internally so that the
CAN controller monitors this dominant bit, although the CAN bus may remain in
recessive state. In Bus Monitoring Mode register TXBRP is held in reset state.
The Bus Monitoring Mode can be used to analyze the traffic on a CAN bus without
affecting it by the transmission of dominant bits. The following figure shows the
connection of signals PSE_CANx_TX and PSE_CANx_RX to the CAN controller in Bus
Monitoring Mode.
=1
Tx Rx
CAN Controller
In DAR mode all transmissions are automatically canceled after they started on the
CAN bus. A Tx Buffer's Tx Request Pending bit TXBRP.TRPx is reset after successful
transmission, when a transmission has not yet been started at the point of cancellation,
has been aborted due to lost arbitration, or when an error occurred during frame
transmission.
• Successful transmission:
Corresponding Tx Buffer Transmission Occurred bit TXBTO.TOx set
Corresponding Tx Buffer Cancellation Finished bit TXBCF.CFx not set
• Successful transmission in spite of cancellation:
Corresponding Tx Buffer Transmission Occurred bit TXBTO.TOx set
Corresponding Tx Buffer Cancellation Finished bit TXBCF.CFx set
• Arbitration lost or frame transmission disturbed:
Corresponding Tx Buffer Transmission Occurred bit TXBTO.TOx not set
Corresponding Tx Buffer Cancellation Finished bit TXBCF.CFx set
Four output functions are available for the CAN transmit pin PSE_CANx_TX by
programming TEST.TX. Additionally to its default function - the serial data output - it
can drive the CAN Sample Point signal to monitor the CAN controller's bit timing and it
can drive constant dominant or recessive values. The actual value at pin PSE_CANx_RX
can be read from TEST.RX. Both functions can be used to check the CAN bus' physical
layer.
Due to the synchronization mechanism between CAN clock and Host clock domain,
there may be a delay of several Host clock periods between writing to TEST.TX until the
new configuration is visible at output pin PSE_CANx_TX. This applies also when reading
input pin PSE_CANx_RX via TEST.RX.
Note: Test modes should be used for production tests or self test only. The software
control for pin PSE_CANx_TX interferes with all CAN protocol functions. It is not
recommended to use test modes for application.
The CAN controller can be set in External Loop Back Mode by programming TEST.LBCK
to one. In Loop Back Mode, the CAN controller treats its own transmitted messages as
received messages and stores them (if they pass acceptance filtering) into an Rx Buffer
or an Rx FIFO. Figure 22-3 shows the connection of signals PSE_CANx_TX and
PSE_CANx_RX to the CAN controller in External Loop Back Mode.
Internal Loop Back Mode is entered by programming bits TEST.LBCK and CCCR.MON to
one. This mode can be used for a "Hot Selftest", meaning the CAN controller can be
tested without affecting a running CAN system connected to the pins PSE_CANx_TX
and PSE_CANx_RX. In this mode pin PSE_CANx_RX is disconnected from the CAN
controller and pin PSE_CANx_TX is held recessive (held high). The following figure
shows the connection of PSE_CANx_TX and PSE_CANx_RX to the CAN controller in case
of Internal Loop Back Mode.
=1
Tx Rx Tx Rx
22.13.5 Rx Handling
The Rx Handler controls the acceptance filtering, the transfer of received messages to
the Rx Buffers or to one of the two Rx FIFOs, as well as the Rx FIFO’s Put and Get
Indices.
Depending on the configuration of the filter element (SFEC/EFEC) a match triggers one
of the following actions:
• Store received frame in FIFO 0 or FIFO 1
• Store received frame in Rx Buffer
• Store received frame in Rx Buffer and generate pulse at filter event pin
• Reject received frame
• Set High Priority Message interrupt flag IR.HPM
• Set High Priority Message interrupt flag IR.HPM and store received frame in FIFO 0
or FIFO 1
Acceptance filtering is started after the complete identifier has been received. After
acceptance filtering has completed, and if a matching Rx Buffer or Rx FIFO has been
found, the Message Handler starts writing the received message data in portions of 32
bit to the matching Rx Buffer or Rx FIFO. If the CAN protocol controller has detected an
error condition (e.g. CRC error), this message is discarded with the following impact on
the affected Rx Buffer or Rx FIFO:
Rx Buffer
New Data flag of matching Rx Buffer is not set, but Rx Buffer (partly) overwritten with
received data. For error type see PSR.LEC respectively PSR.FLEC.
Rx FIFO
Put index of matching Rx FIFO is not updated, but related Rx FIFO element (partly)
overwritten with received data. For error type see PSR.LEC respectively PSR.FLEC. In
case the matching Rx FIFO is operated in overwrite mode, the boundary conditions
described in Section 22.13.5.2.2 have to be considered.
Note: When an accepted message is written to one of the two Rx FIFOs, or into an Rx
Buffer, the unmodified received identifier is stored independent of the filter(s) used.
The result of the acceptance filter process is strongly depending on the sequence of
configured filter elements.
The filter matches for all received frames with Message IDs in the range defined by
SF1ID/SF2ID resp. EF1ID/EF2ID.
There are two possibilities when range filtering is used together with extended frames:
EFT = “00”: The Message ID of received frames is ANDed with the Extended ID AND
Mask (XIDAM) before the range filter is applied
EFT = “11”: The Extended ID AND Mask (XIDAM) is not used for range filtering
A filter element can be configured to filter for one or two specific Message IDs. To filter
for one specific Message ID, the filter element has to be configured with SF1ID = SF2ID
resp. EF1ID = EF2ID.
Classic bit mask filtering is intended to filter groups of Message IDs by masking single
bits of a received Message ID.With classic bit mask filtering SF1ID/EF1ID is used as
Message ID filter, while SF2ID/EF2ID is used as filter mask.
A zero bit at the filter mask will mask out the corresponding bit position of the
configured ID filter, e.g. the value of the received Message ID at that bit position is not
relevant for acceptance filtering. Only those bits of the received Message ID where the
corresponding mask bits are one are relevant for acceptance filtering.
In case all mask bits are one, a match occurs only when the received Message ID and
the Message ID filter are identical. If all mask bits are zero, all Message IDs match.
Figure 22-4 shows the flow for standard Message ID (11-bit Identifier) filtering. The
Standard Message ID Filter element is described in Datasheet Volume 2, (Book 3).
Controlled by the Global Filter Configuration GFC and the Standard ID Filter
Configuration SIDFC Message ID, Remote Transmission Request bit (RTR), and the
Identifier Extension bit (IDE) of received frames are compared against the list of
configured filter elements.
11 bit 29 bit
11/29 bit identifier
no
reject
Match filter element
Acceptance/rejection
#SIDFC.LSS yes
accept
no
no
Figure 22-5 shows the flow for extended Message ID (29-bit Identifier) filtering. The
Extended Message ID Filter element is described in Datasheet Volume 2, (Book 3).
Controlled by the Global Filter Configuration GFC and the Extended ID Filter
Configuration XIDFC Message ID, Remote Transmission Request bit (RTR), and the
Identifier Extension bit (IDE) of received frames are compared against the list of
configured filter elements.
The Extended ID AND Mask XIDAM is ANDed with the received identifier before the
filter list is executed.
29 bit 11 bit
11/29 bit identifier
no
reject
Match filter element
Acceptance/rejection
yes #SIDFC.LSS
accept
no
no
22.13.5.2 Rx FIFOs
Rx FIFO 0 and Rx FIFO 1 can be configured to hold up to 64 elements each.
Configuration of the two Rx FIFOs is done via registers RXF0C and RXF1C.
Received messages that passed acceptance filtering are transferred to the Rx FIFO as
configured by the matching filter element. For a description of the filter mechanisms
available for Rx FIFO 0 and Rx FIFO 1, see Section 22.13.5.1. The Rx FIFO element is
described in Datasheet Volume 2, (Book 3).
To avoid an Rx FIFO overflow, the Rx FIFO watermark can be used. When the Rx FIFO
fill level reaches the Rx FIFO watermark configured by RXFnC.FnWM, interrupt flag
IR.RFnW is set. When the Rx FIFO Put Index reaches the Rx FIFO Get Index an Rx FIFO
Full condition is signalled by RXFnS.FnF. In addition interrupt flag IR.RFnF is set.
Get Index
7 0
6 1
5 2
Put Index 4 3
Fill Level
When reading from an Rx FIFO, Rx FIFO Get Index RXFnS.FnGI • FIFO Element Size
has to be added to the corresponding Rx FIFO start address RXFnC.FnSA.
000 8 4
001 12 5
010 16 6
011 20 7
100 24 8
101 32 10
110 48 14
111 64 18
The Rx FIFO blocking mode is configured by RXFnC.FnOM = ‘0’. This is the default
operation mode for the Rx FIFOs.
In case a message is received while the corresponding Rx FIFO is full, this message is
discarded and the message lost condition is signalled by RXFnS.RFnL = ‘1’. In addition
interrupt flag IR.RFnL is set.
Rx FIFO Full
RXFnS.FnPI Rx FIFO Overwrite Element 0
=RXFnS.FnGI overwritten
7 0 7 0 RXFnS.FnPI
= RXFnS.FnGI
6 6 1
1
5 2 5 2
4 3 4 3
After reading from the Rx FIFO, the number of the last element read has to be written
to the Rx FIFO Acknowledge Index RXFnA.FnA. This increments the get index to that
element number. In case the put index has not been incremented to this Rx FIFO
element, the Rx FIFO full condition is reset (RXFnS.FnF = ‘0’).
For each Rx Buffer a Standard or Extended Message ID Filter Element with SFEC / EFEC
= “111” and SFID2 / EFID2[10:9] = “00” has to be configured.
After a received message has been accepted by a filter element, the message is stored
into the Rx Buffer in the Message RAM referenced by the filter element. The format is
the same as for an Rx FIFO element. In addition the flag IR.DRX (Message stored in
Dedicated Rx Buffer) in the interrupt register is set.
0 ID message 1 00 00 0000
1 ID message 2 00 00 0001
2 ID message 3 00 00 0010
After the last word of a matching received message has been written to the Message
RAM, the respective New Data flag in register NDAT1,2 is set. As long as the New Data
flag is set, the respective Rx Buffer is locked against updates from received matching
frames. The New Data flags have to be reset by the Host by writing a ‘1’ to the
respective bit position.
While an Rx Buffer’s New Data flag is set, a Message ID Filter Element referencing this
specific Rx Buffer will not match, causing the acceptance filtering to continue. Following
Message ID Filter Elements may cause the received message to be stored into another
Rx Buffer, or into an Rx FIFO, or the message may be rejected, depending on filter
configuration.
22.13.6 Tx Handling
The Tx Handler handles transmission requests for the dedicated Tx Buffers and the Tx
FIFO. It controls the transfer of transmit messages to the CAN Core, the Put and Get
Indices, and the Tx Event FIFO. Up to 32 Tx Buffers can be set up for message
transmission. The Tx Buffer element is described in Datasheet Volume 2, (Book 3).
The Tx Handler starts a Tx scan to check for the highest priority pending Tx request (Tx
Buffer with lowest Message ID) when the Tx Buffer Request Pending register TXBRP is
updated, or when a transmission has been started.
If e.g. CAN ECU-1 has the transmit pause feature enabled and is requested by its
application software to transmit four messages, it will, after the first successful
message transmission, wait for two CAN bit times of bus idle before it is allowed to
start the next requested message. If there are other ECUs with pending messages,
those messages are started in the idle time, they would not need to arbitrate with the
next message of ECU-1. After having received a message, ECU-1 is allowed to start its
next transmission as soon as the received message releases the CAN bus.
The transmit pause feature is controlled by bit CCCR.TXP. If the bit is set, the CAN
controller will, each time it has successfully transmitted a message, pause for two CAN
bit times before starting the next transmission. This enables other CAN nodes in the
network to transmit messages even if their messages have lower prior identifiers.
Default is transmit pause disabled (CCCR.TXP = ‘0’).
This feature looses up burst transmissions coming from a single node and it protects
against “babbling idiot” scenarios where the application program erroneously requests
too many transmissions.
If the data section has been updated, a transmission is requested by an Add Request
via TXBAR.ARn. The requested messages arbitrate internally with messages from an
optional Tx FIFO and externally with messages on the CAN bus, and are sent out
according to their Message ID.
A Dedicated Tx Buffer allocates Element Size 32-bit words in the Message RAM (see
Table 22-10). Therefore the start address of a dedicated Tx Buffer in the Message RAM
is calculated by adding transmit buffer index (0…31) • Element Size to the Tx Buffer
Start Address TXBC.TBSA.
000 8 4
001 12 5
010 16 6
011 20 7
100 24 8
101 32 10
110 48 14
111 64 18
22.13.6.3 Tx FIFO
Tx FIFO operation is configured by programming TXBC.TFQM to ‘0’. Messages stored in
the Tx FIFO are transmitted starting with the message referenced by the Get Index
TXFQS.TFGI. After each transmission the Get Index is incremented cyclically until the
Tx FIFO is empty. The Tx FIFO enables transmission of messages with the same
Message ID from different Tx Buffers in the order these messages have been written to
the Tx FIFO. The CAN controller calculates the Tx FIFO Free Level TXFQS.TFFL as
difference between Get and Put Index. It indicates the number of available (free) Tx
FIFO elements.
New transmit messages have to be written to the Tx FIFO starting with the Tx Buffer
referenced by the Put Index TXFQS.TFQPI. An Add Request increments the Put Index to
the next free Tx FIFO element. When the Put Index reaches the Get Index, Tx FIFO Full
(TXFQS.TFQF = ‘1’) is signalled.
In this case no further messages should be written to the Tx FIFO until the next
message has been transmitted and the Get Index has been incremented.
When multiple (n) messages are added to the Tx FIFO, they are written to n
consecutive Tx Buffers starting with the Put Index. The transmissions are then
requested via TXBAR. The Put Index is then cyclically incremented by n. The number of
requested Tx buffers should not exceed the number of free Tx Buffers as indicated by
the Tx FIFO Free Level.
When a transmission request for the Tx Buffer referenced by the Get Index is cancelled,
the Get Index is incremented to the next Tx Buffer with pending transmission request
and the Tx FIFO Free Level is recalculated. When transmission cancellation is applied to
any other Tx Buffer, the Get Index and the FIFO Free Level remain unchanged.
A Tx FIFO element allocates Element Size 32-bit words in the Message RAM (see Table
22-10). Therefore the start address of the next available (free) Tx FIFO Buffer is
calculated by adding Tx FIFO/Queue Put Index TXFQS.TFQPI (0…31) • Element Size to
the Tx Buffer Start Address TXBC.TBSA.
The Tx Event FIFO can be configured to a maximum of 32 elements. The Tx Event FIFO
element is described in Datasheet Volume 2, (Book 3).
When a Tx Event FIFO full condition is signalled by IR.TEFF, no further elements are
written to the Tx Event FIFO until at least one element has been read out and the Tx
Event FIFO Get Index has been incremented. In case a Tx event occurs while the Tx
Event FIFO is full, this event is discarded and interrupt flag IR.TEFL is set.
To avoid a Tx Event FIFO overflow, the Tx Event FIFO watermark can be used. When
the Tx Event FIFO fill level reaches the Tx Event FIFO watermark configured by
TXEFC.EFWM, interrupt flag IR.TEFW is set.
When reading from the Tx Event FIFO, two times the Tx Event FIFO Get Index
TXEFS.EFGI has to be added to the Tx Event FIFO start address TXEFC.EFSA.
22.13.9 Registers
Please refer to chapter 7 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel®
PSE) (Document Number: 636723), for a description of the registers associated with
subject of this chapter.
22.14.1 Overview
I2C is a two-wire, bi-directional serial bus that provides simple and efficient method of
data transmission over a short distance between many devices. I2C is used typically for
connecting the Intel® PSE to external sensor devices, such as accelerometers,
gyroscopes, ambient light sensors, and so on.
There are 8 instances of I2C controllers. These controllers are completely independent
of each other: they do not share any pins, memory spaces, or interrupts. They can be
independently clock gated.
The Intel® PSE I2C host controllers share the same general specifications:
• Initiator Mode Only (all peripherals must be target devices)
• Support for the following operating speeds:
— Standard mode:100 kbps
— Fast Mode: 400 kbps
— Fast Mode Plus:1000 kbps
— High Speed Mode:3400 kbps with max. 100pf load
• Arbitration and clock synchronization
• Support for both 7-bit and 10-bit addressing formats on the I2C bus
• FIFO of 64 bytes with programmable watermarks/thresholds
• DMA HW hook for Tx/Rx FIFO fill/drain.
22.14.2 Features
I2C Controller have the following features:
• Two-wire I2C serial interface C consists of a serial data line (SDA) and a serial clock
(SCL)
• Three speeds:
— Standard mode (0 to 100 Kb/s)
— Fast mode (≤ 400 Kb/s) or fast mode plus (≤ 1000 Kb/s)1
— High-speed mode (≤ 3.4 Mb/s)
• Clock synchronization
• Initiator I2C operation
• 7- or 10-bit addressing
• 7- or 10-bit combined format transfers
• Bulk transmit mode
• Ignores CBUS addresses (an older ancestor of I2C that used to share the I2C bus)
• Transmit and receive buffers
• Interrupt or polled-mode operation
• Handles Bit and Byte waiting at all bus speeds
• Simple software interface consistent with DesignWare APB peripherals
• Component parameters for configurable software driver support
• DMA handshaking interface compatible with the DMA Controller handshaking
interface
• Programmable SDA hold time (tHD;DAT)
• Bus clear feature
• Device ID feature
• SMBus/PMBus support
• SMBus Target detects and responds to ARP commands.
The I2C controller module can operate in standard mode (with data rates 0 to 100 Kb/
s), fast mode (with data rates less than or equal to 400 Kb/s), fast mode plus (with
data rates less than or equal to 1000 Kb/s), and high-speed mode (with data rates less
than or equal to 3.4 Mb/s).
The I2C controller can communicate with devices only of these modes as long as they
are attached to the bus. Additionally, high-speed mode and fast mode devices are
downward compatible. For instance, high-speed mode devices can communicate with
fast mode and standard mode devices in a mixed-speed bus system; fast mode devices
can communicate with standard mode devices in 0 to 100 Kb/s I2C bus system.
However:
• Standard mode devices are not upward compatible and should not be incorporated
in a fast-mode I2C bus system as they cannot follow the higher transfer rate and
unpredictable states would occur.
An example of high-speed mode devices are LCD displays and high capacity EEPROMs.
These devices typically need to transfer large amounts of data. Most maintenance and
control applications, the common use for the I²C bus, typically operate at 100 kHz (in
standard and fast modes).
An example of high speed mode devices are LED controllers and other devices that do
not need feedback. These devices typically need to transfer large amounts of data
greater than 1Mhz.
Any I2C Controller device can be attached to an I²C-bus and every device can talk with
any initiator, passing information back and forth. There needs to be at least one
initiator on the bus but there can be multiple initiators, which require them to arbitrate
for ownership. Multiple initiators and arbitration are explained later in this chapter.
Each target has a unique address that is determined by the system designer. When an
initiator wants to communicate with a target, the initiator transmits a START/RESTART
condition that is then followed by the target’s address and a control bit (R/W) to
determine if the initiator wants to transmit data or receive data from the target. The
target then sends an acknowledge (ACK) pulse after the address.
The I2C controller is a synchronous serial interface. The SDA line is a bidirectional
signal and changes only while the SCL line is low, except for STOP, START, and RESTART
conditions. The output drivers are open-drain or open-collector to perform wire-AND
functions on the bus. The maximum number of devices on the bus is limited by only the
maximum capacitance specification of 400 pF. Data is transmitted in byte packages.
During the 7-bit address format, the first seven bits (bits 7:1) of the first byte set the
target address and the LSB bit (bit 0) is the R/W bit as shown in the following figure.
When bit 0 (R/W) is set to 0, the initiator writes to the target. When bit 0 (R/W) is set
to 1, the initiator reads from the target.
MSB LSB
S A6 A5 A4 A3 A2 A1 A0 R/W ACK
sent by slave
target
Target
Slave Address
S = START condition ACK = Acknowledge R/W = Read/Write Pulse
During 10-bit addressing, two bytes are transferred to set the 10-bit address. The
transfer of the first byte contains the following bit definition. The first five bits (bits 7:3)
notify the targets that this is a 10-bit transfer followed by the next two bits (bits 2:1),
which set the targets address bits 9:8, and the LSB bit (bit 0) is the R/W bit. The
second byte transferred sets bits 7:0 of the target address. The following figure shows
the 10-bit address format.
sent by slave
target sent by slave
target
Reserved for 10-bit
Address
S = START condition
R/W = Read/Write Pulse
ACK = Acknowledge
I2C Controller does not restrict you from using these reserved addresses. However, if
you use these reserved addresses, you may run into incompatibilities with other I2C
components.
All data is transmitted in byte format, with no limit on the number of bytes transferred
per data transfer. After the initiator sends the address and R/W bit or the initiator
transmits a byte of data to the target, the target-receiver must respond with the
acknowledge signal (ACK). When a target-receiver does not respond with an ACK pulse,
the initiator aborts the transfer by issuing a STOP condition. The target must leave the
SDA line high so that the initiator can abort the transfer.
S Target Address
Slave Address R/W A DATA A DATA A/A P
‘0’ (write)
For 10-bit Address
Slave Address
Target Address Slave Address
Target Address
S R/W A A DATA A/A P
First 7 bits Second Byte
From Master
From InitiatortotoSlave
Target A = Acknowledge (SDA low)
A = No Acknowledge (SDA low)
Slave totoMaster
From Target Initiator S = START Condition
P = STOP Condition
If the initiator is receiving data as shown in the following figure, then the initiator
responds to the target-transmitter with an acknowledge pulse after a byte of data has
been received, except for the last byte. This is the way the initiator-receiver notifies the
target-transmitter that this is the last byte. The target-transmitter relinquishes the SDA
line after detecting the No Acknowledge (NACK) so that the initiator can issue a STOP
condition.
S Slave Address
Target Address R/W A DATA A DATA A P
‘1’ (Read)
For 10-bit Address
Target Address
Slave Address Target Address
Slave Address Target Address
Slave Address
S R/W A A Sr R/W A DATA A P
First 7 bits Second Byte First 7 bits
InitiatortotoSlave
From Master Target A = Acknowledge (SDA low) R = RESTART Condition
A = No Acknowledge (SDA high) P = STOP Condition
TargettotoMaster
From Slave Initiator
S = START Condition
When an initiator does not want to relinquish the bus with a STOP condition, the
initiator can issue a RESTART condition. This is identical to a START condition except it
occurs after the ACK pulse. Operating in initiator mode, the I2C controller can then
communicate with the same target using a transfer of a different direction.
10 9 8 7 0
DATA – Read/Write field; data related from slave is read from this
field; data to be sent to slave is written to this field.
CMD – Write-only field; this bit determines whether transfer to be
carried out is Read (CMD-1) or Write (CMD-0)
Stop – Write-only field; this bit determines whether STOP is
generated after data byte is sent or received
Restart – Write-only field; this bit determines whether RESTART
(or STOP followed by START in case of restart capability is not
enabled) is generated before data byte is sent or received
Arbitration takes place on the SDA line, while the SCL line is 1. The initiator, which
transmits a 1 while the other initiator transmits 0, loses arbitration and turns off its
data output stage. The initiator that lost arbitration can continue to generate clocks
until the end of the byte transfer. If both initiators are addressing the same target
device, the arbitration could go into the data phase. Upon detecting that it has lost
arbitration to another initiator, the I2C controller will stop generating SCL.
For high-speed mode, the arbitration cannot go into the data phase because each
initiator is programmed with a unique high-speed initiator code. This 8-bitcode is
defined by the system designer and is set by writing to the High Speed Initiator Mode
Code Address Register, IC_HS_MADDR. Because the codes are unique, only one
initiator can win arbitration, which occurs by the end of the transmission of the high-
speed initiator code.
Control of the bus is determined by address or initiator code and data sent by
competing initiators, so there is no central initiator nor any order of priority on the bus.
All initiators then count off their high time, and the initiator with the shortest high time
transitions the SCL line to 0. The initiators then counts out their low time and the one
with the longest low time forces the other initiator into a HIGH wait state. Therefore, a
synchronized SCL clock is generated. Optionally, targets may hold the SCL line low to
slow down the timing on the I2C bus.
The target address and address format can be changed dynamically without having to
disable I2C controller.
The procedures are very similar and are only different with regard to where the
IC_10BITADDR_MASTER bit is set (either bit 4 of IC_CON register or bit 12 of IC_TAR
register).
The I2C controller supports dynamic updating of the IC_TAR (bits 9:0) and
IC_10BITADDR_MASTER (bit 12) bit fields of the IC_TAR register. You can dynamically
write to the IC_TAR register provided the software ensures that there are no other
commands in the Tx FIFO that use the existing TAR address. If the software does not
ensure this, then IC_TAR should be re-programmed only if the following conditions are
met:
• I2C Controller is not enabled (IC_ENABLE[0]=0);
OR
• I2C controller is enabled (IC_ENABLE[0]=1); AND
• I2C controller is NOT engaged in any Initiator (tx, rx) operation (IC_STATUS[5]=0);
AND
• I2C controller is enabled to operate in Initiator mode (IC_CON[0]=1); AND
• There are NO entries in the Tx FIFO (IC_STATUS[2]=1);1
You can change the TAR address dynamically without losing the bus, only if the
following conditions are met.
• P2C controller is enabled (IC_ENABLE[0]=1); AND
• IC_EMPTYFIFO_HOLD_MASTER_EN configuration parameter is set to 1; AND
• I2C controller is enabled to operate in Initiator mode (IC_CON[0]=1); AND
• There are NO entries in the Tx FIFO and the Initiator is in HOLD state
(IC_INTR_STAT[13]=1)
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 CMD bit [8] should be
written to 0 for I2C write operations. Subsequently, a read command may be issued by
writing “don’t cares” to the lower byte of the IC_DATA_CMD register, and a 1 should be
written to the CMD bit. The I2C controller initiator continues to start transfers as long
as there are commands present in the transmit FIFO. If the transmit FIFO becomes
empty.depending on the value of IC_EMPTYFIFO_HOLD_MASTER_EN, the initiator
either inserts a STOP condition after completing the current transfers, or it checks to
see if IC_DATA_CMD[9] is set to 1.
• If set to 1, it issues a STOP condition after completing the current transfer.
• If set to 0, it holds SCL low until next command is written to the transmit FIFO.
22.14.9.2 Procedure
1. Define a timer interval (ti2c_poll) equal to the 10 times the signaling period for the
highest I2C transfer speed used in the system and supported by I2C controller. For
example, if the highest I2C transfer mode is 400 kb/s, then this ti2c_poll is 25us.
This logic is based on counters that monitor the input signals (SCL and SDA), checking
if they remain stable for a predetermined amount of I2C Controller Clock (ic_clk) cycles
before they are sampled internally. There is one separate counter for each signal (SCL
and SDA). The number of ic_clk cycles can be programmed and should be calculated
taking into account the frequency of ic_clk and the relevant spike length specification.
Each counter is started whenever its input signal changes its value. Depending on the
behavior of the input signal, one of the following scenarios occurs:
• The input signal remains unchanged until the counter reaches its count limit value.
When this happens, the internal version of the signal is updated with the input
value, and the counter is reset and stopped. The counter is not restarted until a
new change on the input signal is detected.
• The input signal changes again before the counter reaches its count limit value.
When this happens, the counter is reset and stopped, but the internal version of
the signal is not updated. The counter remains stopped until a new change on the
input signal is detected.
Note: When the I2C Controller interfaces to the DMA Controller, the DMA Controller is always
a flow controller; that is, it controls the block size. This must be programmed by
software in the DMA Controller. The DMA Controller always transfers data using DMA
burst transactions if possible, for efficiency. The relevant DMA settings are discussed in
the following sections. The DMA output dma_finish is a status signal to indicate that the
DMA block transfer is complete. I2C Controller does not use this status signal, and
therefore does not appear in the I/O port list.
Note: Standard synchronization logic (two flip-flops in series) is implemented upstream of the
spike suppression logic and is not affected in any way by the contents of the spike
length registers or the operation of the spike suppression logic; the two operations
(synchronization and spike suppression) are completely independent. Because the SCL
and SDA inputs are asynchronous to ic_clk, there is one ic_clk cycle uncertainty in the
sampling of these signals; that is, depending on when they occur relative to the rising
edge of ic_clk, spikes of the same original length might show a difference of one ic_clk
cycle after being sampled.
Note: Spike suppression is symmetrical; that is, the behavior is exactly the same for
transitions from 0 to 1 and from 1 to 0.
To enable the DMA Controller interface on the I2C Controller, a write to the DMA Control
Register (IC_DMA_CR) is required. Writing a 1 into the TDMAE bit field of IC_DMA_CR
register enables the I2C Controller transmit handshaking interface. Writing a 1 into the
RDMAE bit field of the IC_DMA_CR register enables the I2C Controller receive
handshaking interface.
As a block flow control device, the DMA Controller is programmed by the processor with
the number of data items (block size) that are to be transmitted or received by I2C
Controller; this is programmed into the BLOCK_TS field of the DMA Controller CTLx
register.
The block is broken into a number of transactions, each initiated by a request from the
I2C Controller. The DMA Controller must also be programmed with the number of data
items (in this case, I2C Controller FIFO entries) to be transferred for each DMA request.
This is also known as the burst transaction length and is programmed into the
SRC_MSIZE/DEST_MSIZE fields of the DMA Controller CTLx register for source and
destination, respectively.
Figure 22-13 shows a single block transfer, where the block size programmed into the
DMA Controller is 12 and the burst transaction length is set to 4. In this case, the block
size is a multiple of the burst transaction length. Therefore, the DMA block transfer
consists of a series of burst transactions. If the I2C Controller makes a transmit request
to this channel, four data items are written to the I2C Controller TX FIFO. Similarly, if
the I2C Controller makes a receive request to this channel, four data items are read
from the I2C Controller RX FIFO. Three separate requests must be made to this DMA
channel before all 12 data items are written or read.
When the block size programmed into the DMA Controller is not a multiple of the burst
transaction length, as shown in Figure 22-14, a series of burst transactions followed by
single transactions are needed to complete the block transfer.
During I2C Controller serial transfers, transmit FIFO requests are made to the DMA
Controller whenever the number of entries in the transmit FIFO is less than or equal to
the DMA Transmit Data Level Register (IC_DMA_TDLR) value; this is known as the
watermark level. The DMA Controller responds by writing a burst of data to the
transmit FIFO buffer, of length CTLx.DEST_MSIZE.
Here the number of data items to be transferred in a DMA burst is equal to the empty
space in the Transmit FIFO. Consider two different watermark level settings.
Case 1: IC_DMA_TDLR = 2
• Transmit FIFO watermark level = I2C.IC_DMA_TDLR = 2
• DMA.CTLx.DEST_MSIZE = FIFO_DEPTH - I2C.IC_DMA_TDLR = 6
• I2C transmit FIFO_DEPTH = 8
• DMA.CTLx.BLOCK_TS = 30
Therefore, the number of burst transactions needed equals the block size divided by
the number of data items per burst:
DMA.CTLx.BLOCK_TS/DMA.CTLx.DEST_MSIZE = 30/6 = 5
The number of burst transactions in the DMA block transfer is 5. But the watermark
level, I2C.IC_DMA_TDLR, is quite low. Therefore, the probability of an I2C underflow is
high where the I2C serial transmit line needs to transmit data, but where there is no
data left in the transmit FIFO. This occurs because the DMA has not had time to service
the DMA request before the transmit FIFO becomes empty.
Case 2: IC_DMA_TDLR = 6
• Transmit FIFO watermark level = I2C.IC_DMA_TDLR = 6
• DMA.CTLx.DEST_MSIZE = FIFO_DEPTH - I2C.IC_DMA_TDLR = 2
• I2C transmit FIFO_DEPTH = 8
• DMA.CTLx.BLOCK_TS = 30
DMA.CTLx.BLOCK_TS/DMA.CTLx.DEST_MSIZE = 30/2 = 15
In this block transfer, there are 15 destination burst transactions in a DMA block
transfer. But the watermark level, I2C.IC_DMA_TDLR, is high. Therefore, the
probability of an I2C underflow is low because the DMA controller has plenty of time to
service the destination burst transaction request before the I2C transmit FIFO becomes
empty.
Thus, the second case has a lower probability of underflow at the expense of more
burst transactions per block. This provides a potentially greater amount of bus bursts
per block and worse bus utilization than the former case.
For example, promoting the channel to the highest priority channel in the DMA, and
promoting the DMA initiator interface to the highest priority initiator in the bus layer,
increases the rate at which the DMA controller can respond to burst transaction
requests. This in turn allows you to decrease the watermark level, which improves bus
utilization without compromising the probability of an underflow occurring.
In Case 2: IC_DMA_TDLR = 6, the amount of space in the transmit FIFO at the time the
burst request is made is equal to the destination burst length, DMA.CTLx.DEST_MSIZE.
Thus, the transmit FIFO may be full, but not overflowed, at the completion of the burst
transaction.
Adhering to equation (2) reduces the number of DMA bursts needed for a block
transfer, and this in turn improves bus utilization.
Note: The transmit FIFO is not full at the end of a DMA burst transfer if the I2C has
successfully transmitted one data item or more on the I2C serial transmit line during
the transfer.
During I2C Controller serial transfers, receive FIFO requests are made to the DMA
Controller whenever the number of entries in the receive FIFO is at or above the DMA
Receive Data Level Register; that is, IC_DMA_RDLR+1. This is known as the watermark
level. The DMA Controller responds by fetching a burst of data from the receive FIFO
buffer of length CTLx.SRC_MSIZE.
Data should be fetched by the DMA often enough for the receive FIFO to accept serial
transfers continuously; that is, when the FIFO begins to fill, another DMA transfer is
requested. Otherwise, the FIFO fills with data (overflow). To prevent this condition, you
must correctly set the watermark level.
Similar to choosing the transmit watermark level described earlier, the receive
watermark level, IC_DMA_RDLR+1, should be set to minimize the probability of
overflow, as shown in Figure 22-17. It is a trade-off between the number of DMA burst
transactions required per block versus the probability of an overflow occurring.
As can be seen in Figure 22-17, programming a source burst transaction length greater
than the watermark level may cause underflow when there is not enough data to
service the source burst request. Therefore, equation 3 following must be adhered to
avoid underflow.
If the number of data items in the receive FIFO is equal to the source burst length at
the time the burst request is made – DMA.CTLx.SRC_MSIZE – the receive FIFO may be
emptied, but not underflowed, at the completion of the burst transaction. For optimal
operation, DMA.CTLx.SRC_MSIZE should be set at the watermark level; that is:
Adhering to equation (3) reduces the number of DMA bursts in a block transfer, which
in turn can avoid underflow and improve bus utilization.
The receive FIFO is not empty at the end of the source burst transaction if the I2C has
successfully received one data item or more on the I2C serial receive line during the
burst.
22.14.12 Registers
Please refer to chapter 7 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
22.15.1 Overview
All UART have four-wire RS-232, bi-directional point-to-point connection between the
Intel® PSE and a peripheral. Four out of six UARTs have 3 additional signals that add
RS-485 mode support.
22.15.2 Features
The UART has the following Capabilities:
• Operate in strictly compliant 16550 mode
• Operate in 16750 auto flow control model. RTS and CTS will be automatically
managed until there is data in RX FIFO or space in TX FIFO
• Support RS-232 mode (UART[5:0]) & RS-485 mode (UART[3:0])
• Support operating in odd, even and none parity modes
• Support 1, 1.5 and 2 stop bits as per standard
• Support HW based flow control and SW based flow control
• Support for operating speeds up to 10 Mb/s in S0, 6.25Mbps in S0ix
• Support for auto flow control using the RTS#/CTS# signals
• 64 byte FIFO
• DMA support to allow direct transfer to the Intel® PSE local SRAM without
intervention by the Arm* Cortex*-M7. This saves interrupts on packets that are
longer than the FIFO or when there are back-to-back packets to send or receive.
• Multi drop support in RS-485 mode
1, 1.5, 2
Start Data bits 5-8 Parity Stop
One Character
An additional parity bit can be added to the serial character. This bit appears after the
last data bit and before the stop bit(s) in the character structure in order to provide the
UART controller with the ability to perform simple error checking on the received data.
The UART controller Line Control Register is used to control the serial character
characteristics. The individual bits of the data word are sent after the start bit, starting
with the least significant bit (LSB). These are followed by the optional parity bit,
followed by the stop bit(s), which can be 1, 1.5, or 2.
All the bits in the transmission are transmitted for exactly the same time duration; the
exception to this is the half-stop bit when 1.5 stop bits are used. This duration is
referred to as a Bit Period or Bit Time; one Bit Time equals sixteen baud clocks.
To ensure stability on the line, the receiver samples the serial input data at
approximately the midpoint of the Bit Time once the start bit has been detected.
Because the exact number of baud clocks is known for which each bit was transmitted,
calculating the midpoint for sampling is not difficult; that is, every sixteen baud clocks
after the midpoint sample of the start bit.
Together with serial input debouncing, this sampling helps to avoid the detection of
false start bits. Short glitches are filtered out by debouncing, and no transition is
detected on the line. If a glitch is wide enough to avoid filtering by debouncing, a falling
edge is detected. However, a start bit is detected only if the line is again sampled low
after half a bit time has elapsed.
By enabling 9-bit data transfer mode, UART controller can be used in multi-drop
systems where one initiator is connected to multiple targets in a system. The initiator
communicates with one of the targets. When the initiator wants to transfer a block of
data to a target, it first sends an address byte to identify the target.
The differentiation between the address/data byte is done based on the 9th bit in the
incoming character. If the 9th bit is set to 0, then the character represents a data byte.
If the 9th bit is set to 1, then the character represents address byte. All the target
systems compare the address byte with their own address and only the target (in which
the address has matched) is enabled to receive data from the initiator. The initiator
then starts transmitting data bytes to the target. The non-addressed target systems
ignore the incoming data until a new address byte is received.
Configuration of the UART controller for 9-bit data transfer does the following:
• LCR_EXT[0] bit is used to enable or disable the 9-bit data transfer.
• LCR_EXT[1] bit is used to choose between hardware and software based address
match in the case of receive.
• LCR_EXT[3] bit is used to choose between hardware and software based address
transmission.
• TAR and RAR registers are used to transmit address and to match the received
address, respectively.
• THR, RBR, STHR and SRBR registers are of 9-bit which is used to do the data
transfers in 9-bit mode.
• LSR[8] bit is used to indicate the address received interrupt.
In transmit mode 0, the address is programmed in the Transmit Address Register (TAR)
register and data is written into the Transmit Holding Register (THR) or the Shadow
Transmit Holding Register (STHR). The 9th bit of the THR and STHR register is not
applicable in this mode.
Figure 22-19 illustrates the transmission of address and data based on SEND_ADDR
(LCR_EXT[2]), Halt Tx, and TxFIFO/THR empty conditions.
No
Yes
Halt Tx=1
No
Yes TxFIFO/THR
empty=1
No
The address of the target to which the data is to be transmitted is programmed in the
TAR register.
You must enable the SEND_ADDR (LCR_EXT[2]) bit to transmit the target address
present in the TAR register on the serial UART line with 9th data bit set to 1 to indicate
that the address is being sent to the target. The UART controller clears the SEND_ADDR
bit after the address character starts transmitting on the UART line.
The data required to transmit to the target is programmed through Transmit Holding
Register (THR).
The data is transmitted on the UART line with 9th data bit set to 0 to indicate data is
being sent to the target.
If the application is required to fill the data bytes in the TxFIFO before sending the
address on the UART line (before setting LCR_EXT[2]=1), then it is recommended to
set the “Halt Tx” to 1 such that UART controller does not start sending out the data in
the TxFIFO as data byte. Once the TxFIFO is filled, then program SEND_ADDR
(LCR_EXT[2]) to 1 and then set “Halt Tx” to 0.
In transmit mode 1, THR and STHR registers are of 9-bit wide and both address and
data are programmed through the THR and STHR registers. The UART controller does
not differentiate between address and data, and both are taken from the TxFIFO. The
SEND_ADDR (LCR_EXT[2]) bit and Transmit address register (TAR) are not applicable
in this mode. The software must pack the 9th bit with 1/0 depending on whether
address/data has to be sent.
In the hardware address match receive mode, the UART controller matches the
received character with the address programmed in the Receive Address register
(RAR), if the 9th bit of the received character is set to 1.
If the received address is matched with the programmed address in RAR register, then
subsequent data bytes (with 9th bit set to 0) are pushed into the RxFIFO. If the
address matching fails, then UART controller discards further data characters until a
matching address is received.
The following figure illustrates the flow chart for the reception of data bytes based on
the address matching feature.
Receive character on
the UART line
No
No
No
Yes
PE/FE occurred?
UART controller receives the character irrespective of whether the 9th bit data is set to
1. If 9th bit of the received character is set to 1, then it clears internal address match
flag and then compares the received 8-bit character information with the address
programmed in the RAR register.
If the received address character matches with the address programmed in the RAR
register, then the address match flag is set to 1 and the received character is pushed to
the RxFIFO in FIFO-mode or to RBR register in non-FIFO mode and the ADDR_RCVD bit
in LSR register is set to indicate that the address has been received.
In case of parity or if a framing error is found in the received address character and if
the address is not matched with the RAR register, then the received address character
is still pushed to RxFIFO or RBR register with ADDR_RCVD and PE/FE error bit set to 1.
The subsequent data bytes (9th bit of received character is set to 0) are pushed to the
Rx_FIFO in FIFO mode or to the RBR register in non-FIFO mode until the new address
character is received.
If any break character is received, UART controller treats it as a special character and
pushes to the RxFIFO or RBR register based on the FIFO_MODE irrespective of address
match flag.
In this mode of operation, the UART controller does not perform the address matching
for the received address character (9th bit data set to 1) with the RAR register. The
UART controller always receives the 9-bit data and pushes in to RxFIFO in FIFO mode
or to the RBR register in non-FIFO mode. The user must compare the address
whenever address byte is received and indicated through ADDR_RCVD bit in the Line
Status register. The user can flush/reset the RxFIFO in case of address not matched
through 'RCVR FIFO Reset' bit in FIFO control register (FCR).
Note: The processor receive and transmit signals that are not differential and an external
transceiver is needed to convert them into differential pairs.
UART controller supports the RS-485 serial protocol that enables transfer of serial data
using the RS-485 interface. The driver enable (PSE_HSUARTx_DE) and receiver enable
(PSE_HSUARTx_RE) signals are generated for enabling the RS-485 interface support in
the external transceiver. The de and re signals are hardware generated and the
assertion/de-assertion times for these signals are programmable. The active level of
these signals are configurable.
Configuration of the UART controller for RS-485 interface does the following:
1. Bit 0 of the Transceiver Control Register (TCR) enables or disables the RS-485
mode which is indicated to the transceiver by the PSE_HSUARTx_EN signal.
2. Bit 1 and bit 2 of TCR are used to select the polarity of PSE_HSUARTx_RE and
PSE_HSUARTx_DE signals.
3. Bit [4:3] of the TCR selects the type of transfer in RS-485 mode.
4. Driver output enable (DE_EN) and Receiver output enable (RE_EN) registers are
used for software control of DE and RE signals.
5. Driver output Enable Timing (DET) register is used to program the assertion and
deassertion timings of DE signal.
6. TurnAround Timing (TAT) register is used to program the turnaround time from
PSE_HSUARTx_DE to PSE_HSUARTx_RE and PSE_HSUARTx_RE to
PSE_HSUARTx_DE.
The assertion and deassertion timings of the PSE_HSUARTx_DE signal are controlled
through the DET register:
• PSE_HSUARTx_DE assertion time (DET[7:0]): The assertion time is the time
between the activation of the PSE_HSUARTx_DE signal and the beginning of the
START bit. The value represented is in terms of serial clock cycles.
• PSE_HSUARTx_DE de-assertion time (DET[15:8]): The de-assertion time is the
time between the end of the last stop bit, in a transmitted character, and the de-
activation of the PSE_HSUARTx_DE signal. The value represented is in terms of
serial clock cycles.
Hardware ensures that these values are met for PSE_HSUARTx_DE assertion and
PSE_HSUARTx_DE deassertion before/after active data transmission.
UART controller consists of the following RS-485 modes based on the XFER_MODE field
in the Transceiver.
The full duplex mode supports both transmit and receive transfers simultaneously.
The user can choose when to transmit or when to receive. Both PSE_HSUARTx_RE and
PSE_HSUARTx_DE can be simultaneously asserted or de-asserted at any time. UART
controller does not impose any turnaround time between transmit and receive
('PSE_HSUARTx_DE to PSE_HSUARTx_RE') or receive to transmit ('PSE_HSUARTx_RE
to PSE_HSUARTx_DE') in this mode. This mode can directly be used in full duplex
operation where separate differential pair of wires is present for transmit and receive.
The software-controlled half duplex mode supports either transmit or receive transfers
at a time but not both simultaneously. The switching between transmit to receive or
receive to transmit is through programming the Driver output enable (DE_EN) and
Receiver output enable (RE_EN) registers.
The user must enable either DE or RE but not both at any point of time. As
PSE_HSUARTx_RE and PSE_HSUARTx_DE signals are mutually exclusive, the user
must ensure that both of them are not programmed to be active at any point of time.
In this mode, the hardware ensures that a proper turnaround time is maintained while
switching from PSE_HSUARTx_RE to PSE_HSUARTx_DE or from PSE_HSUARTx_DE to
PSE_HSUARTx_RE (value of turnaround is obtained from the TAT register, in terms of
serial clock cycles).
The hardware-controlled half duplex mode supports either transmit or receive transfers
at a time but not both simultaneously. If both 'DE Enable' and 'RE Enable' bits of Driver
output enable (DE_EN) and Receiver output enable (RE_EN) registers are enabled, the
switching between transmit to receive or receive to transmit is automatically done by
the hardware based on the empty condition of Tx-FIFO.
Either transmitter FIFO is empty in FIFO mode or Transmitter Holding Register is empty
in non- FIFO mode.
If any transmit transfer is ongoing, then the signal waits until transmit is finished and
after the turnaround time counter ('PSE_HSUARTx_DE to PSE_HSUARTx_RE') has
elapsed.
• Goes inactive under the following conditions:
— The current ongoing receive serial transfer has completed.
— Either transmitter FIFO is non-empty in FIFO mode or Transmitter Holding
Register is non empty in non-FIFO mode or the RE Enable (RE_EN[0]) of
Receiver output Enable Register is set to 0.
In this mode, the hardware ensures that a proper turnaround time is maintained while
switching from 'PSE_HSUARTx_RE' to 'PSE_HSUARTx_DE' or from 'PSE_HSUARTx_DE'
to 'PSE_HSUARTx_RE' (value of turnaround is obtained from the TAT register, in terms
of serial clock cycles) as shown in Figure 22-41 and Figure 22-42.
Serial clock operating frequency (Input serial clock is 200MHz in S0 mode and 100MHz
in S0ix mode.
Equation (1)
Where,
Serial clock frequency – sclk = 200MHz (S0 state) or 100 MHz (S0ix state)
pclk = 100MHz
The Error between the Baud rate and Baud rate (selected) is given as:
Configuration of the UART controller for Fractional Baud Rate does the following:
The configurable parameter DLF_SIZE is used to choose the width of the register that
stores fractional part of the divisor.
The fractional value of the divisor is programmed in the Divisor Latch Fraction Register
(DLF) register. The fractional value is computed by using the (Divisor Fraction value)/
(2^DLF_SIZE) formula. The following table shows fractional values when the
DLF_SIZE=4.
The programmable fractional baud rate divisor enables a finer resolution of baud clock
than the conventional integer divider. The programmable fractional baud clock divider
allows for the programmability of both an integer divisor as well as fractional
component. The average frequency of the baud clock from the fractional baud rate
divisor is dependent upon both the integer divisor and the fractional component,
thereby providing a finer resolution to the average frequency of the baud clock.
Equation (2)
Where,
Data can be written to the transmit FIFO as normal; however no serial transmission
occurs in this mode— normal operation halted—and thus no data leave the FIFO. The
data that has been written to the transmit FIFO can be read back with the Transmit
FIFO Read (TFR) register, which when read gives the current data at the top of the
transmit FIFO.
Similarly, data can be read from the receive FIFO as normal. Since the normal
operation of the UART controller is halted in this mode, data must be written to the
receive FIFO so the data can be read back.
Data is written to the receive FIFO using the Receive FIFO Write (RFW) register. The
upper two bits of the 10-bit register are used to write framing error and parity error
detection information to the receive FIFO, as follows:
• RFW[9] indicates framing error
• RFW[8] indicates parity error
Although these bits cannot be read back through the Receive Buffer Register, they can
be checked by reading the Line Status Register and checking the corresponding bits
when the data in question is at the top of the receive FIFO.
22.15.6 Interrupts
Assertion of the UART controller interrupt output signal, a positive-level interrupt,
occurs whenever one of the several prioritized interrupt types are enabled and active.
The following interrupt types can be enabled with the IER register:
• Receiver Error
• Receiver Data Available
• Character Timeout (in FIFO mode only)
• Transmitter Holding Register Empty at/below threshold (in Programmable THRE
interrupt mode)
• Modem Status
• Busy Detect Indication
When Auto RTS is enabled, the rts_n output is forced inactive (high) when the receiver
FIFO level reaches the threshold set by FCR[7:6], but only if the RTC flow-control
trigger is disabled. Otherwise, the rts_n output is forced inactive (high) when the FIFO
is almost full, where almost full refers to two available slots in the FIFO. When rts_n is
connected to the cts_n input of another UART device, the other UART stops sending
serial data until the receiver FIFO has available space; that is, until it is completely
empty.
Since one additional character can be transmitted to the UART Controller after rts_n
has become inactive—due to data already having entered the transmitter block in the
other UART—setting the threshold to “2 less than full” allows maximum use of the FIFO
with a safety zone of one character.
Once the receiver FIFO becomes completely empty by reading the Receiver Buffer
Register (RBR), rts_n again becomes active (low), signaling the other UART to continue
sending data.
Note: Even if everything else is selected and the correct MCR bits are set, if the FIFOs are
disabled through FCR[0] or the UART is in SIR mode (MCR[6] is set to 1), Auto Flow
Control is also disabled. When Auto RTS is not implemented or disabled, rts_n is
controlled solely by MCR[1].
When Auto CTS is enabled (active), the UART Controller transmitter is disabled
whenever the cts_n input becomes inactive (high); this prevents overflowing the FIFO
of the receiving UART.
If the cts_n input is not inactivated before the middle of the last stop bit, another
character is transmitted before the transmitter is disabled. While the transmitter is
disabled, the transmitter FIFO can still be written to, and even overflowed.
When using the “FIFO full” status, software can poll this before each write to the
Transmitter FIFO; for details, see “Section 22.15.3.5”. When the cts_n input becomes
active (low) again, transmission resumes.
Note: When everything else is selected, if the FIFOs are disabled using FCR[0], Auto Flow
Control is also disabled. When Auto CTS is not implemented or disabled, the transmitter
is unaffected by cts_n.
When FIFOs and THRE mode are enabled, the THRE Interrupts and dma_tx_req_n are
active at, and below, a programmed transmitter FIFO empty threshold level, as
opposed to empty, as shown in the flowchart in Figure 22-21.
The threshold level is programmed into FCR[5:4]. Available empty thresholds are:
• empty
• 2
• 1/4
• 1/2
Selection of the best threshold value depends on the system's ability to begin a new
transmission sequence in a timely manner. However, one of these thresholds should be
optimal for increasing system performance by preventing the transmitter FIFO from
running empty.
In addition to the interrupt change, the Line Status Register (LSR[5]) also switches
from indicating that the transmitter FIFO is empty to the FIFO being full. This allows
software to fill the FIFO for each transmit sequence by polling LSR[5] before writing
another character. The flow then allows the transmitter FIFO to be filled whenever an
interrupt occurs and there is data to transmit, rather than waiting until the FIFO is
completely empty. Waiting until the FIFO is empty causes a reduction in performance
whenever the system is too busy to respond immediately. Further system efficiency is
achieved when this mode is enabled in combination with Auto Flow Control.
Even if everything else is selected and enabled, if the FIFOs are disabled using the
FCR[0] bit, the Programmable THRE Interrupt mode is also disabled. When not selected
or disabled, THRE interrupts and the LSR[5] bit function normally, signifying an empty
THR or FIFO. Figure 22-22 illustrates the flowchart of THRE interrupt generation when
not in programmable THRE interrupt mode.
DMA modes:
• mode 0 . bit 3 of FIFO Control Register set to 0
• mode 1 . bit 3 of FIFO Control Register set to 1
In mode 1, the DMA Transmit request signal is de-asserted when the transmitter FIFO
is completely full.
In mode 1, the DMA Receive request signal is de-asserted when the receiver FIFO
becomes empty.
The block is broken into a number of transactions, each initiated by a request from the
UART controller. The DMA Controller must also be programmed with the number of data
items (in this case, UART controller FIFO entries) to be transferred for each DMA
request. This is also known as the burst transaction length, and is programmed into the
SRC_MSIZE/DEST_MSIZE fields of the DMA controller’s CTLx register for source and
destination, respectively.
The following figure shows a single block transfer, where the block size programmed
into the DMA Controller is 12 and the burst transaction length is set to 4.
12 Data Items
DMA
Multi-block Transfer
Level
12 Data Items
DMA
Block
Level
In this case, the block size is a multiple of the burst transaction length. Therefore, the
DMA block transfer consists of a series of burst transactions. If the UART controller
makes a transmit request to this channel, four data items are written to the UART
controller transmit FIFO. Similarly, if the UART controller makes a receive request to
this channel, four data items are read from the UART controller receive FIFO. Three
separate requests must be made to this DMA channel before all twelve data items are
written or read.
When the block size programmed into the DMA Controller is not a multiple of the burst
transaction length, as shown in the following figure, a series of burst transactions
followed by single transactions are needed to complete the block transfer.
15 Data Items
DMA
Multi-block Transfer
Level
15 Data Items
DMA
Block
Level
DMA Burst DMA Burst DMA Burst DMA Single DMA Single DMA Single
Transaction Transaction Transaction Transaction Transaction Transaction
1 2 3 1 2 3
4 Data Items 4 Data Items 4 Data Items 1 Data Items 1 Data Items 1 Data Items
Data should be fetched from the DMA often enough for the transmit FIFO to perform
serial transfers continuously; that is, when the FIFO begins to empty, another DMA
request should be triggered. Otherwise the FIFO runs out of data (underflow). To
prevent this condition, you must set the watermark level correctly.
The number of data items to be transferred in a DMA burst is equal to the empty space
in the Transmit FIFO. Consider two different watermark level settings.
Therefore, the number of burst transactions needed equals the block size divided by
the number of data items per burst:
DMA.CTLx.BLOCK_TS/DMA.CTLx.DEST_MSIZE = 56/14 = 4
The number of burst transactions in the DMA block transfer is 4., but the watermark
level—decoded level of UART.FCR[5:4]—is quite low. Therefore, the probability of a
UART underflow is high where the UART serial transmit line needs to transmit data, but
where there is no data left in the transmit FIFO. This occurs because the DMA has not
had time to service the DMA request before the transmit FIFO becomes empty.
DMA.CTLx.BLOCK_TS/DMA.CTLx.DEST_MSIZE = 56/8 = 7
In this block transfer, there are seven destination burst transactions in a DMA block
transfer, but the watermark level.decoded level of UART.FCR[5:4] is high. Therefore,
the probability of a UART underflow is low because the DMA controller has enough time
to service the destination burst transaction request before the UART transmit FIFO
becomes empty.
Thus, the second case has a lower probability of underflow at the expense of more
burst transactions per block. This provides a potentially greater amount of bus bursts
per block and worse bus utilization than Case 1.
rate of UART data transmission: rate of DMA response to destination burst requests
For example, both of the following increases the rate at which the DMA controller can
respond to burst transaction requests:
• Promoting channel to highest priority channel in DMA
• Promoting DMA initiator interface to highest priority initiator in bus layer
This in turn enables the user to decrease the watermark level, which improves bus
utilization without compromising the probability of an underflow occurring.
In Case 2: FCR[5:4] = 11 — FIFO 1/2 full (decodes to 8), the amount of space in the
transmit FIFO at the time the burst request is made is equal to the destination burst
length, DMA.CTLx.DEST_MSIZE. Thus, the transmit FIFO can be full, but not
overflowed, at the completion of the burst transaction.
Adhering to equation (2) reduces the number of DMA bursts needed for a block
transfer, which in turn improves bus utilization.
Adhering to equation (2) reduces the number of DMA bursts needed for a block
transfer, which in turn improves bus utilization.
Data should be fetched by the DMA often enough for the receive FIFO to accept serial
transfers continuously; that is, when the FIFO begins to fill, another DMA transfer is
requested. Otherwise, the FIFO fills with data (overflow). To prevent this condition, you
must correctly set the watermark level.
If the number of data items in the receive FIFO is equal to the source burst length at
the time the burst request is made – DMA.CTLx.SRC_MSIZE – the receive FIFO can be
emptied, but not underflowed, at the completion of the burst transaction. For optimal
operation, DMA.CTLx.SRC_MSIZE should be set at the watermark level; that is:
Adhering to equation (3) reduces the number of DMA bursts in a block transfer, and this
in turn can improve bus utilization.
Note: The receive FIFO is not empty at the end of the source burst transaction if the UART
has successfully received one data item or more on the UART serial receive line during
the burst.
PSE_UART0_TXD O Transmit
PSE_UART0_RXD I Receive
PSE_UART1_TXD O Transmit
PSE_UART1_RXD I Receive
PSE_UART2_TXD O Transmit
PSE_UART2_RXD I Receive
PSE_UART3_TXD O Transmit
PSE_UART3_RXD I Receive
PSE_UART4_TXD O Transmit
PSE_UART4_RXD I Receive
PSE_UART5_TXD O Transmit
PSE_UART5_RXD I Receive
22.15.11 Registers
Please refer to chapter 12 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
22.16.1 Overview
SPI is a four-wire, bi-directional serial bus that provides simple and efficient method of
data transmission over a short distance between many devices. SPI is used typically for
connecting the Intel® PSE to external sensor devices, such as combo accelerometers,
gyroscopes, compass devices.
22.16.2 Features
The SPI controller support includes:
• SPI supports Motorola SPI protocols.
• Four controllers supporting two targets each.
• 4 combinations of polarity and phase - also referred to as modes
• Full-duplex and half-duplex mode of operation
• Programmable SPI clock frequency range with max of 50MHz (1.8v operation),
25Mhz (3.3v operation)
• FIFO of 64 bytes with programmable watermarks/thresholds
• PIO Transfers by reading/writing to the FIFO memory mapped register
• DMA HW hook based transfer
— DMA channel moves the data from the SPI RX FIFO by performing a read to a
memory-mapped register, upon data available indication.
— DMA channel moves the data to the SPI TX FIFO by performing a write to a
memory-mapped register, upon space available indication.
• Programmable character length (2 to 16 bits)
• Programmable clock phase (delay or no delay)
• Programmable clock polarity (high or low)
The clock polarity (SCPOL) configuration parameter determines whether the inactive
state of the serial clock is high or low.
When the configuration parameter SCPH = 0, data transmission begins on the falling
edge of the target select signal. The first data bit is captured by the initiator and target
peripherals on the first edge of the serial clock; data are propagated on the second
edge of the serial clock.
PSE_SPIx_CLK
(CTRLR0.SCPOL=0)
PSE_SPIx_CLK
(CTRLR0.SCPOL=1)
PSE_SPIx_CS0_N
When the configuration parameter SCPH = 1, both initiator and target peripherals begin
transmitting data on the first serial clock edge after the target select line is activated.
The first data bit is captured on the second (trailing) serial clock edge. Data are
propagated by the initiator and target peripherals on the leading edge of the serial
clock.
PSE_SPIx_CLK
(CTRLR0.SCPOL=0)
PSE_SPIx_CLK
(CTRLR0.SCPOL=1)
PSE_SPIx_MISO/
MSB LSB
PSE_SPIx_MOSI
4 – 32 bits
PSE_SPIx_CS0_N
The data transfer occurs as normal according to the selected frame format (serial
protocol). The receive data from the target device is moved from the receive shift
register into the receive FIFO at the end of each data frame. You should mask
interrupts originating from the transmit logic when this mode is entered.
When the transmit FIFO becomes empty (all control information has been sent), data
on the receive line (rxd) is valid and is stored in the receive FIFO; the txd output is held
at a constant logic level. The serial transfer continues until the number of data frames
received by the SPI controller initiator matches the value of the NDF field in the CTRLR1
register + 1.
22.16.4 Clocking
When SPI controller is configured as a initiator device, the maximum frequency of the
bit-rate clock (PSE_SPIx_CLK) is one-half the frequency of SCLK_IN (100MHz). This
allows the shift control logic to capture data on one clock edge of PSE_SPIx_CLK and
propagate data on the opposite edge.
The PSE_SPIx_CLK line toggles only when an active transfer is in progress. At all other
times it is held in an inactive state, as defined by the serial protocol under which it
operates.
SCKDV is a bit field in the programmable register BAUDR, holding any even value in the
range 0 to 65,534. If SCKDV is 0, then PSE_SPIx_CLK is disabled.
If the target device is receive only, the maximum frequency supported is SCLK_IN/6
i.e. 100MHz/6 = 16.6MHz.
If the target device is transmit and receive, the maximum frequency supported is
SCLK_IN/12 i.e 100MHz/12 = 8.33MHz.
Slave Peripheral 1
PSE_SPIx_MOSI DI
PSE_SPIx_MISO DO
PSE_SPIx_CLK SCLK
SS
PSE_SPIx_CS0_N
PSE_SPIx_CS1_N
DI
DO
SCLK
SS
The serial bit-rate clock, generated and controlled by the SPI controller, is driven out on
the PSE_SPIx_CLK line. When the SPI controller is disabled (SSI_EN = 0), no serial
transfers can occur and PSE_SPIx_CLK is held in “inactive” state, as defined by the
serial protocol under which it operates.
The transmit FIFO is loaded by write commands to the SPI controller data register
(DR). Data are popped (removed) from the transmit FIFO by the shift control logic into
the transmit shift register. The transmit FIFO generates a FIFO empty interrupt request
(SR.TFE & IMR.TXEIM) when the number of entries in the FIFO is less than or equal to
the FIFO threshold value. The threshold value, set through the programmable register
TXFTLR, determines the level of FIFO entries at which an interrupt is generated. The
threshold value allows you to provide early indication to the processor that the transmit
FIFO is nearly empty. A transmit FIFO overflow interrupt (IMR.TXOIM) is generated if
you attempt to write data into an already full transmit FIFO.
Data are popped from the receive FIFO by read commands to the SPI controller data
register (DR). The receive FIFO is loaded from the receive shift register by the shift
control logic. The receive FIFO generates a FIFO-full interrupt request (SR.RFF &
IMR.RXFIM) when the number of entries in the FIFO is greater than or equal to the
FIFO threshold value plus 1. The threshold value, set through programmable register
RXFTLR, determines the level of FIFO entries at which an interrupt is generated.
The threshold value allows you to provide early indication to the processor that the
receive FIFO is nearly full. A receive FIFO overrun interrupt (IMR.RXOIM) is generated
when the receive shift logic attempts to load data into a completely full receive FIFO.
However, this newly received data are lost. A receive FIFO underflow interrupt
(IMR.RXUIM) is generated if you attempt to read from an empty receive FIFO. This
alerts the processor that the read data are invalid.
The following table provides description for different Transmit FIFO Threshold values.
0000_0000 Transmit FIFO empty interrupt request is asserted when 0 data entries are
present in transmit FIFO
0000_0001 Transmit FIFO empty interrupt request is asserted when 1 or less data entry is
present in transmit FIFO
0000_0010 Transmit FIFO empty interrupt request is asserted when 2 or less data entries
are present in transmit FIFO
0000_0011 Transmit FIFO empty interrupt request is asserted when 3 or less data entries
are present in transmit FIFO
... ...
... ...
1111_1100 Transmit FIFO empty interrupt request is asserted when 252 or less data entries
are present in transmit FIFO
1111_1101 Transmit FIFO empty interrupt request is asserted when 253 or less data entries
are present in transmit FIFO
1111_1110 Transmit FIFO empty interrupt request is asserted when 254 or less data entries
are present in transmit FIFO
1111_1111 Transmit FIFO empty interrupt request is asserted when 255 or less data entries
are present in transmit FIFO
0000_0000 Receive FIFO full interrupt request is asserted when 1 or more data entry is
present in receive FIFO
0000_0001 Receive FIFO full interrupt request is asserted when 2 or more data entries are
present in receive FIFO
0000_0010 Receive FIFO full interrupt request is asserted when 3 or more data entries are
present in receive FIFO
0000_0011 Receive FIFO full interrupt request is asserted when 4 or more data entries are
present in receive FIFO
... ...
... ...
1111_1100 Receive FIFO full interrupt request is asserted when 253 or more data entries are
present in receive FIFO
1111_1101 Receive FIFO full interrupt request is asserted when 254 or more data entries are
present in receive FIFO
1111_1110 Receive FIFO full interrupt request is asserted when 255 or more data entries are
present in receive FIFO
1111_1111 Receive FIFO full interrupt request is asserted when 256 data entries are present
in receive FIFO
To enable the DMA Controller interface on the SPI controller, you must write the DMA
Control Register (DMACR). Writing a 1 into the TDMAE bit field of DMACR register
enables the SPI controller transmit handshaking interface. Writing a 1 into the RDMAE
bit field of the DMACR register enables the SPI controller receive handshaking
interface.
The block is broken into a number of transactions, each initiated by a request from the
SPI controller. The DMA Controller must also be programmed with the number of data
items (in this case, SPI controller FIFO entries) to be transferred for each DMA request.
This is also known as the burst transaction length, and is programmed into the
SRC_MSIZE/DEST_MSIZE fields of the DMA Controller’s CTLx register for source and
destination, respectively.
The following figure shows a single block transfer, where the block size programmed
into the DMA Controller is 12 and the burst transaction length is set to 4. In this case,
the block size is a multiple of the burst transaction length; therefore, the DMA block
transfer consists of a series of burst transactions.
If the SPI controller makes a transmit request to this channel, four data items are
written to the SPI controller transmit FIFO. Similarly, if the SPI controller makes a
receive request to this channel, four data items are read from the SPI controller receive
FIFO. Three separate requests must be made to this DMA channel before all 12 data
items are written or read.
When the block size programmed into the DMA Controller is not a multiple of the burst
transaction length, as shown in Figure 22-32, a series of burst transactions followed by
single transactions are needed to complete the block transfer.
15 Data
Items
DMA
Multi-block Transfer
Level
15 Data
Items
DMA
Block
Level
DMA Burst DMA Burst DMA Burst DMA Single DMA Single DMA Single
Transaction Transaction Transaction Transaction Transaction Transaction
1 2 3 1 2 3
Data should be fetched from the DMA often enough for the transmit FIFO to perform
serial transfers continuously; that is, when the FIFO begins to empty another DMA
request should be triggered. Otherwise the FIFO will run out of data (underflow). To
prevent this condition, the user must set the watermark level correctly.
Here the number of data items to be transferred in a DMA burst is equal to the empty
space in the Transmit FIFO. Consider two different watermark level settings.
Therefore, the number of burst transactions needed equals the block size divided by
the number of data items per burst:
DMA.CTLx.BLOCK_TS/DMA.CTLx.DEST_MSIZE = 30/6 = 5
The number of burst transactions in the DMA block transfer is 5. But the watermark
level, SSI.DMATDLR, is quite low. Therefore, the probability of an SPI underflow is high
where the SPI serial transmit line needs to transmit data, but where there is no data
left in the transmit FIFO. This occurs because the DMA has not had time to service the
DMA request before the transmit FIFO becomes empty.
22.16.7.3.2 DMATDLR = 6
Therefore, the number of burst transactions needed equals the block size divided by
the number of data items per burst:
DMA.CTLx.BLOCK_TS/DMA.CTLx.DEST_MSIZE = 30/2 = 15
In this block transfer, there are 15 destination burst transactions in a DMA block
transfer. But the watermark level, SSI.DMATDLR, is high. Therefore, the probability of
an SPI underflow is low because the DMA controller has plenty of time to service the
destination burst transaction request before the SPI transmit FIFO becomes empty.
Thus, the second case has a lower probability of underflow at the expense of more
burst transactions per block. This provides a potentially greater amount of bus bursts
per block and worse bus utilization than the former case.
For example, promoting the channel to the highest priority channel in the DMA, and
promoting the DMA initiator interface to the highest priority initiator in the bus layer,
increases the rate at which the DMA controller can respond to burst transaction
requests. This in turn allows you to decrease the watermark level, which improves bus
utilization without compromising the probability of an underflow occurring.
In Case 2: DMATDLR = 6, the amount of space in the transmit FIFO at the time the
burst request is made is equal to the destination burst length, DMA.CTLx.DEST_MSIZE.
Thus, the transmit FIFO may be full, but not overflowed, at the completion of the burst
transaction.
Adhering to equation (2) reduces the number of DMA bursts needed for a block
transfer, and this in turn improves bus utilization.
Note: The transmit FIFO will not be full at the end of a DMA burst transfer if the SPI has
successfully transmitted one data item or more on the SPI serial transmit line during
the transfer.
Data should be fetched by the DMA often enough for the receive FIFO to accept serial
transfers continuously; that is, when the FIFO begins to fill, another DMA transfer is
requested. Otherwise, the FIFO will fill with data (overflow). To prevent this condition,
the user must correctly set the watermark level.
If the number of data items in the receive FIFO is equal to the source burst length at
the time the burst request is made – DMA.CTLx.SRC_MSIZE – the receive FIFO may be
emptied, but not underflowed, at the completion of the burst transaction. For optimal
operation, DMA.CTLx.SRC_MSIZE should be set at the watermark level; that is:
Adhering to equation (3) reduces the number of DMA bursts in a block transfer, and this
in turn can improve bus utilization.
Note: The receive FIFO will not be empty at the end of the source burst transaction if the SPI
has successfully received one data item or more on the SPI serial receive line during
the burst.
a serial-target device and is actively transferring data. This informs the processor
of possible contention on the serial bus. This interrupt remains set until you read
the multi-initiator interrupt clear register (MSTICR).
• Combined Interrupt Request. OR'ed result of all the above interrupt requests after
masking. To mask this interrupt signal, you must mask all other SPI controller
interrupt requests.
22.16.11 Registers
Please refer to chapter 10 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
22.17.1 Overview
The Intel® PSE GPIO are multiplexed with non Intel® PSE GPIOs and other native
functions, in some cases.
• The assignment of specific pins as Intel® PSE GPIO is performed by the secure
agent like BIOS, using native function (PMode bits in Pad Configuration Register
DW0)
• Intel® PSE has 2 instances of GPIO controllers - each supporting 30 pins, meaning
TGPIO00-TGPIO29 belong to GPIO controller 0 and TGPIO30-TGPIO59 belong to
GPIO controller 1. Also, 20 of these pins per GPIO controller is muxed with Time-
Aware GPIO
The GPIO Pin Direction registers (GPDRx) are used to program the GPIO pins as inputs
or outputs. For a pin configured as an output, write to the GPIO Pin Output Set register
(GPSRx) to set the pin high. Write to the GPIO Pin Output Clear register (GPCx) to clear
the pin to a low level. Writes to GPDRx and GPSRx can take place whether the pin is
configured as an input or an output. If a pin is configured as an input the programmed
output state occurs when the pin is reconfigured as an output.
To validate the state of a GPIO pin, read the GPIO Pin Level register (GPLRx). Software
can read this register at any time to confirm the state of a pin, even if the pin is
configured as an output.
To detect either a rising or a falling edge on each GPIO pin, use the GPIO Rising-Edge
Detect Enable registers (GRERx) and GPIO Falling Edge Detect Enable registers
(GFERx) to enable the respective edge detect mechanism. Note that the edge detect
logic has a built in back to back flop which acts as a debounce. Please refer to the GPIO
Glitch Filter section for details.
All GPIO Interrupt Sources are mapped into one GPIO Controller interrupt going to
either the Arm* Cortex*-M7 or the IA Processor.
When a GPIO capable pin is in GPI mode the input signals enters the glitch filter by
default before reaching the edge detection registers. The glitch filter will filter out any
signal pulses that are smaller than 30ns when the GPIO runs on a 100 MHz clock (clock
period 10 ns). Any pulse shorter than 60 ns will not reach the GPIO edge detection
logic. Any pulse longer than 60 ns will be detected by the GPIO edge detection logic.
There is a bypass mode to bypass the Glitch filter and this is controlled through the
GPIO Glitch Filter Bypass register (GGFR). The GPIO Glitch Filter Bypass registers could
configure the bypass of this glitch filter logic such that the pin inputs directly trigger the
edge-detection register.
22.17.3 Registers
Please refer to chapter 11 of Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
22.18.1 Overview
The Time-Aware GPIO module in Intel® PSE provides the following functions:
• Pulse and Waveform generation on Output pins.
• Pulse width modulation.
• Recording the time at which specific events occur.
• Event Counters to record input events.
• Three Rate and Offset Compensated Timers per Time-Aware GPIO controller block.
These timers are referred to as Tunable Monotonous Timers or TMTs.
• Time stamping events in synchronization with the global time base distributed from
the ART as part of the Time Synchronization Protocol.
• Time stamping events in synchronization with global working or system time bases
distributed through Precision Time Protocol (PTP).
— Note only one TMT can be used to cross-timestamp against various IP timers.
There are two clock sources, namely the 19.2MHz clock or the 200 MHz TMT clock.
Depending on the setting of the TGPIOCTLx.Timer_Mux field the hardware will select
the correct clock source. When the Local ART value is selected the 19.2MHz crystal
clock must be used. For all other TMT timers the hardware selects the 200 MHz TMT
clock.
The TMT is a 96-bit register is composed of: TMTR, TMTL and TMTH registers: The
TMTR register holds the sub ns fraction, the TMTL register holds the ns fraction and the
TMTH register holds the second fraction of the time (note that the upper two bits of the
TMTL register are always zero and the max value of this register is 999,999,999 dec).
When synchronized the TMT registers defines the absolute time relative to PTP “epoch”
which is January 1st 1970 00:00:00 International Atomic Time (TAI).
• Initial Setting - Setting the initial time is done by direct write access to the TMTL
and TMTH registers.
Software should first set the TMTL register and then set the TMTH register. Setting
the TMTR register is meaningless while it represents sub ns units. It is
recommended to disable the timer at programming time using TGPIOCTLx.EN.
• Run Time - During run time the SYSTIM timer value in the TMTR, TMTL and TMTR
registers, is updated periodically each clock cycle according to the following
formula:
— Define: Timer Increment = 5ns (TMT Clock Period) +/- TIMINCA.Incvalue
(Tunable Monotonous Timer Increment Attributes.Increment Value) * (2 to 32)
nsec. Add or subtract the TIMINCA.Incvalue is defined by TIMINCA.ISGN
(Tunable Monotonous Timer Increment Attributes.Increment Sign) (while 0b
means Add and 1b means Subtract)
— Then: TMT = TMT + INC_TIME
• Reading the TMT register by software is done by the following sequence:
— Read the TMTR register
Dynamic update of TMT registers can be done by using the TIMADJ registers by the
following flow.
— Write the Tadjust value and its Sign to the TIMADJ register (the Sign bit
indicates if the Tadjust value should be added or subtracted)
— Following the write access to the TIMADJ register, the hardware repeats the
following two steps at each TMT Clock Period as long as the Tadjust > zero.
• TMT = TMT+ INC_TIME +/- 1 nsec. Add or subtract 1 nsec is defined by
TIMADJ.Sign (while 0bmeans Add and 1b means Subtract) Tadjust = Tadjust - 1
nsec
Note: The TMT timer is incremented monotonically at all times. When updating the
TMT by the TIMADJ and concurrent non-zero TIMINCA, the TMT is incremented each
clock by steps in the range of TMT Clock Period - 1.5ns up to TMT Clock Period + 1.5ns.
For a 200MHz clock the range is 3.5ns up to 6.5ns units.
— As shown above, the time adjustment might take multiple clocks. Software
might write a new value to the TIMADJ register before the hardware completed
the previous adjustment. In such a case, the new value written by software,
overrides the above equation. If such a race is not desired, the software could
check that the previous adjustment is completed by one of the following
methods:
• Wait enough time before accessing the TIMADJ register which guarantees that the
previous update procedure is completed.
• Poll the matched TGPIORIS.TADJ_TMT_GLOBAL_CMPLT/
TGPIORIS.TADJ_TMT_WORKING_CMPLT flag which is set by the hardware each
time the update procedure is completed.
• Enable the TADJ interrupt by setting the TADJ flag in the Time-Aware GPIO Raw
Interrupt Status (TGPIORIS/TGPIOMSC/TGPIOMIS) registers. The TADJ interrupt
indicates that the hardware completed the adjustment procedure. This method is
unlikely to be used in nominal operation since the expected adjustments are in the
sub s range.
1. Each TMT operates at 200MHz.
2. Any TMT can be selected to be used by any Time-Aware GPIO controller as a
counter source.
3. Each TMT can be cross-timestamped against:
a. ART
When the clock source is the 200MHz TMT clock, the Timer input is one of the TMT
registers. For this case the COMPV and PIV registers must be programmed to match the
Seconds and Nano-seconds fields of the TMT. The lower 30 bits of the COMPV/PIV
represent the nanosecond field (max value is 0x3B9A C9FF) and the upper 32 bits
(63:32) represent the Seconds field. Bits 31:30 are zero and don’t care. The PIV bits
[63:29] must be zero when timer source is TMT. When lower 30 bits overflows (exceeds
0x3B9A C9FF) indicating that at least 1 second has been counted then the upper bits of
COMP[63:32] are incremented.
One set of cross-timestamps are captured in the Time-Aware GPIO block for TMT_0,
TMT_1, and TMT_2.
1. Cross-Timestamp between local ART and TMT_0, TMT_1 and TMT_2
22.18.5 Interrupts
Each Time-Aware GPIO instance can generate an interrupt. The interrupt is controlled
by the following registers:
• Time-Aware GPIO Raw Interrupt Status Register
• Time-Aware GPIO Interrupt Mask Control register
• Time-Aware GPIO Masked Interrupt Status register
• Time-Aware GPIO Interrupt Clear register
Each of the outputs of the Time-Aware GPIO Masked Interrupt Status registers can be
connected to the IOAPIC however to reduce the number of interrupts the Time-Aware
GPIO block coalesces interrupts to a single interrupt.
Low Jitter is a requirement for the Sync Out pins. Jitter is a deviation or displacement in
the pulse in terms of pulse width and phase timing (do the rise and fall times move
around). The jitter target is 10ns.
Different Time sources besides the ART can be used to drive the Sync Out pins. This
Time-Aware GPIO module provides a TMT (Tunable Monotonous Timer) which can be
rate and offset tuned by software to match a time base that is common to a network.
Working time counter/Global time counter refers to application usage based names for
TMT counters.
22.18.6.2 Sync In
Time-Aware GPIO pins that are configured as input pins are used to record events that
are triggered by external hardware. The Time-Aware GPIO pins can be configured to
count pulses and trigger an interrupt when a certain number of events have occurred or
trigger an interrupt as soon as there is a transition on the input. Timestamps can be
attached to these events to allow software to synchronize when these events occurred.
Time-Aware GPIO
Controller 13
OSC Clock
Input Clock
ART TSC Input Time Stamp Cntr Interrupt 13
Input Event Cntr Interrupt
GPIO out 13
Event Counter Out GPIO
GPIO out 14
Event Counter Out GPIO
Time-Aware GPIO
Controller 15
Input Clock
Input Time Stamp Cntr Interrupt 15
Input Event Cntr Interrupt
GPIO out 15
Event Counter Out GPIO
Time-Aware GPIO
Controller 16
Input Clock
Input Time Stamp Cntr Interrupt 16
Interrupt
Input Event Cntr
GPIO out 16
Event Counter Out GPIO
The jitter requirement is 10ns or better for the TSG. Note that the jitter between the
TSG pins should also be low.
GPIO out 0
Event Co unter Out GPIO
GPIO out 1
Event Co unter Out GPIO
Inpu t Clock
Inpu t Time Stamp Cntr Interrupt 7
Input Event Cntr Interru pt
GPIO out 7
Event Counter Out GPIO
Time Slice Generator Counter refers to application usage based names for TMT
counters.
00 {GPIO[29:0]}
01 {GPIO[9:0], TGPIO[29:10]}
10 {TGPIO[19:0], GPIO[29:20]}
11 {TGPIO[9:0], GPIO[19:10],
TGPIO[29:20]}
— Therefore, from each cluster 30-pins are coming out, package balls TGPIO0-29
are mapped to one controller (cluster 0) and TGPIO30-59 are mapped to other
controller (cluster 1).
22.18.9 Registers
Please refer to chapter 11 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
22.19.1 Overview
• The I2S controllers are only supported for usage by the Arm* Cortex*-M7 in the
Intel® PSE.
• The I2S controllers provides a three wire serial audio interface Receiver and
transmitter compliant with Phillips I2S specification
• Support Left and Right justified audio modes
• Support max resolution of 32 bit and min resolution of 12bit
• Supports 8-channel TDM per interface. Each interface supports full duplex Tx and
Rx capability
• Supports interface to DMA controller to allow transfer of audio samples directly to
memory from I2S FIFO, which is 128Bytes for TX and 128Bytes for RX
• Supports audio sampling frequencies up to 192KHz. Minimum sampling rate of
8KHz with frequency granularity if <=0.025Hz
• Supports audio sampling rates of 11.025KHz, 12KHz, 16KHz, 18.9KHz, 22.05KHz,
24KHz, 32KHz, 37.8KHz, 44.1KHz and 48KHz
• Supports maximum of 8-channels 16bit audio @ sample rate of 48KHz
• Multi-channel support with 8-channels, 16-bit audio with sample rate of 48KHz
multiplexed over single interface in TDM mode
• Support adjusting sampling frequency while controller is in use
• Support independent enable/disable of Rx and Tx paths without interrupting
operation of the other path
• Support edge triggered frame sync in target mode
Audio data and control signals are transferred separately. Audio data coming from two
channels is time-multiplexed to the data signal. According to the Philips I2S bus
specification revised June 1996, left channel data is transmitted when WS = 0, while
right channel data is transmitted when WS = 1. Serial data is transmitted in two’s
complement with the MSB first. The transmitter always sends the MSB of the next word
one clock period after WS changes. The basic I2S Philips interface timing is illustrated
on the following figure.
The controller includes a Register block. The block is used to change the operation
mode, configure data transmission data rate, resolution, etc. The information about
current state of the I2S controller and the data FIFOs associated with the I2S controller.
Channel width (number of bits in audio channel) can take the following values: 8, 12,
16, 18, 20, 24, 28 or 32. Samples resolution can vary between 2 up to 32. In full-
duplex mode transmission the sample resolution is set separately for transmitting and
receiving.
The SFR (Special Functions Registers) block comprises set of registers that provide
status monitoring and control over the I2S I/O channel and FIFOs. It also includes
interrupt generation unit as well as DMA data transfer support unit.
I2S_CTRL/data_ws_del 1
Standard I2S mode
I2S_CTRL/audio_mode 0
I2S_CTRL/mono_mode 0
I2S_CTRL/data_align 0
I2S_CTRL/data_order 0
I2S_CTRL/mono_mode 0
I2S_CTRL/data_align 0
I2S_CTRL/data_order 0
I2S_CTRL/data_align 1
I2S_CTRL/data_order 0
Regardless of the audio interface configuration the controller may operate in one of the
following transmission modes:
• Initiator Transmitter Mode - Serial data is transmitted through PSE_I2Sx_TXD
output while PSE_I2Sx_SCLK and PSE_I2Sx_SFRM output are driven by internally
generated serial clock and word select, respectively. The controller is responsible
for generating the serial clock signal and the word select signal. Serial clock and
word select signals are synchronized together.
• Initiator Receiver Mode - Serial data is received from PSE_I2Sx_RXD input while
PSE_I2Sx_SCLK and PSE_I2Sx_SFRM output are driven by internally generated
serial clock and word select, respectively. The controller is responsible for
generating the serial clock signal and the word select signal. Serial clock and word
select signals are synchronized together.
• Target Transmitter Mode - Serial data is transmitted through PSE_I2Sx_TXD output
while serial clock and word select are received through PSE_I2Sx_SCLK and
PSE_I2Sx_SFRM, respectively. The serial clock and the word select signals must be
provided by the external initiator device on the I2S bus. To fulfill all the timing
requirements mentioned in the Philips specification revised June 1996, the I2S bus
control signals should be synchronized together.
• Target Receiver Mode - Serial data, serial clock and word select are received
through PSE_I2Sx_RXD, PSE_I2Sx_SCLK and PSE_I2Sx_SFRM, respectively. The
serial clock and the word select signals must be provided by the external initiator
device on the I2S bus. To fulfill all the timing requirements mentioned in the Philips
specification revised June 1996, the I2S bus control signals should be synchronized
together.
• Initiator Full-duplex Mode - Serial data is transmitted through PSE_I2Sx_TXD
output and simultaneously received from PSE_I2Sx_RXD input while
PSE_I2Sx_SCLK and PSE_I2Sx_SFRM outputs are driven by internally generated
serial clock and word select, respectively. The controller is responsible for
generating the serial clock signal and the word select signal. Serial clock and word
select signals are synchronized together.
• Target Full-duplex Mode - Serial data is transmitted through PSE_I2Sx_TXD output
and simultaneously received from PSE_I2Sx_RXD input while PSE_I2Sx_SCLK and
PSE_I2Sx_SFRM outputs are driven by internally generated serial clock and word
select, respectively. The serial clock and the word select signals are sampled from
the PSE_I2Sx_SCLK and PSE_I2Sx_SFRM inputs and must be provided by the
external initiator device on the I2S bus.
In TDM mode, a sequence of audio samples (one for each channel) creates one audio
frame. All frame samples are transferred via serial data line sequentially in appropriate
time slots. The I2S word select signal provides frame synchronization functionality.
PSE_I2Sx_SFRM rising edge indicates the beginning of the first channel time slot in
consecutive audio frames. Concerning the particular solution the PSE_I2Sx_SFRM
signal may back to the default level after one I2S serial clock cycle or after certain
number of channels time slots, but the WS signal has to be at the default level during
the last channel time slot.
The controller operating in TDM interface mode can support up to 8 audio channels.
There is a dedicated SFR register to control the additional transmission properties for
TDM mode and one more to control TDM channels in full-duplex mode. PSE_I2Sx_SCLK
polarity, PSE_I2Sx_SFRM polarity and time slot with reference to PSE_I2Sx_SFRM
delay can be changed through the I2S_CTRL register as for other I2S transmission
modes.
The TDM transmission mode is activated with tdm_en bit from TDM_CTRL register. The
TDM mode control register additionally provides the chn_no field which configures the
number of supported channels in one audio frame. Each channel from 0…chn_no-1
range can be disabled. When audio channel for its corresponding time slot is disabled,
the serial data line is assigned to low logic level. Note that audio samples for only active
channels are read from/written to the FIFO memory in transmitter/receiver mode
respectively. In full-duplex mode each active channel have another two bits in the
TDM_FD_DIR register to enable transmit and/or receive at the channel time slot. In
half-duplex mode channels transmit/receive direction setting is specified by dir_cfg bit
at I2S_CTRL register.
While the I2S word select (PSE_I2Sx_SFRM) signal is used for frame synchronization
the ws_mode configuration filed provided through I2S_CTRL register defines
PSE_I2Sx_SFRM signal format.
Note: This bit has to be explicitly cleared before SFRs are used.
There are two bits in the I2S_CTRL register and one in I2S_CTRL_FDR that, when set
to the '0' state, reset the I2S transceiver or FIFO (i2s_en, fifo_rst and rfifo_rst bits).
Since these reset signals have to be re-synchronized to the internal controller clock, it
takes 2-3 clk clock cycles before the actual reset takes place. This has to be taken into
account, particularly in the case of communication with the FIFO.
The I2S_CTRL[24] register (i2s_stb) controls gating the I2S transceiver clock. When
the i2s_stb = 0 the I2S transceiver clock is enabled. When the i2s_stb = 1 the I2S
transceiver clock is disabled. The I2S transceiver is also disabled when the i2s_stb = 1
(then the i2s_en_r register is cleared). The I2S_CTRL[24] register is connected to the
strobe output. An external synchronizer is required to proper gating the I2S transceiver
clock.
22.19.9 Clocking
I2S bus clock is derived using 100MHz clock fed to M/N divider. Need to program
I2S0_MNDIV_M_VALUE, I2S0_MNDIV_N_VALUE, and I2S0_MNDIV_ENABLE.
22.19.10 Registers
Please refer to chapter 13 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
The initial value for each timer - that is, the value from which it counts down - is loaded
into the timer using the appropriate load count register (TimerNLoadCount). Two
events can cause a timer to load the initial count from its TimerNLoadCount register:
• Timer is enabled after being reset or disabled
• Timer counts down to 0
All interrupt status registers and end-of-interrupt registers can be accessed at any
time.
If you want to enable a timer, you write a “1” to bit 0 of its TimerNControlReg register.
When a timer is enabled and running, its counter decrements on each rising edge of its
clock signal, timer_N_clk. When a timer transitions from disabled to enabled, the
current value of its TimerNLoadCount register is loaded into the timer counter on the
next rising edge of timer_N_clk.
When the timer enable bit is de-asserted and the timer stops running, the timer
counter and any associated registers in the timer clock domain, such as the toggle
register, are asynchronously reset.
When the timer enable bit is asserted, then a rising edge on the timer_en signal is used
to load the initial value into the timer counter. A “0” is always read back when the timer
is not enabled; otherwise, the current value of the timer (TimerNCurrentValue register)
is read back.
When a timer counts down to 0, it loads one of two values, depending on the timer
operating mode:
• User-defined count mode - Timer loads the current value of the TimerNLoadCount
register. Use this mode if you want a fixed, timed interrupt. Designate this mode by
writing a “1” to bit 1 of TimerNControlReg.
• The value that is loaded to the timer - when it counts down to 0 - alternates
between the value of the TimerNLoadCount register and the TimerNLoadCount2
register.
• Free-running mode - Timer loads the maximum value, which is 2^(32 - 1) bits, all
of which are loaded with 1s. The timer counter wrapping to its maximum value
allows time to reprogram or disable the timer before another interrupt occurs. Use
this mode if you want a single timed interrupt. Designate this mode by writing a "0"
to bit 1 of TimerNControlReg.
The toggle output from each of the timers can be pulse-width modulated. The pulse
widths of the toggle outputs are controlled as follows:
• HIGH period = (TimerNLoadCount2 + 1) * timer_N_clk clock period
22.20.1.6 Interrupts
The TimerNIntStatus and TimerNEOI registers handle interrupts in order to ensure safe
operation of the interrupt clearing.
22.20.3 Registers
Please refer to chapter 5 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for description of the registers associated with subject
of this chapter.
22.21.1 Overview
A quadrature encoder peripheral (QEP) is a peripheral designed to interface to a shaft
encoder fitted to either a motor shaft or a user interface dial, as a means to measure
rotational speed, direction, and (optionally) absolute angle of rotation. This interface
has become popular due to its ability to be electrically isolated from the monitored
system, and the absence of frictional components which would wear over time (such as
potentiometers.)
An optional third slit, called Phase Z or “Index”, generates a single pulse at one location
on the wheel which allows for calculating the absolute rotation angle.
90° Phase
The number of slits on the wheel can vary, with the resulting phase signal frequency
being up to the order of 1 MHz. Figure 22-41 is an example of the physical construction
of an encoder; other realizations are possible, but the principle of operation is the
same.
22.21.1.1 Feature
The QEP function supports the following features:
• QEP function is used to measure rotational speed, direction and angle of rotation of
an external motor shaft.
• Capture function to measure input signal ‘Period’ or ‘Duty Cycle’.
• Either function can be enabled (but not both simultaneously).
• Connects to either 2 or 3 digital external inputs via pin mux.
— Inputs referred to as phase A, phase B and Index.
— Phase A and B inputs used to measure speed and direction.
— Index input is optional and is used to measure absolute angle of rotation (of
say a dial).
• Maximum toggle frequency of phase A and B inputs supported is 10MHz. This
applies to both QEP and Capture functions
• Inputs are debounced/filtered, via configurable ‘filter clock’ to ensure clean
transition captured.
— Number of clock cycles that input signal has to be steady before a transition is
detected is configurable. Up to 20 msec of signal ‘noise’ can be rejected.
• Input transition detection can be configured as ‘lo/hi’ or ‘hi/lo’ for QEP.
• Capture function operates on phase A input only, but can be configured to operate
on ‘lo/hi’ or ‘hi/lo’ or both hi and lo transitions.
— Capture ‘free running counter’ clock source (QEPCAPDIV) is configurable. Free
running counter to be configured to run at greater than or equal to 16 x input
signal frequency.
— 8 deep fifo to capture timestamps of up to 8 transition events.
— Interrupt on detection of configurable depth of fifo events.
• Status and control register.
• Interrupt control.
• Watchdog timer to detect ‘stall’ event when the QEP function is enabled. Generates
interrupt when the timer reaches the watchdog comparator value. Activity is
indicated by the QEP ‘load’ signal asserting.
Counter
WEPFLT
Clock
divider pclk
QEPCAPDIV Reset source
(QEPCON)
32 bit up/
PhaseA Noise Edge down reset
Filter select load counter
Quadrature Up/down QEPCOUNT
Decoder
Counter Value
Status & Control Interupt Control
Register Register Counter
QEPCON QEPINT ……… …….. value fifo
QEPCAPBUF
Counter Value
Each input signal can propagate through a programmable noise filter block. This noise
filter is able to remove noise spikes typically seen in motion monitoring applications.
When the QEPCON.FLTx bit is 1, signal pulses shorter or equal to
QEPFLT.MAX_COUNT+2 peripheral clock periods (10ns, since IP clock = 100MHz) will
be ignored. The programmable counter value QEPFLT allows to reject glitches in the
phase signals up to 20ms. Given the minimum period of the peripheral clock
Tpclk=10ns, the size N of the QEPFLT counter is:
Another field of the QEPCON register gives the possibility to swap the quadrature
phases. This might correct possible miswirings in the platform implementation. When
SWPAB=0, Phase A and Phase inputs will be fed to the A and B input ports of the
quadrature counter, respectively. The capture block also will use the edges of Phase A
channel. When SWPAB=1, Phase A and Phase B inputs will be interchanged, resulting in
an inversion of count direction and in capturing information related to Phase B signal.
The following figure illustrates the edge selection and phase swapping logic.
QEP_A
PhA
QEPCON.EDGE_A
QEP_B
PhB
QEPCON.EDGE_B
QEPCON.SWAPAB
QEP_INDX
Index
QEPCON.EDGE_C
The generated “Load” signal provides a count information which has 4x times the
resolution of quadrature phase signals. To do so a pulse generated on every rising/
falling edge of both Phase A and B inputs. This limits the phase frequency fPh to not
violate this expression:
f pclk
f ph ≤ -------
8
where fpclk is the frequency of the peripheral clock, fpclk=100MHz. However, 1MHz is
the maximum phases frequency the design is required to support. The “Up/Down”
signal indicates if the counter has to increment or decrement its count value when a
“Load” pulse is detected. The generation of this signal is based on the phase
relationship between the quadrature pulses.
The following figure shows the functional block diagram of the decoder.
SET
PhA D Q
Up/Down
DIRECTION
Q
CLR
DECODER Ph_err
SET
PhB D Q
CLR Q
Load
pclk
The Up/Down output is high when PhA edges lead PhB ones, as shown in
Figure 22-7(a), is low when PhA edges lag PhB ones, as illustrated in Figure 22-7(b),
and toggles when a pair of consecutive edges on one phase signal occurs when the
other phase is stable, as in the example of Figure 22-7(c). Consequently, the position
counter will be incremented on every “Load” pulse if Up/Down is high, decremented if
Up/Down is low.
Phase A Phase A
Phase A
Phase B Phase B
Phase B
State 00 10 11 01 State 00 01 11 10
State 00 10 00
(a) (b) (c)
The implemented decoding logic determines the positive/negative level of the direction
output from the current ‘state’ of the phases and the one assumed one pclk period
earlier. The state diagram is shown in the following figure.
POSITIVE DIRECTION
00 10 11 01
NEGATIVE DIRECTION
The processor can read the current count value stored in the QEPCOUNT register. This
register can be also cleared by software issuing a write access when the peripheral is
disabled. On operating condition, the counter can be automatically reset either by the
detection of the index pulse or by the counter reaching a particular value defined in the
register QEPMAX. The QEPCON.COUNT_RST_MODE register field enables one of these
two operating modes.
Generally the index marker can be aligned to any transition of Phase A or B and its
width can range between 90 degrees and 540 degrees.
In order to have a continuous counting when the direction changes close to the index
slit, the index pulse needs to be gated to A and B phases before being sent to the
counter. The QEPCON.INDX_GATING register field allows the user to set the state of
Phase A and Phase B signals at which the index pulse will be gated.
The 32-bit counter is clocked through a postscaler (defined by the register QEPCAPDIV)
derived from the peripheral clock. The allowed dividing values are:
1,2,4,8,16,32,64,128. Its count value is readable by the processor through the
QEPCNTR register.
The Capture FIFO has a width of 32-bit and can store 8 data entries. The number of
entries to store in the FIFO is specified in the QEPCON.FIFO_THRE register field. This 3-
bit register field allows to set the “high water mark” threshold at which the FIFO is
considered as full and a dedicated interrupt is issued.
Once that number of samples has been received an optional interrupt may be
generated, and no further entries will be written to the FIFO until the contents have
been read out by the processor through the QEPCAPBUF register. The FIFO can be read
while the module is enabled. A FIFO_EMPTY status bit is available in the QEPCON
register.
22.21.3 Interrupt
Each controller module has several interrupt sources that can be independently
masked. After masking, these active high level interrupts are combined (ORed) onto a
single interrupt output. Disabling the peripheral through the QEPCON.EN bit will cause
the interrupt flags to be synchronously cleared. The lists below are the interrupt
sources (QEPINT_STAT hold the following bits):
• FIFOCRIT Capture Function Event Fifo Critical Interrupt. The number of entries in
the ‘Capture’ fifo has reached the configured threshold level.
• FIFOENTRY Capture Function Event Fifo Entry Interrupt. An entry has been added
to the ‘Capture’ fifo.
• QEPDIR QDP Function Change Of Direction Detected Interrupt. The Quadrature
Decoder has detected that the attached motor (or user dial device) has changed
direction
• QEPRST QEPCOUNT Reset detect Interrupt; The QEPCOUNT can be reset by one of
3 configurable methods: Index Input detect event, comparator match event or
counter ‘roll-over’ event.
• WDT Watchdog Timeout Interrupt. The Watchdog Timer value has reached the
watchdog comparator value.
Note: This function is also referred to as “Quadrature Encoder Peripheral” or QEP in the
literature on this topic.
The flow diagram in the following figure shows an overview of programming the module
to use the QEP functionality.
QEPCON.EN = 0
BANK_ID = 0 – Bank0
1 – Bank1
OPERATION = 0
START = 1
QEP operation in progress
QEP operation completed
QEPCON.OP_MODE = 0
QEPCON.FLT_X
QEPFLT.MAX_COUNT
QEPCON.EDGE_X
QEPCON.SWPAB
QEPCON.COUNT_RST_MODE
QEPCON.INDX_GATING
QEPIN T_MASK.QEPDIR
QEPIN T_MASK.QEPRST_UP
QEPIN T_MASK.QEPRST_DOWN
QEPIN T_MASK.WDT
QEPCON.EN = 1
QEPINT_STAT.QEPDIR QEPINT_STAT.QEPRST_UP
QEPC ON.EN = 0
The following figure shows a typical software flow to follow when programming the
module to work as Capture Compare block.
QEPCON.EN = 0
Enable th e Q EP block:
QEPC ON.EN = 1
No Yes
Interru pt? QEPIN T_STAT.FIFO ENTRY
Yes
QEPCAPBUF.DATA
0 Poll
QEPC ON.FIFO_EMPTY
22.21.6 Registers
Please refer to chapter 9 of Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
When Intel® PSE enters deeper power states like D0i2 and D0i3, the AON clock can be
optionally gated. In these scenarios, the RTC clock Time Synchronous timer is the only
timer operational and hence ensures the Time Synchronous time is kept with a lower
accuracy of RTC period. During D0i2/3 exit, HW updates the AON clock timer with the
RTC timer value. This update could also have an error of one AON clock.
22.23 DMA
22.23.1 Overview
The Intel® PSE supports 3 DMA engines with the following features:
• 8-channel DMA
ARM Owned GbE - Both payload and descriptors have to be in SRAM or DRAM
S/NS - Snooping/Non-Snooping
Peripheral Assignment
The table below shows the peripheral assignments. This assignment holds for the DMA
handshake routine. IA Processor (Local Host) firmware or Intel® PSE firmware will
program the DEVFUNC/Direction in the DMA_XBAR_SELx to allocate a particular
peripheral’s handshake signal to a corresponding DMA channel. If the incorrect
DEVFUNC is programmed, then the DMA_REQ will be driven to 0.
I2C0 TX D8 1 1
I2C1 RX D9 0 2
I2C1 TX D9 1 3
I2C2 RX DA 0 4
I2C2 TX DA 1 5
2
I C3 RX DB 0 6
I2C3 TX DB 1 7
I2C4 RX DC 0 8
I2C4 TX DC 1 9
I2C5 RX DD 0 10
I2C5 TX DD 1 11
2
I C6 RX DE 0 12
I2C6 TX DE 1 13
I2C7 RX C0 0 14
I2C7 TX C0 1 15
UART0 RX 88 0 16
UART0 TX 88 1 17
UART1 RX 89 0 18
UART1 TX 89 1 19
UART2 RX 8A 0 20
UART2 TX 8A 1 21
UART3 RX 8B 0 22
UART3 TX 8B 1 23
UART4 RX 8C 0 24
UART4 TX 8C 1 25
UART5 RX 8D 0 26
UART5 TX 8D 1 27
SPI0 RX 98 0 28
SPI0 TX 98 1 29
SPI1 RX 99 0 30
SPI1 TX 99 1 31
SPI2 RX 9A 0 32
SPI2 TX 9A 1 33
SPI3 RX 9B 0 34
SPI3 TX 9B 1 35
I2S0 RX 8E 0 36
I2S0 TX 8E 1 37
I2S1 RX 8F 0 38
I2S1 TX 8F 1 39
For each DMA there are 8 hardware handshake select registers - one corresponding to
each channel. Each register is 17-bit with lower 8 bits holding the DEVFUNC number
and bit 16 determining the direction of transfer: 0 - RX and 1 - TX.
The DMA driver needs to program this register with the DEVFUNC values corresponding
to the peripheral that is requesting for the DMA channel.
Direct programmed transfers simply mean that the DMA Registers will be programmed
by the CPU directly. For more information on how to program the DMA using this mode
refer to COMMON DMA USAGE FLOWS.
Descriptor based transfers (also referred to as linked list based transfers or multi block
transfers involve setting up a linked list in memory. The format of the linked list is as
follows (or a variation of this)
Once the channel doing the Descriptor based transfer is enabled, the DMA initiates a
read to the address in the Channel Linked List Pointer Register. It programs its own
registers based on the received data and begins the transfer. If the Pointer to next
linked list element is “32’h 00000000” then the DMA assumes that this is the last block
of the transfer. If not, then it fetches the next descriptor and continues with the
transfer. Hence for the latter case, all relevant fields in the CTL_HI/LO registers needs
to be programmed in the memory descriptor itself (i.e. LLi.CTL_HI/LO) and not in the
physical registers (CTL_HI/LO). Also, fields such as channel class/weight should not be
varied from one descriptor blocks to another in linked-list-multi-block transfer for a
certain channel.
At the end of each block the DMA can be configured to generate an interrupt indicating
completion of the block. Alternatively it can generate an interrupt only at the end of the
complete transfer.
The following table lists the parameters that are investigated in the following examples.
The effects of these parameters on the flow of the block transfer are highlighted in the
examples that follow.
All of the above modes assume that the DMA is the flow controller. Peripheral flow
control is not supported by this DMA. For flow control definition refer to Basic
Definitions.
src_single_size_bytes = (2 ^ CTL_LOn.SRC_TR_WIDTH)
dst_single_size_bytes = (2 ^ CTL_LOn.DST_TR_WIDTH)
blk_size_bytes = CTL_HIn.BLOCK_TS
For a basic DMA transfer from the source to the destination the following parameters
will control the transfer.
The transfer will result in reads and writes with Burst-Length set to 4DW with total
transfer for 4DW*4 Bytes per DW = 16 Bytes. Therefore to transfer 48 bytes, 3 reads
and 3 writes will be required to complete the block transfer.
The following programming is required to initiate a linked list based memory to memory
transfer:
Check DMA channel usage bits to figure out which channels are currently in use and
identifying a free channel to be used for the current transfer.
The first location of the Linked list is put in the LLP[n]: Linked List address Register.
Please notice that having a non-zero value in this register is an indication to the DMA
controller that it needs to fetch the descriptor from the memory address pointed to by
LLP[n].
The DMA channel is programmed to either provide interrupts at the end of each block
or at the end of the entire transfer.
On completion of the transfer the “channel in use” status bit is cleared automatically.
For details of the various modes and register programming please refer to the following
table and associated flowchart in the following figure.
Table 22-32. Programming of Transfer Types and Channel Register Update Method
Update Methods
Transfer LLP_SRC_EN RELOAD_SRC LLP_DST_EN RELOAD_DST
LLP.LOC = 0
type (CTL_LOn) (CFG_LOn) (CTL_LOn) (CFG_LOn) CTL_LOn,
SARn DARn Write Back
LLPn
1. C = Contiguous
2. AR = Auto Reload
3. LL = Linked List
Channel IDLE
Valid_LLP_Ptr = (LLP.LOC != 0) &
(LLP_EN == 1)
No Channel Enabled
Src_LLP_En = (CTL_LO.LLP_SRC_EN == 1) & Valid_LLP_Ptr
(LLP_EN == 1)
Yes
Dst_LLP_En = (CTL_LO.LLP_DST_EN == 1) &
(LLP_EN == 1) Fetch Descriptor @ LLP.LOC
Src_WB_En = (CFG_LO.SS_UPD_EN == 1) &
(LLP_EN == 1) &
(LLP_WB_EN == 1) Register Update
Dst_WB_EN = (CFG_LO.DS_UPD_EN == 1) &
(LLP_EN == 1) & 1. Update SAR (if Src_LLP_EN == 1)*
(LLP_WB_EN == 1) 2. Update DAR (if Dst_LLP_EN == 1)*
CtlHi_WB_EN = (CFG_LO.CTLHI_UPD_EN == 1) &
3. Update LLP
(LLP_EN == 1) & 4. Update CTL_LO
(LLP_WB_EN == 1) 5. Update CTL_HI
Src_Reload = CFG_LO.RELOAD_SRC
Disable Channel
Dst_Reload = CFG_LO.RELOAD_DST
(CTL_HI.DONE == 1)
Yes &
Assert Transfer Interrupt
No
Transfer Single Blockc
a. Src_LLP_En in this step is the value of
CTL_LO.LLP_SRC_EN BEFORE it gets updated later in Block Transfer Done
step (4) below.
Capture Update Values (used in next block if
b. Dst_LLP_En in this step Is the value of
CTL_LO.LLP_DST_EN BEFORE it gets updated later in
applicable)*
step (4) below.
1. Capture Src_Reload into (Saved_Src_Reload)
c. Controller decides on SRC/DST start addresses as
2. Capture Dst_Reload into (Saved_Dst_Reload)
follows (^ below means XOR):
3. Capture Src_LLP_EN into (Saved_Src_LLP_EN)
Src_Contiguous_Addr = 4. Capture Dst_LLP_EN into (Saved_Dst_LLP_EN)
(Saved_Dst_Reload ^ Saved_Dst_LLP_En) &
~(Saved_Src_Reload | Saved_Src_LLP_EN)
* All captured values are (0) @ start of multi-
if (Src_Contiguous_Addr) block transfer
Src_Start_Address continues from last SRC address
else
Src_Start_Address loads value from SAR register
No (LLP_WB_EN == 1)
Dst_Contiguous_Addr = &&
(Saved_Src_Reload ^ Saved_Src_LLP_En) &
~(Saved_Dst_Reload | Saved_Dst_LLP_EN)
Valid_LLP_Ptr
if (Dst_Contiguous_Addr)
Dst_Start_Address continues from last DST address Yes
else
Dst_Start_Address loads value from DAR register Write-Back
d. SW uses this wait state to update the values of
CFG_LO.RELOAD_SRC and/or CFG_LO.RELOAD_DST 1. Set Done bit in CTL_HI register
2. Fetch SSTAT (if Src_WB_EN == 1)
3. Fetch DSTAT (if Dst_WB_En == 1)
4. Write-Back LLi.SSTAT (if Src_WB_En == 1)
5. Write-Back LLi.DSTAT (if Dst_WB_En == 1)
6. Write-Back LLi.CTL_HI (if CtlHi_WB_En == 1)
Yes Valid_LLP_PTr
No
&& (Src_Reload || Dst_Reload)
(Src_LLP_EN || Dst_LLP_En)
Yes
No No
StatusBlock[Ch] == 1
Disable Channel
&
Assert Transfer Interrupt
Yes
Wait for Interrupt to Clear
(i.e. StatusBlock[Ch] becomes 0)d
CTLx[63:32] CTLx[63:32]
CTLx[31:0] CTLx[31:0]
LLPx(1) LLPx(1)
DARx DARx
SARx SARx
LLPx(0) LLPx(1) LLPx(2)
Note: The block-complete interrupt is generated at the completion of the block transfer to the
destination.
For rows 6, 8, and 10 of Table 22-37, the DMA transfer does not stall between block
transfers. For example, at the end-of-block N, the DMA automatically proceeds to block
N + 1.
For rows 2, 3, 4, 7, and 9, the DMA transfer automatically stalls after the end-of-block
interrupt is asserted, if the end-of-block interrupt is enabled and unmasked.
The DMA does not proceed to the next block transfer until a write to the ClearBlock[n]
block interrupt clear register, done by software to clear the channel block-complete
interrupt, is detected by hardware.
For rows 2, 3, 4, 7, and 9, the DMA transfer does not stall if either:
• Interrupts are disabled, or
• The channel block interrupt is masked, MaskBlock[n] = 0, where n is the channel
number.
Channel suspension between blocks is used to ensure that the end-of-block ISR
(interrupt service routine) of the next-to-last block is serviced before the start of the
final block commences. This ensures that the ISR has cleared the
CFG_LOn.RELOAD_SRC and/or CFG_LOn.RELOAD_DST bits before completion of the
final block. The reload bits CFG_LOn.RELOAD_SRC and/or CFG_LOn.RELOAD_DST
should be cleared in the end-of-block ISR for the next-to-last block transfer.
All multi-block transfers must end as shown in either Row 1 or Row 5 of the preceding
table. At the end of every block transfer, the DMA samples the row number, and if the
DMA is in the Row 1 or Row 5 state, then the previous block transferred was the last
block and the DMA transfer is terminated.
Note: Rows 1 and 5 are used for single-block transfers or terminating multi-block
transfers. Ending in the Row 5 state enables status fetch and write-back for the last
block. Ending in the Row 1 state disables status fetch and write-back for the last block.
For rows 7 and 9, the end-of-block interrupt service routine that services the next-to-
last block transfer should clear the CFG_LOn.RELOAD_SRC and CFG_LOn.RELOAD_DST
reload bits. The last block descriptor in memory should be set up so that both the
LLI.CTL_LOn.LLP_SRC_EN and LLI.CTL_LOn.LLP_DST_EN registers are 0. If the
LLI.LLPn register of the last block descriptor in memory is non-zero, then the DMA
transfer is terminated in Row 5. If the LLI.LLPn register of the last block descriptor in
memory is 0, then the DMA transfer is terminated in Row 1.
Note: The only allowed transitions between the rows of the preceding table are from
any row into Row 1 or Row 5. As already stated, a transition into row 1 or row 5 is used
to terminate the DMA transfer; all other transitions between rows are not allowed.
Software must ensure that illegal transitions between rows do not occur between
blocks of a multi-block transfer. For example, if block N is in row 10, then the only
allowed rows for block N +1 are rows 10, 5, or 1.
If interrupts are disabled, user can poll for the transfer complete raw interrupt status
register (RawTfr[n], n = channel number) until it is set by hardware, in order to detect
when the transfer is complete. Note that if this polling is used, the software must
ensure that the transfer complete interrupt is cleared by writing to the Interrupt Clear
register, ClearTfr[n], before the channel is enabled.
22.23.3 Registers
Please refer to chapter 4 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel® PSE)
(Document Number: 636723), for a description of the registers associated with subject
of this chapter.
§§
ROM
Intel® Safety Island (Intel® SI)
IO SPI Initiator
Cortex M3
fRCPU_armcm3
IO I2C Target
SRAM
Figure 23-1. Intel® SI Block Diagram
IO FMM
Lock-step DMA
controller
WCET & BCET
Timer
Clock Monitor
Intel® SI fabric
General Purpose
Timers
Config Registers
Periodic Timers
Calibrated Ring
Oscillator(CRO) Intel® SI-PMC IPC
438
Intel® Safety Island (Intel® SI)
ISI_CHX_NOK 1oo2D: NOK of other Intel Atom® x6000E Series processors, Intel®
(ISI_CHX_OKNOK_1) Pentium® and Celeron® N and J Series processors channel
Note: Refer to Section 1.1.1 for more information on initiator and target
• A DMA engine operating in lock-step that fetches Intel® SI's FW during boot and for
data transfer between Intel® SI and system memory during runtime.
• HW based WDT to monitor FW timeout.
• General purpose timers.
• Clock monitors for processor RTC & XTAL clocks as well as Intel® SI's functional
clock.
• Parity protected configuration registers.
• An error collection hub that receives errors from processor, classifies them into
severity levels and reports them to the system or an external MCU by asserting
OKNOK[1:0] or ISI_ALERT_N accordingly.
• RTOS timer used by the FW for WCET (Worst Case Execution Time) & BCET (Best
Case Execution Time) checks.
• 61bit programmable periodic timer with a triple redundant counter.
• General purpose timers.
• Interfaces to an external platform component (I2C target, SPI initiator, SPI target)
• IOSF-primary and IOSF-SB interfaces
• Separate IPC with CSE and PMC
• Mailbox for communication with Punit and Host.
To properly serve functional safety use cases, all diagnostic measures reported via
legacy errors are internally routed to Intel® SI which drives OKNOK[1:0] or ALERT#
accordingly. Some measures don’t use legacy error pins to report to Intel® SI. Intel
provides STLs that have to be executed every DTI (Diagnostic Test Interval) to read
error status registers and report errors to Intel® SI.
Below is the list of legacy error pins routed internally to Intel® SI:
• CATERR_N: For reporting compute die catastrophic error.
• ERR [0]: For reporting PCH die correctable errors.
• ERR [1]: For reporting PCH die non-fatal errors
• ERR [2]: For reporting PCH die fatal errors.
Machine Check Architecture (MCA) Intel Atom® cores, BIU, PTR /CCF, Punit, Parts of Memory
Subsystem
Advanced Error Reporting (AER) as PCIe Root Ports, Root Complex Integrated Endpoints, GBe
defined in the PCI Express* Base Controllers, SATA
Specification, Revision 3.0
Global Error Logic PCIe Root Ports (e.g., external PCIe ports), PCIe Endpoints
behind the Virtual Root Port (e.g., Gbe controller), PCIE Root
Complex Integrated Endpoints, Legacy PCI devices (e.g.,
eSPI)
Local Error Logic Many IPs have local registers which also expose errors. Intel
will supply STLs to monitor these registers and report errors
to Intel® SI.
PROCHOT and THRMTRIP_N THRMTRIP_N triggers on catastrophic over temperature
conditions
ISI_CHX_NOK
(ISI_CHX_OKNOK_1)
Immediately
Signal Power Plane During Reset S3/S4/S5
After Reset
ISI_NOK
(ISI_OKNOK_1)
ISI_CHX_NOK
(ISI_CHX_OKNOK_1)
23.5 Registers
Please refer to chapter 19 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
§§
24.1 Overview
Functional Safety (FuSa) is a requirement for Industrial applications which have to
comply with IEC61508 and other Functional Safety standards. Such standards address
possible hazards caused by malfunctioning behavior of electrical or electronic devices
due to random HW failures and systematic failures. Random HW failures can occur
unpredictably during the lifetime of a hardware component, while systematic failures
are directly related to the process used for designing and developing a component and
therefore can affect both hardware and software. Functional Safety standards provide a
framework of requirements and techniques to determine and reach the appropriate
safety integrity. IEC61508 uses the SIL (Safety Integrity Level) notation, ranging from
SIL1 to SIL4, to specify the necessary requirements that a Functional Safety
application and related components have to fulfill to avoid unreasonable risk.
Other standards like the ISO13849 introduce further notations and requirements for
domain specific safety applications.
§§
25.1 Overview
The processor incorporates a wide variety of devices and functions. The registers within
these devices are mainly accessed through PCI configuration space and IO/MMIO
space. Some devices also have registers that are distributed within the PCH Private
Configuration Space at individual endpoints (Target Port IDs) which are only accessible
through the PCH Sideband Interface. Refer to Section 1.1.1 for more information on
target.
These Compute Die and PCH Private Configuration Space Registers can be addressed
via SBREG_BAR or through SBI Index Data pair programming.
Table 25-1. Private Configuration Space Register Target Port IDs (Sheet 1 of 2)
IOSF-SB
Compute Die Local PCH Local Port ID
Endpoint
Port ID (Hex) (Hex)
Name
iSCLK - 0xAD
Table 25-1. Private Configuration Space Register Target Port IDs (Sheet 2 of 2)
IOSF-SB
Compute Die Local PCH Local Port ID
Endpoint
Port ID (Hex) (Hex)
Name
Note: In most platforms, PCI/PCIe errors are handled directly by the Interrupt and Timer
Sub-System (ITSS) or equivalent functional block.
Additionally, for FuSa SKUs only, the IEH generates three internal error signals for
consumption by the Intel® SI (Safety Island).
1. Fatal Error
2. Non-Fatal Error
3. Correctable Error
80h SERR#
PCIe 0
CCh SERR#
PMC
Note: 1. The SMBus controller can also generate a SERR# in response to a SERR# message
received over the On Package Interface (OPI) from the compute die.
25.3 Registers
Please refer to chapter 3 of Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
§§
26 Legacy Interfaces
Note: 8254 clock gating should be disabled when using the SPKR signal, in order to ensure
reliable operation, by the BIOS setting the ITSSPRC.CGE8254 register bit to 0h
Only two conventions need to 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 is affected as described in the mode definitions.
The new count must follow the programmed count format.
The Timer Control Word (TCW) Register at I⁄O Port 43h controls the operation of all two
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 26-1 lists the six operating modes for the interval counters.
Termination at the end of count Output is 0. When count goes to 0, output goes to 1 and
0
stays at 1 until counter is reprogrammed.
Hardware retriggerable one-shot Output is 0. When count goes to 0, output goes to 1 for
1
one clock time.
Rate generator (divide by n counter) Output is 1. Output goes to 0 for one clock time, then
2
back to 1 and counter is reloaded.
Square wave output Output is 1. Output goes to 0 when counter rolls over, and
3 counter is reloaded. Output goes to 1 when counter rolls
over, and counter is reloaded, and so on
Software triggered strobe Output is 1. Output goes to 0 when count expires for one
4
clock time.
Hardware triggered strobe Output is 1. Output goes to 0 when count expires for one
5
clock time.
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.
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 GATE bit in Port 61h.
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 is the count at the
time the first Counter Latch command was issued.
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, returns the latched count. Subsequent reads return unlatched count.
26.1.3 Registers
Please refer to chapter 22 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
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
Indexregister.
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.
Note: There is one pair of redirection (RTE) registers per interrupt lin bit RTE register.
The Address Remapping for VT-d is based on the Bus:Device:Function field associated
with the requests. Hence, it is required for the internal IOxAPIC to initiate the Interrupt
Messages using a unique Bus:Device:Function.
The register for the programmable IOxAPIC’s Bus:Device:Function is resided under the
Device 31:Function 0 configuration space. This is meeting the robustness and security
requirement as Hypervisor owns the device’s configuration space in the VT-d
environment and thus will provide the appropriate protection against any possible
attack.
26.2.5 Registers
Please refer to chapter 24 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
8259
8259 Connected Pin / Function
Input
Notes: Refer to Section 1.1.1 for more information on initiator and target
The processor cascades the target controller onto the initiator controller through
initiator controller interrupt input 2. This means there are only 15 possible interrupts
for the processor 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 processor. 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. The fowwing table defines the IRR, ISR, and
IMR.
Bit Description
IRR Interrupt Request Register. This bit is set on a low to high transition of
the interrupt line in edge mode, and by an active high level in level mode.
ISR Interrupt Service Register. This bit is set, and the corresponding IRR bit
cleared, when an interrupt acknowledge cycle is seen, and the vector
returned is for that interrupt.
Note: References to ICWx and OCWx registers are relevant to both the initiator and target
8259 controllers.
Initiator, Target
Bits[7:3] Bits[2:0]
Interrupt
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
1. One or more of the Interrupt Request lines (IRQ) are raised high in edge mode, or
seen high in level mode, setting the corresponding IRR bit.
2. The PIC sends INTR active to the processor if an asserted interrupt is not masked.
3. The processor acknowledges the INTR and responds with an interrupt acknowledge
cycle.
4. Upon observing the special cycle, the processor converts it into the two cycles that
the internal 8259 pair can respond to. Each cycle appears as an interrupt acknowledge
pulse on the internal INTA# pin of the cascaded interrupt controllers.
5. Upon receiving the first internally generated INTA# pulse, the highest priority ISR bit
is set and the corresponding IRR bit is reset. On the trailing edge of the first pulse, a
target identification code is broadcast by the initiator to the target on a private, internal
three bit wide bus. The target controller uses these bits to determine if it must respond
with an interrupt vector during the second INTA# pulse.
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 initiator controller.
7. This completes the interrupt cycle. In AEOI mode the ISR bit is reset at the end ofthe
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 initiator controller, and A0h for the target controller.
26.3.2.3 ICWI
A write to the initiator or target 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 initiator controller, or A1h for the target controller, to
complete the ICW sequence.
A write to ICW1 starts the initialization sequence during which the following
automatically occur:
26.3.2.4 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.
26.3.2.5 ICW3
The third write in the sequence (ICW3) has a different meaning for each controller.
• For the initiator controller, ICW3 is used to indicate which IRQ input line is used
tocascade the target controller. Within the processor, IRQ2 is used. Therefore,
MICW3.CCCis set to a 1, and the other bits are set to 0s.
• For the target controller, ICW3 is the target identification code used during an
interrupt acknowledge cycle. On interrupt acknowledge cycles, the initiator
controller broadcasts a code to the target controller if the cascaded interrupt won
arbitration on the initiator controller. The target controller compares this
identification code to the value stored in its ICW3, and if it matches, the target
controller assumes responsibility for broadcasting the interrupt vector.
26.3.2.6 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.
• OCW2 controls the rotation of interrupt priorities when in rotating priority mode, and
controls the EOI function.
• OCW3 sets up ISR/IRR reads, enables/disables the special mask mode (SMM), and
enables/disables polled interrupt mode.
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: 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 target. In this case, the special fully-nested mode is
programmed to the initiator controller. This mode is similar to the fully-nested mode
with the following exceptions:
• When an interrupt request from a certain target is in service, this target is not locked
out from the initiator's priority logic and further interrupt requests from higher priority
interrupts within the target are recognized by the initiator and initiate interrupts to the
processor. In the normal-nested mode, a target 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 target. This is done by sending a
NonSpecific EOI command to the target and then reading its ISR. If it is 0, a non-
specific EOI can also be sent to the initiator.
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 processor, 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. If an ELCR bit is 0, an interrupt request will be recognized
by a low-to-high transition on the corresponding IRQ input. The IRQ input can remain
high without generating another interrupt. If an ELCR bit is 1, an interrupt request will
be recognized by a high level on the corresponding IRQ input and there is no need for
an edge detection. The interrupt request must be removed before the EOI command is
issued to prevent a second interrupt from occurring.
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 processor, 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 initiator and target 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 initiator controller and not
the target controller.
Note: Both the initiator and target 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 initiator controller masks all requests for
service from the target 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 clearedwhere
OCW3.ESMM=1b & OCW3.SMM=0b.
26.3.3 Registers
Please refer to chapter 26 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
Three interrupt features are available: time of day alarm with once a second to once a
month range, periodic rates of 122us – 500 ms, and end of update cycle notification.
Seconds, minutes, hours, days, day of week, month, and year are counted. Daylight
savings compensation is optional.
The hour is represented in twelve or twenty-four hour format, and data can be
represented in BCD or binary format. The design is 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 has 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.
The time and calendar data should match the data mode (BCD or binary) and hour
mode (12 or 24 hour) as selected in register B. Programmer must make sure that data
stored in these locations is within the reasonable values ranges and represents a
possible date and time. The exception to these ranges is to store a value of C0–FFh in
the Alarm bytes to indicate a don’t care situation. All Alarm conditions must match to
trigger an Alarm Flag, which could trigger an Alarm Interrupt if enabled.
The SET bit in register B must be 1 while programming these locations to avoid clashes
with an update cycle. Access to time and date information is done through the RAM
locations. If a RAM read from the ten time and date bytes is attempted during an
update cycle, the value read do not necessarily represent the true contents of those
locations. Any RAM writes under the same conditions are ignored.
The leap year determination for adding a 29th day to February does not take into
account the end-of-the-century exceptions. The logic simply assumes that all years
divisible by 4 are leap years. According to the Royal Observatory Greenwich, years that
are divisible by 100 are typically not leap years. In every fourth century (years divisible
by 400, like 2000), the 100-year-exception is over-ridden and a leap-year occurs.
The year 2100 will be the first time in which the current RTC implementation would
incorrectly calculate the leap-year.
Crystal Input 1: This signal is connected to the 32.768 kHz crystal (max
50K ohm ESR). If using an external oscillator, the RTC_X1 VIH must be within
RTC_X1 I the range of 0.8V to 1.2V (1.2V max) and VIL must be within range of -0.2V
to 0.2V (0.2V max).
Crystal Input 2: This signal is connected to the 32.768 kHz crystal (max
RTC_X2 O 50K ohm ESR). If using an external oscillator, RTC_X2 should be left floating.
RTC Reset: When asserted, this signal resets non-CSE register bits in the
RTC well.
Notes:
1. Unless CMOS is being cleared (only to be done in the G3 power state)
with a jumper, the RTC_TEST_N input must always be high when all
RTC_TEST_N I other RTC power planes are on.
2. In the case where the RTC battery is dead or missing on the platform,
the RTC_TEST_N pin must rise before the DSW_PWROK pin.
3. The specifications provided for the use of an external oscillator has not
been validated on hardware and are provided, as-is and without
warranty, only as a suggestion to aid platform design decisions.
Validation is the sole responsibility of the platform designer.
Secondary RTC Reset :When asserted, this signal resets CSE register
bits in the RTC well.
RTC_RST_N I 1. The RTC_RST_N input must always be high when all other RTC power
planes are on.
2. In the case where the RTC battery is dead or missing on the platform,
the RTC_RST_N pin must rise before the DSW_PWROK pin.
3. RTC_RST_N and RTC_TEST_N should not be shorted together.
Resume Well Reset: This signal is used for resetting the resume power
plane logic. This signal must be asserted for at least 10ms after the
PMC_RSMRST_N I
suspend power wells are valid. When de-asserted, this signal is an
indication that the suspend power wells are stable.
The update cycle will start at least 488 µs after the UIP bit of register A is asserted, and
the entire cycle does not take more than 1984 µs to complete. The time and date RAM
locations (0–9) are disconnected from the external bus during this time.
To avoid update and data corruption conditions, external RAM access to these locations
can safely occur upon the detection of either of two conditions. When a updated-ended
interrupt is detected, almost 999 ms is available to read and write the valid time and
date data. If the UIP bit of Register A is detected to be low, there is at least 488 µs
before the update cycle begins.
Note: The overflow conditions for leap years and daylight savings adjustments are based on
more than one date or time item. To ensure proper operation when adjusting the time,
the new time and data values should be set at least two seconds before one of these
conditions (leap year, daylight savings time adjustments) occurs.
26.4.4 Interrupts
The real-time clock interrupt is internally routed within the PCH to both the I/O APIC
and the 8259. It is mapped to interrupt vector 8. This interrupt does not leave the PCH
prior to connection to the interrupt controller, nor is it shared with any other interrupt.
The High Performance Event Timers (HPET) 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 will
invoke the BIOS and allow it to relock the RAM range.
Note: The GPI strap technique to clear CMOS requires multiple steps to implement. The
system is booted with the jumper in new position, then powered back down. The
jumper is replaced back to the normal position, then the system is rebooted again.
Internet of Things (IoT) Applications, Datasheet, Volume 2 (Book 2 of 3), Mule Creek
Canyon, (Document Number: 636722) is reset by RTC_TEST_N is BUC (Backed Up
Control). The register fields in the Intel Atom® x6000E Series, and Intel® Pentium®
and Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722)
are reset by RTC_TEST_N are Register_B.AIE, Register_C.AF,
TSTS1.NEWCENTURY_STS and TSTS2.INTRD_DET.
A jumper on RTC_RST_N pulled to ground can be used to reset the state of those
battery backed CSE register configuration bits that reside in the RTC power well to their
default state. It is expected in normal operation, however, that RTC_RST_N must only
be asserted when the processor is in a G5 state (All rails removed including
VCC_RTC_3P3).
Note: Capacitors used in the RC delay circuits for RTC_RST_N & RTC_TEST_N should be
evaluated with regards to aging, voltage and temperature characteristics to ensure
reliable operation in the intended operating environment.
ESR ≤ 50 KΩ
26.4.12 Registers
Please refer to chapter 27 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
System Management Link 0 Alert: This signal is used to wake the system
or generate SMI#. External Pull-up resistor required.
SML_ALERT0_N I/O Note: Do not use for PD controller, use PMC_ALERT_N for USB-C PD
controller interrupt request instead.
Detect input from a switch if the system cover is removed. Can generate a
INTRUDER_N I TCO SMI#.
Note: SML_DATA0 and SML_CLK0 should be configured to 3.3V using the multiplexed GPIO's
Individual Voltage Select soft strap.
T C O L e g a c y /C o m p a t ib le M o d e
S M L in k
X
C o n t r o lle r
SPD P C Ie *
u C trl
( S la v e ) D e v ic e
SM Bus
H ost S M B us
L e g a c y S e n s o rs
3 rd P a r ty
( M a s t e r o r S la v e
T C O S la v e N IC
w it h A L E R T )
In TCO Legacy/Compatible mode the PCH can function directly with an external LAN
controller or equivalent external LAN controller to report messages to a network
management console without the aid of the system processor. This is crucial in cases
where the processor is malfunctioning or cannot function due to being in a low-power
state. Table 26-5 includes a list of events that will report messages to the network
management console.
The INTRD_SEL bits in the TCO2_CNT Register (TCTL2) can enable the Intel PCH to
cause an SMI# . The BIOS or interrupt handler can then cause a transition to the S5
state by writing to the PM1_CNT.SLP_EN bitS.
The PD controller’s USB Type-C interrupt request is serviced by PMC through the
following sequence:
• The PMC acquires the USB Type-C connection attributes from the PD controller.
• The PMC set the IRQ acknowledge register bit in the PD controller (if required).
• PD controller is expected to assert the PMC_ALERT_N signal when the content of the
Data Status register changed, and de-assert the PMC_ALERT_N pin when the
“I2C_INT_ACK” bit in the Data Control register is set.
• PD controller is allowed to change the Data Status register content regardless of the
PMC_ALERT_N state.
• PD controller is expected to clear the “HPD_IRQ” bit in the Data Status register when
the “HPD_IRQ_ACK” bit in the Data Control register is set.
2. When PD controller support is enabled by soft strap, the PMC will automatically
access the SMLink interface during early boot despite the corresponding package balls
defaulting to a GP-In. If it does not read logic high on SML_DATA0, the processor fails
to boot.
• The programmable 10-bit timer is decremented approximately every 0.6 seconds and
allows timeouts ranging from 1.2 seconds to 613.8 seconds. The timeout value is
programmable in the TCO_TMR Register (TTMR).
• OS software can periodically reload the processor timer using the TCO_RLD Register
(TRLD). The first TCO Watchdog Timer timeout causes an SMI# allowing SMM based
recovery from OS lockup.
Second hard-coded TCO Watchdog Timer timeout to generate a system reboot by the
processor asserting the active low PMC_PLTRST_N signal:
• This second timer is used only after the first TCO Watchdog Timer timeout occurs.
• The SMI# handler must reload the first timer within 2.4 seconds after it times out to
prevent the second timer from causing a system reboot. A timeout here assumes to be
from a CPU or hardware error and reason to generate a system reset and reboot.
• Option to prevent the system from rebooting after the second timeout via the “No
Reboot” Hard Pin Strap. See Chapter 28 for further details.
26.5.8 Registers
Please refer to Chapter 28 of EDS Volume 2 (Book 2 of 4) for a description of the
registers associated with subject of this chapter.
The PCH provides eight timers. The timers are implemented as a single counter with a
set of comparators. Each timer has its own comparator and value register. The counter
increases monotonically. Each individual timer can generate an interrupt when the
value in its value register matches the value in the main counter.
The registers associated with these timers are mapped to a range in memory space
(much like the I/O APIC). However, it is not implemented as a standard PCI function.
The BIOS reports to the operating system the location of the register space using ACPI.
The hardware can support an assignable decode space; however, BIOS sets this space
prior to handing it over to the operating system. It is not expected that the operating
system will move the location of these timers once it is set by BIOS.
Within any 100-microsecond period, the timer reports a time that is up to two ticks too
early or too late. Each tick is less than or equal to 100 ns; thus, this represents an error
of less than 0.2%.
The timer is monotonic. It does not return the same value on two consecutive reads
(unless the counter has rolled over and reached the same value).
The main counter uses the PCH’s 38.4 XTAL as its clock. The accuracy of the main
counter is as accurate as the crystal that is used in the system.The XTAL clock
frequency is determined by the pin strap that is sampled on PMC_RSMRST_N.
When the 38.4MHz clock is active, the 64-bit counter will increment by one each cycle
of the 38.4MHz clock when enabled. When the 38.4MHz clock is disabled, the timer is
maintained using the RTC clock. The long-term (> 1 msec) frequency drift allowed by
the HPET specification is 500 ppm. The off-load mechanism ensures that it contributes
< 1ppm to this, which will allow this specification to be easily met given the clock
crystal accuracies required for other reasons.
The HPET timer in the PCH runs typically on the 38.4 MHz crystal clock and is off-loaded
to the 32 kHz clock once the processor enters C10. This is the state where there are no
C10 wake events pending and when the off-load calibrator is not running. HPET timer
re-uses this 28-bit calibration value calculated by PMC when counting on the 32-kHz
clock. During C10 entry, PMC sends an indication to HPET to off-load and keeps the
indication active as long as the processor is in C10 on the 32 kHz clock. The HPET
counter will be off-loaded to the 32 kHz clock domain to allow the 38.4 MHz clock to
shut down when it has no active comparators.
The Off-loadable Timer Block consists of a 64b fast clock counter and an 82b slow clock
counter. During fast clock mode the counter increments by one on every rising edge of
the fast clock. During slow clock mode, the 82-bit slow clock counter will increment by
the value provided by the Off-load Calibrator.
The Off-loadable Timer will accept an input to tell it when to switch to the slow RTC
clock mode and provide an indication of when it is using the slow clock mode. The
switch will only take place on the slow clock rising edge, so for the 32 kHz RTC clock the
maximum delay is around 30 microseconds to switch to or from slow clock mode. Both
of these flags will be in the fast clock domain.
When transitioning from fast clock to slow clock, the fast clock value will be loaded into
the upper 64b of the 82b counter, with the 18 LSBs set to zero. The actual transition
through happens in two stages to avoid metastability. There is a fast clock sampling of
the slow clock through a double flop synchronizer. Following a request to transition to
the slow clock, the edge of the slow clock is detected and this causes the fast clock
value to park. At this point the fast clock can be gated. On the next rising edge of the
slow clock, the parked fast clock value (in the upper 64b of an 82b value) is added to
the value from the Off-load Calibrator. On subsequent edges while in slow clock mode
the slow clock counter increments its count by the value from the Off-load Calibrator.
When transitioning from slow clock to fast clock, the fast clock waits until it samples a
rising edge of the slow clock through its synchronizer and then loads the upper 64b of
the slow clock value as the fast count value. It then de-asserts the indication that slow
clock mode is active. The 32 kHz clock counter no longer counts. The 64-bit MSB will be
over-written when the 32 kHz counter is reloaded once conditions are met to enable
the 32 kHz HPET counter but the 18-bit LSB is retained and it is not cleared out during
the next reload cycle to avoid losing the fractional part of the counter.
After initiating a transition from fast clock to slow clock and parking the fast counter
value, the fast counter no longer tracks. This means if a transition back to fast clock is
requested before the entry into off-load slow clock mode completes, the Off-loadable
Timer must wait until the next slow clock edge to restart. This case effectively performs
the fast clock to slow clock and back to fast clock on the same slow clock edge.
In this case, the Legacy Replacement Rout bit (LEG_RT_CNF) is set. This forces the
mapping found in Table 26-6.
IRQ8 IRQ8 In this case, the RTC will not cause any
1
interrupts.
Note: The Legacy Option does not preclude delivery of IRQ0/IRQ8 using processor interrupts messages.
In this case, the Legacy Replacement Rout bit (LEG_RT_CNF) is 0. Each timer has its
own routing control. The interrupts can be routed to various interrupts in the 8259 or
I/O APIC. A capabilities field 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 legacy
interrupts.
For the PCH, the only supported interrupt values are as follows:
Timer 2: IRQ11 (8259 or I/O APIC) and IRQ20, 21, 22, and 23 (I/O APIC only).
Timer 3: IRQ12 (8259 or I/O APIC) and IRQ 20, 21, 22, and 23 (I/O APIC only).
Note: Interrupts from Timer 4, 5, 6, 7 can only be delivered through direct FSB interrupt
messages.
Note: System architecture changes since the HPET specification 1.0 was released have made
some of the terminology used obsolete. In particular the reference to a Front Side Bus
(FSB) has no relevance to current platforms, as this interface is no longer in use. For
consistency with the HPET specification though, the FSB and specifically the FSB
Interrupt Delivery terminology has been maintained. Where the specification refers to
FSB, this should be read as ‘processor message interface’; independent of the physical
attach mechanism.
In this case, the interrupts are mapped directly to processor messages without going to
the 8259 or I/O (x) APIC. To use this mode, the interrupt must be configured to edge-
triggered mode. The Tn_PROCMSG_EN_CNF bit must be set to enable this mode.
When the interrupt is delivered to the processor, the message is delivered to the
address indicated in the Tn_PROCMSG_INT_ADDR field. The data value for the write
cycle is specified in the Tn_PROCMSG_INT_VAL field.
Note: The FSB interrupt deliver option has HIGHER priority and is mutually exclusive to the
standard interrupt delivery option. Thus, if the TIMERn_FSB_EN_CNF bit is set, the
interrupts will be delivered via the FSB, rather than via the APIC or 8259.
The FSB interrupt delivery can be used even when the legacy mapping is used.
For the Intel PCH HPET implementation, the direct FSB interrupt delivery mode is
supported, besides via 8259 or I/O APIC.
When a timer is set up for non-periodic mode, it will generate an interrupt when the
value in the main counter matches the value in the timer’s comparator register.
Another interrupt will be generated when the main counter matches the value in the
timer’s comparator register after a wrap around.
During run-time, the value in the timer’s comparator value register will not be changed
by the hardware. Software can of course change the value.
The Timer 0 Comparator Value register cannot be programmed reliably by a single 64-
bit write in a 32-bit environment except if only the periodic rate is being changed
during run-time. If the actual Timer 0 Comparator Value needs to be reinitialized, then
the following software solution will always work regardless of the environment:
• Set TIMER0_VAL_SET_CNF bit
• Set the lower 32 bits of the Timer0 Comparator Value register
• Set TIMER0_VAL_SET_CNF bit
• Set the upper 32 bits of the Timer0 Comparator Value register
Timer 0 is configurable to 32- (default) or 64-bit mode, whereas Timers 1:7 only
support 32-bit mode.
Warning: Software must be careful when programming the comparator registers. If the value
written to the register is not sufficiently far in the future, then the counter may pass
the value before it reaches the register and the interrupt will be missed. The BIOS
should pass a data structure to the operating system to indicate that the operating
system should not attempt to program the periodic timer to a rate faster than
5 microseconds.
All of the timers support non-periodic mode.
Refer to Section 2.3.9.2.1 of the IA-PC HPET Specification for more details of this
mode.
When a timer is set up for periodic mode, the software writes a value in the timer’s
comparator value register. When the main counter value matches the value in the
timer’s comparator value register, an interrupt can be generated. The hardware will
then automatically increase the value in the comparator value register by the last value
written to that register.
To make the periodic mode work properly, the main counter is typically written with a
value of 0 so that the first interrupt occurs at the right point for the comparator. If the
main counter is not set to 0, interrupts may not occur as expected.
During run-time, the value in the timer’s comparator value register can be read by
software to find out when the next periodic interrupt will be generated (not the rate at
which it generates interrupts). Software is expected to remember the last value written
to the comparator’s value register (the rate at which interrupts are generated).
If software wants to change the periodic rate, it should write a new value to the
comparator value register. At the point when the timer’s comparator indicates a match,
this new value will be added to derive the next matching point.
If the software resets the main counter, the value in the comparator’s value register
needs to reset as well. This can be done by setting the TIMERn_VAL_SET_CNF bit.
Again, to avoid race conditions, this should be done with the main counter halted. The
following usage model is expected:
1. Software clears the ENABLE_CNF bit to prevent any interrupts
2. Software Clears the main counter by writing a value of 00h to it.
3. Software sets the TIMER0_VAL_SET_CNF bit.
4. Software writes the new value in the TIMER0_COMPARATOR_VAL register
Software sets the ENABLE_CNF bit to enable interrupts.
Note: As the timer period approaches zero, the interrupts associated with the periodic timer
may not get completely serviced before the next timer match occurs. Interrupts may
get lost and/or system performance may be degraded in this case.
Each timer is NOT required to support the periodic mode of operation. A capabilities bit
indicates if the particular timer supports periodic mode. he reason for this is that
supporting the periodic mode adds a significant amount of gates.
For the Intel PCH, only timer 0 will support the periodic mode. This saves a substantial
number of gates.
The Device Driver code should do the following for an available timer:
1. Set the Overall Enable bit (Offset 10h, bit 0).
2. Set the timer type field (selects one-shot or periodic).
3. Set the interrupt enable.
4. Set the comparator value.
If the interrupts are mapped to the 8259 or I/O APIC and set for level-triggered mode,
they can be shared with legacy interrupts. They may be shared although it is unlikely
for the operating system to attempt to do this.
If more than one timer is configured to share the same IRQ (using the
TIMERn_INT_ROUT_CNF fields), then the software must configure the timers to level-
triggered mode. Edge-triggered interrupts cannot be shared.
26.6.2 References
Specification Location
26.6.3 Registers
Please refer to Chapter 25 of EDS Volume 2 (Book 2 of 4) for a description of the
registers associated with subject of this chapter.
For systems that enable the Secure Boot, INIT# must be prevented from being issued
upstream to the compute die to cause a CPU-Only Reset. Allowing INIT# to trigger
CPU-Only Reset for Secure Boot enabled systems exposes security vulnerabilities such
as cache reset attacks.
Note: In contrast to most other platforms, SERR# assertion directly from most devices within
the PCH will not be the cause of an NMI. This is because PCI/PCIe errors are handled by
the IEH (Integrated Error Handler) instead. The IEH will transmit a SERR# assertion
instead.
26.7.2 Registers
Please refer to chapter 23 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 2 of 3), Mule Creek Canyon (Document Number: 636722),
for a description of the registers associated with subject of this chapter.
§§
27 Pin Strap
The following signals are used for static configuration. They are sampled at the rising
edge of PMC_DSW_PWROK, PMC_RSMRST_N, or PMC_PCH_PWROK to select
configuration and then revert later to their normal usage. To invoke the associated
mode, the signal should meet both set up and hold time of 1us, with respect to the
rising edge of the sampling signal.
CFG_00 Reserved
Between External pull-up is required. Recommend 1kΩ to VCCIO.
CFG_01 Reserved
PMC_P-
CFG_09 Reserved CH_PWROK This strap should sample HIGH. There should NOT be any
assertion & on-board device driving it to opposite direction during strap
CFG_10 Reserved PMC_PLTRST_ sampling.
N de-
CFG_12 Reserved assertion
CFG_13 Reserved
Boot Strap
GP_C05 GP_H00 GP_H01 GP_H02
Configuration
GP_C05/
PSE_PWM01/ Rising edge of IFWI boot
Boot Strap from SPI
PSE_UART3_CTS PMC_RSMRST 0 0 0 0
0 (eSPI
_N/ _N
enabled)
PSE_TGPIO30
IFWI boot
from SPI
0 1 0 0
(eSPI
disabled)
GP_E18/ Notes:
GP_E19/ 1. An external pull-up resistor is required if the muxed
E19 pins Rising edge of
DDI0_DDC_SCL/ DDC signals are to be connected directly to the HDMI
VCC PMC_RSMRST or DP++ connector.
PSE_PWM13/
configu- _N 2. The internal pull-down is disabled after
PSE_TGPIO24
ration PMC_RSMRST_N de-asserts.
3. This signal is in the primary well.
4. This strap will become RSVD in future (targeted BKC
Beta release), DDC pin voltage is configurable via soft
strap.
Rising edge of A weak external pull-up is required. The pull-up rail will be
GP_F02/
Reserved PMC_RSMRST V1P8A or V3P3A, depending on what I/O voltage the GPIO is
SIO_UART0_TXD
_N configured to.
Notes:
1. The internal pull-down is disabled after
PMC_DSW_PWROK asserts.
2. This signal is in the Deep Sx well.
GP_F10/ 0 = Default
PSE_I2S1_SFRM Rising edge of 1 = Reserved
/ Reserved PMC_RSMRST
AVS_I2S4_SFRM _N Notes:
/PSE_TGPIO15
1. The internal pull-down is disabled after
PMC_RSMRST_N de-asserts.
2. This signal is in the primary well.
§§
In Compute Die, multiple have trace sources stream the data to Intel® Trace Hub
(North) and then either to DRAM or PTI Signals (CFG[00:19]). The Compute Die TAP
link is connected to the PCH package to be exposed on the Merged JTAG port or via
Intel® DCI.
The PCH is the package contains the debug interfaces visible to customers. Besides the
standard open-chassis interfaces such as PCH JTAG, it includes DCI.OOB (4-wire),
DCI.USB2 and DCI.USB3 interfaces too. DCI.OOB (2-wire) is not supported. In
addition, there is a SWJ-DP (Serial Wire JTAG Debug Port) Access Port, running in SWD
mode for Arm* debug and trace capability.
Compute
SW/FW Main
Die (CD) Traces Intel® Memory
Source
Trace Hub
HW (ITH) CFG[19:00]
Traces (North)
Source
CLTAP
CD CFG
MIPI-60
Merged
PCH Processor Port
CLTAP
TAPLINK PCH JTAG
TAP Network
TAP
network
Intel® DCU
Bridge USB Type A
SW/FW
Traces
Intel® Trace DCI.OOB
Source
DCI.USB3 USB 3
Hub (ITH)
xHCI
(South)
Cross DCI.USB2
Trigger Trigger USB 2
Interface to ITH Intel® SI FW
Intel® Traces over DTF
28.1.2 JTAG
This section contains information regarding the testability signals that provides access
to JTAG, Run-control, system control, and observation resources. JTAG (TAP) port is
compatible with the IEEE Standard Test Access Port and Boundary Scan Architecture
1149.1 and 1149.6 Specification, as detailed per device in each BSDL file. JTAG Pin
definitions are from IEEE Standard Test Access Port and Boundary Scan Architecture
(IEEE Std. 1149.1-2013). MIPI-60 Debug Port (Connector) provides access to JTAG
Port. JTAG may also be accessible via Intel® DCI for closed chassis debug usage.
Intel® Trace Hub is a set of silicon features with supported software API. The primary
purpose is to collect trace data from different sources in the system and combine them
into a single output stream with time-correlated to each other. Intel® Trace Hub uses
common hardware interface for collecting time-correlated system traces through
standard destinations (see list below). Intel® Trace Hub adopts industry standard
(MIPI* STPv2) debug methodology for system debug and software development.
• BIOS
• Hardware Traces
• SW and FW Traces
There are multiple destinations to receive trace data from the Intel® Trace Hub:
• Intel® Direct Connect Interface (Intel® DCI)
— DCI.OOB
— DCI.USB2/3
• System Memory
• MIPI-60 Debug Port. The PTI signals are connected to the MIPI-60 port.
the usual additional connectors. This enables easy connectors to production systems
where debug connectors have been removed. The Intel® DCI connection supports JTAG
and processor run-control debug, validation, system trace extraction, DMA read and
write to system memory, OS Debug and scripting. Intel® DCI is implemented using two
primary transport topologies: Intel® DCI.OOB (Direct Connect Interface Out of Band)
and Intel® DCI.USB2/USB3. Formally, these topologies were called Boundary Scan to
Side Band (BDSB) and Debug Class (DbC) respectively.
Note: Refer to Arm* CoreSight Architecture in Arm* website, for more information. Available
at: https://developer.arm.com/architectures/cpu-architecture/debug-visibility-and-
trace/coresight-architecture.
CrashLog is a mechanism to collect debug information into a single location and then
allow access to that data via multiple methods, including the BIOS and OS of the failing
system.
After the system has rebooted, the Crash Data Collector reads the Crash Data from the
Crash Data Storage and makes the data available to either to software and/or back to a
central server to track error frequency and trends.
CPU_JTAG_TCK IN Test Clock Input (TCK): The test clock input provides the clock for
the Scan-Chain 0 JTAG test logic
PCH_JTAG_TCK IN Test Clock Input (TCK): The test clock input provides the clock for
the Scan-Chain 1 JTAG test logic
CPU_JTAG_TMS IN Test Mode Select (TMS): The signal is decoded by the Test Access
Port (TAP) controller to control test operations
PCH_JTAG_TMS
CPU_JTAG_TDI IN Test Data Input (TDI): Serial test instructions and data are received
by the test logic at TDI
PCH_JTAG_TDI
CPU_JTAG_TDO OUT Test Data Output (TDO): TDO is the serial output for test instructions
and data from the test logic defined in this standard
PCH_JTAG_TDO
PCH_JTAG_TRST_N
DBG_PMODE IN/OUT Debug Power Mode Indicator. Signal is used to transmit Compute Die
and PCH power/reset information to the debug tool
CFG[00:19] IN/OUT CFG (Parallel Trace Interface) signals are used for Compute Die
Tracing
BPM[3:0]_N OUT Outputs from the processor that indicate the status of breakpoints
and programmable counters used for monitoring processor
performance.
Note:
1. Directions are specified at Processor
ISI_SWDIO
ISI_SWCLK
PSE_TRACESWO IN/OUT Serial Wire Trace Out for Instrumentation Trace Macrocell (ITM)
traces
ISI_TRACESWO
ISI_TRACEDATA [3:0]
ISI_TRACECLK
Lauterbach TRACE32 is a third party debug tool set supported via the MIPI-60 Debug
Port. Information regarding the available tools can be found here: https://
www.lauterbach.com/frames.html?tools_intel.html
Intel® System Studio is a Software Tools suite for System and IoT Development.
Further information on how to run Intel® DCI through Intel® System Studio System is
available at https://software.intel.com/en-us/articles/system-debugging-via-direct-
connect-interfacedci-of-intel-system-debug. It can be used to run Intel® DCI by using
its component tool called Intel® System Debugger. Details information of the tool is
available at https://software.intel.com/en-us/system-studio.
Note: Intel® DCI and USB 3.1 Gen2 are mutually exclusive.
Instead, this path relies on a special adapter that was developed by Intel called Intel®
SVT Closed Chassis Adapter (CCA). It is a simple data transformation device. This
adapter works together with debug host software and the embedded logic, contain a
back-pressure scheme that makes both sides tolerant of overflow and starvation
conditions, which is equivalent of USB 3.1 Gen2 link layer. This path also use native
Intel® DCI packet protocol instead of USB 3.1 Gen2 protocol.
Besides Intel® SVT CCA, Lauterbach is an example of Third Party Vendor (TPV)
solution. User may use a specific Lauterbach hardware and software configuration to
connect between the Debug Host System and the Target Platform. It need Debug Host
System (Lauterbach CombiProbe) to be in Downstream Facing Port (DFP) mode for
Intel® DCI.OOB support in S0ix and Debug Host System (Lauterbach CombiProbe v2)
can be DFP or Upstream Facing Port (UFP) for Intel® DCI.OOB supports in S0. In Closed
Chassis Debug, Lauterbach debug tools-set is planned as below.
Lauterbach Intel® DCI.OOB - CombiProbe v2 and DCI.OOB Whisker USB Cable via
TRACE32
Further information is available in Debugging via Intel® DCI User Guide from
Lauterbach at http://www2.lauterbach.com/pdf/dci_intel_user.pdf.
- Intel® DCI.USB2 - Provides limited ~35MB/s usable bandwidth, but extends USB
hosting to cover early-boot and low power Sx and S0ix states.
Delayed Authentication Mode (DAM) must be disabled via soft strap when the system is
being put through multiple contiguous S0 > S4 > S0 or S0 > S3 > S0 system state
transitions.
ULINKpro is an example of third party tool for Arm*-based subsystem debug capability.
The tool connects via the Arm* Cortex 20 Pin Debug Connector. It supports for
downloaded programs to target hardware, single-step and examine memory and
register. Information about this tool can be reached at Arm* KEIL website: http://
www.keil.com/support/man/docs/ulinkpro/. This tool can be used with IDE Arm*
Development Studio.
OpenOCD is another way to debug Arm* via the Arm* Cortex 20 Pin Debug Connector.
The OpenOCD aims to provide debugging for embedded target devices. It doesn't
support on tracing capability. This tool can be used with Eclipse IDE. It requires below
adapters and cable for functioning on CRB.
• Arm*-USB-OCD Adapter
• Arm*-JTAG-SWD Adapter
• J-LINK 19-Pin Cortex M Adapter with 20 pins cable
Note: Since the same registers are used for the configuration of Intel® PSE and Intel®
Safety Island (SI) debug access, it is not possible to use different debug access
selections concurrently. For example, it is not possible to concurrently use JTAG (TAP)
for Intel® SI and SWD for Intel® PSE.
MIPI-60
Merged
PCH Processor PCH JTAG Port
CLTAP
TAPLINK (Intel®SI Only)
On-Die JTAG (TAP)
TAP
network
Intel® DCU
Bridge USB Type A
SW/FW
Traces
Intel® Trace DCI.OOB
Source
DCI.USB3 USB 3
Hub (ITH)
Cross Trigger Interface xHCI
(South)
DCI.USB2
Intel® Safety USB 2
Island
ARM Intel® SI FW
SWJDAP JTAG- Traces
DP
MUX SWD /
SWD / JTAG
Select
JTAG SW-
ETM + SWO
DP + SWD Cortex
Intel® PSE FW ETM + SWO Debug +
GPIO
Note: Refer to Chapter 21, “General Purpose Input and Output (GPIO)”, for GPIO Multiplexing
Table (Native Function).
To switch Arm*-DAP from Serial Wire Debug to JTAG (via Intel® CLTAP)
• Write OSE_TAP2OCP_TAP.ARM_JTAG_SW_SWITCH_VAL = 1 to select JTAG mode
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 1 to apply reset
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 0 to release reset
To switch Arm*-DAP from JTAG (via Intel CLTAP) to Serial Wire Debug
• Write OSE_TAP2OCP_TAP.ARM_JTAG_SW_SWITCH_VAL = 0 to select Serial Wire
Debug mode
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 1 to apply reset
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 0 to release reset
Note: Refer to Chapter 21, “General Purpose Input and Output (GPIO)”, for GPIO Multiplexing
Table (Native Function).
To switch Arm*-DAP from Serial Wire Debug to JTAG (via Intel® CLTAP)
• Write OSE_TAP2OCP_TAP.ARM_JTAG_SW_SWITCH_VAL = 1 to select JTAG mode
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 1 to apply reset
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 0 to release reset
To switch Arm*-DAP from JTAG (via Intel® CLTAP) to Serial Wire Debug
• Write OSE_TAP2OCP_TAP.ARM_JTAG_SW_SWITCH_VAL = 0 to select Serial Wire
Debug mode
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 1 to apply reset
• Write OSE_TAP2OCP_TAP.ARM_RST_OVERRIDE_VAL = 0 to release reset
Note:
1. JTAG, SWD, and ETM interfaces.
28.6 References
Specification Location
IEEE Standard Test Access Port and Boundary Scan Architecture http://standards.ieee.org/findstds/
standard/1149.1-2013.html
§§
This chapter describes the key features and requirements that compose Intel® TCC,
split into the respective performance vectors. For each feature, the motivation,
description, software interface (if any), hardware dependencies (if any) and formal
requirements are listed.
Figure 29-1. Intel® TCC Features within System and TSN between Systems
Time Timeliness
TSN (Time-Sensitive Networking) Synchronization
Intel® TCC (Intel® Time Coordinated
Computing)
Processor Compute
Die
TSC
PCH
ART
Audio
Interface
Time-
PCIe aware Network
(PTM) GPIO (TSN)
CAN
Time Synchronization utilizes the standard IEEE Standard 802.1AS capability as the
base feature to enable cross-platform time synchronization. At the high level, the IEEE
Standard 802.1AS implements the following:
• Select the best clock source on the network using the algorithm specified in IEEE
Standard 802.1AS
• Determine the propagation delay through the network
• Calculate the offset between the selected clock source and the local clock
The IEEE Standard 802.1AS timer runs on its Local Time base. It supports a 19.2MHz
crystal oscillator clock determined by a pin-strap based on platform configurations
where it does not require any PLL to be running. The crystal oscillator continues
running when IEEE Standard 802.1AS time synchronization is enabled such that a valid
time stamp is always available when gPTP event messages are transmitted or received.
Before the scheduled start of the stream is carried out, software is expected to trigger
a time synchronization request such that offset tracking between the Local Time base
and the ART is intact and does not roll over.
• TGPIO to capture the current ART value when an edge (rising or falling) is detected
• Modulate the periodic output interval to generate an average interval that is an
arbitrary fraction of the ART period and aligned with the system clock
The I/O from the TGPIO controllers are routed on the board via the PMC_TGPIO0 signal
and PMC_TGPIO1 signal which are connected to pins AN11 and CJ27, respectively.
Intel® PSE supports 40 time-aware GPIOs as native function muxed on GPIO pins. Time
Synchronization supports time-aware GPIO events. The purpose of time-aware GPIO is
to extend time synchronization through GPIO events to comprehend interfaces that do
not support time synchronization natively. By using time-aware GPIO, these interfaces
are able to utilize the time synchronization infra-structure. It provides the linkage
between the ART and the interface devices through the GPIO pin such that devices are
time-aware.
For more information Intel® PSE on time-aware GPIO, please refer to Section 21.3.5,
“Time-Aware GPIO” and Section 22.18, “Time-Aware GPIO”.
The Single Virtual Channel (VC) PCIe0 controller supports 1 virtual channel. The Multi
VC PCIe1, PCIe2 and PCIe3 controllers support 2 virtual channels, VC0 (best effort) and
VC1 (high priority).
IOMMU
TLBid
TLB Module
IO
TLB0 Buffer
TLB1
TLB2
Incoming I/O
Transactions
When the LOCK prefix is used on an unaligned operand, there is the potential for the
operand to span multiple cache lines. In the case where an atomic operation is
necessary across two cache lines, a bus lock is executed. A bus lock stops all cores and
I/Os from initiating transactions, resulting in an increase in latency. This increased
latency can be significant and many real-time applications cannot tolerate the jitter
that a split lock introduces.
On Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J Series
Processors for IoT Applications that support Intel® Time Coordinated Computing
(Intel® TCC), a model-specific, non-architectural version of Level 3 (L3) CAT is
supported. Support for this feature will not be enumerated via CPUID leafs as indicated
in the Intel Software Developer Manuals. For details on how to use L3 CAT, including
information on the number of classes of service, selecting the active class of service,
and more, please consult the Cache Allocation Technology chapter in the Real-Time
Tuning Guide for Intel Atom® x6000E Series Processors.
CAT helps address shared cache resource contention by providing software control of
where data is allocated into the Level 2 (L2) cache and last-level cache (LLC), enabling
isolation and prioritization of key applications. The LLC may also be referred to as a
third level cache, L3. Without CAT, cache resources are shared between applications.
With CAT, cache resources can be partitioned. This partitioning leads to improved
performance determinism.
App[0]: App[1]:
Partition0 Partition
§§
30.1 Overview
This chapter lists the Global Device IDs for the Processor.
4B01 0 31 0 Reserved
4B30 0 30 4 Reserved
Note:
SGMII 1Gb & 2.5Gb Modes share
the same Device ID. The
GCR.LINK_MODE register field
shall be used to configure
operation at 1Gb or 2.5Gb.
4BB8 0 29 7 Reserved
4B49 0 26 2 Reserved
4B62 0 23 0 Reserved
4B63 0 23 0 Reserved
4B76 0 22 7 Reserved
4B7C 0 21 7 Reserved
4B7F 0 20 2 Reserved
4B2C 0 20 3 Reserved
4B33 0 20 3 Reserved
4B34 0 20 3 Reserved
4B35 0 20 3 Reserved
4B36 0 20 3 Reserved
4B6A 0 20 4 Reserved
4B40 0 18 4 Reserved
4B41 0 18 5 Reserved
4B42 0 18 6 Reserved
4B43 0 18 7 Reserved
4B46 0 16 2 Reserved
4B4E 0 16 2 Reserved
4B4F 0 16 2 Reserved
4B50 0 16 2 Reserved
4B5D 0 16 6 Reserved
4B5E 0 16 7 Reserved
4B64 Reserved
4B65 Reserved
4B66 Reserved
4B67 Reserved
4502 0 0 0 Reserved
4504 0 0 0 Reserved
4506 0 0 0 Reserved
4508 0 0 0 Reserved
450A 0 0 0 Reserved
450C 0 0 0 Reserved
450E 0 0 0 Reserved
4510 0 0 0 Reserved
451A 0 0 0 Reserved
4520 0 0 0 Reserved
4524 0 0 0 Reserved
4530 0 0 0 Reserved
4534 0 0 0 Reserved
4536 0 0 0 Reserved
4540 0 2 0 Reserved
4541 0 2 0 Reserved
4550 0 2 0 Reserved
4560-456F 0 2 0
Reserved
§§
A100 VSS
A103 JTAG_PREQ_N
A105 VSS
A108 VSS
A110 RSVD
A112 RSVD
A12 RSVD
A15 USB2_7_DN
A17 VSS
A20 USB2_3_DP
A23 USB2_1_DP
A26 VSS
A28 USB2_4_DP
A31 USB2_6_DP
A34 VSS
A36 USB3_1_TXP
A39 USB3_1_RXN
A4 RSVD
A41 USB3_0_RXP
A44 PCIE_0_RXP/USB3_2_RXP
A47 PCIE_0_TXN/USB3_2_TXN
A50 PCIE_1_TXP/USB3_3_TXP
A53 PCIE_2_TXP
A55 PCIE_4_TXN
A58 PCIE_5_TXP/PSE_GBE0_SGMII_TXP
A6 RSVD
A61 PCIE_7_TXN/PSE_GBE1_SGMII_TXN
A64 PCIE_8_TXP/SATA_0_TXP/GBE_SGMII_TXP
A66 RSVD
A69 VSS
A72 VCCIN_AUX
A75 VCCIN_AUX
A78 VCC_IN_SFR
A80 VCC_OUT_STG
A83 VSS
A86 RSVD
A89 RSVD
A9 VSS
A92 VSS
A94 PCH_JTAG_TMS
A97 PCH_JTAG_TRST_N
AA107 VCCIN
AA109 VCCIN
AA111 VCCIN
AA113 VCCIN
AA2 GP_U02/GBE_PPS/PSE_I2C7_SCL
AA4 GP_U12/ISI_CHX_OKNOK_0
AA6 PMC_SYS_PWROK
AB102 VCCIN
AB104 VCCIN
AB106 VCCIN
AB11 VSS
AB110 VCCIN
AB14 VSS
AB18 GP_C21/PSE_UART4_TXD/SIO_UART2_TXD
AB22 VSS
AB25 VSS
AB29 VSS
AB32 RSVD
AB36 RSVD
AB39 PROC_OPIRCOMP
AB43 VSS
AB46 GP_A06/PSE_GBE0_RGMII_RXCLK
AB50 GP_A05/PSE_GBE0_RGMII_TXCTL
AB53 GP_A02/PSE_GBE0_RGMII_TXD1
AB58 GP_A00/PSE_GBE0_RGMII_TXD3
AB61 VCC_OUT_FET_1P05A
AB65 VSS
AB69 VSS
AB72 VSS
AB76 RSVD
AB8 VSS
AB80 VSS
AB83 VSS
AB86 VCCIN
AB89 VCCIN
AB91 VCCIN
AB93 VCCIN
AB95 VCCIN
AB97 VCCIN
AB99 VCCIN
AC1 VCCA_CLKLDO_1P8
AC108 VCCIN
AC112 VCCIN
AC3 GP_U03/GBE_AUXTS/PSE_I2C7_SDA
AC63 RSVD
AC67 VSS
AC71 VSS
AC74 VSS
AC78 VSS
AD11 GP_U15/ISI_CHX_PMIC_EN/PSE_TGPIO13
AD13 GP_U09/ISI_SPIS_SCLK/ISI_I2CS_SCL/
PSE_TGPIO11
AD15 GP_U11/PSE_QEPB3/PSE_TGPIO11
AD17 VSS
AD19 GP_U08/ISI_SPIS_CS/PSE_TGPIO10
AD2 VSS
AD21 GP_U01/GBE_RST_N/PSE_I2C6_SDA
AD24 GP_U18/ISI_ALERT_N
AD26 GP_U17/ISI_OKNOK_1
AD28 GP_U19/PSE_QEPI3/PSE_TGPIO12
AD30 VSS
AD32 VCC_1P8A
AD35 VSS
AD37 RSVD
AD4 GP_U00/GBE_INT/PSE_I2C6_SCL
AD40 RSVD
AD43 VSS
AD46 VCC_OUT_FIVR_1P05A
AD48 VSS
AD50 VCCIO
AD53 VCCIO
AD56 VCCIO
AD59 VSS
AD61 RSVD
AD7 GP_U16/ISI_OKNOK_0
AD80 VCCIN
AD82 VCCIN
AD85 VCCIN
AD88 VCCIN
AD9 GP_U14/ISI_CHX_RLY_SWTCH
AE1 GP_U06/ISI_SPIM_MISO/PSE_SPI1_MISO
AE102 VCCIN
AE104 VCCIN
AE106 VCCIN
AE110 VCCIN
AE113 VCCIN
AE3 GP_U10/ISI_SPIS_MISO/ISI_I2CS_SDA/
PSE_TGPIO12
AE69 VSS
AE72 RSVD
AE75 RSVD
AE77 VSS
AE84 VCCIN
AE86 VCCIN
AE89 VCCIN
AE91 VCCIN
AE93 VCCIN
AE95 VCCIN
AE97 VCCIN
AE99 VCCIN
AF32 VCC_1P8A
AF35 VCC_1P8A
AF37 VSS
AF40 RSVD
AF43 VSS
AF46 VCC_OUT_FIVR_1P05A
AF48 VCC_OUT_FIVR_1P05A
AF50 VSS
AF53 VCCIO
AG101 VCCIN
AG103 VCCIN
AG108 VCCIN
AG110 VCCIN
AG112 VCCIN
AG2 GP_D14/PSE_QEPB1/PSE_TGPIO38
AG4 GP_D08/PCIE_CLKREQ3_N
AG56 VCCIO
AG59 VSS
AG61 RSVD
AG69 RSVD
AG72 VSS
AG81 VCCIN
AG84 VCCIN
AG86 VCCIN
AG89 VCCIN
AG94 VCCIN
AG96 VCCIN
AH1 RSVD
AH102 VSS
AH104 VSS
AH106 VCCIN
AH3 GP_D17/PSE_PWM04/ISI_SPIM_MOSI/
PSE_TGPIO41
AH91 VSS
AH93 VSS
AH95 VSS
AH97 VSS
AH99 VSS
AJ107 VSS
AJ109 VSS
AJ11 GP_D11/PSE_SPI0_MISO/SIO_SPI2_MISO/
PSE_TGPIO12
AJ13 GP_D10/PSE_SPI0_CLK/SIO_SPI2_CLK/
PSE_TGPIO11
AJ15 GP_D09/PSE_SPI0_CS0_N/SIO_SPI2_CS0_N/
PSE_TGPIO10
AJ17 VSS
AJ19 GP_D04/PSE_PWM02/PSE_SPI1_CS1_N/
PSE_TGPIO36
AJ21 GP_D02/PSE_QEPI0/PSE_SPI1_MISO/
PSE_TGPIO34
AJ24 GP_D03/PSE_PWM06/PSE_SPI1_MOSI/
PSE_TGPIO35
AJ26 GP_D00/PSE_QEPA0/PSE_SPI1_CS0_N/
PSE_TGPIO32
AJ28 VSS
AJ30 VCC_1P8A
AJ32 VCC_1P8A
AJ35 VCC_1P8A
AJ37 VCC_1P8A
AJ40 VSS
AJ43 VCC_OUT_1P05A
AJ46 VCC_OUT_1P05A
AJ48 VCC_OUT_FIVR_1P05A
AJ50 VCC_OUT_FIVR_1P05A
AJ53 VSS
AJ56 VCCIO
AJ59 VCCIO
AJ61 RSVD
AJ69 VSS
AJ7 GP_D18/PSE_PWM05/ISI_SPIS_MOSI/
PSE_TGPIO42
AJ72 VSS
AJ81 VSS
AJ84 VSS
AJ86 VCCIN
AJ89 VCCIN
AJ9 GP_D12/PSE_SPI0_MOSI/SIO_SPI2_MOSI/
PSE_TGPIO13
AK111 VSS
AK113 VSS
AK2 GP_D13/PSE_QEPA1/PSE_TGPIO37
AK4 VSS
AK75 VSS
AK77 VCCIN
AL1 GP_D16/PSE_QEPI1/PSE_TGPIO40
AL106 LP4_0_DQ15/DDR_0_DQ15
AL110 LP4_0_DQ13/DDR_0_DQ13
AL3 GP_D06/PCIE_CLKREQ1_N
AL32 VCC_1P8A
AL35 VCC_1P8A
AL37 VCC_1P8A
AL40 VSS
AL43 RSVD
AL46 VCC_OUT_1P05A
AL48 VCC_OUT_FIVR_1P05A
AL50 VCC_OUT_FIVR_1P05A
AL53 VSS
AL56 VCCIO
AL59 VCCIO
AL61 RSVD
AL64 VSS
AL66 VSS
AL69 VSS
AL72 VCCIN
AL81 VCCIN
AL84 VCCIN
AL86 VCCIN
AL89 VCCIN
AM102 LP4_0_DQ05/DDR_0_DQ05
AM104 VSS
AM108 LP4_0_DQ14/DDR_0_DQ14
AM112 LP4_0_DQ11/DDR_0_DQ11
AM2 GP_D05/PCIE_CLKREQ0_N
AM4 GP_D19/AVS_I2S_MCLK1/PSE_TGPIO43
AM75 RSVD
AM77 VCCIN
AM91 VSS
AM93 LP4_0_DQ00/DDR_0_DQ00
AM95 LP4_0_DQ01/DDR_0_DQ01
AM97 LP4_0_DQS0_DN/DDR_0_DQS0_DN
AM99 LP4_0_DQ03/DDR_0_DQ03
AN11 GP_H19/DDI2_DDC_SDA/PMC_TGPIO0/
PSE_TGPIO20
AN13 GP_H15/PSE_UART1_CTS_N/M2_SKT2_CFG3/
PSE_TGPIO54
AN15 GP_H11/PCIE_CLKREQ5_N/PSE_PWM15
AN17 VSS
AN19 GP_H22/PSE_HSUART1_RE/PSE_TGPIO57
AN21 GP_H20/PSE_PWM07/DDI2_HPD/PSE_TGPIO55
AN24 GP_H17/SD_SDIO_PWR_EN_N
AN26 GP_H23/PSE_HSUART1_EN/PSE_TGPIO58
AN28 VSS
AN30 VCC_3P3A
AN32 VSS
AN35 VCC_1P8A
AN37 VCC_1P8A
AN39 VSS
AN41 VCCIN_AUX
AN43 VCCIN_AUX
AN45 VCCIN_AUX
AN47 VSS
AN49 VCCIN_AUX
AN52 VCCIN_AUX
AN54 VCCIN_AUX
AN56 VSS
AN59 VSS
AN61 RSVD_NCTF
AN64 VSS
AN7 GP_D01/PSE_QEPB0/PSE_SPI1_CLK/PSE_TGPIO33
AN72 VCCIN
AN74 VCCIN
AN81 VCCIN
AN84 VCCIN
AN86 VSS
AN89 VCCIN
AN9 GP_H18/PMC_CPU_C10_GATE_N
AP1 VCC_OUT_1P24A
AP106 VSS
AP110 LP4_0_DQS1_DN/DDR_0_DQS1_DN
AP113 VSS
AP3 VSS
AP36 VSS
AR102 LP4_0_DQ07/DDR_0_DQ07
AR104 VSS
AR108 LP4_0_DQS1_DP/DDR_0_DQS1_DP
AR2 GP_D15/PSE_PWM03/SIO_SPI2_CS1_N/
PSE_SPI0_CS1_N/PSE_TGPIO39
AR32 VCC_3P3A
AR35 VCC_3P3A
AR4 GP_D07/PCIE_CLKREQ2_N
AR49 VCCIN_AUX
AR52 VCCIN_AUX
AR54 VCCIN_AUX
AR56 VCCIN_AUX
AR59 VCCIN_AUX_VCCSENSE
AR61 RSVD_NCTF
AR64 VSS
AR72 VCCIN
AR74 VCCIN
AR81 VCCIN
AR84 VCCIN
AR86 VSS
AR89 VCCIN_SENSE
AR91 VSS
AR93 LP4_0_DQ02/DDR_0_DQ02
AR95 LP4_0_DQ04/DDR_0_DQ04
AR97 LP4_0_DQS0_DP/DDR_0_DQS0_DP
AR99 LP4_0_DQ06/DDR_0_DQ06
AT1 GP_V14/PSE_TGPIO02
AT106 LP4_0_DQ10/DDR_0_DQ10
AT110 LP4_0_DQ08/DDR_0_DQ08
AT112 LP4_0_DQ12/DDR_0_DQ12
AT3 GP_V12/PSE_TGPIO00
AT36 VCC_3P3A
AU11 GP_H14/M2_SKT2_CFG2/PSE_TGPIO53
AU13 GP_H12/PSE_UART1_RXD/M2_SKT2_CFG0/
PSE_TGPIO51
AU15 VSS
AU17 GP_H13/PSE_UART1_TXD/M2_SKT2_CFG1/
PSE_TGPIO52
AU19 GP_H10/PCIE_CLKREQ4_N/PSE_PWM14
AU21 GP_H09/SIO_I2C4_SCL/PSE_PWM13
AU24 GP_H08/SIO_I2C4_SDA/PSE_PWM12
AU26 VSS
AU28 VCC_3P3A
AU30 VCC_3P3A
AU7 GP_H21/PSE_HSUART1_DE/PSE_UART1_RTS_N/
PSE_TGPIO56
AU9 GP_H16/PCIE_LNK_DOWN/DDI2_DDC_SCL
AV102 VSS
AV104 VSS
AV107 VSS
AV109 VSS
AV111 LP4_0_DQ09/DDR_0_DQ09
AV113 VSS
AV2 GP_V11/EMMC_RST_N
AV32 VCC_3P3A
AV35 VCC_3P3A
AV4 GP_V13/PSE_TGPIO01
AV49 VCCIN_AUX
AV52 VCCIN_AUX
AV54 VCCIN_AUX
AV56 VCCIN_AUX
AV59 VCCIN_AUX_VSSSENSE
AV61 RSVD
AV64 VSS
AV72 VCCIN
AV74 RSVD
AV81 VSS
AV84 VCCIN
AV86 VCCIN
AV89 VSSIN_SENSE
AV91 VSS
AV93 VSS
AV95 VSS
AV97 VSS
AV99 VSS
AW1 VCC_RTC_3P3
AW106 LP4_0_DQ31/DDR_0_DQ31
AW3 VSS
AY108 LP4_0_DQ30/DDR_0_DQ30
AY110 LP4_0_DQ29/DDR_0_DQ29
AY32 VCC_3P3A
AY35 VCC_3P3A
AY37 VCC_BYP_1P05
AY46 VCCIN_AUX
AY49 VCCIN_AUX
AY52 VCCIN_AUX
AY54 VCCIN_AUX
AY56 VCCIN_AUX
AY59 VSS
AY61 RSVD
AY64 VSS
AY72 VCCIN
AY74 VSS
AY81 RSVD
AY84 VCCIN
AY86 VCCIN
AY89 RSVD
B10 HSIO_RCOMPP
B101 CPU_JTAG_TRST_N
B105 VSS
B107 SVID_ALERT_N
B109 RSVD
B111 RSVD
B113 RSVD
B13 VSS
B16 USB2_9_DN
B19 USB2_5_DP
B2 RSVD
B22 VSS
B24 USB2_0_DP
B27 USB2_2_DP
B30 VSS
B33 USB2_8_DP
B35 USB3_1_TXN
B37 USB3_0_TXP
B4 VSS
B40 USB3_0_RXN
B43 PCIE_0_RXN/USB3_2_RXN
B46 PCIE_1_RXP/USB3_3_RXP
B48 PCIE_1_TXN/USB3_3_TXN
B51 PCIE_2_TXN
B54 PCIE_3_TXP
B57 PCIE_5_TXN/PSE_GBE0_SGMII_TXN
B6 RSVD
B60 PCIE_6_TXP/GBE_SGMII_TXP
B62 PCIE_8_TXN/SATA_0_TXN/GBE_SGMII_TXN
B65 PCIE_9_TXP/SATA_1_TXP/PSE_GBE1_SGMII_TXP
B68 VCCST_OVERRIDE
B71 VCCIN_AUX
B73 VCCIN_AUX
B76 VCC_OUT_FIVR_1P05A
B79 VCC_IN_ST
B8 RSVD
B82 VCC_IN_STG
B85 RSVD
B87 VSS
B90 RSVD
B93 PCH_JTAGX
B96 VSS
B98 CPU_JTAG_TDO
BA102 LP4_0_DQ21/DDR_0_DQ21
BA104 VSS
BA11 GP_H05/SIO_I2C2_SCL/PSE_PWM09/
PSE_TGPIO11
BA112 LP4_0_DQ27/DDR_0_DQ27
BA13 GP_H04/SIO_I2C2_SDA/PSE_PWM08/
PSE_TGPIO10
BA15 VSS
BA17 GP_H03/PSE_GBE1_PPS/PSE_UART5_CTS_N/
PSE_TGPIO21
BA19 GP_H02/PSE_GBE1_AUXTS/PSE_UART5_RTS_N
BA2 GP_V04/EMMC_DATA3
BA21 GP_H01/PSE_GBE1_RST_N/PSE_UART5_TXD
BA24 GP_H00/PSE_GBE1_INT/PSE_UART5_RXD
BA26 VSS
BA28 VCC_PGPPR
BA30 VCC_PGPPR
BA4 GP_V15/PSE_TGPIO03
BA7 GP_H06/SIO_I2C3_SDA/PSE_I2C5_SDA/
PSE_PWM10
BA9 GP_H07/SIO_I2C3_SCL/PSE_I2C5_SCL/
PSE_PWM11
BA91 VSS
BA93 LP4_0_DQ16/DDR_0_DQ16
BA95 LP4_0_DQ17/DDR_0_DQ17
BA97 LP4_0_DQS2_DN/DDR_0_DQS2_DN
BA99 LP4_0_DQ19/DDR_0_DQ19
BB1 VSS
BB106 VSS
BB110 LP4_0_DQS3_DN/DDR_0_DQS3_DN
BB113 VSS
BB3 GP_V01/EMMC_DATA0
BB32 VSS
BB35 VCC_3P3A
BB37 VCC_3P3A
BB46 VSS
BB49 VCCIN_AUX
BB52 VSS
BB54 VCCIN_AUX
BB56 VCCIN_AUX
BB59 VSS
BB61 VSS
BB64 VSS
BB72 RSVD
BB74 VCCIN
BB81 RSVD
BB84 VCCIN
BB86 VSS
BB89 VSS
BC2 GP_V07/EMMC_DATA6
BC4 GP_V08/EMMC_DATA7
BD102 LP4_0_DQ22/DDR_0_DQ22
BD104 LP4_0_DQ23/DDR_0_DQ23
BD108 LP4_0_DQS3_DP/DDR_0_DQS3_DP
BD110 LP4_0_DQ24/DDR_0_DQ24
BD112 LP4_0_DQ28/DDR_0_DQ28
BD32 VSS
BD35 VCC_BYP_VNN
BD37 VSS
BD46 VCCIN_AUX
BD49 VCCIN_AUX
BD52 VCCIN_AUX
BD54 VCCIN_AUX
BD56 VCC_IN_STG
BD59 VCC_IN_STG
BD61 VCC_IN_STG
BD64 VCC_IN_STG
BD67 VSS
BD70 VSS
BD73 RSVD
BD76 VSS
BD79 VCCIN
BD81 VCCIN
BD84 VCCIN
BD86 VSS
BD89 DDR_1_VREF_CA
BD91 VSS
BD93 LP4_0_DQ18/DDR_0_DQ18
BD95 LP4_0_DQ20/DDR_0_DQ20
BD97 LP4_0_DQS2_DP/DDR_0_DQS2_DP
BD99 VSS
BE1 GP_V02/EMMC_DATA1
BE106 LP4_0_DQ26/DDR_0_DQ26
BE3 GP_V05/EMMC_DATA4
BF102 VSS
BF104 VSS
BF107 VSS
BF109 VSS
BF11 GP_DSW09
BF13 GP_DSW08/PMC_SUSCLK
BF15 GP_DSW07
BF17 VSS
BF19 GP_DSW05/PMC_SLP_S4_N
BF2 GP_V10/EMMC_CLK
BF21 GP_DSW04/PMC_SLP_S3_N
BF24 RSVD
BF26 RSVD
BF28 VCC_3P3A_DSW
BF30 VCC_3P3A_DSW
BF32 VCC_OUT_1P05A
BF35 VCC_BYP_VNN
BF37 VSS
BF4 VSS
BF40 RSVD
BF43 RSVD
BF46 VCCIN_AUX
BF49 VCCIN_AUX
BF52 VCCIN_AUX
BF54 VCCIN_AUX
BF56 VSS
BF59 RSVD
BF61 VCC_IN_STG
BF64 VCC_IN_STG
BF67 VSS
BF7 GP_DSW11
BF70 VSS
BF73 VSS
BF76 VCCIN
BF79 VCCIN
BF81 VCCIN
BF84 VCCIN
BF86 VCCIN
BF89 DDR_0_VREF_CA
BF9 GP_DSW10/PMC_SLP_S5_N
BF91 VSS
BF93 VSS
BF95 VSS
BF97 VSS
BF99 VSS
BG111 LP4_0_DQ25/DDR_0_DQ25
BG113 VSS
BH1 GP_V00/EMMC_CMD
BH106 LP4_0_CKE0/DDR_0_CKE0
BH110 LP4_0_CKE1
BH3 GP_V03/EMMC_DATA2
BH32 VCC_OUT_1P05A
BH35 VSS
BH37 VSS
BH40 VSS
BH43 VSS
BH46 VSS
BH49 VCCIN_AUX
BH52 VCCIN_AUX
BH54 VSS
BH56 VSS
BH59 RSVD
BH61 VCC_IN_STG
BH64 VCC_IN_STG
BH67 VSS
BH70 VSS
BH73 VSS
BH76 VSS
BH79 VSS
BH81 VSS
BH84 VSS
BH86 VSS
BH89 VSS
BJ108 LP4_0_CA0/DDR_0_MA05
BJ112 LP4_0_CA1/DDR_0_MA09
BJ12 VSS
BJ14 VSS
BJ16 VSS
BJ18 VSS
BJ2 VSS
BJ20 VSS
BJ22 VSS
BJ24 VSS
BJ27 VSS
BJ4 GP_V09/EMMC_RCLK
BJ7 VSS
BJ9 VSS
BK1 VCCDSW_OUT_1P05
BK10 GP_DSW03/PMC_PWRBTN_N
BK102 LP4_1_CKE0
BK104 VSS
BK13 GP_DSW02
BK15 VSS
BK17 GP_DSW01/PMC_ACPRESENT
BK19 GP_DSW00/PMC_BATLOW_N
BK21 VSS
BK3 GP_V06/EMMC_DATA5
BK30 VCC_OUT_1P05A
BK32 RSVD
BK35 RSVD
BK38 RSVD
BK41 VSS
BK44 VSS
BK48 VCC_IN_FUSE_V1P05A
BK51 VCC_IN_FUSE_V1P05A
BK54 VDDQ
BK57 VDDQ
BK6 FSPI_CS0_N
BK60 VDDQ
BK63 VDDQ
BK66 VDDQ
BK68 VDDQ
BK72 VDDQ
BK74 VDDQ
BK77 VDDQ
BK8 FSPI_CS1_N
BK80 VDDQ
BK83 VDDQ
BK86 VDDQ
BK89 VDDQ
BK91 VSS
BK93 LP4_1_CS0
BK95 LP4_1_CS1/DDR_0_CS1_N
BK97 LP4_1_CA0/DDR_0_MA13
BK99 LP4_1_CA1/DDR_0_MA15_CAS_N
BL106 VSS
BL110 VSS
BL113 VSS
BL24 VSS
BL27 VSS
BM108 DDR_0_BG1
BM2 RSVD
BM30 VCC_OUT_1P05A
BM32 RSVD
BM35 RSVD
BM38 RSVD
BM4 EMMC_RCOMP
BM41 VSS
BM44 PROC_POPIRCOMP
BM48 VCC_IN_FUSE_V1P05A
BM51 VCC_IN_FUSE_V1P05A
BM54 VDDQ
BM57 VDDQ
BM60 VDDQ
BM63 VDDQ
BM66 VDDQ
BM68 VDDQ
BM72 VDDQ
BM74 VDDQ
BM77 VDDQ
BM80 VDDQ
BM83 VDDQ
BM86 VDDQ
BM89 VDDQ
BN1 RSVD
BN102 LP4_1_CKE1/DDR_0_CKE1
BN104 VSS
BN106 DDR_0_ACT_N
BN110 DDR_0_MA11
BN112 DDR_0_ALERT_N
BN24 VSS
BN27 GP_T04/PSE_GBE0_INT
BN3 RSVD
BN91 VSS
BN93 LP4_1_CA4/DDR_0_BA0
BN95 LP4_1_CA5/DDR_0_MA02
BN97 LP4_1_CA3/DDR_0_MA16_RAS_N
BN99 LP4_1_CA2/DDR_0_MA14_WE_N
BP10 FSPI_MISO_IO1
BP13 FSPI_IO2
BP15 VSS
BP17 FSPI_IO3
BP19 FSPI_CS2_N
BP21 GP_R00/HDA_BCLK/AVS_I2S0_SCLK/
PSE_I2S0_SCLK
BP30 VSS
BP32 VSS
BP35 VSS
BP38 VSS
BP41 VSS
BP44 VSS
BP48 VSS
BP51 VSS
BP54 VDDQ
BP57 VSS
BP6 FSPI_CLK
BP60 VSS
BP63 VSS
BP67 VSS
BP70 VSS
BP73 VSS
BP76 VSS
BP8 FSPI_MOSI_IO0
BP80 VSS
BP83 VSS
BP86 VSS
BR100 VSS
BR104 VSS
BR107 VSS
BR109 DDR_0_MA12
BR111 DDR_0_MA04
BR2 RSVD
BR24 GP_T07/PSE_GBE0_PPS/PSE_TGPIO59
BR27 GP_T11/USB2_OC3_N/PSE_TGPIO06
BR4 VSS
BR91 VSS
BR94 VSS
BR97 VSS
BT1 VSS
BT102 LP4_1_DQ02/DDR_0_DQ34
BT113 VSS
BT3 RSVD
BT30 VSS
BT32 LP4_3_DQ23/DDR_1_DQ55
BT35 LP4_3_DQ18/DDR_1_DQ50
BT38 VSS
BT41 LP4_3_DQ07/DDR_1_DQ39
BT44 LP4_3_DQ02/DDR_1_DQ34
BT48 VSS
BT51 VSS
BT54 VSS
BT57 VSS
BT60 LP4_3_CA1/DDR_1_MA15_CAS_N
BT63 DDR_1_ACT_N
BT67 VSS
BT70 LP4_2_DQ23/DDR_1_DQ23
BT73 LP4_2_DQ18/DDR_1_DQ18
BT76 VSS
BT80 LP4_2_DQ07/DDR_1_DQ07
BT83 LP4_2_DQ02/DDR_1_DQ02
BT86 VSS
BT89 LP4_1_DQ23/DDR_0_DQ55
BT92 LP4_1_DQ18/DDR_0_DQ50
BT96 VSS
BT99 LP4_1_DQ07/DDR_0_DQ39
BU106 DDR_0_MA01
BU108 DDR_0_MA00
BU110 DDR_0_MA03
BU2 RSVD
BU24 GP_T06/PSE_GBE0_AUXTS/USB2_OC1_N
BU27 GP_T15/PSE_UART2_CTS_N/SIO_UART0_CTS_N
BU4 RSVD
BV10 GP_R05/HDA_SDI1/AVS_I2S1_RXD/DMIC_DATA1
BV102 LP4_1_DQ00/DDR_0_DQ32
BV112 DDR_0_MA10
BV13 GP_R06/AVS_I2S1_TXD/DMIC_CLK_A0
BV15 VSS
BV17 GP_R04/HDA_RST_N/DMIC_CLK_A1
BV19 GP_R07/AVS_I2S1_SFRM/DMIC_DATA0
BV21 GP_R01/HDA_SYNC/AVS_I2S0_SFRM/
PSE_I2S0_SFRM
BV30 VSS
BV32 LP4_3_DQ22/DDR_1_DQ54
BV35 LP4_3_DQ16/DDR_1_DQ48
BV38 VSS
BV41 LP4_3_DQ06/DDR_1_DQ38
BV44 LP4_3_DQ00/DDR_1_DQ32
BV48 VSS
BV51 LP4_3_CA4/DDR_1_BA0
BV54 LP4_3_CKE0
BV57 VSS
BV6 GP_R03/HDA_SDI0/AVS_I2S0_RXD/
PSE_I2S0_RXD/DMIC_CLK_B1
BV60 LP4_3_CA0/DDR_1_MA13
BV63 DDR_1_ALERT_N
BV67 VSS
BV70 LP4_2_DQ22/DDR_1_DQ22
BV73 LP4_2_DQ16/DDR_1_DQ16
BV76 VSS
BV8 GP_R02/HDA_SDO/AVS_I2S0_TXD/
PSE_I2S0_TXD/DMIC_CLK_B0
BV80 LP4_2_DQ06/DDR_1_DQ06
BV83 LP4_2_DQ00/DDR_1_DQ00
BV86 VSS
BV89 LP4_1_DQ22/DDR_0_DQ54
BV92 LP4_1_DQ16/DDR_0_DQ48
BV96 VSS
BV99 LP4_1_DQ06/DDR_0_DQ38
BW1 RSVD
BW113 VSS
BW24 VSS
BW27 VSS
BW3 RSVD
BY102 LP4_1_DQS0_DN/DDR_0_DQS4_DN
BY106 VSS
BY110 VSS
BY2 RSVD
BY30 VSS
BY32 LP4_3_DQS2_DP/DDR_1_DQS6_DP
BY35 LP4_3_DQS2_DN/DDR_1_DQS6_DN
BY38 VSS
BY4 VSS
BY41 LP4_3_DQS0_DP/DDR_1_DQS4_DP
BY44 LP4_3_DQS0_DN/DDR_1_DQS4_DN
BY48 VSS
BY51 DDR_1_ODT0
BY54 DDR_1_ODT1
BY57 VSS
BY60 DDR_1_MA10
BY63 DDR_1_MA12
BY67 VSS
BY70 LP4_2_DQS2_DP/DDR_1_DQS2_DP
BY73 LP4_2_DQS2_DN/DDR_1_DQS2_DN
BY76 VSS
BY80 LP4_2_DQS0_DP/DDR_1_DQS0_DP
BY83 LP4_2_DQS0_DN/DDR_1_DQS0_DN
BY86 VSS
BY89 LP4_1_DQS2_DP/DDR_0_DQS6_DP
BY92 LP4_1_DQS2_DN/DDR_0_DQS6_DN
BY96 VSS
BY99 LP4_1_DQS0_DP/DDR_0_DQS4_DP
C100 CPU_JTAG_TCK
C103 MDSI_DE_TE_2
C12 RSVD
C15 USB2_7_DP
C17 VSS
C20 USB2_3_DN
C23 USB2_1_DN
C26 VSS
C28 USB2_4_DN
C31 USB2_6_DN
C34 VSS
C36 USB3_0_TXN
C39 USB3_1_RXP
C41 VSS
C44 PCIE_1_RXN/USB3_3_RXN
C47 PCIE_0_TXP/USB3_2_TXP
C50 VSS
C53 PCIE_3_TXN
C55 PCIE_4_TXP
C58 PCIE_6_TXN/GBE_SGMII_TXN
C61 PCIE_7_TXP/PSE_GBE1_SGMII_TXP
C64 PCIE_9_TXN/SATA_1_TXN/PSE_GBE1_SGMII_TXN
C66 PROC_PWR_GD
C69 VCCIN_AUX
C72 VCCIN_AUX
C75 VCCIN_AUX
C78 VCC_OUT_FIVR_1P05A
C80 VCC_OUT_STG
C83 RSVD
C86 RSVD
C89 RSVD
C92 RSVD
C94 PCH_JTAG_TDI
C97 CPU_JTAG_TMS
CA10 GP_T12/PSE_UART2_RXD/SIO_UART0_RXD
CA108 LP4_0_CLK_DP/DDR_0_CLK0_DP
CA112 LP4_0_CA5/DDR_0_BG0
CA13 GP_T09/PSE_HSUART2_EN
CA15 VSS
CA17 GP_T01/PSE_QEPB2/SIO_I2C6_SCL/PSE_TGPIO09
CA19 GP_T08/USB2_OC2_N/PSE_TGPIO22
CA21 GP_T05/PSE_GBE0_RST_N
CA24 GP_T14/PSE_UART2_RTS_N/SIO_UART0_RTS_N/
PSE_HSUART2_DE
CA27 GP_T02/PSE_QEPI2/SIO_I2C7_SDA/PSE_TGPIO07
CA6 GP_T13/PSE_UART2_TXD/SIO_UART0_TXD
CA8 GP_T10/PSE_HSUART2_RE
CB1 RSVD
CB102 LP4_1_DQ01/DDR_0_DQ33
CB110 LP4_0_CLK_DN/DDR_0_CLK0_DN
CB3 RSVD
CB30 VSS
CB32 VSS
CB35 LP4_3_DQ17/DDR_1_DQ49
CB38 VSS
CB41 LP4_3_DQ05/DDR_1_DQ37
CB44 LP4_3_DQ01/DDR_1_DQ33
CB48 VSS
CB51 LP4_3_CA5/DDR_1_MA02
CB54 LP4_3_CKE1/DDR_1_CKE1
CB57 VSS
CB60 LP4_3_CS1/DDR_1_CS1_N
CB63 DDR_1_MA11
CB67 VSS
CB70 LP4_2_DQ21/DDR_1_DQ21
CB73 LP4_2_DQ17/DDR_1_DQ17
CB76 VSS
CB80 LP4_2_DQ05/DDR_1_DQ05
CB83 LP4_2_DQ01/DDR_1_DQ01
CB86 VSS
CB89 LP4_1_DQ21/DDR_0_DQ53
CB92 LP4_1_DQ17/DDR_0_DQ49
CB96 VSS
CB99 LP4_1_DQ05/DDR_0_DQ37
CC106 LP4_0_CA4/DDR_0_MA07
CC113 LP4_0_CA2/DDR_0_MA06
CC2 RSVD
CC24 GP_T03/SIO_I2C7_SCL/PSE_TGPIO06
CC27 GP_T00/PSE_QEPA2/SIO_I2C6_SDA/PSE_TGPIO08
CC4 RSVD
CD1 PMC_PCH_PWROK
CD102 LP4_1_DQ04/DDR_0_DQ36
CD108 DDR_0_ODT0
CD111 LP4_0_CA3/DDR_0_MA08
CD3 VSS
CD30 VSS
CD32 LP4_3_DQ21/DDR_1_DQ53
CD35 LP4_3_DQ20/DDR_1_DQ52
CD38 VSS
CD41 LP4_3_DQ03/DDR_1_DQ35
CD44 LP4_3_DQ04/DDR_1_DQ36
CD48 VSS
CD51 LP4_3_CA3/DDR_1_MA16_RAS_N
CD54 LP4_3_CA2/DDR_1_MA14_WE_N
CD57 VSS
CD60 LP4_3_CS0
CD63 DDR_1_BG1
CD67 VSS
CD70 LP4_2_DQ19/DDR_1_DQ19
CD73 LP4_2_DQ20/DDR_1_DQ20
CD76 VSS
CD80 LP4_2_DQ03/DDR_1_DQ03
CD83 LP4_2_DQ04/DDR_1_DQ04
CD86 VSS
CD89 LP4_1_DQ19/DDR_0_DQ51
CD92 LP4_1_DQ20/DDR_0_DQ52
CD96 VSS
CD99 LP4_1_DQ03/DDR_0_DQ35
CE10 GP_B02/PMC_VRALERT_N/ESPI_ALERT2_N/
PSE_TGPIO25
CE106 VSS
CE13 GP_B01/PMC_CORE_VID1
CE15 VSS
CE17 GP_B03/CPU_GP2/ESPI_ALERT0_N/PSE_TGPIO26
CE19 GP_B12/PMC_SLP_S0_N
CE21 GP_B22/SIO_SPI1_MOSI/PSE_SPI3_MOSI
CE24 GP_B00/PMC_CORE_VID0
CE27 GP_B20/SIO_SPI1_CLK/PSE_SPI3_CLK
CE6 GPIO_RCOMP
CE8 GP_B16/SIO_SPI0_CLK/PSE_SPI2_CLK
CF102 VSS
CF107 DDR_0_PAR
CF109 VSS
CF111 LP4_0_CS1
CF113 VSS
CF2 RTC_RST_N
CF30 VSS
CF32 LP4_3_DQ19/DDR_1_DQ51
CF35 VSS
CF38 VSS
CF4 PMC_RSMRST_N
CF41 VSS
CF44 VSS
CF48 VSS
CF51 VSS
CF54 VSS
CF57 VSS
CF60 VSS
CF63 VSS
CF67 VSS
CF70 VSS
CF73 VSS
CF76 VSS
CF80 VSS
CF83 VSS
CF86 VSS
CF89 VSS
CF92 VSS
CF96 VSS
CF99 VSS
CG1 VSS
CG105 VSS
CG24 GP_B13/PMC_PLTRST_N
CG27 GP_B19/SIO_SPI1_CS0_N/PSE_SPI3_CS0_N/
ESPI_CS2_N
CH107 VSS
CH109 LP4_1_CLK_DP/DDR_0_CLK1_DP
CH111 LP4_1_CLK_DN/DDR_0_CLK1_DN
CH113 VSS
CH2 RTC_X2
CH30 VSS
CH32 VSS
CH4 INTRUDER_N
CJ10 GP_B23/PCHHOT_N/SIO_SPI1_CS1_N/
PSE_SPI3_CS1_N/PSE_TGPIO28
CJ102 VSS
CJ104 VSS
CJ13 GP_B04/CPU_GP3/ESPI_ALERT1_N/PSE_TGPIO27
CJ15 VSS
CJ17 GP_B15/SIO_SPI0_CS0_N/PSE_SPI2_CS0_N/
ESPI_CS1_N
CJ19 GP_B21/SIO_SPI1_MISO/PSE_SPI3_MISO
CJ21 GP_B17/SIO_SPI0_MISO/PSE_SPI2_MISO
CJ24 GP_B18/SIO_SPI0_MOSI/PSE_SPI2_MOSI
CJ27 GP_B14/SPKR/PMC_TGPIO1/SIO_SPI0_CS1_N/
PSE_SPI2_CS1_N
CJ36 VSS
CJ39 LP4_3_DQ26/DDR_1_DQ58
CJ42 LP4_3_DQ31/DDR_1_DQ63
CJ44 VSS
CJ47 LP4_3_DQ10/DDR_1_DQ42
CJ50 LP4_3_DQ15/DDR_1_DQ47
CJ53 VSS
CJ56 LP4_2_CS0/DDR_1_CS0_N
CJ59 DDR_1_MA01
CJ6 GP_B10/SIO_I2C5_SCL/PSE_I2C2_SCL/
ESPI_ALERT3_N
CJ61 VSS
CJ64 LP4_2_CA4/DDR_1_MA07
CJ67 LP4_2_CKE0/DDR_1_CKE0
CJ70 VSS
CJ73 LP4_2_DQ26/DDR_1_DQ26
CJ76 LP4_2_DQ31/DDR_1_DQ31
CJ79 VSS
CJ8 GP_B09/SIO_I2C5_SDA/PSE_I2C2_SDA/
ESPI_CS3_N
CJ82 LP4_2_DQ10/DDR_1_DQ10
CJ85 LP4_2_DQ15/DDR_1_DQ15
CJ87 VSS
CJ90 LP4_1_DQ26/DDR_0_DQ58
CJ93 LP4_1_DQ31/DDR_0_DQ63
CJ96 VSS
CJ99 LP4_1_DQ10/DDR_0_DQ42
CK1 VSS
CK100 LP4_1_DQS1_DN/DDR_0_DQS5_DN
CK106 DDR_0_ODT1
CK109 LP4_0_CS0/DDR_0_CS0_N
CK111 DDR_0_BA1
CK113 VSS
CK2 RTC_X1
CK31 GP_B08/PSE_I2C1_SDA/PSE_TGPIO09
CK4 VSS
CK40 VSS
CK49 VSS
CK57 VSS
CK66 VSS
CK75 VSS
CK83 VSS
CK92 VSS
CL104 LP4_1_DQ15/DDR_0_DQ47
CL35 VCCSFR_OC
CL38 LP4_3_DQ24/DDR_1_DQ56
CL43 LP4_3_DQ30/DDR_1_DQ62
CL46 LP4_3_DQ08/DDR_1_DQ40
CL51 LP4_3_DQ14/DDR_1_DQ46
CL55 DDR_1_PAR
CL60 DDR_1_MA00
CL64 LP4_2_CA2/DDR_1_MA06
CL69 LP4_2_CA0/DDR_1_MA05
CL72 LP4_2_DQ24/DDR_1_DQ24
CL77 LP4_2_DQ30/DDR_1_DQ30
CL81 LP4_2_DQ08/DDR_1_DQ08
CL86 LP4_2_DQ14/DDR_1_DQ14
CL89 LP4_1_DQ24/DDR_0_DQ56
CL94 LP4_1_DQ30/DDR_0_DQ62
CL98 LP4_1_DQ08/DDR_0_DQ40
CM1 RSVD
CM10 VSS
CM100 LP4_1_DQS1_DP/DDR_0_DQS5_DP
CM102 LP4_1_DQ14/DDR_0_DQ46
CM105 RSVD
CM107 LP4__VTT_CTL/DDR_VTT_CTL
CM109 VSS
CM111 LP4_RCOMP0/DDR_RCOMP0
CM113 VSS
CM13 GP_B11/PMC_ALERT_N/PSE_TGPIO06
CM16 GP_G22/ESPI_RST0_N
CM19 VSS
CM2 PMC_DSW_PWROK
CM22 GP_G14/AVS_I2S3_RXD/DMIC_CLK_B1/
PSE_TGPIO09
CM24 GP_G19/AVS_I2S1_SCLK
CM27 VSS
CM30 GP_G01/SD_SDIO_D0
CM33 GP_G03/SD_SDIO_D2
CM4 PMC_SLP_SUS_N
CM40 LP4_3_DQS3_DN/DDR_1_DQS7_DN
CM42 LP4_3_DQ29/DDR_1_DQ61
CM49 LP4_3_DQS1_DN/DDR_1_DQS5_DN
CM51 LP4_3_DQ13/DDR_1_DQ45
CM57 LP4_3_CLK_DN/DDR_1_CLK1_DN
CM59 DDR_1_MA04
CM6 RSVD
CM66 LP4_2_CLK_DN/DDR_1_CLK0_DN
CM68 LP4_2_CA1/DDR_1_MA09
CM75 LP4_2_DQS3_DN/DDR_1_DQS3_DN
CM77 LP4_2_DQ29/DDR_1_DQ29
CM8 PMC_WAKE_N
CM83 LP4_2_DQS1_DN/DDR_1_DQS1_DN
CM85 LP4_2_DQ13/DDR_1_DQ13
CM92 LP4_1_DQS3_DN/DDR_0_DQS7_DN
CM94 LP4_1_DQ29/DDR_0_DQ61
CN12 GP_B05/PSE_I2C0_SCL/PSE_TGPIO06
CN15 VSS
CN17 GP_G21/ESPI_CLK
CN20 GP_G18/ESPI_IO3
CN23 VSS
CN26 GP_G10/AVS_I2S2_RXD/DMIC_DATA1
CN29 GP_G00/SD_SDIO_CMD
CN31 VSS
CN34 VCCSFR_OC
CN36 VSS
CN38 LP4_3_DQ25/DDR_1_DQ57
CN44 VSS
CN47 LP4_3_DQ09/DDR_1_DQ41
CN53 VSS
CN55 LP4_2_CS1
CN61 VSS
CN64 LP4_2_CA5/DDR_1_BG0
CN70 VSS
CN73 LP4_2_DQ25/DDR_1_DQ25
CN79 VSS
CN81 LP4_2_DQ09/DDR_1_DQ09
CN87 VSS
CN90 LP4_1_DQ25/DDR_0_DQ57
CN96 VSS
CN98 LP4_1_DQ09/DDR_0_DQ41
CP100 VSS
CP102 LP4_1_DQ13/DDR_0_DQ45
CP105 VSS
CP107 LP4_RCOMP2/DDR_RCOMP2
CP109 LP4_RCOMP1/DDR_RCOMP1
CP111 VSS
CP2 RSVD
CP37 LP4_3_DQ28/DDR_1_DQ60
CP4 RTC_TEST_N
CP40 LP4_3_DQS3_DP/DDR_1_DQS7_DP
CP42 LP4_3_DQ27/DDR_1_DQ59
CP46 LP4_3_DQ12/DDR_1_DQ44
CP48 LP4_3_DQS1_DP/DDR_1_DQS5_DP
CP51 LP4_3_DQ11/DDR_1_DQ43
CP54 DDR_1_BA1
CP57 LP4_3_CLK_DP/DDR_1_CLK1_DP
CP59 DDR_1_MA03
CP6 VSS
CP63 LP4_2_CA3/DDR_1_MA08
CP66 LP4_2_CLK_DP/DDR_1_CLK0_DP
CP68 LP4_2_CKE1
CP72 LP4_2_DQ28/DDR_1_DQ28
CP74 LP4_2_DQS3_DP/DDR_1_DQS3_DP
CP77 LP4_2_DQ27/DDR_1_DQ27
CP8 PMC_DRAM_RESET_N
CP80 LP4_2_DQ12/DDR_1_DQ12
CP83 LP4_2_DQS1_DP/DDR_1_DQS1_DP
CP85 LP4_2_DQ11/DDR_1_DQ11
CP89 LP4_1_DQ28/DDR_0_DQ60
CP91 LP4_1_DQS3_DP/DDR_0_DQS7_DP
CP94 LP4_1_DQ27/DDR_0_DQ59
CP97 LP4_1_DQ12/DDR_0_DQ44
CR1 VSS
CR10 VCC_RTC_EXT
CR113 RSVD
CR13 GP_B06/PSE_I2C0_SDA/PSE_TGPIO07
CR16 GP_G15/ESPI_IO0
CR19 GP_G17/ESPI_IO2
CR22 GP_G13/AVS_I2S3_TXD/DMIC_CLK_B0/
PSE_TGPIO08
CR24 GP_G12/AVS_I2S3_SFRM/SATA_1_GP/
SATAXPCIE_1/DMIC_DATA1/PSE_TGPIO31
CR27 GP_G08/AVS_I2S2_SFRM/DMIC_DATA0
CR30 GP_G23/SD_SDIO_WP
CR33 GP_G04/SD_SDIO_D3
CT101 LP4_1_DQ11/DDR_0_DQ43
CT104 VSS
CT107 VSS
CT110 VSS
CT112 RSVD
CT12 GP_B07/PSE_I2C1_SCL/PSE_TGPIO08
CT15 GP_G16/ESPI_IO1
CT17 GP_G20/ESPI_CS0_N
CT2 RSVD
CT20 GP_G09/AVS_I2S2_TXD/DMIC_CLK_A1
CT23 GP_G11/AVS_I2S3_SCLK/DMIC_DATA0/
PSE_TGPIO07
CT26 GP_G07/AVS_I2S2_SCLK/DMIC_CLK_A0
CT29 GP_G06/SD_SDIO_CLK
CT31 GP_G05/SD_SDIO_CD_N
CT34 GP_G02/SD_SDIO_D1
CT36 VDDQ
CT39 VSS
CT4 VSS
CT44 VDDQ
CT48 VSS
CT53 VDDQ
CT57 VSS
CT6 VSS
CT61 VDDQ
CT65 VSS
CT70 VDDQ
CT74 VSS
CT79 VDDQ
CT82 VSS
CT87 VDDQ
CT9 VSS
CT91 VSS
CT96 VDDQ
D1 RSVD
D10 RSVD
D101 JTAG_PRDY_N
D105 SVID_DATA
D107 SVID_CLK
D109 PROCHOT_N
D111 VSS
D113 RSVD
D13 VSS
D16 USB2_9_DP
D19 USB2_5_DN
D2 VSS
D22 VSS
D24 USB2_0_DN
D27 USB2_2_DN
D30 VSS
D33 USB2_8_DN
D35 VSS
D37 VSS
D4 USB2_RCOMP
D40 VSS
D43 VSS
D46 VSS
D48 VSS
D51 VSS
D54 VSS
D57 VSS
D6 RSVD
D60 VSS
D62 VSS
D65 VSS
D68 VCCST_PWRGD
D71 VCCIN_AUX
D73 VCCIN_AUX
D76 VCCIN_AUX
D79 VCC_OUT_FIVR_1P05A
D8 HSIO_RCOMPN
D82 VCC_IN_STG
D85 RSVD
D87 RSVD
D90 EDP_UTILS/MDSI_DE_TE_1
D93 PCH_JTAG_TCK
D96 PCH_JTAG_TDO
D98 CPU_JTAG_TDI
E1 RSVD
E107 VSS
E109 DDI0_RCOMP
E111 RSVD
E113 VSS
E2 RSVD
E4 GP_F02/SIO_UART0_TXD
F101 DDI1_TXN1
F104 VSS
F11 GP_F13/AVS_I2S4_SFRM/PSE_SWDIO/ISI_SWDIO
F14 GP_F17/PSE_TRACEDATA_3/ISI_TRACEDATA_3/
PSE_TGPIO50
F18 GP_C18/PSE_I2C4_SDA/SML_DATA0/
SIO_I2C1_SDA
F22 GP_C13/PSE_UART0_TXD/SIO_UART1_TXD
F25 GP_C02/PSE_PWM00/SMB_ALERT_N/PSE_TGPIO29
F29 GP_E13
F32 GP_E01
F36 GP_E07/DDI1_DDC_SCL/CPU_GP1/PSE_TGPIO16
F39 GP_E03/DDI1_HPD/PNL_MISC_DDI1/CPU_GP0/
PSE_TGPIO15
F43 GP_E10
F46 GP_E15/PSE_I2S0_RXD/PSE_CAN0_TX/
PSE_TGPIO17
F50 PCIE_3_RXN
F53 PCIE_4_RXN
F58 PCIE_6_RXN/GBE_SGMII_RXN
F61 PCIE_5_RXN/PSE_GBE0_SGMII_RXN
F65 VSS
F68 VSS
F72 VSS
F75 CFG_RCOMP
F8 GP_F20
F80 CFG_09
F83 CFG_15
F87 CFG_14
F90 CFG_13
F95 CATERR_N
F98 VSS
G108 VSS
G110 DDI0_TXN0
G112 DDI0_TXP0
G2 RSVD
G5 GP_F08/AVS_I2S_MCLK2/PSE_TRACEDATA_0/
ISI_TRACEDATA_0/PSE_TGPIO48
H1 RSVD
H101 DDI1_TXP1
H104 DDI0_TXP2
H11 GP_F12/AVS_I2S4_TXD/PSE_TRACESWO/
ISI_TRACESWO
H113 VSS
H14 GP_F16/AVS_I2S4_SCLK/PSE_SWCLK/ISI_SWCLK
H18 GP_C19/PSE_I2C4_SCL/SML_CLK0/SIO_I2C1_SCL
H22 GP_C12/PSE_UART0_RXD/SIO_UART1_RXD
H25 GP_C00/SMB_CLK/PSE_I2C3_SCL/PSE_TGPIO18
H29 GP_E02
H3 RSVD
H32 GP_E22/PNL1_BKLTCTL/PSE_PWM14/PSE_TGPIO18
H36 GP_E23/PNL1_BKLTEN1/PSE_PWM15/PSE_TGPIO19
Note:
1. Not used.
H39 GP_E04/SATA_0_DEVSLP/PSE_PWM08/
PSE_TGPIO44
H43 GP_E18/DDI0_DDC_SDA/PSE_PWM12/
PSE_TGPIO23
H46 GP_E09/USB2_OC0_N
H50 PCIE_3_RXP
H53 PCIE_4_RXP
H58 PCIE_6_RXP/GBE_SGMII_RXP
H61 PCIE_5_RXP/PSE_GBE0_SGMII_RXP
H65 PCIE_CLK5_DP
H68 PCIE_CLK0_DP
H72 PCIE_CLK2_DN
H75 ICLK_BIASREF
H8 GP_F01/SIO_UART0_RXD
H80 VSS
H83 CFG_10
H87 CFG_11
H90 CFG_18
H95 THRMTRIP_N
H98 DDI1_TXP3
J109 DDI0_TXP1
J111 DDI0_TXN1
J6 VSS
K101 VSS
K104 DDI0_TXN2
K11 GP_F10/PSE_I2S1_SFRM/AVS_I2S4_SFRM/
PSE_TGPIO15
K14 GP_F15/PSE_TRACEDATA_2/ISI_TRACEDATA_2
K18 GP_C16/GBE_MDIO/PSE_UART3_RXD/
SIO_I2C0_SDA
K2 RSVD
K22 GP_C20/PSE_UART4_RXD/SIO_UART2_RXD
K25 GP_C11/PSE_HSUART0_RE
K29 GP_E08/SATA_1_DEVSLP/PSE_TGPIO45
K32 GP_E21/PSE_I2S0_SFRM/PSE_CAN1_RX/
PSE_TGPIO15
K36 GP_E05/DDI1_DDC_SDA/PSE_PWM09/
PSE_TGPIO17
K39 GP_E12
K4 RSVD
K43 GP_E17/PNL1_VDDEN1/PNL_MISC_DDI2/
PSE_PWM11/PSE_TGPIO46
Note:
1. Not used.
K46 GP_E14/DDI0_HPD/PNL_MISC_DDI0/PSE_TGPIO19
K50 VSS
K53 VSS
K58 VSS
K61 VSS
K65 PCIE_CLK5_DN
K68 PCIE_CLK0_DN
K72 PCIE_CLK2_DP
K75 VSS
K8 GP_F22/PMC_VNN_CTRL
K80 CFG_16
K83 CFG_08
K87 VSS
K90 CFG_19
K95 VSS
K98 DDI1_TXN3
L1 XTAL_IN
L108 VSS
L110 DDI2_TXP3
L112 DDI2_TXN3
L3 VSS
M101 DDI0_TXP3
M104 VSS
M11 GP_F11/PSE_TRACECLK/ISI_TRACECLK/
PSE_TGPIO49
M113 VSS
M14 GP_F14/AVS_I2S4_RXD/PSE_TRACEDATA_1/
ISI_TRACEDATA_1
M18 GP_C17/GBE_MDC/PSE_UART3_TXD/
SIO_I2C0_SCL
M22 GP_C05/PSE_PWM01/PSE_UART3_CTS_N/
SML_ALERT0_N/PSE_TGPIO30
M25 GP_C10/PSE_TGPIO05
M29 GP_E20/PSE_I2S0_SCLK/PSE_CAN1_TX/
PSE_TGPIO14
M32 GP_E19/DDI0_DDC_SCL/PSE_PWM13/
PSE_TGPIO24
M36 GP_E06/PSE_PWM10/PSE_TGPIO18
M39 GP_E11
M43 GP_E16/PSE_I2S0_TXD/PSE_CAN0_RX/
PSE_TGPIO16
M46 GP_E00/SATA_LED_N/SATAXPCIE_0/SATA_0_GP
M50 PCIE_2_RXN
M53 PCIE_9_RXN/SATA_1_RXN/PSE_GBE1_SGMII_RXN
M58 PCIE_7_RXN/PSE_GBE1_SGMII_RXN
M61 PCIE_8_RXN/SATA_0_RXN/GBE_SGMII_RXN
M65 VSS
M68 VSS
M72 VSS
M75 PCIE_CLK3_DP
M8 GP_F21
M80 CFG_17
M83 CFG_12
M87 CFG_06
M90 VSS
M95 DDI1_TXP2
M98 VSS
N109 DDI2_TXP2
N111 DDI2_TXN2
N2 XTAL_OUT
N4 VSS
N6 GP_F07/PSE_I2S1_SCLK/AVS_I2S4_SCLK/
PSE_TGPIO14
P1 DBG_PMODE
P101 DDI0_TXN3
P104 DDI0_AUXP
P11 VSS
P14 VSS
P18 VSS
P22 VSS
P25 VSS
P29 VSS
P3 VSS
P32 VSS
P36 VSS
P39 VSS
P43 VSS
P46 VSS
P50 PCIE_2_RXP
P53 PCIE_9_RXP/SATA_1_RXP/PSE_GBE1_SGMII_RXP
P58 PCIE_7_RXP/PSE_GBE1_SGMII_RXP
P61 PCIE_8_RXP/SATA_0_RXP/GBE_SGMII_RXP
P65 VSS
P68 PCIE_CLK1_DN
P72 PCIE_CLK4_DP
P75 PCIE_CLK3_DN
P8 GP_F05/PSE_TGPIO14
P80 VSS
P83 VSS
P87 CFG_05
P90 CFG_01
P95 DDI1_TXN2
P98 DDI1_TXP0
R108 VSS
R110 DDI2_TXP0
R112 DDI2_TXN0
T101 DDI1_AUXP
T104 DDI0_AUXN
T11 GP_F19/PSE_I2S1_RXD/AVS_I2S4_RXD/
PSE_TGPIO17
T113 VSS
T14 GP_F09
T18 GP_C06/PSE_GBE1_MDC
T2 PNL0_BKLTCTL
T22 GP_C04/PSE_GBE0_MDIO/PSE_UART3_RTS_N/
PSE_HSUART3_DE
T25 GP_C15/PSE_UART0_CTS_N/SIO_UART1_CTS_N
T29 GP_S00
T32 GP_A21/PSE_GBE1_RGMII_RXD1/AVS_I2S5_TXD
T36 GP_A19/PSE_GBE1_RGMII_RXD3/AVS_I2S5_SCLK
T39 GP_A13/PSE_GBE1_RGMII_TXD1
T4 PNL0_BKLTEN
T43 GP_A11/PSE_GBE1_RGMII_TXD3
T46 GP_A10/PSE_GBE0_RGMII_RXD0
T50 VSS
T53 VSS
T58 VSS
T61 VSS
T65 VSS
T68 PCIE_CLK1_DP
T72 PCIE_CLK4_DN
T75 VSS
T8 GP_F23/PMC_V1P05_CTRL
T80 CFG_00
T83 BPM2_N
T87 CFG_07
T90 CFG_02
T95 DDI1_TXN0
T98 DDI1_AUXN
U1 GP_U07/PSE_QEPA3/PSE_SPI1_MOSI/
PSE_TGPIO10
U109 DDI2_AUXP
U111 DDI2_AUXN
U3 PNL0_VDDEN
U6 GP_F06/PSE_TGPIO47
V102 VSS
V104 VSS
V106 VSS
V11 GP_F18/PSE_I2S1_TXD/AVS_I2S4_TXD/
PSE_TGPIO16
V14 GP_F00/SIO_UART0_RTS_N
V18 GP_C07/PSE_GBE1_MDIO/PSE_HSUART3_RE
V2 GP_U05/ISI_SPIM_SCLK/PSE_SPI1_CLK
V22 GP_C03/PSE_GBE0_MDC/PSE_HSUART3_EN
V25 GP_C23/PSE_UART4_CTS_N/ISI_SPIS_MOSI/
SIO_UART2_CTS_N
V29 GP_S01
V32 GP_A22/PSE_GBE1_RGMII_RXD0/AVS_I2S5_RXD
V36 GP_A20/PSE_GBE1_RGMII_RXD2/AVS_I2S5_SFRM
V39 GP_A14/PSE_GBE1_RGMII_TXD0
V4 GP_U13/ISI_CHX_OKNOK_1
V43 GP_A12/PSE_GBE1_RGMII_TXD2
V46 GP_A23/PSE_GBE0_RGMII_RXCTL
V50 GP_A08/PSE_GBE0_RGMII_RXD2
V53 GP_A03/PSE_GBE0_RGMII_TXD0
V58 PSE_GBE0_RGM0_RCOMP
V61 VCC_OUT_FET_1P05A
V65 VCC_OUT_FET_1P05A
V68 VSS
V72 VSS
V75 VSSIO_Sense
V8 GP_F03/SIO_UART0_CTS_N
V80 CFG_03
V83 BPM1_N
V87 CFG_04
V90 VSS
V93 VSS
V95 VSS
V97 VSS
V99 VSS
W108 VSS
W110 DDI2_TXP1
W112 DDI2_TXN1
Y1 GP_U04/ISI_SPIM_CS/PSE_SPI1_CS0_N
Y11 GP_F04
Y14 GP_C08/PSE_TGPIO04/DNX_FORCE_RELOAD
Y18 GP_C09/PSE_HSUART0_EN
Y22 GP_C01/SMB_DATA/PSE_I2C3_SDA/PSE_TGPIO19
Y25 GP_C14/PSE_UART0_RTS_N/PSE_HSUART0_DE/
SIO_UART1_RTS_N
Y29 GP_C22/PSE_UART4_RTS_N/ISI_SPIM_MOSI/
SIO_UART2_RTS_N
Y3 VSS
Y32 GP_A18/PSE_GBE1_RGMII_RXCTL
Y36 GP_A17/PSE_GBE1_RGMII_RXCLK
Y39 GP_A16/PSE_GBE1_RGMII_TXCTL
Y43 GP_A15/PSE_GBE1_RGMII_TXCLK
Y46 GP_A09/PSE_GBE0_RGMII_RXD1
Y50 GP_A07/PSE_GBE0_RGMII_RXD3
Y53 GP_A04/PSE_GBE0_RGMII_TXCLK
Y58 GP_A01/PSE_GBE0_RGMII_TXD2
Y61 VCC_OUT_FET_1P05A
Y65 VCC_OUT_FET_1P05A
Y68 VCC_AGSH
Y72 VCC_AGSH
Y75 VCCIO_Sense
Y8 PMC_SYS_RESET_N
Y80 BPM3_N
Y83 BPM0_N
Y87 VSS
§§
32 Package Information
§§
33 Processor Transaction
Router (PTR)
33.1 Overview
The Processor Transaction Router (sometimes known as the System Agent) is a central
hub that routes transactions between the CPU cores, Gen 11LP graphics controller, the
memory controller and the I/O Fabric (PSFx). It also includes up to 4MB of LLC (Last
Level Cache) that is shared between the CPU cores and the Gen 11LP graphics
controller.
It also implements:
• IOMMU (Input/Output Memory Management Unit) required for processor VT-d
support
• IBECC (Inband ECC) error reporting
Due to the involvement of the IOMMU, the physical address the hardware uses may not
be the real physical address, but instead a (completely arbitrary) input-output virtual
address (IOVA) assigned to the hardware by the IOMMU. The IOMMU takes care of
address translation, so the hardware never notices the difference between the two.
2. IOP receives the error message from the IBECC controller and
3. ITSS in PCH receives the error message and sends an NMI to the IA CPU core
4. The IA CPU core receives the NMI and runs an NMI handler (if implemented by
the OS (Operating System)) to check the NMI_STS_CNT register settings.
5. If SERR_NMI_STS is set, the IA CPU core should then run the OS EDAC (Error
Detection and Correction) framework driver (if implemented by the OS) to read the
ERRSTS_0_0_0_PCI register to determine the cause of the NMI
Note: An IBECC error will be indicated by either the IBECC_UC or IBECC_COR field being set.
iii. Clear the MERRSTS & CERRSTS fields in the IBECC ECC_ERR_LOG register
§§
34.1 Overview
The processor implements a machine-check architecture that provides a mechanism for
detecting and reporting hardware (machine) errors, such as: system bus errors, parity
errors, cache errors, and TLB errors. It consists of a set of model-specific registers
(MSRs) that are used to set up machine checking and additional banks of MSRs used
for recording errors that are detected. The processor signals the detection of an
uncorrected machine-check error by generating a machine-check exception (#MC),
which is an abort class exception. The implementation of the machine-check
architecture does not ordinarily permit the processor to be restarted reliably after
generating a machine-check exception. However, the machine-check-exception handler
can collect information about the machine-check error from the machine-check MSRs.
The processor can report information on corrected machine-check errors and deliver a
programmable interrupt for software to respond to MC errors, referred to as corrected
machine-check error interrupt (CMCI).
See Chapter 15 of the Intel® 64 and IA-32 Architectures Software Developer’s Manual
for further information regarding Machine Check Architecture.
Figure 34-1. Processor Core, Module, and Compute Die Machine Check Registers
MC1: L2 Cache
MC4: Reserved
MC5: P-Unit
34.3 Registers
Note: Please refer to chapter 2 of the Intel Atom® x6000E Series, and Intel® Pentium® and
Celeron® N and J Series Processors for Internet of Things (IoT) Applications,
Datasheet, Volume 2 (Book 3 of 3), Intel® Programmable Services Engine (Intel®
PSE), for a description of the registers associated with the subject of this chapter.
§§
35.1 Overview
The Processor is the next generation Intel Atom® CPU product targeting key IoT
markets. The processor provides new security features embodied within the secure
engine (Intel® CSE) such as the enhanced Intel® Boot Guard Device Protection,
enhanced cryptographic key sizes and algorithm - RSA 3072 and SHA 384 and content
protection services.
The Intel® CSE 15.40 is the security engine that resides in the PCH for running
firmware-related applications such as Intel® Boot Guard Device Protection, Intel®
Platform Trust Technology (Intel® PTT), and content protection.
Requirement: Description/Details:
SPI flash memory size shall support:
Requirement: Description/Details:
Intel® CSE FW shall support secure/debug tokens to allow OEMs to unlock
the SoC for debugging purposes. Secure/debug tokens are required to be
signed by OEM per key provisioned to Intel® CSE in OEM KM.
Token characterizations support is as follows:
§ Authenticity: The token can only be signed by trusted entities Intel® and
OEM.
§ Anti-Replay: A token cannot be replayed on a device once it has been
Secure Tokens used and the token’s expiration properties have reached.
§ Integrity: An attacker should not be able to tamper with a token to make
it available for multiple platforms. Also, an attacker should not be able to
tamper with a token to alter the purpose of the token or the data payload
of the token.
§ Expiration: The token signing server may enforce limited lifespan from
token generation start.
§ Tied to Specific Part: The token signing server authorizes specific device
for debug unlock.
Intel® CSE Intel® CSE shall support configuration using FPF Fuses, HW/SW straps and
Configuration firmware setting in CSE NVM/Flash.
Intel® CSE shall support 3072-bit RSA, SHA-384, 256-bit AES, and 384-bit
ECC for CSE security services, to be compliant with the NSA and NIST’s
Cryptography cryptography recommendation for transitional period to quantum
computing. For example, firmware image signing uses 3072-bit RSA with
SHA-384.
Intel® CSE shall generate and renews CSE application certificates using On-
die Certification Authority which provides certificates to the following CSE
applications:
• Content Protection
On-Die
Certification • PTT
Authority • DAL
• BUP
Requirement: Description/Details:
Intel® CSE shall support a flexible EOM flow which allows customers to
decide which operations they want to perform in the manufacturing line and
which operations can be performed outside of the manufacturing line.
Flexible CSE Nevertheless, committing the FPFs is a must and should be taking place on
Manufacturing the manufacturing line as recommended by Intel.
Flow Other operations, such as locking of CSE configurations and locking of the SPI
descriptor, can be performed at a later stage outside the manufacturing line
through BIOS calls to CSE or by proprietary OEM tools as long as operations
are performed pre-EOP.
Intel® CSE shall support Anti-Rollback feature which prevent downgrading to
a lower firmware SVN.
When improving security vulnerability in FW, SVN (Security Vulnerability
Number) is increased. In order to prevent downgrading to a lower firmware
SVN. ARB which is based on HW stores permanent the minimal SVN value in
Anti-rollback
Field Programmable Fuses (FPFs) which mitigate risk of physical downgrade
to a lower SVN.
§§
36 Electrical Specifications
Note: Refer to Section 3.4 and Section 3.5 for power rail electrical specifications.
Series Resistance ≤ 30 Ω
Notes:
1. Customers should verify that the vendor's published specifications in the component data sheet
meet the required conditions for frequency, frequency tolerance, temperature, oscillation mode
and load capacitance as specified in the respective data sheet.
2. Perform conformance testing and EMC (FCC and EN) testing in real systems.
3. Independently measure the component's electrical parameters in real systems. Measure
frequency at a test output to avoid test probe loading effects. Check that the measured
behavior is consistent from sample to sample and that measurements meet the published
specifications. For crystals, it is also important to examine startup behavior while varying
system voltage and temperature.
4. Crystal must be AT cut, at fundamental frequency, parallel resonance mode.
Notes:
1. Capacitors used in RC Delay circuit for each signals should be evaluated with regards to aging, voltage and
temperature characteristic to ensure reliable operation in the intended operating environment.
Notes:
1. Specified temperatures are not to exceed values based on data collected. Exceptions for surface mount
re-flow are specified by the applicable JEDEC* standard. Non-adherence may affect processor reliability.
2. Component product device storage temperature qualification methods may follow JESD22-A119 (low
temperature) and JESD22-A103 (high temperature) standards when applicable for volatile memory.
3. Component stress testing is conducted in conformance with JESD22-A104.
4. The JEDEC* J-JSTD-020 moisture level rating and associated handling practices apply to all moisture
sensitive devices removed from the moisture barrier bag.
36.3 DC Specifications
Platform reference voltages are specified at DC only. VCC measurements should be
made with respect to the supply voltages specified Section 3.4 and Section 3.5.
Note: VIH/OH Max and VIL/OL minimum values are bounded by VCC and VSS.
Note: Care should be taken to read all notes associated to each parameter.
Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on GPIO
pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO chapter for the muxed
functions on a specific GPIO pad.
3.3V Operation
Input Low
1ms rise
VIL Voltage 0.25 x VCC V
Vpad
Threshold
Input
IIL Leakage -12 12 µA
Current
Input Pin
CIN 13 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
WPU 20K
Rpu 15k 27k Ω
Resistance
WPD 20K
Rpd 15k 27k Ω
Resistance
1.8V Operation
Input Low
1ms rise
VIL Voltage 0.25 x VCC V
Vpad
Threshold
Input
IIL Leakage -12 12 µA
Current
Input Pin
CIN 13 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
current
WPU 20K
Rpu 15k 27k Ω
Resistance
WPD 20K
Rpd 15k 27k Ω
Resistance
Notes:
1. For GPIO supported voltages, refer to the GPIO chapter.
Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on GPIO
pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO chapter for the muxed
functions on a specific GPIO pad.
3.3V Operation
Input
IIL Leakage -14 14 µA VCC/VSS
Current
Input Pin
CIN 14 pF
Capacitance
Output Low
1ms rise
VOL Voltage 0.45 V Vpad
Threshold
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
WPU 20K
Rpu 15k 27k Ohm
Resistance
WPD 20K
Rpd 15k 27k Ohm
Resistance
1.8V Operation
Input
IIL Leakage -14 14 µA VCC/VSS
Current
Input Pin
CIN 14 pF
Capacitance
Output Low
1ms rise
VOL Voltage 0.45 V
Vpad
Threshold
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
WPU 20K
Rpu 15k 27k Ohm
Resistance
WPD 20K
Rpd 15k 27k Ohm
Resistance
Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on GPIO
pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO chapter for the muxed
functions on a specific GPIO pad.
3.3V Operation
Input
IIL Leakage -14 14 µA VCC/VSS
Current
Input Pin
CIN 14 pF
Capacitance
Output Low
VOL 1ms rise
Voltage 0.45 V
Vpad
Threshold
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
WPU 20K
Rpu 15k 27k Ohm
Resistance
WPD 20K
Rpd 15k 27k Ohm
Resistance
1.8V Operation
Input
IIL Leakage -14 14 µA VCC/VSS
Current
Input Pin
CIN 14 pF
Capacitance
Output Low
VOL 1ms rise
Voltage 0.45 V
Vpad
Threshold
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
WPU 20K
Rpu 15k 27k Ohm
Resistance
WPD 20K
Rpd 15k 27k Ohm
Resistance
1. Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on
GPIO pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO chapter for the
muxed functions on a specific GPIO pad.
1.8V Operation
Input
IIL Leakage -5 5 µA VCC/VSS
Current
Input Pin
CIN 5 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
WPU 20K
Rpu 12k 28k Ohm
Resistance
WPD 20K
Rpd 12k 28k Ohm
Resistance
1. Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on
GPIO pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO Chapter for the
muxed functions on a specific GPIO pad.
3.3V Operation
Input
IIL Leakage -10 10 µA VCC/VSS
Current
Input Pin
CIN 14 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
1. Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on
GPIO pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO Chapter for the
muxed functions on a specific GPIO pad.
3.3V Operation
Input
IIL Leakage -10 10 µA VCC/VSS
Current
Input Pin
CIN 14 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on GPIO
pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO chapter for the muxed
functions on a specific GPIO pad.
3.3V Operation
VCC = VCC_3P3A
Input
IIL Leakage -12 12 µA VCC/VSS
Current
Input Pin
CIN 10 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
1.8V Operation
Input
IIL Leakage -12 12 µA VCC/VSS
Current
Input Pin
CIN 10 pF
Capacitance
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
1. Note: For GPIO pads (GP) listed in the Associated Signals below, all functions that are multiplexed on
GPIO pads will have the same DC characteristics as the GPIO pads. Refer to the GPIO Chapter for the
muxed functions on a specific GPIO pad.
3.3V Operation
Input
IIL Leakage -12 12 µA VCC/VSS
Current
Input Pin
CIN 10 pF
Capacitance
Output Low
VOL Voltage 0.45 V
Threshold
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
1.8V Operation
Input
IIL Leakage -12 12 µA VCC/VSS
Current
Input Pin
CIN 10 pF
Capacitance
Output Low
VOL Voltage 0.45 V
Threshold
Output High
IOH 3 mA
Current
Output Low
IOL -3 mA
Current
Note: The Signals Below Utilize GPIO Buffers But Do Not Have a GPIO Signal Multiplexed With them.
1.05V Operation
Input
IIL Leakage -10 10 µA
Current
Input Pin
CIN 2 pF
Capacitance
Note: THRMTRIP_N, PROCHOT_N and CATERR_N are input signals. Refer to Table 36-7 for output
values.
Notes:
1. Unless otherwise noted, all specifications in this table apply to all processor frequencies.
2. The Vcc referred to in these specifications refers to instantaneous VCCIO or VCC_IN_STG.
3. For VIN between “0” V and Vcc. Measured when the driver is tri-stated.
4. VIH may experience excursions above Vcc. However, input signal drivers should comply with the signal
quality specifications.
5. Refer the processor I/O Buffer Models for I/V characteristics
Notes/
Symbol Parameter Minimum Maximum Units
Figure
Notes:
1. Unless otherwise noted, all specifications in this table apply to all processor frequencies.
2. The Vcc referred to in these specifications refers to instantaneous VCCIO or VCC_IN_STG.
3. For VIN between 0V and Vcc. Measured when the driver is tri-stated.
4. VIH and VOH may experience excursions above Vcc. However, input signal drivers should comply with
the signal quality specifications.
5. Refer the processor I/O Buffer Models for I/V characteristics.
6. VOH and IOH specification does NOT apply to Open Drain signals.
Notes:
1. VOL and VOH levels depends on the level chosen by the Platform.
Notes:
1. VOL and VOH levels depends on the level chosen by the Platform.
Output impedance of LP
ZOLP 110 Ω 5
transmitter
Notes:
1. Value when driving into load impedance anywhere in the ZID range.
2. A transmitter should minimize ∆VOD and ∆VCMTX(1,0) in order to minimize radiation, and optimize signal
integrity.
RON_UP
System Memory Power Gate
(DDR_VTT_CTL) 45 125 Ω
Control Buffer Pull-up Resistance
RON_DN
System Memory Power Gate
(DDR_VTT_CTL) 40 130 Ω
Control Buffer Pull- down Resistance
DDR0_VREF_DQ
DDR1_VREF_DQ VREF output voltage Trainable Trainable V 10
DDR_VREF_CA
Notes:
1. Unless otherwise noted, all specifications in this table apply to all processor frequencies.Timing
specifications only depend on the operating frequency of the memory channel and not the maximum rated
frequency.
2. VIL is defined as the maximum voltage level at a receiving agent that will be interpreted as a logical low
value.
3. VIH is defined as the minimum voltage level at a receiving agent that will be interpreted as a logical high
value.
4. VIH and VOH may experience excursions above VDDQ. However, input signal drivers should comply with the
signal quality specifications.
5. Pull up/down resistance after compensation (assuming ±5% COMP inaccuracy).
Note: BIOS power training may change these values significantly based on margin/power trade-off.
6. ODT values after COMP (assuming ±5% inaccuracy). BIOS MRC can reduce ODT strength towards.
7. The minimum and maximum values for these signals are programmable by BIOS to one of the two sets.
8. DDR_RCOMP resistance should be provided on the system board with 1% resistors. SM_RCOMP[x] resistors
are to VSS. Values are pre-silicon estimations and are subject to change.
9. PMC_DRAM_RESET_N must have a maximum of 15 ns rise or fall time over VDDQ * 0.30 ±100 mV and the
edge must be monotonic.
10. DDR_[1:0]_VREF_CA is defined as VDDQ/2 for DDR4.
11. RON tolerance is preliminary and might be subject to change.
12. Max-min range is correct but center point is subject to change during MRC boot training.
13. Processor may be damaged if VIH exceeds the maximum voltage for extended periods.
Notes:
1. Unless otherwise noted, all specifications in this table apply to all processor frequencies.Timing
specifications only depend on the operating frequency of the memory channel and not the maximum rated
frequency.
2. VIL is defined as the maximum voltage level at a receiving agent that will be interpreted as a logical low
value.
3. VIH is defined as the minimum voltage level at a receiving agent that will be interpreted as a logical high
value.
4. VIH and VOH may experience excursions above VDDQ. However, input signal drivers should comply with the
signal quality specifications.
5. Pull up/down resistance after compensation (assuming ±5% COMP inaccuracy). Note that BIOS power
training may change these values significantly based on margin/power trade-off.
6. ODT values after COMP (assuming ±5% inaccuracy). BIOS MRC can reduce ODT strength towards
7. The minimum and maximum values for these signals are programmable by BIOS to one of the two sets.
8. LP4_RCOMP resistance should be provided on the system board with 1% resistors. SM_RCOMP[x] resistors
are to VSS. Values are pre-silicon estimations and are subject to change.
9. PMC_DRAM_RESET_N must have a maximum of 15 ns rise or fall time over VDDQ * 0.30 ±100 mV and the
edge must be monotonic.
10. SM_VREF is defined as VDDQ/2 for LPDDR4/LPDDR4x.
11. RON tolerance is preliminary and might be subject to change.
12. Max-min range is correct but center point is subject to change during MRC boot training.
13. Processor may be damaged if VIH exceeds the maximum voltage for extended periods.
36.3.9 USB
36.3.9.1 USB 2.0 DC Specification (Low-Speed (LS)/Full-Speed (FS)/High
Speed (HS)
Table 36-14. USB 2.0 Host DC Specification
Symbol Parameter Minimum Maximum Units Notes/Figure
§§
37 Terminology
Term Description
DNX_FORCE_RELOAD During Pre-boot phase,to flash SPI via DnX (USB): DNX force reload is used
(button press).
EU Execution Unit
FF Fixed Function
FW Firmware
GEOM Geometry
HW Hardware
LD/ST Load/Store
OS Operating System
PPM Parts Per Million. Used to provide crystal accuracy or as a frequency variation
indicator
PU Processing Unit
RS Root Space
SM Safety Mechanisms
SR Safety Related
SW Software
TC Traffic Class
VD Video Display
§§